Tạo từ nguồn

Xây dựng gói TensorFlow pip từ mã nguồn và cài đặt nó trên Ubuntu Linux và macOS. Mặc dù các hướng dẫn này có thể hoạt động trên các hệ thống khác, nhưng chúng chỉ được kiểm thử và hỗ trợ trên Ubuntu và macOS.

Thiết lập cho Linux và macOS

Cài đặt các công cụ xây dựng sau để cấu hình môi trường phát triển của bạn.

Cài đặt Python và các gói phụ thuộc của TensorFlow.

Ubuntu

sudo apt install python3-dev python3-pip

macOS

Yêu cầu Xcode 9.2 trở lên.

Cài đặt bằng trình quản lý gói Homebrew :

brew install python

Cài đặt các gói phụ thuộc của TensorFlow bằng pip (nếu sử dụng môi trường ảo, hãy bỏ qua đối số --user ):

pip install -U --user pip

Cài đặt Bazel

Để biên dịch TensorFlow, bạn cần cài đặt Bazel. Bazelisk là một cách dễ dàng để cài đặt Bazel và tự động tải xuống phiên bản Bazel phù hợp cho TensorFlow. Để thuận tiện hơn, hãy thêm Bazelisk làm tệp thực thi bazel trong biến PATH của bạn.

Nếu không có Bazelisk, bạn có thể cài đặt Bazel thủ công. Hãy chắc chắn cài đặt đúng phiên bản Bazel từ tệp .bazelversion của TensorFlow.

Clang là trình biên dịch C/C++/Objective-C được biên dịch bằng C++ dựa trên LLVM. Đây là trình biên dịch mặc định để xây dựng TensorFlow bắt đầu từ TensorFlow 2.13. Phiên bản được hỗ trợ hiện tại là LLVM/Clang 17.

Các gói nightly của LLVM Debian/Ubuntu cung cấp một tập lệnh cài đặt tự động và các gói để cài đặt thủ công trên Linux. Hãy đảm bảo bạn chạy lệnh sau nếu bạn thêm kho lưu trữ apt của llvm vào nguồn gói của mình theo cách thủ công:

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

Hiện tại, /usr/lib/llvm-17/bin/clang là đường dẫn thực sự đến clang trong trường hợp này.

Ngoài ra, bạn cũng có thể tải xuống và giải nén Clang + LLVM 17 đã được biên dịch sẵn.

Dưới đây là ví dụ về các bước bạn có thể thực hiện để cài đặt các tệp nhị phân Clang + LLVM 17 đã tải xuống trên hệ điều hành Debian/Ubuntu:

  1. Chuyển đến thư mục đích mong muốn: cd <desired directory>

  2. Tải và giải nén tệp lưu trữ...(phù hợp với kiến ​​trúc hệ thống của bạn):

    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. Sao chép nội dung đã giải nén (thư mục và tập tin) vào /usr (bạn có thể cần quyền sudo, và thư mục chính xác có thể khác nhau tùy thuộc vào bản phân phối). Thao tác này sẽ cài đặt Clang và LLVM, đồng thời thêm chúng vào biến môi trường PATH. Bạn không cần phải thay thế bất cứ thứ gì, trừ khi bạn đã cài đặt trước đó, trong trường hợp đó bạn cần thay thế các tập tin:

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

  4. Kiểm tra phiên bản của các tệp nhị phân Clang + LLVM 17 đã nhận được:

    clang --version

  5. Giờ đây, /usr/bin/clang chính là đường dẫn đến clang mới của bạn. Bạn có thể chạy tập lệnh ./configure hoặc thiết lập thủ công các biến môi trường CCBAZEL_COMPILER thành đường dẫn này.

Cài đặt hỗ trợ GPU (tùy chọn, chỉ dành cho Linux)

macOS không hỗ trợ GPU.

Hãy đọc hướng dẫn hỗ trợ GPU để cài đặt trình điều khiển và phần mềm bổ sung cần thiết để chạy TensorFlow trên GPU.

Tải xuống mã nguồn TensorFlow

Sử dụng Git để sao chép kho lưu trữ TensorFlow :

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

Kho lưu trữ mặc định sử dụng nhánh phát triển master . Bạn cũng có thể chọn nhánh phát hành (release branch) để biên dịch:

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

Cấu hình bản dựng

Việc cấu hình các bản dựng TensorFlow được thực hiện thông qua tệp .bazelrc trong thư mục gốc của kho lưu trữ. Các tập lệnh ./configure hoặc ./configure.py có thể được sử dụng để điều chỉnh các cài đặt thông thường.

Vui lòng chạy tập lệnh ./configure từ thư mục gốc của kho lưu trữ. Tập lệnh này sẽ yêu cầu bạn chỉ định vị trí của các thư viện phụ thuộc của TensorFlow và hỏi thêm các tùy chọn cấu hình bản dựng (ví dụ: cờ trình biên dịch). Tham khảo phần Ví dụ để biết thêm chi tiết.

./configure

