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.
Résolution des erreurs Ambarella
SageMaker Neo nécessite que les modèles soient empaquetés dans un fichier TAR compressé (*.tar.gz
). Pour les périphériques Ambarella, des fichiers supplémentaires doivent être inclus dans le fichier TAR compressé avant de l'envoyer pour compilation. Incluez les fichiers suivants dans votre fichier TAR compressé si vous souhaitez compiler un modèle pour les cibles Ambarella avec SageMaker Neo :
Un modèle entraîné utilisant un framework soutenu par SageMaker Neo
Un fichier de configuration JSON
Images d'étalonnage
Par exemple, le contenu de votre fichier TAR compressé doit ressembler à l'exemple suivant :
├──amba_config.json ├──calib_data | ├── data1 | ├── data2 | ├── . | ├── . | ├── . | └── data500 └──mobilenet_v1_1.0_0224_frozen.pb
Le répertoire est configuré comme suit :
amba_config.json
: fichier de configurationcalib_data
: dossier contenant des images d'étalonnagemobilenet_v1_1.0_0224_frozen.pb
: TensorFlow modèle enregistré sous forme de graphe figé
Pour plus d'informations sur les frameworks pris en charge par SageMaker Neo, consultezCadres pris en charge.
Configuration du fichier de configuration
Le fichier de configuration fournit les informations requises par la chaîne d'outils Ambarella pour compiler le modèle. Le fichier de configuration doit être enregistré en tant que fichier JSON et le nom du fichier doit se terminer par *config.json
. Le tableau suivant illustre le contenu du fichier de configuration.
Clé | Description | Exemple |
---|---|---|
inputs |
Dictionnaire mappant les couches d'entrée à l'attribut. |
|
« data » |
Nom de la couche d'entrée. Remarque : « data » est un exemple du nom que vous pouvez utiliser pour étiqueter la couche d'entrée. |
« data » |
shape |
Décrit la forme de l'entrée du modèle. Cela suit les mêmes conventions que celles utilisées par SageMaker Neo. |
« shape » : « 1,3,224,224" |
filepath |
Chemin d'accès relatif du répertoire contenant des images d'étalonnage. Il peut s'agir de fichiers binaires ou images, JPG ou PNG par exemple. |
« filepath » : « calib_data/ » |
colorformat |
Format de couleur attendu par le modèle. Sera utilisé lors de la conversion d'images en fichiers binaires. Valeurs prises en charge : [RVB, BGR]. La valeur par défaut est RVB. |
« format de couleur » : « RVB » |
mean |
Valeur moyenne à soustraire de l'entrée. Peut être une valeur unique ou une liste de valeurs. Lorsque la moyenne est donnée sous forme de liste, le nombre d'entrées doit correspondre à la dimension de canal de l'entrée. |
« moyenne » : 128.0 |
scale |
Valeur d'échelle à utiliser pour normaliser l'entrée. Peut être une valeur unique ou une liste de valeurs. Lorsque l'échelle est donnée sous forme de liste, le nombre d'entrées doit correspondre à la dimension de canal de l'entrée. |
« échelle » : 255.0 |
Voici un exemple de fichier de configuration :
{ "inputs": { "data": { "shape": "1, 3, 224, 224", "filepath": "calib_data/", "colorformat": "RGB", "mean":[128,128,128], "scale":[128.0,128.0,128.0] } } }
Images d'étalonnage
Quantifiez votre modèle entraîné en fournissant des images d'étalonnage. La quantification de votre modèle améliore les performances du moteur CVFlow sur un système sur puce (SoC) Ambarella. La chaîne d'outils Ambarella utilise les images d'étalonnage pour déterminer la quantification nécessaire de chaque couche du modèle afin d'obtenir des performances et une précision optimales. Chaque couche est quantifiée indépendamment aux formats INT8 ou INT16. Après quantification, le modèle final comprend un mélange de couches INT8 et INT16.
Combien d'images devez-vous utiliser ?
Nous vous recommandons d'inclure entre 100 et 200 images représentatives des types de scènes que le modèle est censé gérer. La durée de compilation du modèle augmente de façon linéaire jusqu'au nombre d'images d'étalonnage dans le fichier d'entrée.
Quels sont les formats d'image recommandés ?
Les images d'étalonnage peuvent se trouver à un format binaire brut ou des formats d'image tels que JPG et PNG.
Votre dossier d'étalonnage peut contenir un mélange d'images et de fichiers binaires. Si le dossier d'étalonnage contient à la fois des images et des fichiers binaires, la chaîne d'outils convertit d'abord les images en fichiers binaires. Une fois la conversion terminée, les fichiers binaires nouvellement générés sont utilisés conjointement avec les fichiers binaires initialement présents dans le dossier.
Puis-je d'abord convertir les images au format binaire ?
Oui. Vous pouvez convertir les images au format binaire avec des packages open-source tels que OpenCV
Moyenne et échelle
Vous pouvez spécifier des options de prétraitement de moyenne et de mise à l'échelle dans la chaîne d'outils Amberalla. Ces opérations sont intégrées au réseau et sont appliquées pendant l'inférence sur chaque entrée. Ne fournissez pas de données traitées si vous spécifiez la moyenne ou l'échelle. Plus précisément, ne fournissez pas de données dont vous avez soustrait la moyenne ou auxquelles vous avez appliqué la mise à l'échelle.
Vérifier votre journal de compilation
Pour plus d'informations sur la vérification du journal de compilation des appareils Ambarella, consultez la section Vérifier votre journal de compilation.