উৎস থেকে একটি টেনসরফ্লো পিপ প্যাকেজ তৈরি করুন এবং এটি উইন্ডোজে ইনস্টল করুন।
উইন্ডোজের জন্য সেটআপ
আপনার উইন্ডোজ ডেভেলপমেন্ট এনভায়রনমেন্ট কনফিগার করতে নিম্নলিখিত বিল্ড টুল ইনস্টল করুন।
পাইথন এবং টেনসরফ্লো প্যাকেজ নির্ভরতা ইনস্টল করুন
উইন্ডোজের জন্য একটি পাইথন 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
ফাইলে তালিকাভুক্ত করা হয়েছে।
Bazel ইনস্টল করুন
Bazel ইনস্টল করুন , টেনসরফ্লো কম্পাইল করতে ব্যবহৃত বিল্ড টুল। Bazel সংস্করণের জন্য, Windows এর জন্য পরীক্ষিত বিল্ড কনফিগারেশন দেখুন। C++ তৈরি করতে Bazel কনফিগার করুন।
আপনার %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 ইনস্টল করুন
- LLVM ডাউনলোডগুলিতে যান,
- C:/Program Files/LLVM যেমন, LLVM-17.0.6-win64.exe-এ Windows-সামঞ্জস্যপূর্ণ LLVM ডাউনলোড এবং ইনস্টল করুন
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;%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
এর একটি নমুনা রান দেখায় (আপনার সেশন আলাদা হতে পারে):
নমুনা কনফিগারেশন সেশন দেখুন
python ./configure.py You have bazel 6.5.0 installed. Please specify the location of python. [Default is C:\Python311\python.exe]: Found possible Python library paths: C:\Python311\lib\site-packages Please input the desired Python library path to use. Default is [C:\Python311\lib\site-packages] Do you wish to build TensorFlow with ROCm support? [y/N]: No ROCm support will be enabled for TensorFlow. Warning: Cannot build with CUDA support on Windows. Starting in TF 2.11, CUDA build is not supported for Windows. To use TensorFlow GPU on Windows, you will need to build/install TensorFlow in WSL2. Do you want to use Clang to build TensorFlow? [Y/n]: Add "--config=win_clang" to compile TensorFlow with CLANG. Please specify the path to clang executable. [Default is C:\Program Files\LLVM\bin\clang.EXE]: You have Clang 17.0.6 installed. Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is /arch:AVX]: Would you like to override eigen strong inline for some C++ compilation to reduce the compilation time? [Y/n]: Eigen strong inline overridden. Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]: Not configuring the WORKSPACE for Android builds. Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See .bazelrc for more details. --config=mkl # Build with MKL support. --config=mkl_aarch64 # Build with oneDNN and Compute Library for the Arm Architecture (ACL). --config=monolithic # Config for mostly static monolithic build. --config=numa # Build with NUMA support. --config=dynamic_kernels # (Experimental) Build kernels into separate shared objects. --config=v1 # Build with TensorFlow 1 API instead of TF 2 API. Preconfigured Bazel build configs to DISABLE default on features: --config=nogcp # Disable GCP support. --config=nonccl # Disable NVIDIA NCCL support.
পিপ প্যাকেজ তৈরি এবং ইনস্টল করুন
পিপ প্যাকেজ দুটি ধাপে নির্মিত হয়। একটি bazel build
কমান্ড একটি "প্যাকেজ-বিল্ডার" প্রোগ্রাম তৈরি করে। তারপর আপনি প্যাকেজ তৈরি করতে প্যাকেজ নির্মাতা চালান।
প্যাকেজ-বিল্ডার তৈরি করুন
tensorflow:master repo ডিফল্টরূপে 2.x তৈরি করতে আপডেট করা হয়েছে। ব্যাজেল ইনস্টল করুন এবং টেনসরফ্লো প্যাকেজ-বিল্ডার তৈরি করতে 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 দিয়ে তৈরি করুন
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 সমর্থন
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
যোগ করুন।
প্যাকেজ তৈরি করুন
একটি পিপ প্যাকেজ তৈরি করতে, আপনাকে --repo_env=WHEEL_NAME পতাকা নির্দিষ্ট করতে হবে। প্রদত্ত নামের উপর নির্ভর করে, প্যাকেজ তৈরি করা হবে। যেমন:
টেনসরফ্লো সিপিইউ প্যাকেজ তৈরি করতে:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
রাতের প্যাকেজ তৈরি করতে, tensorflow
এর পরিবর্তে tf_nightly
সেট করুন, যেমন CPU রাতের প্যাকেজ তৈরি করতে:
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 স্বয়ংক্রিয়ভাবে যুক্তিগুলিকে রূপান্তর করে যা ইউনিক্স পাথের মত দেখায় 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 separatorexport 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.17.0 | 3.9-3.12 | CLANG 17.0.6 | ব্যাজেল 6.5.0 |
tensorflow-2.16.1 | 3.9-3.12 | CLANG 17.0.6 | ব্যাজেল 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 |