Este documento descreve a biblioteca de cliente da Vertex AI Neural Architecture Search.
O cliente da pesquisa de arquitetura neural (em vertex_nas_cli.py
) envolve a API de gestão de tarefas e facilita o desenvolvimento da pesquisa de arquitetura neural. Disponibiliza os seguintes subcomandos:
vertex_nas_cli.py build
: cria contentores da Neural Architecture Search e envia-os para o Artifact Registry.vertex_nas_cli.py run_latency_calculator_local
: executa a calculadora de latência localmente para a tarefa de pesquisa de fase 1 da pesquisa de arquitetura neural.vertex_nas_cli.py search_in_local
: executa a tarefa de pesquisa de arquitetura neural localmente no seu computador com uma arquitetura amostrada aleatoriamente.vertex_nas_cli.py search
: executa a tarefa de pesquisa de arquitetura neural com a pesquisa de fase 1 e a preparação de fase 2 em Google Cloud.vertex_nas_cli.py search_resume
: retoma uma tarefa de pesquisa de arquitetura neural anterior no Google Cloud.vertex_nas_cli.py list_trials
: lista as experiências da pesquisa de arquitetura neural para uma tarefa específica.vertex_nas_cli.py train
: prepara a arquitetura do modelo pesquisado (teste) em Google Cloud.
Compilação
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py build
:
python3 vertex_nas_cli.py build -h
Se --trainer_docker_id
for especificado, cria o Docker do formador a partir do ficheiro Docker especificado pela flag --trainer_docker_file
. O Docker é criado com o URI gcr.io/project_id/trainer_docker_id
completo e enviado para o Artifact Registry.
Se --latency_calculator_docker_id
for especificado, cria o docker do calculador de latência a partir do ficheiro docker especificado pela flag --latency_calculator_docker_file
. O contentor Docker é criado com o URI completo
gcr.io/project_id/latency_calculator_docker_id
e enviado para o Artifact Registry.
Em vez de criar com o Dockerfile, também pode usar outras ferramentas, como o bazel
, para criar o formador e usá-lo com o serviço Neural Architecture Search.
Execute a calculadora de latência localmente
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py run_latency_calculator_local
:
python3 vertex_nas_cli.py run_latency_calculator_local -h
Pesquise em local
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py search_in_local
:
python3 vertex_nas_cli.py search_in_local -h
Tem de especificar --search_space_module
ou --prebuilt_search_space
para que vertex_nas_cli.py
gere internamente uma arquitetura de modelo aleatória a usar.
Este comando executa o docker gcr.io/project_id/trainer_docker_id:latest
na sua máquina local com uma arquitetura amostrada aleatoriamente.
Pode transmitir as flags a serem usadas pelo contentor após
--search_docker_flags
. Por exemplo, pode transmitir --training_data_path
e validation_data_path
para o contentor:
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
Pesquisar
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py search
:
python3 vertex_nas_cli.py search -h
Tem de especificar --search_space_module
ou --prebuilt_search_space
para que vertex_nas_cli.py
crie internamente search_space_spec
.
As máquinas para executar tarefas de pesquisa de arquitetura neural podem ser especificadas por --accelerator_type
.
Para mais informações ou para personalizar de acordo com as suas necessidades, como usar mais GPUs, consulte add_machine_configurations
.
Use as flags com o prefixo train_
para definir os parâmetros relacionados com o treino de fase 2.
Retomar pesquisa
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py search_resume
:
python3 vertex_nas_cli.py search_resume -h
Pode retomar uma tarefa de pesquisa executada anteriormente transmitindo previous_nas_job_id
e, opcionalmente, previous_latency_job_id
.
A flag previous_latency_job_id
só é necessária se a tarefa de pesquisa anterior envolver uma Google Cloud tarefa de latência. Se, em vez de uma Google Cloud tarefa de latência
, usou uma calculadora de latência no local, tem de
executar novamente essa tarefa da calculadora de latência no local em separado.
A tarefa de pesquisa anterior não deve ser uma tarefa de currículo. A região para a tarefa de currículo de pesquisa deve ser a mesma que para a tarefa de pesquisa anterior.
Um exemplo de comando search_resume
tem o seguinte aspeto:
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
Listar avaliações
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py list_trials
:
python3 vertex_nas_cli.py list_trials -h
Comboio
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py train
:
python3 vertex_nas_cli.py train -h
Medição da variância da tarefa de proxy
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py measure_proxy_task_variance
:
python3 vertex_nas_cli.py measure_proxy_task_variance -h
Seleção do modelo de tarefa de proxy
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py select_proxy_task_models
:
python3 vertex_nas_cli.py select_proxy_task_models -h
Pesquisa de tarefas de proxy
Execute o seguinte comando para ver a lista de argumentos suportados por
vertex_nas_cli.py search_proxy_task
:
python3 vertex_nas_cli.py search_proxy_task -h