`প্যারাম` থেকে `সূচক` দ্বারা নির্দিষ্ট আকৃতি সহ একটি টেনসরে স্লাইস সংগ্রহ করুন।
`সূচক` হল একটি কে-ডাইমেনশনাল ইন্টিজার টেনসর, যাকে সূচকের একটি (K-1)-ডাইমেনশনাল টেনসর হিসেবে ভাবা হয় `প্যারামস`-এ, যেখানে প্রতিটি উপাদান `প্যারামস`-এর একটি স্লাইস সংজ্ঞায়িত করে:
আউটপুট[\\(i_0, ..., i_{K-2}\\)] = params[সূচক[\\(i_0, ..., i_{K-2}\\)]]
যেখানে tf.gather
এ `indices` স্লাইসকে `params`-এর `অক্ষ` মাত্রায় সংজ্ঞায়িত করে, tf.gather_nd
এ, `সূচক` স্লাইসকে `params`-এর প্রথম `N` মাত্রায় সংজ্ঞায়িত করে, যেখানে `N = indices.shape [-1]`।
`সূচক`-এর শেষ মাত্রা সর্বাধিক `প্যারাম`-এর র্যাঙ্ক হতে পারে:
indices.shape[-1] <= params.rank
`সূচক` এর শেষ মাত্রা উপাদানের সাথে মিলে যায় (যদি `indices.shape[-1] == params.rank`) অথবা স্লাইস (যদি `indices.shape[-1] < params.rank` হয়) মাত্রা `সূচকের সাথে। `পরম` এর আকৃতি[-1] আউটপুট টেনসরের আকৃতি আছে
indices.shape[:-1] + params.shape[indices.shape[-1]:]
মনে রাখবেন যে CPU-তে, আউট অফ বাউন্ড সূচক পাওয়া গেলে, একটি ত্রুটি ফেরত দেওয়া হয়। GPU-তে, যদি একটি আউট অফ বাউন্ড সূচক পাওয়া যায়, একটি 0 সংশ্লিষ্ট আউটপুট মানের মধ্যে সংরক্ষণ করা হয়।
নিচে কিছু উদাহরণ।
একটি ম্যাট্রিক্সে সহজ সূচীকরণ:
indices = [[0, 0], [1, 1]]
params = [['a', 'b'], ['c', 'd']]
output = ['a', 'd']
একটি ম্যাট্রিক্সে স্লাইস সূচীকরণ: indices = [[1], [0]]
params = [['a', 'b'], ['c', 'd']]
output = [['c', 'd'], ['a', 'b']]
indices = [[1]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [[['a1', 'b1'], ['c1', 'd1']]]
indices = [[0, 1], [1, 0]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [['c0', 'd0'], ['a1', 'b1']]
indices = [[0, 0, 1], [1, 0, 1]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = ['b0', 'b1']
indices = [[[0, 0]], [[0, 1]]]
params = [['a', 'b'], ['c', 'd']]
output = [['a'], ['b']]
ম্যাট্রিক্সে ব্যাচড ইন্ডেক্সিং: indices = [[[1]], [[0]]]
params = [['a', 'b'], ['c', 'd']]
output = [[['c', 'd']], [['a', 'b']]]
ব্যাচড স্লাইস ইনডেক্সিং এ Batchholder1 indexing indexing একটি 3-টেনসর: indices = [[[1]], [[0]]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [[[['a1', 'b1'], ['c1', 'd1']]],
[[['a0', 'b0'], ['c0', 'd0']]]]
indices = [[[0, 1], [1, 0]], [[0, 0], [1, 1]]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [[['c0', 'd0'], ['a1', 'b1']],
[['a0', 'b0'], ['c1', 'd1']]]
indices = [[[0, 0, 1], [1, 0, 1]], [[0, 1, 1], [1, 1, 0]]]
params = [[['a0', 'b0'], ['c0', 'd0']],
[['a1', 'b1'], ['c1', 'd1']]]
output = [['b0', 'b1'], ['d0', 'c1']]
এছাড়াও tf.gather
এবং `tf.batch_gather` দেখুন। ধ্রুবক
স্ট্রিং | OP_NAME | এই অপের নাম, টেনসরফ্লো কোর ইঞ্জিন দ্বারা পরিচিত |
পাবলিক পদ্ধতি
আউটপুট <T> | আউটপুট হিসাবে () টেনসরের প্রতীকী হ্যান্ডেল ফেরত দেয়। |
স্ট্যাটিক <T TType প্রসারিত করে > GatherNd <T> | |
আউটপুট <T> | আউটপুট () `পরামর্শ` থেকে মান `সূচক` দ্বারা প্রদত্ত সূচক থেকে সংগ্রহ করা হয়েছে, আকৃতি `সূচক. আকার[:-1] + প্যারামস.আকৃতি[সূচক. আকার[-1]:]`। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
ধ্রুবক
সর্বজনীন স্ট্যাটিক চূড়ান্ত স্ট্রিং OP_NAME
এই অপের নাম, টেনসরফ্লো কোর ইঞ্জিন দ্বারা পরিচিত
পাবলিক পদ্ধতি
সর্বজনীন আউটপুট <T> হিসাবে আউটপুট ()
টেনসরের প্রতীকী হ্যান্ডেল ফেরত দেয়।
TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি প্রতীকী হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনাকে প্রতিনিধিত্ব করে।
পাবলিক স্ট্যাটিক GatherNd <T> তৈরি করুন ( Scope scope, Operand <T> params, Operand <? প্রসারিত TNumber > সূচক)
একটি নতুন GatherNd অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
params | যে টেনসর থেকে মান সংগ্রহ করতে হবে। |
সূচক | সূচক টেনসর। |
রিটার্নস
- GatherNd এর একটি নতুন উদাহরণ
সর্বজনীন আউটপুট <T> আউটপুট ()
`পরামর্শ` থেকে মান `সূচক` দ্বারা প্রদত্ত সূচক থেকে সংগ্রহ করা হয়েছে, আকৃতি `সূচক. আকার[:-1] + প্যারামস.আকৃতি[সূচক. আকার[-1]:]`।