Tencent / FeatherCNN

FeatherCNN is a high performance inference engine for convolutional neural networks.
1.21k stars 284 forks source link

请问转换caffe模型的文件是feather_convert_caffe还是caffe_model_convert #39

Open yangyangv8 opened 5 years ago

yangyangv8 commented 5 years ago

对转换工具编译时只生成了feather_convert_caffe这个文件,通过这个文件也能将caffe模型转换成feathermodel,这样转化的featherCNN模型正确吗,另外编译时需要安装protobuf吗? 还有一个问题我的caffe网络有44层(Convolution,Eltwise,ReLU三种类型),调用Forward(float *input)执行网络时layers.size的值为33,ReLU层有11层,这样解析的layers.size正确吗?

Mengjintao commented 5 years ago

您好, 编译feather_convert_caffe使用的脚本是: https://github.com/Tencent/FeatherCNN/blob/booster/tools/build.sh, 这个脚本需要提前您安装protobuf。 feather_convert_caffe可以把caffe模型转换为feathermodel, 具体请参考其命令行参数。 FeatherCNN内部有Layer Fusion,它会把ReLU, Batchnorm, Scale等可以合并到其他Layer里面。所以Layer.size只有33层。 如果您不愿意合并可以将https://github.com/Tencent/FeatherCNN/blob/booster/src/net.cpp 里面第302行到344行注释掉。

金涛

yangyangv8 commented 5 years ago

非常感谢你的回答,我是用的是master版本,执行https://github.com/Tencent/FeatherCNN/tree/master/tools/build.sh 这个脚本时没有报错生成了feather_convert_caffe这个文件,用这个文件转换自己的caffe模型到featherCNN,可以运行但网络的输出结果不正确,输入就是传递一个float指针,将输入写成文件验证是正确的,这会是模型转换的问题吗或者还有其他配置的地方需要配置?

helloearth012 commented 5 years ago

@yangyangv8 你最终转换成功了了, 我在转换的时候没有报错, 但是initFromPath 有segmentation fault

Mengjintao commented 5 years ago

@helloearth012 你可否把model发我看一下? 我看能不能重现segmentation fault.

Mengjintao commented 5 years ago

@yangyangv8 如果你们的caffemodel需要保密,你这边可否把prototxt发我看一下。