অপটি একটি সিরিয়ালাইজড প্রোটোকল বাফার বার্তা থেকে টেনসরে ক্ষেত্রগুলি বের করে।
দ্রষ্টব্য: এই APIটি মানব-বন্ধুত্বের পরিবর্তে অর্থগোনালিটির জন্য ডিজাইন করা হয়েছে। এটি হাত দ্বারা ইনপুট প্রোটো পার্স করতে ব্যবহার করা যেতে পারে, তবে এটি জেনারেট করা কোডে ব্যবহারের উদ্দেশ্যে করা হয়েছে।
'ডিকোড_প্রোটো' অপশন একটি সিরিয়ালাইজড প্রোটোকল থেকে বার্তাকে টেনসরে বাফার করে ক্ষেত্রগুলি বের করে। `ক্ষেত্র_নাম`-এর ক্ষেত্রগুলিকে ডিকোড করা হয় এবং সম্ভব হলে সংশ্লিষ্ট `আউটপুট_টাইপস`-এ রূপান্তরিত করা হয়।
ক্ষেত্রের নামের প্রসঙ্গ দিতে একটি `বার্তা_প্রকার` নাম অবশ্যই প্রদান করতে হবে। প্রকৃত বার্তা বর্ণনাকারীকে লিঙ্ক-ইন বর্ণনাকারী পুলে বা 'descriptor_source' অ্যাট্রিবিউট ব্যবহার করে কলার দ্বারা প্রদত্ত একটি ফাইলের নাম দেখা যেতে পারে।
প্রতিটি আউটপুট টেনসর একটি ঘন টেনসর। এর মানে হল ইনপুট মিনিব্যাচে দেখা সবচেয়ে বেশি সংখ্যক পুনরাবৃত্ত উপাদান ধরে রাখার জন্য এটি প্যাড করা হয়েছে। (শূন্য-আকারের মাত্রা প্রতিরোধ করার জন্য আকৃতিটি একটি দ্বারা প্যাড করা হয়)। মিনিব্যাচের প্রতিটি উদাহরণের জন্য প্রকৃত পুনরাবৃত্তি গণনা `আকার` আউটপুটে পাওয়া যাবে। অনেক ক্ষেত্রে `decode_proto`-এর আউটপুট অবিলম্বে tf.squeeze-এ দেওয়া হয়, যদি অনুপস্থিত মানগুলি উদ্বেগের বিষয় না হয়। tf.squeeze ব্যবহার করার সময়, চমক এড়াতে সর্বদা স্কুইজের মাত্রা স্পষ্টভাবে পাস করুন।
বেশিরভাগ ক্ষেত্রে, প্রোটো ফিল্ডের ধরন এবং টেনসরফ্লো ডিটাইপগুলির মধ্যে ম্যাপিং সহজবোধ্য। যাইহোক, কয়েকটি বিশেষ ক্ষেত্রে রয়েছে:
- একটি প্রোটো ক্ষেত্র যাতে একটি সাবমেসেজ বা গোষ্ঠী থাকে শুধুমাত্র `DT_STRING` (ক্রমিক সাবমেসেজ) এ রূপান্তরিত করা যেতে পারে। এটি API এর জটিলতা কমাতে। ফলস্বরূপ স্ট্রিংটি ডিকোড_প্রোটো অপের অন্য উদাহরণে ইনপুট হিসাবে ব্যবহার করা যেতে পারে।
- TensorFlow-এর স্বাক্ষরবিহীন পূর্ণসংখ্যার জন্য সমর্থন নেই। অপ্সগুলি uint64 প্রকারকে `DT_INT64` হিসাবে একই দুই-পরিপূরক বিট প্যাটার্নের সাথে উপস্থাপন করে (স্পষ্ট উপায়)। স্বাক্ষরবিহীন int32 মানগুলিকে ঠিক `DT_INT64` টাইপ নির্দিষ্ট করে, অথবা যদি কলার `output_types` অ্যাট্রিবিউটে `DT_INT32` নির্দিষ্ট করে তাহলে দুই-পরিপূরক ব্যবহার করে উপস্থাপন করা যেতে পারে।
- `মানচিত্র` ক্ষেত্র সরাসরি ডিকোড করা হয় না। তারা উপযুক্ত এন্ট্রি টাইপের 'পুনরাবৃত্তি' ক্ষেত্র হিসাবে বিবেচিত হয়। প্রোটো-কম্পাইলার প্রতিটি মানচিত্রের ক্ষেত্রের জন্য এন্ট্রি প্রকারগুলিকে সংজ্ঞায়িত করে। টাইপ-নেম হল ফিল্ডের নাম, "এন্ট্রি" যুক্ত করে "ক্যামেলকেস" এ রূপান্তরিত। tf.train.Features.FeatureEntry
বার্তাটি এই অন্তর্নিহিত `Entry` প্রকারের একটির উদাহরণ।
- `enum` ক্ষেত্রগুলিকে int32 হিসাবে পড়তে হবে।
বাইনারি এবং টেক্সট প্রোটো সিরিয়ালাইজেশন উভয়ই সমর্থিত, এবং `ফর্ম্যাট` অ্যাট্রিবিউট ব্যবহার করে বেছে নেওয়া যেতে পারে।
`descriptor_source` অ্যাট্রিবিউটটি `message_type` খোঁজার সময় পরামর্শের জন্য প্রোটোকল বর্ণনাকারীদের উৎস নির্বাচন করে। এটা হতে পারে:
- একটি খালি স্ট্রিং বা "স্থানীয়://", যে ক্ষেত্রে প্রোটোকল বর্ণনাকারী তৈরি করা হয় C++ (পাইথন নয়) প্রোটো সংজ্ঞা বাইনারির সাথে সংযুক্ত।
- একটি ফাইল, যে ক্ষেত্রে ফাইল থেকে প্রোটোকল বর্ণনাকারী তৈরি করা হয়, যেটিতে একটি স্ট্রিং হিসাবে ক্রমানুসারে একটি `FileDescriptorSet` থাকবে বলে আশা করা হচ্ছে। দ্রষ্টব্য: আপনি প্রোটোকল কম্পাইলার `প্রটোক`-এ `--descriptor_set_out` এবং `--include_imports` বিকল্পগুলি ব্যবহার করে একটি `descriptor_source` ফাইল তৈরি করতে পারেন।
- A "বাইট/
নেস্টেড ক্লাস
ক্লাস | DecodeProto.Options | DecodeProto জন্য ঐচ্ছিক বৈশিষ্ট্য |
পাবলিক পদ্ধতি
স্ট্যাটিক ডিকোডপ্রোটো | |
স্ট্যাটিক DecodeProto.Options | বর্ণনাকারী উৎস (স্ট্রিং বর্ণনাকারী উৎস) |
স্ট্যাটিক DecodeProto.Options | মেসেজ ফরম্যাট (স্ট্রিং মেসেজ ফরম্যাট) |
স্ট্যাটিক DecodeProto.Options | স্যানিটাইজ (বুলিয়ান স্যানিটাইজ) |
আউটপুট <পূর্ণসংখ্যা> | আকার () আকৃতি `[batch_shape, len(field_names)]` সহ int32-এর টেনসর। |
তালিকা< আউটপুট <?>> | মান () সংশ্লিষ্ট ক্ষেত্রের মান ধারণকারী টেনসরের তালিকা। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
পাবলিক স্ট্যাটিক ডিকোডপ্রোটো তৈরি করুন ( স্কোপ স্কোপ, অপারেন্ড <স্ট্রিং> বাইট, স্ট্রিং মেসেজ টাইপ, তালিকা<স্ট্রিং> ফিল্ডের নাম, তালিকা<ক্লাস<?>> আউটপুট টাইপ, বিকল্প... বিকল্প)
একটি নতুন DecodeProto অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
বাইট | আকৃতি `batch_shape` সহ ক্রমিক প্রোটোর টেনসর। |
বার্তা প্রকার | ডিকোড করার জন্য প্রোটো বার্তার প্রকারের নাম। |
ক্ষেত্রের নাম | প্রোটো ক্ষেত্রের নাম ধারণকারী স্ট্রিংগুলির তালিকা। একটি এক্সটেনশন ক্ষেত্রকে তার পুরো নাম ব্যবহার করে ডিকোড করা যেতে পারে, যেমন EXT_PACKAGE.EXT_FIELD_NAME৷ |
আউটপুট প্রকার | field_names-এ সংশ্লিষ্ট ক্ষেত্রের জন্য ব্যবহার করার জন্য TF প্রকারের তালিকা। |
বিকল্প | ঐচ্ছিক বৈশিষ্ট্য মান বহন করে |
রিটার্নস
- DecodeProto এর একটি নতুন উদাহরণ
পাবলিক স্ট্যাটিক ডিকোডপ্রোটো. অপশন বর্ণনাকারী উৎস (স্ট্রিং বর্ণনাকারী উৎস)
পরামিতি
বর্ণনাকারী উৎস | হয় বিশেষ মান `local://` অথবা একটি ক্রমিককৃত `FileDescriptorSet` ধারণকারী কোনো ফাইলের পথ। |
---|
পাবলিক স্ট্যাটিক DecodeProto.Options messageFormat (স্ট্রিং মেসেজ ফরম্যাট)
পরামিতি
বার্তা বিন্যাস | হয় `বাইনারী` বা text । |
---|
পাবলিক স্ট্যাটিক DecodeProto.Options sanitize (বুলিয়ান স্যানিটাইজ)
পরামিতি
পরিষ্কার | রেজাল্ট স্যানিটাইজ করতে হবে কি না। |
---|
সর্বজনীন আউটপুট <পূর্ণসংখ্যা> আকার ()
আকৃতি `[batch_shape, len(field_names)]` সহ int32-এর টেনসর। প্রতিটি এন্ট্রি হল সংশ্লিষ্ট ক্ষেত্রের জন্য পাওয়া মানের সংখ্যা। ঐচ্ছিক ক্ষেত্রের 0 বা 1 মান থাকতে পারে।
সর্বজনীন তালিকা< আউটপুট <?>> মান ()
সংশ্লিষ্ট ক্ষেত্রের মান ধারণকারী টেনসরের তালিকা। `মান[i]` এর ডেটাটাইপ আছে `আউটপুট_টাইপস[i]` এবং আকৃতি `[ব্যাচ_আকৃতি, সর্বোচ্চ(আকার[...,i])]`।