目录html
GPU为RTX2080,系统为更新到最新版本的Win10。python
为conda设置国内镜像源,默认国外的镜像源会比较慢。git
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda config --set show_channel_urls yes
这时目录"C:\Users\用户名"下的.condarc文件内容变为github
channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ show_channel_urls: true
若是有default能够删除。apache
# 建立conda环境 conda create -n py36DL python=3.6 # 更新pip pip install --upgrade pip # 若报错 easy_install pip # 激活环境 activate py36DL # 安装ipython,后面用于测试库是否安装成功 conda install ipython
注意:下面的全部安装都是在激活了的py36DL环境中进行的。windows
笔者经过官网、经过conda、经过豆瓣镜像源安装tensorflow在import时都会失败,报“ImportError: DLL load failed: 找不到指定的模块”的错误,最终成功的安装方式以下:bash
到fo40225/tensorflow-windows-wheel找到对应的版本下载whl,笔者下载的是tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl的avx2版本(有两个压缩包,解压出whl文件),若是安装不成功的话能够试试sse2版本,这里神奇的地方是该whl文件应该是在cuda100cudnn73avx2下编译的,可是个人环境是cuda100和cudnn74,居然也是能够安装成功的,笔者久经磨难,喜极而泣。app
下载下来后经过pip安装函数
# 切换到whl目录 pip install tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl # 进入ipython验证 import tensorflow as tf tf.VERSION # '1.12.0'
mxnet安装比较简单,这里直接经过豆瓣镜像源用pip安装。学习
pip install -i https://pypi.doubanio.com/simple/ mxnet-cu100 # 进入ipython验证 import mxnet mxnet.__version__ # '1.3.1'
mxnet的官网显示支持到cu92,实际已经有了cu100版本。
pytorch的安装也很简单,在官网,选择pip、Python3.六、CUDA10.0,显示
pip3 install https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-win_amd64.whl pip3 install torchvision
这里先把连接https://download.pytorch.org/whl/cu100/torch-1.0.0-cp36-cp36m-win_amd64.whl拷贝到IDM下载whl文件,而后离线安装
# 切换到whl路径 pip install torch-1.0.0-cp36-cp36m-win_amd64.whl pip install torchvision #进入ipython验证 import torch torch.__version # '1.0.0'
笔者使用的是happynear/caffe-windows版本的caffe,下载解压,同时下载第三方库拷贝到项目windows/thirdparty/文件夹,Copy .\windows\CommonSettings.props.example to .\windows\CommonSettings.props,打开Caffe.sln,根据github上的README修改配置文件.\windows\CommonSettings.props,编译成功后再参考README配置python和matlab,注意使用时须要将thirdparty/bin目录添加到path环境变量,不然运行时会报错。
修改环境变量后以管理员运行CMD,运行
echo %path%
当即生效,不用重启系统。
主要修改项以下:
根据wiki,RTX2080的Compute capability (version)为7.5,目前只有CUDA10.0支持7.5,所以CudaArchitecture中若是加入compute_75,sm_75;的话须要CUDA为10.0,不然会报错。若是装的是CUDA9.2,在不加compute_75,sm_75;的状况下也是能够编译成功的。
将警告视为错误
在报错的工程上右键,选择 属性→C/C++→将警告视为错误,改成否,生成项目。要是某个项目文件报这个错的话,也能够在相应文件上右键,进行一样操做。
The Windows SDK version 10.0.10586.0 was not found
在报错的工程上右键,选择 重定SDK版本目标,选择 目标平台版本(默认就一项 8.1),点击肯定,生成项目。
Check failed: error == cudaSuccess (74 vs. 0) misaligned address
根据cuDNN bug in Caffe with "group" in conv layer (misaligned address) #5729,在 cudnn_conv_layer.cpp 文件void CuDNNConvolutionLayer<Dtype>::Reshape
函数size_t total_max_workspace = ...
代码前加入对齐代码以下
this is a bug of Caffe, I solved it by modifying cudnn_conv_layer.cpp and aligning the address to be multiples of 32.
You can insert tow lines of code before size_t total_max_workspace = ... as follow:
size_t m=32; max_workspace = (max_workspace + m-1) / m * m; //align address to be multiples of m
BTW, I think there is another bug, these lines should be put in else block:
for (int g = 0; g < (this->group_ * CUDNN_STREAMS_PER_GROUP); g++) { workspace[g] = reinterpret_cast<char *>(workspaceData)+g*max_workspace; }