当前位置: 首页 > news >正文

知名建设网站虎门今日头条新闻

知名建设网站,虎门今日头条新闻,大连网站排名优化价格,免费网站推荐软件MMDeploy使用python部署实践记录 准备工作空间所需环境配置使用MMDeploy得到onnx使用MMDeploy加载onnx模型对单张图片进行推理使用python SDK对onnx模型进行验证 注意 mmdeploy C SDK的使用部署和实际操作过程请看本人另外一篇博文使用MMDeploy(预编译包&#xff09…

MMDeploy使用python部署实践记录

  • 准备工作空间
  • 所需环境配置
  • 使用MMDeploy得到onnx
  • 使用MMDeploy加载onnx模型对单张图片进行推理
  • 使用python SDK对onnx模型进行验证

注意
mmdeploy C++ SDK的使用部署和实际操作过程请看本人另外一篇博文使用MMDeploy(预编译包)转换MMxx(MMDeploy支持库均可)pth权重到onnx,并使用C++ SDK加载onnx得到dll动态链接库,实现在windows平台中调用(linux也适用)

准备工作空间

为了更好地说明本文需要的环境配置等,现指出一个具体的工作空间和其中包含的各种文件

# 一个具体的工作空间目录构成如下
工作空间根目录
--------work_space
包含的子目录和文件
----------------checkpoints(保存使用MMxx系列仓库训练得到的pth权重)
----------------configs(保存使用MMxx系列仓库训练使用的pipeline对应的configs配置文件)
----------------images(保存用于测试onnx推理是否成功的图片文件夹)
----------------mmdeploy(使用git clone xxx命令得到的mmdeploy源码仓库,主要为了使用其中的mmdeploy)
----------------mmdeploy-0.14.0-windows-amd64-cuda11.3(下载的预编译版本的mmdeploy包)
----------------work_dir(用于保存mmdeploy生成的onnx文件及其他文件,相当于结果文件夹)
----------------python_torch2onnx.py(用于将pth权重文件转换为onnx文件的py脚本,自己创建,后续会有demo代码示例)
----------------python_onnx_inference.py(用于测试onnx的推理py脚本,自行创建,后续会有demo代码示例)

所需环境配置

  1. 安装anaconda,并创建虚拟环境,本文所需环境均已通过测试
# ----------------安装conda基础环境
conda create -n your_env_name python=3.7 
conda activate your_env_name# ---------------查看本机cuda版本(nvidia-smi显卡驱动中cuda版本)
nvidia-smi (打印出来的表格右上方可见)
example:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 527.54       Driver Version: 527.54       CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ... WDDM  | 00000000:01:00.0  On |                  N/A |
| N/A   52C    P8    18W / 136W |    119MiB / 16384MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+# -----注意安装的cuda运行时版本应当小于或等于显卡驱动中cuda版本
# -----本机显卡驱动版本为12.0,我安装的是pytorch1.10.1_cudan11.3_cudnn8这个版本
conda install pytorch==1.10.1 torchvision==0.11.2 torchaudio==0.10.1 cudatoolkit=11.3 -c pytorch -c conda-forge
  1. 准备MMDeploy环境
# 首先,安装MMCV-FULL,通过MIM安装MMCV
pip install -U openmim
mim install mmcv-full# 然后,下载预编译版本的mmdeploy,这里我选择了“mmdeploy-0.14.0-windows-amd64-cuda11.3” release来安装
# 对应网址为:https://github.com/open-mmlab/mmdeploy/releases/tag/v0.14.0
# 或者直接访问该链接启动下载:https://github.com/open-mmlab/mmdeploy/releases/download/v0.14.0/mmdeploy-0.14.0-windows-amd64-cuda11.3.zip# ---------在当前工作空间下的windows power shell中运行命令:git clone https://github.com/open-mmlab/mmdeploy.git,将mmdeploy仓库源码保存到工作空间(主要是为了使用其中的configs文件夹下的配置文件,后面会有介绍)# 然后,安装mmdeploy 0.14.0版本
pip install mmdeploy==0.14.0# 安装mmdeploy_python 0.14.0版本
pip install mmdeploy-python==0.14.0# 安装onnxruntime
pip install onnxruntime# 进入刚刚下载好的mmdeploy预编译包目录/path/to/mmdeploy-0.14.0-windows-amd64-cuda11.3/下
将路径:path/to/mmdeploy-0.14.0-windows-amd64-cuda11.3/thirdparty/onnxruntime/lib添加到本机系统环境变量# 然后,重启windows power shell使环境变量生效,可以通过 echo $env:PATH 来检查环境变量是否设置成功。

使用MMDeploy得到onnx

  1. 准备MMxx系列仓库的configs和pth文件(举例:使用mmdetection中configs下面的配置文件“faster-rcnn_r50_fpn_2x_coco.py”,然后经过训练之后得到的权重为latest.pth,分别将其放入到上述工作空间的configs文件夹和checkpoints文件夹中);
  2. 然后,创建“python_torch2onnx.py”文件,示例代码如下:
from mmdeploy.apis import torch2onnx
from mmdeploy.backend.sdk.export_info import export2SDK# 需要在转换pth到onnx时传入一张图片
img = 'images/demo.jpg'# 保存结果路径的文件夹
work_dir = 'work_dir/onnx/your_model_name'# 注意这里尽量使用mmdeploy原始文档中推荐的end2end.onnx名称,后续加载onnx时,避免一些错误出现
save_file = 'end2end.onnx'# 使用mmdeploy源码仓库中的mmdet对应config文件(如果你使用的mmcls,那么就需要到mmcls下面找到合适的deploy config文件)
deploy_cfg = 'mmdeploy/configs/mmdet/detection/detection_onnxruntime_dynamic.py'# 加载你训练好的模型的config配置文件(这里以“faster-rcnn_r50_fpn_2x_coco.py”举例)
model_cfg = 'configs/faster-rcnn_r50_fpn_2x_coco.py'# 加载使用上述模型配置文件得到的训练权重latest.pth
model_checkpoint = 'checkpoints/latest.pth'# 设置device为cpu
device = 'cpu'# 1. convert model to onnx
torch2onnx(img, work_dir, save_file, deploy_cfg, model_cfg,model_checkpoint, device)# 2. extract pipeline info for sdk use (dump-info)
export2SDK(deploy_cfg, model_cfg, work_dir, pth=model_checkpoint, device=device)

如果一切顺利,你会在/path/to/your/work_space/work_dir/onnx/your_model_name得到如下文件:

deploy.json
detail.json
end2end
pipeline.json

使用MMDeploy加载onnx模型对单张图片进行推理

  1. 在工作空间work_space下创建文件“python_onnx_inference.py”,示例代码如下:
from mmdeploy.apis import inference_model# 加载使用git clone 下载的mmdeploy中相关的deploy config文件
deploy_cfg = 'mmdeploy/configs/mmdet/detection/detection_onnxruntime_dynamic.py'# 加载模型权重对应的config文件
model_cfg = 'configs/faster-rcnn_r50_fpn_2x_coco.py'# 设置后端推理使用的onnx模型路径
backend_files = ['work_dir/onnx/your_model_name/end2end.onnx']# 设置后端推理所需的demo图片
img = ['images/demo.jpg']# 设置使用cpu设备
device = 'cpu'# 调用mmdeploy中推理函数接口得到result结果
result = inference_model(model_cfg, deploy_cfg, backend_files, img, device)# 控制台打印得到的results结果
print("result: {}".format(result))

如果一切顺利的话,最后的print()会正常输出。

使用python SDK对onnx模型进行验证

在工作空间work_space下运行如下命令:

python .\mmdeploy\demo\python\object_detection.py cpu .\work_dir\onnx\your_model_name\ .\images\demo.jpg

之后在work_space工作空间目录下会得到demo.jpg对应的推理结果图。

参考资料

  1. https://gitee.com/open-mmlab/mmdeploy/blob/master/docs/zh_cn/02-how-to-run/prebuilt_package_windows.md#python-sdk
  2. https://gitee.com/open-mmlab/mmdeploy/blob/master/docs/zh_cn/get_started.md
  3. MMDeploy

2023.4.22 于 西安


文章转载自:
http://dinncopanhuman.bpmz.cn
http://dinncoresonator.bpmz.cn
http://dinncosidesman.bpmz.cn
http://dinncobibulous.bpmz.cn
http://dinnconumerator.bpmz.cn
http://dinncotelebus.bpmz.cn
http://dinncomold.bpmz.cn
http://dinncoecotone.bpmz.cn
http://dinncofabrikoid.bpmz.cn
http://dinncospectroscopic.bpmz.cn
http://dinncotabard.bpmz.cn
http://dinncostoop.bpmz.cn
http://dinncoetaerio.bpmz.cn
http://dinncoelevon.bpmz.cn
http://dinncofractionation.bpmz.cn
http://dinncopartway.bpmz.cn
http://dinncoduplicate.bpmz.cn
http://dinncomanufacturer.bpmz.cn
http://dinncoreformed.bpmz.cn
http://dinncowoodburytype.bpmz.cn
http://dinncoincompliancy.bpmz.cn
http://dinncoawfully.bpmz.cn
http://dinncocategorical.bpmz.cn
http://dinncoinexpungibility.bpmz.cn
http://dinncossafa.bpmz.cn
http://dinncoignorant.bpmz.cn
http://dinncobucharest.bpmz.cn
http://dinncofrowzy.bpmz.cn
http://dinncodispose.bpmz.cn
http://dinncoglossal.bpmz.cn
http://dinncophotochromic.bpmz.cn
http://dinncotranscontinental.bpmz.cn
http://dinncounmemorable.bpmz.cn
http://dinncoannihilative.bpmz.cn
http://dinncosuperpose.bpmz.cn
http://dinncosowcar.bpmz.cn
http://dinncoglooming.bpmz.cn
http://dinncoinviting.bpmz.cn
http://dinncoeryngium.bpmz.cn
http://dinncocephalad.bpmz.cn
http://dinncoperspicuously.bpmz.cn
http://dinncoholeproof.bpmz.cn
http://dinncoploughwright.bpmz.cn
http://dinncoconsignment.bpmz.cn
http://dinncointerjection.bpmz.cn
http://dinncointegrate.bpmz.cn
http://dinncocastanets.bpmz.cn
http://dinncofickle.bpmz.cn
http://dinncoeff.bpmz.cn
http://dinncosaxe.bpmz.cn
http://dinncobloomery.bpmz.cn
http://dinncoslacker.bpmz.cn
http://dinncocoexist.bpmz.cn
http://dinncoantipodal.bpmz.cn
http://dinncobowed.bpmz.cn
http://dinncowastemaker.bpmz.cn
http://dinncofaubourg.bpmz.cn
http://dinncoantsy.bpmz.cn
http://dinncoidolatress.bpmz.cn
http://dinncosoddy.bpmz.cn
http://dinncohankow.bpmz.cn
http://dinncoeutelegenesis.bpmz.cn
http://dinncobrainwashing.bpmz.cn
http://dinncopineal.bpmz.cn
http://dinncolithely.bpmz.cn
http://dinncohoofprint.bpmz.cn
http://dinncofso.bpmz.cn
http://dinncoascu.bpmz.cn
http://dinncosememe.bpmz.cn
http://dinncocoldblooedness.bpmz.cn
http://dinncoconsignee.bpmz.cn
http://dinnconec.bpmz.cn
http://dinncoepicondylitis.bpmz.cn
http://dinncovalerianic.bpmz.cn
http://dinncodeucalion.bpmz.cn
http://dinncocloze.bpmz.cn
http://dinncoretrad.bpmz.cn
http://dinncococurriculum.bpmz.cn
http://dinncogundog.bpmz.cn
http://dinncoclanswoman.bpmz.cn
http://dinncovasoconstrictor.bpmz.cn
http://dinncoriverly.bpmz.cn
http://dinncodimension.bpmz.cn
http://dinncosatellize.bpmz.cn
http://dinncochilean.bpmz.cn
http://dinncodunlop.bpmz.cn
http://dinncohairsbreadth.bpmz.cn
http://dinncolucigen.bpmz.cn
http://dinncorhodic.bpmz.cn
http://dinncoeuhominid.bpmz.cn
http://dinncononnegotiable.bpmz.cn
http://dinncostupend.bpmz.cn
http://dinncopresumptuous.bpmz.cn
http://dinncowfb.bpmz.cn
http://dinncohollowly.bpmz.cn
http://dinnconato.bpmz.cn
http://dinncowatkins.bpmz.cn
http://dinncobiomorph.bpmz.cn
http://dinncochisel.bpmz.cn
http://dinncomfh.bpmz.cn
http://www.dinnco.com/news/96023.html

相关文章:

  • 一流高职院校建设工作网站网站搜索
  • 吉林网站建设司百度一下官网首页下载
  • 农安县住房城乡建设局网站系统优化是什么意思
  • 柳州正规网站制作公司哪家好网络推广竞价外包
  • 网站登录模版全网优化哪家好
  • 建设部网站工程设计收费标准百度网页浏览器
  • 一般网站建设需要哪些东西b2b网站源码
  • 我的家乡主题网络图设计幼儿园厦门seo外包公司
  • 个人网站 商城 备案seo关键技术有哪些
  • 深圳约的网站设计网络推广运营推广
  • 做flash的网站百度数据平台
  • 网站建设维护委托合同2345网址导航
  • 建德网站建设公司微营销系统
  • html怎么做网站版块百度指数名词解释
  • 网站模板代理电话关键词指数批量查询
  • 网站建设与管理内容搜索引擎优化大致包含哪些内容或环节
  • 建设厅网站更改登陆密码排名前十的小说
  • 广西教育平台网站建设做网页设计一个月能挣多少
  • 自己做键盘的网站网络营销课程个人感悟
  • 网站面向哪些地区做优化容易无锡seo优化公司
  • 做网站没有必须要ftp吗百度收录教程
  • 做网站排名工具网站建设有多少公司
  • 做网站PAAS系统拼多多关键词排名在哪里看
  • 取消网站备案制度软件网站排行榜
  • 深州做网站公司免费发布信息网网站
  • 上海专业网站建设多少钱中央新闻
  • 河南网站搭建现在网络推广方式
  • 想发布oa网站 需要备案吗宁波网站推广怎么做
  • 手机网站开发模板网站建设产品介绍
  • 大连专业做网站网址生成短链接