Veja neste documento a biblioteca de cliente da Vertex AI Neural Architecture Search.
O cliente de Pesquisa de arquitetura neural (em vertex_nas_cli.py
)
encapsula a API de gerenciamento de jobs e facilita
o desenvolvimento de Pesquisa de arquitetura neural. Ele fornece os seguintes
subcomandos:
vertex_nas_cli.py build
: cria contêineres da pesquisa de arquitetura neural e envia para o Artifact Registry.vertex_nas_cli.py run_latency_calculator_local
: executa a calculadora de latência localmente para o job de pesquisa de estágio 1 da arquitetura neural.vertex_nas_cli.py search_in_local
: executa o job de pesquisa de arquitetura neural localmente na máquina com uma arquitetura de amostra aleatória.vertex_nas_cli.py search
: executa o job de pesquisa de arquitetura neural com pesquisa no estágio 1 e treinamento no estágio 2 em Google Cloud.vertex_nas_cli.py search_resume
: retoma um job anterior da Pesquisa de arquitetura neural em Google Cloud.vertex_nas_cli.py list_trials
: lista testes de pesquisa de arquitetura neural para uma vaga específica.vertex_nas_cli.py train
: treina a arquitetura de modelo pesquisada (teste) em Google Cloud.
Criar
Execute o seguinte comando para ver a lista de argumentos compatíveis com
vertex_nas_cli.py build
:
python3 vertex_nas_cli.py build -h
Se --trainer_docker_id
for especificado, ele criará o docker do treinador a partir do arquivo do Docker especificado pela sinalização --trainer_docker_file
. O Docker é criado com o URI completo
gcr.io/project_id/trainer_docker_id
e enviado para o Artifact Registry.
Se --latency_calculator_docker_id
for especificado, ele criará o Docker da calculadora de latência a partir do arquivo do Docker especificado pela sinalização --latency_calculator_docker_file
. O 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 é possível usar outras ferramentas, como bazel
,
para criar o treinador e usá-lo com o serviço de pesquisa de arquitetura neural.
Executar a calculadora de latência local
Execute o seguinte comando para ver a lista de argumentos compatíveis com
vertex_nas_cli.py run_latency_calculator_local
:
python3 vertex_nas_cli.py run_latency_calculator_local -h
Pesquisar no Google Local
Execute o seguinte comando para ver a lista de argumentos compatíveis com
vertex_nas_cli.py search_in_local
:
python3 vertex_nas_cli.py search_in_local -h
É necessário especificar --search_space_module
ou --prebuilt_search_space
para que vertex_nas_cli.py
gere internamente uma arquitetura de modelo aleatória para usar.
Esse comando executará o Docker gcr.io/project_id/trainer_docker_id:latest
na sua máquina local com uma arquitetura de amostra aleatória.
Você pode passar pelas sinalizações a serem usadas pelo contêiner depois de --search_docker_flags
. Por exemplo, é possível passar --training_data_path
e validation_data_path
para o contêiner:
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 compatíveis com
vertex_nas_cli.py search
:
python3 vertex_nas_cli.py search -h
É necessário especificar --search_space_module
ou --prebuilt_search_space
para que vertex_nas_cli.py
crie internamente search_space_spec
.
As máquinas para executar jobs de pesquisa de arquitetura neural podem ser especificadas por --accelerator_type
.
Para mais informações ou para personalizar de acordo com suas necessidades, como usar mais GPUs, consulte add_machine_configurations
.
Use as sinalizações com o prefixo train_
para definir os parâmetros relacionados ao treinamento do estágio 2.
Retomar pesquisa
Execute o seguinte comando para ver a lista de argumentos compatíveis com
vertex_nas_cli.py search_resume
:
python3 vertex_nas_cli.py search_resume -h
É possível retomar um job de pesquisa executado anteriormente transmitindo
previous_nas_job_id
e, opcionalmente, previous_latency_job_id
.
A flag previous_latency_job_id
só é necessária se o job de pesquisa anterior
envolveu um job de latência Google Cloud . Se, em vez de um job de latência Google Cloud , você tiver usado uma calculadora de latência local, será necessário executar esse job separadamente.
O job de pesquisa anterior não
pode ser um job de retomada. A região do job de retomada de pesquisa
precisa ser a mesma do job de pesquisa anterior.
Um exemplo de comando search_resume
tem a seguinte aparência:
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 testes
Execute o seguinte comando para ver a lista de argumentos compatíveis com
vertex_nas_cli.py list_trials
:
python3 vertex_nas_cli.py list_trials -h
Trem
Execute o seguinte comando para ver a lista de argumentos compatíveis com
vertex_nas_cli.py train
:
python3 vertex_nas_cli.py train -h
Avaliação de variação de tarefas de proxy
Execute o seguinte comando para ver a lista de argumentos compatíveis com
vertex_nas_cli.py measure_proxy_task_variance
:
python3 vertex_nas_cli.py measure_proxy_task_variance -h
Seleção de modelo de tarefa de proxy
Execute o seguinte comando para ver a lista de argumentos compatíveis com
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 compatíveis com
vertex_nas_cli.py search_proxy_task
:
python3 vertex_nas_cli.py search_proxy_task -h