Có một câu hỏi? Kết nối với cộng đồng tại Diễn đàn Truy cập Diễn đàn TensorFlow

dòng chảy :: hoạt động :: DepthToSpace

#include <array_ops.h>

DepthToSpace cho tensors loại T.

Tóm lược

Sắp xếp lại dữ liệu theo chiều sâu thành các khối dữ liệu không gian. Đây là sự chuyển đổi ngược lại của SpaceToDepth. Cụ thể hơn, op này xuất ra một bản sao của tensor đầu vào trong đó các giá trị từ kích thước chiều depth được di chuyển trong các khối không gian sang kích thước chiều heightwidth . block_size cho biết kích thước khối đầu vào và cách dữ liệu được di chuyển.

  • Các đoạn dữ liệu có kích thước block_size * block_size từ độ sâu được sắp xếp lại thành các khối không chồng chéo có kích thước block_size x block_size
  • Chiều rộng của tensor đầu ra là input_depth * block_size , trong khi chiều cao là input_height * block_size .
  • Các tọa độ Y, X trong mỗi khối của hình ảnh đầu ra được xác định bởi thành phần bậc cao của chỉ số kênh đầu vào.
  • Độ sâu của tensor đầu vào phải chia hết cho block_size * block_size .

data_format attr chỉ định cách bố trí các bộ căng đầu vào và đầu ra với các tùy chọn sau: "NHWC": [ batch, height, width, channels ] "NCHW": [ batch, channels, height, width ] "NCHW_VECT_C": qint8 [ batch, channels / 4, height, width, 4 ]

Sẽ rất hữu ích nếu coi hoạt động này như biến đổi một Tensor 6-D. ví dụ: đối với data_format = NHWC, Mỗi phần tử trong tensor đầu vào có thể được chỉ định thông qua 6 tọa độ, được sắp xếp theo thứ tự ý nghĩa bố cục bộ nhớ giảm dần như: n, iY, iX, bY, bX, oC (trong đó n = chỉ số lô, iX, iY nghĩa là X hoặc tọa độ Y trong hình ảnh đầu vào, bX, bY có nghĩa là tọa độ trong khối đầu ra, oC có nghĩa là các kênh đầu ra). Đầu ra sẽ là đầu vào được chuyển sang bố cục sau: n, iY, bY, iX, bX, oC

Thao tác này hữu ích để thay đổi kích thước kích hoạt giữa các lần kết hợp (nhưng giữ tất cả dữ liệu), ví dụ thay vì gộp chung. Nó cũng hữu ích cho việc đào tạo các mô hình tích chập thuần túy.

Ví dụ: đã cho một đầu vào là shape [1, 1, 1, 4] , data_format = "NHWC" và block_size = 2:

x = [[[[1, 2, 3, 4]]]]

  

This operation will output a tensor of shape [1, 2, 2, 1]:

   [[[[1], [2]],
     [[3], [4]]]]

Ở đây, đầu vào có lô 1 và mỗi phần tử lô có hình dạng [1, 1, 4] , đầu ra tương ứng sẽ có 2x2 phần tử và sẽ có độ sâu là 1 kênh (1 = 4 / (block_size * block_size) ). Hình dạng phần tử đầu ra là [2, 2, 1] .

Đối với một tensor đầu vào có độ sâu lớn hơn, đây là hình dạng [1, 1, 1, 12] , ví dụ:

x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]

Phép toán này, đối với kích thước khối là 2, sẽ trả về hình dạng tensor sau [1, 2, 2, 3]

   [[[[1, 2, 3], [4, 5, 6]],
     [[7, 8, 9], [10, 11, 12]]]]

  

Similarly, for the following input of shape [1 2 2 4], and a block size of 2:

x =  [[[[1, 2, 3, 4],
       [5, 6, 7, 8]],
      [[9, 10, 11, 12],
       [13, 14, 15, 16]]]]

toán tử sẽ trả về tensor hình dạng sau [1 4 4 1] :

x = [[[ [1],   [2],  [5],  [6]],
      [ [3],   [4],  [7],  [8]],
      [ [9],  [10], [13],  [14]],
      [ [11], [12], [15],  [16]]]]

  

Arguments:

  • scope: A Scope object
  • block_size: The size of the spatial block, same as in Space2Depth.

Returns:

Constructors and Destructors

DepthToSpace(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size)
DepthToSpace(const ::tensorflow::Scope & scope, ::tensorflow::Input input, int64 block_size, const DepthToSpace::Attrs & attrs)

Public attributes

operation
output

Public functions

node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const

Public static functions

DataFormat(StringPiece x)

Structs

tensorflow::ops::DepthToSpace::Attrs

Optional attribute setters for DepthToSpace.

Public attributes

operation

Operation operation

đầu ra

::tensorflow::Output output

Chức năng công cộng

DepthToSpace

 DepthToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 block_size
)

DepthToSpace

 DepthToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 block_size,
  const DepthToSpace::Attrs & attrs
)

nút

::tensorflow::Node * node() const 

toán tử :: tensorflow :: Đầu vào

 operator::tensorflow::Input() const 

toán tử :: tensorflow :: Đầu ra

 operator::tensorflow::Output() const 

Các chức năng tĩnh công khai

DataFormat

Attrs DataFormat(
  StringPiece x
)