当前位置:   article > 正文

NCNN部署例程 mxnet-gluoncv之simple_pose_"layout=\"hwc"

"layout=\"hwc"

NCNN在官方源码中有一个例程,simple pose,今天试了一下效果。

整体来说,优化得太过,效果不行。

过程如下。

首先,在gluoncv中转换生成模型pose.param, pose.bin,python 源码如下,

其中,用
export_block('simple_pose_resnet18_v1b', net, preprocess=True, layout='HWC')
转换出来的不能成功部署到NCNN上,所以在python源码中我注释掉了。

  1. # this one works OK for TestFcn_method2-symbol
  2. import mxnet as mx
  3. import gluoncv as gcv
  4. from gluoncv.utils import export_block
  5. net = gcv.model_zoo.get_model('simple_pose_resnet18_v1b', pretrained=True)
  6. #pose_net = model_zoo.get_model('simple_pose_resnet18_v1b', pretrained=True)
  7. net.hybridize()
  8. #try & uncomment the below code to generate:
  9. #it seems the below export method is NOT OK for NCNN
  10. #export_block('simple_pose_resnet18_v1b', net, preprocess=True, layout='HWC')
  11. #the below method is OK for NCNN
  12. data_shape = (1, 3, 512, 512)
  13. input_data = mx.nd.random.uniform(-1, 1, data_shape)
  14. _ = net(input_data)
  15. net.export('pose')
  16. # uncomment the below code to display
  17. print(net)
  18. print('Done.')
  19. # have a view of what has been done!
  20. import glob
  21. print(glob.glob('*.json') + glob.glob('*.params'))
  22. 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

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/59542
推荐阅读
相关标签
  

闽ICP备14008679号