'İndekslere' göre mevcut bir tensöre seyrek 'güncellemeler' ekler.
Bu işlem, "tensör"de iletilen seyrek "güncellemeler"i ekleyerek yeni bir tensör oluşturur. Bu işlem, güncellemelerin (bir değişkenin aksine) mevcut bir tensöre eklenmesi dışında tf.compat.v1.scatter_nd_add
işlemine çok benzer. Mevcut tensörün belleği yeniden kullanılamıyorsa bir kopya oluşturulur ve güncellenir.
'indeksler', 'tensor.shape' şeklindeki yeni bir tensöre endeksler içeren bir tam sayı tensördür. 'İndekslerin' son boyutu en fazla 'tensor.shape' sıralaması olabilir:
indices.shape[-1] <= tensor.shape.rank
indices.shape[:-1] + tensor.shape[indices.shape[-1]:]
Python'da bu dağılım ekleme işlemi şuna benzer:
>>> endeksler = tf.constant([[4], [3], [1], [7]]) >>> güncellemeler = tf.constant([9, 10, 11, 12]) >>> tensör = tf.ones([8], dtype=tf.int32) >>> güncellendi = tf.tensor_scatter_nd_add(tensör, indeksler, güncellemeler) >>> güncellendi Ayrıca daha yüksek dereceli bir tensörün tüm dilimlerini bir kerede ekleyebiliriz. Örneğin, bir rütbe-3 tensörün ilk boyutuna iki yeni değer matrisine sahip iki dilim eklemek istersek. Python'da bu dağılım ekleme işlemi şuna benzer: >>> endeksler = tf.constant([[0], [2]]) >>> güncellemeler = 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]]]) >>> tensör = tf.ones([4, 4, 4],dtype=tf.int32) >>> güncellendi = tf.tensor_scatter_nd_add(tensör, indisler, güncellemeler) >>> güncellendi Not: CPU'da sınır dışı bir dizin bulunursa bir hata döndürülür. GPU'da sınır dışı bir dizin bulunursa dizin dikkate alınmaz.
Genel Yöntemler
Çıkış <T> | Çıkış olarak () Bir tensörün sembolik tutamacını döndürür. |
statik <T, U Sayıyı genişletir> TensorScatterAdd <T> | |
Çıkış <T> | çıktı () Tensörden kopyalanan yeni bir tensör ve indekslere göre güncellemeler eklendi. |
Kalıtsal Yöntemler
Genel Yöntemler
genel Çıkış <T> asOutput ()
Bir tensörün sembolik tutamacını döndürür.
TensorFlow işlemlerinin girdileri, başka bir TensorFlow işleminin çıktılarıdır. Bu yöntem, girişin hesaplanmasını temsil eden sembolik bir tanıtıcı elde etmek için kullanılır.
public static TensorScatterAdd <T> create ( Kapsam kapsamı, İşlenen <T> tensörü, İşlenen <U> endeksleri, İşlenen <T> güncellemeleri)
Yeni bir TensorScatterAdd işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
tensör | Kopyalanacak/güncellenecek tensör. |
endeksler | İndeks tensörü. |
güncellemeler | Çıktıya dağıtılacak güncellemeler. |
İade
- TensorScatterAdd'ın yeni bir örneği
genel Çıkış <T> çıkışı ()
Tensörden kopyalanan yeni bir tensör ve indekslere göre güncellemeler eklendi.