สร้างแพ็กเกจ pip ของ TensorFlow จากซอร์สโค้ดและติดตั้งบน Ubuntu Linux และ macOS แม้ว่าคำแนะนำนี้อาจใช้ได้กับระบบอื่น แต่ได้รับการทดสอบและรองรับเฉพาะบน Ubuntu และ macOS เท่านั้น
การตั้งค่าสำหรับ Linux และ macOS
ติดตั้งเครื่องมือสร้างต่อไปนี้เพื่อกำหนดค่าสภาพแวดล้อมการพัฒนาของคุณ
ติดตั้ง Python และการอ้างอิงแพ็คเกจ TensorFlow
อูบุนตู
sudo apt install python3-dev python3-pip
แมคโอเอส
ต้องใช้ Xcode 9.2 ขึ้นไป
ติดตั้งโดยใช้ตัวจัดการแพ็คเกจ Homebrew :
brew install python
ติดตั้งแพ็คเกจ pip ของ TensorFlow (หากใช้สภาพแวดล้อมเสมือน ให้ละเว้นอาร์กิวเมนต์ --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 โดยเริ่มตั้งแต่ TensorFlow 2.13 เป็นต้นไป เวอร์ชันที่รองรับปัจจุบันคือ LLVM/Clang 17
แพ็กเกจ LLVM Debian/Ubuntu nightly มีสคริปต์ติดตั้งอัตโนมัติและแพ็กเกจสำหรับการติดตั้งด้วยตนเองบน 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.xz
tar -xvf clang+llvm-17.0.2-x86_64-linux-gnu-ubuntu-22.04.tar.xz
คัดลอกเนื้อหาที่แยกออกมา (ไดเร็กทอรีและไฟล์) ไปที่
/usr
(คุณอาจต้องใช้สิทธิ์ sudo และไดเร็กทอรีที่ถูกต้องอาจแตกต่างกันไปตามรุ่น) การทำเช่นนี้จะติดตั้ง Clang และ LLVM และเพิ่มลงในพาธ คุณไม่จำเป็นต้องแทนที่สิ่งใด เว้นแต่คุณจะมีการติดตั้งไว้ก่อนหน้านี้ ซึ่งในกรณีนี้คุณควรแทนที่ไฟล์: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
ด้วยตนเองไปยังพาธนี้ได้
ติดตั้งการรองรับ GPU (ทางเลือก, Linux เท่านั้น)
ไม่มี การรองรับ GPU สำหรับ macOS
อ่านคำแนะนำ การสนับสนุน GPU เพื่อติดตั้งไดรเวอร์และซอฟต์แวร์เพิ่มเติมที่จำเป็นสำหรับการรัน TensorFlow บน GPU
ดาวน์โหลดซอร์สโค้ด 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 หรือ ./configure.py
สามารถใช้เพื่อปรับการตั้งค่าทั่วไปได้
โปรดเรียกใช้สคริปต์ ./configure
จากไดเร็กทอรีรูทของที่เก็บ สคริปต์นี้จะแจ้งให้คุณทราบตำแหน่งของการอ้างอิง TensorFlow และขอตัวเลือกการกำหนดค่าการสร้างเพิ่มเติม (เช่น แฟล็กคอมไพเลอร์) ดูรายละเอียดเพิ่มเติมในหัวข้อ เซสชันตัวอย่าง
./configure
นอกจากนี้ยังมีสคริปต์ . ./configure.py
เวอร์ชัน Python อีกด้วย หากใช้สภาพแวดล้อมเสมือน python configure.py
จะจัดลำดับความสำคัญของเส้นทางภายในสภาพแวดล้อม ในขณะที่ ./configure
configure จะจัดลำดับความสำคัญของเส้นทางภายนอกสภาพแวดล้อม ในทั้งสองกรณี คุณสามารถเปลี่ยนค่าเริ่มต้นได้
ตัวอย่างเซสชั่น
ต่อไปนี้แสดงตัวอย่างการรันสคริปต์ ./configure
(เซสชันของคุณอาจแตกต่างกัน):
ตัวเลือกการกำหนดค่า
รองรับ GPU
จาก v.2.18.0
สำหรับ การรองรับ GPU ให้ตั้งค่า cuda=Y
ระหว่างการกำหนดค่า และระบุเวอร์ชันของ CUDA และ cuDNN หากจำเป็น Bazel จะดาวน์โหลดแพ็กเกจ CUDA และ CUDNN โดยอัตโนมัติ หรือชี้ไปที่การแจกจ่าย CUDA/CUDNN/NCCL บนระบบไฟล์ภายใน หากจำเป็น
ก่อนเวอร์ชัน 2.18.0
สำหรับ การรองรับ GPU ให้ตั้งค่า cuda=Y
ระหว่างการกำหนดค่า และระบุเวอร์ชันของ CUDA และ cuDNN หากระบบของคุณติดตั้ง CUDA หรือ cuDNN หลายเวอร์ชัน ให้ตั้งค่าเวอร์ชันนั้นอย่างชัดเจนแทนที่จะใช้ค่าเริ่มต้น . ./configure
configure จะสร้างลิงก์สัญลักษณ์ไปยังไลบรารี CUDA ของระบบ ดังนั้น หากคุณอัปเดตพาธไลบรารี CUDA ของคุณ ขั้นตอนการกำหนดค่านี้จะต้องถูกดำเนินการอีกครั้งก่อนการสร้าง
การเพิ่มประสิทธิภาพ
สำหรับแฟล็กการปรับแต่งประสิทธิภาพการคอมไพล์ ค่าเริ่มต้น ( -march=native
) จะปรับแต่งโค้ดที่สร้างขึ้นให้เหมาะกับประเภท CPU ของเครื่องของคุณ อย่างไรก็ตาม หากกำลังสร้าง TensorFlow สำหรับประเภท CPU อื่น โปรดพิจารณาแฟล็กการปรับแต่งประสิทธิภาพที่เฉพาะเจาะจงมากขึ้น โปรดตรวจสอบ คู่มือ GCC เพื่อดูตัวอย่าง
การกำหนดค่าล่วงหน้า
มีการกำหนดค่าการสร้างล่วงหน้าบางส่วนที่สามารถเพิ่มลงในคำสั่ง bazel build
ได้ ตัวอย่างเช่น:
-
--config=dbg
— สร้างด้วยข้อมูลการดีบัก ดูรายละเอียดเพิ่มเติม ในไฟล์ CONTRIBUTING.md -
--config=mkl
—รองรับ Intel® MKL-DNN -
--config=monolithic
— การกำหนดค่าสำหรับการสร้างแบบโมโนลิธิกส่วนใหญ่แบบคงที่
สร้างและติดตั้งแพ็กเกจ pip
ตัวเลือกการสร้าง Bazel
ดูที่ การอ้างอิงบรรทัดคำสั่ง Bazel เพื่อดู ตัวเลือกการสร้าง
การสร้าง TensorFlow จากซอร์สโค้ดอาจใช้ RAM จำนวนมาก หากระบบของคุณมีหน่วยความจำจำกัด ให้จำกัดการใช้ RAM ของ Bazel ด้วยคำสั่ง --local_ram_resources=2048
แพ็คเกจ TensorFlow อย่างเป็นทางการ ถูกสร้างขึ้นด้วยเครื่องมือ Clang ที่สอดคล้องกับมาตรฐานแพ็คเกจ manylinux2014
สร้างแพ็คเกจ
ในการสร้างแพ็กเกจ pip คุณต้องระบุแฟล็ก --repo_env=WHEEL_NAME
แพ็กเกจจะถูกสร้างขึ้นตามชื่อที่ให้มา เช่น:
ในการสร้างแพ็คเกจ CPU ของ Tensorflow:
bazel build //tensorflow/tools/pip_package:wheel --repo_env=USE_PYWRAP_RULES=1 --repo_env=WHEEL_NAME=tensorflow_cpu
ในการสร้างแพ็คเกจ 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
ในการสร้างแพ็คเกจ 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 สร้าง
อิมเมจการพัฒนา Docker ของ TensorFlow เป็นวิธีง่ายๆ ในการตั้งค่าสภาพแวดล้อมสำหรับการสร้างแพ็กเกจ Linux จากซอร์สโค้ด อิมเมจเหล่านี้มีซอร์สโค้ดและส่วนอ้างอิงที่จำเป็นสำหรับการสร้าง TensorFlow อยู่แล้ว ไปที่ คู่มือ TensorFlow Docker เพื่อดูคำแนะนำในการติดตั้งและ รายการแท็กอิมเมจที่พร้อมใช้งาน
เฉพาะ CPU
ตัวอย่างต่อไปนี้ใช้อิมเมจ :devel
เพื่อสร้างแพ็กเกจ CPU อย่างเดียวจากซอร์สโค้ด TensorFlow เวอร์ชันล่าสุด ดูแท็ก -devel
ของ TensorFlow ที่มีอยู่ใน คู่มือ 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 ภายในสภาพแวดล้อมเสมือนของคอนเทนเนอร์:
- ทางเลือก: กำหนดค่าการสร้าง — ตัวเลือกนี้จะแจ้งให้ผู้ใช้ตอบคำถามเกี่ยวกับการกำหนดค่าการสร้าง
- สร้างแพ็กเกจ pip
- ปรับเปลี่ยนสิทธิ์การเป็นเจ้าของไฟล์สำหรับภายนอกคอนเทนเนอร์
./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__)"
บนเครื่องโฮสต์ของคุณ แพ็ก เกจ pip ของ TensorFlow อยู่ในไดเร็กทอรีปัจจุบัน (พร้อมสิทธิ์ผู้ใช้โฮสต์): ./tensorflow- version - tags .whl
รองรับ GPU
Docker เป็นวิธีที่ง่ายที่สุดในการสร้างการรองรับ GPU สำหรับ TensorFlow เนื่องจากเครื่อง โฮสต์ ต้องการเพียง ไดรเวอร์ NVIDIA® (ไม่จำเป็นต้องติดตั้ง NVIDIA® CUDA® Toolkit ) โปรดดู คู่มือการรองรับ GPU และ คู่มือ TensorFlow Docker เพื่อตั้งค่า nvidia-docker (เฉพาะ Linux เท่านั้น)
ตัวอย่างต่อไปนี้จะดาวน์โหลดอิมเมจ 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
ติดตั้งและตรวจสอบแพ็คเกจภายในคอนเทนเนอร์และตรวจสอบ GPU:
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 | แคล้ง 18.1.8 | บาเซล 7.4.1 |
เทนเซอร์โฟลว์-2.19.0 | 3.9-3.12 | แคล้ง 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 | GCC 9.3.1 | บาเซล 5.3.0 |
เทนเซอร์โฟลว์-2.11.0 | 3.7-3.10 | GCC 9.3.1 | บาเซล 5.3.0 |
เทนเซอร์โฟลว์-2.10.0 | 3.7-3.10 | GCC 9.3.1 | บาเซล 5.1.1 |
เทนเซอร์โฟลว์-2.9.0 | 3.7-3.10 | GCC 9.3.1 | บาเซล 5.0.0 |
เทนเซอร์โฟลว์-2.8.0 | 3.7-3.10 | GCC 7.3.1 | บาเซล 4.2.1 |
เทนเซอร์โฟลว์-2.7.0 | 3.7-3.9 | GCC 7.3.1 | บาเซล 3.7.2 |
เทนเซอร์โฟลว์-2.6.0 | 3.6-3.9 | GCC 7.3.1 | บาเซล 3.7.2 |
เทนเซอร์โฟลว์-2.5.0 | 3.6-3.9 | GCC 7.3.1 | บาเซล 3.7.2 |
เทนเซอร์โฟลว์-2.4.0 | 3.6-3.8 | GCC 7.3.1 | บาเซล 3.1.0 |
เทนเซอร์โฟลว์-2.3.0 | 3.5-3.8 | GCC 7.3.1 | บาเซล 3.1.0 |
เทนเซอร์โฟลว์-2.2.0 | 3.5-3.8 | GCC 7.3.1 | บาเซล 2.0.0 |
เทนเซอร์โฟลว์-2.1.0 | 2.7, 3.5-3.7 | GCC 7.3.1 | บาเซล 0.27.1 |
เทนเซอร์โฟลว์-2.0.0 | 2.7, 3.3-3.7 | GCC 7.3.1 | บาเซล 0.26.1 |
เทนเซอร์โฟลว์-1.15.0 | 2.7, 3.3-3.7 | GCC 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 | คูด้า |
---|---|---|---|---|---|
เทนเซอร์โฟลว์-2.20.0 | 3.9-3.13 | แคล้ง 18.1.8 | บาเซล 7.4.1 | 9.3 | 12.5 |
เทนเซอร์โฟลว์-2.19.0 | 3.9-3.12 | แคล้ง 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 | GCC 9.3.1 | บาเซล 5.3.0 | 8.6 | 11.8 |
เทนเซอร์โฟลว์-2.11.0 | 3.7-3.10 | GCC 9.3.1 | บาเซล 5.3.0 | 8.1 | 11.2 |
เทนเซอร์โฟลว์-2.10.0 | 3.7-3.10 | GCC 9.3.1 | บาเซล 5.1.1 | 8.1 | 11.2 |
เทนเซอร์โฟลว์-2.9.0 | 3.7-3.10 | GCC 9.3.1 | บาเซล 5.0.0 | 8.1 | 11.2 |
เทนเซอร์โฟลว์-2.8.0 | 3.7-3.10 | GCC 7.3.1 | บาเซล 4.2.1 | 8.1 | 11.2 |
เทนเซอร์โฟลว์-2.7.0 | 3.7-3.9 | GCC 7.3.1 | บาเซล 3.7.2 | 8.1 | 11.2 |
เทนเซอร์โฟลว์-2.6.0 | 3.6-3.9 | GCC 7.3.1 | บาเซล 3.7.2 | 8.1 | 11.2 |
เทนเซอร์โฟลว์-2.5.0 | 3.6-3.9 | GCC 7.3.1 | บาเซล 3.7.2 | 8.1 | 11.2 |
เทนเซอร์โฟลว์-2.4.0 | 3.6-3.8 | GCC 7.3.1 | บาเซล 3.1.0 | 8.0 | 11.0 |
เทนเซอร์โฟลว์-2.3.0 | 3.5-3.8 | GCC 7.3.1 | บาเซล 3.1.0 | 7.6 | 10.1 |
เทนเซอร์โฟลว์-2.2.0 | 3.5-3.8 | GCC 7.3.1 | บาเซล 2.0.0 | 7.6 | 10.1 |
เทนเซอร์โฟลว์-2.1.0 | 2.7, 3.5-3.7 | GCC 7.3.1 | บาเซล 0.27.1 | 7.6 | 10.1 |
เทนเซอร์โฟลว์-2.0.0 | 2.7, 3.3-3.7 | GCC 7.3.1 | บาเซล 0.26.1 | 7.4 | 10.0 |
เทนเซอร์โฟลว์_จีพียู-1.15.0 | 2.7, 3.3-3.7 | GCC 7.3.1 | บาเซล 0.26.1 | 7.4 | 10.0 |
เทนเซอร์โฟลว์_จีพียู-1.14.0 | 2.7, 3.3-3.7 | จีซีซี 4.8 | บาเซล 0.24.1 | 7.4 | 10.0 |
เทนเซอร์โฟลว์_จีพียู-1.13.1 | 2.7, 3.3-3.7 | จีซีซี 4.8 | บาเซล 0.19.2 | 7.4 | 10.0 |
เทนเซอร์โฟลว์_จีพียู-1.12.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.15.0 | 7 | 9 |
เทนเซอร์โฟลว์_จีพียู-1.11.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.15.0 | 7 | 9 |
เทนเซอร์โฟลว์_จีพียู-1.10.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.15.0 | 7 | 9 |
เทนเซอร์โฟลว์_จีพียู-1.9.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.11.0 | 7 | 9 |
เทนเซอร์โฟลว์_จีพียู-1.8.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.10.0 | 7 | 9 |
เทนเซอร์โฟลว์_จีพียู-1.7.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.9.0 | 7 | 9 |
เทนเซอร์โฟลว์_จีพียู-1.6.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.9.0 | 7 | 9 |
เทนเซอร์โฟลว์_จีพียู-1.5.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.8.0 | 7 | 9 |
เทนเซอร์โฟลว์_จีพียู-1.4.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.5.4 | 6 | 8 |
เทนเซอร์โฟลว์_จีพียู-1.3.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.4.5 | 6 | 8 |
เทนเซอร์โฟลว์_จีพียู-1.2.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.4.5 | 5.1 | 8 |
เทนเซอร์โฟลว์_จีพียู-1.1.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.4.2 | 5.1 | 8 |
เทนเซอร์โฟลว์_จีพียู-1.0.0 | 2.7, 3.3-3.6 | จีซีซี 4.8 | บาเซล 0.4.2 | 5.1 | 8 |
แมคโอเอส
ซีพียู
เวอร์ชัน | เวอร์ชัน Python | คอมไพเลอร์ | สร้างเครื่องมือ |
---|---|---|---|
เทนเซอร์โฟลว์-2.16.1 | 3.9-3.12 | Clang จาก Xcode 13.6 | บาเซล 6.5.0 |
เทนเซอร์โฟลว์-2.15.0 | 3.9-3.11 | เสียงดังกราวจาก xcode 10.15 | บาเซล 6.1.0 |
เทนเซอร์โฟลว์-2.14.0 | 3.9-3.11 | เสียงดังกราวจาก xcode 10.15 | บาเซล 6.1.0 |
เทนเซอร์โฟลว์-2.13.0 | 3.8-3.11 | เสียงดังกราวจาก xcode 10.15 | บาเซล 5.3.0 |
เทนเซอร์โฟลว์-2.12.0 | 3.8-3.11 | เสียงดังกราวจาก xcode 10.15 | บาเซล 5.3.0 |
เทนเซอร์โฟลว์-2.11.0 | 3.7-3.10 | เสียงดังกราวจาก xcode 10.14 | บาเซล 5.3.0 |
เทนเซอร์โฟลว์-2.10.0 | 3.7-3.10 | เสียงดังกราวจาก xcode 10.14 | บาเซล 5.1.1 |
เทนเซอร์โฟลว์-2.9.0 | 3.7-3.10 | เสียงดังกราวจาก xcode 10.14 | บาเซล 5.0.0 |
เทนเซอร์โฟลว์-2.8.0 | 3.7-3.10 | เสียงดังกราวจาก xcode 10.14 | บาเซล 4.2.1 |
เทนเซอร์โฟลว์-2.7.0 | 3.7-3.9 | เสียงดังกราวจาก xcode 10.11 | บาเซล 3.7.2 |
เทนเซอร์โฟลว์-2.6.0 | 3.6-3.9 | เสียงดังกราวจาก xcode 10.11 | บาเซล 3.7.2 |
เทนเซอร์โฟลว์-2.5.0 | 3.6-3.9 | เสียงดังกราวจาก xcode 10.11 | บาเซล 3.7.2 |
เทนเซอร์โฟลว์-2.4.0 | 3.6-3.8 | เสียงดังกราวจาก xcode 10.3 | บาเซล 3.1.0 |
เทนเซอร์โฟลว์-2.3.0 | 3.5-3.8 | เสียงดังกราวจาก xcode 10.1 | บาเซล 3.1.0 |
เทนเซอร์โฟลว์-2.2.0 | 3.5-3.8 | เสียงดังกราวจาก xcode 10.1 | บาเซล 2.0.0 |
เทนเซอร์โฟลว์-2.1.0 | 2.7, 3.5-3.7 | เสียงดังกราวจาก xcode 10.1 | บาเซล 0.27.1 |
เทนเซอร์โฟลว์-2.0.0 | 2.7, 3.5-3.7 | เสียงดังกราวจาก xcode 10.1 | บาเซล 0.27.1 |
เทนเซอร์โฟลว์-2.0.0 | 2.7, 3.3-3.7 | เสียงดังกราวจาก xcode 10.1 | บาเซล 0.26.1 |
เทนเซอร์โฟลว์-1.15.0 | 2.7, 3.3-3.7 | เสียงดังกราวจาก xcode 10.1 | บาเซล 0.26.1 |
เทนเซอร์โฟลว์-1.14.0 | 2.7, 3.3-3.7 | เสียงดังกราวจาก xcode | บาเซล 0.24.1 |
เทนเซอร์โฟลว์-1.13.1 | 2.7, 3.3-3.7 | เสียงดังกราวจาก xcode | บาเซล 0.19.2 |
เทนเซอร์โฟลว์-1.12.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.15.0 |
เทนเซอร์โฟลว์-1.11.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.15.0 |
เทนเซอร์โฟลว์-1.10.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.15.0 |
เทนเซอร์โฟลว์-1.9.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.11.0 |
เทนเซอร์โฟลว์-1.8.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.10.1 |
เทนเซอร์โฟลว์-1.7.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.10.1 |
เทนเซอร์โฟลว์-1.6.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.8.1 |
เทนเซอร์โฟลว์-1.5.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.8.1 |
เทนเซอร์โฟลว์-1.4.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.5.4 |
เทนเซอร์โฟลว์-1.3.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.4.5 |
เทนเซอร์โฟลว์-1.2.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.4.5 |
เทนเซอร์โฟลว์-1.1.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.4.2 |
เทนเซอร์โฟลว์-1.0.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.4.2 |
จีพียู
เวอร์ชัน | เวอร์ชัน Python | คอมไพเลอร์ | สร้างเครื่องมือ | cuDNN | คูด้า |
---|---|---|---|---|---|
เทนเซอร์โฟลว์_จีพียู-1.1.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.4.2 | 5.1 | 8 |
เทนเซอร์โฟลว์_จีพียู-1.0.0 | 2.7, 3.3-3.6 | เสียงดังกราวจาก xcode | บาเซล 0.4.2 | 5.1 | 8 |