Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2022-11-14 GMT+08:00

Finalización de un trabajo de entrenamiento

Función

Esta API se utiliza para terminar un trabajo de entrenamiento. Sólo se pueden terminar los trabajos en el estado Creating, Waiting, o Running.

URI

POST /v2/{project_id}/training-jobs/{training_job_id}/actions

Tabla 1 Parámetros de ruta

Parámetro

Obligatorio

Tipo

Descripción

project_id

String

ID del proyecto. Para obtener más información, consulte Obtención de un ID de proyecto.

training_job_id

String

ID de un trabajo de entrenamiento.

Parámetros de solicitud

Tabla 2 Parámetros del cuerpo de solicitud

Parámetro

Obligatorio

Tipo

Descripción

action_type

No

String

Operación realizada en un trabajo de entrenamiento. Seleccione terminate para finalizar un trabajo de formación.

Parámetros de respuesta

Código de estado: 202

Tabla 3 Parámetros del cuerpo de respuesta

Parámetro

Tipo

Descripción

kind

String

Tipo de trabajo de formación, que es job de forma predeterminada. Opciones:

  • job: Trabajo de entrenamiento
  • hetero_job: Trabajo heterogéneo
  • autosearch_job: Trabajo de búsqueda automática
  • mrs_job: MRS job [- edge_job: Edge job] (tag:hk,hc,fcs,fcs-super)

metadata

JobMetadata object

Metadatos de un trabajo de entrenamiento.

status

Status object

Estado de un trabajo de formación. No es necesario establecer este parámetro al crear un trabajo.

algorithm

JobAlgorithmResponse object

Algoritmo para trabajos de formación. Se soportan los siguientes formatos:

  • id: Solo se utiliza el ID del algoritmo.
  • subscription_id+item_version_id: Se utilizan el ID de suscripción y el ID de versión del algoritmo.
  • code_dir+boot_file: Se utiliza el directorio de código y el archivo de arranque de un trabajo de entrenamiento.

tasks

Array of TaskResponse objects

Lista de tareas en trabajos de formación heterogéneos.

spec

spec object

Especificaciones de un trabajo de entrenamiento.

Tabla 4 JobMetadata

Parámetro

Tipo

Descripción

id

String

ID del trabajo de entrenamiento, que es generado y devuelto por ModelArts después de crear el trabajo de entrenamiento.

name

String

Nombre de un trabajo de entrenamiento. El valor debe contener de 1 a 64 caracteres que consisten solo en dígitos, letras, guiones bajos (_) y guiones (-).

workspace_id

String

Espacio de trabajo donde se encuentra un trabajo. El valor predeterminado es 0.

description

String

Descripción del trabajo de entrenamiento. El valor debe contener de 0 a 256 caracteres. El valor predeterminado es NULL.

create_time

Long

Marca de tiempo cuando se crea un trabajo de entrenamiento, en milisegundos. El valor es generado y devuelto por ModelArts después de crear el trabajo.

user_name

String

Nombre de usuario para crear un trabajo de formación. El nombre de usuario es generado y devuelto por ModelArts después de crear el trabajo de entrenamiento.

annotations

Map<String,String>

Plantilla de declaración de un trabajo de formación. Para trabajos heterogéneos, el valor predeterminado de job_template es Template RL. Para otros trabajos, el valor predeterminado es Template DL.

Tabla 5 Status

Parámetro

Tipo

Descripción

phase

String

Nivel 1 de un trabajo de formación. El valor es estable. Opciones: Creating Pending Running Failed Completed, Terminating Terminated Abnormal

secondary_phase

String

Nivel 2 de un trabajo de entrenamiento. El valor es inestable. Opciones: Creating Queuing Running Failed Completed Terminating Terminated CreateFailed TerminatedFailed Unknown Lost

duration

Long

Duración de un trabajo de entrenamiento, en milisegundos

node_count_metrics

Array<Array<Integer>>

