בנה ממקור ב-Windows

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

בנה חבילת TensorFlow pip מהמקור והתקן אותה ב-Windows.

התקנה עבור Windows

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

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

התקן מהדורת Python 3.7+ 64 סיביות עבור Windows . בחר pip כתכונה אופציונלית והוסף אותו למשתנה הסביבתי %PATH% שלך.

התקן את התלות של חבילת TensorFlow pip :

pip3 install -U six numpy wheel packaging
pip3 install -U keras_preprocessing --no-deps

התלות רשומה בקובץ setup.py תחת REQUIRED_PACKAGES .

התקן את Bazel

התקן את Bazel , כלי הבנייה המשמש להידור של TensorFlow. עבור גרסת Bazel, ראה את תצורות ה-build שנבדקו עבור Windows. הגדר את Bazel לבנות C++ .

הוסף את המיקום של קובץ ההפעלה של Bazel למשתנה הסביבה %PATH% שלך.

התקן את MSYS2

התקן את MSYS2 עבור כלי הפח הדרושים לבניית TensorFlow. אם MSYS2 מותקן ב- C:\msys64 , הוסף את C:\msys64\usr\bin למשתנה הסביבה %PATH% שלך. לאחר מכן, באמצעות cmd.exe , הרץ:

pacman -S git patch unzip

התקן את Visual C++ Build Tools 2019

התקן את כלי הבנייה של Visual C++ 2019 . זה מגיע עם Visual Studio 2019 אך ניתן להתקין אותו בנפרד:

  1. עבור אל ההורדות של Visual Studio ,
  2. בחר ניתנים להפצה מחדש וכלי בנייה ,
  3. הורד והתקן:
    • Microsoft Visual C++ 2019 ניתן להפצה מחדש
    • Microsoft Build Tools 2019

התקן תמיכת GPU (אופציונלי)

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

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

השתמש ב- Git כדי לשכפל את מאגר TensorFlow ( git מותקן עם MSYS2):

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

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

git checkout branch_name  # r1.9, r1.10, etc.

אופציונלי: הגדר את ה-build

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

אם אתה צריך לשנות את התצורה, הפעל את הסקריפט ./configure מספריית השורש של המאגר.

python ./configure.py

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

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

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

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

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

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

tensorflow:master repo עודכן ל-build 2.x כברירת מחדל. התקן את Bazel והשתמש ב- bazel build כדי ליצור את בונה החבילות של TensorFlow.

bazel build //tensorflow/tools/pip_package:build_pip_package

מעבד בלבד

השתמש bazel כדי להפוך את בונה החבילות של TensorFlow עם תמיכה במעבד בלבד:

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

תמיכה ב-GPU

כדי להפוך את בונה החבילות של TensorFlow עם תמיכה ב-GPU:

bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package

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

השתמש באפשרות זו בעת בנייה כדי למנוע בעיות ביצירת חבילה: tensorflow:issue#22390

--define=no_tensorflow_py_deps=true

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

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

אם בונים עם תמיכה ב-GPU, הוסף --copt=-nvcc_options=disable-warnings כדי לדכא הודעות אזהרה של nvcc.

בנה את החבילה

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

bazel-bin\tensorflow\tools\pip_package\build_pip_package C:/tmp/tensorflow_pkg

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

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

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

pip3 install C:/tmp/tensorflow_pkg/tensorflow-version-cp36-cp36m-win_amd64.whl

בנה באמצעות מעטפת MSYS

ניתן לבנות את TensorFlow גם באמצעות מעטפת MSYS. בצע את השינויים המפורטים להלן, ולאחר מכן עקוב אחר ההוראות הקודמות עבור שורת הפקודה המקורית של Windows ( cmd.exe ).

השבת המרת נתיב MSYS

