Questo documento descrive la libreria client di Vertex AI Neural Architecture Search.
Il client Neural Architecture Search (in vertex_nas_cli.py
)
rappresenta l'API di gestione dei job e semplifica
lo sviluppo di Neural Architecture Search. Fornisce i seguenti
subcomandi:
vertex_nas_cli.py build
: crea i contenitori di Neural Architecture Search e li esegue in push in Artifact Registry.vertex_nas_cli.py run_latency_calculator_local
: esegue il calcolo della latenza localmente per il job di ricerca di fase 1 di Neural Architecture Search.vertex_nas_cli.py search_in_local
: esegue il job di ricerca di architetture neurali localmente sulla tua macchina con un'architettura campionata in modo casuale.vertex_nas_cli.py search
: esegue il job di ricerca di architetture neurali con la ricerca di fase 1 e l'addestramento di fase 2 su Google Cloud.vertex_nas_cli.py search_resume
: riprende un job Neural Architecture Search precedente su Google Cloud.vertex_nas_cli.py list_trials
: elenca le prove di Neural Architecture Search per un job specifico.vertex_nas_cli.py train
: addestra l'architettura del modello cercata (prova) in Google Cloud.
Build
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py build
:
python3 vertex_nas_cli.py build -h
Se viene specificato --trainer_docker_id
, viene creato il docker del trainer dal file Docker
specificato dal flag --trainer_docker_file
. Il contenitore viene creato con un URI completo gcr.io/project_id/trainer_docker_id
ed eseguito il push in Artifact Registry.
Se viene specificato --latency_calculator_docker_id
, viene compilato il calcolatore della latenza
Docker dal file Docker specificato dal flag
--latency_calculator_docker_file
. Il contenitore viene creato con l'URI completogcr.io/project_id/latency_calculator_docker_id
e viene eseguito il push in Artifact Registry.
Anziché eseguire la compilazione con Dockerfile, puoi anche utilizzare altri strumenti come bazel
per compilare l'addestratore e utilizzarlo con il servizio Neural Architecture Search.
Esegui il calcolo della latenza localmente
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py run_latency_calculator_local
:
python3 vertex_nas_cli.py run_latency_calculator_local -h
Ricerca locale
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py search_in_local
:
python3 vertex_nas_cli.py search_in_local -h
Devi specificare --search_space_module
o --prebuilt_search_space
in modo che vertex_nas_cli.py
generi internamente un'architettura del modello casuale da utilizzare.
Questo comando eseguirà il docker gcr.io/project_id/trainer_docker_id:latest
sulla tua macchina locale con un'architettura campionata in modo casuale.
Puoi passare i flag da utilizzare dal contenitore dopo
--search_docker_flags
. Ad esempio, puoi passare --training_data_path
e validation_data_path
al contenitore:
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
Cerca
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py search
:
python3 vertex_nas_cli.py search -h
Devi specificare --search_space_module
o --prebuilt_search_space
in modo che vertex_nas_cli.py
crei internamente search_space_spec
.
Le macchine su cui eseguire i job di ricerca di architetture neurali possono essere specificate tramite --accelerator_type
.
Per ulteriori informazioni o per personalizzare il servizio in base alle tue esigenze, ad esempio utilizzando più GPU, consulta add_machine_configurations
.
Utilizza i flag con prefisso train_
per impostare i parametri relativi all'addestramento della fase 2.
Riprendi ricerca
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py search_resume
:
python3 vertex_nas_cli.py search_resume -h
Puoi riprendere un job di ricerca eseguito in precedenza passando
previous_nas_job_id
e, facoltativamente, previous_latency_job_id
.
Il flag previous_latency_job_id
è necessario solo se il job di ricerca precedente coinvolgeva un job Google Cloud di latenza. Se anziché un Google Cloud job di latenza
hai utilizzato un calcolatore della latenza on-premise, devi
eseguire di nuovo separatamente il job del calcolatore della latenza on-premise.
Il job di ricerca precedente non deve essere un job di ripresa. La regione per il job di ripresa della ricerca deve essere la stessa del job di ricerca precedente.
Un esempio di comando search_resume
è il seguente:
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
Elenco prove
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py list_trials
:
python3 vertex_nas_cli.py list_trials -h
Addestra
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py train
:
python3 vertex_nas_cli.py train -h
Misurazione della varianza delle attività proxy
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py measure_proxy_task_variance
:
python3 vertex_nas_cli.py measure_proxy_task_variance -h
Selezione del modello di attività proxy
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py select_proxy_task_models
:
python3 vertex_nas_cli.py select_proxy_task_models -h
Ricerca di attività proxy
Esegui il seguente comando per visualizzare l'elenco degli argomenti supportati da
vertex_nas_cli.py search_proxy_task
:
python3 vertex_nas_cli.py search_proxy_task -h