Cambios en el recuento de nodos durante el período de ejecución del trabajo de entrenamiento.

tasks

Array of strings

Tareas de un trabajo de entrenamiento.

start_time

String

Hora de inicio de un trabajo de entrenamiento. El valor está en formato de marca de tiempo.

task_statuses

Array of task_statuses objects

Estado de una tarea de trabajo de entrenamiento.

Tabla 6 task_statuses

Parámetro

Tipo

Descripción

task

String

Nombre de una tarea de trabajo de entrenamiento.

exit_code

Integer

Código de salida de una tarea de trabajo de entrenamiento.

message

String

Mensaje de error de una tarea de trabajo de entrenamiento.

Tabla 7 JobAlgorithmResponse

Parámetro

Tipo

Descripción

id

String

Algoritmo para trabajos de formación. Opciones:

  • id: Solo se utiliza el ID del algoritmo.
  • subscription_id+item_version_id: Se utilizan el ID de suscripción y el ID de versión del algoritmo.
  • code_dir+boot_file: Se utiliza el directorio de código y el archivo de arranque de un trabajo de entrenamiento.

name

String

Nombre del algoritmo.

subscription_id

String

ID de suscripción del algoritmo de suscripción. Este parámetro debe usarse junto con item_version_id.

item_version_id

String

ID de versión del algoritmo de suscripción. Este parámetro se debe usar junto con subscription_id.

code_dir

String

Directorio de código de un trabajo de formación, por ejemplo, /usr/app/. Este parámetro debe usarse junto con boot_file. Si se establece id o subscription_id+item_version_id, déjelo en blanco.

boot_file

String

Archivo de arranque de un trabajo de entrenamiento, que debe almacenarse en el directorio de código, por ejemplo, /usr/app/boot.py. Este parámetro debe usarse junto con code_dir. Si se establece id o subscription_id+item_version_id, déjelo en blanco.

autosearch_config_path

String

Ruta de configuración YAML de los trabajos de búsqueda automática. Se requiere una URL OBS.

autosearch_framework_path

String

Directorio de código de marco de trabajos de búsqueda automática. Se requiere una URL OBS.

command

String

Comando de arranque utilizado para iniciar el contenedor de la imagen personalizada utilizada por un trabajo de entrenamiento. Puede establecer este parámetro en code_dir.

parameters

Array of Parameter objects

Parámetros de ejecución de un trabajo de entrenamiento.

policies

policies object

Políticas apoyadas por puestos de trabajo.

inputs

Array of Input objects

Aportación de un trabajo de formación.

outputs

Array of Output objects

Salida de un trabajo de formación.

engine

engine object

Motor de un trabajo de entrenamiento. Deje este parámetro en blanco si el trabajo se crea mediante id de la API de gestión del algoritmo o subscription_id+item_version_id de la API del algoritmo de suscripción.

environments

Array of Map<String,String> objects

Variables de entorno de un trabajo de formación. El formato es key: value. Deje este parámetro en blanco.

Tabla 8 Parámetro

Parámetro

Tipo

Descripción

name

String

Nombre del parámetro.

value

String

Valor del parámetro.

description

String

Descripción del parámetro.

constraint

constraint object

Restricción de parámetro.

i18n_description

i18n_description object

Descripción de la internacionalización.

Tabla 9 constraint

Parámetro

Tipo

Descripción

type

String

Tipo de parámetro.

editable

Boolean

Si el parámetro es editable.

required

Boolean

Si el parámetro es obligatorio.

sensitive

Boolean

Si el parámetro es sensible.

valid_type

String

Tipo válido.

valid_range

Array of strings

Rango válido.

Tabla 10 i18n_description

Parámetro

Tipo

Descripción

language

String

Internacionalización idioma.

description

String

Descripción.

Tabla 11 policies

Parámetro

Tipo

Descripción

auto_search

auto_search object

Configuración de búsqueda de hiperparámetros.

Tabla 13 reward_attrs

