dòng chảy căng:: ôi:: Phân sốMaxPool
#include <nn_ops.h>
Thực hiện tổng hợp tối đa phân đoạn trên đầu vào.
Bản tóm tắt
Tổng hợp tối đa phân số hơi khác so với tổng hợp tối đa thông thường. Trong gộp nhóm 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ị tối đa của các phần con N x N 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 hợp tối đa phân số, như bạn có thể mong đợi từ từ "phân số", có nghĩa là tỷ lệ rút gọn 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ụ: chúng ta hãy xem 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 ta định nghĩa như sau:
- input_row_length : số hàng từ tập hợp đầu vào
- đầu ra_row_length : sẽ nhỏ hơn đầu vào
- alpha = input_row_length/out_row_length : tỷ lệ giảm của chúng tôi
- K = sàn(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 sẽ thỏa mãn:
- a[0] = 0 : giá trị đầu tiên của chuỗi 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
- độ dài (row_pooling_sequence) = đầu ra_row_length+1
Để biết thêm chi tiết về tổng hợp tối đa phân đoạn, hãy xem bài viết này: Benjamin Graham, Fractional Max-Pooling
Lập 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 của
value
, hiện chỉ hỗ trợ thứ nguyên hàng và cột và phải >= 1,0. Ví dụ: tỷ lệ gộp hợp lệ có dạng [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 gộp các thứ nguyên theo lô và kênh. 1,44 và 1,73 lần lượt là tỷ lệ gộp theo kích thước chiều cao và chiều rộng.
Thuộc tính tùy chọn (xem Attrs
):
- pseudo_random: Khi được đặt thành True, sẽ tạo chuỗi gộp theo kiểu giả ngẫu nhiên, nếu không thì theo kiểu ngẫu nhiên. Kiểm tra bài viết của 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, điều đó có nghĩa là khi gộp, các giá trị ở ranh giới của các ô gộp liền kề được cả hai ô sử dụng. 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ỉ số 2 sẽ được sử dụng hai lần. Kết quả sẽ là [20, 16] cho phép gộp tối đa theo phân số.
- xác định: Khi được đặt thành True, vùng gộ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 thử nghiệm đơn vị để xác định FractionalMaxPool .
- hạt giống: Nếu hạt giống hoặc hạt giống2 được đặt khác 0, bộ tạo số ngẫu nhiên sẽ được gieo hạt giống đã cho. Nếu không, nó sẽ được gieo bởi một hạt giống ngẫu nhiên.
- Seed2: Hạt giống thứ hai để tránh va chạm hạt giống.
Trả về:
- Đầu ra
Output
ra: tenxơ đầu ra sau khi gộp tối đa phân đoạn. -
Output
row_pooling_sequence: chuỗi gộp hàng, cần thiết để tính toán độ dốc. -
Output
col_pooling_sequence: trình tự gộp cột, cần thiết để tính toán độ dốc.
Hàm tạo và hàm 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 hàm tĩnh công khai | |
---|---|
Deterministic (bool x) | |
Overlapping (bool x) | |
PseudoRandom (bool x) | |
Seed (int64 x) | |
Seed2 (int64 x) |
Cấu trúc | |
---|---|
tenorflow:: ops:: FractionalMaxPool:: Attrs | Trình 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
Phân sốMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio )
Phân sốMaxPool
FractionalMaxPool( const ::tensorflow::Scope & scope, ::tensorflow::Input value, const gtl::ArraySlice< float > & pooling_ratio, const FractionalMaxPool::Attrs & attrs )
Các hàm tĩnh công khai
xác định
Attrs Deterministic( bool x )
Chồng chéo
Attrs Overlapping( bool x )
giả ngẫu nhiên
Attrs PseudoRandom( bool x )
Hạt giống
Attrs Seed( int64 x )
Hạt giống2
Attrs Seed2( int64 x )