Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe

栏目: Python · 发布时间: 5年前

内容简介:为conda设置这时目录”C:\Users\用户名”下的.condarc文件内容变为如果有default可以删除。
  • 安装 VS2015 ,到官网地址 older-download 下载安装
  • 安装 Matlab ,笔者安装的是Matlab2017b
  • 安装 Anaconda3-4.4.0-Windows-x86_64.exe (到 anaconda archive 下载),笔者曾下载并安装了最新版的Anaconda3-2018.12-Windows-x86_64.exe,在使用conda安装包时发生SSLError错误,据 github issue 所说是最新版win10和最新版anaconda有冲突,4.4版本没有这个问题,4.4对应的 python版本为3.6
  • 安装 CUDA 10.0 ,到 cuda-toolkit-archive 根据自己的平台下载安装,安装好后可以看到环境变量多了CUDA_PATH、CUDA_PATH_10_0等,以及path中也多了bin和libnvvp路径
  • 安装 CUDNN 7.4 ,到 cudnn-archive 根据CUDA版本下载安装,下载下来后将其中的所有文件(bin、include、lib文件夹)拷贝到cuda的目录,合并对应的文件夹

设置conda国内镜像源

为conda设置 国内镜像源 ,默认国外的镜像源会比较慢。

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文件内容变为

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可以删除。

conda 深度学习环境

# 创建conda环境
conda create -n py36DL python=3.6
# 更新pip
pip install --upgrade pip
# 若报错
easy_install pip
# 激活环境
activate py36DL
# 安装ipython,后面用于测试库是否安装成功
conda install ipython

tensorflow、mxnet、pytorch安装

注意:下面的所有安装都是在激活了的py36DL环境中进行的。

tensorflow

笔者通过 官网 、通过conda、通过豆瓣镜像源安装tensorflow在import时都会失败,报“ImportError: DLL load failed: 找不到指定的模块”的错误,最终成功的安装方式如下:

fo40225/tensorflow-windows-wheel 找到对应的版本下载whl,笔者下载的是 tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl 的avx2版本(有两个压缩包,解压出whl文件),如果安装不成功的话可以试试sse2版本,这里神奇的地方是该whl文件应该是在cuda100cudnn73avx2下编译的,但是我的环境是cuda100和cudnn74,竟然也是可以安装成功的, 笔者久经磨难,喜极而泣

下载下来后通过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

mxnet安装比较简单,这里直接通过豆瓣镜像源用pip安装。

pip install -i https://pypi.doubanio.com/simple/ mxnet-cu100

# 进入ipython验证
import mxnet
mxnet.__version__
# '1.3.1'

mxnet的 官网 显示支持到cu92,实际已经有了cu100版本。

pytorch

pytorch的安装也很简单,在 官网 ,选择pip、 Python 3.6、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'

Caffe安装

笔者使用的是 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%

立即生效,不用重启系统。

配置文件修改

主要修改项如下:

  • UseCuDNN :true
  • CudaVersion :10.0
  • PythonSupport :true
  • MatlabSupport :true
  • CudaArchitecture :compute_50,sm_50;compute_52,sm_52;compute_60,sm_60;compute_61,sm_61;compute_70,sm_70;compute_75,sm_75;
  • CuDnnPath :C:\Program Files\NVIDIA GPU Computing Toolkit\CUDNN-100。需替换为你的cudnn7.4的路径
  • PythonDir :D:\Anaconda3\envs\py36DL\。替换为你的python路径
  • MatlabDir :D:\Program Files\MATLAB\R2017b\。替换为你的matlab路径

根据 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),点击确定,生成项目。

运行时错误

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;
}

以上所述就是小编给大家介绍的《Win10+RTX2080深度学习环境搭建:tensorflow、mxnet、pytorch、caffe》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Sovereign Individual

The Sovereign Individual

James Dale Davidson、William Rees-Mogg / Free Press / 1999-08-26 / USD 16.00

Two renowned investment advisors and authors of the bestseller The Great Reckoning bring to light both currents of disaster and the potential for prosperity and renewal in the face of radical changes ......一起来看看 《The Sovereign Individual》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

随机密码生成器
随机密码生成器

多种字符组合密码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码