উইন্ডোজে সোর্স থেকে বিল্ড করুন, উইন্ডোজে সোর্স থেকে বিল্ড করুন

উত্স থেকে একটি টেনসরফ্লো পিপ প্যাকেজ তৈরি করুন এবং এটি উইন্ডোজে ইনস্টল করুন।

উইন্ডোজের জন্য সেটআপ

আপনার উইন্ডোজ ডেভেলপমেন্ট এনভায়রনমেন্ট কনফিগার করতে নিম্নলিখিত বিল্ড টুল ইনস্টল করুন।

পাইথন এবং টেনসরফ্লো প্যাকেজ নির্ভরতা ইনস্টল করুন

উইন্ডোজের জন্য একটি পাইথন 3.9+ 64-বিট রিলিজ ইনস্টল করুন। একটি ঐচ্ছিক বৈশিষ্ট্য হিসাবে পিপ নির্বাচন করুন এবং এটি আপনার %PATH% পরিবেশগত পরিবর্তনশীলে যোগ করুন।

TensorFlow পিপ প্যাকেজ নির্ভরতা ইনস্টল করুন:

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

নির্ভরতাগুলি REQUIRED_PACKAGES এর অধীনে setup.py ফাইলে তালিকাভুক্ত করা হয়েছে।

Bazel ইনস্টল করুন

Bazel ইনস্টল করুন , টেনসরফ্লো কম্পাইল করতে ব্যবহৃত বিল্ড টুল। Bazel সংস্করণের জন্য, Windows এর জন্য পরীক্ষিত বিল্ড কনফিগারেশন দেখুন। C++ তৈরি করতে 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 এর সাথে আসে তবে আলাদাভাবে ইনস্টল করা যেতে পারে:

  1. ভিজ্যুয়াল স্টুডিও ডাউনলোডগুলিতে যান,
  2. পুনরায় বিতরণযোগ্য নির্বাচন করুন এবং সরঞ্জাম তৈরি করুন ,
  3. ডাউনলোড এবং ইন্সটল:
    • Microsoft Visual C++ 2019 পুনরায় বিতরণযোগ্য
    • মাইক্রোসফট বিল্ড টুল 2019

GPU সমর্থন ইনস্টল করুন (ঐচ্ছিক)

একটি GPU-তে TensorFlow চালানোর জন্য প্রয়োজনীয় ড্রাইভার এবং অতিরিক্ত সফ্টওয়্যার ইনস্টল করতে Windows GPU সমর্থন নির্দেশিকা দেখুন।

TensorFlow সোর্স কোড ডাউনলোড করুন

