Yeni toplu çapraz değerlere sahip toplu matris tensörünü döndürür.
"Giriş" ve "köşegen" verildiğinde, bu işlem, en içteki matrislerin belirtilen köşegenleri dışında, "giriş" ile aynı şekil ve değerlere sahip bir tensör döndürür. Bunların üzerine 'çapraz' değerler yazılacaktır.
'giriş', 'r+1' boyutlarına '[I, J, ..., L, M, N]' sahiptir. 'k' skaler olduğunda veya 'k[0] == k[1]' olduğunda, 'köşegen'in 'r' boyutları `[I, J, ..., L, max_diag_len]' olur. Aksi takdirde, `r+1` boyutlarına `[I, J, ..., L, num_diags, max_diag_len]` sahiptir. "num_diags" köşegenlerin sayısıdır, "num_diags = k[1] - k[0] + 1". `max_diag_len`, `[k[0], k[1]]' aralığındaki en uzun köşegendir, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0] , 0))'
Çıktı, "[I, J, ..., L, M, N]" boyutlarına sahip "k+1" dereceli bir tensördür. 'k' skaler ise veya 'k[0] == k[1]' ise:
output[i, j, ..., l, m, n]
= diagonal[i, j, ..., l, n-max(k[1], 0)] ; if n - m == k[1]
input[i, j, ..., l, m, n] ; otherwise
Aksi takdirde, output[i, j, ..., l, m, n]
= diagonal[i, j, ..., l, diag_index, index_in_diag] ; if k[0] <= d <= k[1]
input[i, j, ..., l, m, n] ; otherwise
burada 'd = n - m', 'diag_index = k[1] - d' ve 'index_in_diag = n - max(d, 0)'.Örneğin:
# The main diagonal.
input = np.array([[[7, 7, 7, 7], # Input shape: (2, 3, 4)
[7, 7, 7, 7],
[7, 7, 7, 7]],
[[7, 7, 7, 7],
[7, 7, 7, 7],
[7, 7, 7, 7]]])
diagonal = np.array([[1, 2, 3], # Diagonal shape: (2, 3)
[4, 5, 6]])
tf.matrix_set_diag(diagonal) ==> [[[1, 7, 7, 7], # Output shape: (2, 3, 4)
[7, 2, 7, 7],
[7, 7, 3, 7]],
[[4, 7, 7, 7],
[7, 5, 7, 7],
[7, 7, 6, 7]]]
# A superdiagonal (per batch).
tf.matrix_set_diag(diagonal, k = 1)
==> [[[7, 1, 7, 7], # Output shape: (2, 3, 4)
[7, 7, 2, 7],
[7, 7, 7, 3]],
[[7, 4, 7, 7],
[7, 7, 5, 7],
[7, 7, 7, 6]]]
# A band of diagonals.
diagonals = np.array([[[1, 2, 3], # Diagonal shape: (2, 2, 3)
[4, 5, 0]],
[[6, 1, 2],
[3, 4, 0]]])
tf.matrix_set_diag(diagonals, k = (-1, 0))
==> [[[1, 7, 7, 7], # Output shape: (2, 3, 4)
[4, 2, 7, 7],
[0, 5, 3, 7]],
[[6, 7, 7, 7],
[3, 1, 7, 7],
[7, 4, 2, 7]]]
Genel Yöntemler
Çıkış <T> | Çıkış olarak () Bir tensörün sembolik tutamacını döndürür. |
statik <T> MatrixSetDiagV2 <T> | |
Çıkış <T> | çıktı () 'output.shape = input.shape' ile 'r+1' sırasını alın. |
Kalıtsal Yöntemler
Genel Yöntemler
genel Çıkış <T> asOutput ()
Bir 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 MatrixSetDiagV2 <T> create ( Kapsam kapsamı, İşlenen <T> girişi, İşlenen <T> köşegen, İşlenen <Tamsayı> k)
Yeni bir MatrixSetDiagV2 işlemini saran bir sınıf oluşturmaya yönelik fabrika yöntemi.
Parametreler
kapsam | mevcut kapsam |
---|---|
giriş | Sıralama "r+1", burada "r >= 1". |
diyagonal | 'k' bir tam sayı olduğunda veya 'k[0] == k[1]' olduğunda 'r'yi sıralayın. Aksi halde 'r+1' derecesine sahiptir. 'k >= 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. |
İade
- MatrixSetDiagV2'nin yeni bir örneği