विंडोज़ पर स्रोत से बनाएँ

स्रोत कोड से TensorFlow pip पैकेज बनाएं और इसे विंडोज पर इंस्टॉल करें।

विंडोज़ के लिए सेटअप

अपने विंडोज डेवलपमेंट एनवायरनमेंट को कॉन्फ़िगर करने के लिए निम्नलिखित बिल्ड टूल्स इंस्टॉल करें।

पाइथन और टेन्सरफ्लो पैकेज की आवश्यक शर्तें इंस्टॉल करें।

विंडोज़ के लिए Python 3.9 या उससे ऊपर का 64-बिट संस्करण इंस्टॉल करें। pip को एक वैकल्पिक सुविधा के रूप में चुनें और इसे अपने %PATH% पर्यावरण चर में जोड़ें।

TensorFlow pip पैकेज की आवश्यक शर्तें इंस्टॉल करें:

pip3 install -U pip
pip3 install -U six numpy wheel packaging
pip3 install -U keras_preprocessing --no-deps

निर्भरताओं की सूची setup.py फ़ाइल में REQUIRED_PACKAGES के अंतर्गत दी गई है।

बेज़ेल इंस्टॉल करें

टेन्सरफ्लो को कंपाइल करने के लिए उपयोग किए जाने वाले बिल्ड टूल बेज़ेल को इंस्टॉल करें । बेज़ेल संस्करण के लिए, विंडोज़ के लिए परीक्षण किए गए बिल्ड कॉन्फ़िगरेशन देखें। बेज़ेल को C++ बिल्ड करने के लिए कॉन्फ़िगर करें।

Bazel एक्जीक्यूटेबल के स्थान को अपने %PATH% पर्यावरण चर में जोड़ें।

MSYS2 इंस्टॉल करें

TensorFlow बनाने के लिए आवश्यक bin टूल्स के लिए MSYS2 इंस्टॉल करें । यदि MSYS2 C:\msys64 में इंस्टॉल है, C:\msys64\usr\bin अपने %PATH% एनवायरनमेंट वेरिएबल में जोड़ें। फिर, cmd.exe का उपयोग करके निम्न कमांड चलाएँ:

pacman -Syu (requires a console restart)
pacman -S git patch unzip
pacman -S git patch unzip rsync

Visual C++ Build Tools 2022 इंस्टॉल करें

Visual C++ बिल्ड टूल्स 2022 इंस्टॉल करें। यह Visual Studio Community 2022 के साथ आता है, लेकिन इसे अलग से भी इंस्टॉल किया जा सकता है:

  1. विजुअल स्टूडियो डाउनलोड्स पर जाएं,
  2. विजुअल स्टूडियो या अन्य टूल्स, फ्रेमवर्क और रीडिस्ट्रिब्यूटेबल्स के लिए टूल्स का चयन करें।
  3. डाउनलोड करें और इंस्टॉल करें:
    • विजुअल स्टूडियो 2022 के लिए बिल्ड टूल्स
    • विजुअल स्टूडियो 2022 के लिए माइक्रोसॉफ्ट विजुअल सी++ रीडिस्ट्रिब्यूटेबल्स

एलएलवीएम स्थापित करें

  1. एलएलवीएम डाउनलोड पर जाएं,
  2. C:/Program Files/LLVM फ़ोल्डर में Windows के अनुकूल LLVM डाउनलोड और इंस्टॉल करें, उदाहरण के लिए, LLVM-17.0.6-win64.exe

जीपीयू सपोर्ट इंस्टॉल करें (वैकल्पिक)

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% कमांड चलाएँ।

पाइथन पाथ सेटअप संबंधी समस्या : tensorflow:issue#59943 , tensorflow:issue#9436 , tensorflow:issue#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 

Bazel/MSVC/CLANG पथ सेटअप समस्या tensorflow:issue#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 का एक नमूना रन दिखाया गया है (आपके सत्र में यह भिन्न हो सकता है):

pip पैकेज को बिल्ड और इंस्टॉल करें

pip पैकेज दो चरणों में बनाया जाता है। bazel build कमांड एक "package-builder" प्रोग्राम बनाता है। फिर आप पैकेज बनाने के लिए package-builder को चलाते हैं।

पैकेज-बिल्डर का निर्माण करें

