`প্যারাম` থেকে `সূচক` দ্বারা নির্দিষ্ট আকৃতি সহ একটি টেনসরে স্লাইস সংগ্রহ করুন।
'সূচক' হল একটি K-মাত্রিক পূর্ণসংখ্যার টেনসর, যাকে 'প্যারামস'-এ সূচকগুলির একটি (K-1)-মাত্রিক টেনসর হিসাবে বিবেচনা করা হয়, যেখানে প্রতিটি উপাদান 'পরাম'-এর একটি স্লাইস সংজ্ঞায়িত করে:
আউটপুট[\\(i_0, ..., i_{K-2}\\)] = params[index[\\(i_0, ..., i_{K-2}\\)]]
যেখানে tf.gather
`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 সংশ্লিষ্ট আউটপুট মানের মধ্যে সংরক্ষণ করা হয়।
নিচে কিছু উদাহরণ।
একটি ম্যাট্রিক্সে সহজ সূচীকরণ: l10n-placeholder3 একটি ম্যাট্রিক্সে স্লাইস সূচীকরণ:
indices = [[[1]], [[0]]]
params = [['a', 'b'], ['c', 'd']]
output = [[['c', 'd']], [['a', 'b']]]
-placeholder4 একটি 3-টেনসরে সূচীকরণ: 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']
-placeholder5 একটি ম্যাট্রিক্সে ব্যাচড ইন্ডেক্সিং: indices = [[1], [0]]
params = [['a', 'b'], ['c', 'd']]
output = [['c', 'd'], ['a', 'b']]
indices = [[[0, 0]], [[0, 1]]]
params = [['a', 'b'], ['c', 'd']]
output = [['a'], ['b']]
indices = [[0, 0], [1, 1]]
params = [['a', 'b'], ['c', 'd']]
output = ['a', 'd']
স্লাইস ইনডেক্সিং এ Batchholder1 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` দেখুন। পাবলিক পদ্ধতি
আউটপুট <T> | আউটপুট হিসাবে () একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে। |
static <T, U প্রসারিত সংখ্যা> GatherNd <T> | |
আউটপুট <T> | আউটপুট () `পরামর্শ` থেকে মান `সূচক` দ্বারা প্রদত্ত সূচক থেকে সংগ্রহ করা হয়েছে, আকৃতি `সূচক. আকৃতি[:-1] + প্যারামস. আকার[সূচক. আকার[-1]:]`। |
উত্তরাধিকারসূত্রে প্রাপ্ত পদ্ধতি
পাবলিক পদ্ধতি
সর্বজনীন আউটপুট <T> হিসাবে আউটপুট ()
একটি টেনসরের প্রতীকী হ্যান্ডেল প্রদান করে।
TensorFlow অপারেশনের ইনপুট হল অন্য TensorFlow অপারেশনের আউটপুট। এই পদ্ধতিটি একটি সিম্বলিক হ্যান্ডেল পেতে ব্যবহৃত হয় যা ইনপুটের গণনার প্রতিনিধিত্ব করে।
পাবলিক স্ট্যাটিক GatherNd <T> তৈরি করুন ( Scope scope, Operand <T> params, Operand <U> সূচক)
একটি নতুন GatherNd অপারেশন মোড়ানো একটি ক্লাস তৈরি করার কারখানার পদ্ধতি।
পরামিতি
সুযোগ | বর্তমান সুযোগ |
---|---|
params | যে টেনসর থেকে মান সংগ্রহ করতে হবে। |
সূচক | সূচক টেনসর। |
রিটার্নস
- GatherNd এর একটি নতুন উদাহরণ
সর্বজনীন আউটপুট <T> আউটপুট ()
`পরামর্শ` থেকে মান `সূচক` দ্বারা প্রদত্ত সূচক থেকে সংগ্রহ করা হয়েছে, আকৃতি `সূচক. আকৃতি[:-1] + প্যারামস. আকার[সূচক. আকার[-1]:]`।