tensor akışı:: işlem:: MatrixDiagPartV2
#include <array_ops.h>Toplu tensörün toplu çapraz kısmını döndürür.
Özet
Toplu input k[0] -th ila k[1] -th köşegenlerine sahip bir tensör döndürür.
input r boyutuna sahip olduğunu varsayalım [I, J, ..., L, M, N] . max_diag_len çıkarılacak tüm köşegenler arasındaki maksimum uzunluk olsun, max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0)) num_diags , çıkarılacak köşegenlerin sayısı olsun çıkar, num_diags = k[1] - k[0] + 1 .
num_diags == 1 ise, çıkış tensörü r - 1 düzeyindedir ve [I, J, ..., L, max_diag_len] şekli ve değerleri:
diagonal[i, j, ..., l, n]
= input[i, j, ..., l, n+y, n+x] ; if 0 <= n+y < M and 0 <= n+x < N,
padding_value ; otherwise.y = max(-k[1], 0) , x = max(k[1], 0) . Aksi takdirde, çıkış tensörünün değerleri olan [I, J, ..., L, num_diags, max_diag_len] boyutlarıyla r derecesi vardır:
diagonal[i, j, ..., l, m, n]
= input[i, j, ..., l, n+y, n+x] ; if 0 <= n+y < M and 0 <= n+x < N,
padding_value ; otherwise.d = k[1] - m , y = max(-d, 0) ve x = max(d, 0) .Giriş en az bir matris olmalıdır.
Örneğin:
input = np.array([[[1, 2, 3, 4], # Input shape: (2, 3, 4) [5, 6, 7, 8], [9, 8, 7, 6]], [[5, 4, 3, 2], [1, 2, 3, 4], [5, 6, 7, 8]]])
# A main diagonal from each batch. tf.matrix_diag_part(input) ==> [[1, 6, 7], # Output shape: (2, 3) [5, 2, 7]]
# A superdiagonal from each batch. tf.matrix_diag_part(input, k = 1) ==> [[2, 7, 6], # Output shape: (2, 3) [4, 3, 8]]
# A tridiagonal band from each batch. tf.matrix_diag_part(input, k = (-1, 1)) ==> [[[2, 7, 6], # Output shape: (2, 3, 3) [1, 6, 7], [5, 8, 0]], [[4, 3, 8], [5, 2, 7], [1, 6, 0]]]
# Padding value = 9 tf.matrix_diag_part(input, k = (1, 3), padding_value = 9) ==> [[[4, 9, 9], # Output shape: (2, 3, 3) [3, 8, 9], [2, 7, 6]], [[2, 9, 9], [3, 4, 9], [4, 3, 8]]]
Argümanlar:
- kapsam: Bir Kapsam nesnesi
- giriş: Rank
rtensörü, buradar >= 2. - 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. - padding_value: Belirtilen diyagonal bandın dışındaki alanı dolduracak değer. Varsayılan 0'dır.
İade:
-
Output: Çıkarılan köşegen(ler).
Yapıcılar ve Yıkıcılar | |
|---|---|
MatrixDiagPartV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input k, :: tensorflow::Input padding_value) |
Genel özellikler | |
|---|---|
diagonal | |
operation | |
Kamu işlevleri | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Genel özellikler
diyagonal
::tensorflow::Output diagonal
operasyon
Operation operation
Kamu işlevleri
MatrixDiagPartV2
MatrixDiagPartV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input k, ::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