tensorflow:master रिपॉजिटरी को डिफ़ॉल्ट रूप से बिल्ड 2.x में अपडेट कर दिया गया है। Bazel इंस्टॉल करें और TensorFlow पैकेज-बिल्डर बनाने के लिए bazel build उपयोग करें।

bazel build //tensorflow/tools/pip_package:wheel

सीपीयू केवल

CPU-ओनली सपोर्ट के साथ TensorFlow पैकेज बिल्डर बनाने के लिए 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 के साथ निर्माण करें

TenorFlow को CLANG कंपाइलर के साथ बिल्ड करने के लिए --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 कमांड के साथ --expunge फ़्लैग का उपयोग करने से फ़ाइलें स्थायी रूप से हट जाती हैं।

bazel clean 
bazel clean --expunge  

बेज़ेल बिल्ड विकल्प

पैकेज निर्माण संबंधी समस्याओं से बचने के लिए बिल्ड करते समय इस विकल्प का उपयोग करें: tensorflow:issue#22390

--define=no_tensorflow_py_deps=true

बिल्ड विकल्पों के लिए बेज़ेल कमांड-लाइन संदर्भ देखें।

स्रोत से TensorFlow का निर्माण करने में बहुत अधिक RAM का उपयोग हो सकता है। यदि आपके सिस्टम में मेमोरी की कमी है, तो Bazel के RAM उपयोग को इस प्रकार सीमित करें: --local_ram_resources=2048

यदि जीपीयू सपोर्ट के साथ बिल्ड कर रहे हैं, तो nvcc चेतावनी संदेशों को दबाने के लिए --copt=-nvcc_options=disable-warnings जोड़ें।

पैकेज बनाएं

pip पैकेज बनाने के लिए, आपको --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 शेल का उपयोग करके भी बनाया जा सकता है। नीचे दिए गए बदलाव करें, फिर विंडोज नेटिव कमांड लाइन ( 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 separator
export 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.21.0 3.10-3.13 क्लैंग 18.1.4 बेज़ेल 7.4.1
टेन्सरफ्लो-2.20.0 3.9-3.13 क्लैंग 18.1.4 बेज़ेल 7.4.1
टेन्सरफ्लो-2.19.0 3.9-3.12 क्लैंग 18.1.4 बेज़ेल 6.5.0
टेन्सरफ्लो-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 MSVC 2015 अपडेट 3 बेज़ेल 0.19.0-0.21.0
टेन्सरफ्लो-1.12.0 3.5-3.6 MSVC 2015 अपडेट 3 बेज़ेल 0.15.0
टेन्सरफ्लो-1.11.0 3.5-3.6 MSVC 2015 अपडेट 3 बेज़ेल 0.15.0
टेन्सरफ्लो-1.10.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.9.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.8.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.7.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.6.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.5.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.4.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.3.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.2.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.1.0 3.5 MSVC 2015 अपडेट 3 सीएमेक v3.6.3
टेन्सरफ्लो-1.0.0 3.5 MSVC 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 MSVC 2015 अपडेट 3 बेज़ेल 0.19.0-0.21.0 7.4 10
टेन्सरफ्लो_जीपीयू-1.12.0 3.5-3.6 MSVC 2015 अपडेट 3 बेज़ेल 0.15.0 7.2 9.0
टेन्सरफ्लो_जीपीयू-1.11.0 3.5-3.6 MSVC 2015 अपडेट 3 बेज़ेल 0.15.0 7 9
टेन्सरफ्लो_जीपीयू-1.10.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 7 9
टेन्सरफ्लो_जीपीयू-1.9.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 7 9
टेन्सरफ्लो_जीपीयू-1.8.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 7 9
टेन्सरफ्लो_जीपीयू-1.7.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 7 9
टेन्सरफ्लो_जीपीयू-1.6.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 7 9
टेन्सरफ्लो_जीपीयू-1.5.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 7 9
टेन्सरफ्लो_जीपीयू-1.4.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 6 8
टेन्सरफ्लो_जीपीयू-1.3.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 6 8
टेन्सरफ्लो_जीपीयू-1.2.0 3.5-3.6 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 5.1 8
टेन्सरफ्लो_जीपीयू-1.1.0 3.5 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 5.1 8
टेन्सरफ्लो_जीपीयू-1.0.0 3.5 MSVC 2015 अपडेट 3 सीएमेक v3.6.3 5.1 8