DynamicStitch

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

مقادیر تانسورهای «داده» را در یک تانسور واحد قرار دهید.

یک تانسور ادغام شده به گونه ای می سازد که

merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
 
برای مثال، اگر هر «شاخص[m]» اسکالر یا برداری باشد، داریم
# Scalar indices:
     merged[indices[m], ...] = data[m][...]
 
     # Vector indices:
     merged[indices[m][i], ...] = data[m][i, ...]
 
هر «data[i].shape» باید با «شاخص[i].shape» مربوطه شروع شود، و بقیه «data[i].shape» باید wrt «i» ثابت باشد. یعنی باید 'data[i].shape = indices[i].shape + ثابت را داشته باشیم. بر حسب این «ثابت»، شکل خروجی این است

merged.shape = [حداکثر(شاخص) + 1] + ثابت

مقادیر به ترتیب ادغام می شوند، بنابراین اگر یک شاخص در هر دو «شاخص[m][i]» و «شاخص[n][j]» برای «(m,i) < (n,j)» ظاهر شود، «داده» برش [n][j]` در نتیجه ادغام شده ظاهر می شود. اگر به این ضمانت نیاز ندارید، ParallelDynamicStitch ممکن است در برخی از دستگاه ها عملکرد بهتری داشته باشد.

به عنوان مثال:

indices[0] = 6
     indices[1] = [4, 1]
     indices[2] = [[5, 2], [0, 3]]
     data[0] = [61, 62]
     data[1] = [[41, 42], [11, 12]]
     data[2] = [[[51, 52], [21, 22]], [[1, 2], [31, 32]]]
     merged = [[1, 2], [11, 12], [21, 22], [31, 32], [41, 42],
               [51, 52], [61, 62]]
 
از این روش می توان برای ادغام پارتیشن های ایجاد شده توسط «پارتیشن_دینامیک» همانطور که در مثال زیر نشان داده شده است استفاده کرد:
# Apply function (increments x_i) on elements for which a certain condition
     # apply (x_i != -1 in this example).
     x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])
     condition_mask=tf.not_equal(x,tf.constant(-1.))
     partitioned_data = tf.dynamic_partition(
         x, tf.cast(condition_mask, tf.int32) , 2)
     partitioned_data[1] = partitioned_data[1] + 1.0
     condition_indices = tf.dynamic_partition(
         tf.range(tf.shape(x)[0]), tf.cast(condition_mask, tf.int32) , 2)
     x = tf.dynamic_stitch(condition_indices, partitioned_data)
     # Here x=[1.1, -1., 6.2, 5.3, -1, 8.4], the -1. values remain
     # unchanged.
 

روش های عمومی

خروجی <T>
asOutput ()
دسته نمادین یک تانسور را برمی‌گرداند.
استاتیک <T> DynamicStitch <T>
ایجاد ( دامنه دامنه ، Iterable< Operand <Integer>> شاخص، Iterable< Operand <T>> داده)
روش کارخانه برای ایجاد کلاسی که یک عملیات DynamicStitch جدید را بسته بندی می کند.
خروجی <T>

روش های ارثی

روش های عمومی

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

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

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

عمومی استاتیک DynamicStitch <T> ایجاد ( دامنه دامنه ، Iterable< Operand <Integer>> شاخص، Iterable< Operand <T>> داده)

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

پارامترها
دامنه محدوده فعلی
برمی گرداند
  • یک نمونه جدید از DynamicStitch

خروجی عمومی <T> ادغام شد ()