tensorflow::ops::MatrixDiagPartV2
#include <array_ops.h>Trả về phần đường chéo được nhóm lại của một tensor được nhóm lại.
Bản tóm tắt
Trả về một tensor chứa các đường chéo thứ k[0] đến k[1] của input được nhóm lại.
Giả sử input có r chiều [I, J, ..., L, M, N] . Gọi max_diag_len là độ dài tối đa trong số tất cả các đường chéo cần trích xuất, max_diag_len = min(M + min(k[1], 0), N + min(-k[0], 0)) Gọi num_diags là số lượng đườ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] ; when 0 <= n-y < M and 0 <= n-x < N,
0 ; otherwise.y = max(-k[1], 0) , x = max(k[1], 0) . Ngược lại, tensor đầu ra có hạng r với 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] ; when 0 <= n-y < M and 0 <= n-x < N,
0 ; otherwise.d = k[1] - m , y = max(-d, 0) , và x = max(d, 0) .Dữ liệu đầu vào phải ít nhất là một 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 = 9 tf.matrix_diag_part(input, k = (1, 3), padding = 9) ==> [[[4, 9, 9], # Output shape: (2, 3, 3) [3, 8, 9], [2, 7, 6]], [[2, 9, 9], [3, 4, 9], [4, 3, 8]]]
Luận điểm:
- phạm vi: Một đối tượng Phạm vi
- Đầu vào: Tensor hạng
rvớir >= 2. - k: Độ lệch đường chéo. Giá trị dương biểu thị đường chéo trên, 0 biểu thị đường chéo chính, và giá trị âm biểu thị các đường chéo dưới.
kcó thể là một số nguyên đơn (cho một đường chéo) hoặc một cặp số nguyên chỉ định các đầu thấp và cao của một dải ma trận.k[0]không được lớn hơnk[1]. - padding_value: Giá trị dùng để lấp đầy vùng bên ngoài dải chéo được chỉ định. Giá trị mặc định là 0.
Trả về:
-
Output: Các đường chéo được trích xuất.
Hàm khởi 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
MatrixDiagPartV2
MatrixDiagPartV2( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input k, ::tensorflow::Input padding_value )
nút
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const