Google متعهد به پیشبرد برابری نژادی برای جوامع سیاه است. ببینید چگونه.
این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

داکر

Docker از ظروف برای ایجاد محیط های مجازی استفاده می کند که نصب TensorFlow را از بقیه سیستم جدا می کند. برنامه های TensorFlow در این محیط مجازی اجرا می شوند که می توانند منابع را با دستگاه میزبان خود به اشتراک بگذارند (دایرکتوری های دسترسی ، استفاده از GPU ، اتصال به اینترنت و غیره). تصاویر TensorFlow Docker برای هر نسخه آزمایش می شوند.

Docker ساده ترین راه برای فعال سازی پشتیبانی از TPSORFlow GPU در لینوکس است زیرا فقط درایور GPU NVIDIA® در دستگاه میزبان مورد نیاز است (نیازی به نصب ابزار NVIDIA® CUDA® نیست).

الزامات TensorFlow Docker

  1. Docker را روی دستگاه میزبان محلی خود نصب کنید.
  2. برای پشتیبانی GPU از لینوکس ، پشتیبانی NVIDIA Docker را نصب کنید .
    • به نسخه Docker خود با docker -v توجه داشته باشید. نسخه های اوایل 19.03 نیاز به nvidia-docker2 و پرچم --runtime=nvidia است. در نسخه هایی از جمله و بعد از 19.03 ، از nvidia-container-toolkit --gpus all و --gpus all flag استفاده خواهید کرد. هر دو گزینه در صفحه پیوند داده شده در بالا مستند شده اند.

یک تصویر TensorFlow Docker بارگیری کنید

تصاویر رسمی TensorFlow Docker در مخزن tensorflow / tensorflow Docker Hub قرار دارند. تصاویر با استفاده از قالب زیر برچسب گذاری شده اند :

برچسب زدن شرح
latest آخرین نسخه تصویر باینری CPU 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 ]

برای جزئیات بیشتر ، به مرجع اجرای docker مراجعه کنید .

نمونه هایی با استفاده از تصاویر فقط CPU

بیایید نصب TensorFlow را با استفاده از latest تصویر برچسب زده شده بررسی کنیم. داکر اولین بار که اجرا شد ، تصویر جدید 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 میزبان را سوار کرده و دایرکتوری کار کانتینر را تغییر دهید ( -v hostDir:containerDir -w workDir ):

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

مسائل مربوط به مجوزها می توانند هنگامی ایجاد شوند که پرونده های ایجاد شده در یک ظرف در معرض میزبان قرار گیرند. معمولاً بهتر است که فایلها را روی سیستم میزبان ویرایش کنید.

با استفاده از ساخت شبانه TensorFlow ، سرور نوت بوک Jupyter را شروع کنید:

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

دستورالعمل ها را دنبال کنید و URL را در مرورگر وب میزبان خود باز کنید: http://127.0.0.1:8888/?token=...

پشتیبانی GPU

Docker ساده ترین راه برای اجرای TensorFlow در GPU است زیرا ماشین میزبان فقط به درایور NVIDIA® نیاز دارد (به NVIDIA® CUDA® Toolkit لازم نیست).

جعبه ابزار Nvidia Container را نصب کنید تا پشتیبانی GPU NVIDIA® را به 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 برای استفاده مجدد از یک ظرف استفاده کنید.

با استفاده از آخرین تصویر TensorFlow GPU برای شروع یک bash نشست پوسته در ظرف:

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