قم بإنشاء حزمة TensorFlow باستخدام pip من المصدر، ثم ثبّتها على نظامي Ubuntu Linux و macOS. مع أن هذه التعليمات قد تعمل على أنظمة أخرى، إلا أنها مُختبرة ومدعومة فقط لنظامي Ubuntu و macOS.
إعداد لأنظمة لينكس وماك أو إس
قم بتثبيت أدوات البناء التالية لتكوين بيئة التطوير الخاصة بك.
قم بتثبيت بايثون وحزمة TensorFlow التابعة لها.
أوبونتو
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 (موصى به، لنظام Linux فقط)
Clang هو مُصرّف للغات C/C++/Objective-C، يُصرّف بلغة C++ باستخدام LLVM. وهو المُصرّف الافتراضي لبناء 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:
انتقل إلى مجلد الوجهة المطلوب:
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(قد تحتاج إلى صلاحيات المستخدم الجذر، وقد يختلف المجلد الصحيح باختلاف التوزيعة). هذا يُثبّت 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) في نظام macOS.
اقرأ دليل دعم وحدة معالجة الرسومات لتثبيت برامج التشغيل والبرامج الإضافية المطلوبة لتشغيل TensorFlow على وحدة معالجة الرسومات.
قم بتنزيل شفرة مصدر TensorFlow
استخدم Git لاستنساخ مستودع TensorFlow :
git clone https://github.com/tensorflow/tensorflow.gitcd tensorflow
يستخدم المستودع افتراضيًا فرع التطوير master . يمكنك أيضًا استخراج فرع إصدار للبناء:
git checkout branch_name # r2.2, r2.3, etc.
قم بتهيئة عملية البناء
يتم تكوين عمليات بناء TensorFlow بواسطة ملف .bazelrc الموجود في الدليل الجذر للمستودع. ويمكن استخدام البرامج النصية ./configure أو ./configure.py لضبط الإعدادات الشائعة.
يرجى تشغيل سكربت ./configure من المجلد الرئيسي للمستودع. سيطلب منك هذا السكربت تحديد موقع تبعيات TensorFlow، بالإضافة إلى خيارات إضافية لتكوين عملية البناء (مثل علامات المُصرّف). راجع قسم جلسة العمل التجريبية لمزيد من التفاصيل.
./configure
يوجد أيضًا إصدار بايثون من هذا البرنامج النصي، ./configure.py . عند استخدام بيئة افتراضية، يُعطي python configure.py الأولوية للمسارات داخل البيئة، بينما ./configure الأولوية للمسارات خارج البيئة. في كلتا الحالتين، يمكنك تغيير الإعدادات الافتراضية.
جلسة تجريبية
يوضح ما يلي مثالاً لتشغيل برنامج ./configure النصي (قد تختلف جلستك):
خيارات التكوين
دعم وحدة معالجة الرسومات
من الإصدار 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 روابط رمزية لمكتبات CUDA الخاصة بنظامك، لذا إذا قمت بتحديث مسارات مكتبة CUDA، فيجب تشغيل خطوة التهيئة هذه مرة أخرى قبل البناء.
التحسينات
بالنسبة لخيارات تحسين عملية التجميع، فإن الخيار الافتراضي ( -march=native ) يُحسّن الكود المُولّد ليتناسب مع نوع وحدة المعالجة المركزية لجهازك. مع ذلك، إذا كنت تُنشئ TensorFlow لنوع مختلف من وحدات المعالجة المركزية، فضع في اعتبارك استخدام خيار تحسين أكثر تحديدًا. راجع دليل GCC للاطلاع على أمثلة.
إعدادات مسبقة التكوين
تتوفر بعض إعدادات البناء المُعدة مسبقًا والتي يمكن إضافتها إلى أمر bazel build ، على سبيل المثال:
-
--config=dbg— قم بالبناء مع معلومات التصحيح. راجع ملف CONTRIBUTING.md لمزيد من التفاصيل. -
--config=mkl— دعم Intel® MKL-DNN . -
--config=monolithic— إعدادات لبناء ثابت ومتجانس في الغالب.
قم ببناء وتثبيت حزمة pip
خيارات بناء بازل
راجع مرجع سطر أوامر Bazel للاطلاع على خيارات البناء .
قد يستهلك بناء TensorFlow من المصدر الكثير من ذاكرة الوصول العشوائي (RAM). إذا كان نظامك يعاني من قيود في الذاكرة، فقم بتقييد استخدام 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 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
تُعدّ صور تطوير Docker الخاصة بـ TensorFlow طريقة سهلة لإعداد بيئة لبناء حزم Linux من المصدر. تحتوي هذه الصور مسبقًا على شفرة المصدر والتبعيات اللازمة لبناء TensorFlow. راجع دليل TensorFlow Docker للاطلاع على تعليمات التثبيت وقائمة علامات الصور المتاحة .
وحدة المعالجة المركزية فقط
يستخدم المثال التالي صورة :devel لإنشاء حزمة مخصصة لوحدة المعالجة المركزية فقط من أحدث شفرة مصدرية لـ TensorFlow. راجع دليل Docker للاطلاع على علامات TensorFlow -devel المتاحة.
قم بتنزيل أحدث صورة تطويرية وابدأ تشغيل حاوية 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 ). راجع دليل دعم وحدة معالجة الرسومات ودليل TensorFlow Docker لإعداد nvidia-docker (لنظام Linux فقط).
يقوم المثال التالي بتنزيل صورة TensorFlow :devel-gpu ويستخدم nvidia-docker لتشغيل الحاوية المُفعّلة لوحدة معالجة الرسومات (GPU). تم تكوين صورة التطوير هذه لإنشاء حزمة 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 مع دعم وحدة معالجة الرسومات (GPU):
./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
قم بتثبيت الحزمة والتحقق منها داخل الحاوية، ثم تحقق من وجود وحدة معالجة الرسومات (GPU):
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')))"
تكوينات البناء المختبرة
لينكس
وحدة المعالجة المركزية
| إصدار | إصدار بايثون | المترجم | أدوات البناء |
|---|---|---|---|
| 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 | كلانج 16.0.0 | بازل 6.1.0 |
| tensorflow-2.14.0 | 3.9-3.11 | كلانج 16.0.0 | بازل 6.1.0 |
| tensorflow-2.13.0 | 3.8-3.11 | كلانج 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 | بازل 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 |
وحدة معالجة الرسومات
| إصدار | إصدار بايثون | المترجم | أدوات البناء | 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 | كلانج 16.0.0 | بازل 6.1.0 | 8.9 | 12.2 |
| tensorflow-2.14.0 | 3.9-3.11 | كلانج 16.0.0 | بازل 6.1.0 | 8.7 | 11.8 |
| tensorflow-2.13.0 | 3.8-3.11 | كلانج 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 | بازل 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
وحدة المعالجة المركزية
| إصدار | إصدار بايثون | المترجم | أدوات البناء |
|---|---|---|---|
| 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 | بازل 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 |
وحدة معالجة الرسومات
| إصدار | إصدار بايثون | المترجم | أدوات البناء | 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 |