Flownet2-pytorch windows10下安装过程

最近本人在跑Flownet2代码,从安装到运行遇到了蛮多问题,记录一下安装过程。


一、工具篇

1. Flownet2-pytorch [1]

2. VS2015 with update3 [2]

3. CUDA 10.0 (本人下载的是 cuda_10.0.130_411.31_win10 ) 

4.  对应于 cuda10.0 版本的 cudNN (本人下载的是cuDNN v7.6.5)

5. 配置Flownet2的虚拟环境,包括:CUDA 10.0 版本的 torch1.0.1, torchvision 0.2.1等


二、安装VS2015 with update3  [3]

1. 下载网盘链接[2]中的文件,打开后的文件如下:

打开后的文件

2. 打开里面的packages文件,在该文件夹里找到EspC文件,把它拷贝一份到其他地方(不在这个镜像文件夹就行)

EspC文件

3. 打开EspC文件,点击安装最后一个程序:

安装最后一个程序

4. 安装完毕后返回镜像文件,点击安装VS应用程序:

安装VS应用程序

5. 初始化安装程序

初始化安装程序

6. 接下来选择安装位置以及安装方式

选择安装位置以及安装方式

7. 选择要安装的组件

选择要安装的组件

8. 点击下一步,点击安装

安装过程

9. 安装完成,选择环境配置(选择常规)

 安装完成

10. 进入

界面

三、安装CUDA 10.0 (本人下载的是 cuda_10.0.130_411.31_win10 )[4]

1. 下载CUDA 10.0,可以参考 [4] 的下载步骤,在官网找到cuda_10.0.130_411.31_win10这个版本[5]。

2. 双击cuda_10.0.130_411.31_win10.exe之后会提示解压到一个目录,这里不要直接点确定,会解压到C盘占用系统盘的资源,可以随意选一个目录解压,安装完成后删除!

解压到一个目录
安装过程

3. 然后会自动跳出来安装界面,系统检查界面:

系统检查界面

4. 许可协议,选同意并继续:

许可协议

5. 安装选项选自定义,进入下一步:

安装选项

6. 选择驱动程序组件,全选,进入下一步:

选择驱动程序组件

7. 选择安装位置,这里我就选择了默认位置,因为之后设置环境变量,就可以直接参考 [4] 了,不然又找不到路径

安装位置

8. 安装过程

安装过程
安装过程

9. 安装结束

安装结束
安装结束 

10. 打开命令窗口Win+R,输入以下命令:

输入命

11.  按回车键之后,再输入以下命令:

输入命令

12. 显示红框中的内容,就说明安装成功了

显示红框中的内容

四、安装对应于 cuda10.0 版本的 cudNN [4]

1. 安装完成之后,还需要下载cudNN,这里需要在官网[5]登录并填写问卷才能下载,到下图所示的下载页面去下载

2. 将下载并解压后的所有文件放到CUDA10安装目录相应文件夹下即可

文件放到CUDA10安装目录

3. 设置环境变量,计算机上点右键,打开属性->高级系统设置->环境变量,可以看到系统中多了CUDA_PATH和CUDA_PATH_V10_0两个环境变量

CUDA_PATH和CUDA_PATH_V10_0两个环境变量

4. 接下来,还要在系统中新建以添加以下几个环境变量,如图红框所示:

(1)CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0

(2)CUDA_LIB_PATH = %CUDA_PATH%\lib\x64

(3)CUDA_BIN_PATH = %CUDA_PATH%\bin

(4)CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64

(5)CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

添加环境变量

5. 在系统变量 PATH 的末尾添加:

(1)%CUDA_LIB_PATH%

(2)%CUDA_BIN_PATH%

(3)%CUDA_SDK_LIB_PATH%

(4)%CUDA_SDK_BIN_PATH%

(5)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64

(6)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin

(7)C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\common\lib\x64

(8)C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.0\bin\win64

系统变量 PATH 的末尾添加

