In diesem Dokument wird die Clientbibliothek für Neural Architecture Search von Agent Platform Neural Architecture Search beschrieben.
Der Agent Platform Neural Architecture Search-Client (in vertex_nas_cli.py) beinhaltet die Jobverwaltungs-API und vereinfacht die Agent Platform Neural Architecture Search-Entwicklung. Es sind damit folgende Unterbefehle verfügbar:
vertex_nas_cli.py build: Erstellt Agent Platform Neural Architecture Search-Container und überträgt sie per Push in die Artifact Registry.vertex_nas_cli.py run_latency_calculator_local: Führt den Latenzrechner lokal für den Neural Architecture Search-Phase-1-Suchjob der Agent Platform aus.vertex_nas_cli.py search_in_local: Führt den Agent Platform Neural Architecture Search-Job lokal auf Ihrem Computer mit einer zufällig ausgewählten Architektur aus.vertex_nas_cli.py search: Führt einen Agent Platform Neural Architecture Search-Job mit Phase-1-Suche und Phase-2-Training auf Cloud de Confianceaus.vertex_nas_cli.py search_resume: Setzt einen vorherigen Agent Platform Neural Architecture Search-Job auf Cloud de Confiancefort.vertex_nas_cli.py list_trials: Listet Agent Platform Neural Architecture Search-Tests für einen bestimmten Job auf.vertex_nas_cli.py train: Trainiert die gesuchte Modellarchitektur (Test) in Cloud de Confiance.
Build
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py build unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py build -h
Wenn --trainer_docker_id angegeben ist, wird der Trainer-Docker aus der mit dem Flag --trainer_docker_file angegebenen Docker-Datei erstellt. Der Docker wird mit dem vollständigen URI gcr.io/project_id/trainer_docker_id erstellt und in Artifact Registry übertragen.
Wenn --latency_calculator_docker_id angegeben ist, wird der Docker-Latenzrechner aus der Docker-Datei erstellt, die durch das Flag --latency_calculator_docker_file angegeben wird. Der Docker wird mit dem vollständigen URI gcr.io/project_id/latency_calculator_docker_id erstellt und in die Artifact Registry übertragen.
Anstatt mit Dockerfile zu erstellen, können Sie auch andere Tools wie bazel verwenden, um den Trainer zu erstellen, und können ihn mit dem Neural Architecture Search-Dienst der Agent Platform verwenden.
Latenzrechner lokal ausführen
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py run_latency_calculator_local unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py run_latency_calculator_local -h
Lokal suchen
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py search_in_local unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py search_in_local -h
Sie müssen entweder --search_space_module oder --prebuilt_search_space angeben, damit vertex_nas_cli.py intern eine zu verwendende zufällige Modellarchitektur generiert.
Mit diesem Befehl wird der Docker gcr.io/project_id/trainer_docker_id:latest auf Ihrem lokalen Computer mit einer zufällig ausgewählten Architektur ausgeführt.
Sie können nach --search_docker_flags die Flags übergeben, die vom Container verwendet werden sollen. Sie können beispielsweise --training_data_path und validation_data_path an den Container übergeben:
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
Suche
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py search unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py search -h
Sie müssen entweder --search_space_module oder --prebuilt_search_space angeben, damit vertex_nas_cli.py intern search_space_spec erstellt.
Die Maschinen, auf denen Agent Platform Neural Architecture Search-Jobs ausgeführt werden sollen, können durch --accelerator_type angegeben werden.
Weitere Informationen, auch für die Anpassung an Ihre Anforderungen, etwa zur Verwendung weiterer GPUs, finden Sie unter add_machine_configurations.
Verwenden Sie die Flags mit dem Präfix train_, um die Trainingsparameter für Phase 2 festzulegen.
Suche fortsetzen
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py search_resume unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py search_resume -h
Sie können einen zuvor ausgeführten Suchjob fortsetzen, indem Sie previous_nas_job_id und optional previous_latency_job_id übergeben.
Das Flag previous_latency_job_id ist nur erforderlich, wenn Ihr vorheriger Suchjob einen Cloud de Confiance by S3NS -Latenzjob enthielt. Wenn Sie anstelle eines Cloud de Confiance by S3NS -Latenzjobs einen lokalen Latenzrechner verwendet haben, müssen Sie diesen lokalen Latenzrechner-Job separat ausführen.
Der vorherige Suchjob darf selbst kein fortgesetzter Job sein. Die Region für den fortgesetzten Suchjob muss mit der Region des vorherigen Suchjobs übereinstimmen.
Ein Beispiel für einen search_resume-Befehl:
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
Tests auflisten
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py list_trials unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py list_trials -h
Trainieren
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py train unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py train -h
Messung der Varianz der Proxyaufgabe
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py measure_proxy_task_variance unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py measure_proxy_task_variance -h
Auswahl der Proxy-Aufgabenaufgabe
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py select_proxy_task_models unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py select_proxy_task_models -h
Proxy-Aufgabensuche
Führen Sie den folgenden Befehl aus, um die Liste der von vertex_nas_cli.py search_proxy_task unterstützten Argumente aufzurufen:
python3 vertex_nas_cli.py search_proxy_task -h