GatherNd

کلاس نهایی عمومی GatherNd

برش‌ها را از «پارام‌ها» در یک تانسور با شکل مشخص شده با «شاخص‌ها» جمع‌آوری کنید.

«شاخص‌ها» یک تانسور عدد صحیح بعدی K است که بهترین تانسور (K-1)-بعدی از شاخص‌ها به «پارام‌ها» است که در آن هر عنصر تکه‌ای از «پارام‌ها» را تعریف می‌کند:

خروجی[\\(i_0, ..., i_{K-2}\\)] = پارامترها[شاخص‌ها[\\(i_0, ..., i_{K-2}\\)]]

در حالی که در tf.gather «شاخص‌ها» برش‌ها را در بعد «محور» «params» تعریف می‌کند، در tf.gather_nd ، «شاخص‌ها» برش‌ها را در اولین ابعاد «N» «params» تعریف می‌کند، جایی که «N = indices.shape» است. [-1]`.

آخرین بعد «شاخص ها» حداکثر می تواند رتبه «پارام ها» باشد:

indices.shape[-1] <= params.rank

آخرین بعد «شاخص‌ها» به عناصر (اگر «indices.shape[-1] == params.rank») یا برش‌هایی (اگر «indices.shape[-1] < params.rank») در امتداد «شاخص‌ها» مربوط می‌شود. شکل[-1]` از «params». تانسور خروجی شکل دارد

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']]
 
نمایه سازی به یک تانسور 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']
 
نمایه سازی دسته ای در یک ماتریس:
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']]
 
نمایه سازی دسته ای Batched matrix70-indekse: a 3-tensor:
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>
asOutput ()
دسته نمادین یک تانسور را برمی‌گرداند.
استاتیک <T، U تعداد را گسترش می دهد> جمع آوری <T>
ایجاد ( دامنه دامنه ، پارامترهای عملوند <T>، شاخص های عملوند <U>)
روش Factory برای ایجاد کلاسی که عملیات GatherNd جدید را بسته بندی می کند.
خروجی <T>
خروجی ()
مقادیر «params» از شاخص‌های «شاخص‌ها» با شکل «indices.shape[:-1] + params.shape[indices.shape[-1]:]» جمع‌آوری شده است.

روش های ارثی

روش های عمومی

خروجی عمومی <T> asOutput ()

دسته نمادین یک تانسور را برمی‌گرداند.

ورودی های عملیات TensorFlow خروجی های عملیات تنسورفلو دیگر هستند. این روش برای به دست آوردن یک دسته نمادین که نشان دهنده محاسبه ورودی است استفاده می شود.

عمومی استاتیک GatherNd <T> ایجاد ( دامنه دامنه ، پارامترهای عملوند <T>، شاخص های عملوند <U>)

روش Factory برای ایجاد کلاسی که عملیات GatherNd جدید را بسته بندی می کند.

مولفه های
محدوده محدوده فعلی
پارامترها تانسوری که از آن مقادیر جمع آوری می شود.
شاخص ها تانسور شاخص
برمی گرداند
  • یک نمونه جدید از GatherNd

خروجی عمومی <T> خروجی ()

مقادیر «params» از شاخص‌های «شاخص‌ها» با شکل «indices.shape[:-1] + params.shape[indices.shape[-1]:]» جمع‌آوری شده است.