Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[Group conv support] ValueError: number of input channels does not match corresponding dimension of filter, 96 != 48 #10

Closed
seanchung2 opened this issue Nov 30, 2017 · 3 comments
Assignees

Comments

@seanchung2
Copy link

Hi,

I converted BVLC_AlexNet from Caffe to IR first. Then converted IR to Tensorflow code snippet in order to use it to get the checkpoint file. But when I tried to test my converted model by executing python -m mmdnn.conversion.examples.tensorflow.imagenet_test -s tensorflow -p AlexNet -n BVLC_AlexNet -w BVLC_AlexNet.npy, the error happened below:

Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/dist-packages/mmdnn/conversion/examples/tensorflow/imagenet_test.py", line 68, in <module>
    tester = TestTF()
  File "/usr/local/lib/python2.7/dist-packages/mmdnn/conversion/examples/tensorflow/imagenet_test.py", line 17, in __init__
    self.input, self.model = self.MainModel.KitModel(self.args.w)
  File "BVLC_AlexNet.py", line 33, in KitModel
    conv2_1         = convolution(conv2_0, strides = [1, 1], padding = 'VALID', name = 'conv2_1')
  File "BVLC_AlexNet.py", line 62, in convolution
    layer = tf.nn.convolution(input, w, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/nn_ops.py", line 750, in convolution
    name=name, data_format=data_format)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/nn_ops.py", line 807, in __init__
    num_spatial_dims]))
ValueError: number of input channels does not match corresponding dimension of filter, 96 != 48

If you wanna take a look at my converted model, here is the link
Can you please deal with it?
Thanks.

@kitstar kitstar self-assigned this Nov 30, 2017
@kitstar
Copy link
Contributor

kitstar commented Nov 30, 2017

Hi @seanchung2 . Same problem with xception. Not support Conv with groups now. Will implement it soon. Thanks.

@kitstar
Copy link
Contributor

kitstar commented Dec 1, 2017

@seanchung2 master branch enables the groups convolution. Please try it. Thanks.

@kitstar
Copy link
Contributor

kitstar commented Dec 7, 2017

Hi @seanchung2 ,
caffe alexnet -> tf tested.

master branch with following scripts:

$ python -m mmdnn.conversion._script.convertToIR -f caffe -d kit_imagenet -n examples/caffe/models/bvlc_alexnet.prototxt -w examples/caffe/models/bvlc_alexnet.caffemodel

$ python -m mmdnn.conversion._script.IRToCode -f tensorflow --IRModelPath kit_imagenet.pb --dstModelPath kit_imagenet.py -w kit_imagenet.npy

$ python -m mmdnn.conversion.examples.tensorflow.imagenet_test -n kit_imagenet.py -w kit_imagenet.npy --dump ./caffe_alexnet.ckpt

Tensorflow file is saved as [./caffe_alexnet.ckpt], generated by [kit_imagenet.py] and [kit_imagenet.npy].

@kitstar kitstar closed this as completed Dec 7, 2017
@kitstar kitstar changed the title ValueError: number of input channels does not match corresponding dimension of filter, 96 != 48 [Group conv support] ValueError: number of input channels does not match corresponding dimension of filter, 96 != 48 Dec 7, 2017
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

3 participants