tensor akışı:: işlem:: MatrixDiagV2
#include <array_ops.h>Verilen toplu çapraz değerlere sahip toplu bir çapraz tensör döndürür.
Özet
İçeriği bir matrisin k[0] -th ila k[1] -th köşegenleri kadar diagonal olan ve geri kalan her şeyin padding ile doldurulduğu bir tensör döndürür. num_rows ve num_cols çı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 ve diagonal en içteki 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.
diagonal r boyutlu olsun [I, J, ..., L, M, N] . Yalnızca bir köşegen verildiğinde çıkış tensörünün rütbesi r+1 olup [I, J, ..., L, M, num_rows, num_cols] şeklindedir ( k bir tam sayıdır veya k[0] == k[1] ) . Aksi takdirde, [I, J, ..., L, num_rows, num_cols] şeklinde r rütbesine sahiptir.
diagonal en içteki ikinci boyutunun çift anlamı vardır. k skaler olduğunda 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öşegen sayısı olarak kabul edilir ( M = k[1]-k[0]+1 ) ve çıkış 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 ; otherwised = 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]]
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- diyagonal: Derece
r, buradar >= 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.
ktek 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. - num_rows: Çıkış matrisinin satır sayısı. Sağlanmazsa, op, çıktı matrisinin bir kare matris olduğunu varsayar ve matris boyutunu k'den ve
diagonalen içteki boyutundan çıkarır. - num_cols: Çıkış matrisinin sütun sayısı. Sağlanmazsa, op, çıktı matrisinin bir kare matris olduğunu varsayar ve matris boyutunu k'den ve
diagonalen içteki boyutundan çıkarır. - padding_value: Belirtilen diyagonal bandın dışındaki alanı dolduracak sayı. Varsayılan 0'dır.
İade:
-
Output:kbir tamsayı olduğundar+1derecesine sahiptir veyak[0] == k[1], aksi takdirderrütbesine sahiptir.
Yapıcılar ve Yıkıcılar | |
|---|---|
MatrixDiagV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input diagonal, :: tensorflow::Input k, :: tensorflow::Input num_rows, :: tensorflow::Input num_cols, :: tensorflow::Input padding_value) |
Genel özellikler | |
|---|---|
operation | |
output | |
Kamu işlevleri | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Genel özellikler
operasyon
Operation operation
çıktı
::tensorflow::Output output
Kamu işlevleri
MatrixDiagV2
MatrixDiagV2( const ::tensorflow::Scope & scope, ::tensorflow::Input diagonal, ::tensorflow::Input k, ::tensorflow::Input num_rows, ::tensorflow::Input num_cols, ::tensorflow::Input padding_value )
düğüm
::tensorflow::Node * node() const
operatör::tensorflow::Giriş
operator::tensorflow::Input() const
operatör::tensorflow::Çıktı
operator::tensorflow::Output() const