TensorFlow'un kaynak kodundan bir pip paketi oluşturun ve Windows'a kurun.
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 paketinin bağımlılıklarını yükleyin.
Windows için Python 3.9+ 64-bit sürümünü yükleyin. Pip'i isteğe bağlı bir özellik olarak seçin ve %PATH% ortam değişkeninize ekleyin.
TensorFlow pip paketinin bağımlılıklarını yükleyin:
pip3 install -U pippip3 install -U six numpy wheel packagingpip3 install -U keras_preprocessing --no-deps
Gerekli bağımlılıklar setup.py dosyasında REQUIRED_PACKAGES başlığı altında listelenmiştir.
Bazel'i yükleyin
TensorFlow'u derlemek için kullanılan derleme aracı olan Bazel'i yükleyin . Bazel sürümü için Windows için test edilmiş derleme yapılandırmalarına bakın. Bazel'i C++ derlemesi yapacak şekilde 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 ikili dosyaları içeren MSYS2'yi yükleyin . Eğer MSYS2 C:\msys64 dizinine yüklüyse, C:\msys64\usr\bin %PATH% ortam değişkeninize ekleyin. Ardından, cmd.exe kullanarak şu komutu ç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 indirme sayfasına gidin.
- Visual Studio için Araçlar veya Diğer Araçlar, Çerçeveler ve Yeniden Dağıtılabilirler'i seçin.
- İndirin ve kurun:
- Visual Studio 2022 için Derleme Araçları
- Microsoft Visual C++ Yeniden Dağıtılabilir Paketleri Visual Studio 2022 için
LLVM'yi yükleyin
- LLVM indirme sayfasına gidin,
- Windows ile uyumlu LLVM'yi C:/Program Files/LLVM klasörüne indirip kurun (örneğin, LLVM-17.0.6-win64.exe).
GPU desteğini yükleyin (isteğe bağlı)
TensorFlow'u GPU üzerinde çalıştırmak için gereken sürücüleri ve ek yazılımları yüklemek üzere Windows GPU destek kılavuzuna bakın.
TensorFlow kaynak kodunu indirin
Git kullanarak TensorFlow deposunu klonlayın ( git MSYS2 ile birlikte yüklenir):
git clone https://github.com/tensorflow/tensorflow.gitcd tensorflow
Depo varsayılan olarak master geliştirme dalını kullanır. Ayrıca derlemek için bir release dalını da kontrol edebilirsiniz:
git checkout branch_name # r1.9, r1.10, etc.
İsteğe bağlı: Çevresel Değişken Ayarı
Paket oluşturma sorunlarını önlemek için derleme komutunu çalıştırmadan önce aşağıdaki komutları çalıştırın: (Aşağıdaki komutlar paketler yüklenirken ayarlanmışsa, lütfen bunları dikkate almayın). Tüm yolların doğru ayarlanıp ayarlanmadığını kontrol etmek için set çalıştırın, belirli bir Ortam Değişkeni için ayarlanan yolu kontrol etmek için echo %Environmental Variable% örneğin ` echo %BAZEL_VC% komutunu çalıştırın.
Python yol kurulumu 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 kurulumu 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ı: Derlemeyi yapılandırın
TensorFlow derlemeleri, deponun kök dizinindeki .bazelrc dosyası tarafından yapılandırılır. Yaygın ayarları düzenlemek için ./configure veya ./configure.py komut dosyaları kullanılabilir.
Yapılandırmayı değiştirmeniz gerekiyorsa, deponun kök dizininden ./configure komutunu çalıştırın.
python ./configure.py
Bu betik, TensorFlow bağımlılıklarının konumunu girmenizi ister ve ek derleme yapılandırma seçenekleri (örneğin derleyici bayrakları) sorar. Aşağıda python ./configure.py komutunun örnek bir çalıştırılması gösterilmektedir (oturumunuz farklılık gösterebilir):
pip paketini derleyin ve kurun.
Pip paketi iki adımda oluşturulur. Bir bazel build komutu "package-builder" adlı bir program oluşturur. Ardından, paketi oluşturmak için package-builder programını çalıştırırsınız.
Paket oluşturucuyu oluşturun.
tensorflow:master deposu varsayılan olarak 2.x sürümünü oluşturacak şekilde güncellendi. Bazel'ı kurun 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 oluşturmak için bazel kullanın:
MSVC ile derleyin
bazel build --config=opt --repo_env=TF_PYTHON_VERSION=3.11 //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
CLANG ile derleyin
TenorFlow'u CLANG derleyicisiyle derlemek için --config= win_clang seçeneğini 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ğine sahip bir TensorFlow paket oluşturucu yapmak için:
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package
Bazel önbelleğini temizlemek ve geçersiz veya güncel olmayan önbelleğe alınmış verilerden kaynaklanan hataları gidermek için kullanılan komutlar; `--expunge` bayrağıyla `bazel clean` komutu dosyaları kalıcı olarak siler.
bazel clean bazel clean --expunge
Bazel derleme seçenekleri
Paket oluşturma sorunlarını önlemek için derleme yaparken 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 kullanabilir. Sisteminiz bellek kısıtlamalıysa, Bazel'in RAM kullanımını şu parametreyle sınırlayın: --local_ram_resources=2048 .
GPU desteğiyle derleme yapıyorsanız, nvcc uyarı mesajlarını gizlemek 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. Sağlanan isme bağlı olarak paket 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
Gece paketini oluşturmak için, tensorflow yerine tf_nightly ayarlayın, örneğin CPU gece 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 bulunacaktı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 derleyin.
TensorFlow, MSYS kabuğu kullanılarak da derlenebilir. Aşağıda listelenen değişiklikleri yapın, ardından Windows yerel komut satırı ( cmd.exe ) için önceki talimatları izleyin.
MSYS yol dönüştürmesini 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=1export MSYS2_ARG_CONV_EXCL="*"
Yolunuzu belirleyin
Bazel ve Python kurulum dizinlerini $PATH ortam değişkeninize ekleyin. Eğer Bazel ` C:\tools\bazel.exe ve Python ` C:\Python\python.exe konumuna kuruluysa, PATH ş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ş derleme yapılandırmaları
İşlemci
| Sürüm | Python sürümü | Derleyici | Yapı araçları |
|---|---|---|---|
| tensorflow-2.21.0 | 3.10-3.13 | CLANG 18.1.4 | Bazel 7.4.1 |
| tensorflow-2.20.0 | 3.9-3.13 | CLANG 18.1.4 | Bazel 7.4.1 |
| tensorflow-2.19.0 | 3.9-3.12 | CLANG 18.1.4 | Bazel 6.5.0 |
| tensorflow-2.18.0 | 3.9-3.12 | CLANG 17.0.6 | Bazel 6.5.0 |
| tensorflow-2.17.0 | 3.9-3.12 | CLANG 17.0.6 | Bazel 6.5.0 |
| tensorflow-2.16.1 | 3.9-3.12 | CLANG 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üncelleme 3 | Bazel 0.19.0-0.21.0 |
| tensorflow-1.12.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | Bazel 0.15.0 |
| tensorflow-1.11.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | Bazel 0.15.0 |
| tensorflow-1.10.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.9.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.8.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.7.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.6.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.5.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.4.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.3.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.2.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.1.0 | 3.5 | MSVC 2015 güncelleme 3 | CMake v3.6.3 |
| tensorflow-1.0.0 | 3.5 | MSVC 2015 güncelleme 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üncelleme 3 | Bazel 0.19.0-0.21.0 | 7.4 | 10 |
| tensorflow_gpu-1.12.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | Bazel 0.15.0 | 7.2 | 9.0 |
| tensorflow_gpu-1.11.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | Bazel 0.15.0 | 7 | 9 |
| tensorflow_gpu-1.10.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 7 | 9 |
| tensorflow_gpu-1.9.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 7 | 9 |
| tensorflow_gpu-1.8.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 7 | 9 |
| tensorflow_gpu-1.7.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 7 | 9 |
| tensorflow_gpu-1.6.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 7 | 9 |
| tensorflow_gpu-1.5.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 7 | 9 |
| tensorflow_gpu-1.4.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 6 | 8 |
| tensorflow_gpu-1.3.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 6 | 8 |
| tensorflow_gpu-1.2.0 | 3.5-3.6 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 5.1 | 8 |
| tensorflow_gpu-1.1.0 | 3.5 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 5.1 | 8 |
| tensorflow_gpu-1.0.0 | 3.5 | MSVC 2015 güncelleme 3 | CMake v3.6.3 | 5.1 | 8 |