Interface d’entrée et de sortie pour l’algorithme Image Classification - TensorFlow
Chacun des modèles pré-entraînés répertoriés dans les modèles de hub TensorFlow peut être affiné sur n'importe quel jeu de données avec un nombre quelconque de classes d'image. Soyez conscient de la façon de formater vos données d’entraînement pour les entrer dans le modèle Image Classification - TensorFlow.
-
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://. Notez que le bucket_name/input_directory// 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’algorithme Image Classification - TensorFlow ajoute automatiquement une signature de prétraitement et de post-traitement au modèle peaufiné afin de pouvoir accepter des images en entrée et renvoyer des probabilités de classe. 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 avec les artefacts issus d’un modèle que vous avez précédemment entraîné avec SageMaker AI. 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 pouvez uniquement amorcer un modèle Image Classification - TensorFlow SageMaker avec un autre modèle Image Classification - TensorFlow entraîné dans SageMaker AI.
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 obtenir un exemple d’entraînement incrémentiel avec l’algorithme Image Classification - TensorFlow SageMaker AI, consultez l’exemple de bloc-notes Présentation de la classification des images TensorFlow dans SageMaker
Inférence avec l’algorithme Image Classification - TensorFlow
Vous pouvez héberger le modèle affiné résultant de votre entraînement à la classification des images TensorFlow pour l'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’algorithme Image Classification - TensorFlow redimensionne automatiquement les images d’entrée.
L'exécution de l'inférence permet d'obtenir des valeurs de probabilité, des étiquettes de classe pour toutes les classes et l'étiquette prédite correspondant à l'indice de classe présentant la probabilité la plus élevée, codé au format JSON. Le modèle Image Classification - TensorFlow traite une seule image par demande et génère en sortie une seule ligne. Voici un exemple de réponse au format JSON :
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’entraînement et l’inférence avec l’algorithme Image Classification - TensorFlow, consultez l’exemple de bloc-notes Présentation de la classification des images TensorFlow dans SageMaker