Я изучаю google-сотрудник.Я запускаю программу, основанную на Theano, которая отнимает много времени, так как theano использует CPU.
- Я установил настройку ноутбука на графический процессор.
Также установили переменную окружения для использования cuda.
os.environ["THEANO_FLAGS"] = "mode=FAST_RUN,device=cuda*,floatX=float32"
Когда я проверяю устройство, используемое theano print(theano.config.device)
, оно дает мне cuda*
в качестве вывода.
Но когда я бегу ниже кода:
# Test if Theano is using the GPU
from theano import function, config, shared, tensor
print("\n\nDevice:")
print theano.config.device
import numpy
import time
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
iters = 10000
rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], tensor.exp(x))
print(f.maker.fgraph.toposort())
print(theano.config.device)
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')
Это показывает мне ниже вывод:
Device:
cuda*
[Elemwise{exp,no_inplace}(<TensorType(float32, vector)>)]
cuda*
Looping 10000 times took 11.660804 seconds
Result is [1.2317803 1.6187934 1.5227807 ... 2.2077181 2.2996776 1.6232328]
Used the cpu
Как я должен получить theano кработать на GPU?Я также установил файл theonarc с помощью следующих команд:
# set Theano config
!echo -e '[global]\ndevice = cuda\nfloatX = float32\n' > ~/.theanorc
!cat ~/.theanorc
[global]
device = cuda
floatX = float32
Но я не уверен, где именно этот файл должен находиться в google-сотрудник.В настоящее время он находится ниже:
! find / -name ".theanorc"
/root/.theanorc