גרסת מקור

בנה חבילת TensorFlow pip מהמקור והתקן אותה על אובונטו לינוקס ו-macOS. למרות שההוראות עשויות לעבוד עבור מערכות אחרות, הן נבדקות ונתמכות רק עבור אובונטו ו-macOS.

הגדרה עבור לינוקס ו-macOS

התקן את כלי הבנייה הבאים כדי להגדיר את סביבת הפיתוח שלך.

התקן את Python ואת התלות בחבילת TensorFlow

אובונטו

sudo apt install python3-dev python3-pip

macOS

דורש Xcode 9.2 ואילך.

התקן באמצעות מנהל החבילות Homebrew :

brew install python

התקן את התלות בחבילת TensorFlow pip (אם אתה משתמש בסביבה וירטואלית, השמט את הארגומנט --user ):

pip install -U --user pip numpy wheel packaging requests opt_einsum
pip install -U --user keras_preprocessing --no-deps

התקן את Bazel

כדי לבנות את 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 16.

חבילות לילה של LLVM Debian/Ubuntu מספקות סקריפט התקנה אוטומטי וחבילות להתקנה ידנית בלינוקס. ודא שאתה מפעיל את הפקודה הבאה אם ​​אתה מוסיף ידנית llvm apt repository למקורות החבילה שלך:

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

לחלופין, אתה יכול להוריד ולפרוק את ה-Clang + LLVM 16 הבנוי מראש.

