将fastreid权重文件轻量化,并将其嵌入deepsort模型中,踩坑集锦

1.准备, 已经训练好的fast_reid配置文件和权重文件

在这里插入图片描述
这是配置文件
在这里插入图片描述
这是权重文件
此时的权重文件共有282.10MB

2.将配置文件转为onnx文件

pip install onnx

fast_reid代码(https://github.com/JDAI-CV/fast-reid/tree/master/tools/deploy)
照着步骤走,先下载fastreid代码,cd 到tools/deploy文件夹下,
在这里插入图片描述
在这里插入图片描述
然后终端运行命令:

python onnx_export.py --config-file root-path/bagtricks_R50/config.yml --name baseline_R50 --output outputs/onnx_model --opts MODEL.WEIGHTS root-path/logs/market1501/bagtricks_R50/model_final.pth

最好路径都设置成跟官网上一样的,如下面这张图
在这里插入图片描述
可能的报错:
在这里插入图片描述
这是因为config.yaml文件中有DATALOADER.NAIVE_WAY这个关键字,而fast_reid目录下fastreid/config/default.py文件里面没有,将其添加到default.py文件夹下就行了,如图:
在这里插入图片描述
此类的错误就按照这样解决
若还有其他错误,则有可能是因为配置文件的版本太低,而下载的fast_reid文件版本太高,需要重新下载低版本的fast_reid文件,然后再运行。
这一步生成的文件:
在这里插入图片描述

3.配置tensorrt环境

依据ubuntu版本和cuda版本下载相应的tensorrt包,
我用的是:ubuntu 16.04/cuda10.2/tensorrt7.2.3
进入NVIDIA TensorRT官网,需要登录,然后选择相应的版本,我下载的是TAR文件
在这里插入图片描述
添加环境变量:

vim ~/.bashrc

在这里插入图片描述
然后保存退出
将下载的TensorRT文件解压,之后进入TensorRT7.2.3/python文件夹下:
在这里插入图片描述

有许多tensorRT文件,然后查看自己的python版本,我的是python3.8
则运行命令:

sudo pip3 install tensorrt-7.2.2.3-cp38-none-linux_x86_64.whl
cd ../uff
sudo pip3 install uff-0.6.9-py2.py3-none-any.whl

然后进入python环境下,
在这里插入图片描述
安装成功

4. 将onnx文件转为Tensorrt文件

python3 trt_inference.py --model-path outputs/trt_model/baseline_R50.engine --input test_data/*.jpg --batch-size 1 --height 256 --width 128 --output trt_output

可能碰到的问题:
1.batch-size问题
在这里插入图片描述
解决:将batch-size 大小改为1
2.getPluginCreater问题
在这里插入图片描述
解决:在trt_inference.py文件里添加下面一行
在这里插入图片描述
这一步生成的文件
在这里插入图片描述
此时的权重文件已经降至137.13M,轻量化了一半还多。

5.将其嵌入到deepsort模型中

在deepsort.py同一目录下,上传fast_reid文件
在这里插入图片描述
a.导入包
在这里插入图片描述
并在deepsort类中添加:
在这里插入图片描述
在_get_features的修改如下:
在这里插入图片描述
可能遇到的问题:
在这里插入图片描述
解决:
找到报错的行,在这之前加上

Torch.cuda.set_device(gpu_idx)

并且在最前面加上
在这里插入图片描述
opt.device与gpu_idx都指gpu的块数。

  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
【资源说明】 基于Openpose的轻量化版本的骨骼点生成器python源码+项目使用说明+模型.zip (1) 环境配置 torch>=0.4.1 torchvision>=0.2.1 pycocotools==2.0.0 opencv-python>=3.4.0.14 numpy>=1.14.0 本项目采用了训练好的模型参数: 参数下载链接: https://download.01.org/opencv/openvino_training_extensions/models/human_pose_estimation/checkpoint_iter_370000.pth 若想要把.pth权重文件转化成onnx格式的权重文件,请在终端运行onnx.py文件 python onnx.py .pth权重文件地址 (2) 运行项目 把测试视频文件放入video文件,终端运行命令: python main.py 即可 如若使用其他文件夹的视频文件,终端执行命令:python main.py --video 视频数据路径 若想使用默认摄像头进行实时动作捕捉,终端执行命令:python main.py --video=0 (3) 添加了计算“人体18个骨骼点”之间的向量角功能 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值