Google is committed to advancing racial equity for Black communities. See how.
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

स्रोत से बनाएँ

स्रोत से एक TensorFlow पाइप पैकेज बनाएँ और इसे Ubuntu Linux और macOS पर स्थापित करें। हालांकि निर्देश अन्य प्रणालियों के लिए काम कर सकते हैं, यह केवल उबंटू और मैकओएस के लिए परीक्षण और समर्थित है।

लिनक्स और मैकओएस के लिए सेटअप

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

अजगर और TensorFlow पैकेज निर्भरता स्थापित करें

उबंटू

sudo apt install python3-dev python3-pip

मैक ओ एस

Xcode 9.2 या बाद के संस्करण की आवश्यकता है।

Homebrew पैकेज मैनेजर का उपयोग करके इंस्टॉल करें:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
# if you are on macOS 10.12 (Sierra) use export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
brew install python

TensorFlow पाइप पैकेज निर्भरता स्थापित करें (यदि एक आभासी वातावरण का उपयोग कर, - --user तर्क को छोड़ --user ):

pip install -U --user pip six 'numpy<1.19.0' wheel setuptools mock 'future>=0.17.1' 'gast==0.3.3' typing_extensions
pip install -U --user keras_applications --no-deps
pip install -U --user keras_preprocessing --no-deps

Bazel स्थापित करें

TensorFlow का निर्माण करने के लिए, आपको Bazel को स्थापित करना होगा। Bazelisk Bazel स्थापित करने के लिए एक आसान तरीका है और स्वचालित रूप से TensorFlow के लिए सही Bazel संस्करण डाउनलोड करता है। उपयोग में आसानी के लिए, अपने PATH में bazel निष्पादन योग्य के रूप में bazel जोड़ें।

यदि Bazelisk उपलब्ध नहीं है, तो आप मैन्युअल रूप से Bazel स्थापित कर सकते हैं। एक समर्थित Bazel संस्करण स्थापित करना सुनिश्चित करें: _TF_MIN_BAZEL_VERSION और _TF_MAX_BAZEL_VERSION बीच कोई भी संस्करण tensorflow/configure.py में निर्दिष्ट है।

GPU समर्थन स्थापित करें (वैकल्पिक, केवल लिनक्स)

MacOS के लिए कोई GPU सपोर्ट नहीं है

ड्राइवरों को स्थापित करने के लिए GPU समर्थन गाइड पढ़ें और GPU पर TensorFlow चलाने के लिए आवश्यक अतिरिक्त सॉफ़्टवेयर।

TensorFlow स्रोत कोड डाउनलोड करें

TensorFlow रिपॉजिटरी को क्लोन करने के लिए Git का उपयोग करें:

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow

रेपो master विकास शाखा में चूक करता है। आप निर्माण के लिए एक रिलीज शाखा की जांच भी कर सकते हैं:

git checkout branch_name  # r1.9, r1.10, etc.

बिल्ड को कॉन्फ़िगर करें

अपने TensorFlow source ट्री के मूल में ./configure को चलाकर अपने सिस्टम बिल्ड को कॉन्फ़िगर करें। यह स्क्रिप्ट आपको TensorFlow निर्भरता के स्थान के लिए संकेत देती है और अतिरिक्त बिल्ड कॉन्फ़िगरेशन विकल्प (संकलक झंडे, उदाहरण के लिए) के लिए पूछती है।

./configure

नमूना सत्र

निम्नलिखित ./configure स्क्रिप्ट का नमूना नमूना दिखाता है (आपका सत्र भिन्न हो सकता है):

कॉन्फ़िगरेशन विकल्प

GPU समर्थन

GPU समर्थन के लिए , कॉन्फ़िगरेशन के दौरान cuda=Y सेट करें और CUDA और cuDNN के संस्करणों को निर्दिष्ट करें। यदि आपके सिस्टम में CUDA या cuDNN के कई संस्करण स्थापित हैं, तो डिफ़ॉल्ट रूप से निर्भर होने के बजाय संस्करण को स्पष्ट रूप से सेट करें। ./configure आपके सिस्टम के CUDA पुस्तकालयों के लिए प्रतीकात्मक लिंक बनाता है - इसलिए यदि आप अपने CUDA लाइब्रेरी पथ को अपडेट करते हैं, तो यह कॉन्फ़िगरेशन चरण बिल्डिंग से पहले फिर से चलाया जाना चाहिए।

अनुकूलन

