Skip to content
This repository has been archived by the owner on Jan 24, 2024. It is now read-only.

x86调用转换的MobileNet-SSD的caffemodel模型,调用net_executer时concat层出错。在caffe SSD里面mbox_priorbox的concat层的输入是3维的,在AK里面输入是4维了,concat的参数axis: 2就不对了。这种问题是模型转换有问题吗? #475

Open
whongjob opened this issue Nov 6, 2018 · 3 comments

Comments

@whongjob
Copy link

whongjob commented Nov 6, 2018

我用x86调用转换后的MobileNet-SSD模型,在concat层出错。是模型转换哪里出错了吗?
错误信息:
WAN| 16:44:19.00789| 0.078s| AC143780| x86_device.cpp:27] X86 get_info is not implemented
WAN| 16:44:19.00789| 0.078s| AC143780| net.cpp:667] Current used device id : 0
WAN| 16:44:19.00790| 0.079s| AC143780| input.cpp:16] Parsing Input op parameter.
0| 16:44:19.00790| 0.079s| AC143780| input.cpp:19] |-- shape [0]: 1
0| 16:44:19.00790| 0.079s| AC143780| input.cpp:19] |-- shape [1]: 3
0| 16:44:19.00790| 0.079s| AC143780| input.cpp:19] |-- shape [2]: 300
0| 16:44:19.00790| 0.079s| AC143780| input.cpp:19] |-- shape [3]: 300
WAN| 16:44:19.00791| 0.080s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00791| 0.080s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00791| 0.080s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00791| 0.080s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00791| 0.080s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00791| 0.080s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00791| 0.080s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00791| 0.080s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00791| 0.080s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00792| 0.080s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00792| 0.080s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00792| 0.080s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00792| 0.080s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00792| 0.081s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00792| 0.081s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00792| 0.081s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [3]: 1
WAN| 16:44:19.00792| 0.081s| AC143780| permute.cpp:20] !!!!!!!! Parsing Permute op parameter.
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [0]: 0
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [1]: 2
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [2]: 3
0| 16:44:19.00792| 0.081s| AC143780| permute.cpp:24] |-- dims [3]: 1
FTL| 16:44:19.00799| 0.088s| AC143780| concat.h:101] Check failed:shape_out[j] == sh[j] (4332 == 2400) All inputs must have the same shape, except at concat_axis.
*** Check failed:shape_out[j] == sh[j] (4332 == 2400) fatal error stack trace: ***:

@whongjob whongjob changed the title x86调用转换的MobileNet-SSD的caffemodel模型,调用net_executer时出错,错在concat层 x86调用转换的MobileNet-SSD的caffemodel模型,调用net_executer时concat层出错,是模型转换有问题吗? Nov 6, 2018
@Hub-er
Copy link

Hub-er commented Nov 6, 2018

打印concat层的shape信息。

@whongjob whongjob changed the title x86调用转换的MobileNet-SSD的caffemodel模型,调用net_executer时concat层出错,是模型转换有问题吗? x86调用转换的MobileNet-SSD的caffemodel模型,调用net_executer时concat层出错。在caffe SSD里面mbox_priorbox的concat层的输入是3维的,在AK里面输入是4维了,concat的参数axis: 2就不对了。这种问题是模型转换有问题吗? Nov 7, 2018
@whongjob
Copy link
Author

whongjob commented Nov 7, 2018

出错的层:
layer {
name: "mbox_priorbox"
type: "Concat"
bottom: "conv4_3_norm_mbox_priorbox"
bottom: "fc7_mbox_priorbox"
bottom: "conv6_2_mbox_priorbox"
bottom: "conv7_2_mbox_priorbox"
bottom: "conv8_2_mbox_priorbox"
bottom: "conv9_2_mbox_priorbox"
top: "mbox_priorbox"
concat_param {
axis: 2
}
}
在AK里concat层的shape打印信息:
input_size: 6 param.axis: 2
input 0 dims(): 4
dim[0]:1
dim[1]:1
dim[2]:2
dim[3]:4332
input 1 dims(): 4
dim[0]:1
dim[1]:1
dim[2]:2
dim[3]:2400
input 2 dims(): 4
dim[0]:1
dim[1]:1
dim[2]:2
dim[3]:600
input 3 dims(): 4
dim[0]:1
dim[1]:1
dim[2]:2
dim[3]:216
input 4 dims(): 4
dim[0]:1
dim[1]:1
dim[2]:2
dim[3]:96
input 5 dims(): 4
dim[0]:1
dim[1]:1
dim[2]:2
dim[3]:24
我感觉是caffe SSD里面输入是3维的,concat参数是2,到了AK里面输入变成4维了,参数还是2就不对了。这种情况是模型转换不对吗?
请求帮助,感谢!

@MyPandaShaoxiang
Copy link

是的,请用最新的master分支进行重新转换

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants