Сборка из исходного кода

Соберите пакет TensorFlow pip из исходного кода и установите его на Ubuntu Linux и macOS. Хотя инструкции могут работать и на других системах, они протестированы и поддерживаются только для Ubuntu и macOS.

Настройка для Linux и macOS

Установите следующие инструменты сборки, чтобы настроить среду разработки.

Установите Python и зависимости пакета TensorFlow.

Ubuntu

sudo apt install python3-dev python3-pip

macOS

Требуется Xcode 9.2 или более поздней версии.

Установите с помощью менеджера пакетов Homebrew :

brew install python

Установите зависимости пакета TensorFlow через pip (если используете виртуальную среду, опустите аргумент --user ):

pip install -U --user pip

Установите Bazel

Для сборки TensorFlow вам потребуется установить Bazel. Bazelisk — это простой способ установить Bazel, который автоматически загружает правильную версию Bazel для TensorFlow. Для удобства использования добавьте Bazelisk в качестве исполняемого файла bazel в переменную PATH .

Если Bazelisk недоступен, вы можете установить Bazel вручную. Убедитесь, что вы устанавливаете правильную версию Bazel из файла .bazelversion TensorFlow.

Clang — это компилятор C/C++/Objective-C, скомпилированный на C++ на основе LLVM. Начиная с TensorFlow 2.13, он является компилятором по умолчанию для сборки TensorFlow. В настоящее время поддерживается версия LLVM/Clang 17.

Ночные сборки LLVM для Debian/Ubuntu предоставляют скрипт автоматической установки и пакеты для ручной установки в Linux. Убедитесь, что вы выполнили следующую команду, если вручную добавили репозиторий llvm apt в источники пакетов:

sudo apt-get update && sudo apt-get install -y llvm-17 clang-17

Теперь, когда /usr/lib/llvm-17/bin/clang является фактическим путем к clang в данном случае.

В качестве альтернативы вы можете загрузить и распаковать предварительно собранный Clang + LLVM 17 .

