TensorFlow সিদ্ধান্ত বন এবং TensorFlow পরিবেশন

টেনসরফ্লো সার্ভিং (টিএফ সার্ভিং) হল একটি RPC বা REST API ব্যবহার করে বড় উৎপাদন সেটিংসে অনলাইনে টেনসরফ্লো মডেল চালানোর একটি টুল। TensorFlow ডিসিশন ফরেস্ট (TF-DF) স্থানীয়ভাবে TF সার্ভিং >=2.11 দ্বারা সমর্থিত।

TF-DF মডেলগুলি সরাসরি TF পরিবেশনের সাথে সামঞ্জস্যপূর্ণ। Yggdrasil মডেলগুলি প্রথমে রূপান্তরিত হওয়ার পরে TF সার্ভিংয়ের সাথে ব্যবহার করা যেতে পারে।

সীমাবদ্ধতা

TensorFlow একটি উল্লেখযোগ্য পরিমাণ গণনা ওভারহেড যোগ করে। ছোট, লেটেন্সি সংবেদনশীল মডেলের জন্য (যেমন, মডেল ইনফারেন্স টাইম ~1µs), এই ওভারহেডটি মডেলের প্রয়োজনীয় সময়ের চেয়ে বেশি মাত্রার অর্ডার হতে পারে। এই ক্ষেত্রে, Yggdrasil ডিসিশন ফরেস্টের সাথে TF-DF মডেলগুলি চালানোর সুপারিশ করা হয়।

ব্যবহারের উদাহরণ

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে TF সার্ভিং-এ একটি TF-DF মডেল চালাতে হয়:

প্রথমে, TF Serving ইনস্টল করুন । এই উদাহরণে, আমরা TF-Serving + TF-DF এর একটি পূর্ব-সংকলিত সংস্করণ ব্যবহার করব।

# Download TF Serving
wget https://github.com/tensorflow/decision-forests/releases/download/serving-1.0.1/tensorflow_model_server_linux.zip
unzip tensorflow_model_server_linux.zip

# Check that TF Serving works.
./tensorflow_model_server --version

এই উদাহরণে, আমরা একটি ইতিমধ্যে প্রশিক্ষিত TF-DF মডেল ব্যবহার করি।

# Get a TF-DF model
git clone https://github.com/tensorflow/decision-forests.git
MODEL_PATH=$(pwd)/decision-forests/tensorflow_decision_forests/test_data/model/saved_model_adult_rf

echo "The TF-DF model is available at: ${MODEL_PATH}"

দ্রষ্টব্য: TF-সার্ভিংয়ের জন্য মডেলের সম্পূর্ণ পথ প্রয়োজন। এই কারণেই আমরা $(pwd) ব্যবহার করি।

TF-সার্ভিং মডেল সংস্করণ সমর্থন করে। মডেলটি এমন একটি ডিরেক্টরিতে থাকা উচিত যার নাম মডেলটির সংস্করণ। একটি মডেল সংস্করণ একটি পূর্ণসংখ্যা যেমন, "1"। এখানে TF-সার্ভিংয়ের জন্য একটি সাধারণ ডিরেক্টরি রয়েছে।

  • /path/to/model
    • 1 : মডেলের সংস্করণ 1
    • 5 : মডেলের সংস্করণ 5
    • 6 : মডেলের সংস্করণ 6

এই উদাহরণের জন্য, আমাদের শুধুমাত্র "1" নামক একটি ডিরেক্টরিতে মডেল রাখতে হবে।

mkdir -p /tmp/tf_serving_model
cp -R "${MODEL_PATH}" /tmp/tf_serving_model/1

এখন, আমরা মডেলটিতে TF-Sering শুরু করতে পারি।

./tensorflow_model_server \
    --rest_api_port=8502 \
    --model_name=my_model \
    --model_base_path=/tmp/tf_serving_model

অবশেষে, আপনি Rest API ব্যবহার করে TF সার্ভিং-এ একটি অনুরোধ পাঠাতে পারেন। দুটি ফর্ম্যাট উপলব্ধ: পূর্বাভাস + দৃষ্টান্ত API এবং পূর্বাভাস + ইনপুট API। এখানে তাদের প্রত্যেকের একটি উদাহরণ:

# Predictions with the predict+instances API.
curl http://localhost:8502/v1/models/my_model:predict -X POST \
    -d '{"instances": [{"age":39,"workclass":"State-gov","fnlwgt":77516,"education":"Bachelors","education_num":13,"marital_status":"Never-married","occupation":"Adm-clerical","relationship":"Not-in-family","race":"White","sex":"Male","capital_gain":2174,"capital_loss":0,"hours_per_week":40,"native_country":"United-States"}]}'
# Predictions with the predict+inputs API
curl http://localhost:8502/v1/models/my_model:predict -X POST \
    -d '{"inputs": {"age":[39],"workclass":["State-gov"],"fnlwgt":[77516],"education":["Bachelors"],"education_num":[13],"marital_status":["Never-married"],"occupation":["Adm-clerical"],"relationship":["Not-in-family"],"race":["White"],"sex":["Male"],"capital_gain":[2174],"capital_loss":[0],"hours_per_week":[40],"native_country":["United-States"]} }'