- 看到作者有更新,我脑子一热:一定要捣鼓出来! - 于是:昨晚通宵了…… - 自动驾驶 - 我用到的版本: - Miniconda3 py38_23.1.0-1 (Python 3.8.16 64-bit) - CUDA:11.7 - cudnn:8.7 - TensorRT:8.4.2.4(TensorRT 8.4 GA Update 1) - 版本不太建议选太高 - 如果你有时间去重新来过可以试试 - 我在选11.8、8.8、8.6后 - 做到中途查看 PyTorch 是否为 cuda 版本结果是false - onnx 1.13.1 requires protobuf<4,>=3.20.2 - paddlepaddle 2.4.2 requires protobuf<=3.20.0,>=3.1.0 - 于是……通宵就开始了…… - 注意: - 安装CUDA cudnn TensorRT都要添加环境变量 - CUDA安装:【【最完整版】深度学习与TensorFlow2入门实战(附源码和课件)】 https://www.bilibili.com/video/BV1HV411q7xD/?p=3&share_source=copy_web&vd_source=2d31dfb948157c7497eed1af897f10e1 - cudnn安装:【【最完整版】深度学习与TensorFlow2入门实战(附源码和课件)】 https://www.bilibili.com/video/BV1HV411q7xD/?p=3&share_source=copy_web&vd_source=2d31dfb948157c7497eed1af897f10e1 - TensorRT安装:https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-zip - 我为了保险起见:将官网介绍的两种方法都用上了 - a. 在环境变量里添加 - b. 把【TensorRT】=> 【lib】文件夹里的【dll】文件复制到【CUDA】的【bin】文件夹里 - ① - 几个依赖包的安装 - python -m pip install torch --extra-index-url https://download.pytorch.org/whl/cu117 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com - python -m pip install numpy<1.24 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com - tensorrt安装是在自己的tensorrt文件夹里的,按照自己的实际情况修改路径 - python -m pip install D:\Files\TensorRT\python\tensorrt-8.4.2.4-cp38-none-win_amd64.whl - python -m pip install numpy<1.24 lap - ★★★出现lap安装不上 - 解决方法查找 - https://blog.csdn.net/qq_52908337/article/details/123282347 - python -m pip install --upgrade setuptools - conda install -c conda-forge lap - conda install -c -conda-forge lap==0.4.0(这一步应该不需要了,因为上一步已经安装了) - ② - 安装依赖包 - 在项目根目录(也就是作者ETSAuto文件夹)下运行以下命令 - python -m pip install D:\Files\TensorRT\python\tensorrt-8.4.2.4-cp38-none-win_amd64.whl - python -m pip install -r requirements_cu117.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com - ★★★出现pycuda安装不了wheel,手动安装pycuda - 解决方法查找 - https://blog.csdn.net/qq_41787953/article/details/113421339 - 到下面网址下载 - https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml - 安装 - pip install D:\Files\TensorRT\pycuda-2022.1+cuda116-cp38-cp38-win_amd64.whl(注意存放路径处要修改为自己的) - 避免后续出错,我重新执行了requirements_cu117.txt的安装 - python -m pip install -r requirements_cu117.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com - python -m pip uninstall -y opencv-python-headless - python -m pip install -r last_requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com - ③ - 查看 PyTorch 是否为 cuda 版本 - python - import torch - torch.cuda.is_available() - True - ④ - 构建 TensorRT 文件 - 下载 onnx 权重文件,在项目根目录(也就是作者ETSAuto文件夹)里创建weights 文件夹下,(三个都要下载(1.0和1.1)放进去) - 安装权重转换所依赖的包 - python -m pip install -r ./tools/requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com - 构建 YOLOV6 的 TensorRT 文件 - python ./tools/export.py -o ./engines/yolov6s_bdd_60.onnx -e ./engines/yolov6s_bdd_60.engine --end2end - ★★★出现Could not locate zlibwapi.dll. Please make sure it is in your library path! - 解决方法查找 - https://blog.csdn.net/u011788214/article/details/128803191?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-128803191-blog-124064428.pc_relevant_landingrelevant&spm=1001.2101.3001.4242.2&utm_relevant_index=4 - https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#install-zli - 在下载好的文件夹【zlib123dllx64】=> 【dll_x64】里找到【zlibwapi.dll】文件 - 将【zlibwapi.dll】文件复制到CUDA的bin目录下 - 构建 CLRNet 的 TensorRT 文件 - 【polygraphy surgeon sanitize ./engines/llamas_dla34.onnx --fold-constants --output ./engines/llamas_dla34_tmp.onnx trtexec --onnx=./engines/llamas_dla34_tmp.onnx --saveEngine=./engines/llamas_dla34.engine】 - 这里建议复制作者的 - 若trtexec生成的engine不可用,可用`tools/onnx2trt.py`进行生成(须修改代码中的路径) - 这里我没有用到 - 构建 环境感知 的 TensorRT 文件 - python ./tools/onnx2trt.py - ⑤ - 安装好vJoy - 打开Configure vJoy - enable就好 - ⑥ - 安装mod - Google Maps Navigation Night Version - SISL's Route Adviser - ⑦ - 设置游戏 - 选项 - 图像,取消全屏模式,分辨率设置为 1360x768 - 选项 - 控制,选择 `键盘 + vJoy Device` - 把游戏窗口移动到合适的位置 - 我的是左上角一些 - ⑧ - 设置脚本 - title_bar_height设为游戏窗口的标题栏高度 - 我没找到在哪里 - ⑨ - 在在项目根目录(也就是作者ETSAuto文件夹)的地址栏输入powershell - 回车 - ★★★出现ModuleNotFoundError: No module named 'cv2' - 解决方法查找 - https://blog.csdn.net/qq_44789949/article/details/129902468 - pip uninstall numpy - pip uninstall opencv-python - pip uninstall opencv-contrib-python - pip install numpy - pip install opencv-python - pip install opencv-contrib-python - 直接在使用到import cv2的python文件中导入此包 - 这步我没明白,但此时已经成功 - 已经出现【cv2】文件夹 - 我的路径:D:\Files\miniconda\Lib\site-packages\cv2 - ⑩ - 在在项目根目录(也就是作者ETSAuto文件夹)的地址栏输入powershell - 回车 - 在powershell里输入:python script/main.py - 回车 - 出现侦测窗口 - 退出自动驾驶 - ⑪ - 地图和速度侦测窗口单独提取 - 用编辑器打开main.py文件 - 在nav_line, curve_speed_limit = nav_process(navmap, truck, info, cipv)下 - 添加:cv2.imshow('navmap', navmap) - 在speed_limit = curve_speed_limit下 - 添加:cv2.imshow('speed_bar', bar) - 非常感谢网友:shogun_xjtu - 他指导了我很多,这个方法也是他教我的 - 我成功运行后也是第一个给他发消息 - 也建议作者加入这条在readme里,这样方便调节游戏窗口位置 - ⑫ - 重复 - 在在项目根目录(也就是作者ETSAuto文件夹)的地址栏输入powershell - 回车 - 在powershell里输入:python script/main.py - 回车 - 出现侦测窗口 - all + tab - 找到【navmap】和【speed bar】放到合适的位置 - 我放到侦测窗口的下方 - ⑬ - 进游戏后开到路上 - 切换到前车视角 - 把车开在右侧车道中间 - 按F1暂停 - 调节合适的游戏位置 - 直到参考线、车道线、车速、导航都被识别到 - ⑭ - 成功了 - 也天亮了 - 希望这分享能够帮到一些伙伴 ______ ______ ______ ______ ______ ______ - 另外 - 两个疑问 - ①:如果我用顶部导航,侦测的位置数据我该改哪里? - (我用顶部导航很长时间了,看着舒服也不会挡住方向盘) - 希望得到作者的帮助 - ②:为啥不用原版地图呢?是因为颜色侦测精准问题吗?
tools/onnx2trt.py进行生成(须修改代码中的路径)键盘 + vJoy Device