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

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

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

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

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

Убунту

sudo apt install python3-dev python3-pip

macOS

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

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

brew install python

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

pip install -U --user pip

Установить Базель

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

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

Clang — это компилятор C/C++/Objective-C, скомпилированный в C++ на основе LLVM. Он используется по умолчанию для сборки TensorFlow, начиная с версии TensorFlow 2.13. Текущая поддерживаемая версия — 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 и добавит их в путь к каталогу. Вам не придётся ничего заменять, если только у вас не установлена ​​предыдущая версия. В этом случае замените следующие файлы:

    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)

Поддержка GPU для macOS отсутствует .

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

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

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

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

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

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 CPU:

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

Чтобы собрать пакет TensorFlow GPU:

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 , например, для сборки ночного пакета CPU:

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

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

только ЦП

В следующем примере образ :devel используется для сборки пакета, работающего только на CPU, из последней версии исходного кода 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 — самый простой способ реализовать поддержку графического процессора для TensorFlow, поскольку для хост -машины требуется только драйвер NVIDIA® (установка NVIDIA® CUDA® Toolkit не требуется). Инструкции по настройке nvidia-docker (только для Linux) см. в руководстве по поддержке графических процессоров и руководстве по TensorFlow Docker .

В следующем примере загружается образ TensorFlow :devel-gpu и используется nvidia-docker для запуска контейнера с поддержкой GPU. Этот образ для разработки настроен на сборку pip- пакета с поддержкой 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

Затем в виртуальной среде контейнера создайте пакет TensorFlow с поддержкой 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

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

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

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

Линукс

Процессор

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

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

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

macOS

Процессор

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

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

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