במאמר הזה מוסבר על ספריית הלקוח Agent Platform Neural Architecture Search Neural Architecture Search.
לקוח Agent Platform Neural Architecture Search (ב-vertex_nas_cli.py) הוא wrapper של Job Management API ומאפשר פיתוח של Agent Platform Neural Architecture Search. היא מספקת את פקודות המשנה הבאות:
-
vertex_nas_cli.py build: יוצר קונטיינרים של Agent Platform Neural Architecture Search ומעלה אותם אל Artifact Registry. -
vertex_nas_cli.py run_latency_calculator_local: מריץ את מחשבון זמן האחזור באופן מקומי עבור שלב 1 של משימת חיפוש ב-Agent Platform Neural Architecture Search. -
vertex_nas_cli.py search_in_local: מריץ עבודת חיפוש של ארכיטקטורה עצבית ב-Agent Platform באופן מקומי במחשב עם ארכיטקטורה שנבחרה באופן אקראי. -
vertex_nas_cli.py search: מריץ משימת חיפוש של ארכיטקטורה עצבית ב-Agent Platform עם חיפוש בשלב 1 ואימון בשלב 2 ב- Cloud de Confiance. -
vertex_nas_cli.py search_resume: מפעיל מחדש משימה קודמת של Agent Platform Neural Architecture Search ב- Cloud de Confiance. -
vertex_nas_cli.py list_trials: מציג רשימה של ניסויים של Agent Platform Neural Architecture Search למשימה ספציפית. -
vertex_nas_cli.py train: אימון ארכיטקטורת מודל (בגרסת ניסיון) ב- Cloud de Confiance.
פיתוח פתרונות
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py build:
python3 vertex_nas_cli.py build -h
אם מציינים את --trainer_docker_id, המערכת יוצרת את קובץ ה-Docker של מאמן המודל מתוך קובץ ה-Docker שצוין באמצעות הדגל --trainer_docker_file. קובץ ה-Docker נוצר עם ה-URI המלא gcr.io/project_id/trainer_docker_id ומועבר אל Artifact Registry.
אם מציינים את --latency_calculator_docker_id, המערכת יוצרת את קובץ ה-Docker של מחשבון השהיות מתוך קובץ ה-Docker שצוין בדגל --latency_calculator_docker_file. קובץ ה-Docker נוצר עם ה-URI המלא gcr.io/project_id/latency_calculator_docker_id ומועבר בדחיפה אל Artifact Registry.
במקום ליצור קובץ Dockerfile, אפשר גם להשתמש בכלים אחרים כמו bazel
כדי ליצור את המאמן, ולהשתמש בו עם שירות Neural Architecture Search של Agent Platform.
הפעלת מחשבון זמן האחזור באופן מקומי
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py run_latency_calculator_local:
python3 vertex_nas_cli.py run_latency_calculator_local -h
חיפוש במקומי
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py search_in_local:
python3 vertex_nas_cli.py search_in_local -h
צריך לציין --search_space_module או --prebuilt_search_space
כדי ש-vertex_nas_cli.py ייצור באופן פנימי ארכיטקטורת מודל אקראית לשימוש.
הפקודה הזו תריץ את docker gcr.io/project_id/trainer_docker_id:latest במחשב המקומי עם ארכיטקטורה שנבחרה באופן אקראי.
אפשר להעביר את הדגלים לשימוש הקונטיינר אחרי --search_docker_flags. לדוגמה, אפשר להעביר את הדגלים --training_data_path ו-validation_data_path לקונטיינר:
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
חיפוש
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py search:
python3 vertex_nas_cli.py search -h
צריך לציין את --search_space_module או את --prebuilt_search_space
כדי ש-vertex_nas_cli.py ייצור באופן פנימי את search_space_spec.
אפשר לציין את המכונות להרצת משימות של חיפוש ארכיטקטורה עצבית ב-Agent Platform באמצעות --accelerator_type.
למידע נוסף או להתאמה אישית לפי הצרכים שלכם, כמו שימוש ביותר יחידות GPU, אפשר לעיין במאמר add_machine_configurations.
משתמשים בדגלים עם הקידומת train_ כדי להגדיר את הפרמטרים שקשורים לאימון בשלב 2.
חיפוש קורות חיים
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py search_resume:
python3 vertex_nas_cli.py search_resume -h
כדי להפעיל מחדש משימת חיפוש שהופעלה בעבר, מעבירים את האפשרויות previous_nas_job_id ואת previous_latency_job_id (אם רוצים). האפשרות previous_latency_job_id נדרשת רק אם משימת החיפוש הקודמת כללה משימת השהיה Cloud de Confiance by S3NS . אם במקום משימת השהיה Cloud de Confiance by S3NS השתמשתם במחשבון השהיה מקומי, תצטרכו להפעיל מחדש את משימת מחשבון ההשהיה המקומי בנפרד. משימת החיפוש הקודמת לא יכולה להיות משימת הפעלה מחדש. האזור של משימת החיפוש להפעלה מחדש צריך להיות זהה לאזור של משימת החיפוש הקודמת. פקודת search_resume לדוגמה נראית כך:
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
הצגת רשימה של תקופות ניסיון
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py list_trials:
python3 vertex_nas_cli.py list_trials -h
רכבת
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py train:
python3 vertex_nas_cli.py train -h
מדידת השונות של משימות פרוקסי
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py measure_proxy_task_variance:
python3 vertex_nas_cli.py measure_proxy_task_variance -h
בחירת מודל למשימת Proxy
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py select_proxy_task_models:
python3 vertex_nas_cli.py select_proxy_task_models -h
חיפוש משימות שמוגדרות דרך שרת proxy
מריצים את הפקודה הבאה כדי לראות את רשימת הארגומנטים שנתמכים על ידי
vertex_nas_cli.py search_proxy_task:
python3 vertex_nas_cli.py search_proxy_task -h