Ниже приведён пример шагов, которые можно предпринять для установки загруженных бинарных файлов Clang + LLVM 17 в операционных системах Debian/Ubuntu:

  1. Перейдите в нужный каталог: cd <desired directory>

  2. Загрузите и распакуйте архивный файл... (подходящий для вашей архитектуры):

    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
    

  3. Скопируйте извлеченное содержимое (каталоги и файлы) в /usr (возможно, вам потребуются права sudo, а правильный каталог может отличаться в зависимости от дистрибутива). Это фактически установит Clang и LLVM и добавит их в переменную PATH. Вам не нужно ничего заменять, если только у вас нет предыдущей установки, в этом случае вам следует заменить файлы:

    cp -r clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04/* /usr

  4. Проверьте версию полученных бинарных файлов Clang + LLVM 17:

    clang --version

  5. Теперь, когда /usr/bin/clang является фактическим путем к вашему новому clang, вы можете запустить скрипт ./configure или вручную установить переменные окружения CC и BAZEL_COMPILER на этот путь.

Установите поддержку графического процессора (необязательно, только для Linux).

Поддержка графического процессора в macOS отсутствует .

Ознакомьтесь с руководством по поддержке графических процессоров , чтобы установить драйверы и дополнительное программное обеспечение, необходимое для запуска TensorFlow на графическом процессоре.

Загрузите исходный код TensorFlow.

Используйте Git для клонирования репозитория TensorFlow :

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

По умолчанию репозиторий использует основную ветку разработки master development). Вы также можете переключиться на ветку релизов для сборки:

git checkout branch_name  # r2.2, r2.3, etc.

Настройте сборку

Настройка сборок TensorFlow осуществляется с помощью файла .bazelrc , расположенного в корневом каталоге репозитория. Для изменения общих параметров можно использовать скрипты ./configure или ./configure.py .

Пожалуйста, запустите скрипт ./configure из корневого каталога репозитория. Этот скрипт запросит у вас расположение зависимостей TensorFlow и дополнительные параметры конфигурации сборки (например, флаги компилятора). Подробности см. в разделе «Пример сессии» .

./configure

Существует также версия этого скрипта на Python, ./configure.py . При использовании виртуального окружения python configure.py отдает приоритет путям внутри этого окружения, тогда как ./configure отдает приоритет путям вне его. В обоих случаях можно изменить значение по умолчанию.

Пример сессии

Ниже показан пример выполнения скрипта ./configure (ваша сессия может отличаться):

Параметры конфигурации

поддержка графического процессора

начиная с версии 2.18.0

Для поддержки графического процессора установите cuda=Y во время настройки и укажите версии CUDA и cuDNN, если это необходимо. Bazel автоматически загрузит пакеты CUDA и CUDNN или укажет на дистрибутивы CUDA/CUDNN/NCCL в локальной файловой системе, если это потребуется.

до версии 2.18.0

Для поддержки графического процессора установите cuda=Y во время настройки и укажите версии CUDA и cuDNN. Если в вашей системе установлено несколько версий CUDA или cuDNN, явно укажите версию, а не полагайтесь на значение по умолчанию. ./configure создает символические ссылки на библиотеки CUDA вашей системы — поэтому, если вы обновите пути к библиотекам CUDA, этот шаг настройки необходимо будет выполнить снова перед сборкой.

Оптимизации

Что касается флагов оптимизации компиляции, то по умолчанию ( -march=native ) сгенерированный код оптимизируется для типа процессора вашей машины. Однако, если вы собираете TensorFlow для другого типа процессора, рассмотрите возможность использования более специфичного флага оптимизации. Примеры см. в руководстве GCC .

Предварительно настроенные конфигурации

В команду bazel build можно добавить несколько предварительно настроенных параметров, например:

  • --config=dbg —Сборка с отладочной информацией. Подробности см. в файле CONTRIBUTING.md .
  • --config=mkl —Поддержка Intel® MKL-DNN .
  • --config=monolithic — Конфигурация для преимущественно статической монолитной сборки.

Соберите и установите пакет pip.

Варианты сборки Bazel

Для получения информации о параметрах сборки обратитесь к справочнику по командной строке Bazel.

Сборка TensorFlow из исходного кода может потреблять много оперативной памяти. Если в вашей системе ограничен объем памяти, ограничьте использование оперативной памяти Bazel с помощью параметра: --local_ram_resources=2048 .

Официальные пакеты TensorFlow собираются с помощью набора инструментов Clang, соответствующего стандарту пакетов manylinux2014.

Соберите пакет

Для сборки пакета pip необходимо указать флаг --repo_env=WHEEL_NAME . В зависимости от указанного имени будет создан пакет, например:

Для сборки пакета TensorFlow для ЦП:

bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu

Для сборки пакета TensorFlow для графического процессора:

bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow --config=cuda --config=cuda_wheel

Для сборки пакета TensorFlow TPU:

bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_tpu --config=tpu

Для сборки ночного пакета используйте параметр tf_nightly вместо tensorflow , например, для сборки ночного пакета для ЦП:

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

В результате сгенерированное колесо будет расположено в

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

Установите пакет

Имя создаваемого файла .whl зависит от версии TensorFlow и вашей платформы. Для установки пакета используйте pip install , например:

pip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl

Сборки Docker для Linux

Образы Docker для разработки TensorFlow — это простой способ настроить среду для сборки пакетов Linux из исходного кода. Эти образы уже содержат исходный код и зависимости, необходимые для сборки TensorFlow. Инструкции по установке и список доступных тегов образов см. в руководстве по Docker для TensorFlow.

только ЦП

В следующем примере используется образ :devel для сборки пакета, предназначенного только для ЦП, из последнего исходного кода TensorFlow. Доступные теги TensorFlow -devel см. в руководстве по Docker .

Загрузите последнюю версию образа для разработчиков и запустите контейнер Docker, который вы будете использовать для сборки пакета 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

Приведённая выше команда docker run запускает оболочку в каталоге /tensorflow_src — корневом каталоге исходного кода. Она монтирует текущий каталог хоста в каталог ` /mnt контейнера и передаёт информацию о пользователе хоста в контейнер через переменную окружения (используемую для установки прав доступа — Docker может усложнить этот процесс).

В качестве альтернативы, чтобы создать копию TensorFlow для хост-системы внутри контейнера, смонтируйте исходный код хост-системы в каталог /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

После настройки исходного кода соберите пакет TensorFlow в виртуальной среде контейнера:

  1. Необязательно: Настройте сборку — при этом пользователю будет предложено ответить на вопросы о конфигурации сборки.
  2. Соберите пакет pip .
  3. Настройте права доступа к файлу для пользователей, находящихся вне контейнера.
./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

Установите и проверьте пакет внутри контейнера:

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__)"

На вашем компьютере пакет TensorFlow pip находится в текущем каталоге (с правами пользователя хоста) ./tensorflow- version - tags .whl

поддержка графического процессора

Docker — это самый простой способ обеспечить поддержку GPU для TensorFlow, поскольку хост- машина требует только драйвера NVIDIA® (установка NVIDIA® CUDA® Toolkit не обязательна). Для настройки nvidia-docker (только для Linux) обратитесь к руководству по поддержке GPU и руководству по использованию Docker для TensorFlow.

В следующем примере загружается образ TensorFlow :devel-gpu и используется nvidia-docker для запуска контейнера с поддержкой графического процессора. Этот образ для разработки настроен на сборку пакета pip с поддержкой графического процессора:

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

Затем, внутри виртуальной среды контейнера, соберите пакет TensorFlow с поддержкой графического процессора:

./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

Установите и проверьте пакет внутри контейнера, а также проверьте наличие графического процессора:

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')))"

Протестированные конфигурации сборки

Linux

Процессор

Версия версия Python Компилятор Инструменты для сборки
tensorflow-2.21.0 3.10-3.13 Clang 18.1.8 Базель 7.4.1
tensorflow-2.20.0 3.9-3.13 Clang 18.1.8 Базель 7.4.1
tensorflow-2.19.0 3.9-3.12 Clang 18.1.8 Базель 6.5.0
tensorflow-2.18.0 3.9-3.12 Clang 17.0.6 Базель 6.5.0
tensorflow-2.17.0 3.9-3.12 Clang 17.0.6 Базель 6.5.0
tensorflow-2.16.1 3.9-3.12 Clang 17.0.6 Базель 6.5.0
tensorflow-2.15.0 3.9-3.11 Clang 16.0.0 Базель 6.1.0
tensorflow-2.14.0 3.9-3.11 Clang 16.0.0 Базель 6.1.0
tensorflow-2.13.0 3.8-3.11 Clang 16.0.0 Базель 5.3.0
tensorflow-2.12.0 3.8-3.11 GCC 9.3.1 Базель 5.3.0
tensorflow-2.11.0 3.7-3.10 GCC 9.3.1 Базель 5.3.0
tensorflow-2.10.0 3.7-3.10 GCC 9.3.1 Базель 5.1.1
tensorflow-2.9.0 3.7-3.10 GCC 9.3.1 Базель 5.0.0
tensorflow-2.8.0 3.7-3.10 GCC 7.3.1 Базель 4.2.1
tensorflow-2.7.0 3.7-3.9 GCC 7.3.1 Базель 3.7.2
tensorflow-2.6.0 3.6-3.9 GCC 7.3.1 Базель 3.7.2
tensorflow-2.5.0 3.6-3.9 GCC 7.3.1 Базель 3.7.2
tensorflow-2.4.0 3.6-3.8 GCC 7.3.1 Базель 3.1.0
tensorflow-2.3.0 3.5-3.8 GCC 7.3.1 Базель 3.1.0
tensorflow-2.2.0 3.5-3.8 GCC 7.3.1 Базель 2.0.0
tensorflow-2.1.0 2.7, 3.5-3.7 GCC 7.3.1 Базель 0.27.1
tensorflow-2.0.0 2.7, 3.3-3.7 GCC 7.3.1 Базель 0.26.1
tensorflow-1.15.0 2.7, 3.3-3.7 GCC 7.3.1 Базель 0.26.1
tensorflow-1.14.0 2.7, 3.3-3.7 GCC 4.8 Базель 0.24.1
tensorflow-1.13.1 2.7, 3.3-3.7 GCC 4.8 Базель 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 GCC 4.8 Базель 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 Базель 0.10.0
tensorflow-1.7.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.10.0
tensorflow-1.6.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.9.0
tensorflow-1.5.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.8.0
tensorflow-1.4.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.4.2

GPU

Версия версия Python Компилятор Инструменты для сборки cuDNN КУДА
tensorflow-2.21.0 3.10-3.13 Clang 18.1.8 Базель 7.4.1 9.3 12.5
tensorflow-2.20.0 3.9-3.13 Clang 18.1.8 Базель 7.4.1 9.3 12.5
tensorflow-2.19.0 3.9-3.12 Clang 18.1.8 Базель 6.5.0 9.3 12.5
tensorflow-2.18.0 3.9-3.12 Clang 17.0.6 Базель 6.5.0 9.3 12.5
tensorflow-2.17.0 3.9-3.12 Clang 17.0.6 Базель 6.5.0 8.9 12.3
tensorflow-2.16.1 3.9-3.12 Clang 17.0.6 Базель 6.5.0 8.9 12.3
tensorflow-2.15.0 3.9-3.11 Clang 16.0.0 Базель 6.1.0 8.9 12.2
tensorflow-2.14.0 3.9-3.11 Clang 16.0.0 Базель 6.1.0 8.7 11.8
tensorflow-2.13.0 3.8-3.11 Clang 16.0.0 Базель 5.3.0 8.6 11.8
tensorflow-2.12.0 3.8-3.11 GCC 9.3.1 Базель 5.3.0 8.6 11.8
tensorflow-2.11.0 3.7-3.10 GCC 9.3.1 Базель 5.3.0 8.1 11.2
tensorflow-2.10.0 3.7-3.10 GCC 9.3.1 Базель 5.1.1 8.1 11.2
tensorflow-2.9.0 3.7-3.10 GCC 9.3.1 Базель 5.0.0 8.1 11.2
tensorflow-2.8.0 3.7-3.10 GCC 7.3.1 Базель 4.2.1 8.1 11.2
tensorflow-2.7.0 3.7-3.9 GCC 7.3.1 Базель 3.7.2 8.1 11.2
tensorflow-2.6.0 3.6-3.9 GCC 7.3.1 Базель 3.7.2 8.1 11.2
tensorflow-2.5.0 3.6-3.9 GCC 7.3.1 Базель 3.7.2 8.1 11.2
tensorflow-2.4.0 3.6-3.8 GCC 7.3.1 Базель 3.1.0 8.0 11.0
tensorflow-2.3.0 3.5-3.8 GCC 7.3.1 Базель 3.1.0 7.6 10.1
tensorflow-2.2.0 3.5-3.8 GCC 7.3.1 Базель 2.0.0 7.6 10.1
tensorflow-2.1.0 2.7, 3.5-3.7 GCC 7.3.1 Базель 0.27.1 7.6 10.1
tensorflow-2.0.0 2.7, 3.3-3.7 GCC 7.3.1 Базель 0.26.1 7.4 10.0
tensorflow_gpu-1.15.0 2.7, 3.3-3.7 GCC 7.3.1 Базель 0.26.1 7.4 10.0
tensorflow_gpu-1.14.0 2.7, 3.3-3.7 GCC 4.8 Базель 0.24.1 7.4 10.0
tensorflow_gpu-1.13.1 2.7, 3.3-3.7 GCC 4.8 Базель 0.19.2 7.4 10.0
tensorflow_gpu-1.12.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.15.0 7 9
tensorflow_gpu-1.11.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.15.0 7 9
tensorflow_gpu-1.10.0 2.7, 3.3-3.6 GCC 4.8 Базель 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 Базель 0.10.0 7 9
tensorflow_gpu-1.7.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.9.0 7 9
tensorflow_gpu-1.6.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.9.0 7 9
tensorflow_gpu-1.5.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.8.0 7 9
tensorflow_gpu-1.4.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.5.4 6 8
tensorflow_gpu-1.3.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.4.5 6 8
tensorflow_gpu-1.2.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.4.5 5.1 8
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 GCC 4.8 Базель 0.4.2 5.1 8

macOS

Процессор

Версия версия Python Компилятор Инструменты для сборки
tensorflow-2.16.1 3.9-3.12 Clang из Xcode 13.6 Базель 6.5.0
tensorflow-2.15.0 3.9-3.11 Clang из Xcode 10.15 Базель 6.1.0
tensorflow-2.14.0 3.9-3.11 Clang из Xcode 10.15 Базель 6.1.0
tensorflow-2.13.0 3.8-3.11 Clang из Xcode 10.15 Базель 5.3.0
tensorflow-2.12.0 3.8-3.11 Clang из Xcode 10.15 Базель 5.3.0
tensorflow-2.11.0 3.7-3.10 Clang из Xcode 10.14 Базель 5.3.0
tensorflow-2.10.0 3.7-3.10 Clang из Xcode 10.14 Базель 5.1.1
tensorflow-2.9.0 3.7-3.10 Clang из Xcode 10.14 Базель 5.0.0
tensorflow-2.8.0 3.7-3.10 Clang из Xcode 10.14 Базель 4.2.1
tensorflow-2.7.0 3.7-3.9 Clang из Xcode 10.11 Базель 3.7.2
tensorflow-2.6.0 3.6-3.9 Clang из Xcode 10.11 Базель 3.7.2
tensorflow-2.5.0 3.6-3.9 Clang из Xcode 10.11 Базель 3.7.2
tensorflow-2.4.0 3.6-3.8 Clang из Xcode 10.3 Базель 3.1.0
tensorflow-2.3.0 3.5-3.8 Clang из Xcode 10.1 Базель 3.1.0
tensorflow-2.2.0 3.5-3.8 Clang из Xcode 10.1 Базель 2.0.0
tensorflow-2.1.0 2.7, 3.5-3.7 Clang из Xcode 10.1 Базель 0.27.1
tensorflow-2.0.0 2.7, 3.5-3.7 Clang из Xcode 10.1 Базель 0.27.1
tensorflow-2.0.0 2.7, 3.3-3.7 Clang из Xcode 10.1 Базель 0.26.1
tensorflow-1.15.0 2.7, 3.3-3.7 Clang из Xcode 10.1 Базель 0.26.1
tensorflow-1.14.0 2.7, 3.3-3.7 Clang из Xcode Базель 0.24.1
tensorflow-1.13.1 2.7, 3.3-3.7 Clang из Xcode Базель 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 Clang из Xcode Bazel 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.10.1
tensorflow-1.7.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.10.1
tensorflow-1.6.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.8.1
tensorflow-1.5.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.8.1
tensorflow-1.4.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.4.2

GPU

Версия версия Python Компилятор Инструменты для сборки cuDNN КУДА
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 Clang из Xcode Базель 0.4.2 5.1 8