גוגל מחויבת לקדם הון גזעי עבור קהילות שחורות. תראה איך.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

דוקר

Docker משתמש במכולות כדי ליצור סביבות וירטואליות שמבודדות התקנת TensorFlow משאר המערכת. תוכניות TensorFlow מנוהלים בתוך סביבה וירטואלית זו שיכולה לשתף משאבים עם המחשב המארח שלה (ספריות גישה, להשתמש GPU, להתחבר לאינטרנט, וכו '). תמונות TensorFlow Docker נבדקות לכל גרסה.

Docker היא הדרך הקלה ביותר לאפשר תמיכה ב- TensorFlow GPU בלינוקס שכן רק מנהל התקן NVIDIA® GPU נדרש במחשב המארח (אין צורך להתקין את ערכת הכלים NVIDIA® CUDA® ).

דרישות TockerFlow Docker

  1. התקן את Docker במחשב המארח המקומי שלך.
  2. לתמיכה ב- GPU בלינוקס, התקן תמיכה ב- NVIDIA Docker .
    • שימו לב לגרסת ה- Docker שלכם באמצעות docker -v . גרסאות המוקדמות מ- 19.03 דורשות nvidia-docker2 ואת הדגל --runtime=nvidia . בגרסאות הכוללות 19.03 ואחריו , תשתמש בחבילת nvidia-container-toolkit ו- דגל - --gpus all . שתי האפשרויות מתועדות בדף המקושר למעלה.

הורד תמונה של TensorFlow Docker

התמונות הרשמיות של TensorFlow Docker ממוקמות במאגר ה- Docker Hub של tensorflow / flow . מהדורות תמונה מתויגות בפורמט הבא:

תָג תיאור
latest המהדורה האחרונה של תמונה בינארית מעבד TensorFlow. בְּרִירַת מֶחדָל.
nightly בונה מדי לילה את תמונת TensorFlow. (לֹא יַצִיב)
version ציין את גרסת התמונה הבינארית TensorFlow, למשל: 2.1.0
devel בונה לילה של סביבת פיתוח master TensorFlow. כולל קוד מקור של TensorFlow.
custom-op תמונה ניסיונית מיוחדת לפיתוח אופציות מותאמות אישית של TF.

:: מידע נוסף כאן: https://github.com/tensorflow/custom-op :

לכל תגית בסיס יש גרסאות שמוסיפות או משנות פונקציונליות:

תגי וריאנטים תיאור
tag -gpu שחרור התג שצוין עם תמיכה ב- GPU. ( ראה להלן )
tag -jupyter שחרור התג שצוין עם Jupyter (כולל מחברות הדרכה TensorFlow)

אתה יכול להשתמש בגרסאות מרובות בו-זמנית. לדוגמה, הבאים מורידים תמונות TensorFlow למחשב שלך:

docker pull tensorflow/tensorflow                     # latest stable release
docker pull tensorflow/tensorflow:devel-gpu           # nightly dev release w/ GPU support
docker pull tensorflow/tensorflow:latest-gpu-jupyter  # latest release w/ GPU support and Jupyter

התחל מיכל TensorFlow Docker

כדי להפעיל מיכל מוגדר TensorFlow, השתמש בטופס הפקודה הבא:

docker run [-it] [--rm] [-p hostPort : containerPort ] tensorflow/tensorflow[: tag ] [ command ]

לפרטים, עיינו במאמר הפעלת הדוקר .

דוגמאות לשימוש בתמונות מעבד בלבד

בואו נוודא את ההתקנה של TensorFlow באמצעות התמונה המתויגת latest . Docker מוריד תמונת TensorFlow חדשה בפעם הראשונה שהיא מופעלת:

docker run -it --rm tensorflow/tensorflow \
   python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

בואו להפגין כמה מתכונים נוספים של TensorFlow Docker. התחל הפעלת מעטפת bash בתוך מיכל מוגדר TensorFlow:

docker run -it tensorflow/tensorflow bash

בתוך המיכל, תוכלו להתחיל סשן python ולייבא TensorFlow.

להפעלת תוכנית TensorFlow שפותחה במחשב המארח בתוך מיכל, הר את ספריית המארח ושנה את ספריית העבודה של המיכל ( -v hostDir:containerDir -w workDir ):

docker run -it --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow python ./script.py

בעיות הרשאה יכולות להתעורר כאשר קבצים שנוצרו במכולה נחשפים למארח. בדרך כלל עדיף לערוך קבצים במערכת המארחת.

הפעל שרת מחברת Jupyter באמצעות הבנייה הלילית של TensorFlow:

docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-jupyter

עקוב אחר ההוראות ופתח את כתובת האתר בדפדפן האינטרנט המארח שלך: http://127.0.0.1:8888/?token=...

תמיכה ב- GPU

Docker הוא הדרך הקלה ביותר להריץ TensorFlow ב- GPU מכיוון שהמחשב המארח דורש רק את מנהל ההתקן של NVIDIA® ( ערכת הכלים NVIDIA® CUDA® אינה נדרשת).

התקן את ערכת הכלים של Nvidia Container כדי להוסיף NVIDIA® GPU לתמיכה ב- Docker. nvidia-container-runtime זמין רק עבור לינוקס. עיין בשאלות נפוצות בנושא תמיכה בפלטפורמת nvidia-container-runtime לקבלת פרטים.

בדוק אם GPU זמין:

lspci | grep -i nvidia

אמת את התקנת ה- nvidia-docker :

docker run --gpus all --rm nvidia/cuda nvidia-smi

דוגמאות לשימוש בתמונות המאפשרות GPU

הורד והפעל תמונת TensorFlow המאפשרת GPU (עשוי לקחת מספר דקות):

docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu \
   python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

זה יכול לקחת זמן מה להגדיר את התמונה המאפשרת GPU. אם אתה מפעיל שוב ושוב סקריפטים מבוססי GPU, אתה יכול להשתמש ב- docker exec כדי לעשות שימוש חוזר במכולה.

השתמש בתמונת GPU TensorFlow האחרונה להתחיל bash מושב פגז בתוך המכל:

docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash