BatchToSpaceNd

lớp cuối cùng công khai BatchToSpaceNd

BatchToSpace cho các tensor ND loại T.

Thao tác này định hình lại kích thước "lô" 0 thành kích thước `M + 1` của hình dạng `block_shape + [batch]`, xen kẽ các khối này trở lại lưới được xác định bởi kích thước không gian `[1, ..., M]`, để có được kết quả có cùng thứ hạng với đầu vào. Sau đó, các kích thước không gian của kết quả trung gian này được cắt tùy ý theo `cây trồng` để tạo ra đầu ra. Đây là mặt trái của SpaceToBatch. Xem bên dưới để biết mô tả chính xác.

Phương pháp công khai

Đầu ra <T>
asOutput ()
Trả về phần điều khiển tượng trưng của một tenxơ.
tĩnh <T, U mở rộng Số, V mở rộng Số> BatchToSpaceNd <T>
tạo ( Phạm vi phạm vi, đầu vào Toán hạng <T>, Hình dạng khối Toán hạng <U>, Cắt toán hạng <V>)
Phương thức gốc để tạo một lớp bao bọc một thao tác BatchToSpaceNd mới.
Đầu ra <T>

Phương pháp kế thừa

Phương pháp công khai

Đầu ra công khai <T> asOutput ()

Trả về phần điều khiển tượng trưng của một tenxơ.

Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.

public static BatchToSpaceNd <T> tạo (Phạm vi phạm vi , đầu vào Toán hạng <T>, Khối toán hạng <U>, Hình dạng toán hạng <V>)

Phương thức gốc để tạo một lớp bao bọc một thao tác BatchToSpaceNd mới.

Thông số
phạm vi phạm vi hiện tại
đầu vào ND có hình dạng `input_shape = [batch] + không gian_shape + còn lại hình dạng`, trong đó không gian_hình dạng có M kích thước.
hình khối 1-D có hình dạng `[M]`, tất cả các giá trị phải >= 1.
cây trồng 2-D với hình dạng `[M, 2]`, tất cả các giá trị phải >= 0. `crops[i] = [crop_start, crop_end]` chỉ định số lượng cần cắt từ thứ nguyên đầu vào `i + 1`, tương ứng với chiều không gian `i`. Yêu cầu `crop_start[i] + crop_end[i] <= block_shape[i] * input_shape[i + 1]`.

Thao tác này tương đương với các bước sau:

1. Định hình lại `input` thành `reshape` của hình dạng: [block_shape[0], ..., block_shape[M-1], batch / prod(block_shape), input_shape[1], ..., input_shape[N- 1]]

2. Hoán đổi kích thước của `được định hình lại` để tạo ra `hoán vị` của hình dạng [batch / prod(block_shape),

input_shape[1], block_shape[0], ..., input_shape[M], block_shape[M-1],

input_shape[M+1], ..., input_shape[N-1]]

3. Định hình lại `permuted` để tạo ra `reshape_permuted` có hình dạng [batch / prod(block_shape),

input_shape[1] * block_shape[0], ..., input_shape[M] * block_shape[M-1],

input_shape[M+1], ..., input_shape[N-1]]

4. Cắt phần đầu và phần cuối của kích thước `[1, ..., M]` của `reshape_permuted` theo `crops` để cho ra kết quả dạng: [batch / prod(block_shape),

input_shape[1] * block_shape[0] - crop[0,0] - crop[0,1], ..., input_shape[M] * block_shape[M-1] - crop[M-1,0] - crop [M-1,1],

input_shape[M+1], ..., input_shape[N-1]]

Vài ví dụ:

(1) Đối với đầu vào sau của hình dạng `[4, 1, 1, 1]`, `block_shape = [2, 2]` và `crops = [[0, 0], [0, 0]]`:

[[[[1]]], [[[2]]], [[[3]]], [[[4]]]]
 
Tenxor đầu ra có hình dạng `[1, 2, 2, 1]` và giá trị:
x = [[[[1], [2]], [[3], [4]]]]
 
(2) Đối với đầu vào sau của hình dạng `[4, 1, 1, 3]`, `block_shape = [ 2, 2]` và `crops = [[0, 0], [0, 0]]`:
[[[[1, 2, 3]]], [[[4, 5, 6]]], [[[7, 8, 9]]], [[[10, 11, 12]]]]
 
Tenxor đầu ra có hình dạng `[1, 2, 2, 3]` và giá trị:
x = [[[[1, 2, 3], [4, 5, 6]],
       [[7, 8, 9], [10, 11, 12]]]]
 
(3) Đối với đầu vào sau của hình dạng `[4, 2, 2, 1]`, `block_shape = [2, 2]` và `crops = [[0, 0], [0, 0]]`:
x = [[[[1], [3]], [[9], [11]]],
      [[[2], [4]], [[10], [12]]],
      [[[5], [7]], [[13], [15]]],
      [[[6], [8]], [[14], [16]]]]
 
Tenxor đầu ra có hình dạng `[1, 4, 4, 1]` và giá trị:
x = [[[[1],   [2],  [3],  [4]],
      [[5],   [6],  [7],  [8]],
      [[9],  [10], [11],  [12]],
      [[13], [14], [15],  [16]]]]
 
(4) Đối với đầu vào sau của hình dạng `[8, 1, 3, 1]`, `block_shape = [ 2, 2]` và `crops = [[0, 0], [2, 0]]`:
x = [[[[0], [1], [3]]], [[[0], [9], [11]]],
      [[[0], [2], [4]]], [[[0], [10], [12]]],
      [[[0], [5], [7]]], [[[0], [13], [15]]],
      [[[0], [6], [8]]], [[[0], [14], [16]]]]
 
Tenxor đầu ra có hình dạng `[2, 2, 4, 1]` và giá trị:
x = [[[[1],   [2],  [3],  [4]],
       [[5],   [6],  [7],  [8]]],
      [[[9],  [10], [11],  [12]],
       [[13], [14], [15],  [16]]]]
 

Trả lại
  • một phiên bản mới của BatchToSpaceNd

Đầu ra công khai đầu ra <T> ()