Google, Siyahi topluluklar için ırksal eşitliği geliştirmeye kararlıdır. Nasıl olduğunu gör.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Kaynaktan derleme

Kaynaktan bir TensorFlow pip paketi oluşturun ve Ubuntu Linux ve macOS'a kurun. Talimatlar diğer sistemler için geçerli olsa da, yalnızca Ubuntu ve macOS için test edilmiş ve desteklenmiştir.

Linux ve macOS için kurulum

Geliştirme ortamınızı yapılandırmak için aşağıdaki oluşturma araçlarını yükleyin.

Python ve TensorFlow paket bağımlılıklarını yükleme

Ubuntu

sudo apt install python3-dev python3-pip

Mac os işletim sistemi

Xcode 9.2 veya üst sürümünü gerektirir.

Homebrew paket yöneticisini kullanarak yükleyin:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
# if you are on macOS 10.12 (Sierra) use export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
brew install python

(Sanal bir ortam kullanılıyorsa, ihmal TensorFlow pip paket bağımlılıklarını yükleyin --user argüman):

pip install -U --user pip six 'numpy<1.19.0' wheel setuptools mock 'future>=0.17.1'
pip install -U --user keras_applications --no-deps
pip install -U --user keras_preprocessing --no-deps

Bazel yükleyin

TensorFlow'u kurmak için Bazel'i kurmanız gerekecek. Bazelisk , Bazel'i kurmanın kolay bir yoludur ve TensorFlow için otomatik olarak doğru Bazel sürümünü indirir. Kullanım kolaylığı açısından, hem Bazelisk eklemek bazel sizin de yürütülebilir PATH .

Bazelisk mevcut değilse, Bazel'i manuel olarak kurabilirsiniz . Desteklenen Bazel sürümünü yüklediğinizden emin olun: tensorflow/configure.py belirtildiği gibi _TF_MIN_BAZEL_VERSION ile _TF_MAX_BAZEL_VERSION arasındaki herhangi bir sürüm.

GPU desteğini yükleme (isteğe bağlı, yalnızca Linux)

MacOS için GPU desteği yoktur .

GPU'da TensorFlow'u çalıştırmak için gerekli sürücüleri ve ek yazılımı yüklemek için GPU destek kılavuzunu okuyun.

TensorFlow kaynak kodunu indirin

Kullanım Git klonlamak TensorFlow depo :

git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow

Repo varsayılan olarak master geliştirme dalıdır. Ayrıca, aşağıdakileri oluşturmak için bir yayın şubesine de bakabilirsiniz:

git checkout branch_name  # r1.9, r1.10, etc.

Derlemeyi yapılandırın

TensorFlow kaynak ağacınızın kökündeki ./configure çalıştırarak sistem derlemenizi yapılandırın. Bu komut dosyası, TensorFlow bağımlılıklarının yerini ister ve ek derleme yapılandırma seçenekleri ister (örneğin, derleyici bayrakları).

./configure

Örnek oturum

Aşağıda örnek bir ./configure komut dosyası örneği gösterilmektedir (oturumunuz farklı olabilir):

Konfigürasyon seçenekleri

GPU desteği

GPU desteği için , yapılandırma sırasında cuda cuda=Y ayarını yapın ve CUDA ve cuDNN sürümlerini belirtin. Sisteminizde birden fazla CUDA veya cuDNN sürümü yüklüyse, varsayılanı kullanmak yerine sürümü açıkça ayarlayın. ./configure sisteminizin CUDA kitaplıklarına sembolik bağlantılar oluşturur; bu nedenle CUDA kitaplık yollarınızı güncellerseniz, bu yapılandırma adımının derlemeden önce yeniden çalıştırılması gerekir.

optimizasyonları

Derleme optimizasyonu bayrakları için varsayılan ( -march=native ), makinenizin CPU tipi için oluşturulan kodu optimize eder. Ancak, farklı bir CPU tipi için TensorFlow oluşturuyorsanız, daha spesifik bir optimizasyon bayrağı düşünün. Örnekler için GCC kılavuzuna bakın.

