डॉकर वर्चुअल वातावरण बनाने के लिए कंटेनरों का उपयोग करता है जो TensorFlow इंस्टॉलेशन को बाकी सिस्टम से अलग करता है। TensorFlow प्रोग्राम इस आभासी वातावरण में चलाए जाते हैं जो अपने होस्ट मशीन के साथ संसाधनों को साझा कर सकते हैं (निर्देशिकाओं तक पहुंच, GPU का उपयोग करें, इंटरनेट से कनेक्ट करें, आदि)। प्रत्येक रिलीज़ के लिए TensorFlow Docker छवियों का परीक्षण किया जाता है।
डॉकर लिनक्स पर टेन्सरफ्लो जीपीयू समर्थन को सक्षम करने का सबसे आसान तरीका है क्योंकि होस्ट मशीन पर केवल NVIDIA® GPU ड्राइवर की आवश्यकता होती है ( NVIDIA® CUDA® टूलकिट को स्थापित करने की आवश्यकता नहीं है)।
TensorFlow डॉकर आवश्यकताएँ
- अपने स्थानीय होस्ट मशीन पर डॉकर स्थापित करें ।
- Linux पर GPU समर्थन के लिए, NVIDIA Docker समर्थन स्थापित करें ।
-
docker -v
के साथ अपने Docker संस्करण पर ध्यान दें। 19.03 से पहले के संस्करणों के लिए nvidia-docker2 और--runtime=nvidia
ध्वज की आवश्यकता होती है। 19.03 सहित और उसके बाद के संस्करणों पर, आपnvidia-container-toolkit
पैकेज और--gpus all
ध्वज का उपयोग करेंगे। दोनों विकल्प ऊपर लिंक किए गए पृष्ठ पर प्रलेखित हैं।
-
TensorFlow डॉकर छवि डाउनलोड करें
आधिकारिक TensorFlow Docker छवियाँ 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 के रात्रिकालीन बिल्ड का उपयोग करके ज्यूपिटर नोटबुक सर्वर प्रारंभ करें:
docker run -it -p 8888:8888 tensorflow/tensorflow:nightly-jupyter
निर्देशों का पालन करें और अपने होस्ट वेब ब्राउज़र में यूआरएल खोलें: http://127.0.0.1:8888/?token=...
जीपीयू समर्थन
Docker, TensorFlow को GPU पर चलाने का सबसे आसान तरीका है क्योंकि होस्ट मशीन को केवल NVIDIA® ड्राइवर की आवश्यकता होती है ( NVIDIA® CUDA® टूलकिट की आवश्यकता नहीं है)।
डॉकर में NVIDIA® GPU समर्थन जोड़ने के लिए Nvidia कंटेनर टूलकिट स्थापित करें। nvidia-container-runtime
केवल लिनक्स के लिए उपलब्ध है। विवरण के लिए nvidia-container-runtime
प्लेटफ़ॉर्म समर्थन FAQ देखें।
जांचें कि क्या GPU उपलब्ध है:
lspci | grep -i nvidia
अपना nvidia-docker
इंस्टॉलेशन सत्यापित करें:
docker run --gpus all --rm nvidia/cuda nvidia-smi
GPU-सक्षम छवियों का उपयोग करने वाले उदाहरण
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-सक्षम छवि को सेट करने में कुछ समय लग सकता है। यदि बार-बार GPU-आधारित स्क्रिप्ट चला रहे हैं, तो आप कंटेनर का पुन: उपयोग करने के लिए docker exec
उपयोग कर सकते हैं।
कंटेनर में bash
शेल सत्र शुरू करने के लिए नवीनतम TensorFlow GPU छवि का उपयोग करें:
docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash