Toplu tensörün toplu çapraz kısmını döndürür.
Toplu 'girişin' 'k[0]' ile 'k[1]' arası köşegenlerine sahip bir tensör döndürür.
'Giriş'in 'r' boyutlarına '[I, J, ..., L, M, N]' sahip olduğunu varsayalım. Çıkarılacak tüm köşegenler arasında maksimum uzunluk `max_diag_len` olsun, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))` `num_diags` olsun çıkarılacak köşegenlerin sayısı olsun, 'num_diags = k[1] - k[0] + 1'.
"num_diags == 1" ise, çıkış tensörü "[I, J, ..., L, max_diag_len]" şeklinde ve değerlerle "r - 1" düzeyindedir:
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.
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.
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]]]
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 > MatrixDiagPart <T> | |
Çıkış <T> | diyagonal () Çıkarılan köşegen(ler). |
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 MatrixDiagPart <T> create ( Kapsam kapsamı, İşlenen <T> girişi, İşlenen < TInt32 > k, İşlenen <T> paddingValue)
Yeni bir MatrixDiagPart işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
giriş | Rank 'r' tensörü, burada 'r >= 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. '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. |
dolgu Değeri | Belirtilen diyagonal bandın dışındaki alanı dolduracak değer. Varsayılan 0'dır. |
İade
- MatrixDiagPart'ın yeni bir örneği