تثبيت

تثبيت ModelServer

التثبيت باستخدام Docker

الطريقة الأسهل والأكثر مباشرة لاستخدام TensorFlow Serving هي باستخدام صور Docker . نوصي بشدة بهذا المسار إلا إذا كانت لديك احتياجات محددة لم تتم معالجتها عن طريق التشغيل في حاوية.

نصيحة: هذه أيضًا هي الطريقة الأسهل لجعل خدمة TensorFlow تعمل مع دعم وحدة معالجة الرسومات .

التثبيت باستخدام 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 كمصدر حزمة (إعداد لمرة واحدة)

    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، نحتاج إلى الحصول على المصدر الذي نريد البناء منه. سوف نستخدم Git لاستنساخ الفرع الرئيسي لخدمة TensorFlow:

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

يبني

من أجل البناء في بيئة محكمة مع الاهتمام بجميع التبعيات، سوف نستخدم البرنامج النصي run_in_docker.sh . يقوم هذا البرنامج النصي بتمرير أوامر البناء إلى حاوية 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

إذا كنت تريد البناء من فرع معين (مثل فرع الإصدار)، قم بتمرير -b <branchname> إلى أمر git clone .

سنرغب أيضًا في مطابقة بيئة البناء لهذا الفرع من التعليمات البرمجية، عن طريق تمرير البرنامج النصي run_in_docker.sh ، وهو صورة تطوير Docker التي نرغب في استخدامها.

على سبيل المثال، لإنشاء الإصدار 1.10 من خدمة TensorFlow:

$ 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 عند إنشاء 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
إس إس إي 4.1 --copt=-msse4.1
إس إس إي 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 تخدم حزمة Python API PIP

لتشغيل كود عميل Python دون الحاجة إلى إنشاء واجهة برمجة التطبيقات (API)، يمكنك تثبيت حزمة PIP tensorflow-serving-api باستخدام:

pip install tensorflow-serving-api