MSYS ממירה אוטומטית ארגומנטים שנראים כמו נתיבי Unix לנתיבי Windows, וזה לא עובד עם bazel . (התווית //path/to:bin נחשבת לנתיב אבסולוטי של יוניקס מכיוון שהיא מתחילה בקו נטוי.)

export MSYS_NO_PATHCONV=1
export MSYS2_ARG_CONV_EXCL="*"

הגדר את ה-PATH שלך

הוסף את ספריות ההתקנה של Bazel ו-Python למשתנה הסביבתי $PATH שלך. אם Bazel מותקן ב- C:\tools\bazel.exe , ו-Python ל- C:\Python36\python.exe , הגדר את ה- PATH שלך עם:

# Use Unix-style with ':' as separator
export PATH="/c/tools:$PATH"
export PATH="/c/Python36:$PATH"

לתמיכה ב-GPU, הוסף את ספריות ה-CUDA וה-cuDNN bin ל- $PATH שלך:

export PATH="/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0/bin:$PATH"
export PATH="/c/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.0/extras/CUPTI/libx64:$PATH"
export PATH="/c/tools/cuda/bin:$PATH"

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

מעבד

גִרְסָה גרסת פייתון מַהְדֵר בניית כלים
tensorflow-2.11.0 3.7-3.10 MSVC 2019 Bazel 5.3.0
tensorflow-2.10.0 3.7-3.10 MSVC 2019 בזל 5.1.1
tensorflow-2.9.0 3.7-3.10 MSVC 2019 Bazel 5.0.0
tensorflow-2.8.0 3.7-3.10 MSVC 2019 בזל 4.2.1
tensorflow-2.7.0 3.7-3.9 MSVC 2019 בזל 3.7.2
tensorflow-2.6.0 3.6-3.9 MSVC 2019 בזל 3.7.2
tensorflow-2.5.0 3.6-3.9 MSVC 2019 בזל 3.7.2
tensorflow-2.4.0 3.6-3.8 MSVC 2019 Bazel 3.1.0
tensorflow-2.3.0 3.5-3.8 MSVC 2019 Bazel 3.1.0
tensorflow-2.2.0 3.5-3.8 MSVC 2019 Bazel 2.0.0
tensorflow-2.1.0 3.5-3.7 MSVC 2019 בזל 0.27.1-0.29.1
tensorflow-2.0.0 3.5-3.7 MSVC 2017 בזל 0.26.1
tensorflow-1.15.0 3.5-3.7 MSVC 2017 בזל 0.26.1
tensorflow-1.14.0 3.5-3.7 MSVC 2017 בזל 0.24.1-0.25.2
tensorflow-1.13.0 3.5-3.7 עדכון 3 של MSVC 2015 בזל 0.19.0-0.21.0
tensorflow-1.12.0 3.5-3.6 עדכון 3 של MSVC 2015 בזל 0.15.0
tensorflow-1.11.0 3.5-3.6 עדכון 3 של MSVC 2015 בזל 0.15.0
tensorflow-1.10.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.9.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.8.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.7.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.6.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.5.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.4.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.3.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.2.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.1.0 3.5 עדכון 3 של MSVC 2015 Cmake v3.6.3
tensorflow-1.0.0 3.5 עדכון 3 של MSVC 2015 Cmake v3.6.3

GPU

גִרְסָה גרסת פייתון מַהְדֵר בניית כלים cuDNN CUDA
tensorflow_gpu-2.11.0 3.7-3.10 MSVC 2019 Bazel 5.3.0 8.1 11.2
tensorflow_gpu-2.10.0 3.7-3.10 MSVC 2019 בזל 5.1.1 8.1 11.2
tensorflow_gpu-2.9.0 3.7-3.10 MSVC 2019 Bazel 5.0.0 8.1 11.2
tensorflow_gpu-2.8.0 3.7-3.10 MSVC 2019 בזל 4.2.1 8.1 11.2
tensorflow_gpu-2.7.0 3.7-3.9 MSVC 2019 בזל 3.7.2 8.1 11.2
tensorflow_gpu-2.6.0 3.6-3.9 MSVC 2019 בזל 3.7.2 8.1 11.2
tensorflow_gpu-2.5.0 3.6-3.9 MSVC 2019 בזל 3.7.2 8.1 11.2
tensorflow_gpu-2.4.0 3.6-3.8 MSVC 2019 Bazel 3.1.0 8.0 11.0
tensorflow_gpu-2.3.0 3.5-3.8 MSVC 2019 Bazel 3.1.0 7.6 10.1
tensorflow_gpu-2.2.0 3.5-3.8 MSVC 2019 Bazel 2.0.0 7.6 10.1
tensorflow_gpu-2.1.0 3.5-3.7 MSVC 2019 בזל 0.27.1-0.29.1 7.6 10.1
tensorflow_gpu-2.0.0 3.5-3.7 MSVC 2017 בזל 0.26.1 7.4 10
tensorflow_gpu-1.15.0 3.5-3.7 MSVC 2017 בזל 0.26.1 7.4 10
tensorflow_gpu-1.14.0 3.5-3.7 MSVC 2017 בזל 0.24.1-0.25.2 7.4 10
tensorflow_gpu-1.13.0 3.5-3.7 עדכון 3 של MSVC 2015 בזל 0.19.0-0.21.0 7.4 10
tensorflow_gpu-1.12.0 3.5-3.6 עדכון 3 של MSVC 2015 בזל 0.15.0 7.2 9.0
tensorflow_gpu-1.11.0 3.5-3.6 עדכון 3 של MSVC 2015 בזל 0.15.0 7 9
tensorflow_gpu-1.10.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.9.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.8.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.7.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.6.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.5.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 7 9
tensorflow_gpu-1.4.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 6 8
tensorflow_gpu-1.3.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 6 8
tensorflow_gpu-1.2.0 3.5-3.6 עדכון 3 של MSVC 2015 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.1.0 3.5 עדכון 3 של MSVC 2015 Cmake v3.6.3 5.1 8
tensorflow_gpu-1.0.0 3.5 עדכון 3 של MSVC 2015 Cmake v3.6.3 5.1 8