本文共 1333 字,大约阅读时间需要 4 分钟。
NCNN在官方源码中有一个例程,simple pose,今天试了一下效果。
整体来说,优化得太过,效果不行。
过程如下。
首先,在gluoncv中转换生成模型pose.param, pose.bin,python 源码如下,
其中,用
export_block('simple_pose_resnet18_v1b', net, preprocess=True, layout='HWC') 转换出来的不能成功部署到NCNN上,所以在python源码中我注释掉了。# this one works OK for TestFcn_method2-symbolimport mxnet as mximport gluoncv as gcvfrom gluoncv.utils import export_blocknet = gcv.model_zoo.get_model('simple_pose_resnet18_v1b', pretrained=True)#pose_net = model_zoo.get_model('simple_pose_resnet18_v1b', pretrained=True)net.hybridize()#try & uncomment the below code to generate:#it seems the below export method is NOT OK for NCNN#export_block('simple_pose_resnet18_v1b', net, preprocess=True, layout='HWC')#the below method is OK for NCNNdata_shape = (1, 3, 512, 512)input_data = mx.nd.random.uniform(-1, 1, data_shape)_ = net(input_data)net.export('pose')# uncomment the below code to displayprint(net)print('Done.')# have a view of what has been done!import globprint(glob.glob('*.json') + glob.glob('*.params'))print('All Done.')
第二步
然后,用下面的命令来生成ncnn.param和ncnn.bin,生成后把名字改成pose.param, pose.bin。
mxnet2ncnn pose-symbol.json pose-0000.params第三步
此时,你就可以用ncnn中的simplepose来进行测试了,例如
simplepose COCO_val2014_000000324595.jpg
我直接用gluoncv测试的效果是这样的,
由于目前对NCNN的源码还不熟悉,所以也不清楚到底哪里出了问题。
对于NCNN的其他模型,作者介绍得最详细的我只找到这个,按照作者介绍的步骤,也成功部署了。
《详细记录YOLACT实例分割ncnn实现》
转载地址:http://wtwoi.baihongyu.com/