संकलन अनुकूलन झंडे के लिए, डिफ़ॉल्ट ( -march=native ) आपके मशीन के CPU प्रकार के लिए उत्पन्न कोड का अनुकूलन करता है। हालांकि, अगर एक अलग CPU प्रकार के लिए TensorFlow का निर्माण, एक अधिक विशिष्ट अनुकूलन ध्वज पर विचार करें। उदाहरण के लिए जीसीसी मैनुअल देखें।

अपुष्ट विन्यास

कुछ पूर्व-निर्मित बिल्ड bazel build उपलब्ध हैं जिन्हें bazel build कमांड में जोड़ा जा सकता है, उदाहरण के लिए:

  • --config=mkl —Support Intel® MKL-DNN के लिए
  • --config=monolithic —संपादित करें ज्यादातर स्थिर, अखंड निर्माण के लिए संरचना।
  • --config=v1 - 2.x की बजाय 1. टन टिलरफ्लो 1.x।

पाइप पैकेज बनाएँ

TensorFlow 2.x

Bazel इंस्टॉल करें और TensorFlow 2.x पैकेज को CPU-only समर्थन के साथ बनाने के लिए bazel build का उपयोग करें :

bazel build [--config=option] //tensorflow/tools/pip_package:build_pip_package

GPU समर्थन

GPU समर्थन के साथ एक TensorFlow पैकेज बिल्डर बनाने के लिए:

bazel build --config=cuda [--config=option] //tensorflow/tools/pip_package:build_pip_package

TensorFlow 1.x

पुराने TensorFlow 1.x पैकेज बनाने के लिए, --config=v1 विकल्प का उपयोग करें:

bazel build --config=v1 [--config=option] //tensorflow/tools/pip_package:build_pip_package

Bazel बिल्ड विकल्प

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

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

आधिकारिक TensorFlow पैकेज एक GCC 7.3 टूलकिन के साथ बनाया गया है, जो कि manylinux2010 पैकेज मानक का अनुपालन करता है।

GCC 5 और बाद के लिए, पुराने ABI के साथ संगतता का उपयोग करके बनाया जा सकता है: --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" । ABI संगतता सुनिश्चित करती है कि आधिकारिक TensorFlow पैकेज के खिलाफ निर्मित कस्टम ऑप GCC 5 निर्मित पैकेज के साथ काम करना जारी रखे।

पैकेज बनाएँ

bazel build कमांड एक निष्पादन योग्य बनाता है जिसका नाम build_pip_package है जो कि pip पैकेज बनाता है। /tmp/tensorflow_pkg निर्देशिका में .whl पैकेज बनाने के लिए नीचे दिखाए अनुसार निष्पादन योग्य चलाएँ।

रिलीज शाखा से निर्माण करने के लिए:

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

मास्टर से निर्माण करने के लिए, सही निर्भरता प्राप्त करने के लिए --nightly_flag का उपयोग करें:

./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg

यद्यपि यह एक ही स्रोत के पेड़ के नीचे CUDA और गैर-CUDA दोनों कॉन्फ़िगरेशन का निर्माण करना संभव है, लेकिन एक ही स्रोत के पेड़ में इन दो विन्यासों के बीच स्विच करते समय bazel clean को चलाने की सिफारिश की जाती है।

पैकेज स्थापित करें

उत्पन्न .whl फ़ाइल का फ़ाइल नाम TensorFlow संस्करण और आपके प्लेटफ़ॉर्म पर निर्भर करता है। उदाहरण के लिए, पैकेज स्थापित pip install लिए pip install का उपयोग करें:

pip install /tmp/tensorflow_pkg/tensorflow-version-tags.whl

डोकर लिनक्स बनाता है

TensorFlow की Docker विकास छवियां स्रोत से लिनक्स पैकेज बनाने के लिए वातावरण स्थापित करने का एक आसान तरीका है। इन छवियों में पहले से ही TensorFlow बनाने के लिए आवश्यक स्रोत कोड और निर्भरताएं हैं। स्थापना के लिए TensorFlow Docker गाइड और उपलब्ध छवि टैग की सूची देखें

सीपीयू केवल

निम्न उदाहरण का उपयोग करता है :devel नवीनतम TensorFlow स्रोत कोड से CPU-केवल पैकेज बनाने के लिए :devel छवि। उपलब्ध TensorFlow -devel टैग के लिए डॉकर गाइड देखें।

