Windows'ta kaynaktan derleyin

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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:

  1. Visual Studio indirmelerine gidin,
  2. Yeniden Dağıtılabilir Öğeleri ve Derleme Araçları'nı seçin,
  3. İ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 separator
export 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