Önceden yapılandırılmış konfigürasyonlar

bazel build komutuna eklenebilen önceden yapılandırılmış bazı yapı yapılandırmaları vardır, örneğin:

  • --config=mkl MKL-DNN desteği .
  • --config=monolithic Çoğunlukla statik, monolitik bir yapı için yapılandırma.
  • --config=v1 2.x yerine TensorFlow 1.x dosyasını oluşturun.

Pip paketini oluşturun

TensorFlow 2.x

tensorflow: master repo varsayılan olarak 2.x derlemesi için güncellendi. TensorFlow paketini oluşturmak için Bazel'i kurun ve bazel build build'i kullanın.

bazel build //tensorflow/tools/pip_package:build_pip_package

TensorFlow 1.x

TensorFlow'un 1.x sürümünü master'dan oluşturmak için, bir TensorFlow 1.x paketi oluşturmak üzere bazel build --config=v1 kullanın.

bazel build --config=v1 //tensorflow/tools/pip_package:build_pip_package

Yalnızca CPU

Yalnızca CPU desteği olan TensorFlow paket oluşturucuyu yapmak için bazel kullanın:

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

GPU desteği

GPU destekli TensorFlow paket oluşturucuyu yapmak için:

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

Bazel oluşturma seçenekleri

Derleme seçenekleri için Bazel komut satırı referansına bakın.

Kaynaktan TensorFlow oluşturmak çok fazla RAM kullanabilir. Sisteminizde bellek kısıtlaması varsa --local_ram_resources=2048 RAM kullanımını aşağıdakilerle sınırlayın: --local_ram_resources=2048 .

Resmi TensorFlow paketleri , manylinux2010 paket standardına uyan bir GCC 7.3 takım zinciri ile üretilmiştir.

GCC 5 ve üstü için, eski ABI ile uyumluluk şu şekilde oluşturulabilir: --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" . ABI uyumluluğu, resmi TensorFlow paketine karşı oluşturulan özel işlemlerin GCC 5 yerleşik paketiyle çalışmaya devam etmesini sağlar.

Paketi oluşturun

build_pip_package bazel build komutu build_pip_package adlı bir yürütülebilir dosya oluşturur; bu, pip paketini oluşturan programdır. /tmp/tensorflow_pkg dizininde bir .whl paketi oluşturmak için yürütülebilir dosyayı aşağıda gösterildiği gibi çalıştırın.

Bir sürüm dalından oluşturmak için:

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

Master'dan oluşturmak için doğru bağımlılıkları almak için --nightly_flag kullanın:

./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg

Aynı kaynak ağacı altında hem CUDA hem de CUDA olmayan konfigürasyonlar oluşturmak mümkün olsa da, aynı kaynak ağacında bu iki konfigürasyon arasında geçiş yaparken bazel clean çalıştırılması önerilir.

Paketi yükleyin

Oluşturulan .whl dosyasının dosya adı TensorFlow sürümüne ve platformunuza bağlıdır. Paketi pip install için pip install kullanın, örneğin:

pip install /tmp/tensorflow_pkg/tensorflow- version - tags .whl

Docker Linux derlemeleri

TensorFlow'un Docker geliştirme görüntüleri, Linux paketlerini kaynaktan oluşturmak için bir ortam kurmanın kolay bir yoludur. Bu görüntüler zaten TensorFlow'u oluşturmak için gereken kaynak kodunu ve bağımlılıkları içerir. Kurulum için TensorFlow Docker kılavuzuna ve mevcut resim etiketlerinin listesine bakın .

Yalnızca CPU

Aşağıdaki örnekte, en son TensorFlow kaynak kodundan yalnızca CPU paketi oluşturmak için :devel image kullanılmaktadır. Bkz Docker kılavuzu mevcut TensorFlow için -devel etiketleri.

