Ultra Fast Structure-aware Deep Lane Detection (ECCV2020)的复现

首先感谢作者的开源代码以及模型。
作者知乎论文指路:https://zhuanlan.zhihu.com/p/157530787
作者代码指路:https://github.com/cfzd/Ultra-Fast-Lane-Detection

接下来是复现的过程以及其中遇到的坑。
基础的nvidia显卡安装、CUDA安装、cuDNN安装这里不进行赘述。

复现的环境以及数据准备在作者的github仓库里写的很完整,按照步骤来就好。
需要注意一下的是第四步数据集的准备。在工程文件夹中新建一个叫做CULANROOT或者TUSIMPLEROOT的文件夹用于存放对应的数据,我自己只用了CUlane数据集做复现。
注意:如果你使用百度云下载数据集,请在解压缩后确保文件23 30frame part1.tar.gz和文件23 30frame part2.tar.gz中的图像位于一个“driver_23_30frame”文件夹中,而不是两个单独的文件夹,这就意味着需要自己创建一个文件夹,然后把两个文件夹中的图像移动到创建的文件夹中。
它看起来像这样:
准备好的图像结构

当一切准备就绪,就可以开始了。
首先,我们需要根据自己的环境在 confits / culane.py 配置中修改数据。
其中的data_root路径就是所下载的CULane数据集的路径。
作者还说到log_path也需要修改,但是我暂时没搞清楚如何修改,所以按住不动。

最后在终端执行命令运行demo即可。
运行:python demo.py configs/culane.py --test_model model/culane_18.pth
执行完毕后,每个场景生成一个.avi视频。
程序运行结果
接下来是复现过程中踩到的坑以及解决方法:
1、无法找到cv2模块
解决:将 ~/.bashrc 中的source /opt/ros/kinetic/setup.bash注释掉,因为安装ros后他会在python_path中添加路径,导致conda无法找到正确的路径。
(后续添加:不知道什么原因,导致了我的环境出了问题,单纯的对source /opt/ros/kinetic/setup.bash进行注释已经无法再实现作用,现在的做法是在需要导入cv2的 *.py文件的头部,添加如下两条语句:
import sys
sys.path.remove(’/opt/ros/kinetic/lib/python2.7/dist-packages’)
这两条语句的作用是使程序开始运行时不要用ros导入的路径。)

2、pytorch无法使用CUDA
错误提示:Torch not compiled with CUDA enabled
即:未在启用CUDA的情况下编译Torch

在终端使用命令 nvcc -V 出现以下提示:
CUDA
出现这几条语句,说明CUDA安装没有问题,后来经过多方查询,发现是CUDA版本安装过高,此时并没有合适于此版本的pytorch,这个问题应该在安装torch时意识到,因为在官网下载安装时确实没有出现对应CUDA版本的torch。
然后在终端检测此版本的torch是否可以使用CUDA:
torch可以看到后续的输出是False,也就是说这个版本的torch无法使用CUDA。
(也就是说,后续要用上CUDA只能使用低版本咯)

后来为了完成复现,决定不使用GPU转而使用CPU来进行,所以对作者的源码进行了一点小小的改动。改动如下:
在程序开始时添加:device = torch.device(“cuda” if torch.cuda.is_available() else “cpu”)
然后将程序中所有的 .cuda() 更改为 .to(device)。然后运行程序即可。

后续开坑计划:CPU的效率确实是没有GPU高的,安装了GPU驱动却没有用起来是很难受的一件事情,所以后续打算卸载掉CUDA11.0安装和torch配套的低版本CUDA,然后用GPU把此套代码跑出来。

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值