caffe-tensorflow icon indicating copy to clipboard operation
caffe-tensorflow copied to clipboard

Support global average pooling

Open BryceCicada opened this issue 8 years ago • 1 comments

See https://github.com/ethereon/caffe-tensorflow/issues/53

This PR is motivated by comments:

  1. https://github.com/ethereon/caffe-tensorflow/issues/53#issuecomment-252110406
  2. https://github.com/ethereon/caffe-tensorflow/issues/53#issuecomment-278786863
  3. https://github.com/ethereon/caffe-tensorflow/issues/53#issuecomment-284969768

BryceCicada avatar Jun 21 '17 10:06 BryceCicada

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

ilyakava avatar Jan 24 '20 21:01 ilyakava