2016-10-19 5 views
0

Итак, я пытаюсь научиться использовать Theano и специально использовать его для нейронных сетей. Я нахожусь в системе Windows 10, используя mingw64 и все остальные необходимые файлы со страницы установки (за исключением Visual Studio для Microsoft и cuda, поскольку я не планирую использовать свой GPU). Все, кажется, работает, и часть «малыша» в учебнике отлично работала. Когда я пытаюсь запустить следующий код, однако, я получаю некоторые странные результаты -Операции Theano, возвращающие нечетные результаты

self.W = theano.shared(value=np.random.standard_normal((state_dim, 4*state_dim)) * np.sqrt(2/in_dim), name='W', borrow=True) 
print(theano.dot(self.W.get_value(), self.W.get_value().T) 

С появляться следующее сообщение об ошибке:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "C:\mingw64\WinPython-64bit-3.4.4.4Qt5\python-3.4.4.amd64\lib\site-packages\theano\__init__.py", line 172, in dot 
    (e0, e1)) 
NotImplementedError: ('Dot failed for the following reasons:', (None, None)) 

Когда я пытаюсь обратиться к W без get_value() , т. е. печать (theano.dot (self.W, self.WT)) Получаю возвращаемое значение dot.0.

Что мне не хватает?

ответ

0

Вы не можете просто распечатать операцию anano. Есть два варианта, чтобы показать тот же результат:

Сначала, используя theano.function

result = theano.dot(self.W, self.W.T) 
f = theano.function([],result) 
print f() 

или с использованием np.dot

result = numpy.dot(self.W.get_value(), self.W.get_value().T) 
print result 
0

В питона ваш может напечатать любой объект. Таким образом, предложение print в порядке. Проблема в том, что вы можете использовать только символические переменные в выражениях anano. Вы НЕ МОЖЕТЕ использовать значения непосредственно в выражениях anano. Так что ваш код может быть записан в виде:

self.W = theano.shared(value=np.random.standard_normal((state_dim, 4*state_dim)) * np.sqrt(2/in_dim), name='W', borrow=True) 
print(theano.dot(self.W, self.W.T) 

Просто удалите функцию get_value().

 Смежные вопросы

  • Нет связанных вопросов^_^