नवीनतम विकास छवि डाउनलोड करें और डॉक कंटेनर शुरू करें जिसका उपयोग हम पाइप पैकेज बनाने के लिए करेंगे:

docker pull tensorflow/tensorflow:devel
docker run -it -w /tensorflow_src -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \
    tensorflow/tensorflow:devel bash

git pull  # within the container, download the latest source code

उपरोक्त docker run कमांड /tensorflow_src निर्देशिका-स्रोत ट्री की जड़ में एक शेल शुरू करता है। यह कंटेनर के /mnt निर्देशिका में मेजबान की वर्तमान निर्देशिका को /mnt , और एक पर्यावरण चर के माध्यम से कंटेनर को होस्ट उपयोगकर्ता की जानकारी को पारित करता है (अनुमतियों को सेट करने के लिए उपयोग किया जाता है - डॉकर यह मुश्किल बना सकता है)।

वैकल्पिक रूप से, एक कंटेनर के भीतर TensorFlow की एक मेजबान प्रतिलिपि बनाने के लिए, कंटेनर /tensorflow पर मेजबान स्रोत पेड़ को माउंट करें:

docker run -it -w /tensorflow -v /path/to/tensorflow:/tensorflow -v $PWD:/mnt \
    -e HOST_PERMS="$(id -u):$(id -g)" tensorflow/tensorflow:devel bash

स्रोत ट्री सेट होने के साथ, कंटेनर के वर्चुअल वातावरण में TensorFlow पैकेज बनाएँ:

  1. बिल्ड को कॉन्फ़िगर करें - यह उपयोगकर्ता को कॉन्फ़िगरेशन कॉन्फ़िगरेशन के सवालों के जवाब देने के लिए प्रेरित करता है।
  2. पाइप पैकेज बनाने के लिए उपयोग किए जाने वाले टूल का निर्माण करें।
  3. पाइप पैकेज बनाने के लिए उपकरण चलाएँ।
  4. कंटेनर के बाहर के लिए फ़ाइल की स्वामित्व अनुमतियाँ समायोजित करें।
./configure  # answer prompts or use defaults

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt  # create package

chown $HOST_PERMS /mnt/tensorflow-version-tags.whl

कंटेनर के भीतर पैकेज को स्थापित और सत्यापित करें:

pip uninstall tensorflow  # remove current version

pip install /mnt/tensorflow-version-tags.whl
cd /tmp  # don't import from source directory
python -c "import tensorflow as tf; print(tf.__version__)"

आपकी होस्ट मशीन पर, TensorFlow pip package वर्तमान निर्देशिका में है (होस्ट उपयोगकर्ता अनुमतियों के साथ): ./tensorflow- version - tags .whl

GPU समर्थन

Docker TensorFlow के लिए GPU समर्थन बनाने का सबसे आसान तरीका है क्योंकि होस्ट मशीन को केवल NVIDIA® ड्राइवर की आवश्यकता होती है ( NVIDIA® CUDA® टूलकिट स्थापित करने की आवश्यकता नहीं है)। देखें GPU समर्थन गाइड और TensorFlow डोकर गाइड स्थापित करने के लिए NVIDIA-डोकर (Linux)।

निम्न उदाहरण TensorFlow डाउनलोड करता है :devel-gpu छवि और उपयोग करता है nvidia-docker GPU सक्षम कंटेनर को चलाने के लिए। यह विकास छवि GPU समर्थन के साथ एक पाइप पैकेज बनाने के लिए कॉन्फ़िगर की गई है:

docker pull tensorflow/tensorflow:devel-gpu
docker run --gpus all -it -w /tensorflow -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \
    tensorflow/tensorflow:devel-gpu bash
git pull  # within the container, download the latest source code

फिर, कंटेनर के आभासी वातावरण में, GPU समर्थन के साथ TensorFlow पैकेज का निर्माण करें:

./configure  # answer prompts or use defaults

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt  # create package

chown $HOST_PERMS /mnt/tensorflow-version-tags.whl

कंटेनर के भीतर पैकेज को स्थापित और सत्यापित करें और GPU के लिए जांचें:

pip uninstall tensorflow  # remove current version

pip install /mnt/tensorflow-version-tags.whl
cd /tmp  # don't import from source directory
python -c "import tensorflow as tf; print(\"Num GPUs Available: \", len(tf.config.experimental.list_physical_devices('GPU')))"

परीक्षणित निर्माण कॉन्फ़िगरेशन

लिनक्स

सी पी यू

