Win7配置Theano环境,附Ubuntu+TensorFlow安装

可参考Windows安装Theano官方教程:
http://deeplearning.net/software/theano/install_windows.html#install-windows
但是内容太多,不看也罢,很多软件已经不需要配置,或者是冗余的。如果你恰好和我一样都是Windows系统,Nvidia带GPU显卡,且你安装的时间离现在2016/02/03的日子还比较近,那么按照下面的顺序装机吧:
1. 安装Nvidia显卡驱动,官网:
http://www.nvidia.cn/Download/index.aspx?lang=cn
2. 安装Visual_Studio:
https://www.visualstudio.com/
3. 安装JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html
4. 安装CUDA 使用GPU加速(选择自己的配置,如Windows – x86_64-7-local)
https://developer.nvidia.com/cuda-downloads
5. 安装ANACOND可以免去安装很多Python库的麻烦:
https://www.continuum.io/downloads#_windows
6. Python IDE: PyCharm:
http://www.jetbrains.com/pycharm/download/#section=windows
7. 配置G++
官网给的建议是安装TDM-GCC(http://tdm-gcc.tdragon.net/),但是我安装之后出现g++加载错误,不确定是不是版本不匹配的问题。在参考博文(http://blog.sina.com.cn/s/blog_96b836170102vq22.html)中提到可以安装MinGW解决g++问题,解决方案为:在cmd输入:conda install mingw libpython,MinGW等文件夹会自动装到anaconda下面。
8. 安装Theano
https://github.com/Theano/Theano/archive/master.zip
解压,进入目录在命令行中执行“python setup.py develop
9. 配置GPU和G++编译环境:创建文件C:\Users\jacoxu\.theanorc,内容如下:

  1. [global]   
  2. device = gpu   
  3. floatX = float32   
  4.   
  5. [nvcc]   
  6. compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin   
  7. cxxflags = -IC:\Anaconda2\MinGW  

重启电脑

10. 测试
import theano
==输出以下信息=====
Using gpu device 0: GeForce GT 970 (CNMeM is disabled)
注意:第一次使用一些库的时候,theano会自己创建库并打印一些信息,第二次再使用时则不会出现。另外打印信息中出现(CNMeM is disabled),有些用户则没有此信息或者是(CNMeM is enabled),目前尚未确定此信息为何意,但是并不影响Theano和GPU的正常使用。
根据官网给出的示例程序测试当前环境下是否可以正常使用GPU:
http://deeplearning.net/software/theano/tutorial/using_gpu.html#using-gpu

  1. from theano import function, config, shared, sandbox   
  2. import theano.tensor as T   
  3. import numpy   
  4. import time  
  5.   
  6. vlen = 10 * 30 * 768 # 10 x #cores x # threads per core   
  7. iters = 1000   
  8.   
  9. rng = numpy.random.RandomState(22)   
  10. x = shared(numpy.asarray(rng.rand(vlen), config.floatX))   
  11. f = function([], T.exp(x))   
  12. print(f.maker.fgraph.toposort())   
  13. t0 = time.time()   
  14. for i in xrange(iters):   
  15. r = f()   
  16. t1 = time.time()   
  17. print(“Looping %d times took %f seconds” % (iters, t1 - t0))   
  18. print(“Result is %s” % (r,))   
  19. if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):   
  20. print(‘Used the cpu’)   
  21. else:   
  22. print(‘Used the gpu’)  

