স্থাপন

মডেল সার্ভার ইনস্টল করা হচ্ছে

ডকার ব্যবহার করে ইনস্টল করা হচ্ছে

টেনসরফ্লো সার্ভিং ব্যবহার করার সবচেয়ে সহজ এবং সবচেয়ে সোজা উপায় হল ডকার ইমেজ । আপনার নির্দিষ্ট চাহিদা না থাকলে আমরা এই রুটটির সুপারিশ করি যা একটি পাত্রে চালানোর মাধ্যমে সমাধান করা হয় না।

টিপ: জিপিইউ সমর্থনের সাথে টেনসরফ্লো সার্ভিং কাজ করার এটিও সবচেয়ে সহজ উপায়।

APT ব্যবহার করে ইনস্টল করা হচ্ছে

উপলব্ধ বাইনারি

টেনসরফ্লো সার্ভিং মডেল সার্ভার বাইনারি দুটি ভেরিয়েন্টে উপলব্ধ:

tensorflow-model-server : সম্পূর্ণরূপে অপ্টিমাইজ করা সার্ভার যা কিছু প্ল্যাটফর্ম নির্দিষ্ট কম্পাইলার অপ্টিমাইজেশন যেমন SSE4 এবং AVX নির্দেশাবলী ব্যবহার করে। এটি বেশিরভাগ ব্যবহারকারীর জন্য পছন্দের বিকল্প হওয়া উচিত, তবে কিছু পুরানো মেশিনে কাজ নাও করতে পারে৷

tensorflow-model-server-universal : মৌলিক অপ্টিমাইজেশনের সাথে কম্পাইল করা হয়েছে, কিন্তু প্ল্যাটফর্ম নির্দিষ্ট নির্দেশনা সেট অন্তর্ভুক্ত করে না, তাই সব মেশিনে না থাকলে বেশিরভাগ ক্ষেত্রেই কাজ করা উচিত। tensorflow-model-server আপনার জন্য কাজ না করলে এটি ব্যবহার করুন। মনে রাখবেন যে বাইনারি নাম উভয় প্যাকেজের জন্য একই, তাই আপনি যদি ইতিমধ্যে 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. টেনসরফ্লো মডেল সার্ভার ইনস্টল এবং আপডেট করুন

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

একবার ইনস্টল হয়ে গেলে, tensorflow_model_server কমান্ডটি ব্যবহার করে বাইনারিটি চালু করা যেতে পারে।

আপনি এর সাথে টেনসরফ্লো-মডেল-সার্ভারের একটি নতুন সংস্করণে আপগ্রেড করতে পারেন:

apt-get upgrade tensorflow-model-server

উৎস থেকে বিল্ডিং

উৎস থেকে নির্মাণের প্রস্তাবিত পদ্ধতি হল ডকার ব্যবহার করা। টেনসরফ্লো সার্ভিং ডকার ডেভেলপমেন্ট ইমেজগুলি আপনার টেনসরফ্লো সার্ভিংয়ের নিজস্ব সংস্করণ তৈরি করতে আপনার প্রয়োজনীয় সমস্ত নির্ভরতাকে অন্তর্ভুক্ত করে।

এই নির্ভরতাগুলি কী তার একটি তালিকার জন্য, TensorFlow সার্ভিং ডেভেলপমেন্ট ডকারফাইলস [ CPU , GPU ] দেখুন৷

ডকার ইনস্টল করা হচ্ছে

সাধারণ ইনস্টলেশন নির্দেশাবলী ডকার সাইটে রয়েছে।

বিল্ড স্ক্রিপ্ট ক্লোন করুন

ডকার ইনস্টল করার পরে, আমরা যে উত্স থেকে তৈরি করতে চাই তা পেতে হবে। আমরা টেনসরফ্লো সার্ভিংয়ের মাস্টার শাখা ক্লোন করতে গিট ব্যবহার করব:

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

নির্মাণ করুন

সমস্ত নির্ভরতা যত্ন সহ একটি হারমেটিক পরিবেশে তৈরি করার জন্য, আমরা run_in_docker.sh স্ক্রিপ্ট ব্যবহার করব। এই স্ক্রিপ্টটি একটি ডকার কন্টেইনারের মাধ্যমে বিল্ড কমান্ড প্রেরণ করে। ডিফল্টরূপে, স্ক্রিপ্টটি সর্বশেষ রাতের ডকার ডেভেলপমেন্ট ইমেজ দিয়ে তৈরি হবে।

TensorFlow সার্ভিং তার বিল্ড টুল হিসাবে Bazel ব্যবহার করে। আপনি স্বতন্ত্র লক্ষ্য বা সমগ্র উৎস গাছ তৈরি করতে Bazel কমান্ড ব্যবহার করতে পারেন।

সম্পূর্ণ গাছ তৈরি করতে, চালান:

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 সার্ভিংয়ের নির্দিষ্ট সংস্করণ তৈরি করা

আপনি যদি একটি নির্দিষ্ট শাখা (যেমন একটি প্রকাশ শাখা) থেকে তৈরি করতে চান তবে -b <branchname> git clone কমান্ডে পাস করুন।

আমরা ব্যবহার করতে চাই ডকার ডেভেলপমেন্ট ইমেজ run_in_docker.sh স্ক্রিপ্টটি পাস করে কোডের সেই শাখার জন্য বিল্ড এনভায়রনমেন্টের সাথে মেলাতে চাই।

উদাহরণস্বরূপ, টেনসরফ্লো সার্ভিংয়ের সংস্করণ 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/...
...
অপ্টিমাইজ করা বিল্ড

আপনি যদি আপনার প্রসেসরের জন্য প্ল্যাটফর্ম-নির্দিষ্ট নির্দেশনা সেটগুলি ব্যবহার করা সহ সাধারণত প্রস্তাবিত অপ্টিমাইজেশানগুলি প্রয়োগ করতে চান তবে টেনসরফ্লো সার্ভিং তৈরি করার সময় আপনি Bazel বিল্ড কমান্ডগুলিতে --config=nativeopt যোগ করতে পারেন।

উদাহরণ স্বরূপ:

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

নির্দিষ্ট নির্দেশ সেট (যেমন AVX) ব্যবহার করে কম্পাইল করাও সম্ভব। ডকুমেন্টেশনে আপনি যেখানেই bazel build দেখতে পান, কেবল সংশ্লিষ্ট পতাকা যোগ করুন:

নির্দেশনাবলী পতাকা
এভিএক্স --copt=-mavx
AVX2 --copt=-mavx2
এফএমএ --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 সমর্থন সহ বিল্ডিং

GPU সমর্থন সহ TensorFlow সার্ভিং-এর একটি কাস্টম সংস্করণ তৈরি করার জন্য, আমরা হয় প্রদত্ত ডকার ইমেজগুলি দিয়ে তৈরি বা GPU ডকারফাইলের পদ্ধতি অনুসরণ করার পরামর্শ দিই।

TensorFlow পরিবেশন Python API PIP প্যাকেজ

API তৈরি করার প্রয়োজন ছাড়াই পাইথন ক্লায়েন্ট কোড চালানোর জন্য, আপনি ব্যবহার করে tensorflow-serving-api PIP প্যাকেজ ইনস্টল করতে পারেন:

pip install tensorflow-serving-api