T টাইপের টেনসরের জন্য SpaceToDepth
স্থানিক ডেটার ব্লকগুলিকে গভীরতায় পুনর্বিন্যাস করে। আরও নির্দিষ্টভাবে, এই অপটি ইনপুট টেনসরের একটি কপি আউটপুট করে যেখানে `উচ্চতা` এবং `প্রস্থ` মাত্রা থেকে মান `গভীর` মাত্রায় সরানো হয়। attr `block_size` ইনপুট ব্লকের আকার নির্দেশ করে।
* 'block_size x ব্লক সাইজ' আকারের নন-ওভারল্যাপিং ব্লকগুলি প্রতিটি অবস্থানে গভীরতায় পুনরায় সাজানো হয়েছে। * আউটপুট টেনসরের গভীরতা হল `block_size * block_size * input_depth`। * ইনপুটের প্রতিটি ব্লকের মধ্যে Y, X স্থানাঙ্কগুলি আউটপুট চ্যানেল সূচকের উচ্চ ক্রম উপাদান হয়ে ওঠে। * ইনপুট টেনসরের উচ্চতা এবং প্রস্থ অবশ্যই ব্লক_সাইজ দ্বারা বিভাজ্য হতে হবে।
`data_format` attr নিম্নলিখিত বিকল্পগুলির সাথে ইনপুট এবং আউটপুট টেনসরের বিন্যাস নির্দিষ্ট করে: "NHWC": `[ ব্যাচ, উচ্চতা, প্রস্থ, চ্যানেল ]` "NCHW": `[ ব্যাচ, চ্যানেল, উচ্চতা, প্রস্থ ]` " NCHW_VECT_C": `qint8 [ ব্যাচ, চ্যানেল / 4, উচ্চতা, প্রস্থ, 4 ]`
অপারেশনটিকে 6-ডি টেনসর রূপান্তর হিসাবে বিবেচনা করা কার্যকর। যেমন data_format = NHWC-এর জন্য, ইনপুট টেনসরের প্রতিটি উপাদান 6টি স্থানাঙ্কের মাধ্যমে নির্দিষ্ট করা যেতে পারে, মেমরি লেআউটের তাত্পর্য হ্রাস করে অর্ডার করা হয়েছে যেমন: n,oY,bY,oX,bX,iC (যেখানে n=ব্যাচ সূচক, oX, oY মানে X বা আউটপুট ইমেজের মধ্যে Y স্থানাঙ্ক, bX, bY মানে ইনপুট ব্লকের মধ্যে স্থানাঙ্ক, iC মানে ইনপুট চ্যানেল)। আউটপুট নিম্নলিখিত লেআউটে একটি স্থানান্তর হবে: n,oY,oX,bY,bX,iC
এই অপারেশনটি কনভোলিউশনের মধ্যে সক্রিয়করণের আকার পরিবর্তনের জন্য দরকারী (কিন্তু সমস্ত ডেটা রাখা), যেমন পুলিংয়ের পরিবর্তে। এটি বিশুদ্ধরূপে বিবর্তনীয় মডেল প্রশিক্ষণের জন্যও দরকারী।
উদাহরণস্বরূপ, আকৃতির একটি ইনপুট দেওয়া হয়েছে `[1, 2, 2, 1]`, data_format = "NHWC" এবং block_size = 2:
x = [[[[1], [2]],
[[3], [4]]]]
এই অপারেশনটি আকৃতির একটি টেনসর আউটপুট করবে `[1, 1, 1, 4]`: [[[[1, 2, 3, 4]]]]
এখানে, ইনপুটটির একটি ব্যাচ রয়েছে 1 এবং প্রতিটি ব্যাচের উপাদানের আকৃতি রয়েছে `[2, 2, 1]`, সংশ্লিষ্ট আউটপুটে একটি একক উপাদান থাকবে (অর্থাৎ প্রস্থ এবং উচ্চতা উভয়ই 1) এবং 4টি চ্যানেলের গভীরতা থাকবে (1 * ব্লক_সাইজ * ব্লক_সাইজ)। আউটপুট উপাদান আকৃতি হল `[1, 1, 4]`।বৃহত্তর গভীরতা সহ একটি ইনপুট টেনসরের জন্য, এখানে `[1, 2, 2, 3]` আকারের, যেমন
x = [[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
এই ক্রিয়াকলাপটি, 2-এর ব্লক_সাইজের জন্য, নিম্নলিখিত টেনসরের আকৃতি প্রদান করবে `[1, 1, 1, 12]` [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
একইভাবে, আকৃতির নিম্নলিখিত ইনপুটের জন্য `[1 4 4 1]`, এবং 2 এর একটি ব্লক আকার: x = [[[[1], [2], [5], [6]],
[[3], [4], [7], [8]],
[[9], [10], [13], [14]],
[[11], [12], [15], [16]]]]
অপারেটর '[1 2 2 4]` আকৃতির নিম্নলিখিত টেনসরটি ফিরিয়ে দেবে: x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
নেস্টেড ক্লাস
ক্লাস | SpaceToDepth.Options | SpaceToDepth এর জন্য ঐচ্ছিক বৈশিষ্ট্য |
ধ্রুবক
স্ট্রিং | OP_NAME | এই অপের নাম, টেনসরফ্লো কোর ইঞ্জিন দ্বারা পরিচিত |
পাবলিক পদ্ধতি
আউটপুট <T> | আউটপুট হিসাবে () টেনসরের প্রতীকী হ্যান্ডেল ফেরত দেয়। |
স্ট্যাটিক <T TType > SpaceToDepth <T> প্রসারিত করে | |
স্ট্যাটিক SpaceToDepth.Options | ডেটা ফরম্যাট (স্ট্রিং ডেটা ফরম্যাট) |
আউটপুট <T> | আউটপুট () |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
ধ্রুবক
সর্বজনীন স্ট্যাটিক চূড়ান্ত স্ট্রিং OP_NAME
এই অপের নাম, টেনসরফ্লো কোর ইঞ্জিন দ্বারা পরিচিত
পাবলিক পদ্ধতি
সর্বজনীন আউটপুট <T> হিসাবে আউটপুট ()
টেনসরের প্রতীকী হ্যান্ডেল ফেরত দেয়।
TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি প্রতীকী হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনাকে প্রতিনিধিত্ব করে।
সর্বজনীন স্ট্যাটিক SpaceToDepth <T> তৈরি করুন ( স্কোপ স্কোপ, অপারেন্ড <T> ইনপুট, লং ব্লক সাইজ, বিকল্প... বিকল্প)
একটি নতুন SpaceToDepth অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
ব্লক সাইজ | স্থানিক ব্লকের আকার। |
বিকল্প | ঐচ্ছিক বৈশিষ্ট্য মান বহন করে |
রিটার্নস
- SpaceToDepth এর একটি নতুন উদাহরণ