संस्करण पायथन संस्करण संकलक उपकरण बनाएँ
tensorflow-2.3.0 3.5-3.8 जीसीसी 7.3.1 बाजेल 3.1.0
tensorflow-2.2.0 3.5-3.8 जीसीसी 7.3.1 बाजल 2.0.0
tensorflow-2.1.0 २. 3.5, ३.५-३..7 जीसीसी 7.3.1 बाजेल 0.27.1
tensorflow-2.0.0 २. 3.3, ३.३-३..7 जीसीसी 7.3.1 बाजेल ०.२६.१
tensorflow-1.15.0 २. 3.3, ३.३-३..7 जीसीसी 7.3.1 बाजेल ०.२६.१
tensorflow-1.14.0 २.।, ३.३-३..7 जीसीसी 4.8 बाजेल 0.24.1
tensorflow-1.13.1 २.।, ३.३-३..7 जीसीसी 4.8 बाजेल 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.10.0
tensorflow-1.7.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.10.0
tensorflow-1.6.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.9.0
tensorflow-1.5.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.8.0
tensorflow-1.4.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.4.2

GPU

संस्करण पायथन संस्करण संकलक उपकरण बनाएँ cuDNN CUDA
tensorflow-2.3.0 3.5-3.8 जीसीसी 7.3.1 बाजेल 3.1.0 7.6 10.1
tensorflow-2.2.0 3.5-3.8 जीसीसी 7.3.1 बाजल 2.0.0 7.6 10.1
tensorflow-2.1.0 २. 3.5, ३.५-३..7 जीसीसी 7.3.1 बाजेल 0.27.1 7.6 10.1
tensorflow-2.0.0 २.।, ३.३-३..7 जीसीसी 7.3.1 बाजेल 0.26.1 7.4 10.0
tensorflow_gpu-1.15.0 २.।, ३.३-३..7 जीसीसी 7.3.1 बाजेल ०.२६.१ 7.4 10.0
tensorflow_gpu-1.14.0 २.।, ३.३-३..7 जीसीसी 4.8 बाजेल 0.24.1 7.4 10.0
tensorflow_gpu-1.13.1 २.।, ३.३-३..7 जीसीसी 4.8 बाजेल 0.19.2 7.4 10.0
tensorflow_gpu-1.12.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.15.0 7 9
tensorflow_gpu-1.11.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.15.0 7 9
tensorflow_gpu-1.10.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.15.0 7 9
tensorflow_gpu-1.9.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.11.0 7 9
tensorflow_gpu-1.8.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.10.0 7 9
tensorflow_gpu-1.7.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.9.0 7 9
tensorflow_gpu-1.6.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.9.0 7 9
tensorflow_gpu-1.5.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.8.0 7 9
tensorflow_gpu-1.4.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.5.4 6 8
tensorflow_gpu-1.3.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.4.5 6 8
tensorflow_gpu-1.2.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.4.5 5.1 8
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 जीसीसी 4.8 बाजेल 0.4.2 5.1 8

मैक ओ एस

सी पी यू

संस्करण पायथन संस्करण संकलक उपकरण बनाएँ
tensorflow-2.3.0 3.5-3.8 Xcode 10.1 से क्लेंग बाजेल 3.1.0
tensorflow-2.2.0 3.5-3.8 Xcode 10.1 से क्लेंग बाजल 2.0.0
tensorflow-2.1.0 २. 3.5, ३.५-३..7 Xcode 10.1 से क्लेंग बाजेल 0.27.1
tensorflow-2.0.0 २. 3.5, ३.५-३..7 Xcode 10.1 से क्लेंग बाजेल 0.27.1
tensorflow-2.0.0 २.।, ३.३-३..7 Xcode 10.1 से क्लेंग बाजेल ०.२६.१
tensorflow-1.15.0 २. 3.3, ३.३-३..7 Xcode 10.1 से क्लेंग बाजेल 0.26.1
tensorflow-1.14.0 २. 3.3, ३.३-३..7 एक्सकोड से क्लैंग बाजेल 0.24.1
tensorflow-1.13.1 २.।, ३.३-३..7 एक्सकोड से क्लैंग बाजेल 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.10.1
tensorflow-1.7.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.10.1
tensorflow-1.6.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.8.1
tensorflow-1.5.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.8.1
tensorflow-1.4.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.4.2

GPU

संस्करण पायथन संस्करण संकलक उपकरण बनाएँ cuDNN CUDA
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 एक्सकोड से क्लैंग बाजेल 0.4.2 5.1 8