Kaynaktan bir TensorFlow pip paketi oluşturun ve Windows'a yükleyin.
Windows için Kurulum
Windows geliştirme ortamınızı yapılandırmak için aşağıdaki derleme araçlarını yükleyin.
Python ve TensorFlow paket bağımlılıklarını yükleyin
Windows için Python 3.9+ 64-bit sürümünü yükleyin. İsteğe bağlı bir özellik olarak pip'i seçin ve %PATH%
ortam değişkeninize ekleyin.
TensorFlow pip paketi bağımlılıklarını yükleyin:
pip3 install -U pip
pip3 install -U six numpy wheel packaging
pip3 install -U keras_preprocessing --no-deps
Bağımlılıklar setup.py
dosyasında REQUIRED_PACKAGES
altında listelenmiştir.
Bazel'i yükleyin
TensorFlow'u derlemek için kullanılan derleme aracı olan Bazel'ı yükleyin . Bazel sürümü için Windows için test edilmiş derleme yapılandırmalarına bakın. Bazel'ı C++ derlemesi için yapılandırın.
Bazel çalıştırılabilir dosyasının konumunu %PATH%
ortam değişkeninize ekleyin.
MSYS2'yi yükleyin
TensorFlow'u derlemek için gereken bin araçları için MSYS2'yi yükleyin . MSYS2 C:\msys64
dizinine kuruluysa, C:\msys64\usr\bin
%PATH%
ortam değişkeninize ekleyin. Ardından cmd.exe
kullanarak şunu çalıştırın:
pacman -Syu (requires a console restart) pacman -S git patch unzip pacman -S git patch unzip rsync
Visual C++ Build Tools 2022'yi yükleyin
Visual C++ derleme araçları 2022'yi yükleyin. Bu , Visual Studio Community 2022 ile birlikte gelir ancak ayrı olarak da yüklenebilir:
- Visual Studio indirmelerine gidin,
- Visual Studio veya Diğer Araçlar, Çerçeve ve Yeniden Dağıtılabilirler için Araçları Seçin,
- İndirin ve kurun:
- Visual Studio 2022 için Derleme Araçları
- Visual Studio 2022 için Microsoft Visual C++ Yeniden Dağıtılabilirleri
LLVM'yi yükleyin
- LLVM indirmelerine gidin,
- Windows uyumlu LLVM'yi C:/Program Files/LLVM dizinine indirin ve yükleyin, örneğin LLVM-17.0.6-win64.exe
GPU desteğini yükleyin (isteğe bağlı)
TensorFlow'u bir GPU'da çalıştırmak için gereken sürücüleri ve ek yazılımları yüklemek için Windows GPU destek kılavuzuna bakın.
TensorFlow kaynak kodunu indirin
TensorFlow deposunu klonlamak için Git'i kullanın ( git
, MSYS2 ile birlikte kurulur):
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
Depo varsayılan olarak master
geliştirme dalına ayarlanır. Ayrıca derlemek için bir sürüm dalını da kontrol edebilirsiniz:
git checkout branch_name # r1.9, r1.10, etc.
İsteğe bağlı: Çevresel Değişken Kurulumu
Paket oluşturmayla ilgili sorunları önlemek için derleme komutunu çalıştırmadan önce aşağıdaki komutları çalıştırın: (Aşağıdaki komutlar paketler yüklenirken ayarlandıysa, lütfen bunları yoksayın). Tüm yolların doğru ayarlanıp ayarlanmadığını kontrol etmek için set
çalıştırın, örneğin, belirli bir Çevresel Değişken için ayarlanan yolu kontrol etmek için echo %Environmental Variable%
echo %BAZEL_VC%
komutunu çalıştırın.
Python yolu kurulum sorunu 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 yol kurulum sorunu 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)
İsteğe bağlı: Yapıyı yapılandırın
TensorFlow derlemeleri, deponun kök dizinindeki .bazelrc
dosyası tarafından yapılandırılır. ./configure
veya ./configure.py
betikleri, genel ayarları düzenlemek için kullanılabilir.
Yapılandırmayı değiştirmeniz gerekirse, deponun kök dizininden ./configure
betiğini çalıştırın.
python ./configure.py
Bu betik, TensorFlow bağımlılıklarının konumunu sorar ve ek derleme yapılandırma seçenekleri (örneğin, derleyici işaretleri) ister. Aşağıda, python ./configure.py
örnek bir çalıştırması gösterilmektedir (oturumunuz farklı olabilir):
Pip paketini oluşturun ve yükleyin
Pip paketi iki adımda oluşturulur. bazel build
komutu bir "paket oluşturucu" programı oluşturur. Ardından paketi oluşturmak için paket oluşturucuyu çalıştırırsınız.
Paket oluşturucuyu oluşturun
tensorflow:master deposu varsayılan olarak 2.x sürümüne güncellendi. Bazel'i yükleyin ve TensorFlow paket oluşturucusunu oluşturmak için bazel build
kullanın.
bazel build //tensorflow/tools/pip_package:wheel
Yalnızca CPU
TensorFlow paket oluşturucusunu yalnızca CPU desteğiyle yapmak için bazel
kullanın:
MSVC ile oluşturun
bazel build --config=opt --repo_env=TF_PYTHON_VERSION=3.11 //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
CLANG ile inşa edin
TenorFlow'u CLANG Derleyicisi ile derlemek için --config= win_clang
kullanın:
bazel build --config=win_clang --repo_env=TF_PYTHON_VERSION=3.11 //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
GPU desteği
GPU desteğiyle TensorFlow paket oluşturucusunu yapmak için:
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package
Geçersiz veya güncel olmayan önbelleğe alınmış verilerden kaynaklanan hataları çözmek için bazel önbelleğini temizleme komutları, --expunge bayrağıyla bazel clean dosyaları kalıcı olarak kaldırır
bazel clean bazel clean --expunge
Bazel yapı seçenekleri
Paket oluşturmayla ilgili sorunları önlemek için derleme sırasında bu seçeneği kullanın: tensorflow:issue#22390
--define=no_tensorflow_py_deps=true
Derleme seçenekleri için Bazel komut satırı referansına bakın.
TensorFlow'u kaynak koddan derlemek çok fazla RAM gerektirebilir. Sisteminiz bellek açısından kısıtlıysa, Bazel'in RAM kullanımını şu şekilde sınırlayın: --local_ram_resources=2048
.
GPU desteğiyle derleme yapıyorsanız, nvcc uyarı mesajlarını bastırmak için --copt=-nvcc_options=disable-warnings
ekleyin.
Paketi oluşturun
Bir pip paketi oluşturmak için --repo_env=WHEEL_NAME bayrağını belirtmeniz gerekir. Paket, verilen ada bağlı olarak oluşturulacaktır. Örneğin:
Tensorflow CPU paketini oluşturmak için:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
Gecelik paketi oluşturmak için tensorflow
yerine tf_nightly
ayarlayın, örneğin CPU gecelik paketini oluşturmak için:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tf_nightly_cpu
Sonuç olarak, üretilen tekerlek şu konumda yer alacaktır:
bazel-bin/tensorflow/tools/pip_package/wheel_house/
Paketi yükleyin
Oluşturulan .whl
dosyasının adı, TensorFlow sürümüne ve platformunuza bağlıdır. Paketi yüklemek için pip install
kullanın, örneğin:
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
MSYS kabuğunu kullanarak derleme
TensorFlow, MSYS kabuğu kullanılarak da derlenebilir. Aşağıda listelenen değişiklikleri yapın ve ardından Windows yerel komut satırı ( cmd.exe
) için önceki talimatları izleyin.
MSYS yol dönüşümünü devre dışı bırak
MSYS, Unix yollarına benzeyen argümanları otomatik olarak Windows yollarına dönüştürür ve bu bazel
ile çalışmaz. ( //path/to:bin
etiketi, eğik çizgiyle başladığı için Unix mutlak yolu olarak kabul edilir.)
export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"
PATH'inizi ayarlayın
Bazel ve Python kurulum dizinlerini $PATH
ortam değişkeninize ekleyin. Bazel C:\tools\bazel.exe
dizinine ve Python C:\Python\python.exe
dizinine kuruluysa, PATH
dizininizi şu şekilde ayarlayın:
# Use Unix-style with ':' as separatorexport PATH="/c/tools:$PATH"
export PATH="/c/path/to/Python:$PATH"
GPU desteği için CUDA ve cuDNN bin dizinlerini $PATH
ekleyin:
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"
Test edilmiş yapı yapılandırmaları
İşlemci
Sürüm | Python sürümü | Derleyici | Yapı araçları |
---|---|---|---|
tensorflow-2.20.0 | 3.9-3.13 | ÇINLAMA 18.1.4 | Bazel 7.4.1 |
tensorflow-2.19.0 | 3.9-3.12 | ÇINLAMA 18.1.4 | Bazel 6.5.0 |
tensorflow-2.18.0 | 3.9-3.12 | ÇILGINLIK 17.0.6 | Bazel 6.5.0 |
tensorflow-2.17.0 | 3.9-3.12 | ÇILGINLIK 17.0.6 | Bazel 6.5.0 |
tensorflow-2.16.1 | 3.9-3.12 | ÇILGINLIK 17.0.6 | Bazel 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 | Bazel 3.1.0 |
tensorflow-2.3.0 | 3,5-3,8 | MSVC 2019 | Bazel 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 | Bazel 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 | Bazel 0.24.1-0.25.2 |
tensorflow-1.13.0 | 3,5-3,7 | MSVC 2015 güncellemesi 3 | Bazel 0.19.0-0.21.0 |
tensorflow-1.12.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Bazel 0.15.0 |
tensorflow-1.11.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Bazel 0.15.0 |
tensorflow-1.10.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.9.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.8.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.7.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.6.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.5.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.4.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.3.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.2.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.1.0 | 3.5 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
tensorflow-1.0.0 | 3.5 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 |
GPU
Sürüm | Python sürümü | Derleyici | Yapı araçları | cuDNN | CUDA |
---|---|---|---|---|---|
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 | Bazel 3.1.0 | 8.0 | 11.0 |
tensorflow_gpu-2.3.0 | 3,5-3,8 | MSVC 2019 | Bazel 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 | Bazel 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 | Bazel 0.24.1-0.25.2 | 7.4 | 10 |
tensorflow_gpu-1.13.0 | 3,5-3,7 | MSVC 2015 güncellemesi 3 | Bazel 0.19.0-0.21.0 | 7.4 | 10 |
tensorflow_gpu-1.12.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Bazel 0.15.0 | 7.2 | 9.0 |
tensorflow_gpu-1.11.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.9.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.8.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.7.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.6.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.5.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.4.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.3.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.2.0 | 3,5-3,6 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 3.5 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 3.5 | MSVC 2015 güncellemesi 3 | Cmake v3.6.3 | 5.1 | 8 |