WSL-Ubuntu20.04环境使用YOLOv8 TensorRT推理加速

        在阅读本章内容之前,需要把部署环境以及训练环境都安装好。

1.TensorRTX下载

        这里使用Wang-xinyu大佬维护的TensorRTX库来对YOLOv8进行推理加速的演示,顺便也验证一下前面环境配置的成果。

        github地址:GitHub - wang-xinyu/tensorrtx,下载后放到wsl的路径下,我这里放在/home路径下,并解压到/home路径下:

unzip tensorrtx-master.zip 

2.Vs-Code远程连接TensorRTX 

        首先必须先安装一个WSL插件,如下所示:

        然后连接WSL-Ubuntu2004,如下所示: 

        最后打开我们解压的tensorRTX文件,因为我们需要用到YOLOv8,所以选择YOLOv8,然后点击OK就可以了。 

         因为后面同时涉及到Python代码和C++代码,所以把这两个用到的插件也一起安装了,其中python环境需要安装Python插件,C++环境需要安装c++插件.

3.使用YOLOv8n.pt进行推理加速实验

        这里就先使用官方的YOLOv8n.pt目标检测模型进行实验,看看我们的环境是否安装成功,这里只是先走一遍流程,关于TensorRTX的具体细节后面会有专门的文章来介绍。

        第一步:当然是要把官方的YOLOv8n.pt放到/home/tensorrtx-master/yolov8路径下,然后执行gen_wts.py代码,修改pt_file路径(-w)和生成的wts_file路径(-o)就行,如下所示。这段代码是把.pt模型的参数大小及权值保存下成.wts,后面也是根据该.wts文件的保存规则解析并序列化成.engine文件。

python gen_wts.py -w /home/tensorrtx-master/yolov8/yolov8n.pt -o /home/tensorrtx-master/yolov8/yolov8n.wts -t detect 

        第二步:需要配置相关的头文件,shift+ctrl+P,搜索Edit configurations (UI),然后在Include path这里补充上以下路径,也就是我们前面安装的Cuda、OpenCV和TensorRT的头文件路径。

/usr/local/cuda-11.6/include
/usr/local/include/opencv4
/root/TensorRT-8.5.1.7/include

         同时需要修改一下CMakeLists.txt文件中关于tensorRT的include和lib路径,如下所示. 

        然后就可以在vs-code终端执行以下指令: 

mkdir build
cd build
cp /home/tensorrtx-master/yolov8/yolov8n.wts /home/tensorrtx-master/yolov8/build
cmake ..
make

        执行完之后发现在build路径下会生成可执行文件yolov8_det. 

         第三步:序列化生成.engine模型,这一步时间会稍微长一点,执行成功后会在build路径下生成yolov8n.engine文件。

./yolov8_det -s /home/tensorrtx-master/yolov8/yolov8n.wts yolov8n.engine n

         第四步:反序列化.engine模型并进行推理,推理结果也是直接保存在build路径下,

./yolov8_det -d yolov8n.engine ../images c

        我用多张图片进行测试,推理时间是很快的,只花费了1ms,如下所示。 

        至此,使用WSL-Ubuntu20.04环境对YOLOv8模型进行了推理加速的实验,但是我们发现WSL-Ubuntu20.04配置环境也还是很复杂,要手动安装那么多东西,下面我会介绍环境搭建神器Docker,来快速搭建部署及训练环境,实现Develop faster. Run anywhere.这种效果。 

 

 

 

 

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker Desktop 是一款用于运行和管理容器化应用的工具,而 Ubuntu 20.04 WSL 是 Windows 子系统的一种,可以在 Windows 上运行 Ubuntu Linux,让开发者可以在 Windows 环境中进行开发和测试。 在使用 Docker Desktop 时,可以与 Ubuntu 20.04 WSL 进行集成,以便在 Windows 环境下更方便地使用 Docker。集成后,可以在 Ubuntu 20.04 WSL 中安装和运行 Docker Engine,与在常规的 Ubuntu 环境中没有太大的差别。 然而,有时可能会遇到"Distribution Ubuntu-20.04 unexpec"的错误。这通常是由于某些原因引起的不可预期的错误或问题。这可能是由于操作系统或软件的不稳定性、版本冲突、配置错误、网络问题等引起的。 要解决这个问题,有几个步骤可以尝试: 1. 检查 Docker Desktop 和 Ubuntu 20.04 WSL 的版本是否兼容,确保使用了最新的版本。 2. 检查系统和软件的配置是否正确,确保没有出现冲突或错误的设置。 3. 检查网络连接是否正常,确保能够访问互联网和 Docker 仓库。 4. 尝试重新安装或更新 Docker Desktop 和 Ubuntu 20.04 WSL,以修复可能的损坏或错误。 如果问题仍然存在,可以尝试搜索相关的错误信息或寻求帮助,以找到更具体的解决方法。同时,也可以尝试使用其他类似的工具或方法来满足容器化应用的需求。 ### 回答2: 当Docker Desktop与Ubuntu 20.04 WSL集成时出现异常,可能有几种可能原因和解决方法。 首先,确保你的Docker Desktop和WSL都是最新版本,并且已经正确安装和配置。 如果你的Docker Desktop和WSL版本不兼容,可能会导致集成过程中出现异常。请检查并更新它们。 其次,检查Docker Desktop的设置是否正确。进入Docker Desktop的设置菜单,确保“WSL Integration”选项已启用,并选择你要与WSL集成的Ubuntu 20.04版本。 如果集成过程中仍然存在问题,可以尝试重新安装Docker Desktop和WSL。首先卸载Docker Desktop和WSL,然后重新安装它们。确保按照官方文档上的步骤进行操作。 另外,你还可以尝试重启计算机,有时候重启可以帮助解决一些集成问题。 如果以上方法仍然无法解决问题,建议查看Docker Desktop和WSL的官方文档,寻找可能的故障排除方法或寻求技术支持。 总之,当Docker Desktop与Ubuntu 20.04 WSL集成过程中出现异常时,可以通过确保软件版本兼容、检查设置并重新安装软件来解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值