Bireysel değerleri veya dilimleri kullanarak "girdi"ye seyrek ekleme uygular
'endekslere' göre 'güncellemeler'den. Güncellemeler örtüşmesizdir: 'giriş' yalnızca başka hiçbir işlem onu kullanmayacaksa yerinde değiştirilir. Aksi halde 'girdi'nin bir kopyası oluşturulur. Bu işlemin hem 'giriş' hem de 'güncellemeler' açısından bir eğimi vardır.
'girdi', 'P' derecesine sahip bir 'Tensör'dür ve 'indeksler', 'Q' derecesine sahip bir 'Tensör'dür.
"endeksler", "giriş"teki indeksleri içeren tamsayı tensörü olmalıdır. Şeklinde olmalı\\([d_0, ..., d_{Q-2}, K]\\) burada '0 < K <= P'.
"İndekslerin" en içteki boyutu (uzunluğu "K"), "K" boyunca elementlerin indekslerine (eğer "K = P") veya "(PK)" boyutlu dilimlere (eğer "K < P") karşılık gelir 'girdi' boyutu.
"güncellemeler", şu şekle sahip "Q-1+PK" düzeyindeki "Tensör"dür:
$$[d_0, ..., d_{Q-2}, input.shape[K], ..., input.shape[P-1]].$$
Örneğin, 8 elemanlı bir derece 1 tensöre 4 dağınık eleman eklemek istediğimizi varsayalım. Python'da bu ekleme şöyle görünecektir:
girdi = tf.constant([1, 2, 3, 4, 5, 6, 7, 8]) indeksler = tf.constant([[4], [3], [1], [7]]) güncellemeler = tf.constant([9, 10, 11, 12]) çıktı = tf.scatter_nd_non_aliasing_add(giriş, dizinler, güncellemeler) ile tf.Session() as sess: print(sess.run(output))
Sonuçta ortaya çıkan "çıkış" değeri şuna benzer:
[1, 13, 3, 14, 14, 6, 7, 20]
Dilimlerde güncellemelerin nasıl yapılacağı hakkında daha fazla ayrıntı için tf.scatter_nd
bakın.
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> ScatterNdNonAliasingAdd <T> | |
Çıkış <T> | çıktı () "Güncellemeler" ile güncellenen "giriş" değerlerini içeren, "giriş" ile aynı şekle sahip bir "Tensör". |
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 ScatterNdNonAliasingAdd <T> create ( Kapsam kapsamı, İşlenen <T> girişi, İşlenen <U> dizinleri, İşlenen <T> güncellemeleri)
Yeni bir ScatterNdNonAliasingAdd işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
giriş | Bir Tensör. |
endeksler | Bir Tensör. Şu türlerden biri olmalıdır: "int32", "int64". 'Girdi'ye endekslerin tensörü. |
güncellemeler | Bir Tensör. Ref ile aynı türde olmalıdır. "Giriş"e eklenecek güncellenmiş değerlerin tensörü. |
İade
- yeni bir ScatterNdNonAliasingAdd örneği
genel Çıkış <T> çıkışı ()
"Güncellemeler" ile güncellenen "giriş" değerlerini içeren, "giriş" ile aynı şekle sahip bir "Tensör".