tensorflow :: ভজনা:: উৎস

এটি একটি বিমূর্ত ক্লাস।

#include <source.h>

একটি মডিউলের জন্য একটি বিমূর্ততা যা লোড করার জন্য servables উত্স করে, বা, আরও সঠিকভাবে, ডেটা পরিচালনা করে যা সেই servables লোড করতে ব্যবহার করা যেতে পারে।

সারসংক্ষেপ

এই ধরনের ডেটা হ্যান্ডেলগুলির উদাহরণ হল:

  • একটি ক্রমিক শব্দভান্ডার মানচিত্রের একটি ফাইল-সিস্টেম পথ
  • একটি ইনকামিং RPC-এর একটি হ্যান্ডেল যা লোড করার জন্য একটি মেশিন-শিক্ষিত মডেল নির্দিষ্ট করে
  • একটি লোডার (দেখুন loader.h ) ডেটা হ্যান্ডলগুলি সাধারণত ছোট মনে হয়েছিল অধিকৃত হয়।

একটি উত্স কিছু বহিরাগত রিসোর্স (ফাইল সিস্টেম যেমন, আরপিসি কল) নিরীক্ষণ নতুন servables এবং / অথবা servables নতুন সংস্করণ এবং / অথবা পরিবেশনযোগ্য সংস্করণ আন করার প্রয়োজনীয়তা সম্পর্কে জানতে। এটা তোলে লক্ষ্য মডিউল (যেমন নির্দেশ প্রদান করা কলব্যাক ব্যবহার AspiredVersionsManager লোড একটি প্রদত্ত পরিবেশনযোগ্য এর) কোন সংস্করণটি (গুলি)। উপরন্তু, টার্গেট মডিউলের শব্দার্থবিদ্যা উপর নির্ভর করে, উত্স পরোক্ষভাবে এটা আন সেই servables বাদ দ্বারা নির্দেশ কোনটি।

একটি সাধারণ ক্ষেত্রে যে একটি হল উত্স ঠিক একটি পরিবেশনযোগ্য জন্য সংস্করণ নির্গত। একটি আরও সহজ ক্ষেত্রে হল যে একটি সার্ভযোগ্য সার্ভারের জীবনকালের জন্য একটি একক, স্ট্যাটিক সংস্করণ থাকে।

সোর্স এমন অবস্থা রাখতে পারে যা একাধিক নির্গত সার্বেলের মধ্যে ভাগ করা হয়, যেমন

  1. একটি শেয়ার্ড থ্রেড পুল বা অন্য রিসোর্স যা একাধিক সার্ভেবল ব্যবহার করে।
  2. একটি শেয়ার্ড শুধুমাত্র-পঠনযোগ্য ডেটা স্ট্রাকচার যা একাধিক সার্বেল ব্যবহার করে, প্রতিটি পরিবেশনযোগ্য দৃষ্টান্তে ডেটা স্ট্রাকচারের প্রতিলিপি করার সময় এবং স্থান ওভারহেড এড়াতে। শেয়ার্ড স্টেট যার প্রারম্ভিকতার সময় এবং আকার নগণ্য (যেমন থ্রেড পুল) উত্স দ্বারা সাগ্রহে তৈরি করা যেতে পারে, যা তারপর প্রতিটি নির্গত ServableData আইটেমে এটিতে একটি পয়েন্টার এম্বেড করে। ব্যয়বহুল বা বড় ভাগ রাষ্ট্র তৈরির প্রথম প্রযোজ্য ডেফার্ড হবে লোডার :: লোড () কল, অর্থাত ম্যানেজার দ্বারা পরিচালিত। নিয়মনিষ্ঠভাবে, লোডার :: আন () ব্যয়বহুল / বৃহতের ভাগ রাষ্ট্র ব্যবহার করে এটি চূর্ণ করা উচিত চূড়ান্ত পরিবেশনযোগ্য থেকে কল।

কনস্ট্রাক্টর এবং ডেস্ট্রাক্টর

~Source ()

পাবলিক প্রকার

AspiredVersionsCallback ব্যবহার
std::function< void(const StringPiece servable_name, std::vector< ServableData< T >> versions)>
একটি জন্য একটি কলব্যাক উত্স লক্ষ্য করার জন্য একটি পরিবেশনযোগ্য সরবরাহের সংস্করণ (গুলি), লোড করা হবে।

পাবলিক ফাংশন

SetAspiredVersionsCallback ( AspiredVersionsCallback callback)=0
virtual void
ব্যবহারের জন্য একটি AspiredVersionsCallback সরবরাহ করে। একবারে ডাকা যেতে পারে।

পাবলিক প্রকার

AspiredVersionsCallback

std::function< void(const StringPiece servable_name, std::vector< ServableData< T >> versions)> AspiredVersionsCallback

একটি জন্য একটি কলব্যাক উত্স লক্ষ্য করার জন্য একটি পরিবেশনযোগ্য সরবরাহের সংস্করণ (গুলি), লোড করা হবে।

কলব্যাকের একটি একক আমন্ত্রণ একটি একক পরিবেশনযোগ্য স্ট্রীমের সাথে সম্পর্কিত ('servable_name' দ্বারা প্রদত্ত)। একটি কলে সরবরাহ করা সমস্ত সংস্করণ অবশ্যই 'servable_name'-এ চিহ্নিত servable এর জন্য হতে হবে। বিভিন্ন পরিবেশনযোগ্য প্রবাহে আমন্ত্রণগুলি একে অপরের সাথে অর্থোগোনাল।

একাধিক আহ্বান অভিন্ন আইডি (যেমন একই পরিবেশনযোগ্য নাম এবং সংস্করণ) সহ পরিবেশনযোগ্য-ডেটা বস্তু সরবরাহ করতে পারে। এই ধরনের পরিবেশনযোগ্য-ডেটা অবজেক্টগুলিকে শব্দার্থগতভাবে সমতুল্য হিসাবে বিবেচনা করা হয়। প্রাপক শেষ পর্যন্ত একটি বজায় রাখবে এবং বাকিটিকে বাতিল করে দেবে।

যদি একটি পরিবেশনযোগ্য সংস্করণ V একটি প্রথম আহ্বানে সরবরাহ করা হয়, এবং পরবর্তীতে একটি দ্বিতীয় আহ্বান থেকে বাদ দেওয়া হয়, তাহলে V বাদ দেওয়ার প্রভাব কলব্যাকের লক্ষ্যের শব্দার্থবিদ্যার উপর নির্ভর করে। কিছু লক্ষ্যমাত্রা V-এর বাদ দেওয়াকে V আনলোড করার একটি অন্তর্নিহিত নির্দেশ হিসাবে ব্যাখ্যা করবে। প্রতিটি লক্ষ্যকে অবশ্যই এই বিষয়ে তার শব্দার্থবিদ্যা নথিভুক্ত করতে হবে।

পাবলিক ফাংশন

SetAspiredVersionsCallback

virtual void SetAspiredVersionsCallback(
  AspiredVersionsCallback callback
)=0

ব্যবহারের জন্য একটি AspiredVersionsCallback সরবরাহ করে। একবারে ডাকা যেতে পারে।

~ সূত্র

virtual  ~Source()=default