להלן דוגמה לשלבים שתוכל לנקוט כדי להגדיר את הקבצים הבינאריים Clang + LLVM 16 שהורדת במערכות ההפעלה של Debian/Ubuntu:

  1. שנה לספריית היעד הרצויה: cd <desired directory>

  2. טען וחלץ קובץ ארכיון...(מתאים לארכיטקטורה שלך):

    wget https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
    
    tar -xvf clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
    
    

  3. העתק את התוכן שחולץ (ספריות וקבצים) אל /usr (ייתכן שתזדקק להרשאות sudo, והספרייה הנכונה עשויה להשתנות בהתאם להפצה). זה למעשה מתקין את Clang ו-LLVM ומוסיף אותו לנתיב. אתה לא צריך להחליף שום דבר, אלא אם כן יש לך התקנה קודמת, ובמקרה זה עליך להחליף את הקבצים:

    cp -r clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/* /usr
    

  4. בדוק את הגרסה הבינארית של Clang + LLVM 16 שהתקבלה:

    clang --version
    

  5. עכשיו ש- /usr/bin/clang הוא הנתיב האמיתי ל-clang החדש שלך. אתה יכול להפעיל את הסקריפט ./configure או להגדיר באופן ידני את משתני הסביבה CC ו- BAZEL_COMPILER לנתיב זה.

התקן תמיכה ב-GPU (אופציונלי, לינוקס בלבד)

אין תמיכה ב-GPU עבור macOS.

קרא את מדריך התמיכה של GPU כדי להתקין את מנהלי ההתקן ותוכנות נוספות הנדרשות להפעלת TensorFlow על GPU.

הורד את קוד המקור של TensorFlow

השתמש ב-Git כדי לשבט את מאגר TensorFlow :

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

ברירת המחדל של ה-repo הוא ענף הפיתוח master . אתה יכול גם לבדוק סניף שחרור לבניית:

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

הגדר את ה-build

בניית TensorFlow מוגדרת על ידי קובץ .bazelrc בספריית השורש של המאגר. ניתן להשתמש בסקריפטים ./configure או ./configure.py כדי להתאים הגדרות נפוצות.

אנא הפעל את הסקריפט ./configure מספריית השורש של המאגר. סקריפט זה יבקש ממך את מיקום התלות של TensorFlow ויבקש אפשרויות תצורת בנייה נוספות (דגלים מהדר, למשל). עיין בסעיף הפעלה לדוגמה לפרטים.

./configure

יש גם גרסת פיתון של הסקריפט הזה, ./configure.py . אם משתמשים בסביבה וירטואלית, python configure.py נותן עדיפות לנתיבים בתוך הסביבה, בעוד ש ./configure נותן עדיפות לנתיבים מחוץ לסביבה. בשני המקרים ניתן לשנות את ברירת המחדל.

מפגש לדוגמא

להלן מופע דוגמה של סקריפט ./configure (ההפעלה שלך עשויה להיות שונה):

אפשרויות תצורה

תמיכה ב-GPU

לתמיכה ב-GPU , הגדר cuda=Y במהלך התצורה וציין את הגרסאות של CUDA ו-cuDNN. אם למערכת שלך מותקנות מספר גרסאות של CUDA או cuDNN, הגדר במפורש את הגרסה במקום להסתמך על ברירת המחדל. ./configure יוצר קישורים סמליים לספריות ה-CUDA של המערכת שלך - כך שאם אתה מעדכן את נתיבי ספריית ה-CUDA שלך, יש להפעיל את שלב התצורה הזה שוב לפני הבנייה.

אופטימיזציות

עבור דגלי אופטימיזציה של קומפילציה, ברירת המחדל ( -march=native ) מייעלת את הקוד שנוצר עבור סוג ה-CPU של המחשב שלך. עם זאת, אם בונים את TensorFlow עבור סוג CPU אחר, שקול דגל אופטימיזציה ספציפי יותר. עיין במדריך של GCC לקבלת דוגמאות.

תצורות מוגדרות מראש

ישנן כמה תצורות בנייה מוגדרות מראש שניתן להוסיף לפקודת ה- bazel build , למשל:

  • --config=dbg —בנה עם מידע על ניפוי באגים. ראה CONTRIBUTING.md לפרטים.
  • --config=mkl —תמיכה עבור Intel® MKL-DNN .
  • --config=monolithic —תצורה למבנה סטטי ומונוליטי ברובו.

בנה והתקן את חבילת ה-pip

חבילת ה-pip בנויה בשני שלבים. פקודות bazel build יוצרות תוכנית "בונה חבילות". לאחר מכן אתה מפעיל את בונה החבילות כדי ליצור את החבילה.

בנה את בונה החבילות

השתמש bazel build כדי ליצור את בונה החבילות של TensorFlow 2.x:

bazel build [--config=option] //tensorflow/tools/pip_package:build_pip_package

אפשרויות בנייה של Bazel

עיין בהפניה לשורת הפקודה של Bazel עבור אפשרויות בנייה .

בניית TensorFlow ממקור יכולה להשתמש בהרבה זיכרון RAM. אם המערכת שלך מוגבלת בזיכרון, הגבל את השימוש ב-RAM של Bazel באמצעות: --local_ram_resources=2048 .

החבילות הרשמיות של TensorFlow בנויות עם שרשרת כלים של Clang התואמת את תקן החבילה manylinux2014.

בנה את החבילה

הפקודה bazel build יוצרת קובץ הפעלה בשם build_pip_package - זו התוכנית שבונה את חבילת pip . הפעל את קובץ ההפעלה כפי שמוצג להלן כדי לבנות חבילת .whl בספריית /tmp/tensorflow_pkg .

כדי לבנות מענף שחרור:

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

כדי לבנות מאסטר, השתמש --nightly_flag כדי לקבל את התלות הנכונות:

./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg

למרות שניתן לבנות תצורות CUDA וגם תצורות שאינן CUDA תחת אותו עץ מקור, מומלץ להפעיל את bazel clean בעת מעבר בין שתי התצורות הללו באותו עץ מקור.

התקן את החבילה

שם הקובץ של קובץ .whl שנוצר תלוי בגרסת TensorFlow ובפלטפורמה שלך. השתמש pip install כדי להתקין את החבילה, לדוגמה:

pip install /tmp/tensorflow_pkg/tensorflow-version-tags.whl

בונה Docker Linux

תמונות פיתוח Docker של TensorFlow הן דרך קלה להגדיר סביבה לבניית חבילות לינוקס מהמקור. תמונות אלה כבר מכילות את קוד המקור והתלות הנדרשים לבניית TensorFlow. עבור למדריך TensorFlow Docker לקבלת הוראות התקנה ורשימת תגי התמונה הזמינים .

מעבד בלבד

הדוגמה הבאה משתמשת בתמונה :devel כדי לבנות חבילה למעבד בלבד מקוד המקור העדכני ביותר של TensorFlow. עיין במדריך Docker עבור תגיות TensorFlow -devel זמינות.

הורד את תמונת הפיתוח העדכנית והתחל קונטיינר 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. אופציונלי: הגדר את ה-build - זה מבקש מהמשתמש לענות על שאלות תצורת build.
  2. בנה את הכלי המשמש ליצירת חבילת pip .
  3. הפעל את הכלי כדי ליצור את חבילת ה-pip .
  4. התאם את הרשאות הבעלות של הקובץ מחוץ לקונטיינר.
./configure  # if necessary

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt  # create package

chown $HOST_PERMS /mnt/tensorflow-version-tags.whl

התקן ואמת את החבילה בתוך המכולה:

pip uninstall tensorflow  # remove current version

pip install /mnt/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

תמיכה ב-GPU

Docker היא הדרך הקלה ביותר לבנות תמיכה ב-GPU עבור TensorFlow מכיוון שהמכונה המארח דורשת רק את מנהל ההתקן של NVIDIA® (אין צורך להתקין את NVIDIA® CUDA® Toolkit ). עיין במדריך התמיכה ב-GPU ובמדריך TensorFlow Docker להגדרת nvidia-docer (לינוקס בלבד).

הדוגמה הבאה מורידה את תמונת 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 --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt  # create package

chown $HOST_PERMS /mnt/tensorflow-version-tags.whl

התקן ואמת את החבילה בתוך המכולה ובדוק אם יש GPU:

pip uninstall tensorflow  # remove current version

pip install /mnt/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')))"

תצורות בנייה נבדקו

לינוקס

מעבד

גִרְסָה גרסת פייתון מַהְדֵר בניית כלים
tensorflow-2.15.0 3.9-3.11 קלאנג 16.0.0 Bazel 6.1.0
tensorflow-2.14.0 3.9-3.11 קלאנג 16.0.0 Bazel 6.1.0
tensorflow-2.13.0 3.8-3.11 קלאנג 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 בזל 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 בזל 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 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 בזל 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 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 בזל 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

גִרְסָה גרסת פייתון מַהְדֵר בניית כלים cuDNN CUDA
tensorflow-2.15.0 3.9-3.11 קלאנג 16.0.0 Bazel 6.1.0 8.9 12.2
tensorflow-2.14.0 3.9-3.11 קלאנג 16.0.0 Bazel 6.1.0 8.7 11.8
tensorflow-2.13.0 3.8-3.11 קלאנג 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 בזל 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 בזל 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 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 בזל 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 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 בזל 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.15.0 3.9-3.11 קלאנג מ-xcode 10.15 Bazel 6.1.0
tensorflow-2.14.0 3.9-3.11 קלאנג מ-xcode 10.15 Bazel 6.1.0
tensorflow-2.13.0 3.8-3.11 קלאנג מ-xcode 10.15 Bazel 5.3.0
tensorflow-2.12.0 3.8-3.11 קלאנג מ-xcode 10.15 Bazel 5.3.0
tensorflow-2.11.0 3.7-3.10 Clang מ-xcode 10.14 Bazel 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 Bazel 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 Bazel 3.1.0
tensorflow-2.3.0 3.5-3.8 Clang מ-xcode 10.1 Bazel 3.1.0
tensorflow-2.2.0 3.5-3.8 Clang מ-xcode 10.1 Bazel 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 צלצל מ-xcode בזל 0.24.1
tensorflow-1.13.1 2.7, 3.3-3.7 צלצל מ-xcode בזל 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 צלצל מ-xcode Bazel 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.10.1
tensorflow-1.7.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.10.1
tensorflow-1.6.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.8.1
tensorflow-1.5.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.8.1
tensorflow-1.4.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.2

GPU

גִרְסָה גרסת פייתון מַהְדֵר בניית כלים cuDNN CUDA
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.2 5.1 8
,

בנה חבילת TensorFlow pip מהמקור והתקן אותה על אובונטו לינוקס ו-macOS. למרות שההוראות עשויות לעבוד עבור מערכות אחרות, הן נבדקות ונתמכות רק עבור אובונטו ו-macOS.

הגדרה עבור לינוקס ו-macOS

התקן את כלי הבנייה הבאים כדי להגדיר את סביבת הפיתוח שלך.

התקן את Python ואת התלות בחבילת TensorFlow

אובונטו

sudo apt install python3-dev python3-pip

macOS

דורש Xcode 9.2 ואילך.

התקן באמצעות מנהל החבילות Homebrew :

brew install python

התקן את התלות בחבילת TensorFlow pip (אם אתה משתמש בסביבה וירטואלית, השמט את הארגומנט --user ):

pip install -U --user pip numpy wheel packaging requests opt_einsum
pip install -U --user keras_preprocessing --no-deps

התקן את Bazel

כדי לבנות את 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 16.

חבילות לילה של LLVM Debian/Ubuntu מספקות סקריפט התקנה אוטומטי וחבילות להתקנה ידנית בלינוקס. ודא שאתה מפעיל את הפקודה הבאה אם ​​אתה מוסיף ידנית llvm apt repository למקורות החבילה שלך:

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

לחלופין, אתה יכול להוריד ולפרוק את ה-Clang + LLVM 16 הבנוי מראש.

להלן דוגמה לשלבים שתוכל לנקוט כדי להגדיר את הקבצים הבינאריים Clang + LLVM 16 שהורדת במערכות ההפעלה של Debian/Ubuntu:

  1. שנה לספריית היעד הרצויה: cd <desired directory>

  2. טען וחלץ קובץ ארכיון...(מתאים לארכיטקטורה שלך):

    wget https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.0/clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
    
    tar -xvf clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
    
    

  3. העתק את התוכן שחולץ (ספריות וקבצים) אל /usr (ייתכן שתזדקק להרשאות sudo, והספרייה הנכונה עשויה להשתנות בהתאם להפצה). זה למעשה מתקין את Clang ו-LLVM ומוסיף אותו לנתיב. אתה לא צריך להחליף שום דבר, אלא אם כן יש לך התקנה קודמת, ובמקרה זה עליך להחליף את הקבצים:

    cp -r clang+llvm-16.0.0-x86_64-linux-gnu-ubuntu-18.04/* /usr
    

  4. בדוק את הגרסה הבינארית של Clang + LLVM 16 שהתקבלה:

    clang --version
    

  5. עכשיו ש- /usr/bin/clang הוא הנתיב האמיתי ל-clang החדש שלך. אתה יכול להפעיל את הסקריפט ./configure או להגדיר באופן ידני את משתני הסביבה CC ו- BAZEL_COMPILER לנתיב זה.

התקן תמיכה ב-GPU (אופציונלי, לינוקס בלבד)

אין תמיכה ב-GPU עבור macOS.

קרא את מדריך התמיכה של GPU כדי להתקין את מנהלי ההתקן ותוכנות נוספות הנדרשות להפעלת TensorFlow על GPU.

הורד את קוד המקור של TensorFlow

השתמש ב-Git כדי לשבט את מאגר TensorFlow :

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

ברירת המחדל של ה-repo הוא ענף הפיתוח master . אתה יכול גם לבדוק סניף שחרור לבניית:

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

הגדר את ה-build

בניית TensorFlow מוגדרת על ידי קובץ .bazelrc בספריית השורש של המאגר. ניתן להשתמש בסקריפטים ./configure או ./configure.py כדי להתאים הגדרות נפוצות.

אנא הפעל את הסקריפט ./configure מספריית השורש של המאגר. סקריפט זה יבקש ממך את מיקום התלות של TensorFlow ויבקש אפשרויות תצורת בנייה נוספות (דגלים מהדר, למשל). עיין בסעיף הפעלה לדוגמה לפרטים.

./configure

יש גם גרסת פיתון של הסקריפט הזה, ./configure.py . אם משתמשים בסביבה וירטואלית, python configure.py נותן עדיפות לנתיבים בתוך הסביבה, בעוד ש ./configure נותן עדיפות לנתיבים מחוץ לסביבה. בשני המקרים ניתן לשנות את ברירת המחדל.

מפגש לדוגמא

להלן מופע דוגמה של סקריפט ./configure (ההפעלה שלך עשויה להיות שונה):

אפשרויות תצורה

תמיכה ב-GPU

לתמיכה ב-GPU , הגדר cuda=Y במהלך התצורה וציין את הגרסאות של CUDA ו-cuDNN. אם למערכת שלך מותקנות מספר גרסאות של CUDA או cuDNN, הגדר במפורש את הגרסה במקום להסתמך על ברירת המחדל. ./configure יוצר קישורים סמליים לספריות ה-CUDA של המערכת שלך - כך שאם אתה מעדכן את נתיבי ספריית ה-CUDA שלך, יש להפעיל את שלב התצורה הזה שוב לפני הבנייה.

אופטימיזציות

עבור דגלי אופטימיזציה של קומפילציה, ברירת המחדל ( -march=native ) מייעלת את הקוד שנוצר עבור סוג ה-CPU של המחשב שלך. עם זאת, אם בונים את TensorFlow עבור סוג CPU אחר, שקול דגל אופטימיזציה ספציפי יותר. עיין במדריך של GCC לקבלת דוגמאות.

תצורות מוגדרות מראש

ישנן כמה תצורות בנייה מוגדרות מראש שניתן להוסיף לפקודת ה- bazel build , למשל:

  • --config=dbg —בנה עם מידע על ניפוי באגים. ראה CONTRIBUTING.md לפרטים.
  • --config=mkl —תמיכה עבור Intel® MKL-DNN .
  • --config=monolithic —תצורה למבנה סטטי ומונוליטי ברובו.

בנה והתקן את חבילת ה-pip

חבילת ה-pip בנויה בשני שלבים. פקודות bazel build יוצרות תוכנית "בונה חבילות". לאחר מכן אתה מפעיל את בונה החבילות כדי ליצור את החבילה.

בנה את בונה החבילות

השתמש bazel build כדי ליצור את בונה החבילות של TensorFlow 2.x:

bazel build [--config=option] //tensorflow/tools/pip_package:build_pip_package

אפשרויות בנייה של Bazel

עיין בהפניה לשורת הפקודה של Bazel עבור אפשרויות בנייה .

בניית TensorFlow ממקור יכולה להשתמש בהרבה זיכרון RAM. אם המערכת שלך מוגבלת בזיכרון, הגבל את השימוש ב-RAM של Bazel באמצעות: --local_ram_resources=2048 .

החבילות הרשמיות של TensorFlow בנויות עם שרשרת כלים של Clang התואמת את תקן החבילה manylinux2014.

בנה את החבילה

הפקודה bazel build יוצרת קובץ הפעלה בשם build_pip_package - זו התוכנית שבונה את חבילת pip . הפעל את קובץ ההפעלה כפי שמוצג להלן כדי לבנות חבילת .whl בספריית /tmp/tensorflow_pkg .

כדי לבנות מענף שחרור:

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

כדי לבנות מאסטר, השתמש --nightly_flag כדי לקבל את התלות הנכונות:

./bazel-bin/tensorflow/tools/pip_package/build_pip_package --nightly_flag /tmp/tensorflow_pkg

למרות שניתן לבנות תצורות CUDA וגם תצורות שאינן CUDA תחת אותו עץ מקור, מומלץ להפעיל את bazel clean בעת מעבר בין שתי התצורות הללו באותו עץ מקור.

התקן את החבילה

שם הקובץ של קובץ .whl שנוצר תלוי בגרסת TensorFlow ובפלטפורמה שלך. השתמש pip install כדי להתקין את החבילה, לדוגמה:

pip install /tmp/tensorflow_pkg/tensorflow-version-tags.whl

בונה Docker Linux

תמונות פיתוח Docker של TensorFlow הן דרך קלה להגדיר סביבה לבניית חבילות לינוקס מהמקור. תמונות אלה כבר מכילות את קוד המקור והתלות הנדרשים לבניית TensorFlow. עבור למדריך TensorFlow Docker לקבלת הוראות התקנה ורשימת תגי התמונה הזמינים .

מעבד בלבד

הדוגמה הבאה משתמשת בתמונה :devel כדי לבנות חבילה למעבד בלבד מקוד המקור העדכני ביותר של TensorFlow. עיין במדריך Docker עבור תגיות TensorFlow -devel זמינות.

הורד את תמונת הפיתוח העדכנית והתחל קונטיינר 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. אופציונלי: הגדר את ה-build - זה מבקש מהמשתמש לענות על שאלות תצורת build.
  2. בנה את הכלי המשמש ליצירת חבילת ה- pip .
  3. הפעל את הכלי כדי ליצור את חבילת ה-pip .
  4. התאם את הרשאות הבעלות של הקובץ מחוץ לקונטיינר.
./configure  # if necessary

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt  # create package

chown $HOST_PERMS /mnt/tensorflow-version-tags.whl

התקן ואמת את החבילה בתוך המכולה:

pip uninstall tensorflow  # remove current version

pip install /mnt/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

תמיכה ב-GPU

Docker היא הדרך הקלה ביותר לבנות תמיכה ב-GPU עבור TensorFlow מכיוון שהמכונה המארח דורשת רק את מנהל ההתקן של NVIDIA® (אין צורך להתקין את NVIDIA® CUDA® Toolkit ). עיין במדריך התמיכה ב-GPU ובמדריך TensorFlow Docker להגדרת nvidia-docer (לינוקס בלבד).

הדוגמה הבאה מורידה את תמונת 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 --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

./bazel-bin/tensorflow/tools/pip_package/build_pip_package /mnt  # create package

chown $HOST_PERMS /mnt/tensorflow-version-tags.whl

התקן ואמת את החבילה בתוך המכולה ובדוק אם יש GPU:

pip uninstall tensorflow  # remove current version

pip install /mnt/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')))"

תצורות בנייה נבדקו

לינוקס

מעבד

גִרְסָה גרסת פייתון מַהְדֵר בניית כלים
tensorflow-2.15.0 3.9-3.11 קלאנג 16.0.0 Bazel 6.1.0
tensorflow-2.14.0 3.9-3.11 קלאנג 16.0.0 Bazel 6.1.0
tensorflow-2.13.0 3.8-3.11 קלאנג 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 בזל 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 בזל 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 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 בזל 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 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 בזל 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

גִרְסָה גרסת פייתון מַהְדֵר בניית כלים cuDNN CUDA
tensorflow-2.15.0 3.9-3.11 קלאנג 16.0.0 Bazel 6.1.0 8.9 12.2
tensorflow-2.14.0 3.9-3.11 קלאנג 16.0.0 Bazel 6.1.0 8.7 11.8
tensorflow-2.13.0 3.8-3.11 קלאנג 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 בזל 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 בזל 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 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 בזל 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 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 בזל 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.15.0 3.9-3.11 קלאנג מ-xcode 10.15 Bazel 6.1.0
tensorflow-2.14.0 3.9-3.11 קלאנג מ-xcode 10.15 Bazel 6.1.0
tensorflow-2.13.0 3.8-3.11 קלאנג מ-xcode 10.15 Bazel 5.3.0
tensorflow-2.12.0 3.8-3.11 קלאנג מ-xcode 10.15 Bazel 5.3.0
tensorflow-2.11.0 3.7-3.10 Clang מ-xcode 10.14 Bazel 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 Bazel 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 Bazel 3.1.0
tensorflow-2.3.0 3.5-3.8 Clang מ-xcode 10.1 Bazel 3.1.0
tensorflow-2.2.0 3.5-3.8 Clang מ-xcode 10.1 Bazel 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 צלצל מ-xcode בזל 0.24.1
tensorflow-1.13.1 2.7, 3.3-3.7 צלצל מ-xcode בזל 0.19.2
tensorflow-1.12.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.15.0
tensorflow-1.11.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.15.0
tensorflow-1.10.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.15.0
tensorflow-1.9.0 2.7, 3.3-3.6 צלצל מ-xcode Bazel 0.11.0
tensorflow-1.8.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.10.1
tensorflow-1.7.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.10.1
tensorflow-1.6.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.8.1
tensorflow-1.5.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.8.1
tensorflow-1.4.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.5.4
tensorflow-1.3.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.5
tensorflow-1.2.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.5
tensorflow-1.1.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.2
tensorflow-1.0.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.2

GPU

גִרְסָה גרסת פייתון מַהְדֵר בניית כלים cuDNN CUDA
tensorflow_gpu-1.1.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.2 5.1 8
tensorflow_gpu-1.0.0 2.7, 3.3-3.6 צלצל מ-xcode בזל 0.4.2 5.1 8