Interface d'entrée et de sortie pour l' TensorFlow algorithme de classification des images - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Interface d'entrée et de sortie pour l' TensorFlow algorithme de classification des images

Chacun des modèles préentraînés répertoriés dans TensorFlow Hub Models peut être affiné pour n'importe quel ensemble de données contenant un certain nombre de classes d'images. Sachez comment formater vos données d'entraînement pour les saisir dans le TensorFlow modèle de classification des images.

  • Format d'entrée des données d'entraînement : vos données d'entraînement doivent être un répertoire contenant autant de sous-répertoires que le nombre de classes. Chaque sous-répertoire doit contenir des images appartenant à cette classe au format .jpg, .jpeg ou .png.

Voici un exemple de structure du répertoire d'entrée. Cet exemple de jeu de données comporte deux classes : roses et dandelion. Les fichiers image de chaque dossier de classe peuvent porter n'importe quel nom. Le répertoire d'entrée doit être hébergé dans un compartiment Amazon S3 avec un chemin similaire au suivant : s3://bucket_name/input_directory/. Notez que le / de fin est obligatoire.

input_directory |--roses |--abc.jpg |--def.jpg |--dandelion |--ghi.jpg |--jkl.jpg

Les modèles entraînés génèrent en sortie des fichiers de mappage d'étiquettes qui associent les noms de dossiers de classes aux indices de la liste des probabilités des classes de sortie. Ce mappage suit l'ordre alphabétique. Par exemple, dans l'exemple ci-dessus, la classe pissenlits est l'indice 0 et la classe roses est l'indice 1.

Après entraînement, vous disposez d'un modèle affiné que vous pouvez continuer à entraîner à l'aide d'un entraînement incrémentiel ou déployer pour l'inférence. L' TensorFlow algorithme de classification des images ajoute automatiquement une signature de prétraitement et de post-traitement au modèle affiné afin qu'il puisse prendre des images en tant que probabilités de classe d'entrée et de retour. Le fichier qui mappe les indices de classe aux étiquettes de classe est enregistré avec les modèles.

Entraînement incrémentiel

Vous pouvez amorcer l'entraînement d'un nouveau modèle à l'aide d'artefacts provenant d'un modèle avec lequel vous vous êtes déjà entraîné SageMaker. L'entraînement incrémentiel permet de gagner du temps lorsque vous souhaitez entraîner un nouveau modèle avec des données identiques ou similaires.

Note

Vous ne pouvez amorcer qu'un modèle de classification d' SageMaker images avec un autre TensorFlow modèle de classification d'images dans TensorFlow lequel vous avez été entraîné SageMaker.

Vous pouvez utiliser n'importe quel jeu de données pour l'entraînement incrémentiel, à condition que l'ensemble de classes reste le même. L'étape d'entraînement incrémentiel est similaire à l'étape d'affinage, mais au lieu de commencer par un modèle pré-entraîné, vous commencez par un modèle affiné existant. Pour un exemple d'entraînement incrémentiel avec l' TensorFlow algorithme de classification SageMaker d'images, consultez le bloc-notes d'exemple Introduction to SageMaker TensorFlow - Classification d'images.

Inférence à l'aide de l'algorithme de classification des images TensorFlow

Vous pouvez héberger le modèle affiné issu de votre formation en classification d' TensorFlow images à des fins d'inférence. Toute image d'entrée pour l'inférence doit être au format .jpg, .jpeg ou .png et présenter un type de contenu application/x-image. L' TensorFlowalgorithme de classification des images redimensionne automatiquement les images d'entrée.

L'inférence génère des valeurs de probabilité, des étiquettes de classe pour toutes les classes et l'étiquette prédite correspondant à l'indice de classe dont la probabilité est la plus élevée codée au JSON format. Le TensorFlow modèle de classification des images traite une seule image par demande et ne produit qu'une seule ligne. Voici un exemple de réponse JSON formatée :

accept: application/json;verbose {"probabilities": [prob_0, prob_1, prob_2, ...], "labels": [label_0, label_1, label_2, ...], "predicted_label": predicted_label}

Si accept a pour valeur application/json, le modèle génère en sortie uniquement des probabilités. Pour plus d'informations sur l'apprentissage et l'inférence avec l' TensorFlow algorithme de classification d'images, consultez le bloc-notes d'exemple Introduction à SageMaker TensorFlow la classification d'images.