Соберите пакет TensorFlow pip из исходного кода и установите его на Ubuntu Linux и macOS. Хотя инструкции могут работать и на других системах, они протестированы и поддерживаются только для Ubuntu и macOS.
Настройка для Linux и macOS
Установите следующие инструменты сборки, чтобы настроить среду разработки.
Установите Python и зависимости пакета TensorFlow.
Ubuntu
sudo apt install python3-dev python3-pipmacOS
Требуется 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 (рекомендуется, только для Linux).
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:
Перейдите в нужный каталог:
cd <desired directory>Загрузите и распакуйте архивный файл... (подходящий для вашей архитектуры):
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.xztar -xvf clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04.tar.xzСкопируйте извлеченное содержимое (каталоги и файлы) в
/usr(возможно, вам потребуются права sudo, а правильный каталог может отличаться в зависимости от дистрибутива). Это фактически установит Clang и LLVM и добавит их в переменную PATH. Вам не нужно ничего заменять, если только у вас нет предыдущей установки, в этом случае вам следует заменить файлы:cp -r clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04/* /usrПроверьте версию полученных бинарных файлов Clang + LLVM 17:
clang --versionТеперь, когда
/usr/bin/clangявляется фактическим путем к вашему новому clang, вы можете запустить скрипт./configureили вручную установить переменные окруженияCCиBAZEL_COMPILERна этот путь.
Установите поддержку графического процессора (необязательно, только для Linux).
Поддержка графического процессора в macOS отсутствует .
Ознакомьтесь с руководством по поддержке графических процессоров , чтобы установить драйверы и дополнительное программное обеспечение, необходимое для запуска TensorFlow на графическом процессоре.
Загрузите исходный код TensorFlow.
Используйте Git для клонирования репозитория TensorFlow :
git clone https://github.com/tensorflow/tensorflow.gitcd 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:develdocker run -it -w /tensorflow_src -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \ tensorflow/tensorflow:devel bashgit 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 в виртуальной среде контейнера:
- Необязательно: Настройте сборку — при этом пользователю будет предложено ответить на вопросы о конфигурации сборки.
- Соберите пакет pip .
- Настройте права доступа к файлу для пользователей, находящихся вне контейнера.
./configure # if necessarybazel 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 versionpip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whlcd /tmp # don't import from source directorypython -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-gpudocker run --gpus all -it -w /tensorflow -v $PWD:/mnt -e HOST_PERMS="$(id -u):$(id -g)" \ tensorflow/tensorflow:devel-gpu bashgit pull # within the container, download the latest source code
Затем, внутри виртуальной среды контейнера, соберите пакет TensorFlow с поддержкой графического процессора:
./configure # if necessarybazel build //tensorflow/tools/pip_package:wheel \ --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow --config=cuda \ --config=cuda_wheel --config=optchown $HOST_PERMS bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whl
Установите и проверьте пакет внутри контейнера, а также проверьте наличие графического процессора:
pip uninstall tensorflow # remove current versionpip install bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-version-tags.whlcd /tmp # don't import from source directorypython -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 |