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

Einsum

halka açık final sınıfı Einsum

Einstein toplama kuralına göre tensör daralması.

Genelleştirilmiş Tensör kasılmasını ve azaltılmasını uygular. Her giriş Tensörü, denklemin virgülle ayrılmış sol tarafında görünen karşılık gelen bir giriş alt simgesine sahip olmalıdır. Denklemin sağ tarafı çıktı alt simgesinden oluşur. Girdi alt simgeleri ve çıktı alt simge sıfır veya daha fazla adlandırılmış eksen etiketinden ve en fazla bir üç nokta (`` ... `) içermelidir.

Adlandırılmış eksen etiketleri, özel anlamı olanlar dışında herhangi bir tek karakter, yani “, .->` olabilir. Bu Operasyon İşleminin davranışı, yanlış biçimlendirilmiş bir denklem alırsa tanımsızdır; doğrulama grafik oluşturma zamanında yapıldığından, çalışma zamanında format doğrulama kontrollerini atlıyoruz.

Not: Bu Op kullanıcı tarafından çağrılacak tasarlanmamıştır; bunun yerine kullanıcılar doğrudan "tf.einsum" u aramalıdır. "Tf.einsum" tarafından kullanılan gizli bir işlemdir.

İşlemler, aşağıdaki kurallara göre girişlere uygulanır:

(a) Genelleştirilmiş Köşegenler: Aynı girdi alt simgesinde birden fazla görünen eksen etiketlerine karşılık gelen girdi boyutları için, genelleştirilmiş ("k" boyutlu) köşegen alıyoruz. Örneğin, giriş şekli "[3, 3]" olan "iii-> i" denkleminde, genelleştirilmiş köşegen "(0, 0, 0)", "(1 , 1, 1) `ve` (2, 2, 2) `şeklinde bir Tensör oluşturmak için" [3] ".

(b) Azaltma: Yalnızca bir giriş alt simgesinde görünen ancak çıktı alt simgesinde görünmeyen etiketlere karşılık gelen eksenler, Tensör daralmasından önce toplanır. Örneğin, "ab, bc-> b" denkleminde, "a" ve "c" eksen etiketleri redüksiyon ekseni etiketleridir.

(c) Parti Boyutları: Giriş alt simgelerinin her birinde ve ayrıca çıktı alt simgesinde görünen etiketlere karşılık gelen eksenler, Tensör daralmasındaki parti boyutlarını oluşturur. Üç noktaya (`` ... `) karşılık gelen adsız eksen etiketleri de parti boyutlarına karşılık gelir. Örneğin, toplu matris çarpımını ifade eden denklem için, "bij, bjk-> bik", eksen etiketi "b" bir parti boyutuna karşılık gelir.

(d) Kasılma: İkili einsum durumunda, iki farklı girdide (ve çıktıda değil) görünen etiketlere karşılık gelen eksenler birbirine karşı daraltılır. Toplu matris çarpım denklemi tekrar göz önüne alındığında ("bij, bjk-> bik"), kısaltılmış eksen etiketi "j" dir.

(e) Köşegeni Genişlet: Çıktı alt simgeleri tekrarlanan (açık) eksen etiketleri içeriyorsa, (a) 'nın zıt işlemi uygulanır. Örneğin, "i-> iii" denkleminde ve giriş şekli "[3]" içinde, "[3, 3, 3]" şeklinin çıktısı, (genelleştirilmiş) köşegen hariç tümü sıfırdır. girdideki değerler. Not: Bu işlem "np.einsum" veya "tf.einsum" tarafından desteklenmez; "tf.einsum" un sembolik gradyanının hesaplanmasını sağlamak için sağlanmıştır.

Çıktı alt simgelerinin yalnızca girdi alt simgelerinden en az birinde görünen etiketleri içermesi gerekir. Ayrıca, aynı eksen etiketine eşlenen tüm boyutlar eşit olmalıdır.

Giriş ve çıkış alt simgelerinden herhangi biri en fazla tek bir üç nokta (`` ... `) içerebilir. Bu üç nokta, adlandırılmış herhangi bir eksen etiketine karşılık gelmeyen boyutlara göre eşleştirilir. İki giriş üç nokta içeriyorsa, standart NumPy yayın [kurallarına] (http://docs.scipy.org/doc/numpy/user/basics.broadcasting.html) göre yayınlanırlar.

Yayınlanan boyutlar, çıktı alt simgesinde üç noktaya karşılık gelen konuma yerleştirilir. Yayınlanan boyutlar boş değilse ve çıktı alt simgeleri üç nokta içermiyorsa, bir InvalidArgument hatası ortaya çıkar.

Kamu Yöntemleri

Çıkış <T>
asOutput ()
Bir tensörün sembolik tutamacını döndürür.
statik <T> Einsum <T>
oluştur ( Kapsam kapsamı, Yinelenebilir < İşlenen <T>> girişler, Dize denklemi)
Yeni bir Einsum işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Çıkış <T>
çıktı ()
"Denkleme" bağlı şekle sahip Çıkış Tensörü.

Devralınan Yöntemler

Kamu Yöntemleri

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

public static Einsum <T> create ( Scope kapsamı, Yinelenebilir < Operand <T>> girişleri, String denklemi)

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

Parametreler
dürbün mevcut kapsam
girişler 1 veya 2 Tensörün Listesi.
denklem Einstein Toplama işlemini açıklayan dizge; np.einsum biçiminde.
İadeler
  • Einsum'un yeni bir örneği

public Output <T> çıkışı ()

"Denkleme" bağlı şekle sahip Çıkış Tensörü.