Cũng có một phiên bản Python của tập lệnh này, ./configure.py . Nếu sử dụng môi trường ảo, python configure.py sẽ ưu tiên các đường dẫn trong môi trường, trong khi ./configure sẽ ưu tiên các đường dẫn bên ngoài môi trường. Trong cả hai trường hợp, bạn đều có thể thay đổi mặc định.

Buổi học mẫu

Dưới đây là một ví dụ về cách chạy tập lệnh ./configure (phiên bản của bạn có thể khác):

Tùy chọn cấu hình

Hỗ trợ GPU

từ phiên bản 2.18.0

Để hỗ trợ GPU , hãy đặt cuda=Y trong quá trình cấu hình và chỉ định phiên bản của CUDA và cuDNN nếu cần. Bazel sẽ tự động tải xuống các gói CUDA và CUDNN hoặc trỏ đến các bản phân phối lại CUDA/CUDNN/NCCL trên hệ thống tệp cục bộ nếu cần.

trước phiên bản v.2.18.0

Để hỗ trợ GPU , hãy đặt cuda=Y trong quá trình cấu hình và chỉ định phiên bản của CUDA và cuDNN. Nếu hệ thống của bạn có nhiều phiên bản CUDA hoặc cuDNN được cài đặt, hãy chỉ định phiên bản cụ thể thay vì dựa vào phiên bản mặc định. ./configure tạo các liên kết tượng trưng đến thư viện CUDA của hệ thống — vì vậy, nếu bạn cập nhật đường dẫn thư viện CUDA, bước cấu hình này phải được chạy lại trước khi biên dịch.

Tối ưu hóa

Đối với các cờ tối ưu hóa biên dịch, mặc định ( -march=native ) sẽ tối ưu hóa mã được tạo ra cho loại CPU của máy bạn. Tuy nhiên, nếu biên dịch TensorFlow cho một loại CPU khác, hãy xem xét sử dụng cờ tối ưu hóa cụ thể hơn. Tham khảo hướng dẫn sử dụng GCC để biết ví dụ.

Cấu hình được thiết lập sẵn

Có một số cấu hình xây dựng được thiết lập sẵn có thể được thêm vào lệnh bazel build , ví dụ:

  • --config=dbg — Biên dịch với thông tin gỡ lỗi. Xem CONTRIBUTING.md để biết chi tiết.
  • --config=mkl —Hỗ trợ cho Intel® MKL-DNN .
  • --config=monolithic —Cấu hình cho một bản dựng nguyên khối, gần như tĩnh.

Biên dịch và cài đặt gói pip

Các tùy chọn xây dựng Bazel

Hãy tham khảo tài liệu hướng dẫn dòng lệnh Bazel để biết các tùy chọn biên dịch .

Việc biên dịch TensorFlow từ mã nguồn có thể tiêu tốn rất nhiều RAM. Nếu hệ thống của bạn bị hạn chế về bộ nhớ, hãy giới hạn mức sử dụng RAM của Bazel bằng lệnh: --local_ram_resources=2048 .

Các gói TensorFlow chính thức được xây dựng bằng bộ công cụ Clang tuân thủ tiêu chuẩn gói manylinux2014.

Xây dựng gói

Để xây dựng gói pip, bạn cần chỉ định cờ --repo_env=WHEEL_NAME . Tùy thuộc vào tên được cung cấp, gói sẽ được tạo, ví dụ:

Để xây dựng gói TensorFlow cho CPU:

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

Để xây dựng gói TensorFlow cho GPU:

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

Để xây dựng gói TensorFlow TPU:

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

Để xây dựng gói nightly, hãy đặt tf_nightly thay vì tensorflow , ví dụ để xây dựng gói nightly cho CPU:

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

Do đó, bánh xe được tạo ra sẽ nằm ở vị trí

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

Cài đặt gói phần mềm

Tên tệp .whl được tạo ra phụ thuộc vào phiên bản TensorFlow và nền tảng của bạn. Sử dụng pip install để cài đặt gói, ví dụ:

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

Bản dựng Docker Linux

Ảnh Docker dành cho phát triển của TensorFlow là một cách dễ dàng để thiết lập môi trường xây dựng các gói Linux từ mã nguồn. Những ảnh này đã chứa mã nguồn và các thư viện phụ thuộc cần thiết để xây dựng TensorFlow. Tham khảo hướng dẫn Docker của TensorFlow để biết hướng dẫn cài đặt và danh sách các thẻ ảnh có sẵn .

Chỉ CPU

Ví dụ sau sử dụng ảnh :devel để xây dựng gói chỉ dành cho CPU từ mã nguồn TensorFlow mới nhất. Hãy xem hướng dẫn Docker để biết các thẻ TensorFlow -devel có sẵn.

Tải xuống ảnh hệ điều hành mới nhất và khởi động một container Docker mà bạn sẽ sử dụng để xây dựng gói 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

Lệnh docker run ở trên khởi tạo một shell trong thư mục /tensorflow_src —thư mục gốc của cây mã nguồn. Nó gắn thư mục hiện tại của máy chủ vào thư mục /mnt của container, và truyền thông tin người dùng của máy chủ cho container thông qua một biến môi trường (được sử dụng để thiết lập quyền—Docker có thể khiến việc này trở nên phức tạp).

