העלאת יומנים ל-Vertex AI TensorBoard

אתם יכולים להעלות למופע Vertex AI TensorBoard שלכם יומנים קיימים שנוצרו על ידי אימון מקומי, אימון מחוץ ל-Gemini Enterprise Agent Platform, שנוצרו על ידי עמית, שהם יומנים לדוגמה או שנוצרו באמצעות מופע אחר של Vertex AI TensorBoard. אפשר לשתף יומנים בין כמה מכונות של Vertex AI TensorBoard.

‫Vertex AI TensorBoard מציע את Google Cloud CLI ואת Agent Platform SDK ל-Python להעלאת יומני TensorBoard. אפשר להעלות יומנים מכל סביבה שיכולה להתחבר אל Google Cloud.

Agent Platform SDK ל-Python

מעקב רציף

לצורך מעקב רציף, מתקשרים אל aiplatform.start_upload_tb_log בתחילת האימון. ה-SDK פותח שרשור חדש להעלאה. השרשור הזה עוקב אחרי נתונים חדשים בספרייה, ומעלה אותם לניסוי TensorBoard ב-Vertex AI. בסיום ההכשרה, מתקשרים אל end_upload_tb_log כדי לסיים את השרשור של הכלי להעלאה.

הערה: אחרי שתקראו לפונקציה start_upload_tb_log() השרשור יישאר פעיל גם אם תופעל חריגה. כדי לוודא שהשרשור ייסגר, צריך להוסיף קוד כלשהו אחרי start_upload_tb_log() ולפני end_upload_tb_log() בהצהרה try, ולקרוא ל-end_upload_tb_log() ב-finally.

Python

from typing import Optional

from google.cloud import aiplatform


def upload_tensorboard_log_continuously_sample(
    tensorboard_experiment_name: str,
    logdir: str,
    tensorboard_id: str,
    project: str,
    location: str,
    experiment_display_name: Optional[str] = None,
    run_name_prefix: Optional[str] = None,
    description: Optional[str] = None,
) -> None:

    aiplatform.init(project=project, location=location)

    # Continuous monitoring
    aiplatform.start_upload_tb_log(
        tensorboard_id=tensorboard_id,
        tensorboard_experiment_name=tensorboard_experiment_name,
        logdir=logdir,
        experiment_display_name=experiment_display_name,
        run_name_prefix=run_name_prefix,
        description=description,
    )

    try:
        print("Insert your code here")
    finally:
        aiplatform.end_upload_tb_log()

  • ‫tensorboard_experiment_name: השם של הניסוי ב-TensorBoard שרוצים להעלות אליו.
  • ‫logdir: מיקום הספרייה שבה צריך לבדוק את יומני TensorBoard.
  • ‫tensorboard_id: מזהה מופע TensorBoard. אם לא מגדירים את המדיניות, המערכת תשתמש ב-tensorboard_id ב-aiplatform.init.
  • project: . מזהה הפרויקט מופיע בדף welcome במסוף Google Cloud .
  • ‫location: המיקום שבו נמצא מופע TensorBoard.
  • ‫experiment_display_name: השם המוצג של הניסוי.
  • ‫run_name_prefix: אם הערך הזה קיים, כל ההרצות שנוצרו על ידי הקריאה הזו יתחילו בשם הזה.
  • ‫description: תיאור מחרוזת להקצאה לניסוי.

כניסה חד-פעמית

העלאת יומנים של TensorBoard

אפשר להתקשר למספר aiplatform.upload_tb_log כדי לבצע העלאה חד-פעמית של יומני TensorBoard. הפעולה הזו מעלה נתונים קיימים בספרייה logdir ואז חוזרת מיד.

Python

from typing import Optional

from google.cloud import aiplatform


def upload_tensorboard_log_one_time_sample(
    tensorboard_experiment_name: str,
    logdir: str,
    tensorboard_id: str,
    project: str,
    location: str,
    experiment_display_name: Optional[str] = None,
    run_name_prefix: Optional[str] = None,
    description: Optional[str] = None,
    verbosity: Optional[int] = 1,
) -> None:

    aiplatform.init(project=project, location=location)

    # one time upload
    aiplatform.upload_tb_log(
        tensorboard_id=tensorboard_id,
        tensorboard_experiment_name=tensorboard_experiment_name,
        logdir=logdir,
        experiment_display_name=experiment_display_name,
        run_name_prefix=run_name_prefix,
        description=description,
    )

  • ‫tensorboard_experiment_name: השם של הניסוי ב-TensorBoard.
  • ‫logdir: מיקום הספרייה שבה צריך לבדוק את יומני TensorBoard.
  • ‫tensorboard_id: מזהה מופע TensorBoard. אם לא מגדירים את המדיניות, המערכת תשתמש ב-tensorboard_id ב-aiplatform.init.
  • project: . אפשר למצוא את מזהי הפרויקטים האלה בדף welcome במסוף Google Cloud .
  • ‫location: המיקום שבו נמצא מופע TensorBoard.
  • ‫experiment_display_name: השם המוצג של הניסוי.
  • ‫run_name_prefix: אם הערך הזה קיים, כל ההרצות שנוצרו על ידי הקריאה הזו יתחילו בשם הזה.
  • ‫description: תיאור מחרוזת להקצאה לניסוי.
  • ‫verbosity: רמת המלל של הנתונים הסטטיסטיים, מספר שלם. ערכים נתמכים: 0 – לא מוצגים נתוני העלאה. ‫1 – הדפסת נתונים סטטיסטיים של העלאה בזמן העלאת הנתונים (ברירת מחדל).

