DynamicStitch

DynamicStitch kelas akhir publik

Sisipkan nilai dari tensor `data` ke dalam satu tensor.

Membangun tensor gabungan sedemikian rupa

merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]
 
Misalnya, jika setiap `indeks[m]` adalah skalar atau vektor, kita punya
# Scalar indices:
     merged[indices[m], ...] = data[m][...]
 
     # Vector indices:
     merged[indices[m][i], ...] = data[m][i, ...]
 
Setiap `data[i].shape` harus dimulai dengan `indeks[i].shape` yang sesuai, dan `data[i].shape` lainnya harus konstan dengan `i`. Artinya, kita harus memiliki `data[i].shape = indeks[i].shape + konstan`. Dalam istilah `konstan` ini, bentuk keluarannya adalah

merge.shape = [maks(indeks) + 1] + konstanta

Nilai digabungkan secara berurutan, jadi jika indeks muncul di `indices[m][i]` dan `indices[n][j]` untuk `(m,i) < (n,j)` potongan `data [n][j]` akan muncul di hasil penggabungan. Jika Anda tidak memerlukan jaminan ini, ParallelDynamicStitch mungkin bekerja lebih baik di beberapa perangkat.

Misalnya:

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]]
 
Cara ini dapat digunakan untuk menggabungkan partisi yang dibuat oleh `dynamic_partition` seperti yang diilustrasikan pada contoh berikut:
# 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.
 

Metode Publik

Keluaran <T>
sebagai Keluaran ()
Mengembalikan pegangan simbolik tensor.
statis <T> Jahitan Dinamis <T>
buat ( Lingkup cakupan , indeks Iterable< Operand <Integer>>, data Iterable< Operand <T>>)
Metode pabrik untuk membuat kelas yang membungkus operasi DynamicStitch baru.
Keluaran <T>

Metode Warisan

Metode Publik

Keluaran publik <T> sebagai Keluaran ()

Mengembalikan pegangan simbolik tensor.

Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.

public static DynamicStitch <T> buat ( Lingkup lingkup, Iterable< Operand <Integer>> indeks, Iterable< Operand <T>> data)

Metode pabrik untuk membuat kelas yang membungkus operasi DynamicStitch baru.

Parameter
cakupan ruang lingkup saat ini
Kembali
  • contoh baru DynamicStitch

Output publik <T> digabungkan ()