Uyarı: Bu API kullanımdan kaldırıldı ve TensorFlow'un gelecekteki bir sürümünde , değişim kararlı hale geldikten sonra kaldırılacaktır.

Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

DağılımNd

genel final sınıfı ScatterNd

"Güncellemeleri" "endekslere" göre yeni bir tensöre dağıtın.

Endekslere göre verilen "şeklin" bir tensörü (sayısal için başlangıçta sıfır, dize için boş) içindeki tek tek değerlere veya dilimlere seyrek "güncellemeler" uygulayarak yeni bir tensör oluşturur. Bu operatör, belirli bir tensörden değerleri veya dilimleri çıkaran "tf.gather_nd" operatörünün tersidir.

Bu işlem, tensörün sıfır başlatılmış olması dışında tensor_scatter_add'ye benzer. "Tf.scatter_nd (indisler, değerler, şekil)" çağrısı, "tensor_scatter_add (tf.zeros (şekil, değerler.dtype), indisler, değerler)" ile aynıdır

"Dizinler" yinelenen öğeler içeriyorsa, güncellemeleri toplanır (toplanır).

UYARI : Güncellemelerin uygulandığı sıra kesin değildir, bu nedenle "endeksler" kopyalar içeriyorsa çıktı kesin değildir - bazı sayısal yaklaşıklık sorunları nedeniyle, farklı sırayla toplanan sayılar farklı sonuçlar verebilir.

"indisler", yeni bir "şekil" tensörü için indisleri içeren bir tamsayı tensörüdür. "Endekslerin" son boyutu, en fazla "şekil" sıralamasında olabilir:

indices.shape [-1] <= şekil.rank

"İndisler" in son boyutu, boyut "indisleri" boyunca öğeler ("indices.shape [-1] = shape.rank" ise) veya dilimlere ("indices.shape [-1] <shape.rank") indislere karşılık gelir .shape [-1] "/" şekil ". "güncellemeler", şekilli bir tensördür

indices.shape [: - 1] + şekil [indices.shape [-1]:]

Dağılımın en basit biçimi, tek tek öğeleri indekse göre bir tensöre eklemektir. Örneğin, 8 elemanlı bir rank-1 tensöre 4 saçılmış eleman eklemek istediğimizi varsayalım.

Python'da, bu dağılım işlemi şöyle görünecektir:

indices = tf.constant([[4], [3], [1], [7]])
     updates = tf.constant([9, 10, 11, 12])
     shape = tf.constant([8])
     scatter = tf.scatter_nd(indices, updates, shape)
     print(scatter)
 
Ortaya çıkan tensör şöyle görünecektir:

[0, 11, 0, 10, 9, 0, 0, 12]

Ayrıca, daha yüksek dereceli bir tensörün tüm dilimlerini aynı anda ekleyebiliriz. Örneğin, bir rank-3 tensörünün ilk boyutuna iki yeni değer matrisi olan iki dilim eklemek istersek.

Python'da, bu dağılım işlemi şöyle görünecektir:

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]]])
     shape = tf.constant([4, 4, 4])
     scatter = tf.scatter_nd(indices, updates, shape)
     print(scatter)
 
Elde edilen tensör şöyle görünecektir:

[[[5, 5, 5, 5], [6, 6, 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]], [[0, 0, 0 , 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], [[5, 5, 5, 5], [6, 6 , 6, 6], [7, 7, 7, 7], [8, 8, 8, 8]], [[0, 0, 0, 0], [0, 0, 0, 0], [0 , 0, 0, 0], [0, 0, 0, 0]]]

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 yok sayılır.

Kamu Yöntemleri

Çıkış <U>
asOutput ()
Bir tensörün sembolik tutamacını döndürür.
statik <U, T Sayısı genişletir> DağılımNd <U>
oluştur ( Kapsam kapsamı, Operand <T> indisleri, Operand <U> güncellemeleri, Operand <T> şekli)
Yeni bir ScatterNd işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Çıkış <U>
çıktı ()
Endekslere göre uygulanan, verilen şekle ve güncellemelere sahip yeni bir tensör.

Devralınan Yöntemler

Kamu Yöntemleri

public Output <U> 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, girdinin hesaplanmasını temsil eden sembolik bir tutamaç elde etmek için kullanılır.

public static ScatterNd <U> create ( Scope kapsamı, Operand <T> indisleri, Operand <U> güncellemeleri, Operand <T> şekli)

Yeni bir ScatterNd işlemini saran bir sınıf oluşturmak için fabrika yöntemi.

Parametreler
dürbün mevcut kapsam
endeksler Endeks tensörü.
güncellemeler Çıktıya dağıtmak için güncellemeler.
şekil 1-D. Ortaya çıkan tensörün şekli.
İadeler
  • ScatterNd'nin yeni bir örneği

genel Çıkış <U> çıkışı ()

Endekslere göre uygulanan, verilen şekle ve güncellemelere sahip yeni bir tensör.