Parámetro

Tipo

Descripción

name

String

Nombre de la métrica

mode

String

Dirección de búsqueda.

  • max: Un valor métrico mayor indica un mejor rendimiento.
  • min: Un valor métrico más pequeño indica un mejor rendimiento.

regex

String

Expresión regular de una métrica.

Tabla 14 search_params

Parámetro

Tipo

Descripción

name

String

Nombre de hiperparámetro.

param_type

String

Tipo de parámetro.

  • continuous: el parámetro es un valor continuo.
  • discreate: el parámetro es un valor discreto.

lower_bound

String

Límite inferior del hiperparámetro.

upper_bound

String

Límite superior del hiperparámetro.

discrete_points_num

String

Número de puntos discretos de un hiperparámetro continuo.

discrete_values

Array of strings

Lista de valores de hiperparámetro discretos.

Tabla 15 algo_configs

Parámetro

Tipo

Descripción

name

String

Nombre del algoritmo de búsqueda.

params

Array of AutoSearchAlgoConfigParameter objects

Parámetros del algoritmo de búsqueda.

Tabla 16 AutoSearchAlgoConfigParameter

Parámetro

Tipo

Descripción

key

String

Clave de parámetro.

value

String

Valor del parámetro.

type

String

Tipo de parámetro.

Tabla 17 Input

Parámetro

Tipo

Descripción

name

String

Nombre del canal de entrada de datos.

description

String

Descripción del canal de entrada de datos.

local_dir

String

Directorio local del contenedor al que se asigna el canal de entrada de datos.

remote

InputDataInfo object

Entrada de datos. Opciones:

  • dataset: Conjunto de datos como entrada de datos
  • obs: ruta OBS como entrada de datos

remote_constraint

Array of remote_constraint objects

Restricciones de entrada de datos.

Tabla 18 InputDataInfo

Parámetro

Tipo

Descripción

dataset

dataset object

Conjunto de datos como entrada de datos.

obs

obs object

OBS en el que se almacenan los datos de entrada y salida.

Tabla 19 dataset

Parámetro

Tipo

Descripción

id

String

ID de conjunto de datos de un trabajo de entrenamiento.

version_id

String

ID de versión del conjunto de datos de un trabajo de entrenamiento.

obs_url

String

OBS URL del conjunto de datos requerido por un trabajo de entrenamiento. ModelArts analiza y genera automáticamente la URL basándose en los ID de versión del conjunto de datos y del conjunto de datos. Por ejemplo, /usr/data/.

Tabla 20 obs

Parámetro

Tipo

Descripción

obs_url

String

OBS URL del conjunto de datos requerido por un trabajo de entrenamiento. Por ejemplo, /usr/data/.

Tabla 21 remote_constraint

Parámetro

Tipo

Descripción

data_type

String

Tipo de entrada de datos, incluida la ubicación de almacenamiento de datos y el conjunto de datos.

attributes

String

Atributos si se utiliza un conjunto de datos como entrada de datos. Opciones:

  • data_format: Data format
  • data_segmentation: Segmentación de datos
  • dataset_type: Tipo de etiquetado
Tabla 22 Output

Parámetro

Tipo

Descripción

name

String

Nombre del canal de salida de datos.

description

String

Descripción del canal de salida de datos.

local_dir

String

Directorio local del contenedor al que se asigna el canal de salida de datos.

remote

remote object

Descripción de la salida de datos real.

Tabla 23 remote

Parámetro

Tipo

Descripción

obs

obs object

OBS a la que se exportan los datos.

Tabla 24 obs

Parámetro

Tipo

Descripción

obs_url

String

URL OBS a la que se exportan los datos.

Tabla 25 engine

Parámetro

Tipo

Descripción

engine_id

String

ID del motor seleccionado para un trabajo de entrenamiento. Puede establecer este parámetro en engine_id, engine_name + engine_version, o image_url.

engine_name

String

