Как настроить theano в Windows?

Я установил 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.


person Niko Gamulin    schedule 18.01.2015    source источник
comment
Возможный дубликат Как установить theano в Anaconda ver. 2.1 64-разрядная версия Windows для Python 3.4?   -  person devinbost    schedule 14.02.2017


Ответы (3)


Вопреки тому, что было сказано на нескольких страницах, моя установка (Windows 10, Python 2.7, Theano 0.10.0.dev1) не будет интерпретировать инструкции по настройке в файле .theanorc.txt в папке моего профиля пользователя, но будет читать файл .theanorc.

Если у вас возникли проблемы с созданием файла с таким именем, используйте следующие команды в терминале:

cd %USERPROFILE%
type NUL > .theanorc

Соус: http://ankivil.com/making-theano-faster-with-cudnn-and-cnmem-on-windows-10/

person 4Oh4    schedule 13.06.2017
comment
Спасибо за решение ... Ты спас меня :) - person ; 22.01.2018

Вы правы, что Theano не нуждается в PyCUDA.

Странно, что Theano не читает ваш конфигурационный файл. Точный путь, который читается, таков. Просто запустите это в Python, и вы увидите, куда его поместить:

os.path.expanduser('~/.theanorc.txt')

person nouiz    schedule 21.01.2015
comment
вывод вышеуказанной команды: «C:\\Users\\niko/.theanorc.txt» - person Niko Gamulin; 22.01.2015
comment
Какую версию Theano вы используете? Вы должны использовать версию для разработки, а не последний выпуск: deeplearning. сеть/программное обеспечение/теано/ - person nouiz; 23.01.2015

Попробуйте изменить содержимое файла .theanorc.txt, как указано на веб-сайте Theano ( http://deeplearning.net/software/theano/install_windows.html). Путь необходимо изменить соответствующим образом в зависимости от вашей установки.

[global]
floatX = float32
device = gpu

[nvcc]
flags=-LC:\Users\cchan\Anaconda3\libs
compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
person world2005    schedule 28.02.2017