העלאה של יומני פרופיל

מתקשרים אל aiplatform.upload_tb_log כדי להעלות קובצי יומן של פרופילים של TensorBoard לניסוי.

Python

from typing import FrozenSet

from google.cloud import aiplatform


def upload_tensorboard_profile_logs_to_experiment_sample(
    experiment_name: str,
    logdir: str,
    project: str,
    location: str,
    run_name_prefix: str,
    allowed_plugins: FrozenSet[str] = ["profile"],
) -> None:

    aiplatform.init(project=project, location=location, experiment=experiment_name)

    # one time upload
    aiplatform.upload_tb_log(
        tensorboard_experiment_name=experiment_name,
        logdir=logdir,
        run_name_prefix=run_name_prefix,
        allowed_plugins=allowed_plugins,
    )

  • ‫experiment_name: השם של הניסוי ב-TensorBoard.
  • ‫logdir: המיקום בספרייה שבו צריך לבדוק את יומני TensorBoard.
  • project: . מזהי הפרויקטים האלה מופיעים בדף welcome במסוף Google Cloud .
  • ‫location: המיקום שבו נמצא מופע TensorBoard.
  • ‫run_name_prefix: לנתוני פרופיל, זהו קידומת ההרצה. הפורמט של הספרייה ב-LOG_DIR צריך להיות זהה לפורמט הבא:
    • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/
  • ‫allowed_plugins: רשימה של פלאגינים נוספים שרוצים לאפשר. כדי להעלות נתוני פרופיל, צריך לכלול "profile"

CLI

  1. (אופציונלי) יוצרים סביבה וירטואלית ייעודית כדי להתקין את כלי ההעלאה של Vertex AI TensorBoard Python CLI.
    python3 -m venv PATH/TO/VIRTUAL/ENVIRONMENT
    source PATH/TO/VIRTUAL/ENVIRONMENT/bin/activate
    • ‫PATH/TO/VIRTUAL/ENVIRONMENT: הסביבה הווירטואלית הייעודית שלכם.
  2. מתקינים את חבילת TensorBoard של Agent Platform באמצעות Agent Platform SDK.
    pip install -U pip
    pip install google-cloud-aiplatform[tensorboard]
  3. העלאת יומני TensorBoard
    1. נתונים של פעולות על ציר הזמן ונתוני Blob
      tb-gcp-uploader --tensorboard_resource_name \
      TENSORBOARD_RESOURCE_NAME \
      --logdir=LOG_DIR \
      --experiment_name=TB_EXPERIMENT_NAME --one_shot=True
    2. נתוני הפרופיל
      tb-gcp-uploader \
      --tensorboard_resource_name TENSORBOARD_RESOURCE_NAME \
      --logdir=LOG_DIR --experiment_name=TB_EXPERIMENT_NAME \
      --allowed_plugins="profile" --run_name_prefix=RUN_NAME_PREFIX \
      --one_shot=True
    • ‫TENSORBOARD_RESOURCE_NAME: שם המשאב של TensorBoard שמשמש לזיהוי מלא של מופע Vertex AI TensorBoard.
    • ‫LOG_DIR: המיקום של יומני האירועים שנמצאים במערכת הקבצים המקומית או ב-Cloud Storage
    • ‫TB_EXPERIMENT_NAME: השם של הניסוי ב-TensorBoard, למשל test-experiment.
    • ‫RUN_NAME_PREFIX: לנתוני פרופיל, זהו קידומת ההרצה. הפורמט של הספרייה LOG_DIR צריך להיות זהה לפורמט הבא:
      • /RUN_NAME_PREFIX/plugins/profile/YYYY_MM_DD_HH_SS/

כברירת מחדל, ה-CLI של כלי ההעלאה פועל ללא הגבלת זמן, עוקב אחרי שינויים ב-LOG_DIR, ומעלה יומנים חדשים שנוספו. ההגדרה --one_shot=True משביתה את ההתנהגות. לקבלת מידע נוסף, מריצים את הפקודה tb-gcp-uploader --help.