Ngoài ra, để xây dựng bản sao TensorFlow trên máy chủ bên trong container, hãy gắn cây mã nguồn của máy chủ vào thư mục /tensorflow của container:

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

Sau khi thiết lập cây mã nguồn, hãy biên dịch gói TensorFlow trong môi trường ảo của container:

  1. Tùy chọn: Cấu hình bản dựng — thao tác này sẽ yêu cầu người dùng trả lời các câu hỏi cấu hình bản dựng.
  2. Xây dựng gói pip .
  3. Điều chỉnh quyền sở hữu của tệp tin khi truy cập từ bên ngoài vùng chứa.
./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

Cài đặt và kiểm tra gói phần mềm bên trong vùng chứa:

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

Trên máy chủ của bạn, gói pip TensorFlow nằm trong thư mục hiện tại (với quyền người dùng máy chủ) ./tensorflow- version - tags .whl

Hỗ trợ GPU

Docker là cách dễ nhất để xây dựng hỗ trợ GPU cho TensorFlow vì máy chủ chỉ cần trình điều khiển NVIDIA® (không cần cài đặt NVIDIA® CUDA® Toolkit ). Tham khảo hướng dẫn hỗ trợ GPUhướng dẫn TensorFlow Docker để thiết lập nvidia-docker (chỉ dành cho Linux).

Ví dụ sau tải xuống ảnh TensorFlow :devel-gpu và sử dụng nvidia-docker để chạy container hỗ trợ GPU. Ảnh phát triển này được cấu hình để xây dựng gói pip có hỗ trợ 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

Tiếp theo, trong môi trường ảo của container, hãy biên dịch gói TensorFlow với hỗ trợ 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

Cài đặt và xác minh gói phần mềm bên trong container, sau đó kiểm tra xem có GPU hay không:

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

Đã kiểm thử các cấu hình bản dựng

Linux

CPU

Phiên bản Phiên bản Python Trình biên dịch Xây dựng công cụ
tensorflow-2.21.0 3.10-3.13 Clang 18.1.8 Bazel 7.4.1
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

GPU

Phiên bản Phiên bản Python Trình biên dịch Xây dựng công cụ cuDNN CUDA
tensorflow-2.21.0 3.10-3.13 Clang 18.1.8 Bazel 7.4.1 9.3 12,5
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

CPU

Phiên bản Phiên bản Python Trình biên dịch Xây dựng công cụ
tensorflow-2.16.1 3.9-3.12 Clang từ Xcode 13.6 Bazel 6.5.0
tensorflow-2.15.0 3.9-3.11 Clang từ Xcode 10.15 Bazel 6.1.0
tensorflow-2.14.0 3.9-3.11 Clang từ Xcode 10.15 Bazel 6.1.0
tensorflow-2.13.0 3.8-3.11 Clang từ Xcode 10.15 Bazel 5.3.0
tensorflow-2.12.0 3.8-3.11 Clang từ Xcode 10.15 Bazel 5.3.0
tensorflow-2.11.0 3.7-3.10 Clang từ Xcode 10.14 Bazel 5.3.0
tensorflow-2.10.0 3.7-3.10 Clang từ Xcode 10.14 Bazel 5.1.1
tensorflow-2.9.0 3.7-3.10 Clang từ Xcode 10.14 Bazel 5.0.0
tensorflow-2.8.0 3.7-3.10 Clang từ Xcode 10.14 Bazel 4.2.1
tensorflow-2.7.0 3,7-3,9 Clang từ Xcode 10.11 Bazel 3.7.2
tensorflow-2.6.0 3,6-3,9 Clang từ Xcode 10.11 Bazel 3.7.2
tensorflow-2.5.0 3,6-3,9 Clang từ Xcode 10.11 Bazel 3.7.2
tensorflow-2.4.0 3,6-3,8 Clang từ Xcode 10.3 Bazel 3.1.0
tensorflow-2.3.0 3,5-3,8 Clang từ Xcode 10.1 Bazel 3.1.0
tensorflow-2.2.0 3,5-3,8 Clang từ Xcode 10.1 Bazel 2.0.0
tensorflow-2.1.0 2,7, 3,5-3,7 Clang từ Xcode 10.1 Bazel 0.27.1
tensorflow-2.0.0 2,7, 3,5-3,7 Clang từ Xcode 10.1 Bazel 0.27.1
tensorflow-2.0.0 2.7, 3.3-3.7 Clang từ Xcode 10.1 Bazel 0.26.1
tensorflow-1.15.0 2.7, 3.3-3.7 Clang từ Xcode 10.1 Bazel 0.26.1
tensorflow-1.14.0 2.7, 3.3-3.7 Clang từ Xcode Bazel 0.24.1
tensorflow-1.13.1 2.7, 3.3-3.7 Clang từ Xcode Bazel 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.10.1
tensorflow-1.7.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.10.1
tensorflow-1.6.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.8.1
tensorflow-1.5.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.8.1
tensorflow-1.4.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.4.2

GPU

Phiên bản Phiên bản Python Trình biên dịch Xây dựng công cụ cuDNN CUDA
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 Clang từ Xcode Bazel 0.4.2 5.1 8