इंस्टॉल करना

मॉडलसर्वर स्थापित करना

डॉकर का उपयोग करके इंस्टाल करना

TensorFlow सर्विंग का उपयोग करने का सबसे आसान और सीधा तरीका डॉकर छवियों के साथ है। हम इस मार्ग की पुरजोर अनुशंसा करते हैं जब तक कि आपकी ऐसी विशिष्ट आवश्यकताएं न हों जिन्हें किसी कंटेनर में चलाकर पूरा नहीं किया जा सके।

टिप: यह TensorFlow सर्विंग को GPU समर्थन के साथ काम करने का सबसे आसान तरीका भी है।

एपीटी का उपयोग करके इंस्टाल करना

उपलब्ध बायनेरिज़

TensorFlow सर्विंग मॉडलसर्वर बाइनरी दो वेरिएंट में उपलब्ध है:

टेंसरफ़्लो-मॉडल-सर्वर : पूरी तरह से अनुकूलित सर्वर जो SSE4 और AVX निर्देशों जैसे कुछ प्लेटफ़ॉर्म विशिष्ट कंपाइलर अनुकूलन का उपयोग करता है। यह अधिकांश उपयोगकर्ताओं के लिए पसंदीदा विकल्प होना चाहिए, लेकिन कुछ पुरानी मशीनों पर यह काम नहीं कर सकता है।

टेंसरफ़्लो-मॉडल-सर्वर-यूनिवर्सल : बुनियादी अनुकूलन के साथ संकलित, लेकिन इसमें प्लेटफ़ॉर्म विशिष्ट निर्देश सेट शामिल नहीं हैं, इसलिए सभी मशीनों पर नहीं तो अधिकांश पर काम करना चाहिए। यदि tensorflow-model-server आपके लिए काम नहीं करता है तो इसका उपयोग करें। ध्यान दें कि बाइनरी नाम दोनों पैकेजों के लिए समान है, इसलिए यदि आपने पहले से ही टेंसरफ्लो-मॉडल-सर्वर स्थापित किया है, तो आपको पहले इसे अनइंस्टॉल करना चाहिए

apt-get remove tensorflow-model-server

इंस्टालेशन

  1. TensorFlow सर्विंग वितरण URI को पैकेज स्रोत के रूप में जोड़ें (एक बार सेटअप)

    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 मॉडलसर्वर को स्थापित और अद्यतन करें

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

एक बार इंस्टॉल हो जाने पर, बाइनरी को tensorflow_model_server कमांड का उपयोग करके लागू किया जा सकता है।

आप टेंसरफ़्लो-मॉडल-सर्वर के नए संस्करण में अपग्रेड कर सकते हैं:

apt-get upgrade tensorflow-model-server

स्रोत से निर्माण

स्रोत से निर्माण के लिए अनुशंसित दृष्टिकोण डॉकर का उपयोग करना है। TensorFlow सर्विंग डॉकर विकास छवियां TensorFlow सर्विंग का अपना संस्करण बनाने के लिए आवश्यक सभी निर्भरताओं को समाहित करती हैं।

ये निर्भरताएँ क्या हैं, इसकी सूची के लिए, TensorFlow सर्विंग डेवलपमेंट डॉकरफ़ाइल्स [ सीपीयू , जीपीयू ] देखें।

डॉकर स्थापित करना

सामान्य स्थापना निर्देश डॉकर साइट पर हैं।

बिल्ड स्क्रिप्ट को क्लोन करें

डॉकर स्थापित करने के बाद, हमें वह स्रोत प्राप्त करना होगा जिससे हम निर्माण करना चाहते हैं। हम TensorFlow सर्विंग की मास्टर शाखा को क्लोन करने के लिए Git का उपयोग करेंगे:

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

निर्माण

सभी निर्भरताओं का ध्यान रखते हुए एक सुव्यवस्थित वातावरण बनाने के लिए, हम run_in_docker.sh स्क्रिप्ट का उपयोग करेंगे। यह स्क्रिप्ट बिल्ड कमांड को डॉकर कंटेनर तक भेजती है। डिफ़ॉल्ट रूप से, स्क्रिप्ट नवीनतम रात्रिकालीन डॉकर विकास छवि के साथ बनेगी।

TensorFlow सर्विंग अपने निर्माण उपकरण के रूप में बेज़ेल का उपयोग करता है। आप व्यक्तिगत लक्ष्य या संपूर्ण स्रोत ट्री बनाने के लिए बेज़ेल कमांड का उपयोग कर सकते हैं।

संपूर्ण वृक्ष बनाने के लिए, निष्पादित करें:

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

बायनेरिज़ को बेज़ेल-बिन निर्देशिका में रखा गया है, और इसे कमांड का उपयोग करके चलाया जा सकता है:

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server

अपने निर्माण का परीक्षण करने के लिए, निष्पादित करें:

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

TensorFlow सर्विंग चलाने के अधिक गहन उदाहरणों के लिए बुनियादी ट्यूटोरियल और उन्नत ट्यूटोरियल देखें।

TensorFlow सर्विंग के विशिष्ट संस्करण बनाना

यदि आप किसी विशिष्ट शाखा (जैसे रिलीज़ शाखा) से निर्माण करना चाहते हैं, git clone कमांड को -b <branchname> पास करें।

हम run_in_docker.sh स्क्रिप्ट को उस डॉकर विकास छवि को पास करके, जिसका हम उपयोग करना चाहते हैं, कोड की उस शाखा के लिए बिल्ड वातावरण का मिलान करना चाहेंगे।

उदाहरण के लिए, TensorFlow सर्विंग का संस्करण 1.10 बनाने के लिए:

$ 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/...
...
अनुकूलित निर्माण

यदि आप आम तौर पर अनुशंसित अनुकूलन लागू करना चाहते हैं, जिसमें आपके प्रोसेसर के लिए प्लेटफ़ॉर्म-विशिष्ट निर्देश सेट का उपयोग करना शामिल है, तो आप TensorFlow सर्विंग बनाते समय बेज़ेल बिल्ड कमांड में --config=nativeopt जोड़ सकते हैं।

उदाहरण के लिए:

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

विशिष्ट निर्देश सेट (जैसे AVX) का उपयोग करके संकलन करना भी संभव है। दस्तावेज़ में जहां भी आप bazel build देखते हैं, बस संबंधित झंडे जोड़ें:

अनुदेश सेट झंडे
एवीएक्स --copt=-mavx
AVX2 --copt=-mavx2
एफएमए --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 समर्थन के साथ निर्माण

GPU समर्थन के साथ TensorFlow सर्विंग का एक कस्टम संस्करण बनाने के लिए, हम या तो प्रदान की गई Docker छवियों के साथ निर्माण करने, या GPU Dockerfile में दृष्टिकोण का पालन करने की सलाह देते हैं।

TensorFlow पायथन एपीआई पीआईपी पैकेज परोस रहा है

एपीआई बनाने की आवश्यकता के बिना पायथन क्लाइंट कोड चलाने के लिए, आप tensorflow-serving-api पीआईपी पैकेज का उपयोग करके इंस्टॉल कर सकते हैं:

pip install tensorflow-serving-api