स्रोत से एक TensorFlow पाइप पैकेज बनाएं और इसे विंडोज़ पर इंस्टॉल करें।
विंडोज़ के लिए सेटअप
अपने विंडोज़ विकास परिवेश को कॉन्फ़िगर करने के लिए निम्नलिखित बिल्ड टूल इंस्टॉल करें।
Python और TensorFlow पैकेज निर्भरताएँ स्थापित करें
विंडोज़ के लिए पायथन 3.9+ 64-बिट रिलीज़ स्थापित करें। वैकल्पिक सुविधा के रूप में पाइप का चयन करें और इसे अपने %PATH%
पर्यावरण चर में जोड़ें।
TensorFlow पाइप पैकेज निर्भरताएँ स्थापित करें:
pip3 install -U pip
pip3 install -U six numpy wheel packaging
pip3 install -U keras_preprocessing --no-deps
निर्भरताएँ REQUIRED_PACKAGES
के अंतर्गत setup.py
फ़ाइल में सूचीबद्ध हैं।
बेज़ेल स्थापित करें
TensorFlow को संकलित करने के लिए उपयोग किया जाने वाला बिल्ड टूल Bagel इंस्टॉल करें । बेज़ेल संस्करण के लिए, विंडोज़ के लिए परीक्षण किए गए बिल्ड कॉन्फ़िगरेशन देखें। C++ बनाने के लिए बेज़ेल को कॉन्फ़िगर करें।
अपने %PATH%
पर्यावरण चर में बेज़ेल निष्पादन योग्य का स्थान जोड़ें।
MSYS2 स्थापित करें
TensorFlow के निर्माण के लिए आवश्यक बिन टूल के लिए MSYS2 स्थापित करें । यदि MSYS2 C:\msys64
पर स्थापित है, तो अपने %PATH%
पर्यावरण चर में C:\msys64\usr\bin
जोड़ें। फिर, cmd.exe
उपयोग करके चलाएँ:
pacman -Syu (requires a console restart) pacman -S git patch unzip pacman -S git patch unzip rsync
विज़ुअल C++ बिल्ड टूल्स 2022 इंस्टॉल करें
विज़ुअल C++ बिल्ड टूल्स 2022 इंस्टॉल करें। यह विज़ुअल स्टूडियो कम्युनिटी 2022 के साथ आता है लेकिन इसे अलग से इंस्टॉल किया जा सकता है:
- विजुअल स्टूडियो डाउनलोड पर जाएं,
- विजुअल स्टूडियो या अन्य टूल्स, फ्रेमवर्क और पुनर्वितरणयोग्य के लिए टूल्स का चयन करें,
- डाउनलोड करें और इंस्टॉल करें:
- विजुअल स्टूडियो 2022 के लिए टूल बनाएं
- विजुअल स्टूडियो 2022 के लिए माइक्रोसॉफ्ट विजुअल सी++ पुनर्वितरण योग्य
एलएलवीएम स्थापित करें
- एलएलवीएम डाउनलोड पर जाएं,
- C:/प्रोग्राम फ़ाइलें/LLVM में Windows-संगत LLVM डाउनलोड और इंस्टॉल करें, उदाहरण के लिए, LLVM-17.0.6-win64.exe
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%
पायथन पथ सेट अप समस्या टेंसरफ़्लो: अंक#59943 , टेंसरफ़्लो: अंक#9436 , टेंसरफ़्लो: अंक#60083
set PATH=path/to/python;%PATH% # [e.g. (C:/Python311)] set PATH=path/to/python/Scripts;%PATH% # [e.g. (C:/Python311/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
बेज़ेल/एमएसवीसी/क्लैंग पथ सेट अप समस्या टेंसरफ़्लो: अंक#54578
set BAZEL_SH=C:/msys64/usr/bin/bash.exe set BAZEL_VS=C:/Program Files/Microsoft Visual Studio/2022/BuildTools set BAZEL_VC=C:/Program Files/Microsoft Visual Studio/2022/BuildTools/VC set Bazel_LLVM=C:/Program Files/LLVM (explicitly tell Bazel where LLVM is installed by BAZEL_LLVM, needed while using CLANG) set PATH=C:/Program Files/LLVM/bin;%PATH% (Optional, needed while using CLANG as Compiler)
वैकल्पिक: बिल्ड कॉन्फ़िगर करें
TensorFlow बिल्ड को रिपॉजिटरी की रूट डायरेक्टरी में .bazelrc
फ़ाइल द्वारा कॉन्फ़िगर किया गया है। सामान्य सेटिंग्स को समायोजित करने के लिए ./configure
या ./configure.py
स्क्रिप्ट का उपयोग किया जा सकता है।
यदि आपको कॉन्फ़िगरेशन बदलने की आवश्यकता है, तो रिपॉजिटरी की रूट निर्देशिका से ./configure
स्क्रिप्ट चलाएँ।
python ./configure.py
यह स्क्रिप्ट आपको TensorFlow निर्भरता के स्थान के लिए संकेत देती है और अतिरिक्त बिल्ड कॉन्फ़िगरेशन विकल्प (उदाहरण के लिए कंपाइलर फ़्लैग) मांगती है। निम्नलिखित python ./configure.py
का एक नमूना रन दिखाता है (आपका सत्र भिन्न हो सकता है):
पिप पैकेज बनाएं और इंस्टॉल करें
पिप पैकेज दो चरणों में बनाया गया है। bazel build
कमांड एक "पैकेज-बिल्डर" प्रोग्राम बनाता है। फिर आप पैकेज बनाने के लिए पैकेज-बिल्डर चलाएँ।
पैकेज-बिल्डर बनाएं
टेंसरफ़्लो: मास्टर रेपो को डिफ़ॉल्ट रूप से 2.x बनाने के लिए अद्यतन किया गया है। बेज़ेल स्थापित करें और टेन्सरफ्लो पैकेज-बिल्डर बनाने के लिए bazel build
उपयोग करें।
bazel build //tensorflow/tools/pip_package:wheel
सीपीयू केवल
केवल-सीपीयू समर्थन के साथ टेन्सरफ्लो पैकेज बिल्डर बनाने के लिए bazel
उपयोग करें:
MSVC के साथ निर्माण करें
bazel build --config=opt --repo_env=TF_PYTHON_VERSION=3.11 //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
CLANG के साथ निर्माण करें
CLANG कंपाइलर के साथ TenorFlow बनाने के लिए --config= win_clang
उपयोग करें:
bazel build --config=win_clang --repo_env=TF_PYTHON_VERSION=3.11 //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
जीपीयू समर्थन
GPU समर्थन के साथ TensorFlow पैकेज बिल्डर बनाने के लिए:
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package
अमान्य या पुराने कैश्ड डेटा के कारण होने वाली त्रुटियों को हल करने के लिए बेज़ल कैश को साफ़ करने का आदेश, --एक्सपंज फ़्लैग के साथ बेज़ल क्लीन फ़ाइलों को स्थायी रूप से हटा देता है
bazel clean bazel clean --expunge
बेज़ेल बिल्ड विकल्प
पैकेज निर्माण की समस्याओं से बचने के लिए निर्माण करते समय इस विकल्प का उपयोग करें: टेंसरफ़्लो: अंक#22390
--define=no_tensorflow_py_deps=true
बिल्ड विकल्पों के लिए बेज़ेल कमांड-लाइन संदर्भ देखें।
स्रोत से TensorFlow बनाने में बहुत अधिक RAM का उपयोग हो सकता है। यदि आपका सिस्टम मेमोरी-बाधित है, तो बेज़ेल के रैम उपयोग को सीमित करें: --local_ram_resources=2048
।
यदि GPU समर्थन के साथ निर्माण किया जा रहा है, तो nvcc चेतावनी संदेशों को दबाने के लिए --copt=-nvcc_options=disable-warnings
जोड़ें।
पैकेज बनाएं
पिप पैकेज बनाने के लिए, आपको --repo_env=WHEEL_NAME ध्वज निर्दिष्ट करना होगा। दिए गए नाम के आधार पर, पैकेज बनाया जाएगा। उदाहरण के लिए:
टेंसरफ्लो सीपीयू पैकेज बनाने के लिए:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
रात्रिकालीन पैकेज बनाने के लिए, tensorflow
के बजाय tf_nightly
सेट करें, उदाहरण के लिए सीपीयू रात्रिकालीन पैकेज बनाने के लिए:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tf_nightly_cpu
परिणामस्वरूप, उत्पन्न पहिया स्थित होगा
bazel-bin/tensorflow/tools/pip_package/wheel_house/
पैकेज स्थापित करें
जेनरेट की गई .whl
फ़ाइल का फ़ाइल नाम TensorFlow संस्करण और आपके प्लेटफ़ॉर्म पर निर्भर करता है। उदाहरण के लिए, पैकेज को स्थापित करने के लिए pip install
उपयोग करें:
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
MSYS शेल का उपयोग करके निर्माण करें
TensorFlow को MSYS शेल का उपयोग करके भी बनाया जा सकता है। नीचे सूचीबद्ध परिवर्तन करें, फिर Windows मूल कमांड लाइन ( cmd.exe
) के लिए पिछले निर्देशों का पालन करें।
MSYS पथ रूपांतरण अक्षम करें
MSYS स्वचालित रूप से उन तर्कों को परिवर्तित करता है जो यूनिक्स पथों की तरह दिखते हैं, विंडोज़ पथों में, और यह bazel
के साथ काम नहीं करता है। (लेबल //path/to:bin
यूनिक्स निरपेक्ष पथ माना जाता है क्योंकि यह एक स्लैश से शुरू होता है।)
export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"
अपना पथ सेट करें
अपने $PATH
पर्यावरण चर में बेज़ेल और पायथन इंस्टॉलेशन निर्देशिकाएँ जोड़ें। यदि बेज़ेल को C:\tools\bazel.exe
पर स्थापित किया गया है, और पायथन को 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.18.0 | 3.9-3.12 | क्लैंग 17.0.6 | बेज़ेल 6.5.0 |
टेंसरफ़्लो-2.17.0 | 3.9-3.12 | क्लैंग 17.0.6 | बेज़ेल 6.5.0 |
टेंसरफ़्लो-2.16.1 | 3.9-3.12 | क्लैंग 17.0.6 | बेज़ेल 6.5.0 |
टेंसरफ़्लो-2.15.0 | 3.9-3.11 | एमएसवीसी 2019 | बेज़ेल 6.1.0 |
टेंसरफ़्लो-2.14.0 | 3.9-3.11 | एमएसवीसी 2019 | बेज़ेल 6.1.0 |
टेंसरफ़्लो-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 | CUDA |
---|---|---|---|---|---|
टेंसरफ्लो_जीपीयू-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 |