6. 配置完成后,我们可以验证是否配置成功,主要使用CUDA内置的deviceQuery.exe 和 bandwithTest.exe:首先win+R启动cmd,cd到安装目录下的 ...\extras\demo_suite,然后分别执行bandwidthTest.exe和deviceQuery.exe

执行bandwidthTest.exe
执行deviceQuery.exe

五、 配置Flownet2的虚拟环境

1. 进入Pychram,打开Flownet2项目

打开Flownet2项

2. 创建并激活Flownet2虚拟环境

激活Flownet2虚拟环境

3. 输入以下命令,安装这些包:

(1) pip install torch==1.0.1 -f https://download.pytorch.org/whl/torch_stable.html

(2)pip install torchvision==0.2.1 -f https://download.pytorch.org/whl/torch_stable.html

(3)pip install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple

(4)pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple

(5)pip install scikit-image -i https://pypi.tuna.tsinghua.edu.cn/simple

(6)pip install tensorboardX -i https://pypi.tuna.tsinghua.edu.cn/simple

(7)pip install colorama -i https://pypi.tuna.tsinghua.edu.cn/simple

(8)pip install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple

(9)pip install setproctitle -i https://pypi.tuna.tsinghua.edu.cn/simple

(10)pip install pytz -i https://pypi.tuna.tsinghua.edu.cn/simple

以下是我的安装包

4. 输入以下命令,分别进入到networks文件夹中的这三个文件夹

networks文件夹中的这三个文件夹
输入该命令进入到networks.channelnorm_package文件夹

5. 再输入该命令:python setup.py install

(1)会出现以下报错:

这时参考[6]的修改说明,打开:torch/torch.h,然后把warning那段话删掉,这是因为Flownet2里面使用了旧版的torch.h头文件,但他在更新之后没有改成extension.h,这里问题不大,warning删掉就行

(2)再输入该命令:python setup.py install,会遇到类似如下的问题:error: more than one operator "==" matches these operands,这时,找到THCNumerics.cuh文件,一般来说在这个目录:'...\Lib\site-packages\torch\lib\include\THC\THCNumerics.cuh',将以下的代码屏蔽即可。

(3)再输入该命令:python setup.py install,出现以下内容,说明该文件编译成功了

6. 继续进入其他两个文件夹correlation_package和resample2d_package下,再输入该命令:python setup.py install,出现了以上(3)中相同的内容,说明该文件编译成功了。

7. 进入Flownet2文件,将main.py中的这两行代码屏蔽

同时将该文件从Flownet2文件夹中删除

8. 输入下面的命令后

python main.py --batch_size 1 --model FlowNet2 --optimizer=Adam --optimizer_lr=1e-4 --loss=MultiScale --loss_norm=L1 --loss_numScales=5 --loss_startScale=4 --optimizer_lr=1e-4 --crop_size 384 512 --training_dataset FlyingChairs --training_dataset_root D:/project/FlyingChairs/FlyingChairs_release/data/ --validation_dataset FlyingChairs --validation_dataset_root D:/project/FlyingChairs/FlyingChairs_release/data/

其中D:/project/FlyingChairs/FlyingChairs_release/data/D:/project/FlyingChairs/FlyingChairs_release/data/为自己数据下的路径。

9. 计算机运行如下,说明代码运行成功了~

本人的电脑配置也是太low了,只能将batch_size设为1,才能跑起来,后期打算用服务器跑一波~~~


参考

[1] GitHub - NVIDIA/flownet2-pytorch: Pytorch implementation of FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks

[2] 链接:https://pan.baidu.com/s/1CCHzV0lszjhRrevFnC2h0Q,提取码:rblw

[3] Visual Studio Professional 2015 (with Update 3) 安装教程_mycurry的博客-CSDN博客_vs2015update3安装教程

[4] 超详细的win10安装对应版本的CUDA和CUDNN !亲测有效! - 程序员大本营

[5] NVIDIA cuDNN | NVIDIA Developer

[6] Flownet2 NVIDIA pytorch最新安装教程 有效的避坑教程_晋图的非正常人类胡言乱语集合-CSDN博客

你可能感兴趣的:(Flownet2-pytorch windows10下安装过程)