我正在使用安装了 Theano 库(更新版本)的 Python 2.7,我在定义 Theano 函数的输入参数方面遇到了问题。
代码是:
corruption_level = T.scalar('corruption') # % of corruption to use
learning_rate = T.scalar('lr') # learning rate to use
fn = theano.function(
inputs=[
index,
theano.In(corruption_level, value=0.2),
theano.In(learning_rate, value=0.1)
],
outputs=cost,
updates=updates,
givens={
self.x: train_set_x[batch_begin: batch_end]
}
)
它取自这里:
http://deeplearning.net/tutorial/code/SdA.py
它给了我这个错误,Eclipse:
NotImplementedError: In() instances and tuple inputs trigger the old
semantics, which disallow using updates and givens
因此,如果我以这种方式更改代码:
fn = theano.function(
inputs=[
index,
#theano.In(corruption_level, value=0.2),
#theano.In(learning_rate, value=0.1)
corruption_level,
learning_rate
],
outputs=cost,
updates=updates,
givens={
self.x: train_set_x[batch_begin: batch_end]
}
)
它有效,但我无法传递 corruption_level 和 learning_rate 的值。
任何人都可以帮忙吗?谢谢!
卢卡