स्रोत से TensorFlow pip पैकेज बनाएं और इसे विंडोज़ पर इंस्टॉल करें।
विंडोज के लिए सेटअप
अपने Windows विकास परिवेश को कॉन्फ़िगर करने के लिए निम्न बिल्ड टूल इंस्टॉल करें।
Python और TensorFlow पैकेज निर्भरताएँ स्थापित करें
Windows के लिए Python 3.7+ 64-बिट रिलीज़ स्थापित करें। एक वैकल्पिक सुविधा के रूप में पाइप का चयन करें और इसे अपने %PATH%
पर्यावरण चर में जोड़ें।
TensorFlow पाइप पैकेज निर्भरताएँ स्थापित करें:
pip3 install -U six numpy wheel packaging
pip3 install -U keras_preprocessing --no-deps
निर्भरताएं REQUIRED_PACKAGES
के अंतर्गत setup.py
फ़ाइल में सूचीबद्ध हैं।
बेज़ेल स्थापित करें
TensorFlow को संकलित करने के लिए उपयोग किया जाने वाला बिल्ड टूल, Bazel स्थापित करें । Bazel संस्करण के लिए, Windows के लिए परीक्षण किए गए बिल्ड कॉन्फ़िगरेशन देखें। C++ बनाने के लिए Bazel को कॉन्फ़िगर करें।
अपने %PATH%
पर्यावरण चर में निष्पादन योग्य Bazel का स्थान जोड़ें।
MSYS2 स्थापित करें
TensorFlow बनाने के लिए आवश्यक बिन टूल के लिए MSYS2 स्थापित करें । यदि MSYS2 को C:\msys64
में स्थापित किया गया है, तो C:\msys64\usr\bin
को अपने %PATH%
पर्यावरण चर में जोड़ें। फिर, cmd.exe
का उपयोग करके, चलाएँ:
pacman -S git patch unzip
विजुअल C++ बिल्ड टूल्स 2019 स्थापित करें
विजुअल C++ बिल्ड टूल्स 2019 इंस्टॉल करें। यह विजुअल स्टूडियो 2019 के साथ आता है लेकिन इसे अलग से इंस्टॉल किया जा सकता है:
- विजुअल स्टूडियो डाउनलोड पर जाएं,
- पुनर्वितरण का चयन करें और उपकरण बनाएं ,
- डाउनलोड करो और इंस्टॉल करो:
- Microsoft Visual C++ 2019 पुनर्वितरण योग्य
- माइक्रोसॉफ्ट बिल्ड टूल्स 2019
GPU समर्थन स्थापित करें (वैकल्पिक)
GPU पर TensorFlow चलाने के लिए ड्राइवरों और अतिरिक्त सॉफ़्टवेयर को स्थापित करने के लिए Windows GPU समर्थन मार्गदर्शिका देखें।
TensorFlow स्रोत कोड डाउनलोड करें
TensorFlow रिपॉजिटरी को क्लोन करने के लिए Git का उपयोग करें ( git
MSYS2 के साथ स्थापित है):
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
रेपो डिफ़ॉल्ट रूप से master
डेवलपमेंट ब्रांच में चला जाता है। आप बनाने के लिए एक रिलीज शाखा भी चेकआउट कर सकते हैं:
git checkout branch_name # r1.9, r1.10, etc.
बिल्ड को कॉन्फ़िगर करें
अपने TensorFlow स्रोत ट्री के मूल में निम्नलिखित को चलाकर अपने सिस्टम बिल्ड को कॉन्फ़िगर करें:
python ./configure.py
यह स्क्रिप्ट आपको TensorFlow निर्भरता के स्थान के लिए संकेत देती है और अतिरिक्त बिल्ड कॉन्फ़िगरेशन विकल्प (उदाहरण के लिए कंपाइलर फ़्लैग) के लिए पूछती है। निम्नलिखित python ./configure.py
का एक नमूना रन दिखाता है (आपका सत्र भिन्न हो सकता है):
विन्यास विकल्प
GPU समर्थन के लिए, CUDA और cuDNN के संस्करण निर्दिष्ट करें। यदि आपके सिस्टम में CUDA या cuDNN के कई संस्करण स्थापित हैं, तो डिफ़ॉल्ट पर निर्भर होने के बजाय संस्करण को स्पष्ट रूप से सेट करें। ./configure.py
आपके सिस्टम की CUDA लाइब्रेरी के लिए प्रतीकात्मक लिंक बनाता है—इसलिए यदि आप अपने CUDA लाइब्रेरी पथ को अपडेट करते हैं, तो यह कॉन्फ़िगरेशन चरण निर्माण से पहले फिर से चलाया जाना चाहिए।
पिप पैकेज बनाएँ
टेंसरफ्लो 2.x
टेंसरफ़्लो: मास्टर रेपो को डिफ़ॉल्ट रूप से 2.x बनाने के लिए अद्यतन किया गया है। TensorFlow पैकेज बनाने के लिए Bazel स्थापित करें और bazel build
का उपयोग करें।
bazel build //tensorflow/tools/pip_package:build_pip_package
टेंसरफ्लो 1.x
मास्टर से TensorFlow का 1.x संस्करण बनाने के लिए, TensorFlow 1.x पैकेज बनाने के लिए bazel build --config=v1
का उपयोग करें।
bazel build --config=v1 //tensorflow/tools/pip_package:build_pip_package
सीपीयू केवल
केवल CPU समर्थन के साथ TensorFlow पैकेज बिल्डर बनाने के लिए bazel
का उपयोग करें:
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
जीपीयू समर्थन
GPU समर्थन के साथ TensorFlow पैकेज बिल्डर बनाने के लिए:
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package
बेज़ल बिल्ड विकल्प
पैकेज निर्माण के साथ समस्या से बचने के लिए निर्माण करते समय इस विकल्प का उपयोग करें: tensorflow:issue#22390
--define=no_tensorflow_py_deps=true
बिल्ड विकल्पों के लिए बेज़ल कमांड-लाइन संदर्भ देखें।
स्रोत से TensorFlow का निर्माण बहुत अधिक RAM का उपयोग कर सकता है। यदि आपका सिस्टम स्मृति-विवश है, तो Bazel के RAM उपयोग को इसके साथ सीमित करें: --local_ram_resources=2048
।
यदि GPU समर्थन के साथ निर्माण कर रहे हैं, तो nvcc चेतावनी संदेशों को दबाने के लिए --copt=-nvcc_options=disable-warnings
जोड़ें।
पैकेज बनाएं
bazel build
कमांड build_pip_package
नामक एक निष्पादन योग्य बनाता है - यह वह प्रोग्राम है जो pip
पैकेज बनाता है। उदाहरण के लिए, निम्नलिखित C:/tmp/tensorflow_pkg
निर्देशिका में .whl
पैकेज बनाता है:
bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg
यद्यपि एक ही स्रोत ट्री के तहत CUDA और गैर-CUDA दोनों कॉन्फ़िगरेशन बनाना संभव है, हम एक ही स्रोत ट्री में इन दो कॉन्फ़िगरेशन के बीच स्विच करते समय bazel clean
चलाने की सलाह देते हैं।
पैकेज स्थापित करें
जेनरेट की .whl
फ़ाइल का फ़ाइल नाम TensorFlow संस्करण और आपके प्लेटफ़ॉर्म पर निर्भर करता है। उदाहरण के लिए, पैकेज को स्थापित करने के लिए pip3 install
का उपयोग करें:
pip3 install C:/tmp/tensorflow_pkg/tensorflow-version-cp36-cp36m-win_amd64.whl
MSYS शेल का उपयोग करके निर्माण करें
TensorFlow को MSYS शेल का उपयोग करके भी बनाया जा सकता है। नीचे सूचीबद्ध परिवर्तन करें, फिर विंडोज देशी कमांड लाइन ( cmd.exe
) के लिए पिछले निर्देशों का पालन करें।
MSYS पथ रूपांतरण अक्षम करें
MSYS स्वचालित रूप से उन तर्कों को परिवर्तित करता है जो यूनिक्स पथों की तरह विंडोज पथ में दिखते हैं, और यह bazel
के साथ काम नहीं करता है। (लेबल //path/to:bin
को एक यूनिक्स निरपेक्ष पथ माना जाता है क्योंकि यह स्लैश से शुरू होता है।)
export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"
अपना पथ सेट करें
अपने $PATH
पर्यावरण चर में Bazel और Python स्थापना निर्देशिका जोड़ें। यदि Bazel C:\tools\bazel.exe
, और Python से C:\Python36\python.exe
पर स्थापित है, तो अपना PATH
इसके साथ सेट करें:
# Use Unix-style with ':' as separatorexport PATH="/c/tools:$PATH"
export PATH="/c/Python36:$PATH"
GPU समर्थन के लिए, CUDA और cuDNN बिन निर्देशिकाओं को अपने $PATH
में जोड़ें:
export PATH="/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0/bin:$PATH"
export PATH="/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0/extras/CUPTI/libx64:$PATH"
export PATH="/c/tools/cuda/bin:$PATH"
परीक्षण किए गए बिल्ड कॉन्फ़िगरेशन
CPU
संस्करण | पायथन संस्करण | संकलक | उपकरण बनाएं |
---|---|---|---|
टेंसरफ़्लो-2.9.0 | 3.7-3.10 | एमएसवीसी 2019 | बाजेल 5.0.0 |
टेंसरफ़्लो-2.8.0 | 3.7-3.10 | एमएसवीसी 2019 | बेज़ेल 4.2.1 |
टेंसरफ़्लो-2.7.0 | 3.7-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 |
टेंसरफ़्लो-2.6.0 | 3.6-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 |
टेंसरफ़्लो-2.5.0 | 3.6-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 |
टेंसरफ़्लो-2.4.0 | 3.6-3.8 | एमएसवीसी 2019 | बाजेल 3.1.0 |
टेंसरफ़्लो-2.3.0 | 3.5-3.8 | एमएसवीसी 2019 | बाजेल 3.1.0 |
टेंसरफ़्लो-2.2.0 | 3.5-3.8 | एमएसवीसी 2019 | बाजेल 2.0.0 |
टेंसरफ़्लो-2.1.0 | 3.5-3.7 | एमएसवीसी 2019 | बेज़ेल 0.27.1-0.29.1 |
टेंसरफ़्लो-2.0.0 | 3.5-3.7 | एमएसवीसी 2017 | बेज़ेल 0.26.1 |
टेंसरफ़्लो-1.15.0 | 3.5-3.7 | एमएसवीसी 2017 | बेज़ेल 0.26.1 |
टेंसरफ़्लो-1.14.0 | 3.5-3.7 | एमएसवीसी 2017 | बेज़ेल 0.24.1-0.25.2 |
टेंसरफ़्लो-1.13.0 | 3.5-3.7 | एमएसवीसी 2015 अपडेट 3 | बेज़ेल 0.19.0-0.21.0 |
टेंसरफ़्लो-1.12.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | बेज़ेल 0.15.0 |
टेंसरफ़्लो-1.11.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | बेज़ेल 0.15.0 |
टेंसरफ़्लो-1.10.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.9.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.8.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.7.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.6.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.5.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.4.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.3.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.2.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.1.0 | 3.5 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
टेंसरफ़्लो-1.0.0 | 3.5 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 |
जीपीयू
संस्करण | पायथन संस्करण | संकलक | उपकरण बनाएं | सीयूडीएनएन | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-2.9.0 | 3.7-3.10 | एमएसवीसी 2019 | बाजेल 5.0.0 | 8.1 | 11.2 |
tensorflow_gpu-2.8.0 | 3.7-3.10 | एमएसवीसी 2019 | बेज़ेल 4.2.1 | 8.1 | 11.2 |
tensorflow_gpu-2.7.0 | 3.7-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 | 8.1 | 11.2 |
tensorflow_gpu-2.6.0 | 3.6-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 | 8.1 | 11.2 |
tensorflow_gpu-2.5.0 | 3.6-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 | 8.1 | 11.2 |
tensorflow_gpu-2.4.0 | 3.6-3.8 | एमएसवीसी 2019 | बाजेल 3.1.0 | 8.0 | 11.0 |
tensorflow_gpu-2.3.0 | 3.5-3.8 | एमएसवीसी 2019 | बाजेल 3.1.0 | 7.6 | 10.1 |
tensorflow_gpu-2.2.0 | 3.5-3.8 | एमएसवीसी 2019 | बाजेल 2.0.0 | 7.6 | 10.1 |
tensorflow_gpu-2.1.0 | 3.5-3.7 | एमएसवीसी 2019 | बेज़ेल 0.27.1-0.29.1 | 7.6 | 10.1 |
tensorflow_gpu-2.0.0 | 3.5-3.7 | एमएसवीसी 2017 | बेज़ेल 0.26.1 | 7.4 | 10 |
tensorflow_gpu-1.15.0 | 3.5-3.7 | एमएसवीसी 2017 | बेज़ेल 0.26.1 | 7.4 | 10 |
tensorflow_gpu-1.14.0 | 3.5-3.7 | एमएसवीसी 2017 | बेज़ेल 0.24.1-0.25.2 | 7.4 | 10 |
tensorflow_gpu-1.13.0 | 3.5-3.7 | एमएसवीसी 2015 अपडेट 3 | बेज़ेल 0.19.0-0.21.0 | 7.4 | 10 |
tensorflow_gpu-1.12.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | बेज़ेल 0.15.0 | 7.2 | 9.0 |
tensorflow_gpu-1.11.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | बेज़ेल 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 7 | 9 |
tensorflow_gpu-1.9.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 7 | 9 |
tensorflow_gpu-1.8.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 7 | 9 |
tensorflow_gpu-1.7.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 7 | 9 |
tensorflow_gpu-1.6.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 7 | 9 |
tensorflow_gpu-1.5.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 7 | 9 |
tensorflow_gpu-1.4.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 6 | 8 |
tensorflow_gpu-1.3.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 6 | 8 |
tensorflow_gpu-1.2.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 3.5 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 3.5 | एमएसवीसी 2015 अपडेट 3 | सेमेक वी3.6.3 | 5.1 | 8 |