windows10下Flownet2网络配置心酸历程(亲测可用)

最近打算研究一下光流神经网络Flownet2,特此记录一下。

由于本人不善操作linux系统,所以采用windows实现。刚开始拿到NVIDIA下的flownet2-pytorch代码时,十分懵逼,根本不知道如何下手,痛苦了好久。现在安装-编译成功后特此记录一下,供大家交流学习。

**核心点:
1.环境搭建
2.编译错误解决
只要心里明白需要解决的是这两部分,那么过程就清晰了。

一、Flownet2环境搭建
我所使用的环境如下:(请严格按照此顺序下载)
VS2015 with update3
anaconda3
CUDA10.0
cdNN 7.6.5.32
torch1.0.1
torchvision 0.2.1
python版本我用的是python3.6.13
以上环境具体安装教程请自行解决。
二、代码编译
下载flownet2-pytorch代码(下载地址)
使用vs-code打开代码文件,win+r打开cmd终端,cd进入networks下的channelnorm_package路径,我的路径是 E:\XM\CNN\flownet2-pytorch-master\networks\channelnorm_package
示例如下:
windows10下Flownet2网络配置心酸历程(亲测可用)_第1张图片
打开当前文件夹下的setup.py代码,修改如下参数:
1.修改cxx_args = [’-std=c++14’] ,原来代码是 c++11 ,也可以改为别的,具体根据自己vs版本而定。
2.修改自己显卡算力,我的是3.5。至于如何查看自己显卡算力,请查看我的博客。
示例如下:
windows10下Flownet2网络配置心酸历程(亲测可用)_第2张图片

然后在终端输入python setup.py install
windows10下Flownet2网络配置心酸历程(亲测可用)_第3张图片
正常情况下(即没有古怪的错误时,但是我就有很多错误,无语)会遇到如下错误:
windows10下Flownet2网络配置心酸历程(亲测可用)_第4张图片
此时你需要打开:torch/torch.h 然后把warning那段话删掉,这是因为Flownet2里面使用了旧版的torch.h头文件,但他在更新之后没有改成extension.h,这里问题不大,warning删掉就行。

然后重新执行,如无意外你又会出现这样的错误:
windows10下Flownet2网络配置心酸历程(亲测可用)_第5张图片
此时你需要找到THCNumerics.cuh文件,一般来说在这个目录:’…\Lib\site-packages\torch\lib\include\THC\THCNumerics.cuh’,将该文件下的这段代码注释掉(大概在175-180行)
windows10下Flownet2网络配置心酸历程(亲测可用)_第6张图片
注:注释使用//,这里不像c++一样字体颜色会变化,只要用符合语法的符号注释掉即可,不用担心。

继续重新执行,编译通过,yes!
windows10下Flownet2网络配置心酸历程(亲测可用)_第7张图片
编译通过会在当前路径生成这三个文件,注意观察。
windows10下Flownet2网络配置心酸历程(亲测可用)_第8张图片
接下来,networks下的其他两个文件也执行相同的操作(即修改setup.py,然后cd到其路径执行python setup.py install ,最终完成编译)

至此,编译成功。

三、如果顺利的话,只会存在上述问题,解决方案按我的步骤来就行,如果遇到其他的问题就需要自己思考或百度解决了,这里我简单说下我自己的奇怪问题。
1.如果遇到无法导入torch的问题,应该是自己下载的torch版本问题,可以考虑卸载重装以下。
2.如果遇到无法解析的外部命令,应该是编译器链接问题,这个具体如何解决我也没办法详细说,不好描述。
3.其他问题,请考虑版本问题,请严格按照我的版本来实现,我也是试了好多遍才成功的,卸载重试了好几次。
我的具体问题没有截图,抱歉,如果有问题欢迎大家交流。

你可能感兴趣的:(网络,pytorch,深度学习)