Administra modelos y trabajos

Durante el proceso de capacitación, implementación de modelos y obtención de predicciones, debes administrar los recursos en Google Cloud Platform. En esta página, se describe cómo trabajar con modelos, versiones y trabajos.

Crea de nombres para modelos, versiones y trabajos

Debes especificar un nombre para cada modelo, versión y trabajo que crees. Las reglas de los nombres son coherentes en los tres tipos de recursos. Cada nombre cumple con las siguientes especificaciones:

  • Solo puede contener letras, números y guiones bajos.
  • Distingue mayúsculas de minúsculas.
  • Debe comenzar con una letra.
  • No debe tener más de 128 caracteres.
  • Debe ser único dentro de tu espacio de nombres (tu proyecto de modelos y trabajos, el modelo primario para versiones).

Debes crear nombres que sean fáciles de distinguir en listas de recursos, como los registros de trabajos. A continuación, se muestran algunas sugerencias:

  • Nombra todos los trabajos para el mismo modelo, usa el nombre del modelo y un índice de trabajo (la marca de tiempo cuando se crea el trabajo funciona bien).
  • Asigna un nombre a tus modelos para que el conjunto de datos que usan los identifique fácilmente (census_wide_deep suele ser mejor que my_new_model, por ejemplo).
  • Las versiones son mejores si son fáciles de leer. En lugar de usar una marca de tiempo o un valor único similar, recomendamos usar designadores de versión simples (v1 o v0.2.4, por ejemplo).

Administra modelos

Los recursos de tu modelo en Cloud ML Engine son contenedores lógicos para implementaciones individuales de tu modelo de aprendizaje automático. Son los recursos más simples con los que trabajar, ya que no tienen operaciones complejas o recursos adicionales para asignar y mantener.

La siguiente tabla resume las operaciones del modelo y enumera las interfaces que puedes usar para realizarlas:

Operación Interfaces Notas
crea projects.models.create
gcloud ml-engine models create
Crea el modelo en la página Modelos de ML Engine.
borra projects.models.delete

Borrar un modelo es una operación de larga duración.

El modelo no debe tener versiones asociadas antes de que puedas borrarlo.

gcloud ml-engine models delete
Borra en la página Lista de modelos, o en Detalles del modelo.
obtén projects.models.get

La información que obtienes se describe en Referencias del recurso Model.

gcloud ml-engine models describe
La página Detalles del modelo (ingresa con un vínculo de la Lista de Modelos.
lista projects.models.list
gcloud ml-engine models list
La página Modelos de ML Engine.

Administra versiones

Tus versiones son iteraciones específicas de tus modelos. El núcleo de una versión del modelo es un modelo guardado de TensorFlow.

La siguiente tabla resume las operaciones de la versión y enumera las interfaces que puedes usar para realizarlas:

Operación Interfaces Notas
crea projects.models.versions.create

Crear una versión es implementar un modelo guardado en Cloud ML Engine. Consulta la guía de implementación del modelo para obtener más información.

gcloud ml-engine versions create
Crea la versión en la página Detalles del modelo (ingresa con un vínculo de la Lista de Modelos).
borra projects.models.versions.delete

Borrar una versión es una operación de larga duración.

No puedes borrar la versión predeterminada de un modelo, a menos que sea la única versión asignada a ese modelo.

gcloud ml-engine versions delete
Borra en la lista de Versiones en la página Detalles del modelo.
obtén projects.models.versions.get

La información que obtienes se describe en Referencias del recurso Version.

gcloud ml-engine versions describe
La página Detalles de la versión (de un vínculo en la lista de Versiones en la página Detalles del modelo.
lista projects.models.versions.list
gcloud ml-engine versions list
Lista de Versiones en la página Detalles del modelo.
setDefault projects.models.versions.setDefault

Esta es la única forma de asignar una versión predeterminada nueva para un modelo; después de la primera, la creación de una versión no hace que la versión nueva sea la predeterminada.

gcloud ml-engine versions set-default
Establece como predeterminado en la lista de Versiones en la página Detalles del modelo.

Administra trabajos

Cloud ML Engine admite dos tipos de trabajos: Entrenamiento y predicción por lotes. Los detalles para cada uno son diferentes, pero la operación básica es la misma.

La siguiente tabla resume las operaciones del trabajo y enumera las interfaces que puede usar para realizarlas:

Operación Interfaces Notas
crea projects.jobs.create

La creación de un trabajo se describe en detalle en las guías de entrenamiento y predicción por lotes.

gcloud ml-engine jobs submit training

gcloud ml-engine jobs submit prediction

No hay implementación de consola.
cancela projects.jobs.cancel

Cancela un trabajo en ejecución.

gcloud ml-engine jobs cancel

Detener en la página Detalles de trabajos.
obtén projects.jobs.get La información que obtienes se describe en Referencias del recurso Jobs.

gcloud ml-engine jobs describe

La página Detalles del trabajo (ingresa con un vínculo de la lista de Trabajos).
lista projects.jobs.list

gcloud ml-engine jobs list

Lista de trabajos.

Maneja operaciones asíncronas

La mayoría de las operaciones de administración de recursos de Cloud ML Engine se muestran lo más rápido posible y proporcionan una respuesta completa. Sin embargo, hay dos tipos de operaciones asíncronas que debes comprender: Trabajos y operaciones de larga ejecución.

Cuando inicias una operación asíncrona, normalmente deseas saber cuándo se complete. El proceso para obtener el estado es diferente al de los trabajos y las operaciones de larga ejecución:

Obtén el estado de un trabajo

Puedes usar projects.jobs.get para obtener el estado de un trabajo. Este método también se proporciona como gcloud ml jobs describe en la página Trabajos en Google Cloud Platform Console. Independientemente de cómo obtengas el estado, la información se basa en los miembros del recurso de trabajo. Sabrás que el trabajo está completo cuando Job.state en la respuesta sea igual a uno de estos valores:

  • SUCCEEDED
  • FAILED
  • CANCELLED

Obtén el estado de una operación de larga duración

Cloud ML Engine tiene tres operaciones de larga ejecución:

  • Crea una versión
  • Borra un modelo
  • Borra una versión

De las operaciones de larga ejecución, solo la creación de una versión puede tardar mucho tiempo en completarse. Borrar modelos y versiones se logra normalmente casi en tiempo real.

Si creas una versión mediante el uso de la herramienta de línea de comandos de gcloud o GCP Console, la interfaz te informa automáticamente cuando se completa la operación. Si creas una versión con la API, puedes hacer un seguimiento del estado de la operación por ti mismo:

  1. Obtén el nombre de la operación asignada por el servicio del objeto de Operación en la respuesta a tu llamada a projects.models.versions.create. La clave para el valor del nombre es "name".

  2. Usa projects.operations.get para sondear periódicamente el estado de la operación.

    1. Usa el nombre de la operación del primer paso para formar una string de nombre del formulario:

      'projects/my_project/operations/operation_name'
      

      El mensaje de respuesta contiene un objeto de Operación.

    2. Obtener el valor de la clave "done". Este es un indicador booleano de finalización de la operación. Es verdadero si la operación está completa.

  3. El objeto de operación incluirá una de las dos claves cuando finalice:

    • La clave de "response" está presente si la operación fue correcta. Su valor debe ser google.protobuf. Vacío, ya que ninguna de las operaciones de larga duración de Cloud ML Engine tiene objetos de respuesta.

    • La clave de "error" está presente si hubo un error. Su valor es un objeto de estado.

¿Qué sigue?

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Cloud ML Engine para TensorFlow