Nombre del motor seleccionado para un trabajo de entrenamiento. Si se establece engine_id, deje este parámetro en blanco.

engine_version

String

Nombre de la versión del motor seleccionada para un trabajo de entrenamiento. Si se establece engine_id, deje este parámetro en blanco.

image_url

String

URL de imagen personalizada seleccionada para un trabajo de entrenamiento.

Tabla 26 TaskResponse

Parámetro

Tipo

Descripción

role

String

Papel de un trabajo de formación heterogéneo. Opciones:

  • learner: soporta GPUs o CPUs.
  • worker: soporta CPUs.

algorithm

algorithm object

Gestión y configuración de algoritmos.

task_resource

FlavorResponse object

Variantes de un trabajo de entrenamiento o un algoritmo.

Tabla 27 Algoritmo

Parámetro

Tipo

Descripción

code_dir

String

Ruta absoluta del directorio donde se almacena el archivo de arranque del algoritmo.

boot_file

String

Ruta absoluta del archivo de arranque del algoritmo.

inputs

inputs object

Canal de entrada de algoritmo.

outputs

outputs object

Canal de salida del algoritmo.

engine

engine object

Motor del que depende un trabajo heterogéneo.

Tabla 28 inputs

Parámetro

Tipo

Descripción

name

String

Nombre del canal de entrada de datos.

local_dir

String

Ruta local del contenedor al que se asignan los canales de entrada y salida de datos.

remote

remote object

Entrada de datos real. Los trabajos heterogéneos solo admiten OBS.

Tabla 29 remote

Parámetro

Tipo

Descripción

obs

obs object

OBS en el que se almacenan los datos de entrada y salida.

Tabla 30 obs

Parámetro

Tipo

Descripción

obs_url

String

OBS URL del conjunto de datos requerido por un trabajo de entrenamiento. Por ejemplo, /usr/data/.

Tabla 31 outputs

Parámetro

Tipo

Descripción

name

String

Nombre del canal de salida de datos.

local_dir

String

Directorio local del contenedor al que se asigna el canal de salida de datos.

remote

remote object

Descripción de la salida de datos real.

mode

String

Modo de transmisión de datos. El valor predeterminado es upload_periodically.

period

String

Periodo de transmisión de datos. El valor predeterminado es 30s.

Tabla 32 remote

Parámetro

Tipo

Descripción

obs

obs object

OBS a la que se exportan los datos.

Tabla 33 obs

Parámetro

Tipo

Descripción

obs_url

String

URL OBS a la que se exportan los datos.

Tabla 34 engine

Parámetro

Tipo

Descripción

engine_id

String

ID del motor de un trabajo heterogéneo, por ejemplo, caffe-1.0.0-python2.7.

engine_name

String

Nombre del motor de un trabajo heterogéneo, por ejemplo, Caffe.

engine_version

String

Versión del motor de un trabajo heterogéneo.

v1_compatible

Boolean

Si se utiliza el modo de compatibilidad v1.

run_user

String

UID de usuario iniciado por defecto por el motor.

image_url

String

URL de imagen personalizada seleccionada por un algoritmo.

Tabla 35 FlavorResponse

Parámetro

Tipo

Descripción

flavor_id

String

ID de la variante de recurso.

flavor_name

String

Nombre de la variante de recurso.

max_num

Integer

Número máximo de nodos en una variante de recurso.

flavor_type

String

Tipo de variante de recurso. Opciones:

  • CPU
  • GPU
  • Ascend

billing

billing object

Información de facturación de una variante de recurso.

flavor_info

flavor_info object

Detalles de la variante del recurso.

attributes

Map<String,String>

Otros atributos de especificación.

Tabla 36 billing

Parámetro

Tipo

Descripción

code

String

Código de facturación.

unit_num

Integer

Número de unidades de facturación.

Tabla 37 flavor_info

Parámetro

Tipo

Descripción

max_num

Integer

Número máximo de nodos que se pueden seleccionar. El valor 1 indica que el modo distribuido no es compatible.

cpu

cpu object

Especificaciones de la CPU.

gpu

gpu object

Especificaciones de GPU.

npu

npu object

Variantes de Ascend.

memory

memory object

Información de memoria.

disk

disk object

Información del disco.

Tabla 38 cpu

Parámetro

Tipo

Descripción

arch

String

Arquitectura de CPU.

core_num

Integer

Cantidad de núcleos.

Tabla 39 gpu

Parámetro

Tipo

Descripción

unit_num

Integer

Número de GPU.

product_name

String

Nombre del producto.

memory

String

Memoria.

Tabla 40 npu

Parámetro

Tipo

Descripción

unit_num

String

Número de NPU.

product_name

String

Nombre del producto.

memory

String

Memoria.

Tabla 41 memory

Parámetro

Tipo

Descripción

size

Integer

Tamaño de la memoria.

unit

String

Número de unidades de memoria.

Tabla 42 disk

Parámetro

Tipo

Descripción

size

Integer

Tamaño del disco.

unit

String

Unidad del tamaño del disco.

Tabla 43 spec

Parámetro

Tipo

Descripción

resource

Resource object

Variantes de recursos de un trabajo de entrenamiento. Seleccione flavor_id o pool_id+[flavor_id].

volumes

Array of volumes objects

Volúmenes adjuntos a un trabajo de entrenamiento.

log_export_path

log_export_path object

Exportar la ruta de los registros de trabajos de entrenamiento.

Tabla 44 Resource

Parámetro

Tipo

Descripción

policy

String

Variante de recursos de un trabajo de entrenamiento. Opciones: regular

flavor_id

String

ID de variante de recurso de un trabajo de entrenamiento. Este parámetro no es compatible con los grupos de recursos dedicados alimentados por CPU.

flavor_name

String

Nombre de variante de sólo lectura devuelto por ModelArts cuando se utiliza flavor_id.

node_count

Integer

Número de réplicas de recursos seleccionadas para un trabajo de formación.

Mínimo: 1

pool_id

String

ID del fondo de recursos seleccionado para un trabajo de formación.

flavor_detail

flavor_detail object

Variantes de un trabajo de entrenamiento o un algoritmo.

Tabla 45 flavor_detail

Parámetro

Tipo

Descripción

flavor_type

String

Tipo de variante de recurso. Opciones:

  • CPU
  • GPU
  • Ascend

billing

billing object

Información de facturación de una variante de recurso.

flavor_info

flavor_info object

Detalles de la variante del recurso.

Tabla 46 billing

Parámetro

Tipo

Descripción

code

String

Código de facturación.

unit_num

Integer

Número de unidades de facturación.

Tabla 47 flavor_info

Parámetro

Tipo

Descripción

max_num

Integer

Número máximo de nodos que se pueden seleccionar. El valor 1 indica que el modo distribuido no es compatible.

cpu

cpu object

Especificaciones de la CPU.

gpu

gpu object

Especificaciones de GPU.

npu

npu object

Variantes de Ascend.

memory

memory object

Información de memoria.

disk

disk object

Información del disco.

Tabla 48 cpu

Parámetro

Tipo

Descripción

arch

String

Arquitectura de CPU.

core_num

Integer

Cantidad de núcleos.

Tabla 49 gpu

Parámetro

Tipo

Descripción

unit_num

Integer

Número de GPU.

product_name

String

Nombre del producto.

memory

String

Memoria.

Tabla 50 npu

Parámetro

Tipo

Descripción

unit_num

String

Número de NPU.

product_name

String

Nombre del producto.

memory

String

Memoria.

Tabla 51 memory

Parámetro

Tipo

Descripción

size

Integer

Tamaño de la memoria.

unit

String

Número de unidades de memoria.

Tabla 52 disk

Parámetro

Tipo

Descripción

size

String

Tamaño del disco.

unit

String

