dòng chảy :: hoạt động :: FractionalMaxPool
#include <nn_ops.h>
Thực hiện tổng hợp tối đa theo phân số trên đầu vào.
Tóm lược
Tổng hợp tối đa theo phân số hơi khác so với tổng hợp tối đa thông thường. Trong tổng hợp tối đa thông thường, bạn giảm kích thước tập hợp đầu vào bằng cách lấy giá trị lớn nhất của N x N phần con nhỏ hơn của tập hợp (thường là 2x2) và cố gắng giảm tập hợp theo hệ số N, trong đó N là số nguyên. Tổng cộng tối đa theo phân số, như bạn có thể mong đợi từ từ "phân số", có nghĩa là tỷ lệ giảm tổng thể N không nhất thiết phải là số nguyên.
Kích thước của các vùng gộp được tạo ngẫu nhiên nhưng khá đồng đều. Ví dụ: hãy xem xét kích thước chiều cao và các ràng buộc trên danh sách các hàng sẽ là ranh giới nhóm.
Đầu tiên, chúng tôi xác định những điều sau:
- input_row_length: số hàng từ tập hợp đầu vào
- output_row_length: sẽ nhỏ hơn đầu vào
- alpha = input_row_length / output_row_length: tỷ lệ giảm của chúng tôi
- K = tầng (alpha)
- row_pooling_sequence: đây là danh sách kết quả của các hàng ranh giới nhóm
Sau đó, row_pooling_sequence phải thỏa mãn:
- a [0] = 0: giá trị đầu tiên của dãy là 0
- a [end] = input_row_length: giá trị cuối cùng của chuỗi là kích thước
- K <= (a [i + 1] - a [i]) <= K + 1: tất cả các khoảng đều có kích thước K hoặc K + 1
- length (row_pooling_sequence) = output_row_length + 1
Để biết thêm chi tiết về tổng hợp tối đa theo phân số, hãy xem bài báo này: Benjamin Graham, Tổng hợp tối đa theo phân số
Tranh luận:
- phạm vi: Một đối tượng Phạm vi
- giá trị: 4-D với hình dạng
[batch, height, width, channels]
. - pooling_ratio: Tỷ lệ gộp cho từng thứ nguyên
value
, hiện chỉ hỗ trợ thứ nguyên hàng và col và phải> = 1,0. Ví dụ: tỷ lệ gộp hợp lệ trông giống như [1,0, 1,44, 1,73, 1,0]. Phần tử đầu tiên và cuối cùng phải là 1,0 vì chúng tôi không cho phép tổng hợp theo thứ nguyên hàng loạt và kênh. 1,44 và 1,73 là tỷ lệ gộp trên kích thước chiều cao và chiều rộng tương ứng.
Các thuộc tính tùy chọn (xem Phần Attrs
):
- pseudo_random: Khi được đặt thành True, tạo chuỗi tổng hợp theo kiểu giả ngẫu nhiên, nếu không, theo kiểu ngẫu nhiên. Kiểm tra giấy Benjamin Graham, Fractional Max-Pooling để biết sự khác biệt giữa giả ngẫu nhiên và ngẫu nhiên.
- chồng chéo: Khi được đặt thành True, có nghĩa là khi gộp, các giá trị ở ranh giới của các ô gộp liền kề sẽ được sử dụng bởi cả hai ô. Ví dụ:
index 0 1 2 3 4
value 20 5 16 3 7
Nếu chuỗi gộp là [0, 2, 4] thì 16, ở chỉ mục 2 sẽ được sử dụng hai lần. Kết quả sẽ là [20, 16] cho tổng hợp tối đa theo phân số.
- xác định: Khi được đặt thành True, một vùng tổng hợp cố định sẽ được sử dụng khi lặp qua nút FractionalMaxPool trong biểu đồ tính toán. Chủ yếu được sử dụng trong bài kiểm tra đơn vị để xác định FractionalMaxPool .
- hạt giống: Nếu hạt giống hoặc hạt giống2 được đặt là khác 0, trình tạo số ngẫu nhiên được gieo hạt giống đã cho. Nếu không, nó được gieo bởi một hạt ngẫu nhiên.
- seed2: Hạt giống thứ hai để tránh hạt bị va chạm.
Lợi nhuận:
-
Output
đầu ra: đầu ra tensor sau khi gộp tối đa phân số. -
Output
row_pooling_sequence: chuỗi gộp hàng, cần thiết để tính toán gradient. -
Output
col_pooling_sequence: chuỗi gộp cột, cần thiết để tính toán gradient.
Người xây dựng và Người phá hủy | |
---|---|
FractionalMaxPool (const :: tensorflow::Scope & scope, :: tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio) | |
FractionalMaxPool (const :: tensorflow::Scope & scope, :: tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs) |
Thuộc tính công khai | |
---|---|
col_pooling_sequence | |
operation | |
output | |
row_pooling_sequence |
Các chức năng tĩnh công khai | |
---|---|
Deterministic (bool x) | |
Overlapping (bool x) | |
PseudoRandom (bool x) | |
Seed (int64 x) | |
Seed2 (int64 x) |
Cấu trúc | |
---|---|
tensorflow :: ops :: FractionalMaxPool :: Attrs | Bộ thiết lập thuộc tính tùy chọn cho FractionalMaxPool . |
Thuộc tính công khai
col_pooling_sequence
::tensorflow::Output col_pooling_sequence
hoạt động
Operation operation
đầu ra
::tensorflow::Output output
row_pooling_sequence
::tensorflow::Output row_pooling_sequence
Chức năng công cộng
FractionalMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio )
FractionalMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs )
Các chức năng tĩnh công khai
Xác định
Attrs Deterministic( bool x )
Qua nối chồng
Attrs Overlapping( bool x )
PseudoRandom
Attrs PseudoRandom( bool x )
Hạt giống
Attrs Seed( int64 x )
Seed2
Attrs Seed2( int64 x )