MatrixDiagPart

MatrixDiagPart kelas akhir publik

Mengembalikan bagian diagonal batch dari tensor batch.

Mengembalikan tensor dengan diagonal ke-`k[0]` hingga `k[1]`-dari `input` yang dikumpulkan.

Asumsikan `input` memiliki dimensi `r` `[I, J, ..., L, M, N]`. Misalkan `max_diag_len` adalah panjang maksimum di antara semua diagonal yang akan diekstraksi, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))` Misalkan `num_diags` menjadi jumlah diagonal yang akan diekstraksi, `num_diags = k[1] - k[0] + 1`.

Jika `num_diags == 1`, tensor keluarannya memiliki peringkat `r - 1` dengan bentuk `[I, J, ..., L, max_diag_len]` dan nilai:

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.
 
dimana `y = maks(-k[1], 0)`, `x = maks(k[1], 0)`.

Jika tidak, tensor keluaran memiliki peringkat `r` dengan dimensi `[I, J, ..., L, num_diags, max_diag_len]` dengan nilai:

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.
 
dimana `d = k[1] - m`, `y = max(-d, 0)`, dan `x = max(d, 0)`.

Inputnya minimal harus berupa matriks.

Misalnya:

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]]]
 

Konstanta

Rangkaian OP_NAME Nama operasi ini dikenal dengan mesin inti TensorFlow

Metode Publik

Keluaran <T>
sebagai Keluaran ()
Mengembalikan pegangan simbolis tensor.
statis <T memperluas TType > MatrixDiagPart <T>
buat ( Lingkup lingkup , Operan <T> masukan, Operan < TInt32 > k, Operan <T> paddingValue)
Metode pabrik untuk membuat kelas yang membungkus operasi MatrixDiagPart baru.
Keluaran <T>
diagonal ()
Diagonal yang diekstraksi.

Metode Warisan

Konstanta

String akhir statis publik OP_NAME

Nama operasi ini dikenal dengan mesin inti TensorFlow

Nilai Konstan: "MatrixDiagPartV2"

Metode Publik

Keluaran publik <T> sebagai Keluaran ()

Mengembalikan pegangan simbolik tensor.

Masukan ke operasi TensorFlow adalah keluaran dari operasi TensorFlow lainnya. Metode ini digunakan untuk mendapatkan pegangan simbolis yang mewakili perhitungan input.

MatrixDiagPart publik statis <T> buat ( Lingkup lingkup, masukan Operan <T>, Operan < TInt32 > k, Operan <T> paddingValue)

Metode pabrik untuk membuat kelas yang membungkus operasi MatrixDiagPart baru.

Parameter
cakupan ruang lingkup saat ini
masukan Beri peringkat tensor `r` di mana `r >= 2`.
k Offset diagonal. Nilai positif berarti superdiagonal, 0 mengacu pada diagonal utama, dan nilai negatif berarti subdiagonal. `k` dapat berupa bilangan bulat tunggal (untuk satu diagonal) atau sepasang bilangan bulat yang menentukan ujung rendah dan tinggi dari pita matriks. `k[0]` tidak boleh lebih besar dari `k[1]`.
paddingValue Nilai untuk mengisi area di luar pita diagonal yang ditentukan. Standarnya adalah 0.
Kembali
  • contoh baru dari MatrixDiagPart

Keluaran publik <T> diagonal ()

Diagonal yang diekstraksi.