tensorflow::ops::DepthwiseConv2dNative

#include <nn_ops.h>

Tính toán phép tích chập theo chiều sâu 2 chiều dựa trên tensor input và tensor filter 4 chiều.

Bản tóm tắt

Cho một tensor đầu vào có dạng [batch, in_height, in_width, in_channels] và một tensor bộ lọc/hạt nhân có dạng [filter_height, filter_width, in_channels, channel_multiplier] , chứa in_channels bộ lọc tích chập có độ sâu 1, depthwise_conv2d áp dụng một bộ lọc khác nhau cho mỗi kênh đầu vào (mở rộng từ 1 kênh lên channel_multiplier kênh cho mỗi bộ lọc), sau đó nối các kết quả lại với nhau. Do đó, đầu ra có in_channels * channel_multiplier kênh.

for k in 0..in_channels-1
  for q in 0..channel_multiplier-1
    output[b, i, j, k * channel_multiplier + q] =
      sum_{di, dj} input[b, strides[1] * i + di, strides[2] * j + dj, k] *
                        filter[di, dj, k, q]

Phải có strides[0] = strides[3] = 1 Đối với trường hợp phổ biến nhất là cùng một chiều ngang và các đỉnh strides, strides = [1, stride, stride, 1] .

Luận điểm:

  • phạm vi: Một đối tượng Phạm vi
  • Bước nhảy: 1 chiều có độ dài 4. Bước nhảy của cửa sổ trượt cho mỗi chiều của input .
  • padding: Loại thuật toán đệm cần sử dụng.

Các thuộc tính tùy chọn (xem Attrs ):

  • data_format: Chỉ định định dạng 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]. Hoặc, đị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: Tensor 1 chiều có độ dài 4. Hệ số giãn cho mỗi chiều của input . Nếu đặt thành k > 1, sẽ có k-1 ô bị bỏ qua giữa mỗi phần tử lọc trên chiều đó. Thứ tự chiều được xác định bởi giá trị của data_format , xem chi tiết ở trên. Độ giãn ở chiều batch và chiều depth phải bằng 1.

Trả về:

Hàm khởi tạo và hàm hủy

DepthwiseConv2dNative (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding)
DepthwiseConv2dNative (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input filter, const gtl::ArraySlice< int > & strides, StringPiece padding, const DepthwiseConv2dNative::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)

Cấu trúc

tensorflow::ops::DepthwiseConv2dNative::Attrs

Các thiết lập thuộc tính tùy chọn cho DepthwiseConv2dNative .

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

DepthwiseConv2dNative

 DepthwiseConv2dNative(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding
)

DepthwiseConv2dNative

 DepthwiseConv2dNative(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input filter,
  const gtl::ArraySlice< int > & strides,
  StringPiece padding,
  const DepthwiseConv2dNative::Attrs & attrs
)

nút

::tensorflow::Node * node() const 

operator::tensorflow::Input

 operator::tensorflow::Input() const 

operator::tensorflow::Output

 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
)