Я установил Theano на компьютер с Windows и следовал инструкциям по настройке.
Я поместил следующий файл .theanorc.txt в папку C:\Users\my_username:
#!sh
[global]
device = gpu
floatX = float32
[nvcc]
fastmath = True
# flags=-m32 # we have this hard coded for now
[blas]
ldflags =
# ldflags = -lopenblas # placeholder for openblas support
Я пытался запустить тест, но не смог запустить его на графическом процессоре. Я предполагаю, что значения из .theanorc.txt не читаются, потому что я добавил строку print config.device, и она выводит «cpu».
Ниже приведен базовый тестовый сценарий и результат:
from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time
print config.device
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([], T.exp(x))
print f.maker.fgraph.toposort()
t0 = time.time()
for i in xrange(iters):
r = f()
t1 = time.time()
print 'Looping %d times took' % iters, t1 - t0, 'seconds'
print 'Result is', r
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
print 'Used the cpu'
else:
print 'Used the gpu'
выход:
pydev debugger: starting (pid: 9564)
cpu
[Elemwise{exp,no_inplace}(<TensorType(float64, vector)>)]
Looping 1000 times took 10.0310001373 seconds
Result is [ 1.23178032 1.61879341 1.52278065 ..., 2.20771815 2.29967753
1.62323285]
Used the cpu
Я успешно установил CUDA Toolkit, но не смог установить pyCUDA. Я думаю, что Theano все равно должен работать без установки pyCUDA.
Буду очень признателен, если кто-нибудь поможет решить эту проблему. Я выполнил эти инструкции, но не знаю, почему значения конфигурации в программе не соответствуют значениям в файле .theanorc.txt.