2017-11-21 22 views
9

Tôi đang cố gắng vượt qua thứ nguyên kênh và mã sau thể hiện hành vi đáng ngạc nhiên. Đó là kỳ vọng của tôi rằng tf.nn.max_pooltf.nn.avg_pool sẽ tạo ra hình xoắn ốc có hình dạng giống hệt nhau khi cho ăn cùng một đối số chính xác. Đây không phải là trường hợp.TensorFlow: Tại sao avg_pool bỏ qua một thứ nguyên sải chân?

import tensorflow as tf 

x = tf.get_variable('x', shape=(100, 32, 32, 64), 
     initializer=tf.constant_initializer(5), dtype=tf.float32) 
ksize = (1, 2, 2, 2) 
strides = (1, 2, 2, 2) 
max_pool = tf.nn.max_pool(x, ksize, strides, padding='SAME') 
avg_pool = tf.nn.avg_pool(x, ksize, strides, padding='SAME') 
print(max_pool.shape) 
print(avg_pool.shape) 

này in

$ python ex04/mini.py 
(100, 16, 16, 32) 
(100, 16, 16, 64) 

Rõ ràng, tôi hiểu lầm gì đó.

+0

Tôi nghĩ đó là lỗi. Nếu bạn mở một vấn đề trên GitHub xin vui lòng liên kết nó ở đây vì tôi muốn xem các cuộc trò chuyện, cảm ơn bạn – nessuno

+0

Nó có vẻ giống như một lỗi. Ngoài ra, bạn có thể sử dụng mỏng, nó hoạt động tốt. –

+0

@DenizBeker Bạn có ý gì bởi _slim_? – oarfish

Trả lời

4

Liên kết https://github.com/Hvass-Labs/TensorFlow-Tutorials/issues/19 trạng thái:

Các sải chân đầu tiên và cuối cùng phải luôn luôn là 1, vì là người đầu tiên là dành cho các hình ảnh số và cuối cùng là cho đầu vào kênh.

+1

Rõ ràng, _must_ được phóng đại sau đó, vì nó chỉ chạy âm thầm thay vì lỗi. Có vẻ như tôi phải gửi báo cáo lỗi. – oarfish

Các vấn đề liên quan