डोकर आभासी वातावरण है कि सिस्टम के बाकी हिस्सों से एक TensorFlow स्थापना को अलग बनाने के लिए कंटेनर का उपयोग करता है। TensorFlow कार्यक्रमों इस आभासी वातावरण है कि अपने मेजबान मशीन के साथ संसाधनों को साझा कर सकते हैं के भीतर चलाए जा रहे हैं (पहुँच निर्देशिका, GPU का उपयोग, आदि इंटरनेट से कनेक्ट)। प्रत्येक रिलीज़ के लिए TensorFlow Docker छवियों का परीक्षण किया जाता है।
Docker लिनक्स पर TensorFlow GPU समर्थन को सक्षम करने का सबसे आसान तरीका है क्योंकि होस्ट मशीन पर केवल NVIDIA® GPU ड्राइवर की आवश्यकता होती है ( NVIDIA® CUDA® टूलकिट को स्थापित करने की आवश्यकता नहीं है)।
TensorFlow डॉकर आवश्यकताओं
- अपने स्थानीय होस्ट मशीन पर डॉकर स्थापित करें ।
- लिनक्स पर जीपीयू समर्थन के लिए, NVIDIA डोकर समर्थन स्थापित करें
- Docker
docker -v
साथ अपने डॉकर संस्करण पर ध्यान दें। 19.03 से पहले के संस्करणों में nvidia-docker2 और--runtime=nvidia
ध्वज की आवश्यकता होती है। सहित संस्करणों पर और 19.03 के बाद , आप--gpus all
nvidia-container-toolkit
पैकेज और--gpus all
ध्वज का उपयोग करेंगे। दोनों विकल्प ऊपर दिए गए पृष्ठ पर प्रलेखित हैं।
- Docker
TensorFlow Docker छवि डाउनलोड करें
आधिकारिक TensorFlow Docker चित्र टेंसोफ़्लो / टेनसफ़्लो डॉकर हब रिपॉजिटरी में स्थित हैं। छवि रिलीज़ को निम्न प्रारूप का उपयोग करके टैग किया गया है:
टैग | विवरण |
---|---|
latest | TensorFlow CPU बाइनरी इमेज की नवीनतम रिलीज़। चूक। |
nightly | TensorFlow छवि की रात बनाता है। (अस्थिर) |
version | TensorFlow बाइनरी इमेज के संस्करण को निर्दिष्ट करें, उदाहरण के लिए: 2.1.0 |
devel | एक TensorFlow master विकास के माहौल की रात बनाता है। TensorFlow स्रोत कोड शामिल है। |
custom-op | TF कस्टम ऑप विकसित करने के लिए विशेष प्रयोगात्मक छवि। अधिक जानकारी यहाँ । |
प्रत्येक बेस टैग में वेरिएंट होता है जो कार्यक्षमता को जोड़ता या बदलता है:
टैग वेरिएंट | विवरण |
---|---|
tag -gpu | GPU समर्थन के साथ निर्दिष्ट टैग रिलीज़। ( नीचे देखें ) |
tag -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]
विवरण के लिए, डॉक रन संदर्भ देखें ।
CPU- केवल छवियों का उपयोग करने वाले उदाहरण
चलो 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
) -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 एक GPU पर TensorFlow चलाने का सबसे आसान तरीका है क्योंकि होस्ट मशीन को केवल NVIDIA® ड्राइवर ( NVIDIA® CUDA® टूलकिट की आवश्यकता नहीं है) की आवश्यकता होती है।
Docker के लिए NVIDIA® GPU के समर्थन को जोड़ने के लिएएनवीडिया कंटेनर टूलकिट स्थापित करें। nvidia-container-runtime
केवल लिनक्स के लिए उपलब्ध है। विवरण के लिए nvidia-container-runtime
प्लेटफ़ॉर्म समर्थन अक्सर पूछे जाने वाले प्रश्न देखें।
जाँच करें कि क्या कोई 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- सक्षम छवि सेट करने में कुछ समय लग सकता है। यदि बार-बार जीपीयू-आधारित स्क्रिप्ट चल रहे हैं, तो आप कंटेनर को पुन: उपयोग करने के लिए docker exec
कर सकते हैं।
कंटेनर में bash
शेल सत्र शुरू करने के लिए नवीनतम TensorFlow GPU छवि का उपयोग करें:
docker run --gpus all -it tensorflow/tensorflow:latest-gpu bash