Unidad del tamaño del disco. Generalmente, el valor es GB.

Tabla 53 volumes

Parámetro

Tipo

Descripción

nfs

nfs object

Volúmenes adjuntos en modo NFS.

Tabla 54 nfs

Parámetro

Tipo

Descripción

nfs_server_path

String

Ruta del servidor NFS.

local_path

String

Ruta para conectar volúmenes al contenedor de entrenamiento.

read_only

Boolean

Si los volúmenes conectados al contenedor en modo NFS son de sólo lectura.

Tabla 55 log_export_path

Parámetro

Tipo

Descripción

obs_url

String

URL OBS para almacenar registros de trabajos de entrenamiento.

host_path

String

Ruta del host donde se almacenan los registros de trabajos de entrenamiento.

Ejemplo de las solicitudes

A continuación se muestra cómo detener el trabajo de entrenamiento cuyo UUID es 3faf5c03-aaa1-4cbe-879d-24b05d997347.

POST   https://endpoint/v2/{project_id}/training-jobs/cf63aba9-63b1-4219-b717-708a2665100b/actions

{
  "action_type" : "terminate"
}

Example Responses

Código de estado: 202

Aceptar

{
  "kind" : "job",
  "metadata" : {
    "id" : "cf63aba9-63b1-4219-b717-708a2665100b",
    "name" : "trainjob--py14_mem06-110",
    "description" : "",
    "create_time" : 1636515222282,
    "workspace_id" : "0",
    "ai_project" : "default-ai-project",
    "user_name" : "ei_modelarts_z00424192_01"
  },
  "status" : {
    "phase" : "Terminating",
    "secondary_phase" : "Terminating",
    "duration" : 0,
    "start_time" : 0,
    "node_count_metrics" : null,
    "tasks" : [ "worker-0" ]
  },
  "algorithm" : {
    "code_dir" : "obs://test/economic_test/py_minist/",
    "boot_file" : "obs://test/economic_test/py_minist/minist_common.py",
    "inputs" : [ {
      "name" : "data_url",
      "local_dir" : "/home/ma-user/modelarts/inputs/data_url_0",
      "remote" : {
        "obs" : {
          "obs_url" : "/test/data/py_minist/"
        }
      }
    } ],
    "outputs" : [ {
      "name" : "train_url",
      "local_dir" : "/home/ma-user/modelarts/outputs/train_url_0",
      "remote" : {
        "obs" : {
          "obs_url" : "/test/train_output/"
        }
      },
      "mode" : "upload_periodically",
      "period" : 30
    } ],
    "engine" : {
      "engine_id" : "pytorch-cp36-1.4.0-v2",
      "engine_name" : "PyTorch",
      "engine_version" : "PyTorch-1.4.0-python3.6-v2",
      "v1_compatible" : false,
      "run_user" : ""
    }
  },
  "spec" : {
    "resource" : {
      "policy" : "economic",
      "flavor_id" : "modelarts.vm.p100.large.eco",
      "flavor_name" : "Computing GPU(P100) instance",
      "node_count" : 1,
      "flavor_detail" : {
        "flavor_type" : "GPU",
        "billing" : {
          "code" : "modelarts.vm.gpu.p100.eco",
          "unit_num" : 1
        },
        "attributes" : {
          "is_economic_policy_supported" : "true",
          "is_multi_devices_supported" : "false",
          "is_multi_nodes_supported" : "true"
        },
        "flavor_info" : {
          "cpu" : {
            "arch" : "x86",
            "core_num" : 8
          },
          "gpu" : {
            "unit_num" : 1,
            "product_name" : "NVIDIA-P100",
            "memory" : "8GB"
          },
          "memory" : {
            "size" : 64,
            "unit" : "GB"
          }
        }
      }
    },
    "is_hosted_log" : false
  }
}

Códigos de estado

Código de estado

Descripción

202

Aceptar

Códigos de error

Consulte Códigos de error.