En son geliştirme görüntüsünü indirin ve pip paketini oluşturmak için kullanacağımız bir Docker kapsayıcısı başlatın:

docker pull tensorflow/tensorflow :devel
docker run -it -w /tensorflow_src -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \
    tensorflow/tensorflow :devel bash

git pull  # within the container, download the latest source code

Yukarıdaki docker run komutu, /tensorflow_src dizininde (kaynak ağacın kökü) bir kabuk başlatır. Ana bilgisayarın geçerli dizinini kabın /mnt dizinine bağlar ve ana bilgisayar kullanıcısının bilgilerini bir çevresel değişken aracılığıyla kaba aktarır (izinleri ayarlamak için kullanılır — Docker bunu zorlaştırabilir).

Alternatif olarak, bir kap içinde TensorFlow'un ana bilgisayar kopyasını oluşturmak için ana makine kaynak ağacını kapsayıcının /tensorflow dizinine /tensorflow :

docker run -it -w /tensorflow -v /path/to/tensorflow :/tensorflow -v $PWD:/mnt \
    -e HOST_PERMS="$(id -u):$(id -g)" tensorflow/tensorflow: devel bash

Kaynak ağacı kurulduğunda, TensorFlow paketini kapsayıcının sanal ortamında oluşturun:

  1. Derlemeyi yapılandırın — bu, kullanıcıdan derleme yapılandırması sorularını yanıtlamasını ister.
  2. Pip paketini oluşturmak için kullanılan aracı oluşturun.
  3. Pip paketini oluşturmak için aracı çalıştırın.
  4. Kapsayıcı dışında dosyanın sahiplik izinlerini ayarlayın.
./configure  # answer prompts or use defaults

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt  # create package

chown $HOST_PERMS /mnt/tensorflow- version - tags .whl

Paketi kap içine kurun ve doğrulayın:

pip uninstall tensorflow  # remove current version

pip install /mnt/tensorflow- version - tags .whl
cd /tmp  # don't import from source directory
python -c "import tensorflow as tf; print(tf.__version__)"

Ana makinenizde, TensorFlow pip paketi geçerli dizinde (ana bilgisayar kullanıcı izinleriyle): ./tensorflow- version - tags .whl

GPU desteği

