डाक में काम करनेवाला मज़दूर

डॉकर वर्चुअल वातावरण बनाने के लिए कंटेनरों का उपयोग करता है जो एक TensorFlow इंस्टालेशन को बाकी सिस्टम से अलग करता है। TensorFlow प्रोग्राम इस आभासी वातावरण में चलाए जाते हैं जो अपने होस्ट मशीन के साथ संसाधनों को साझा कर सकते हैं (पहुंच निर्देशिकाएं, GPU का उपयोग करें, इंटरनेट से कनेक्ट करें, आदि)। प्रत्येक रिलीज़ के लिए TensorFlow Docker छवियों का परीक्षण किया जाता है।

Docker Linux पर TensorFlow GPU समर्थन को सक्षम करने का सबसे आसान तरीका है क्योंकि होस्ट मशीन पर केवल NVIDIA® GPU ड्राइवर की आवश्यकता होती है ( NVIDIA® CUDA® टूलकिट को इंस्टॉल करने की आवश्यकता नहीं होती है)।

TensorFlow डॉकर आवश्यकताएँ

  1. अपने स्थानीय होस्ट मशीन पर डॉकर स्थापित करें
  2. Linux पर GPU समर्थन के लिए, NVIDIA डॉकर समर्थन स्थापित करें
    • docker -v के साथ अपने डॉकर संस्करण पर ध्यान दें। 19.03 से पहले के संस्करणों के लिए nvidia-docker2 और --runtime=nvidia फ़्लैग की आवश्यकता होती है। 19.03 सहित और उसके बाद के संस्करणों पर, आप nvidia-container-toolkit पैकेज और --gpus all फ्लैग का उपयोग करेंगे। दोनों विकल्पों को ऊपर लिंक किए गए पृष्ठ पर प्रलेखित किया गया है।

TensorFlow डॉकर छवि डाउनलोड करें

आधिकारिक TensorFlow Docker इमेज टेंसरफ़्लो/टेंसरफ़्लो डॉकर हब रिपॉजिटरी में स्थित हैं। छवि रिलीज़ को निम्न प्रारूप का उपयोग करके टैग किया गया है :

उपनाम विवरण
latest TensorFlow CPU बाइनरी इमेज की नवीनतम रिलीज़। गलती करना।
nightly रात में TensorFlow छवि का निर्माण। (अस्थिर।)
version TensorFlow बाइनरी इमेज का संस्करण निर्दिष्ट करें, उदाहरण के लिए: 2.8.3

प्रत्येक बेस टैग के वेरिएंट होते हैं जो कार्यक्षमता जोड़ते या बदलते हैं:

टैग वेरिएंट विवरण
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]

विवरण के लिए, डॉकर रन संदर्भ देखें।

सीपीयू-ओनली छवियों का उपयोग करने वाले उदाहरण

latest टैग की गई छवि का उपयोग करके TensorFlow स्थापना को सत्यापित करें। पहली बार चलाए जाने पर डॉकर एक नई TensorFlow छवि डाउनलोड करता है:

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

आइए कुछ और TensorFlow Docker रेसिपी प्रदर्शित करें। TensorFlow-कॉन्फ़िगर कंटेनर के भीतर bash शेल सत्र प्रारंभ करें:

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

अनुमति के मुद्दे तब उत्पन्न हो सकते हैं जब एक कंटेनर के भीतर बनाई गई फाइलें होस्ट के सामने आ जाती हैं। होस्ट सिस्टम पर फ़ाइलों को संपादित करना आमतौर पर सबसे अच्छा होता है।

TensorFlow के रात्रिकालीन बिल्ड का उपयोग करके Jupyter Notebook सर्वर प्रारंभ करें:

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

निर्देशों का पालन करें और अपने होस्ट वेब ब्राउज़र में URL खोलें: http://127.0.0.1:8888/?token=...

जीपीयू समर्थन

Docker TensorFlow को GPU पर चलाने का सबसे आसान तरीका है क्योंकि होस्ट मशीन को केवल NVIDIA® ड्राइवर ( NVIDIA® CUDA® टूलकिट की आवश्यकता नहीं है) की आवश्यकता होती है।

डॉकर में एनवीडिया® जीपीयू समर्थन जोड़ने के लिए एनवीडिया कंटेनर टूलकिट स्थापित करें। nvidia-container-runtime केवल लिनक्स के लिए उपलब्ध है। विवरण के लिए nvidia-container-runtime प्लेटफॉर्म सपोर्ट एफएक्यू देखें।

जांचें कि क्या GPU उपलब्ध है:

lspci | grep -i nvidia

अपनी nvidia-docker स्थापना सत्यापित करें:

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

जीपीयू-सक्षम छवियों का उपयोग करने वाले उदाहरण

GPU-सक्षम TensorFlow इमेज डाउनलोड करें और चलाएं (इसमें कुछ मिनट लग सकते हैं):

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-सक्षम छवि को सेट करने में कुछ समय लग सकता है। यदि बार-बार जीपीयू-आधारित स्क्रिप्ट चल रही है, तो आप कंटेनर का पुन: उपयोग करने के लिए docker exec उपयोग कर सकते हैं।

कंटेनर में bash शेल सत्र प्रारंभ करने के लिए नवीनतम TensorFlow GPU छवि का उपयोग करें:

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