【深度学习】win10+Theano+GPU加速配置

最近在导师介绍下,自学台湾大学Hungyi Lee于2015年录制的Machine Learning and having it deep and structured课程,里面完成作业要求使用theano, 因此必须配置一发python下的theano。
(GPU加速能有效加快代码的运行速度,可以说是磨刀不误砍柴工。)

本机环境

【笔记本】:Thinkpad T470 Signature Edition
【CPU】:Intel i5-7200U
【内存】:8G
【显卡】:Intel HD 620 + NVIDIA GeForce 940MX
【操作系统】:windows10 Build 15063
【已有环境】:Python 2.7+Anaconda2-64bit(用于conda install以及依赖包numpy等);MS Visual Studio 2015(已含C++组件)

参考博客

翻阅了很多博客,精选了这三篇比较靠谱的,鉴于每台机器的配置和环境都有差异,可以将这三篇对比着看~

【最靠谱的博客之首,强烈推荐!】
windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA… - 简书

【最靠谱的博客之二,列出了安装时可能遇到的坑】
深度学习(二)theano环境搭建 - hjimce的专栏 - CSDN博客

【最靠谱的博客之三,比较精炼】
【python深度学习】theano环境搭建/安装

遇到的问题

安装时报错

走了很多弯路,总结了必须要检查的几点,大家可以在上面博客里的具体步骤里找对应的解决方案。

  • 检查点1:所有依赖包的安装、”.theanorc.txt”的设置
  • 检查点2:CUDA Toolkit是否支持本机的NIVIDA显卡,以及本机显卡驱动的更新
  • 检查点3:VS 2015重新编译CUDA samples,保证没有错误

导入theano包时报错

  • 上面的博客里都有提到一些常见的错误,也给出了解决方案,主要还是安装没有彻底完成,尤其是在配置CUDA时候要确保每一步顺利。
  • nvcc fatal : Cannot find compiler 'cl.exe' in PATH
    • 原因是没有完全配置好.theanorc.txt文件中VC的bin目录,解决方法是加入下述文本
    • [nvcc]
      fastmath=True
      flags =-LD:\ProgramData\Anaconda2\libs
      compiler_bindir=D:\Program Files (x86)\Visual Studio\VC\bin

运行时报错

  • 用GPU进行浮点数运算时,提示数据类型无法转换到float32,原因可能是在.theanorc.txt中指明了floatX = float32,导致了64位浮点运算舍弃的问题

    • Cannot convert Type TensorType(float64, matrix) into Type TensorType(float32, matrix)
    • 解决方案:直接使用CPU加速,或在变量声明时规定dtype='float32'
  • 版本兼容问题

    • “WARNING (theano.sandbox.cuda): The cuda backend is deprecated and will be removed in the next release (v0.10). Please switch to the gpuarray backend. ”
    • 解决方案:将theano的版本从0.9.0下降到0.8.2,详细步骤见Theano报错:WARNING (theano.sandbox.cuda)

你可能感兴趣的:(深度学习)