Docker, ana makine yalnızca NVIDIA® sürücüsünü gerektirdiğinden ( NVIDIA® CUDA® Araç Kiti'nin yüklenmesi gerekmez) TensorFlow için GPU desteği oluşturmanın en kolay yoludur. Bkz GPU desteği rehber ve TensorFlow Docker rehber kurmak için nvidia-liman işçisi (Linux).

Aşağıdaki örnek TensorFlow'u indirir :devel-gpu görüntüsü ve GPU etkin kabı çalıştırmak için nvidia-docker docker'ı kullanır. Bu geliştirme görüntüsü, GPU desteğiyle bir pip paketi oluşturacak şekilde yapılandırılmıştır:

docker pull tensorflow/tensorflow :devel-gpu
docker run --gpus all -it -w /tensorflow -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \
    tensorflow/tensorflow :devel-gpu bash
git pull  # within the container, download the latest source code

Ardından, kabın sanal ortamında, GPU desteğiyle TensorFlow paketini oluşturun:

./configure  # answer prompts or use defaults

bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt  # create package

chown $HOST_PERMS /mnt/tensorflow- version - tags .whl

Paketi kap içine kurun ve doğrulayın ve bir GPU olup olmadığını kontrol edin:

pip uninstall tensorflow  # remove current version

pip install /mnt/tensorflow- version - tags .whl
cd /tmp  # don't import from source directory
python -c "import tensorflow as tf; print(\"Num GPUs Available: \", len(tf.config.experimental.list_physical_devices('GPU')))"

Test edilmiş yapı yapılandırmaları

Linux

İşlemci

versiyon Python sürümü Derleyici Oluşturma araçları
tensorflow-2.3.0 3,5-3,8 GCC 7.3.1 Bazel 3.1.0
tensorflow-2.2.0 3,5-3,8 GCC 7.3.1 Bazel 2.0.0
tensorflow-2.1.0 2.7, 3.5-3.7 GCC 7.3.1 Bazel 0.27.1
tensorflow-2.0.0 2.7, 3.3-3.7 GCC 7.3.1 Bazel 0.26.1
tensorflow-1.15.0 2.7, 3.3-3.7 GCC 7.3.1 Bazel 0.26.1
tensorflow-1.14.0 2.7, 3.3-3.7 GCC 4.8 Bazel 0.24.1
tensorflow-1.13.1 2.7, 3.3-3.7 GCC 4.8 Bazel 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.10.0
tensorflow-1.7.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.10.0
tensorflow-1.6.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.9.0
tensorflow-1.5.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.8.0
tensorflow-1.4.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2

GPU

versiyon Python sürümü Derleyici Oluşturma araçları cuDNN CUDA
tensorflow-2.3.0 3,5-3,8 GCC 7.3.1 Bazel 3.1.0 7.6 10.1
tensorflow-2.2.0 3,5-3,8 GCC 7.3.1 Bazel 2.0.0 7.6 10.1
tensorflow-2.1.0 2.7, 3.5-3.7 GCC 7.3.1 Bazel 0.27.1 7.6 10.1
tensorflow-2.0.0 2.7, 3.3-3.7 GCC 7.3.1 Bazel 0.26.1 7.4 10.0
tensorflow_gpu-1.15.0 2.7, 3.3-3.7 GCC 7.3.1 Bazel 0.26.1 7.4 10.0
tensorflow_gpu-1.14.0 2.7, 3.3-3.7 GCC 4.8 Bazel 0.24.1 7.4 10.0
tensorflow_gpu-1.13.1 2.7, 3.3-3.7 GCC 4.8 Bazel 0.19.2 7.4 10.0
tensorflow_gpu-1.12.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.11.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.10.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.15.0 7 9
tensorflow_gpu-1.9.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.11.0 7 9
tensorflow_gpu-1.8.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.10.0 7 9
tensorflow_gpu-1.7.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.6.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.9.0 7 9
tensorflow_gpu-1.5.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.8.0 7 9
tensorflow_gpu-1.4.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.5.4 6 8
tensorflow_gpu-1.3.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5 6 8
tensorflow_gpu-1.2.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.5 5.1 8
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 GCC 4.8 Bazel 0.4.2 5.1 8

Mac os işletim sistemi

İşlemci

versiyon Python sürümü Derleyici Oluşturma araçları
tensorflow-2.3.0 3,5-3,8 Xcode 10.1 sürümünden clang Bazel 3.1.0
tensorflow-2.2.0 3,5-3,8 Xcode 10.1 sürümünden clang Bazel 2.0.0
tensorflow-2.1.0 2.7, 3.5-3.7 Xcode 10.1 sürümünden clang Bazel 0.27.1
tensorflow-2.0.0 2.7, 3.5-3.7 Xcode 10.1 sürümünden clang Bazel 0.27.1
tensorflow-2.0.0 2.7, 3.3-3.7 Xcode 10.1 sürümünden clang Bazel 0.26.1
tensorflow-1.15.0 2.7, 3.3-3.7 Xcode 10.1 sürümünden clang Bazel 0.26.1
tensorflow-1.14.0 2.7, 3.3-3.7 Xcode sitesinden arama Bazel 0.24.1
tensorflow-1.13.1 2.7, 3.3-3.7 Xcode sitesinden arama Bazel 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.10.1
tensorflow-1.7.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.10.1
tensorflow-1.6.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.8.1
tensorflow-1.5.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.8.1
tensorflow-1.4.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.4.2

GPU

versiyon Python sürümü Derleyici Oluşturma araçları cuDNN CUDA
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 Xcode sitesinden arama Bazel 0.4.2 5.1 8