1、安装nvidia
http://www.nvidia.com/Download/index.aspx?lang=en-us 在官网找到本机支持的驱动版本
执行:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-375.26 //此处为上图的驱动版本
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
重启 测试,nvidia-smi
方法二:通过ubuntu设置-软件更新-其它启动选择安装nvidia
2、安装cuda
sh cuda_8.0.61_375.26_linux.run此处
添加环境路径:
sudo vim ~/.bashrc //末尾添加
export CUDA_HOME=/usr/local/cuda-8.0
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH
之后
source ~/.bashrc
测试cuda
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
make -j4
sudo ./deviceQuery
3、安装cudnn(对theano不是必须,对tensorflow是必须)
cd ./Download/
tar -xvzf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp ./cuda/include/cudnn.h /usr/local/cuda/include
sudo cp ./cuda/lib64/lib* /usr/local/cuda/lib64
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5
sudo ln -s libcudnn.so.5 libcudnn.so
sudo ldconfig
remind to check libcududnn.so.5.1.??
4、安装anaconda
bash Anaconda3-5.0.1-Linux-x86_64.sh
5、创建虚拟环境
conda create -n your_env_name python=X.X(2.7、3.6等)
Linux: source activate your_env_name(虚拟环境名称)
Windows: activate your_env_name(虚拟环境名称)
6、安装theano
先要装blas
sudo apt-get install libopenblas-dev liblapack-dev gfortran
conda install Theano=0.8,Cython
配置环境
export THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32
测试 test.py
from theano import function, config, shared, tensor
import numpy
import time
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
iters = 1000
rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], tensor.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, tensor.Elemwise) and
('Gpu' not in type(x.op).__name__)
for x in f.maker.fgraph.toposort()]):
print('Used the cpu')
else:
print('Used the gpu')
THEANO_FLAGS=mode=FAST_RUN,device=cpu,floatX=float32 python TheanoGPU.py
THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python TheanoGPU.py
成功