Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Todas las opciones de exportación disponibles en el sitio web de Custom Vision también están disponibles mediante programación a través de las bibliotecas cliente. Es posible que quiera usar bibliotecas cliente para poder automatizar completamente el proceso de volver a entrenar y actualizar la iteración del modelo que se usa en un dispositivo local.
En esta guía se muestra cómo exportar el modelo a un archivo ONNX con el SDK de Python.
Creación de un cliente de entrenamiento
Si desea exportar una iteración del modelo, debe tener un objeto CustomVisionTrainingClient. Cree variables para el punto de conexión de Azure y las claves de los recursos de entrenamiento de Custom Vision, y úselas para crear el objeto de cliente.
ENDPOINT = "PASTE_YOUR_CUSTOM_VISION_TRAINING_ENDPOINT_HERE"
training_key = "PASTE_YOUR_CUSTOM_VISION_TRAINING_KEY_HERE"
credentials = ApiKeyCredentials(in_headers={"Training-key": training_key})
trainer = CustomVisionTrainingClient(ENDPOINT, credentials)
Importante
Recuerde quitar las claves del código cuando termine, y nunca las haga públicas. En el caso de producción, considere la posibilidad de usar alguna forma segura de almacenar las credenciales, y acceder a ellas. Para obtener más información, consulte el artículo seguridad de Foundry Tools.
Llamar al método de exportación
Llame al método export_iteration.
- Proporcione el identificador del proyecto y el identificador de iteración del modelo que desea exportar.
- El parámetro platform especifica la plataforma a la que se realizará la exportación. Los valores permitidos son
CoreML,TensorFlow,DockerFile,ONNX,VAIDKyOpenVino. - El parámetro flavor especifica el formato del modelo exportado. Los valores permitidos son:
Linux,Windows,ONNX10,ONNX12,ARM,TensorFlowNormalyTensorFlowLite. - El parámetro raw le ofrece la opción de recuperar la respuesta JSON sin formato junto con la respuesta del modelo de objetos.
project_id = "PASTE_YOUR_PROJECT_ID"
iteration_id = "PASTE_YOUR_ITERATION_ID"
platform = "ONNX"
flavor = "ONNX10"
export = trainer.export_iteration(project_id, iteration_id, platform, flavor, raw=False)
Para más información, consulte el método export_iteration .
Importante
Si ya ha exportado una iteración determinada, no puede volver a llamar al método export_iteration. En su lugar, vaya directamente a la llamada al método get_exports para obtener un vínculo al modelo exportado existente.
Descarga del modelo exportado
Luego, llamará al método get_exports para comprobar el estado de la operación de exportación. La operación se ejecuta asincrónicamente, por lo que debería consultar este método hasta que la operación se complete. Cuando se complete, puedes recuperar el URI en el que puedes descargar la iteración del modelo a tu dispositivo.
while (export.status == "Exporting"):
print ("Waiting 10 seconds...")
time.sleep(10)
exports = trainer.get_exports(project_id, iteration_id)
# Locate the export for this iteration and check its status
for e in exports:
if e.platform == export.platform and e.flavor == export.flavor:
export = e
break
print("Export status is: ", export.status)
Para más información, consulte el método get_exports .
A continuación, puede descargar mediante programación el modelo exportado a una ubicación del dispositivo.
if export.status == "Done":
# Success, now we can download it
export_file = requests.get(export.download_uri)
with open("export.zip", "wb") as file:
file.write(export_file.content)
Contenido relacionado
Explore uno de los siguientes artículos o ejemplos para integrar el modelo exportado en una aplicación:
- Uso del modelo TensorFlow con Python
- Uso del modelo ONNX con Machine Learning de Windows
- Consulte el ejemplo del modelo CoreML en una aplicación de iOS para la clasificación de imágenes en tiempo real con Swift
- Consulte el ejemplo del modelo TensorFlow en una aplicación de Android para la clasificación de imágenes en tiempo real en Android.
- Consulte el ejemplo para ver cómo usar el modelo exportado (VAIDK/OpenVino)