dòng chảy căng:: ôi:: Conv2D
#include <nn_ops.h>
Tính toán tích chập 2-D cho input
4-D và filter
tensor.
Bản tóm tắt
Với một tensor đầu vào có hình dạng [batch, in_height, in_width, in_channels]
và một tensor bộ lọc/nhân có hình dạng [filter_height, filter_width, in_channels, out_channels]
, op này thực hiện như sau:
- Làm phẳng bộ lọc thành ma trận 2-D có hình dạng
[filter_height * filter_width * in_channels, output_channels]
. - Trích xuất các mảng hình ảnh từ tensor đầu vào để tạo thành một tensor ảo có hình dạng
[batch, out_height, out_width, filter_height * filter_width * in_channels]
. - Đối với mỗi bản vá, nhân ma trận bộ lọc và vectơ bản vá hình ảnh với bên phải.
Cụ thể, với định dạng NHWC mặc định,
output[b, i, j, k] =
sum_{di, dj, q} input[b, strides[1] * i + di, strides[2] * j + dj, q] *
filter[di, dj, q, k]
Phải có strides[0] = strides[3] = 1
. Đối với trường hợp phổ biến nhất của cùng một bước tiến ngang và đỉnh, strides = [1, stride, stride, 1]
.
Lập luận:
- phạm vi: Một đối tượng Phạm vi
- đầu vào: Một tensor 4-D. Thứ tự thứ nguyên được diễn giải theo giá trị của
data_format
, xem bên dưới để biết chi tiết. - bộ lọc: Một tensor 4-D có hình dạng
[filter_height, filter_width, in_channels, out_channels]
- bước tiến: tensor 1-D có chiều dài 4. Bước tiến của cửa sổ trượt cho từng chiều của
input
. Thứ tự thứ nguyên được xác định bởi giá trị củadata_format
, xem bên dưới để biết chi tiết. - phần đệm: Loại thuật toán đệm sẽ sử dụng.
Thuộc tính tùy chọn (xem Attrs
):
- rõ ràng_paddings: Nếu
padding
là"EXPLICIT"
, danh sách số lượng phần đệm rõ ràng. Đối với thứ nguyên thứ i, lượng khoảng đệm được chèn trước và sau thứ nguyên lần lượt làexplicit_paddings[2 * i]
vàexplicit_paddings[2 * i + 1]
. Nếupadding
không phải là"EXPLICIT"
thìexplicit_paddings
phải trống. - data_format: Chỉ định định dạng dữ liệu của dữ liệu đầu vào và đầu ra. Với định dạng mặc định "NHWC", dữ liệu được lưu trữ theo thứ tự: [lô, chiều cao, chiều rộng, kênh]. Ngoài ra, định dạng có thể là "NCHW", thứ tự lưu trữ dữ liệu là: [lô, kênh, chiều cao, chiều rộng].
- độ giãn nở: tensor 1-D có chiều dài 4. Hệ số giãn nở cho từng chiều của
input
. Nếu được đặt thành k > 1, sẽ có k-1 ô bị bỏ qua giữa mỗi phần tử bộ lọc trên thứ nguyên đó. Thứ tự thứ nguyên được xác định bởi giá trị củadata_format
, xem chi tiết ở trên. Độ giãn nở của kích thước lô và độ sâu phải bằng 1.
Trả về:
-
Output
: Một tensor 4-D. Thứ tự thứ nguyên được xác định bởi giá trị củadata_format
, xem bên dưới để biết chi tiết.
Hàm tạo và hàm hủy | |
---|---|
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding) | |
Conv2D (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs) |
Thuộc tính công khai | |
---|---|
operation | |
output |
Chức năng công cộng | |
---|---|
node () const | ::tensorflow::Node * |
operator::tensorflow::Input () const | |
operator::tensorflow::Output () const |
Các hàm tĩnh công khai | |
---|---|
DataFormat (StringPiece x) | |
Dilations (const gtl::ArraySlice< int > & x) | |
ExplicitPaddings (const gtl::ArraySlice< int > & x) | |
UseCudnnOnGpu (bool x) |
Cấu trúc | |
---|---|
tenorflow:: ops:: Conv2D:: Attrs | Trình thiết lập thuộc tính tùy chọn cho Conv2D . |
Thuộc tính công khai
hoạt động
Operation operation
đầu ra
::tensorflow::Output output
Chức năng công cộng
Conv2D
Conv2D( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding )
Conv2D
Conv2D( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const Conv2D::Attrs & attrs )
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
Các hàm tĩnh công khai
Định dạng dữ liệu
Attrs DataFormat( StringPiece x )
Sự giãn nở
Attrs Dilations( const gtl::ArraySlice< int > & x )
Đệm rõ ràng
Attrs ExplicitPaddings( const gtl::ArraySlice< int > & x )
Sử dụngCudnnOnGpu
Attrs UseCudnnOnGpu( bool x )