התקנת 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
הַתקָנָה
הוסף את 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 -
התקן ועדכן את 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