Zbuduj pakiet TensorFlow pip ze źródeł i zainstaluj go w Ubuntu Linux i macOS. Chociaż instrukcje mogą działać na innych systemach, są one testowane i obsługiwane tylko w Ubuntu i macOS.
Konfiguracja dla systemów Linux i macOS
Zainstaluj następujące narzędzia do kompilacji, aby skonfigurować środowisko programistyczne.
Zainstaluj Pythona i zależności pakietu TensorFlow
Ubuntu
sudo apt install python3-dev python3-pip
macOS
Wymagany jest program Xcode 9.2 lub nowszy.
Zainstaluj za pomocą menedżera pakietów Homebrew :
brew install python
Zainstaluj zależności pakietu pip TensorFlow (jeśli używasz środowiska wirtualnego, pomiń argument --user
):
pip install -U --user pip
Zainstaluj Bazel
Aby skompilować TensorFlow, musisz zainstalować Bazel. Bazelisk to prosty sposób na instalację Bazel i automatycznie pobiera odpowiednią wersję Bazel dla TensorFlow. Dla ułatwienia, dodaj Bazelisk jako plik wykonywalny bazel
w zmiennej PATH
.
Jeśli Bazelisk jest niedostępny, możesz zainstalować Bazel ręcznie. Upewnij się, że instalujesz poprawną wersję Bazel z pliku .bazelversion TensorFlow.
Zainstaluj Clang (zalecane, tylko Linux)
Clang to kompilator C/C++/Objective-C, który jest kompilowany w C++ w oparciu o LLVM. Jest domyślnym kompilatorem do kompilacji TensorFlow od wersji TensorFlow 2.13. Obecnie obsługiwana jest wersja LLVM/Clang 17.
Pakiety LLVM Debian/Ubuntu nightly zawierają automatyczny skrypt instalacyjny oraz pakiety do ręcznej instalacji w systemie Linux. Upewnij się, że uruchomisz następujące polecenie, jeśli ręcznie dodasz repozytorium LLVM apt do źródeł pakietów:
sudo apt-get update && sudo apt-get install -y llvm-17 clang-17
W tym przypadku /usr/lib/llvm-17/bin/clang
jest faktyczną ścieżką do clang.
Alternatywnie możesz pobrać i rozpakować wstępnie skompilowaną wersję Clang + LLVM 17 .
Poniżej przedstawiono przykład kroków, które można podjąć, aby skonfigurować pobrane pliki binarne Clang + LLVM 17 w systemach operacyjnych Debian/Ubuntu:
Przejdź do żądanego katalogu docelowego:
cd <desired directory>
Załaduj i rozpakuj plik archiwum...(odpowiedni dla Twojej architektury):
wget https://github.com/llvm/llvm-project/releases/download/llvmorg-17.0.2/clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04.tar.xz
tar -xvf clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04.tar.xz
Skopiuj wypakowaną zawartość (katalogi i pliki) do
/usr
(możesz potrzebować uprawnień sudo, a właściwy katalog może się różnić w zależności od dystrybucji). To skutecznie zainstaluje Clang i LLVM i doda je do ścieżki. Nie powinieneś niczego zmieniać, chyba że masz wcześniejszą instalację. W takim przypadku powinieneś zmienić pliki:cp -r clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04/* /usr
Sprawdź uzyskaną wersję plików binarnych Clang + LLVM 17:
clang --version
Teraz, gdy
/usr/bin/clang
jest faktyczną ścieżką do nowego pliku clang, możesz uruchomić skrypt./configure
lub ręcznie ustawić zmienne środowiskoweCC
iBAZEL_COMPILER
na tę ścieżkę.
Zainstaluj obsługę GPU (opcjonalnie, tylko Linux)
W systemie macOS nie ma wsparcia dla GPU.
Przeczytaj przewodnik obsługi procesorów graficznych , aby zainstalować sterowniki i dodatkowe oprogramowanie wymagane do uruchomienia TensorFlow na procesorze graficznym.
Pobierz kod źródłowy TensorFlow
Użyj Gita do sklonowania repozytorium TensorFlow :
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow
Repozytorium domyślnie znajduje się w master
gałęzi rozwojowej. Możesz również sprawdzić gałąź wydania , aby skompilować:
git checkout branch_name # r2.2, r2.3, etc.
Skonfiguruj kompilację
Kompilacje TensorFlow są konfigurowane za pomocą pliku .bazelrc
w katalogu głównym repozytorium. Skrypty ./configure
lub ./configure.py
służą do dostosowywania typowych ustawień.
Uruchom skrypt ./configure
z katalogu głównego repozytorium. Ten skrypt poprosi o podanie lokalizacji zależności TensorFlow i dodatkowe opcje konfiguracji kompilacji (na przykład flagi kompilatora). Szczegóły znajdziesz w sekcji „Przykładowa sesja” .
./configure
Istnieje również wersja tego skryptu w języku Python: ./configure.py
. W środowisku wirtualnym python configure.py
priorytetyzuje ścieżki wewnątrz środowiska, natomiast ./configure
priorytetyzuje ścieżki poza środowiskiem. W obu przypadkach można zmienić ustawienia domyślne.
Przykładowa sesja
Poniżej przedstawiono przykład uruchomienia skryptu ./configure
(Twoja sesja może być inna):
Opcje konfiguracji
Obsługa GPU
od wersji 2.18.0
Aby zapewnić obsługę GPU , należy ustawić cuda=Y
podczas konfiguracji i w razie potrzeby określić wersje CUDA i cuDNN. Bazel automatycznie pobierze pakiety CUDA i CUDNN lub w razie potrzeby wskaże redystrybucje CUDA/CUDNN/NCCL w lokalnym systemie plików.
przed wersją 2.18.0
Aby zapewnić obsługę GPU , ustaw cuda=Y
podczas konfiguracji i określ wersje CUDA i cuDNN. Jeśli w systemie zainstalowanych jest wiele wersji CUDA lub cuDNN, ustaw wersję jawnie, zamiast polegać na wersji domyślnej. ./configure
tworzy dowiązania symboliczne do bibliotek CUDA w systemie — dlatego jeśli zaktualizujesz ścieżki bibliotek CUDA, ten krok konfiguracji należy wykonać ponownie przed kompilacją.
Optymalizacje
W przypadku flag optymalizacji kompilacji, domyślna wartość ( -march=native
) optymalizuje generowany kod pod kątem typu procesora Twojej maszyny. Jeśli jednak kompilujesz TensorFlow dla innego typu procesora, rozważ użycie bardziej szczegółowej flagi optymalizacji. Przykłady znajdziesz w podręczniku GCC .
Wstępnie skonfigurowane konfiguracje
Dostępnych jest kilka wstępnie skonfigurowanych konfiguracji kompilacji, które można dodać do polecenia bazel build
, na przykład:
-
--config=dbg
— Kompilacja z informacjami debugowania. Szczegóły w pliku CONTRIBUTING.md . -
--config=mkl
— Obsługa protokołu Intel® MKL-DNN . -
--config=monolithic
— konfiguracja przeznaczona do kompilacji w większości statycznej i monolitycznej.
Zbuduj i zainstaluj pakiet pip
Opcje kompilacji Bazel
Aby zapoznać się z opcjami kompilacji, zapoznaj się z dokumentacją wiersza poleceń Bazel.
Kompilacja TensorFlow ze źródeł może zużywać dużo pamięci RAM. Jeśli Twój system ma ograniczenia pamięci, ogranicz użycie pamięci RAM przez Bazel za pomocą: --local_ram_resources=2048
.
Oficjalne pakiety TensorFlow są tworzone przy użyciu zestawu narzędzi Clang zgodnego ze standardem pakietów manylinux2014.
Zbuduj pakiet
Aby zbudować pakiet pip, należy określić flagę --repo_env=WHEEL_NAME
. W zależności od podanej nazwy zostanie utworzony pakiet, np.:
Aby zbudować pakiet CPU TensorFlow:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu
Aby zbudować pakiet GPU TensorFlow:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow --config=cuda --config=cuda_wheel
Aby zbudować pakiet TPU TensorFlow:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_tpu --config=tpu
Aby zbudować pakiet nocny, ustaw tf_nightly
zamiast tensorflow
, np. aby zbudować pakiet nocny dla procesora:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tf_nightly_cpu
W rezultacie wygenerowane koło będzie zlokalizowane w
bazel-bin/tensorflow/tools/pip_package/wheel_house/
Zainstaluj pakiet
Nazwa wygenerowanego pliku .whl
zależy od wersji TensorFlow i platformy. Użyj pip install
, aby zainstalować pakiet, na przykład:
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Kompilacje Docker Linux
Obrazy deweloperskie Dockera w TensorFlow to prosty sposób na skonfigurowanie środowiska do budowania pakietów Linuxa ze źródeł. Te obrazy zawierają już kod źródłowy i zależności wymagane do zbudowania TensorFlow. Instrukcje instalacji i listę dostępnych tagów obrazów znajdziesz w przewodniku TensorFlow Docker .
Tylko procesor
Poniższy przykład wykorzystuje obraz :devel
do zbudowania pakietu tylko dla procesora z najnowszego kodu źródłowego TensorFlow. Sprawdź w przewodniku po Dockerze dostępne tagi TensorFlow -devel
.
Pobierz najnowszy obraz deweloperski i uruchom kontener Docker, którego użyjesz do zbudowania pakietu pip :
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
Powyższe polecenie docker run
uruchamia powłokę w katalogu /tensorflow_src
– korzeniu drzewa źródłowego. Montuje bieżący katalog hosta w katalogu /mnt
kontenera i przekazuje informacje o użytkowniku hosta do kontenera za pośrednictwem zmiennej środowiskowej (używanej do ustawiania uprawnień – Docker może to utrudniać).
Alternatywnie, aby zbudować kopię hosta TensorFlow w kontenerze, zamontuj drzewo źródłowe hosta w katalogu /tensorflow
kontenera:
docker run -it -w /tensorflow -v /path/to/tensorflow:/tensorflow -v $PWD:/mnt \ -e HOST_PERMS="\\((id -u):\\)(id -g)" tensorflow/tensorflow:devel bash
Po skonfigurowaniu drzewa źródłowego należy skompilować pakiet TensorFlow w wirtualnym środowisku kontenera:
- Opcjonalnie: Skonfiguruj kompilację — użytkownik zostanie poproszony o odpowiedź na pytania dotyczące konfiguracji kompilacji.
- Zbuduj pakiet pip .
- Dostosuj uprawnienia własności pliku poza kontenerem.
./configure # if necessary
bazel build //tensorflow/tools/pip_package:wheel \ --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu --config=opt
`chown $HOST_PERMS bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Zainstaluj i zweryfikuj pakiet w kontenerze:
pip uninstall tensorflow # remove current version
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
cd /tmp # don't import from source directory
python -c "import tensorflow as tf; print(tf.__version__)"
Na komputerze hosta pakiet pip TensorFlow znajduje się w bieżącym katalogu (z uprawnieniami użytkownika hosta): ./tensorflow- version - tags .whl
Obsługa GPU
Docker to najłatwiejszy sposób na zbudowanie obsługi GPU dla TensorFlow, ponieważ komputer hosta wymaga jedynie sterownika NVIDIA® (nie ma potrzeby instalowania pakietu NVIDIA® CUDA® Toolkit ). Zapoznaj się z przewodnikiem obsługi GPU oraz przewodnikiem TensorFlow Docker, aby skonfigurować nvidia-docker (tylko Linux).
Poniższy przykład pobiera obraz TensorFlow :devel-gpu
i używa nvidia-docker
do uruchomienia kontenera obsługującego GPU. Ten obraz deweloperski jest skonfigurowany do budowania pakietu pip z obsługą GPU:
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
Następnie w wirtualnym środowisku kontenera utwórz pakiet TensorFlow z obsługą GPU:
./configure # if necessary
bazel build //tensorflow/tools/pip_package:wheel \ --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow --config=cuda \ --config=cuda_wheel --config=opt
chown $HOST_PERMS bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Zainstaluj i zweryfikuj pakiet w kontenerze i sprawdź, czy istnieje procesor graficzny:
pip uninstall tensorflow # remove current version
pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/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.list_physical_devices('GPU')))"
Przetestowane konfiguracje kompilacji
Linux
Procesor
Wersja | Wersja Pythona | Kompilator | Narzędzia do kompilacji |
---|---|---|---|
tensorflow-2.20.0 | 3.9-3.13 | Clang 18.1.8 | Bazel 7.4.1 |
tensorflow-2.19.0 | 3.9-3.12 | Clang 18.1.8 | Bazel 6.5.0 |
tensorflow-2.18.0 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 |
tensorflow-2.17.0 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 |
tensorflow-2.16.1 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 |
tensorflow-2.15.0 | 3.9-3.11 | Clang 16.0.0 | Bazel 6.1.0 |
tensorflow-2.14.0 | 3.9-3.11 | Clang 16.0.0 | Bazel 6.1.0 |
tensorflow-2.13.0 | 3.8-3.11 | Clang 16.0.0 | Bazel 5.3.0 |
tensorflow-2.12.0 | 3.8-3.11 | GCC 9.3.1 | Bazel 5.3.0 |
tensorflow-2.11.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.3.0 |
tensorflow-2.10.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.1.1 |
tensorflow-2.9.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.0.0 |
tensorflow-2.8.0 | 3.7-3.10 | GCC 7.3.1 | Bazel 4.2.1 |
tensorflow-2.7.0 | 3.7-3.9 | GCC 7.3.1 | Bazel 3.7.2 |
tensorflow-2.6.0 | 3,6-3,9 | GCC 7.3.1 | Bazel 3.7.2 |
tensorflow-2.5.0 | 3,6-3,9 | GCC 7.3.1 | Bazel 3.7.2 |
tensorflow-2.4.0 | 3,6-3,8 | GCC 7.3.1 | Bazel 3.1.0 |
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 |
Procesor graficzny
Wersja | Wersja Pythona | Kompilator | Narzędzia do kompilacji | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow-2.20.0 | 3.9-3.13 | Clang 18.1.8 | Bazel 7.4.1 | 9.3 | 12,5 |
tensorflow-2.19.0 | 3.9-3.12 | Clang 18.1.8 | Bazel 6.5.0 | 9.3 | 12,5 |
tensorflow-2.18.0 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 | 9.3 | 12,5 |
tensorflow-2.17.0 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 | 8.9 | 12.3 |
tensorflow-2.16.1 | 3.9-3.12 | Clang 17.0.6 | Bazel 6.5.0 | 8.9 | 12.3 |
tensorflow-2.15.0 | 3.9-3.11 | Clang 16.0.0 | Bazel 6.1.0 | 8.9 | 12.2 |
tensorflow-2.14.0 | 3.9-3.11 | Clang 16.0.0 | Bazel 6.1.0 | 8.7 | 11.8 |
tensorflow-2.13.0 | 3.8-3.11 | Clang 16.0.0 | Bazel 5.3.0 | 8.6 | 11.8 |
tensorflow-2.12.0 | 3.8-3.11 | GCC 9.3.1 | Bazel 5.3.0 | 8.6 | 11.8 |
tensorflow-2.11.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.3.0 | 8.1 | 11.2 |
tensorflow-2.10.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.1.1 | 8.1 | 11.2 |
tensorflow-2.9.0 | 3.7-3.10 | GCC 9.3.1 | Bazel 5.0.0 | 8.1 | 11.2 |
tensorflow-2.8.0 | 3.7-3.10 | GCC 7.3.1 | Bazel 4.2.1 | 8.1 | 11.2 |
tensorflow-2.7.0 | 3.7-3.9 | GCC 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
tensorflow-2.6.0 | 3,6-3,9 | GCC 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
tensorflow-2.5.0 | 3,6-3,9 | GCC 7.3.1 | Bazel 3.7.2 | 8.1 | 11.2 |
tensorflow-2.4.0 | 3,6-3,8 | GCC 7.3.1 | Bazel 3.1.0 | 8.0 | 11.0 |
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 |
macOS
Procesor
Wersja | Wersja Pythona | Kompilator | Narzędzia do kompilacji |
---|---|---|---|
tensorflow-2.16.1 | 3.9-3.12 | Clang z Xcode 13.6 | Bazel 6.5.0 |
tensorflow-2.15.0 | 3.9-3.11 | Clang z xcode 10.15 | Bazel 6.1.0 |
tensorflow-2.14.0 | 3.9-3.11 | Clang z xcode 10.15 | Bazel 6.1.0 |
tensorflow-2.13.0 | 3.8-3.11 | Clang z xcode 10.15 | Bazel 5.3.0 |
tensorflow-2.12.0 | 3.8-3.11 | Clang z xcode 10.15 | Bazel 5.3.0 |
tensorflow-2.11.0 | 3.7-3.10 | Clang z xcode 10.14 | Bazel 5.3.0 |
tensorflow-2.10.0 | 3.7-3.10 | Clang z xcode 10.14 | Bazel 5.1.1 |
tensorflow-2.9.0 | 3.7-3.10 | Clang z xcode 10.14 | Bazel 5.0.0 |
tensorflow-2.8.0 | 3.7-3.10 | Clang z xcode 10.14 | Bazel 4.2.1 |
tensorflow-2.7.0 | 3.7-3.9 | Clang z xcode 10.11 | Bazel 3.7.2 |
tensorflow-2.6.0 | 3,6-3,9 | Clang z xcode 10.11 | Bazel 3.7.2 |
tensorflow-2.5.0 | 3,6-3,9 | Clang z xcode 10.11 | Bazel 3.7.2 |
tensorflow-2.4.0 | 3,6-3,8 | Clang z xcode 10.3 | Bazel 3.1.0 |
tensorflow-2.3.0 | 3,5-3,8 | Clang z xcode 10.1 | Bazel 3.1.0 |
tensorflow-2.2.0 | 3,5-3,8 | Clang z xcode 10.1 | Bazel 2.0.0 |
tensorflow-2.1.0 | 2,7, 3,5-3,7 | Clang z xcode 10.1 | Bazel 0.27.1 |
tensorflow-2.0.0 | 2,7, 3,5-3,7 | Clang z xcode 10.1 | Bazel 0.27.1 |
tensorflow-2.0.0 | 2.7, 3.3-3.7 | Clang z xcode 10.1 | Bazel 0.26.1 |
tensorflow-1.15.0 | 2.7, 3.3-3.7 | Clang z xcode 10.1 | Bazel 0.26.1 |
tensorflow-1.14.0 | 2.7, 3.3-3.7 | Clang z Xcode | Bazel 0.24.1 |
tensorflow-1.13.1 | 2.7, 3.3-3.7 | Clang z Xcode | Bazel 0.19.2 |
tensorflow-1.12.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.15.0 |
tensorflow-1.11.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.15.0 |
tensorflow-1.10.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.15.0 |
tensorflow-1.9.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.11.0 |
tensorflow-1.8.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.10.1 |
tensorflow-1.7.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.10.1 |
tensorflow-1.6.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.8.1 |
tensorflow-1.5.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.8.1 |
tensorflow-1.4.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.5.4 |
tensorflow-1.3.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.4.5 |
tensorflow-1.2.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.4.5 |
tensorflow-1.1.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.4.2 |
tensorflow-1.0.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.4.2 |
Procesor graficzny
Wersja | Wersja Pythona | Kompilator | Narzędzia do kompilacji | cuDNN | CUDA |
---|---|---|---|---|---|
tensorflow_gpu-1.1.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.4.2 | 5.1 | 8 |
tensorflow_gpu-1.0.0 | 2.7, 3.3-3.6 | Clang z Xcode | Bazel 0.4.2 | 5.1 | 8 |