Kaynaktan bir TensorFlow pip paketi oluşturun ve bunu Windows'a kurun.
Windows için kurulum
Windows geliştirme ortamınızı yapılandırmak için aşağıdaki oluşturma araçlarını kurun.
Python ve TensorFlow paket bağımlılıklarını kurun
Windows için bir Python 3.7+ 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ı kurun:
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 listelenir.
Bazel'i yükleyin
TensorFlow'u derlemek için kullanılan yapı aracı Bazel'i kurun. Bazel sürümü için, Windows için test edilmiş yapı yapılandırmalarına bakın. C++ derlemek için Bazel'i yapılandırın.
Yürütülebilir Bazel 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
, %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ıca kurulabilir:
- Visual Studio indirmelerine gidin,
- Yeniden Dağıtılabilir Öğeleri ve Derleme Araçları'nı seçin,
- İndirin ve kurun:
- Microsoft Visual C++ 2019 Yeniden Dağıtılabilir
- Microsoft Derleme Araçları 2019
GPU desteğini yükleyin (isteğe bağlı)
TensorFlow'u bir GPU üzerinde ç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 yüklenir):
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
Depo varsayılan olarak master
geliştirme şubesine gider. Oluşturmak için bir sürüm dalına da göz atabilirsiniz:
git checkout branch_name # r1.9, r1.10, etc.
İsteğe bağlı: Yapıyı yapılandırın
TensorFlow derlemeleri, havuzun kök dizinindeki .bazelrc
dosyası tarafından yapılandırılır. ./configure
veya ./configure.py
komut dosyaları, ortak ayarları yapmak için kullanılabilir.
Yapılandırmayı değiştirmeniz gerekirse, havuzun kök dizininden ./configure
betiğini çalıştırın.
python ./configure.py
Bu betik 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ıştırması gösterilmektedir (oturumunuz farklı olabilir):
Yapılandırma seçenekleri
GPU desteği için CUDA ve cuDNN sürümlerini belirtin. Sisteminizde birden fazla CUDA veya cuDNN sürümü yüklüyse, varsayılana güvenmek yerine sürümü açıkça ayarlayın. ./configure.py
, sisteminizin CUDA kitaplıklarına sembolik bağlantılar oluşturur; bu nedenle, CUDA kitaplık yollarınızı güncellerseniz, oluşturmadan önce bu yapılandırma adımının yeniden çalıştırılması gerekir.
Pip paketini oluşturun ve kurun
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şturmak üzere güncellendi. TensorFlow paket oluşturucuyu oluşturmak için Bazel'i kurun ve bazel build
build'i kullanın.
bazel build //tensorflow/tools/pip_package:build_pip_package
yalnızca CPU
TensorFlow paket oluşturucuyu yalnızca CPU desteğiyle yapmak 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 yapmak için:
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package
Bazel yapı seçenekleri
Paket oluşturmayla ilgili sorunları önlemek için oluştururken bu seçeneği kullanın: tensorflow:issue#22390
--define=no_tensorflow_py_deps=true
Yapı seçenekleri için Bazel komut satırı başvurusuna bakın.
TensorFlow'u kaynaktan oluşturmak çok fazla RAM kullanabilir. Sisteminizde bellek 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 bazel build
komutu, build_pip_package
adlı 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ğaç altında hem CUDA hem de CUDA dışı 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 kurun
Oluşturulan .whl
dosyasının dosya adı, TensorFlow sürümüne ve platformunuza bağlıdır. Paketi kurmak için pip3 install
kullanın, örneğin:
pip3 install C:/tmp/tensorflow_pkg/tensorflow-version-cp36-cp36m-win_amd64.whl
MSYS kabuğunu kullanarak derleyin
TensorFlow, MSYS kabuğu kullanılarak da oluşturulabilir. 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üşümünü devre dışı bırak
MSYS, Unix yolları gibi görünen 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 çizgi ile başladığından 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, C:\Python36\python.exe
, PATH
şu şekilde ayarlayın:
# Use Unix-style with ':' as separatorexport PATH="/c/tools:$PATH"
export PATH="/c/Python36:$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 versiyonu | Derleyici | Yapı araçları |
---|---|---|---|
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 versiyonu | Derleyici | Yapı araçları | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-2.11.0 | 3.7-3.10 | MSVC 2019 | Bazel 5.3.0 | 8.1 | 11.2 |
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 |