MatrixDiagPart

lớp cuối cùng công khai MatrixDiagPart

Trả về phần đường chéo theo đợt của một tenxơ theo đợt.

Trả về một tensor có đường chéo thứ `k[0]`-th đến `k[1]`-th của `đầu vào` theo lô.

Giả sử `input` có kích thước `r` `[I, J, ..., L, M, N]`. Đặt `max_diag_len` là độ dài tối đa trong số tất cả các đường chéo được trích xuất, `max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0))` Đặt `num_diags` là số đường chéo cần trích xuất, `num_diags = k[1] - k[0] + 1`.

Nếu `num_diags == 1`, tensor đầu ra có hạng `r - 1` với hình dạng `[I, J, ..., L, max_diag_len]` và các giá trị:

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.
 
trong đó `y = max(-k[1], 0)`, `x = max(k[1], 0)`.

Ngược lại, tenxơ đầu ra có hạng `r` với các kích thước `[I, J, ..., L, num_diags, max_diag_len]` với các giá trị:

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.
 
trong đó `d = k[1] - m`, `y = max(-d, 0)`, và `x = max(d, 0)`.

Đầu vào ít nhất phải là ma trận.

Ví dụ:

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

Hằng số

Sợi dây OP_NAME Tên của op này, được biết đến bởi công cụ lõi TensorFlow

Phương pháp công khai

Đầu ra <T>
asOutput ()
Trả về tay cầm tượng trưng của tensor.
tĩnh <T mở rộng TType > MatrixDiagPart <T>
tạo ( Phạm vi phạm vi, đầu vào Toán hạng <T>, Toán hạng < TInt32 > k, Toán hạng <T> đệmValue)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác MatrixDiagPart mới.
Đầu ra <T>
đường chéo ()
(Các) đường chéo được trích xuất.

Phương pháp kế thừa

Hằng số

Chuỗi cuối cùng tĩnh công khai OP_NAME

Tên của op này, được biết đến bởi công cụ lõi TensorFlow

Giá trị không đổi: "MatrixDiagPartV2"

Phương pháp công khai

Đầu ra công khai <T> asOutput ()

Trả về tay cầm tượng trưng của tensor.

Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.

public static MatrixDiagPart <T> tạo ( Phạm vi phạm vi, đầu vào Toán hạng <T>, Toán hạng < TInt32 > k, Toán hạng <T> đệmValue)

Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác MatrixDiagPart mới.

Thông số
phạm vi phạm vi hiện tại
đầu vào Xếp hạng tenxơ `r` trong đó `r >= 2`.
k (Các) khoảng lệch chéo. Giá trị dương có nghĩa là đường chéo lớn, 0 là đường chéo chính và giá trị âm có nghĩa là đường chéo phụ. `k` có thể là một số nguyên đơn (đối với một đường chéo) hoặc một cặp số nguyên chỉ định đầu dưới và đầu cao của dải ma trận. `k[0]` không được lớn hơn `k[1]`.
giá trị đệm Giá trị để lấp đầy khu vực bên ngoài dải chéo được chỉ định. Mặc định là 0.
Trả lại
  • một phiên bản mới của MatrixDiagPart

Đầu ra công khai <T> đường chéo ()

(Các) đường chéo được trích xuất.