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

MatrixSetDiagV3

genel son sınıf MatrixSetDiagV3

Yeni toplu çapraz değerlere sahip toplu bir matris tensörü döndürür.

"İnput" ve "diyagonal" verildiğinde, bu işlem, en içteki matrislerin belirtilen köşegenleri dışında "input" ile aynı şekle ve değerlere sahip bir tensör döndürür. Bunların üzerine "diyagonal" değerler yazılacaktır.

"giriş", "r + 1" boyutlarına "[I, J, ..., L, M, N]" sahiptir. "K" skaler veya "k [0] == k [1]" olduğunda "diyagonal", "r" boyutlarına "[I, J, ..., L, max_diag_len]" sahiptir. Aksi takdirde, "r + 1" boyutları "[I, J, ..., L, num_diags, max_diag_len]" olur. "Say_diags" köşegenlerin sayısıdır, "num_diags = k [1] - k [0] + 1". "max_diag_len", "[k [0], k [1]]", "max_diag_len = min (M + min (k [1], 0), N + min (-k [0]) aralığındaki en uzun köşegendir , 0)) `

Çıktı, "[I, J, ..., L, M, N]" boyutlarına sahip "k + 1" dereceli bir tensördür. "K" skaler veya "k [0] == k [1]" ise:

output[i, j, ..., l, m, n]
   = diagonal[i, j, ..., l, n-max(k[1], 0)] ; if n - m == k[1]
     input[i, j, ..., l, m, n]              ; otherwise
 
Aksi takdirde,
output[i, j, ..., l, m, n]
   = diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
     input[i, j, ..., l, m, n]                         ; otherwise
 
burada "d = n - m`," diag_index = k [1] - d` ve "index_in_diag = n - max (d, 0) + ofset`.

"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))`.

Örneğin:

# The main diagonal.
 input = np.array([[[7, 7, 7, 7],              # Input shape: (2, 3, 4)
                    [7, 7, 7, 7],
                    [7, 7, 7, 7]],
                   [[7, 7, 7, 7],
                    [7, 7, 7, 7],
                    [7, 7, 7, 7]]])
 diagonal = np.array([[1, 2, 3],               # Diagonal shape: (2, 3)
                      [4, 5, 6]])
 tf.matrix_set_diag(input, diagonal)
   ==> [[[1, 7, 7, 7],  # Output shape: (2, 3, 4)
         [7, 2, 7, 7],
         [7, 7, 3, 7]],
        [[4, 7, 7, 7],
         [7, 5, 7, 7],
         [7, 7, 6, 7]]]
 
 # A superdiagonal (per batch).
 tf.matrix_set_diag(input, diagonal, k = 1)
   ==> [[[7, 1, 7, 7],  # Output shape: (2, 3, 4)
         [7, 7, 2, 7],
         [7, 7, 7, 3]],
        [[7, 4, 7, 7],
         [7, 7, 5, 7],
         [7, 7, 7, 6]]]
 
 # A band of diagonals.
 diagonals = np.array([[[0, 9, 1],  # Diagonal shape: (2, 4, 3)
                        [6, 5, 8],
                        [1, 2, 3],
                        [4, 5, 0]],
                       [[0, 1, 2],
                        [5, 6, 4],
                        [6, 1, 2],
                        [3, 4, 0]]])
 tf.matrix_set_diag(input, diagonals, k = (-1, 2))
   ==> [[[1, 6, 9, 7],  # Output shape: (2, 3, 4)
         [4, 2, 5, 1],
         [7, 5, 3, 8]],
        [[6, 5, 1, 7],
         [3, 1, 6, 2],
         [7, 4, 2, 4]]]
 
 # LEFT_RIGHT alignment.
 diagonals = np.array([[[9, 1, 0],  # Diagonal shape: (2, 4, 3)
                        [6, 5, 8],
                        [1, 2, 3],
                        [0, 4, 5]],
                       [[1, 2, 0],
                        [5, 6, 4],
                        [6, 1, 2],
                        [0, 3, 4]]])
 tf.matrix_set_diag(input, diagonals, k = (-1, 2), align="LEFT_RIGHT")
   ==> [[[1, 6, 9, 7],  # Output shape: (2, 3, 4)
         [4, 2, 5, 1],
         [7, 5, 3, 8]],
        [[6, 5, 1, 7],
         [3, 1, 6, 2],
         [7, 4, 2, 4]]]
 
 

Yuvalanmış Sınıflar

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

Kamu Yöntemleri

statik MatrixSetDiagV3.Options
hizala (Dize hizala)
Çıkış <T>
asOutput ()
Bir tensörün sembolik tutamacını döndürür.
statik <T> MatrixSetDiagV3 <T>
oluştur ( Kapsam kapsamı, İşlenen <T> girişi, İşlenen <T> köşegen, İşlenen <Tamsayı> k, Seçenekler ... seçenekleri)
Yeni bir MatrixSetDiagV3 işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Çıkış <T>
çıktı ()
"Output.shape = input.shape" ile "r + 1" sıralaması.

Devralınan Yöntemler

Kamu Yöntemleri

public static MatrixSetDiagV3.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 MatrixSetDiagV3 <T> create ( Scope kapsamı, Operand <T> girişi, Operand <T> diyagonal, Operand <Integer> k, Seçenekler ... seçenekleri)

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

Parametreler
dürbün mevcut kapsam
giriş Derece "r + 1", burada "r> = 1".
diyagonal "K" bir tam sayı veya "k [0] == k [1]" olduğunda "r" olarak sıralayın. Aksi takdirde, "r + 1" sıralamasına sahiptir. "k> = 1".
k Çapraz ofset (ler). Pozitif değer süper köşegen 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.
seçenekler isteğe bağlı öznitelik değerleri taşır
İadeler
  • MatrixSetDiagV3'ün yeni bir örneği

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

"Output.shape = input.shape" ile "r + 1" sıralaması.