tensorflow::ops::DepthToSpace

#include <array_ops.h>

DepthToSpace dành cho tensor loại T.

Bản tóm tắt

Thao tác này sắp xếp lại dữ liệu từ chiều sâu thành các khối dữ liệu không gian. Đây là phép biến đổi ngược lại của SpaceToDepth. Cụ thể hơn, thao tác này xuất ra một bản sao của tensor đầu vào, trong đó các giá trị từ depth được di chuyển theo các khối không gian đến height và width . Thuộc tính 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 khối 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 .
  • Tọa độ Y, X trong mỗi khối của ả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 .

Thuộc data_format chỉ định bố cục của các tensor đầ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 ]

Có thể coi thao tác này như việc biến đổi một Tensor 6 chiều. Ví dụ: với data_format = NHWC, mỗi phần tử trong tensor đầu vào có thể được xác định thông qua 6 tọa độ, được sắp xếp theo thứ tự giảm dần tầm quan trọng của bố cục bộ nhớ như sau: n,iY,iX,bY,bX,oC (trong đó n = chỉ số lô, iX, iY là tọa độ X hoặc Y trong ảnh đầu vào, bX, bY là tọa độ trong khối đầu ra, oC là các kênh đầu ra). Đầu ra sẽ là đầu vào được chuyển vị 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 các vùng kích hoạt giữa các phép tích chập (nhưng vẫn giữ nguyên tất cả dữ liệu), ví dụ như thay vì sử dụng phép gộp. Nó cũng hữu ích cho việc huấn luyện các mô hình chỉ sử dụng phép tích chập.

Ví dụ, với đầu vào có hình dạng [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ó một lô gồm 1 phần tử và mỗi phần tử trong lô có hình dạng [1, 1, 4] , đầu ra tương ứng sẽ có 2x2 phần tử và 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 tensor đầu vào có độ sâu lớn hơn, ở đây có dạng [1, 1, 1, 12] , ví dụ:

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

Thao tác này, với kích thước khối là 2, sẽ trả về tensor có dạng [1, 2, 2, 3] như sau.

   [[[[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 có dạng [1 4 4 1] như sau:

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

Độ sâu không gian

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

Độ sâu không gian

 DepthToSpace(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  int64 block_size,
  const DepthToSpace::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
)