TensorFlow সংগ্রহস্থল ক্লোন করতে গিট ব্যবহার করুন ( 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%

Python পাথ সমস্যা tensorflow:issue#59943 , tensorflow:issue#9436 , tensorflow:issue#60083 সেট আপ করেছে

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 পাথ সমস্যা tensorflow:issue#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 ফাইল দ্বারা কনফিগার করা হয়। ./configure বা ./configure.py স্ক্রিপ্টগুলি সাধারণ সেটিংস সামঞ্জস্য করতে ব্যবহার করা যেতে পারে।

কনফিগারেশন পরিবর্তন করতে হলে, রিপোজিটরির রুট ডিরেক্টরি থেকে ./configure স্ক্রিপ্টটি চালান।

python ./configure.py

এই স্ক্রিপ্টটি আপনাকে TensorFlow নির্ভরতার অবস্থানের জন্য অনুরোধ করে এবং অতিরিক্ত বিল্ড কনফিগারেশন বিকল্পের জন্য জিজ্ঞাসা করে (উদাহরণস্বরূপ কম্পাইলার পতাকা)। নিম্নলিখিত python ./configure.py এর একটি নমুনা রান দেখায় (আপনার সেশন আলাদা হতে পারে):

পিপ প্যাকেজ তৈরি এবং ইনস্টল করুন

পাইপ প্যাকেজ দুটি ধাপে তৈরি হয়। একটি bazel build কমান্ড একটি "প্যাকেজ-বিল্ডার" প্রোগ্রাম তৈরি করে। তারপর আপনি প্যাকেজ তৈরি করতে প্যাকেজ নির্মাতা চালান।

প্যাকেজ-বিল্ডার তৈরি করুন

tensorflow:master repo ডিফল্টরূপে 2.x তৈরি করতে আপডেট করা হয়েছে। ব্যাজেল ইনস্টল করুন এবং টেনসরফ্লো প্যাকেজ-বিল্ডার তৈরি করতে bazel build ব্যবহার করুন।

bazel build //tensorflow/tools/pip_package:build_pip_package

শুধুমাত্র সিপিইউ

শুধুমাত্র CPU সমর্থন সহ TensorFlow প্যাকেজ নির্মাতা তৈরি করতে bazel ব্যবহার করুন:

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

GPU সমর্থন

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  

Bazel বিল্ড অপশন

প্যাকেজ তৈরির সমস্যা এড়াতে নির্মাণ করার সময় এই বিকল্পটি ব্যবহার করুন: tensorflow:issue#22390

--define=no_tensorflow_py_deps=true

বিল্ড অপশনের জন্য Bazel কমান্ড-লাইন রেফারেন্স দেখুন।

উৎস থেকে 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-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 স্বয়ংক্রিয়ভাবে যুক্তিগুলিকে রূপান্তর করে যা ইউনিক্স পাথের মত দেখতে Windows পাথে, এবং এটি bazel এর সাথে কাজ করে না। (লেবেল //path/to:bin একটি ইউনিক্স পরম পথ হিসাবে বিবেচনা করা হয় যেহেতু এটি একটি স্ল্যাশ দিয়ে শুরু হয়।)

export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"

আপনার পথ সেট করুন

আপনার $PATH পরিবেশগত ভেরিয়েবলে Bazel এবং Python ইনস্টলেশন ডিরেক্টরি যোগ করুন। যদি 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 সমর্থনের জন্য, আপনার $PATH এ CUDA এবং cuDNN বিন ডিরেক্টরি যোগ করুন:

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"

পরীক্ষিত বিল্ড কনফিগারেশন

সিপিইউ

সংস্করণ পাইথন সংস্করণ কম্পাইলার সরঞ্জাম তৈরি করুন
tensorflow-2.16.1 3.9-3.12 MSVC 2019 ব্যাজেল 6.5.0
tensorflow-2.15.0 3.9-3.11 MSVC 2019 Bazel 6.1.0
tensorflow-2.14.0 3.9-3.11 MSVC 2019 Bazel 6.1.0
tensorflow-2.12.0 3.8-3.11 MSVC 2019 Bazel 5.3.0
tensorflow-2.11.0 3.7-3.10 MSVC 2019 Bazel 5.3.0
tensorflow-2.10.0 3.7-3.10 MSVC 2019 Bazel 5.1.1
tensorflow-2.9.0 3.7-3.10 MSVC 2019 Bazel 5.0.0
tensorflow-2.8.0 3.7-3.10 MSVC 2019 Bazel 4.2.1
tensorflow-2.7.0 3.7-3.9 MSVC 2019 Bazel 3.7.2
tensorflow-2.6.0 3.6-3.9 MSVC 2019 Bazel 3.7.2
tensorflow-2.5.0 3.6-3.9 MSVC 2019 Bazel 3.7.2
tensorflow-2.4.0 3.6-3.8 MSVC 2019 ব্যাজেল 3.1.0
tensorflow-2.3.0 3.5-3.8 MSVC 2019 ব্যাজেল 3.1.0
tensorflow-2.2.0 3.5-3.8 MSVC 2019 Bazel 2.0.0
tensorflow-2.1.0 3.5-3.7 MSVC 2019 ব্যাজেল 0.27.1-0.29.1
tensorflow-2.0.0 3.5-3.7 MSVC 2017 Bazel 0.26.1
tensorflow-1.15.0 3.5-3.7 MSVC 2017 Bazel 0.26.1
tensorflow-1.14.0 3.5-3.7 MSVC 2017 ব্যাজেল 0.24.1-0.25.2
tensorflow-1.13.0 3.5-3.7 MSVC 2015 আপডেট 3 ব্যাজেল 0.19.0-0.21.0
tensorflow-1.12.0 3.5-3.6 MSVC 2015 আপডেট 3 Bazel 0.15.0
tensorflow-1.11.0 3.5-3.6 MSVC 2015 আপডেট 3 Bazel 0.15.0
tensorflow-1.10.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.9.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.8.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.7.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.6.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.5.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.4.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.3.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.2.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.1.0 3.5 MSVC 2015 আপডেট 3 Cmake v3.6.3
tensorflow-1.0.0 3.5 MSVC 2015 আপডেট 3 Cmake v3.6.3

জিপিইউ

সংস্করণ পাইথন সংস্করণ কম্পাইলার সরঞ্জাম তৈরি করুন cuDNN চুদা
tensorflow_gpu-2.10.0 3.7-3.10 MSVC 2019 Bazel 5.1.1 8.1 11.2
tensorflow_gpu-2.9.0 3.7-3.10 MSVC 2019 Bazel 5.0.0 8.1 11.2
tensorflow_gpu-2.8.0 3.7-3.10 MSVC 2019 Bazel 4.2.1 8.1 11.2
tensorflow_gpu-2.7.0 3.7-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.6.0 3.6-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.5.0 3.6-3.9 MSVC 2019 Bazel 3.7.2 8.1 11.2
tensorflow_gpu-2.4.0 3.6-3.8 MSVC 2019 ব্যাজেল 3.1.0 ৮.০ 11.0
tensorflow_gpu-2.3.0 3.5-3.8 MSVC 2019 ব্যাজেল 3.1.0 7.6 10.1
tensorflow_gpu-2.2.0 3.5-3.8 MSVC 2019 Bazel 2.0.0 7.6 10.1
tensorflow_gpu-2.1.0 3.5-3.7 MSVC 2019 ব্যাজেল 0.27.1-0.29.1 7.6 10.1
tensorflow_gpu-2.0.0 3.5-3.7 MSVC 2017 Bazel 0.26.1 7.4 10
tensorflow_gpu-1.15.0 3.5-3.7 MSVC 2017 Bazel 0.26.1 7.4 10
tensorflow_gpu-1.14.0 3.5-3.7 MSVC 2017 ব্যাজেল 0.24.1-0.25.2 7.4 10
tensorflow_gpu-1.13.0 3.5-3.7 MSVC 2015 আপডেট 3 ব্যাজেল 0.19.0-0.21.0 7.4 10
tensorflow_gpu-1.12.0 3.5-3.6 MSVC 2015 আপডেট 3 Bazel 0.15.0 7.2 9.0
tensorflow_gpu-1.11.0 3.5-3.6 MSVC 2015 আপডেট 3 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.9.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.8.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.7.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.6.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.5.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 7 9
tensorflow_gpu-1.4.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 6 8
tensorflow_gpu-1.3.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 6 8
tensorflow_gpu-1.2.0 3.5-3.6 MSVC 2015 আপডেট 3 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.1.0 3.5 MSVC 2015 আপডেট 3 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.0.0 3.5 MSVC 2015 আপডেট 3 Cmake v3.6.3 5.1 8