התקנה

התקנת ModelServer

התקנה באמצעות Docker

הדרך הקלה והישרה ביותר להשתמש ב- TensorFlow Serving היא באמצעות תמונות Docker . אנו ממליצים בחום על מסלול זה, אלא אם יש לך צרכים ספציפיים שאינם מטופלים על ידי ריצה בקונטיינר.

טיפ: זו גם הדרך הקלה ביותר לגרום ל-TensorFlow Serving לעבוד עם תמיכה ב-GPU .

התקנה באמצעות APT

קבצים בינאריים זמינים

ה-TensorFlow Serving ModelServer הבינארי זמין בשתי גרסאות:

tensorflow-model-server : שרת מותאם לחלוטין המשתמש בכמה אופטימיזציות מהדר ספציפיות לפלטפורמה כמו הוראות SSE4 ו-AVX. זו אמורה להיות האפשרות המועדפת על רוב המשתמשים, אך ייתכן שלא תפעל בחלק מהמחשבים הישנים יותר.

tensorflow-model-server-universal : מורכב עם אופטימיזציות בסיסיות, אך אינו כולל ערכות הוראות ספציפיות לפלטפורמה, ולכן אמור לעבוד על רוב המכונות אם לא בכל המכונות בחוץ. השתמש בזה אם tensorflow-model-server לא עובד בשבילך. שימו לב שהשם הבינארי זהה עבור שתי החבילות, אז אם כבר התקנת את tensorflow-model-server, תחילה עליך להסיר את התקנתו באמצעות

apt-get remove tensorflow-model-server

הַתקָנָה

  1. הוסף את URI הפצת TensorFlow Serving כמקור חבילה (הגדרה חד פעמית)

    echo "deb [arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt stable tensorflow-model-server tensorflow-model-server-universal" | sudo tee /etc/apt/sources.list.d/tensorflow-serving.list && \
    curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg | sudo apt-key add -
    
  2. התקן ועדכן את TensorFlow ModelServer

    apt-get update && apt-get install tensorflow-model-server
    

לאחר ההתקנה, ניתן להפעיל את הבינארי באמצעות הפקודה tensorflow_model_server .

אתה יכול לשדרג לגרסה חדשה יותר של tensorflow-model-server עם:

apt-get upgrade tensorflow-model-server

בנייה ממקור

הגישה המומלצת לבנייה ממקור היא להשתמש ב-Docker. תמונות הפיתוח של TensorFlow Serving Docker מכילות את כל התלות שאתה צריך כדי לבנות גרסה משלך של TensorFlow Serving.

לרשימה של התלות הללו, עיין ב- TensorFlow Serving Development Dockerfiles [ CPU , GPU ].

התקנת Docker

הוראות התקנה כלליות נמצאות באתר Docker .

שכפל את סקריפט הבנייה

לאחר התקנת Docker, עלינו להשיג את המקור ממנו אנו רוצים לבנות. נשתמש ב-Git כדי לשכפל את ענף המאסטר של TensorFlow Serving:

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

לִבנוֹת

על מנת לבנות בסביבה הרמטית עם כל התלות מטופלת, נשתמש בסקריפט run_in_docker.sh . סקריפט זה מעביר פקודות build אל קונטיינר Docker. כברירת מחדל, הסקריפט ייבנה עם תמונת הפיתוח הלילית האחרונה של Docker.

TensorFlow Serving משתמש ב-Bazel ככלי הבנייה שלו. אתה יכול להשתמש בפקודות Bazel כדי לבנות יעדים בודדים או את עץ המקור כולו.

כדי לבנות את כל העץ, בצע:

tools/run_in_docker.sh bazel build -c opt tensorflow_serving/...

קבצים בינאריים ממוקמים בספריית bazel-bin, וניתן להפעיל אותם באמצעות פקודה כמו:

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server

כדי לבדוק את המבנה שלך, בצע:

tools/run_in_docker.sh bazel test -c opt tensorflow_serving/...

עיין במדריך הבסיסי ובמדריך המתקדם לקבלת דוגמאות מעמיקות יותר להפעלת TensorFlow Serving.

בניית גרסאות ספציפיות של TensorFlow Serving

אם אתה רוצה לבנות מענף ספציפי (כגון ענף שחרור), העבר את -b <branchname> לפקודה git clone .

נרצה גם להתאים את סביבת הבנייה עבור אותו ענף קוד, על ידי העברת הסקריפט run_in_docker.sh את תמונת הפיתוח של Docker שבה נרצה להשתמש.

לדוגמה, כדי לבנות את גרסה 1.10 של TensorFlow Serving:

$ git clone -b r1.10 https://github.com/tensorflow/serving.git
...
$ cd serving
$ tools/run_in_docker.sh -d tensorflow/serving:1.10-devel \
  bazel build tensorflow_serving/...
...
מבנה אופטימלי

אם תרצה ליישם אופטימיזציות מומלצות בדרך כלל, כולל שימוש בערכות הוראות ספציפיות לפלטפורמה עבור המעבד שלך, תוכל להוסיף --config=nativeopt לפקודות ה-Bazel build בעת בניית TensorFlow Serving.

לדוגמה:

tools/run_in_docker.sh bazel build --config=nativeopt tensorflow_serving/...

אפשר גם לבצע קומפילציה באמצעות ערכות הוראות ספציפיות (למשל AVX). בכל מקום שבו אתה רואה bazel build בתיעוד, פשוט הוסף את הדגלים המתאימים:

סט הוראות דגלים
AVX --copt=-mavx
AVX2 --copt=-mavx2
FMA --copt=-mfma
SSE 4.1 --copt=-msse4.1
SSE 4.2 --copt=-msse4.2
הכל נתמך על ידי מעבד --copt=-march=native

לדוגמה:

tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
בנייה עם תמיכה ב-GPU

על מנת לבנות גרסה מותאמת אישית של TensorFlow Serving עם תמיכה ב-GPU, אנו ממליצים לבנות עם תמונות Docker שסופקו , או לעקוב אחר הגישה ב- GPU Dockerfile .

TensorFlow Serving Python API PIP חבילת

כדי להפעיל את קוד הלקוח של Python ללא צורך בבניית ה-API, אתה יכול להתקין את חבילת tensorflow-serving-api PIP באמצעות:

pip install tensorflow-serving-api