Theano TypeError: function() принимает как минимум 1 аргумент (1 указан)

Одна из моих функций Theano не принимает никаких входных данных и использует только общие переменные для вычисления выходных данных. Но эта функция выдает ошибку TypeError: function() takes at least 1 argument (1 given).

Вот минимальный пример:

import theano as th
import theano.tensor as T
import numpy as np

x, y = T.dscalars('x', 'y')
z = th.shared(np.zeros(2))

f1 = th.function(inputs=[x], updates=[(z, z+x)]) 
f2 = th.function(outputs=z)
f1(3)
print f2()


Traceback (most recent call last):
  File "/home/me/temp/theano.test.py", line 9, in <module>
    f2 = th.function(updates=[(z, z*z)])
TypeError: function() takes at least 1 argument (1 given)

person Framester    schedule 28.05.2013    source источник


Ответы (1)


Из: https://stackoverflow.com/a/16782594/380038

«theano.function() всегда нужен список входных данных. Если функция принимает 0 входных данных, как в этом случае, вам нужно указать пустой список для входных данных».

f2 = th.function(outputs=z) должно быть f2 = th.function([], outputs=z)

person Framester    schedule 28.05.2013