一种方式:
gedit ~/.bashrc
打开后在文件结尾换行,加入下面语句:
export THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32,allow_gc=False
加完后,在对环境变量进行更新:
source ~/.bashrc
但是以上方式会报cnmem disabled,所以需要换成以下方式(讲.bashrc中的那句话删除掉):
生成 .theanorc 文件
“.theanorc. ” 文件包含theano库的配置信息,首先用下列命令新建 theanorc 文件
$ gedit ~/.theanorc
加入以下信息并保存
[global]
device=gpu
floatX=float32
root=/usr/local/cuda
[nvcc]
fastmath = True
[blas]
ldflags = -lopenblas
[cuda]
root = /usr/local/cuda
测试Theano
-
新建一个python 文件
$ sudo gedit testing_theano.py
复制并粘贴测试代码. 并保存 “testing_theano.py” 文件
$ python testing_theano.py
-
检查是否启用gpu
如果看到下面一这句,你就已经成功了。Using gpu device 0: GeForce 630M
最后再来加一个,能使用加速模块,定义显存大小,以及官方优化加速的头包:
Problem
Theano: CNMeM is disabled, CuDNN not available
Solution
cnmem package: https://github.com/NVIDIA/cnmem
% cd $HOME
% git clone https://github.com/NVIDIA/cnmem.git cnmem
% cd cnmem
% mkdir build
% cd build
% cmake ..
% make
link with cnmem
The source folder contains a header file include/cnmem.h
and the build directory contains the librarylibcnmem.so
, put them into your cuda path: /usr/local/cuda/include
,/usr/local/cuda/lib64 把这几个文件拷到cuda文件夹去,就可以设置训练显存了。
.thenaorc config
[lib]
cnmem=1
Test
>>> import theano
>>> Using gpu device 0: GeForce GTX TITAN X (CNMeM is enabled with initial size: 95.0% of memory, cuDNN 5005)