赞
踩
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-symbol
- import mxnet as mx
- import gluoncv as gcv
- from gluoncv.utils import export_block
-
- net = 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 NCNN
- data_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 display
- print(net)
-
- print('Done.')
-
- # have a view of what has been done!
- import glob
- print(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实现》
https://zhuanlan.zhihu.com/p/128974102
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。