DepthToSpace cho tensor loại T.
Sắp xếp lại dữ liệu từ độ sâu thành các khối dữ liệu không gian. Đây là sự chuyển đổi ngược của SpaceToDepth. Cụ thể hơn, hoạt động này tạo ra một bản sao của tenxơ đầu vào trong đó các giá trị từ chiều `độ sâu` được di chuyển trong các khối không gian sang chiều `chiều cao` và `chiều rộng`. Attr `block_size` cho biết kích thước khối đầu vào và cách di chuyển dữ liệu.
* 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_deep * 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`.
Attr `data_format` chỉ định bố cục của tensor đầu vào và đầu ra với các tùy chọn sau: "NHWC": `[ batch, Height, width,channel ]` "NCHW": `[ batch,channels,height,width ]` " NCHW_VECT_C": `qint8 [ lô, kênh / 4, chiều cao, chiều rộng, 4 ]`
Sẽ rất hữu ích nếu coi hoạt động này giống như việc biến đổi 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 mức độ quan trọng của bố cục bộ nhớ giảm dần như: n,iY,iX,bY,bX,oC (trong đó n=chỉ số lô, iX, iY có nghĩa là X hoặc tọa độ Y trong ảnh đầu vào, bX, bY nghĩa là tọa độ trong khối đầu ra, oC 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 rất hữu ích để thay đổi kích thước kích hoạt giữa các tổ hợp (nhưng vẫn 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ụ: với đầu vào có dạng `[1, 1, 1, 4]`, data_format = "NHWC" và block_size = 2:
x = [[[[1, 2, 3, 4]]]]
[[[[1], [2]],
[[3], [4]]]]
Đối với một tenxơ đầu vào có độ sâu lớn hơn, ở đây có hình dạng `[1, 1, 1, 12]`, ví dụ:
x = [[[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]]]
[[[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]]]
x = [[[[1, 2, 3, 4],
[5, 6, 7, 8]],
[[9, 10, 11, 12],
[13, 14, 15, 16]]]]
x = [[[ [1], [2], [5], [6]],
[ [3], [4], [7], [8]],
[ [9], [10], [13], [14]],
[ [11], [12], [15], [16]]]]
Các lớp lồng nhau
lớp học | Độ sâuToSpace.Options | Thuộc tính tùy chọn cho DepthToSpace |
Hằng số
Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow |
Phương pháp công khai
Đầu ra <T> | asOutput () Trả về tay cầm tượng trưng của tensor. |
tĩnh <T mở rộng TType > DepthToSpace <T> | tạo (Phạm vi phạm vi , đầu vào Toán hạng <T>, Kích thước khối dài, Tùy chọn... tùy chọn) Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác DepthToSpace mới. |
DepthToSpace.Options tĩnh | dataFormat (Định dạng dữ liệu chuỗi) |
Đầu ra <T> | đầu ra () |
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công khai
Đầu ra công khai <T> asOutput ()
Trả về tay cầm tượng trưng của tensor.
Đầ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 DepthToSpace <T> tạo (Phạm vi phạm vi, đầu vào Toán hạng <T>, Kích thước khối dài, Tùy chọn... )
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác DepthToSpace mới.
Thông số
phạm vi | phạm vi hiện tại |
---|---|
kích thước khối | Kích thước của khối không gian, giống như trong Space2Depth. |
tùy chọn | mang các giá trị thuộc tính tùy chọn |
Trả lại
- một phiên bản mới của DepthToSpace