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

MatrixDiagV2

genel son sınıf MatrixDiagV2

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

İçeriği "diyagonal" olarak bir matrisin "k [0]" - "k [1]" arası köşegenleri olan bir tensörü döndürür, diğer her şey "dolgu" ile doldurulur. "satır_sayısı" ve "satır_sayısı", çıktının en içteki matrisinin boyutunu belirtir. Her ikisi de belirtilmezse, işlem en içteki matrisin kare olduğunu varsayar ve boyutunu "k" dan ve "köşegen" in en içteki boyutundan çıkarır. Yalnızca biri belirtilirse, operasyon belirlenmemiş 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 tam sayıdır veya "k [0] 'dır == k [1] `). Aksi takdirde, "[I, J, ..., L, satır_sayısı, satır_sayısı]" şeklinde "r" derecesine sahiptir.

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

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ı partideki matris için köşegen sayısı olarak kabul edilir ("M = k [1] -k [0] + 1") ve çıkış tensörü:
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]]
 

Kamusal Yöntemler

Çıkış <T>
asOutput ()
Bir tensörün sembolik tutamacını döndürür.
statik <T> MatrixDiagV2 <T>
oluşturmak ( Kapsam kapsamı, İşlenen <t> diyagonal, İşlenen <tamsayı> k, Operand <tamsayı> numRows, Operand <tamsayı> numCols, İşlenen <t> paddingValue)
Yeni bir MatrixDiagV2 işlemini saran bir sınıf oluşturmak için fabrika yöntemi.
Çıkış <T>
çıktı ()
"K" bir tam sayı olduğunda "r + 1" veya "k [0] == k [1]" olduğunda "r" sıralamasına sahiptir.

Devralınan Yöntemler

Kamusal Yöntemler

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 MatrixDiagV2 <T> create ( Scope kapsamı, Operand <T> diyagonal, Operand <Integer> k, Operand <Integer> numRows, Operand <Integer> numCols, Operand <T> paddingValue)

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

Parametreler
dürbün mevcut kapsam
diyagonal Sıra "r", burada "r> = 1"
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.
numRows Çıktı matrisinin satır sayısı. Sağlanmazsa, işlem çıktı matrisinin bir kare matris olduğunu varsayar ve matris boyutunu k'den ve en içteki "köşegen" boyutundan çıkarır.
numCols Çıktı matrisinin sütun sayısı. Sağlanmazsa, işlem çıktı matrisinin bir kare matris olduğunu varsayar ve matris boyutunu k'den ve en içteki "köşegen" boyutundan çıkarır.
paddingValue Belirtilen çapraz bandın dışındaki alanı dolduracak sayı. Varsayılan 0'dır.
İadeler
  • MatrixDiagV2'nin yeni bir örneği

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

"K" bir tam sayı olduğunda "r + 1" veya "k [0] == k [1]" olduğunda "r" sıralamasına sahiptir.