MatrixDiagV2

genel final sınıfı MatrixDiagV2

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

Bir matrisin "k[0]" ile "k[1]'inci arası köşegenleri" olarak "diagonal" içerikli bir tensör döndürür ve geri kalan her şey "padding" ile doldurulur. "satır_sayısı" ve "sütun_sayısı" çıktının en içteki matrisinin boyutunu belirtir. Her ikisi de belirtilmezse, op, en içteki matrisin kare olduğunu varsayar ve boyutunu "k"den ve en içteki "köşegen" boyutundan çıkarır. Bunlardan yalnızca biri belirtilirse, op belirtilmemiş değerin diğer kriterlere göre mümkün olan en küçük değer olduğunu varsayar.

'Köşegen'in 'r' boyutları '[I, J, ..., L, M, N]' olsun. Çıkış tensörü, yalnızca bir köşegen verildiğinde ('k' bir tamsayı veya 'k[0]'dır) '[I, J, ..., L, M, sayı_satırlar, sayı_sütunlar]' şeklinde 'r+1' derecesine sahiptir. == k[1]`). Aksi takdirde, "[I, J, ..., L, satır_sayısı, sütun_sayısı]" şeklinde "r" sıralamasına sahiptir.

'Köşegen'in en içteki ikinci boyutu çift anlamlıdır. 'k' skaler veya 'k[0] == k[1]' olduğunda, 'M' parti boyutunun [I, J, ..., M] bir parçasıdır ve çıkış tensörü şöyledir:

output[i, j, ..., l, m, n]
   = diagonal[i, j, ..., l, n-max(d_upper, 0)] ; if n - m == d_upper
     padding_value                             ; otherwise
 
Aksi takdirde, 'M' aynı gruptaki matrisin köşegenlerinin sayısı olarak kabul edilir ('M = k[1]-k[0]+1') ve çıktı tensörü şöyledir:
output[i, j, ..., l, m, n]
   = diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
     padding_value                                     ; otherwise
 
burada 'd = n - m', 'diag_index = k[1] - d' ve 'index_in_diag = n - max(d, 0)'.

Örneğin:

# The main diagonal.
 diagonal = np.array([[1, 2, 3, 4],            # Input shape: (2, 4)
                      [5, 6, 7, 8]])
 tf.matrix_diag(diagonal) ==> [[[1, 0, 0, 0],  # Output shape: (2, 4, 4)
                                [0, 2, 0, 0],
                                [0, 0, 3, 0],
                                [0, 0, 0, 4]],
                               [[5, 0, 0, 0],
                                [0, 6, 0, 0],
                                [0, 0, 7, 0],
                                [0, 0, 0, 8]]]
 
 # A superdiagonal (per batch).
 diagonal = np.array([[1, 2, 3],  # Input shape: (2, 3)
                      [4, 5, 6]])
 tf.matrix_diag(diagonal, k = 1)
   ==> [[[0, 1, 0, 0],  # Output shape: (2, 4, 4)
         [0, 0, 2, 0],
         [0, 0, 0, 3],
         [0, 0, 0, 0]],
        [[0, 4, 0, 0],
         [0, 0, 5, 0],
         [0, 0, 0, 6],
         [0, 0, 0, 0]]]
 
 # A band of diagonals.
 diagonals = np.array([[[1, 2, 3],  # Input shape: (2, 2, 3)
                        [4, 5, 0]],
                       [[6, 7, 9],
                        [9, 1, 0]]])
 tf.matrix_diag(diagonals, k = (-1, 0))
   ==> [[[1, 0, 0],  # Output shape: (2, 3, 3)
         [4, 2, 0],
         [0, 5, 3]],
        [[6, 0, 0],
         [9, 7, 0],
         [0, 1, 9]]]
 
 # Rectangular matrix.
 diagonal = np.array([1, 2])  # Input shape: (2)
 tf.matrix_diag(diagonal, k = -1, num_rows = 3, num_cols = 4)
   ==> [[0, 0, 0, 0],  # Output shape: (3, 4)
        [1, 0, 0, 0],
        [0, 2, 0, 0]]
 
 # Rectangular matrix with inferred num_cols and padding_value = 9.
 tf.matrix_diag(diagonal, k = -1, num_rows = 3, padding_value = 9)
   ==> [[9, 9],  # Output shape: (3, 2)
        [1, 9],
        [9, 2]]
 

Genel Yöntemler

Çıkış <T>
Çıkış olarak ()
Bir tensörün sembolik tutamacını döndürür.
statik <T> MatrixDiagV2 <T>
create ( Kapsam kapsamı, İşlenen <T> köşegen, İşlenen <Tamsayı> k, İşlenen <Tamsayı> numRows, İşlenen <Tamsayı> numCols, İşlenen <T> paddingValue)
Yeni bir MatrixDiagV2 işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Çıkış <T>
çıktı ()
"k" bir tamsayı olduğunda veya "k[0] == k[1]" olduğunda "r+1" derecesine sahiptir, aksi takdirde "r" derecesine sahiptir.

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 MatrixDiagV2 <T> create ( Kapsam kapsamı, İşlenen <T> köşegen, İşlenen <Tamsayı> k, İşlenen <Tamsayı> numRows, İşlenen <Tamsayı> numCols, İşlenen <T> paddingValue)

Yeni bir MatrixDiagV2 işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.

Parametreler
kapsam mevcut kapsam
diyagonal Sıra "r", burada "r >= 1"
k Çapraz uzaklık(lar). Pozitif değer süper köşegeni, 0 ana köşegeni, negatif değer ise alt köşegenleri ifade eder. 'k' tek bir tam sayı (tek bir köşegen için) veya bir matris bandının alt ve üst uçlarını belirten bir çift tam sayı olabilir. "k[0]", "k[1]"den büyük olmamalıdır.
numRows Çıkış matrisinin satır sayısı. Sağlanmamışsa, op, çıktı matrisinin bir kare matris olduğunu varsayar ve matris boyutunu k'den ve "köşegen"in en içteki boyutundan çıkarır.
numCols Çıkış matrisinin sütun sayısı. Sağlanmamışsa, op, çıktı matrisinin bir kare matris olduğunu varsayar ve matris boyutunu k'den ve "köşegen"in en içteki boyutundan çıkarır.
dolgu Değeri Belirtilen diyagonal bandın dışındaki alanı dolduracak sayı. Varsayılan 0'dır.
İadeler
  • MatrixDiagV2'nin yeni bir örneği

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

"k" bir tam sayı olduğunda veya "k[0] == k[1]" olduğunda "r+1" derecesine sahiptir, aksi halde "r" derecesine sahiptir.