caffe-tensorflow
caffe-tensorflow copied to clipboard
Support global average pooling
See https://github.com/ethereon/caffe-tensorflow/issues/53
This PR is motivated by comments:
- https://github.com/ethereon/caffe-tensorflow/issues/53#issuecomment-252110406
- https://github.com/ethereon/caffe-tensorflow/issues/53#issuecomment-278786863
- https://github.com/ethereon/caffe-tensorflow/issues/53#issuecomment-284969768
Thanks for this! Fixed the following error for me:
Traceback (most recent call last):
File "convert.py", line 68, in <module>
main()
File "convert.py", line 64, in main
args.phase)
File "convert.py", line 27, in convert
transformer = TensorFlowTransformer(def_path, caffemodel_path, phase=phase)
File "/root/programs/mycode/caffe-tensorflow/kaffe/tensorflow/transformer.py", line 221, in __init__
self.load(def_path, data_path, phase)
File "/root/programs/mycode/caffe-tensorflow/kaffe/tensorflow/transformer.py", line 227, in load
graph = GraphBuilder(def_path, phase).build()
File "/root/programs/mycode/caffe-tensorflow/kaffe/graph.py", line 255, in build
graph.compute_output_shapes()
File "/root/programs/mycode/caffe-tensorflow/kaffe/graph.py", line 99, in compute_output_shapes
node.output_shape = TensorShape(*NodeKind.compute_output_shape(node))
File "/root/programs/mycode/caffe-tensorflow/kaffe/layers.py", line 69, in compute_output_shape
val = LAYER_DESCRIPTORS[node.kind](node)
File "/root/programs/mycode/caffe-tensorflow/kaffe/shapes.py", line 78, in shape_pool
return get_strided_kernel_output_shape(node, math.ceil)
File "/root/programs/mycode/caffe-tensorflow/kaffe/shapes.py", line 19, in get_strided_kernel_output_shape
node.layer.kernel_parameters, round_func)
File "/root/programs/mycode/caffe-tensorflow/kaffe/layers.py", line 137, in kernel_parameters
k_h = self.get_kernel_value(params.kernel_h, params.kernel_size, 0)
File "/root/programs/mycode/caffe-tensorflow/kaffe/layers.py", line 130, in get_kernel_value
raise ValueError('Unable to determine kernel parameter!')
ValueError: Unable to determine kernel parameter!
when params was equal to:
pool: AVE
global_pooling: true