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 sul tuo computer 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 ricerca di architetture neurali per un job specifico.vertex_nas_cli.py train
: addestra l'architettura del modello di ricerca (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 --trainer_docker_id
viene specificato, crea la Dockerer del trainer da quest'ultima
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 creato il calcolatore della latenza
Docker dal file Docker specificato dal flag
--latency_calculator_docker_file
. La Docker è creata con l'URI completo
gcr.io/project_id/latency_calculator_docker_id
ed eseguito il push ad 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 calcolatore latenza locale
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 questo comando per visualizzare l'elenco di 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
genera internamente un'architettura di modello casuale da utilizzare.
Questo comando eseguirà docker gcr.io/project_id/trainer_docker_id:latest
sulla tua macchina locale con un'architettura campionata in modo casuale.
Puoi passare i flag utilizzati dal container 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 questo comando per visualizzare l'elenco di 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 per eseguire i job di Neural Architecture Search possono essere specificate da --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 il prefisso train_
per impostare l'addestramento della fase 2
parametri correlati.
Riprendi ricerca
Esegui questo comando per visualizzare l'elenco di 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 di latenza di Google Cloud. Se al posto di un job di latenza di Google Cloud
hai usato un calcolatore di latenza on-premise,
il job di calcolo della latenza on-premise
di nuovo separatamente.
Il job di ricerca precedente non deve essere un job di ripresa. La regione per il job di curriculum di ricerca
dovrebbe essere lo stesso 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
Elenca le 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 questo comando per visualizzare l'elenco di argomenti supportati da
vertex_nas_cli.py train
:
python3 vertex_nas_cli.py train -h
Misurazione della varianza delle attività proxy
Esegui questo comando per visualizzare l'elenco di 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 questo comando per visualizzare l'elenco di argomenti supportati da
vertex_nas_cli.py search_proxy_task
:
python3 vertex_nas_cli.py search_proxy_task -h