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

MatrixDiagPartV3

genel son sınıf MatrixDiagPartV3

Toplu işlenmiş tensörün toplu çapraz parçasını döndürür.

Toplu "giriş" in "k [0]" -th ila "k [1]" -ci köşegenlerine sahip bir tensör döndürür.

"Girdi" nin "r" boyutlarına "[I, J, ..., L, M, N]" sahip olduğunu varsayın. "Max_diag_len", çıkarılacak tüm köşegenler arasında maksimum uzunluk olsun, "max_diag_len = min (M + min (k [1], 0), N + min (-k [0], 0))" "num_diags" çıkarılacak köşegenlerin sayısı, "num_diags = k [1] - k [0] + 1`.

"Num_diags == 1" ise, çıkış tensörü "[I, J, ..., L, max_diag_len]" şeklinde ve değerleri:

diagonal[i, j, ..., l, n]
   = input[i, j, ..., l, n+y, n+x] ; if 0 <= n+y < M and 0 <= n+x < N,
     padding_value                 ; otherwise.
 
burada "y = max (-k [1 ], 0) `,` x = maks (k [1], 0) `.

Aksi takdirde, çıkış tensörü, "[I, J, ..., L, num_diags, max_diag_len]" boyutlarına sahip "r" sıralamasına sahiptir:

diagonal[i, j, ..., l, m, n]
   = input[i, j, ..., l, n+y, n+x] ; if 0 <= n+y < M and 0 <= n+x < N,
     padding_value                 ; otherwise.
 
burada "d = k [1] - m", "y = max ( -d, 0) - uzaklık` ve `x = max (d, 0) - uzaklık`.

"ofset", köşegenin hizasının sağa doğru olması dışında sıfırdır.

offset = max_diag_len - diag_len(d) ; if (`align` in {RIGHT_LEFT, RIGHT_RIGHT
                                            and `d >= 0`) or
                                          (`align` in {LEFT_RIGHT, RIGHT_RIGHT}
                                            and `d <= 0`)
          0                          ; otherwise
 }
burada `diag_len (d) = min (cols - max (d, 0), satırlar + min (d, 0))`.

Giriş en az bir matris olmalıdır.

Örneğin:

input = np.array([[[1, 2, 3, 4],  # Input shape: (2, 3, 4)
                    [5, 6, 7, 8],
                    [9, 8, 7, 6]],
                   [[5, 4, 3, 2],
                    [1, 2, 3, 4],
                    [5, 6, 7, 8]]])
 
 # A main diagonal from each batch.
 tf.matrix_diag_part(input) ==> [[1, 6, 7],  # Output shape: (2, 3)
                                 [5, 2, 7]]
 
 # A superdiagonal from each batch.
 tf.matrix_diag_part(input, k = 1)
   ==> [[2, 7, 6],  # Output shape: (2, 3)
        [4, 3, 8]]
 
 # A band from each batch.
 tf.matrix_diag_part(input, k = (-1, 2))
   ==> [[[0, 3, 8],  # Output shape: (2, 4, 3)
         [2, 7, 6],
         [1, 6, 7],
         [5, 8, 0]],
        [[0, 3, 4],
         [4, 3, 8],
         [5, 2, 7],
         [1, 6, 0]]]
 
 # LEFT_RIGHT alignment.
 tf.matrix_diag_part(input, k = (-1, 2), align="LEFT_RIGHT")
   ==> [[[3, 8, 0],  # Output shape: (2, 4, 3)
         [2, 7, 6],
         [1, 6, 7],
         [0, 5, 8]],
        [[3, 4, 0],
         [4, 3, 8],
         [5, 2, 7],
         [0, 1, 6]]]
 
 # max_diag_len can be shorter than the main diagonal.
 tf.matrix_diag_part(input, k = (-2, -1))
   ==> [[[5, 8],
         [9, 0]],
        [[1, 6],
         [5, 0]]]
 
 # padding_value = 9
 tf.matrix_diag_part(input, k = (1, 3), padding_value = 9)
   ==> [[[9, 9, 4],  # Output shape: (2, 3, 3)
         [9, 3, 8],
         [2, 7, 6]],
        [[9, 9, 2],
         [9, 3, 4],
         [4, 3, 8]]]
 
 

Yuvalanmış Sınıflar

sınıf MatrixDiagPartV3.Options MatrixDiagPartV3 için isteğe bağlı öznitelikler

Kamu Yöntemleri

statik MatrixDiagPartV3.Options
hizala (Dize hizala)
Çıkış <T>
asOutput ()
Bir tensörün sembolik tutamacını döndürür.
statik <T> MatrixDiagPartV3 <T>
oluşturmak ( Kapsam kapsamı, Operand <T> girişi, Operand <Integer> k, Operand <T> paddingValue, Seçenekler ... seçenekler)
Yeni bir MatrixDiagPartV3 işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Çıkış <T>
köşegen ()
Çıkarılan köşegen (ler).

Devralınan Yöntemler

Kamu Yöntemleri

public static MatrixDiagPartV3.Options align (Dize hizalaması)

Parametreler
hizalamak Bazı köşegenler "max_diag_len" den daha kısadır ve doldurulmaları gerekir. "hizala", sırasıyla süper köşegenlerin ve alt köşegenlerin nasıl hizalanması gerektiğini belirten bir dizedir. Dört olası hizalama vardır: "RIGHT_LEFT" (varsayılan), "LEFT_RIGHT", "LEFT_LEFT" ve "RIGHT_RIGHT". "RIGHT_LEFT" süper köşegenleri sağa (satırın sol tarafına) ve alt köşegenleri sola (satırın sağ tarafına) hizalar. LAPACK'in kullandığı paketleme biçimidir. cuSPARSE, ters hizalama olan "LEFT_RIGHT" kullanır.

public Output <T> asOutput ()

Bir tensörün sembolik tutamacını döndürür.

TensorFlow işlemlerine yönelik girdiler, 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 MatrixDiagPartV3 <T> create ( Scope kapsamı, Operand <T> girişi, Operand <Integer> k, Operand <T> paddingValue, Options ... seçenekleri)

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

Parametreler
dürbün mevcut kapsam
giriş "R> = 2" olan "r" tensörü sıralaması.
k Çapraz ofset (ler). Pozitif değer süper diyagonal anlamına gelir, 0 ana köşegen anlamına gelir ve negatif değer alt köşegen anlamına gelir. "k" tek bir tam sayı (tek bir köşegen için) veya bir matris bandının düşük ve yüksek uçlarını belirten bir çift tam sayı olabilir. "k [0]", "k [1]" değerinden büyük olmamalıdır.
paddingValue Belirtilen çapraz bandın dışındaki alanı dolduracak değer. Varsayılan 0'dır.
seçenekler isteğe bağlı öznitelik değerleri taşır
İadeler
  • MatrixDiagPartV3'ün yeni bir örneği

genel Çıkış <T> köşegen ()

Çıkarılan köşegen (ler).