Instale o ambiente acelerado de GPU Theano
1. ambiente de GPU theano
O design subjacente do ambiente de GPU theano depende principalmente do módulo pygpu para aceleração da rede neural. Portanto, a primeira etapa é instalar o ambiente pygpu. Existem duas maneiras de instalar: a
primeira é instalar no ambiente conda. Você pode inserir diretamente o seguinte comando para instalar:
conda install pygpu
Isso também é instalado no pacote conda-forge
conda install -c conda-forge pygpu
Em seguida, instale o ambiente da biblioteca de rede neural theano
pip install theano
# 或者是 conda install theano
Suponha que precisamos instalar o pygpu em um ambiente virtual. Neste momento, precisamos compilar o pygpu.
Primeiro, a compilação do libpygpuarray requer cmake, c99, cython e outros ambientes dependentes. O ambiente cython pode ser instalado diretamente via pip:
pip install cython
Instalar cmake pode ser instalado diretamente assim
sudo apt install cmake
Ou instale através do código-fonte. A seguir está a instalação de libpygpuarray.
Primeiro baixe o arquivo de origem de libpygpuarray do github de theano
git clone https://github.com/Theano/libgpuarray.git
cd libgpuarray
Crie um diretório de compilação para compilar. Se você deseja usar libgpuarray para desenvolvimento, pode compilar da seguinte forma:
cd <dir>
mkdir Build
cd Build
# you can pass -DCMAKE_INSTALL_PREFIX=/path/to/somewhere to install to an alternate location
cmake .. -DCMAKE_BUILD_TYPE=Release # or Debug if you are investigating a crash
make
make install
cd ..
Se você deseja apenas instalar o pygpu, você só precisa ativar o ambiente virtual (se necessário) e, em seguida, realizar as seguintes operações na pasta do código-fonte
python setup.py build
python setup.py install
Observe que o processo de instalação do python acima requer o suporte do Cython. Em seguida, crie o arquivo .theanorc na pasta do usuário.
nano ~/.theanorc
E escreva o seguinte conteúdo no arquivo
[global]
device = cuda
floatX=float32
root = /usr/local/cuda
[nvcc]
fastmath=True
compiler_bindir=/usr/local/cuda-10.2/bin
[blas]
ldflags = -lopenblas
[cuda]
root = /usr/local/cuda-10.2
[dnn]
enabled=True
inclue_path=/usr/local/cuda/include
library_path=/usr/local/cuda/lib64
Em seguida, prossiga para a instalação do ambiente theano, para que seja instalado o ambiente de operação acelerada da GPU theano.
2. Teste de GPU Theano
O código para testar a GPU theano é mostrado abaixo, crie um novo 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')
Finalmente, as seguintes informações aparecem, indicando que o ambiente de GPU foi instalado com sucesso
referência
[1] documentação de referência da libpygpu
[2] documentação de referência do theano