העלאת יומנים ל-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 uploader 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.