TensorScatterNdSub

TensorScatterNdSub kelas akhir publik

Mengurangi `pembaruan` yang jarang dari tensor yang ada menurut `indeks`.

Operasi ini membuat tensor baru dengan mengurangi `pembaruan` yang jarang dari `tensor` yang diteruskan. Operasi ini sangat mirip dengan `tf.scatter_nd_sub`, hanya saja pembaruannya dikurangi dari tensor yang ada (bukan variabel). Jika memori untuk tensor yang ada tidak dapat digunakan kembali, salinan akan dibuat dan diperbarui.

`indices` adalah tensor bilangan bulat yang berisi indeks ke dalam tensor baru dengan bentuk `shape`. Dimensi terakhir dari `indeks` paling banyak dapat berupa peringkat `bentuk`:

indeks.bentuk[-1] <= bentuk.peringkat

Dimensi terakhir `indeks` sesuai dengan indeks ke dalam elemen (jika `indeks.bentuk[-1] = bentuk.peringkat`) atau irisan (jika `indeks.bentuk[-1] < bentuk.peringkat`) sepanjang `indeks dimensi .bentuk[-1]` dari `bentuk`. `updates` adalah tensor dengan bentuk

indeks.bentuk[:-1] + bentuk[indeks.bentuk[-1]:]

Bentuk paling sederhana dari tensor_scatter_sub adalah dengan mengurangkan masing-masing elemen dari tensor berdasarkan indeks. Misalnya, kita ingin menyisipkan 4 elemen tersebar di tensor peringkat-1 dengan 8 elemen.

Dengan Python, operasi pengurangan pencar ini akan terlihat seperti ini:

indices = tf.constant([[4], [3], [1], [7]])
     updates = tf.constant([9, 10, 11, 12])
     tensor = tf.ones([8], dtype=tf.int32)
     updated = tf.tensor_scatter_nd_sub(tensor, indices, updates)
     print(updated)
 
Tensor yang dihasilkan akan terlihat seperti ini:

[1, -10, 1, -9, -8, 1, 1, -11]

Kita juga dapat memasukkan seluruh bagian tensor dengan peringkat lebih tinggi sekaligus. Misalnya, jika kita ingin menyisipkan dua irisan pada dimensi pertama tensor peringkat-3 dengan dua matriks nilai baru.

Dengan Python, operasi penambahan pencar ini akan terlihat seperti ini:

indices = tf.constant([[0], [2]])
     updates = tf.constant([[[5, 5, 5, 5], [6, 6, 6, 6],
                             [7, 7, 7, 7], [8, 8, 8, 8]],
                            [[5, 5, 5, 5], [6, 6, 6, 6],
                             [7, 7, 7, 7], [8, 8, 8, 8]]])
     tensor = tf.ones([4, 4, 4],dtype=tf.int32)
     updated = tf.tensor_scatter_nd_sub(tensor, indices, updates)
     print(updated)
 
Tensor yang dihasilkan akan terlihat seperti ini:

[[[-4, -4, -4, -4], [-5, -5, -5, -5], [-6, -6, -6, -6], [-7, -7 , -7, -7]], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] , [[-4, -4, -4, -4], [-5, -5, -5, -5], [-6, -6, -6, -6], [-7, -7 , -7, -7]], [[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]] ]

Perhatikan bahwa pada CPU, jika indeks di luar batas ditemukan, kesalahan akan dikembalikan. Pada GPU, jika ditemukan indeks di luar batas, indeks tersebut akan diabaikan.

Konstanta

Rangkaian OP_NAME Nama operasi ini dikenal dengan mesin inti TensorFlow

Metode Publik

Keluaran <T>
sebagai Keluaran ()
Mengembalikan pegangan simbolis tensor.
statis <T memperluas TType > TensorScatterNdSub <T>
buat ( Lingkup cakupan, Tensor Operan <T>, Indeks Operan <? extends TNumber >, Pembaruan Operan <T>)
Metode pabrik untuk membuat kelas yang membungkus operasi TensorScatterNdSub baru.
Keluaran <T>
keluaran ()
Tensor baru disalin dari tensor dan pembaruan dikurangi sesuai dengan indeks.

Metode Warisan

Konstanta

String akhir statis publik OP_NAME

Nama operasi ini dikenal dengan mesin inti TensorFlow

Nilai Konstan: "TensorScatterSub"

Metode Publik

Keluaran publik <T> sebagai Keluaran ()

Mengembalikan pegangan simbolis tensor.

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

public static TensorScatterNdSub <T> buat ( Lingkup cakupan , Tensor <T> Operand , indeks Operand <? extends TNumber >, pembaruan Operand <T>)

Metode pabrik untuk membuat kelas yang membungkus operasi TensorScatterNdSub baru.

Parameter
cakupan ruang lingkup saat ini
tensor Tensor untuk disalin/diperbarui.
indeks Tensor indeks.
pembaruan Pembaruan untuk disebarkan ke dalam keluaran.
Kembali
  • contoh baru TensorScatterNdSub

Keluaran publik <T> keluaran ()

Tensor baru disalin dari tensor dan pembaruan dikurangi sesuai dengan indeks.