GPU为RTX2080,系统为更新到最新版本的Win10

准备工作

  • 安装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、Python3.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的更多相关文章

  1. Ubuntu深度学习环境搭建 tensorflow+pytorch

    目前电脑配置:Ubuntu 16.04 + GTX1080显卡 配置深度学习环境,利用清华源安装一个miniconda环境是非常好的选择.尤其是今天发现conda install -c menpo o ...

  2. 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

    目录 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0 Reference 硬件说明: 软件准备: 1. 安装Ubuntu ...

  3. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  4. [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

    这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...

  5. linux系统下深度学习环境搭建和使用

    作为一个AI工程师,对Linux的一些技能的掌握也能从一定层面反应工程师的资深水平. 要求1:基于SSH的远程访问(本篇文章) 能用一台笔记本电脑,远程登陆一台linux服务器 能随时使用笔记本电脑启 ...

  6. 深度学习环境搭建部署(DeepLearning 神经网络)

    工作环境 系统:Ubuntu LTS 显卡:GPU NVIDIA驱动:410.93 CUDA:10.0 Python:.x CUDA以及NVIDIA驱动安装,详见https://www.cnblogs ...

  7. (通用)深度学习环境搭建:tensorflow安装教程及常见错误解决

    区别于其他入门教程的"手把手式",本文更强调"因"而非"果".我之所以加上"通用"字样,是因为在你了解了这个开发环境之后 ...

  8. 深度学习环境搭建(CUDA9.0 + cudnn-9.0-linux-x64-v7 + tensorflow_gpu-1.8.0 + keras)

    关于计算机的硬件配置说明 推荐配置 如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置: 主板:X299型号或Z270型号 CPU: i7-6950X或i7-7700K ...

  9. 深度学习环境搭建常用网址、conda/pip命令行整理(pytorch、paddlepaddle等环境搭建)

    前言:最近研究深度学习,安装了好多环境,记录一下,方便后续查阅. 1. Anaconda软件安装 1.1 Anaconda Anaconda是一个用于科学计算的Python发行版,支持Linux.Ma ...

随机推荐

  1. memcached usage

    https://github.com/ragnor/simple-spring-memcached/wiki/Getting-Started 1) maven <dependency> & ...

  2. 如何在ES5与ES6环境下处理函数默认参数

    函数默认值是一个很提高鲁棒性的东西(就是让程序更健壮)MDN关于函数默认参数的描述:函数默认参数允许在没有值或undefined被传入时使用默认形参. ES5 使用逻辑或||来实现 众所周知,在ES5 ...

  3. Effective C++ 读书笔记(13-32)

    条款一十三:以对象管理资源 1.把资源放进对象内,我们便可依赖C++的“析构函数自动调用机制“确保资源被释放. 2.auto_ptr是个”类指针对象“,也就是所谓”智能指针“,其析构函数自动对其所指对 ...

  4. Python--Seaborn绘图和可视化--基本语法

    博客地址:http://www.cnblogs.com/yudanqu/ Seaborn是对matplotlib的extend,是一个数据可视化库,提供更高级的API封装,在应用中更加的方便灵活.下面 ...

  5. Net Core 生成图形验证码

    1. NetCore ZKweb       在我第一次绘制图形验证码时是采用的ZKweb的绘制库,奉上代码参考      public byte[] GetVerifyCode(out string ...

  6. C Primer Plus 第6章 C控制语句:循环 编程练习

    记录下写的最后几题. 14. #include <stdio.h> int main() { double value[8]; double value2[8]; int index; f ...

  7. 【转】利用 three.js 开发微信小游戏的尝试

    前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧. 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏.我在查阅各 ...

  8. C#学习(一):委托和事件

    预备知识 在学习委托和事件之前,我们需要知道的是,很多程序都有一个共同的需求,即当一个特定的程序事件发生时,程序的其他部分可以得到该事件已经发生的通知. 而发布者/订阅者模式可以满足这种需求.简单来说 ...

  9. 设置ActiveMQ的访问密码

    1.设置ActiveMQ的访问密码,以提高ActiveMQ的安全性 2.在ActiveMQ的conf目录的activemq.xml中添加账号密码 2.1  添加的代码如下 <!-- 添加访问Ac ...

  10. @SpringBootApplication注解理解

    @SpringBootApplication包含三个有用的注解,包括 @SpringBootConfiguration:看源码其实就是@Configuration,表示当前类是一个配置类,就像xml配 ...