Questo documento descrive la libreria client Neural Architecture Search di Agent Platform Neural Architecture Search.
Il client Agent Platform Neural Architecture Search (in vertex_nas_cli.py) esegue il wrapping dell'API di gestione dei job e facilita lo sviluppo di Agent Platform Neural Architecture Search. Fornisce i seguenti sottocomandi:
vertex_nas_cli.py build: crea i container Agent Platform Neural Architecture Search e li invia ad Artifact Registry.vertex_nas_cli.py run_latency_calculator_local: esegue il calcolatore della latenza in locale per il job di ricerca di primo livello di Agent Platform Neural Architecture Search.vertex_nas_cli.py search_in_local: esegue il job Agent Platform Neural Architecture Search localmente sulla tua macchina con un'architettura campionata in modo casuale.vertex_nas_cli.py search: esegue il job Agent Platform Neural Architecture Search con la ricerca di fase 1 e l'addestramento di fase 2 su Cloud de Confiance.vertex_nas_cli.py search_resume: riprende un precedente job di Agent Platform Neural Architecture Search su Cloud de Confiance.vertex_nas_cli.py list_trials: elenca le prove di Agent Platform Neural Architecture Search per un job specifico.vertex_nas_cli.py train: addestra l'architettura del modello cercato (prova) in Cloud de Confiance.
Build
Esegui questo 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 trainer Docker dal file Docker
specificato dal flag --trainer_docker_file. Il docker viene creato con l'URI completo gcr.io/project_id/trainer_docker_id e viene eseguito il push su Artifact Registry.
Se viene specificato --latency_calculator_docker_id, viene creato il docker del calcolatore di latenza dal file docker specificato dal flag --latency_calculator_docker_file. Il docker viene creato con l'URI completo
gcr.io/project_id/latency_calculator_docker_id e ne viene eseguito il push su Artifact Registry.
Anziché creare con Dockerfile, puoi anche utilizzare altri strumenti come bazel
per creare il trainer e utilizzarlo con il servizio Agent Platform Neural Architecture Search.
Esegui il calcolatore di latenza in locale
Esegui questo 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
Cercare in locale
Esegui questo 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à 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 container dopo --search_docker_flags. Ad esempio, puoi passare --training_data_path e validation_data_path al container:
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 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 per eseguire i job di Agent Platform Neural Architecture Search possono essere specificate da --accelerator_type.
Per ulteriori informazioni o per personalizzare in base alle tue esigenze, ad esempio utilizzando più GPU, consulta add_machine_configurations.
Utilizza i flag con il prefisso train_ per impostare i parametri
relativi all'addestramento di fase 2.
Cerca curriculum
Esegui questo 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
riguardava un job di latenza Cloud de Confiance by S3NS . Se invece di un Cloud de Confiance by S3NS job di latenza
hai utilizzato un calcolatore di latenza on-premise, devi
eseguire di nuovo separatamente il job del calcolatore di latenza on-premise.
Il job di ricerca precedente non deve
essere un job di ripristino. La regione del job di ricerca del curriculum
deve essere la stessa del job di ricerca precedente.
Un comando search_resume di esempio ha il seguente aspetto:
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 questo 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 degli argomenti supportati da
vertex_nas_cli.py train:
python3 vertex_nas_cli.py train -h
Misurazione della varianza proxy-task
Esegui questo 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 questo 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 proxy-attività
Esegui questo 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