En este documento, se describe la biblioteca cliente de Neural Architecture Search de Agent Platform.
El cliente de Neural Architecture Search de Agent Platform (en vertex_nas_cli.py)
une la API de Management de trabajos y facilita
el desarrollo de Neural Architecture Search de Agent Platform. Proporciona los siguientes subcomandos:
vertex_nas_cli.py build: Compila contenedores de Neural Architecture Search de Agent Platform y los envía a Artifact Registry.vertex_nas_cli.py run_latency_calculator_local: Ejecuta la calculadora de latencia de forma local para el trabajo de búsqueda de etapa 1 de Neural Architecture Search de Agent Platform.vertex_nas_cli.py search_in_local: Ejecuta un trabajo de Neural Architecture Search de Agent Platform de forma local en tu máquina con una arquitectura de muestreo aleatoria.vertex_nas_cli.py search: Ejecuta un trabajo de Neural Architecture Search de Agent Platform con búsqueda de etapa 1 y entrenamiento de etapa 2 en Google Cloud.vertex_nas_cli.py search_resume: Reanuda un trabajo anterior de Neural Architecture Search de Agent Platform en Google Cloud.vertex_nas_cli.py list_trials: Enumera pruebas de Neural Architecture Search de Agent Platform para trabajos específicos.vertex_nas_cli.py train: Entrena la arquitectura de modelo buscada (prueba) en Google Cloud.
Compilación
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py build:
python3 vertex_nas_cli.py build -h
Si se especifica --trainer_docker_id, compila el Docker del entrenador desde el archivo de Docker que especifica la marca --trainer_docker_file. El Docker se compila con el
URI gcr.io/project_id/trainer_docker_id completo y se envía a Artifact Registry.
Si se especifica --latency_calculator_docker_id, compila el Docker de calculadora de latencia desde el archivo de Docker especificado por la marca --latency_calculator_docker_file. El Docker se compila con el URI completo
gcr.io/project_id/latency_calculator_docker_id y se envía a Artifact Registry.
En lugar de compilar con Dockerfile, también puedes usar otras herramientas, como bazel, para compilar el entrenador y usarlo con el servicio de Neural Architecture Search de Agent Platform.
Ejecuta la calculadora de latencia local
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py run_latency_calculator_local:
python3 vertex_nas_cli.py run_latency_calculator_local -h
Búsqueda en entornos locales
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py search_in_local:
python3 vertex_nas_cli.py search_in_local -h
Debes especificar --search_space_module o --prebuilt_search_space para que vertex_nas_cli.py genere de forma interna una arquitectura de modelo aleatoria que se pueda usar.
Este comando ejecutará el gcr.io/project_id/trainer_docker_id:latest de Docker en tu máquina local con una arquitectura de muestreo aleatoria.
Puedes pasar las marcas que usará el contenedor después de --search_docker_flags. Por ejemplo, puedes pasar --training_data_path y validation_data_path al contenedor:
python3 vertex_nas_cli.py search_in_local \
--project_id=${PROJECT_ID} \
--trainer_docker_id=${TRAINER_DOCKER_ID} \
--prebuilt_search_space=spinenet \
--use_prebuilt_trainer=True \
--local_output_dir=${JOB_DIR} \
--search_docker_flags \
training_data_path=/test_data/test-coco.tfrecord \
validation_data_path=/test_data/test-coco.tfrecord \
model=retinanet
Realiza búsquedas
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py search:
python3 vertex_nas_cli.py search -h
Debes especificar --search_space_module o --prebuilt_search_space
para que vertex_nas_cli.py
cree search_space_spec de forma interna.
--accelerator_type puede especificar las máquinas para ejecutar trabajos de Neural Architecture Search de Agent Platform.
Para obtener más información o personalizar tus necesidades, como usar más GPU, consulta add_machine_configurations.
Usa las marcas con el prefijo train_ para establecer los parámetros relacionados con el entrenamiento en etapa 2.
Reanuda la búsqueda
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py search_resume:
python3 vertex_nas_cli.py search_resume -h
Puedes reanudar un trabajo de búsqueda ejecutado anteriormente pasando previous_nas_job_id y, de manera opcional, previous_latency_job_id.
La marca previous_latency_job_id solo es necesaria si tu trabajo de búsqueda anterior
involucró un Google Cloud trabajo de latencia. Si, en lugar de un Google Cloud trabajo de latencia
usaste una calculadora de latencia local, debes
volver a ejecutar ese trabajo de calculadora de latencia local por separado.
El trabajo de búsqueda anterior no debe ser un trabajo de reanudación. La región del trabajo de reanudación de búsqueda debe ser la misma que la del trabajo de búsqueda anterior.
Un ejemplo de comando search_resume se ve de la siguiente manera:
python3 vertex_nas_cli.py search_resume \
--project_id=${PROJECT} \
--region=${REGION} \
--job_name="${JOB_NAME}" \
--previous_nas_job_id=${previous_nas_job_id} \
--previous_latency_job_id=${previous_latency_job_id} \
--root_output_dir=${GCS_ROOT_DIR} \
--max_nas_trial=2 \
--max_parallel_nas_trial=2 \
--max_failed_nas_trial=2
Enumera pruebas
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py list_trials:
python3 vertex_nas_cli.py list_trials -h
Entrenar
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py train:
python3 vertex_nas_cli.py train -h
Medición de la varianza de tareas de proxy
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py measure_proxy_task_variance:
python3 vertex_nas_cli.py measure_proxy_task_variance -h
Selección de modelos de tareas de proxy
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py select_proxy_task_models:
python3 vertex_nas_cli.py select_proxy_task_models -h
Búsqueda de tarea de proxy
Ejecuta el siguiente comando para ver la lista de argumentos que admite vertex_nas_cli.py search_proxy_task:
python3 vertex_nas_cli.py search_proxy_task -h