Kaynaktan bir TensorFlow pip paketi oluşturun ve bunu 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 paketi 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 bunu %PATH%
ortam değişkeninize ekleyin.
TensorFlow pip paketi bağımlılıklarını yükleyin:
pip3 install -U six numpy wheel packaging
pip3 install -U keras_preprocessing --no-deps
Bağımlılıklar REQUIRED_PACKAGES
altındaki setup.py
dosyasında listelenir.
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'a yönelik test edilmiş yapı yapılandırmalarına bakın. Bazel'i C++ oluşturacak şekilde yapılandırın.
Bazel yürütülebilir dosyasının konumunu %PATH%
ortam değişkeninize ekleyin.
MSYS2'yi yükleyin
TensorFlow'u oluşturmak için gereken bin araçları için MSYS2'yi yükleyin . MSYS2, C:\msys64
dizinine kuruluysa, %PATH%
ortam değişkeninize C:\msys64\usr\bin
ekleyin. Ardından cmd.exe
kullanarak şunu çalıştırın:
pacman -S git patch unzip
Visual C++ Derleme Araçları 2019'u yükleyin
Visual C++ derleme araçlarını 2019 yükleyin. Bu, Visual Studio 2019 ile birlikte gelir ancak ayrı olarak da kurulabilir:
- Visual Studio indirmelerine gidin,
- Yeniden Dağıtılabilir Öğeler ve Oluşturma Araçları'nı seçin,
- İndirin ve yükleyin:
- Microsoft Visual C++ 2019 Yeniden Dağıtılabilir
- Microsoft Yapı Araçları 2019
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ımı 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 yüklenir):
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
Repo varsayılan olarak master
geliştirme şubesine gider. Ayrıca oluşturmak için bir sürüm şubesine de göz atabilirsiniz:
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 build komutunu çalıştırmadan önce aşağıdaki komutları çalıştırın: (Paketleri yüklerken aşağıdaki komutlar ayarlanmışsa lütfen bunları dikkate almayın). Tüm yolların doğru şekilde ayarlanıp set
kontrol edin, belirli bir Çevresel Değişken için yol ayarını kontrol etmek için echo %Environmental Variable%
örneğin echo %BAZEL_VC%
komutunu çalıştırın.
Python yolu kurulumu sorunu 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 yolu kurulumu sorunu 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
İsteğe bağlı: Derlemeyi yapılandırın
TensorFlow yapıları, deponun kök dizinindeki .bazelrc
dosyası tarafından yapılandırılır. Ortak 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
betiğini çalıştırın.
python ./configure.py
Bu komut dosyası sizden TensorFlow bağımlılıklarının konumunu sorar ve ek yapı yapılandırma seçenekleri (örneğin derleyici bayrakları) ister. Aşağıda örnek bir python ./configure.py
çalışması gösterilmektedir (oturumunuz farklı olabilir):
Pip paketini oluşturun ve yükleyin
Pip paketi iki adımda oluşturulur. bazel build
komutları bir "paket oluşturucu" programı oluşturur. Daha sonra paketi oluşturmak için paket oluşturucuyu çalıştırırsınız.
Paket oluşturucuyu oluşturun
tensorflow:master repo varsayılan olarak 2.x oluşturacak şekilde güncellendi. Bazel'i kurun ve TensorFlow paket oluşturucusunu oluşturmak için bazel build
kullanın.
bazel build //tensorflow/tools/pip_package:build_pip_package
Yalnızca CPU
TensorFlow paket oluşturucusunu yalnızca CPU desteğiyle oluşturmak için bazel
kullanın:
bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package
GPU desteği
TensorFlow paket oluşturucusunu GPU desteğiyle oluşturmak için:
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package
Geçersiz veya eski önbelleğe alınmış verilerden kaynaklanan hataları çözmek için bazel önbelleğini temizleme komutları, bazel clean --expunge bayrağıyla dosyaları kalıcı olarak kaldırır
bazel clean bazel clean --expunge
Bazel oluşturma seçenekleri
Paket oluşturmada sorun yaşamamak 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 kaynaktan oluşturmak çok fazla RAM kullanabilir. Sisteminizin belleği kısıtlıysa Bazel'in RAM kullanımını şu şekilde sınırlayın: --local_ram_resources=2048
.
GPU desteğiyle oluşturuyorsanız, nvcc uyarı mesajlarını bastırmak için --copt=-nvcc_options=disable-warnings
ekleyin.
Paketi oluştur
bazel build
komutu build_pip_package
adında bir yürütülebilir dosya oluşturur; bu, pip
paketini oluşturan programdır. Örneğin, aşağıdakiler C:/tmp/tensorflow_pkg
dizininde bir .whl
paketi oluşturur:
bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg
Aynı kaynak ağacı altında hem CUDA hem de CUDA olmayan yapılandırmalar oluşturmak mümkün olsa da, aynı kaynak ağaçta bu iki yapılandırma arasında geçiş yaparken bazel clean
çalıştırmanızı öneririz.
Paketi yükleyin
Oluşturulan .whl
dosyasının dosya adı TensorFlow sürümüne ve platformunuza bağlıdır. Paketi yüklemek için pip3 install
kullanın, örneğin:
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 kabuğunu kullanarak derleme
TensorFlow, MSYS kabuğu kullanılarak da oluşturulabilir. Aşağıda listelenen değişiklikleri yapın ve ardından Windows yerel komut satırına ( cmd.exe
) ilişkin önceki talimatları izleyin.
MSYS yolu dönüştürmeyi devre dışı bırak
MSYS, Unix yollarına benzeyen bağımsız değişkenleri 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
ve Python da C:\Python\python.exe
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
dosyanıza 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 | Araçlar oluşturun |
---|---|---|---|
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üncelleştirmesi 3 | Bazel 0.19.0-0.21.0 |
tensorflow-1.12.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Bazel 0.15.0 |
tensorflow-1.11.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Bazel 0.15.0 |
tensorflow-1.10.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.9.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.8.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.7.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.6.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.5.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.4.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.3.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.2.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.1.0 | 3.5 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
tensorflow-1.0.0 | 3.5 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 |
GPU
Sürüm | Python sürümü | Derleyici | Araçlar oluşturun | 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üncelleştirmesi 3 | Bazel 0.19.0-0.21.0 | 7.4 | 10 |
tensorflow_gpu-1.12.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Bazel 0.15.0 | 7.2 | 9.0 |
tensorflow_gpu-1.11.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Bazel 0.15.0 | 7 | 9 |
tensorflow_gpu-1.10.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.9.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.8.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.7.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.6.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.5.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 7 | 9 |
tensorflow_gpu-1.4.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.3.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 6 | 8 |
tensorflow_gpu-1.2.0 | 3.5-3.6 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.1.0 | 3.5 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 3.5 | MSVC 2015 güncelleştirmesi 3 | Cmake v3.6.3 | 5.1 | 8 |