tensorflow:: אופס:: DynamicStitch
#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
תפקידים ציבוריים
DynamicStitch
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 ודוגמאות הקוד הן ברישיון Apache 2.0. לפרטים, ניתן לעיין במדיניות האתר Google Developers. Java הוא סימן מסחרי רשום של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2024-11-24 (שעון UTC).