Python使用mobilenet的预训练模型进行预测
Posted 修炼之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python使用mobilenet的预训练模型进行预测相关的知识,希望对你有一定的参考价值。
导读
上一篇文章中我们利用ncnn的例子在visual studio中配置了一个ncnn的运行环境,接下来我们会介绍如何来利用ncnn部署一个自己的模型,这里我们利用ImageNet的mobilenet1.0为例,这篇文章我们先介绍如何在python中使用这个模型来做预测,后面再将这个模型迁移到ncnn中。
先用Python实现模型预测的主要目的是为了验证模型的结果,保证Python中的预测结果与C++中的结果一致
,因为在使用ncnn做模型预测的时候,很有可能因为你的某一个操作环境出错而导致你的模型预测错误,有时候你还发现不了,就会严重影响模型的上线性能。所以,通常我都会选用同一张图片先获取模型在Python环境下的预测结果(预测类别的分数),然后再使用C++转写完成之后再使用这张图片做预测,看两个输出的概率是否一致
。有一个问题需要特别注意,由于精度问题Python的输出结果和C++会存在些许差距。
由于模型是mxnet的,所以在使用Python做模型预测的时候也是基于mxnet框架编写的
环境要求
因为代码主要是基于mxnet和gluoncv,所以我们需要安装这两个依赖库
- 安装gpu版本的mxnet
安装gpu版本的mxnet需要先确定cuda的版本,通过nvcc即可确定,例如cuda是9.0
pip install mxnet-cu90
- 安装cpu版本的mxnet
<
以上是关于Python使用mobilenet的预训练模型进行预测的主要内容,如果未能解决你的问题,请参考以下文章
如何从 python 中的预训练模型中获取权重并在 tensorflow 中使用它?
如果我们扩展或减少同一模型的层,我们仍然可以从 Pytorch 中的预训练模型进行训练吗?
我的自定义 mobilenet 训练模型未显示任何结果。我究竟做错了啥?