dòng chảy căng:: ôi:: Ma TrậnDiagPartV2
#include <array_ops.h>Trả về phần đường chéo theo đợt của một tenxơ theo đợt.
Bản tóm tắt
Trả về một tenxơ có đường chéo k[0] -th đến k[1] - của input đợt .
Giả sử input có r kích thước [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)) Gọi num_diags là số đường chéo cần giải nén, 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.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.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]]]
Lập luận:
- phạm vi: Một đối tượng Phạm vi
- đầu vào: Xếp hạng
rtensor 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ụ.
kcó 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 xác định đầu dưới và đầu cao của dải ma trận.k[0]không được lớn hơnk[1]. - đệm_value: Giá trị để lấp đầy vùng bên ngoài dải chéo được chỉ định. Mặc định là 0.
Trả về:
-
Output: (Các) đường chéo được trích xuất.
Hàm tạo và hàm hủy | |
|---|---|
MatrixDiagPartV2 (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input k, :: tensorflow::Input padding_value) |
Thuộc tính công khai | |
|---|---|
diagonal | |
operation | |
Chức năng công cộng | |
|---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const | |
Thuộc tính công khai
đường chéo
::tensorflow::Output diagonal
hoạt động
Operation operation
Chức năng công cộng
Ma TrậnDiagPartV2
MatrixDiagPartV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input k, ::tensorflow::Input padding_value )
nút
::tensorflow::Node * node() const
toán tử::tenorflow::Đầu vào
operator::tensorflow::Input() const
toán tử::tenorflow::Đầu ra
operator::tensorflow::Output() const