Windows'ta kaynaktan derle, Windows'ta kaynaktan derle

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 pip
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 -Syu (requires a console restart)
pacman -S git patch unzip
pacman -S git patch unzip rsync

Visual C++ Derleme Araçları 2022'yi yükleyin

Visual C++ derleme araçlarını 2022 yükleyin. Bu , Visual Studio Community 2022 ile birlikte gelir ancak ayrı olarak da kurulabilir:

  1. Visual Studio indirmelerine gidin,
  2. Visual Studio için Araçlar'ı veya Diğer Araçlar, Çerçeve ve Yeniden Dağıtılabilir Öğeler'i seçin,
  3. İndirin ve yükleyin:
    • Visual Studio 2022 için Araçlar Oluşturun
    • Visual Studio 2022 için Microsoft Visual C++ Yeniden Dağıtılabilir Öğeleri

LLVM'yi yükleyin

  1. LLVM indirmelerine gidin,
  2. Windows uyumlu LLVM'yi C:/Program Files/LLVM'ye 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ı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: (Aşağıdaki komutlar paketleri yüklerken 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, echo %Environmental Variable% komutunu çalıştırın; örneğin, echo %BAZEL_VC% belirli bir Çevresel Değişken için ayarlanan yolu kontrol etmek için

Python yolu 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 yolu 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 yapıları, havuzun 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ıştırması gösterilmektedir (oturumunuz farklı olabilir):

Pip paketini oluşturun ve yükleyin

Pip paketi iki adımda oluşturulmuştur. bazel build komutu 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:wheel

Yalnızca CPU

TensorFlow paket oluşturucusunu yalnızca CPU desteğiyle oluşturmak için bazel kullanın:

MSVC ile derleme
bazel build --config=opt --repo_env=TF_PYTHON_VERSION=3.11 //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tensorflow_cpu
CLANG ile oluşturun

CLANG Derleyicisi ile TenorFlow'u oluşturmak 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

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şturmayla ilgili sorunlardan kaçınmak 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

Bir pip paketi oluşturmak için --repo_env=WHEEL_NAME bayrağını belirtmeniz gerekir. Verilen ada 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

Gecelik paket oluşturmak için tensorflow yerine tf_nightly değerini ayarlayın; örneğin CPU gecelik paketi oluşturmak için:

bazel build //tensorflow/tools/pip_package:wheel --repo_env=WHEEL_NAME=tf_nightly_cpu

Sonuç olarak, oluşturulan tekerlek şu konuma yerleştirilecektir:

bazel-bin/tensorflow/tools/pip_package/wheel_house/

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 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 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 separator
export 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.18.0 3.9-3.12 KLAN 17.0.6 Bazel 6.5.0
tensorflow-2.17.0 3.9-3.12 KLAN 17.0.6 Bazel 6.5.0
tensorflow-2.16.1 3.9-3.12 KLAN 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ü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