如果GPU正常使用,则应该输出如下:
D:\>python check1.py
Using gpu device 0: GeForce GTX 970 (CNMeM is disabled)
[GpuElemwise{exp,no_inplace}(), HostFromGpu(Gp
uElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.858000 seconds
Result is [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761
1.62323296]
Used the gpu

大功告成~!如有问题请留言,祝各位好运!Cross fingers~~

===【注意】:后面附带Ubuntu双系统安装和Ubuntu环境下Theano+TensorFlow配置===

由于类似TensorFlow等工具在Windows下使用比较麻烦,我们安装Win7和Ubuntu16.04.1的双系统,双系统安装教程可直接参考 http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html

接下来开始安装GPU相关软件和驱动,此处参考[http://www.linuxidc.com/Linux/2016-08/134145.htm]
1. 更新NVIDIA显卡驱动
在系统设置->软件和更新->附加驱动 中选择 使用NVDIA binary driver – version 并点击 应用更改 进行驱动更新,完毕后重启电脑。

2. 安装Anaconda
登录Anaconda官网下载对应的安装包[https://www.continuum.io/downloads],如Anaconda2-4.1.1-Linux-x86_64.sh,然后执行

bash Anaconda2-4.1.1-Linux-x86_64.sh 进行安装,并重启电脑。

3. 安装Cuda7.5
输入指令 sudo apt-get install nvidia-cuda-toolkit 安装Cuda7.5。这里需要下载600多M的文件,解压完之后有1.3G左右,因而需要等待时间较长。安装完成之后重启电脑,然后通过 nvcc -V 查看当前Cuda版本号

4. 安装theano
Anaconda安装theano可用conda直接安装
conda install theano

5. 配置.theanorc

生成文件 sudo gedit ~/.theanorc(注意不要漏掉theano前面的一个点)并复制如下内容,然后保存,其中cuda一项的内容为cuda所安装的位置。
[global]
floatX=float32
device=gpu
[cuda]
root=/usr/lib/nvidia-cuda-toolkit
[nvcc]
flags=-D_FORCE_INLINES

至此theano的安装及配置已经完成,在python里输入import theano,显示使用的GPU设备表示GPU配置成功。

6. Python IDE: PyCharm
如果是界面版Ubuntu的话,可以考虑安装IDE PyCharm:http://www.jetbrains.com/pycharm/download/

首先在终端中进入Pycharm的下载目录,输入命令 tar xfz pycharm-*.tar.gz,将Pycharm文件夹解压到当前目录,然后进入该目录运行bin文件夹下的Pycharm.sh文件。

【注意 – Ubuntu 16.04下PyCharm无法输入中文的问题】:
原因是与PyCharm 的程序应用环境有关系,可以在 pycharm.sh 配置文件中的开头加入下面 3 个选项:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx

重启PyCharm即可。

7. 安装TensorFlow
在Linux上安装TensorFlow比较简单:
sudo pip install –upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.9.0-cp27-none-linux_x86_64.whl

然后在Python下尝试import tensorflow,看是否可以正常加载模块。 如正常则可以直接着手编写tensorflow的代码,如果报错说Unable to load cuDNN DSO,则需要更新cuDNN的版本,对于tensorflow0.8和0.9 需要cuDNN > v5版本,下载地址:https://developer.nvidia.com/rdp/cudnn-download,需要先进行注册再找到合适的版本,例如我下载的是[cuDNN v5.1 Library for Linux]
tar xzf cudnn-7.5-linux-x64-v5.1.tgz
sudo cp cudnn-7.5-linux-x64-v5.1/include/cudnn.h /usr/local/include
sudo cp cudnn-7.5-linux-x64-v5.1/libcudnn* /usr/local/lib
然后做软连接:
sudo ln -sf /usr/local/lib/libcudnn.so.5.1.3 /usr/local/lib/libcudnn.so.5
sudo ln -sf /usr/local/lib/libcudnn.so.5 /usr/local/lib/libcudnn.so
sudo ldconfig -v
再import tensorflow 应该就没有Unable to load cuDNN DSO的问题了。

其他问题
1. CUDA_ERROR_LAUNCH_FAILED问题,如下,请检查Cudnn和Cuda版本是否匹配。
E tensorflow/stream_executor/cuda/cuda_event.cc:49] Error polling for event status: failed to query event: CUDA_ERROR_LAUNCH_FAILED
F tensorflow/core/common_runtime/gpu/gpu_event_mgr.cc:198] Unexpected Event status: 1
博文出处:http://jacoxu.com/?p=1810

Win7配置Theano环境,附Ubuntu+TensorFlow安装》上有 2 条评论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>