स्रोत से TensorFlow पाइप पैकेज बनाएँ और इसे विंडोज़ पर स्थापित करें।
विंडोज के लिए सेटअप
अपने विंडोज विकास पर्यावरण को कॉन्फ़िगर करने के लिए निम्न बिल्ड टूल्स इंस्टॉल करें।
पायथन और TensorFlow पैकेज निर्भरताएँ स्थापित करें
Windows के लिए Python 3.9+ 64-बिट रिलीज़ स्थापित करें। एक वैकल्पिक सुविधा के रूप में पिप का चयन करें और इसे अपने %PATH%
पर्यावरण चर में जोड़ें।
TensorFlow पाइप पैकेज निर्भरताएँ स्थापित करें:
pip3 install -U six numpy wheel packaging
pip3 install -U keras_preprocessing --no-deps
निर्भरताएँ REQUIRED_PACKAGES
के अंतर्गत setup.py
फ़ाइल में सूचीबद्ध हैं।
बेज़ेल स्थापित करें
Bazel स्थापित करें , TensorFlow को संकलित करने के लिए उपयोग किया जाने वाला निर्माण उपकरण। Bazel संस्करण के लिए, Windows के लिए परीक्षित बिल्ड कॉन्फ़िगरेशन देखें। C++ बनाने के लिए Bazel को कॉन्फ़िगर करें।
Bazel निष्पादन योग्य स्थान को अपने %PATH%
पर्यावरण चर में जोड़ें।
MSYS2 स्थापित करें
TensorFlow बनाने के लिए ज़रूरी बिन टूल के लिए MSYS2 इंस्टॉल करें . यदि MSYS2 C:\msys64
में स्थापित है, तो अपने %PATH%
पर्यावरण चर में C:\msys64\usr\bin
जोड़ें। फिर, 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.
वैकल्पिक: पर्यावरण चर सेट अप
पैकेज निर्माण के साथ समस्या से बचने के लिए बिल्ड कमांड चलाने से पहले निम्नलिखित कमांड चलाएँ: (यदि पैकेज स्थापित करते समय नीचे दिए गए कमांड सेट किए गए थे, तो कृपया उन्हें अनदेखा करें)। यदि सभी पथ सही तरीके से सेट किए गए हैं, set
चेक चलाएँ, एक विशिष्ट पर्यावरणीय चर के लिए सेट किए गए पथ की जाँच करने के लिए echo %Environmental Variable%
उदाहरण echo %BAZEL_VC%
चलाएँ
set PATH=path/to/python # [e.g. (C:/Python310)] set PATH=path/to/python/Scripts # [e.g. (C:/Python310/Scripts)] set PYTHON_BIN_PATH=path/to/python_virtualenv/Scripts/python.exe set PYTHON_LIB_PATH=path/to/python virtualenv/lib/site-packages set PYTHON_DIRECTORY=path/to/python_virtualenv/Scripts
Bazel/MSVC पाथ सेट अप इश्यू टेंसरफ़्लो: इश्यू # 54578
set BAZEL_SH=C:/msys64/usr/bin/bash.exe set BAZEL_VS=C:/Program Files(x86)/Microsoft Visual Studio/2019/BuildTools set BAZEL_VC=C:/Program Files(x86)/Microsoft Visual Studio/2019/BuildTools/VC
वैकल्पिक: बिल्ड को कॉन्फ़िगर करें
TensorFlow बिल्ड को .bazelrc
फ़ाइल द्वारा respoitory की रूट डायरेक्टरी में कॉन्फ़िगर किया गया है। सामान्य सेटिंग्स को समायोजित करने के लिए ./configure
या ./configure.py
स्क्रिप्ट का उपयोग किया जा सकता है।
यदि आपको कॉन्फ़िगरेशन बदलने की आवश्यकता है, तो रिपॉजिटरी के रूट डायरेक्टरी से ./configure
स्क्रिप्ट चलाएँ।
python ./configure.py
यह स्क्रिप्ट आपको TensorFlow निर्भरताओं के स्थान के लिए संकेत देती है और अतिरिक्त बिल्ड कॉन्फ़िगरेशन विकल्पों (उदाहरण के लिए कंपाइलर फ़्लैग) के लिए पूछती है। निम्नलिखित python ./configure.py
का नमूना रन दिखाता है (आपका सत्र भिन्न हो सकता है):
पाइप पैकेज बनाएं और इंस्टॉल करें
पिप पैकेज दो चरणों में बनता है। bazel build
कमांड एक "पैकेज-बिल्डर" प्रोग्राम बनाता है। फिर आप पैकेज बनाने के लिए पैकेज-बिल्डर चलाते हैं।
पैकेज-बिल्डर बनाएँ
टेंसरफ़्लो: मास्टर रेपो को डिफ़ॉल्ट रूप से 2.x बनाने के लिए अपडेट किया गया है। Bazel इंस्टॉल करें और TensorFlow पैकेज-बिल्डर बनाने के लिए bazel build
उपयोग करें।
bazel build //tensorflow/tools/pip_package:build_pip_package
सीपीयू केवल
TensorFlow पैकेज बिल्डर बनाने के लिए bazel
उपयोग केवल CPU के लिए समर्थन के साथ करें:
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
अमान्य या पुराने कैश्ड डेटा के कारण त्रुटियों को हल करने के लिए bazel कैश को साफ़ करने का आदेश देता है, bazel क्लीन --expunge फ़्लैग के साथ फ़ाइलों को स्थायी रूप से हटा देता है
bazel clean bazel clean --expunge
बेज़ेल बिल्ड विकल्प
पैकेज निर्माण के साथ समस्या से बचने के लिए निर्माण करते समय इस विकल्प का उपयोग करें: Tensorflow:issue#22390
--define=no_tensorflow_py_deps=true
बिल्ड विकल्पों के लिए Bazel कमांड-लाइन संदर्भ देखें।
स्रोत से TensorFlow बनाने में बहुत अधिक RAM का उपयोग किया जा सकता है। यदि आपका सिस्टम मेमोरी-विवश है, तो Bazel के RAM उपयोग को इसके साथ सीमित करें: --local_ram_resources=2048
।
यदि GPU समर्थन के साथ बना रहे हैं, --copt=-nvcc_options=disable-warnings
nvcc चेतावनी संदेशों को दबाने के लिए जोड़ें।
पैकेज तैयार करें
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-tags.whl e.g. pip3 install C:/tmp/tensorflow_pkg/tensorflow-2.12.0-cp310-cp310-win_amd64.whl
MSYS शेल का उपयोग करके बनाएँ
TensorFlow को MSYS शेल का उपयोग करके भी बनाया जा सकता है। नीचे सूचीबद्ध परिवर्तन करें, फिर Windows नेटिव कमांड लाइन ( cmd.exe
) के लिए पिछले निर्देशों का पालन करें।
MSYS पथ रूपांतरण अक्षम करें
MSYS स्वचालित रूप से उन तर्कों को परिवर्तित करता है जो यूनिक्स पथों की तरह दिखते हैं, और यह bazel
के साथ काम नहीं करता है। (लेबल //path/to:bin
यूनिक्स पूर्ण पथ माना जाता है क्योंकि यह स्लैश से शुरू होता है।)
export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"
अपना पथ निर्धारित करें
Bazel और Python स्थापना निर्देशिकाओं को अपने $PATH
पर्यावरण चर में जोड़ें। यदि Bazel को C:\tools\bazel.exe
और Python को C:\Python\python.exe
पर इंस्टॉल किया गया है, तो अपना PATH
इसके साथ सेट करें:
# Use Unix-style with ':' as separatorexport PATH="/c/tools:$PATH"
export PATH="/c/path/to/Python:$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.12.0 | 3.8-3.11 | एमएसवीसी 2019 | बेज़ेल 5.3.0 |
टेंसरफ़्लो-2.11.0 | 3.7-3.10 | एमएसवीसी 2019 | बेज़ेल 5.3.0 |
टेंसरफ़्लो-2.10.0 | 3.7-3.10 | एमएसवीसी 2019 | बज़ेल 5.1.1 |
टेंसरफ़्लो-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 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.9.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.8.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.7.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.6.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.5.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.4.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.3.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.2.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.1.0 | 3.5 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
टेंसरफ़्लो-1.0.0 | 3.5 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 |
जीपीयू
संस्करण | पायथन संस्करण | संकलक | उपकरण बनाएँ | cuDNN | कुडा |
---|---|---|---|---|---|
टेंसरफ़्लो_जीपीयू-2.10.0 | 3.7-3.10 | एमएसवीसी 2019 | बज़ेल 5.1.1 | 8.1 | 11.2 |
टेंसरफ़्लो_जीपीयू-2.9.0 | 3.7-3.10 | एमएसवीसी 2019 | बेज़ेल 5.0.0 | 8.1 | 11.2 |
टेंसरफ़्लो_जीपीयू-2.8.0 | 3.7-3.10 | एमएसवीसी 2019 | बज़ेल 4.2.1 | 8.1 | 11.2 |
टेंसरफ़्लो_जीपीयू-2.7.0 | 3.7-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 | 8.1 | 11.2 |
टेंसरफ़्लो_जीपीयू-2.6.0 | 3.6-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 | 8.1 | 11.2 |
टेंसरफ़्लो_जीपीयू-2.5.0 | 3.6-3.9 | एमएसवीसी 2019 | बेज़ेल 3.7.2 | 8.1 | 11.2 |
टेंसरफ़्लो_जीपीयू-2.4.0 | 3.6-3.8 | एमएसवीसी 2019 | बज़ेल 3.1.0 | 8.0 | 11.0 |
टेंसरफ़्लो_जीपीयू-2.3.0 | 3.5-3.8 | एमएसवीसी 2019 | बज़ेल 3.1.0 | 7.6 | 10.1 |
टेंसरफ़्लो_जीपीयू-2.2.0 | 3.5-3.8 | एमएसवीसी 2019 | बेज़ेल 2.0.0 | 7.6 | 10.1 |
टेंसरफ़्लो_जीपीयू-2.1.0 | 3.5-3.7 | एमएसवीसी 2019 | बेज़ेल 0.27.1-0.29.1 | 7.6 | 10.1 |
टेंसरफ़्लो_जीपीयू-2.0.0 | 3.5-3.7 | एमएसवीसी 2017 | बज़ेल 0.26.1 | 7.4 | 10 |
टेंसरफ्लो_जीपीयू-1.15.0 | 3.5-3.7 | एमएसवीसी 2017 | बज़ेल 0.26.1 | 7.4 | 10 |
टेंसरफ़्लो_जीपीयू-1.14.0 | 3.5-3.7 | एमएसवीसी 2017 | बेज़ेल 0.24.1-0.25.2 | 7.4 | 10 |
टेंसरफ़्लो_जीपीयू-1.13.0 | 3.5-3.7 | एमएसवीसी 2015 अपडेट 3 | बज़ेल 0.19.0-0.21.0 | 7.4 | 10 |
टेंसरफ़्लो_जीपीयू-1.12.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | बेज़ेल 0.15.0 | 7.2 | 9.0 |
टेंसरफ़्लो_जीपीयू-1.11.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | बेज़ेल 0.15.0 | 7 | 9 |
टेंसरफ़्लो_जीपीयू-1.10.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 7 | 9 |
टेंसरफ़्लो_जीपीयू-1.9.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 7 | 9 |
टेंसरफ़्लो_जीपीयू-1.8.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 7 | 9 |
टेंसरफ़्लो_जीपीयू-1.7.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 7 | 9 |
टेंसरफ़्लो_जीपीयू-1.6.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 7 | 9 |
टेंसरफ़्लो_जीपीयू-1.5.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 7 | 9 |
टेंसरफ़्लो_जीपीयू-1.4.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 6 | 8 |
टेंसरफ़्लो_जीपीयू-1.3.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 6 | 8 |
टेंसरफ़्लो_जीपीयू-1.2.0 | 3.5-3.6 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 5.1 | 8 |
टेंसरफ़्लो_जीपीयू-1.1.0 | 3.5 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 5.1 | 8 |
टेंसरफ़्लो_जीपीयू-1.0.0 | 3.5 | एमएसवीसी 2015 अपडेट 3 | सीमेक v3.6.3 | 5.1 | 8 |