为了在window上使用chainer-fast-neuralstyle来进行图像的风格化处理。
因在网上看到说顺利试验了的,故进行在window7上进行了chainer的安装、没想到一步一个坑。
可能个人有些知识了解不够,如确有成功者也请帮忙指正。
根据chainer的依赖包的关系,先整理了这些包,并安装先后次序进行安装的。
chainer依赖cupy,cupy则依赖nccl,fastrlock。
安装手顺如下:
为了安装cupy需先安装nccl,fastrlock
1、fastrlock安装简单。
下载源码包,后python setup.py install即可。
2、接下来再安装nccl,这个很麻烦。这个安装包需要编译。
2.1先下载nccl。
注意根据cuda的版本来下载。cuda8.0适配nccl1,cuda9.0适配nccl2。
因个人机器是cuda8.0,所有下载nccl1,地址是。
2.2然后为了编译nccl,需要下载minGW。
2.3之后编译nccl,因为编译用make,故下载mingw,在环境变量PATH中加入D:\minGW\bin路径。
但编译中的错误发现都是linux的脚本ls,cut等不识别。
果断放弃。
到此为止,安装依赖nccl的cupy安装失败了。
接下来尝试编译只依赖cuda的cupy安装(cupy的2种方式之一,需要把系统变量CFLAGS去掉)
3、接着安装cupy,只依赖cuda的情况。(前提是CUDA,cuDNN已经安装完成)
3.1确保CUDA-PATH系统变量已经设定ok了。即系统变量中要有CUDA_PATH。
要先把系统变量path中增加如下路径。否则安装cupy中会出现编译问题。
在PATH中加入
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64;
C:\Program Files\NVIDIA Corporation\NvToolsExt\bin\x64;
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
3.2执行脚本,python setup.py install。
3.2.1有的会出现如下的问题:
LINK : fatal error LNK1158: 无法运行“rc.exe”
解决办法是:把rc.exe rcdll.dll从这个Visual Studio 14.0\VC\bin目录下。
(win7系统时)C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin
(win8系统时)C:\Program Files (x86)\Windows Kits\8.0\bin\x86
(win10系统时)C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64
拷贝到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
3.2.2接着会出现的问题是无法找到malloc.h,crtdbg.h,locale.h,share.h等文件。
解决办法是从其他pc的win7系统中找到后、把这些文件拷贝到C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include下。
重新install、很多错误已经没有了,但又出现了如下问题,
core.cpp
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\corecrt_wio.h(153
): error C2995: “errno_t _wmktemp_s(wchar_t (&)[_Size]) throw()”: 函数模板已经定义
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\io.h(262): note:
参见“_wmktemp_s”的声明
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE\xlocale(341): war
ning C4530: 使用了 C++ 异常处理程序,但未启用展开语义。请指定 /EHsc
cupy\core\core.cpp(38502): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\
amd64\\cl.exe' failed with exit status 2
这个问题没有找到解决的办法,暂时不管。
据说chainer也能在cpu下运行。故接着安装chainer。
4、安装chainer
没想到能顺利安装完成。
运行时出现如下问题:
File "C:\ProgramData\Anaconda3\lib\site-packages\chainer-4.0.0b4-py3.6.egg\
ner\utils\argument.py", line 4, in check_unexpected_kwargs
raise ValueError(message)
ValueError: test argument is not supported anymore. Use chainer.using_config
这个也暂时无解。
这个过程,暂且记录,以便备忘。说不好过一段时间nccl能支持windows了呢,留个念想吧。
风格
风格2