جریان تنسور:: عملیات:: Dynamic Stitch
#include <data_flow_ops.h>
مقادیر تانسورهای data
را در یک تانسور منفرد قرار دهید.
خلاصه
یک تانسور ادغام شده به گونه ای می سازد که
merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
به عنوان مثال، اگر هر indices[m]
اسکالر یا برداری باشد، داریم
# Scalar indices: merged[indices[m], ...] = data[m][...]
# Vector indices: merged[indices[m][i], ...] = data[m][i, ...]
هر data[i].shape
باید با indices[i].shape
شروع شود و بقیه data[i].shape
باید wrt i
ثابت باشد. یعنی باید data[i].shape = indices[i].shape + constant
داشته باشیم. بر حسب این constant
، شکل خروجی است
merged.shape = [max(indices)] + constant
مقادیر به ترتیب ادغام می شوند، بنابراین اگر یک شاخص در هر دو indices[m][i]
و indices[n][j]
برای (m,i) < (n,j)
ظاهر شود data[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]]
این روش می تواند برای ادغام پارتیشن های ایجاد شده توسط dynamic_partition
همانطور که در مثال زیر نشان داده شده است استفاده شود:
# 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.
استدلال ها:
- scope: یک شی Scope
برمیگرداند:
-
Output
: تانسور ادغام شده.
سازندگان و ویرانگرها | |
---|---|
DynamicStitch (const :: tensorflow::Scope & scope, :: tensorflow::InputList indices, :: tensorflow::InputList data) |
صفات عمومی | |
---|---|
merged | |
operation |
توابع عمومی | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
صفات عمومی
ادغام شد
::tensorflow::Output merged
عملیات
Operation operation
توابع عمومی
Dynamic Stitch
DynamicStitch( const ::tensorflow::Scope & scope, ::tensorflow::InputList indices, ::tensorflow::InputList data )
گره
::tensorflow::Node * node() const
عملگر::tensorflow::ورودی
operator::tensorflow::Input() const
عملگر::tensorflow::خروجی
operator::tensorflow::Output() const
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2024-11-24 بهوقت ساعت هماهنگ جهانی.