MatrixDiagPartV3

kelas akhir publik MatrixDiagPartV3

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) - offset`, dan `x = max(d, 0) - offset`.

`offset` adalah nol kecuali jika perataan diagonalnya ke kanan.

offset = max_diag_len - diag_len(d) ; if (`align` in {RIGHT_LEFT, RIGHT_RIGHT
                                            and `d >= 0`) or
                                          (`align` in {LEFT_RIGHT, RIGHT_RIGHT}
                                            and `d <= 0`)
          0                          ; otherwise
 }
di mana `diag_len(d) = min(cols - max(d, 0), baris + min(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 band from each batch.
 tf.matrix_diag_part(input, k = (-1, 2))
   ==> [[[0, 3, 8],  # Output shape: (2, 4, 3)
         [2, 7, 6],
         [1, 6, 7],
         [5, 8, 0]],
        [[0, 3, 4],
         [4, 3, 8],
         [5, 2, 7],
         [1, 6, 0]]]
 
 # LEFT_RIGHT alignment.
 tf.matrix_diag_part(input, k = (-1, 2), align="LEFT_RIGHT")
   ==> [[[3, 8, 0],  # Output shape: (2, 4, 3)
         [2, 7, 6],
         [1, 6, 7],
         [0, 5, 8]],
        [[3, 4, 0],
         [4, 3, 8],
         [5, 2, 7],
         [0, 1, 6]]]
 
 # max_diag_len can be shorter than the main diagonal.
 tf.matrix_diag_part(input, k = (-2, -1))
   ==> [[[5, 8],
         [9, 0]],
        [[1, 6],
         [5, 0]]]
 
 # padding_value = 9
 tf.matrix_diag_part(input, k = (1, 3), padding_value = 9)
   ==> [[[9, 9, 4],  # Output shape: (2, 3, 3)
         [9, 3, 8],
         [2, 7, 6]],
        [[9, 9, 2],
         [9, 3, 4],
         [4, 3, 8]]]
 
 

Kelas Bersarang

kelas MatrixDiagPartV3.Opsi Atribut opsional untuk MatrixDiagPartV3

Konstanta

Rangkaian OP_NAME Nama operasi ini dikenal dengan mesin inti TensorFlow

Metode Publik

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

Metode Warisan

org.tensorflow.op.RawOp
boolean terakhir
sama dengan (Objek objek)
int terakhir
Operasi
op ()
Kembalikan unit komputasi ini sebagai satu Operation .
String terakhir
boolean
sama dengan (Objek arg0)
Kelas terakhir<?>
dapatkan Kelas ()
ke dalam
Kode hash ()
kekosongan terakhir
beri tahu ()
kekosongan terakhir
beri tahuSemua ()
Rangkaian
keString ()
kekosongan terakhir
tunggu (arg0 panjang, int arg1)
kekosongan terakhir
tunggu (argumen panjang0)
kekosongan terakhir
Tunggu ()
org.tensorflow.op.Op
Lingkungan Eksekusi abstrak
env ()
Kembalikan lingkungan eksekusi tempat operasi ini dibuat.
Operasi abstrak
op ()
Kembalikan unit komputasi ini sebagai satu Operation .
org.tensorflow.Operand
keluaran abstrak <T>
sebagai Keluaran ()
Mengembalikan pegangan simbolis tensor.
abstrak T
sebagai Tensor ()
Mengembalikan tensor pada operan ini.
Bentuk abstrak
membentuk ()
Mengembalikan bentuk tensor (yang mungkin diketahui sebagian) yang dirujuk oleh Output operan ini.
Kelas abstrak<T>
jenis ()
Mengembalikan tipe tensor operan ini
org.tensorflow.ndarray.Shaped
abstrak ke dalam
Bentuk abstrak
abstrak panjang
ukuran ()
Menghitung dan mengembalikan ukuran total wadah ini, dalam jumlah nilai.

Konstanta

String akhir statis publik OP_NAME

Nama operasi ini dikenal dengan mesin inti TensorFlow

Nilai Konstan: "MatrixDiagPartV3"

Metode Publik

MatrixDiagPartV3.Options statis publik menyelaraskan (String align)

Parameter
meluruskan Beberapa diagonal lebih pendek dari `max_diag_len` dan perlu diberi bantalan. `align` adalah string yang menentukan bagaimana superdiagonal dan subdiagonal harus disejajarkan. Ada empat kemungkinan perataan: "RIGHT_LEFT" (default), "LEFT_RIGHT", "LEFT_LEFT", dan "RIGHT_RIGHT". "RIGHT_LEFT" menyelaraskan superdiagonal ke kanan (mengisi baris ke kiri) dan subdiagonal ke kiri (mengisi baris ke kanan). Ini adalah format pengepakan yang digunakan LAPACK. cuSPARSE menggunakan "LEFT_RIGHT", yang merupakan kebalikannya.

Keluaran publik <T> sebagai Keluaran ()

Mengembalikan pegangan simbolis tensor.

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

public static MatrixDiagPartV3 <T> buat ( Lingkup cakupan , masukan Operan <T>, Operan < TInt32 > k, Operan <T> paddingValue, Opsi... opsi)

Metode pabrik untuk membuat kelas yang membungkus operasi MatrixDiagPartV3 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.
pilihan membawa nilai atribut opsional
Kembali
  • contoh baru dari MatrixDiagPartV3

Keluaran publik <T> diagonal ()

Diagonal yang diekstraksi.