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 olan "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
output[i, j, ..., l, m, n]
= diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
padding_value ; otherwise
Ö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]]
Sabitler
Sicim | OP_NAME | Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı |
Genel Yöntemler
Çıkış <T> | Çıkış olarak () Tensörün sembolik tutamacını döndürür. |
static <T TType'ı genişletir > MatrixDiag <T> | |
Çı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
Sabitler
genel statik son Dize OP_NAME
Bu operasyonun TensorFlow çekirdek motoru tarafından bilinen adı
Genel Yöntemler
genel Çıkış <T> asOutput ()
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 MatrixDiag <T> create ( Kapsam kapsamı, İşlenen <T> diyagonal, İşlenen < TInt32 > k, İşlenen < TInt32 > numRows, İşlenen < TInt32 > numCols, İşlenen <T> paddingValue)
Yeni bir MatrixDiag 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. |
İade
- MatrixDiag'ın yeni bir örneği
genel Çıkış <T> çıkışı ()
"k" bir tamsayı olduğunda veya "k[0] == k[1]" olduğunda "r+1" derecesine sahiptir, aksi takdirde "r" derecesine sahiptir.