FlowNet2 (PyTorch v0.3.0)环境搭建

本文主要是对FlowNet2 (PyTorch v0.3.0)的环境搭建进行了记录,该项目的地址为https://github.com/vt-vl-lab/flownet2.pytorch

1. 最终可运行环境

操作系统Ubuntu16.04LTS(18也行)
显卡NVIDIA 2060
CUDA9.0
Python3.6.13
torch0.4.0
torchvision0.2.2
opencv-python3.4.2.16

注意事项:

1.配置过程中一定要保持gcc与g++的版本一致性,我的运行环境中版本均为5.4.0

2.运行install.sh时要给予一定的文件访问权限(嫌麻烦可以使用sudo)

3.使用Anaconda的情况下,记得修改install.sh文件,将python环境与cuda环境指定好

4.最好使用Linux系统,提高适配可能性

2. 踩坑记录

2.1 Windows11(失败)

在Installation步骤通过Git Bash终端运行install.sh时,出现以下报错:
cffi.VerificationError: CompileError: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2

网上的各种解决办法对我来说都不太适用。主要包括:

  • 重装不同版本的Visual Studio。我尝试了VS2015、2017、2019,但均未有效。
  • 安装VS的一些工具库。安装了但无效。
  • ......

最后,考虑到该项目发布者的运行环境建立在Ubuntu系统上,从而开始配置Ubuntu系统。

2.2 Ubuntu20.04——虚拟机(失败)

使用Vmware安装了Ubuntu20.04镜像,进行了一整天的配置。

考虑到需要保存项目运行后所得光流文件,专门配置了虚拟机与主机的共享文件夹

具体配置方法可以参考:实现虚拟机和主机之间的文件传输_虚拟机传输文件_Fa·Bryant的博客-CSDN博客

然而,在运行该项目时出现报错。网上搜索后发现:虚拟机不能使用CUDA和CUDNN!!!

痛哭~~

既然如此,那就开始装双系统吧!

2.3 Ubuntu20.04——双系统(失败)

这个环节是踩坑踩得最狠的,大致花费了7、8天时间。

此时我使用的是3050显卡

(1)装机指南:

Ubuntu/Windows双系统安装巨详细——全面解决各种问题(疑难杂症),有手就行_安装ubuntu关闭bitlocker_HNU跃鹿战队的博客-CSDN博客

Ubuntu 双系统安装流程_ubuntu双系统安装_地球被支点撬走啦的博客-CSDN博客

(2)安装一些软件,过程中遇到以下报错:
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系

解决办法:在软件更新里勾选允许更新;先安装报错信息中指出的其他软件包
(3)RuntimeError: CUDNN_STATUS_EXECUTION_FAILED

许多人博客都说这条报错是因为CUDA与CUDNN不适配导致的。~ 虽然我也不知道我安装的cuda9.0.176与cudnn 7.0.5为什么会不适配。尝试了各种cuda9.0对应的cudnn,均失败,遂放弃根治的想法。

解决办法:添加一行代码,禁用cudnn,这一办法会降低GPU计算速度。

torch.backends.cudnn.enabled = False

(4)解决完(3)的问题后,出现新的报错:

RuntimeError: cublas runtime error : the GPU program failed to execute at /pytorch/torch/lib/THC/THCBlas.cu:246

两个可能导致错误的原因:

  • CUDA Toolkit, CUDA Driver版本不匹配前者就是在终端运行nvcc -V显示的cuda版本,后者是使用nvidia-smi命令显示的cuda版本。一般来说,CUDA Driver的版本可以高于CUDA Toolkit,但实际上只有当这两者完全一致时,才会最好。
  • 30系列的显卡可能不适配cuda11以下的版本。

因此,我尝试着升级了多种cuda版本,并安装与之对应的CUDNN。这里附上多版本CUDA切换方法与CUDNN卸载方法:

安装多版本 cuda ,多版本之间切换_cuda 切换版本-CSDN博客

Ubuntu——卸载cuda、cudnn的方法_ubuntu卸载cuda-CSDN博客

  • cuda10.0、cuda10.1:报错不变
  • cuda11.0:运行Install.sh时出现新的问题,推测该项目与CUDA11以上版本不兼容

无果,于是开始降级NVIDIA显卡驱动。

跟着某篇博客,一步步进行着,突然Ubuntu启动不了了。

经多番尝试后发现,显卡驱动卸载后,由于主板不带核显,图形化界面自然显示不了

于是开始跟着别人的博客安装驱动。好吧,问题又来了

查询可用驱动时不显示结果,如下博客操作后

输入ubuntu-drivers devices 不返回任何结果同时安装显卡驱动-CSDN博客

网络不太行,要下载20小时~~~~

于是,通过其他电脑在NVIDIA官网上下载了一个cuda9.0对应的驱动,通过移动盘安装。

Ubuntu加载移动硬盘_ubuntu读取移动硬盘-CSDN博客

结果发现可能由于Ubuntu20.04系统内核比较新,兼容不了太老的显卡驱动,遂放弃。

再一想到该项目是在Ubuntu14的环境下发布的,决定使用另一台2060显卡所在主机安装Ubuntu16进行尝试。

2.4 Ubuntu16.04LTS——双系统(Win!!)

接着就是配置了最终可运行环境,依旧遇到:
RuntimeError: CUDNN_STATUS_EXECUTION_FAILED

禁用CUDNN后,不再遇到问题。

(其实貌似20系列显卡也对CUDA10以下版本不太兼容,最多9.2,但在我的电脑上cuda9.0能顺利跑通)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值