我想使用theano.tensor.nnet.relu
,但我一直收到此错误:
AttributeError: 'module' object has no attribute 'relu'
我已按照theano's documentation中的说明通过sudo pip install --upgrade theano
命令更新了theano,我也尝试了sudo pip install --upgrade --no-deps theano
。两个都没有工作,我仍然得到同样的错误。
我尝试theano -v
确认我已安装最新版本,但后来收到以下错误:-bash: theano: command not found
所以我的两个问题是:
答案 0 :(得分:2)
relu适用于 theano> = 0.7.1 。我的猜测是pip链接到theano==0.7
。
您可以使用pip freeze
检查theano版本:
pip freeze | grep Theano
所以你必须安装带有指向点的最新theano
到theano git repo:
pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
另请注意,relu是功能而不是模块,因此要访问它,您必须使用以下导入之一:
from theano.tensor.nnet import relu # access `relu` as is ..
import theano.tensor.nnet as theano_nnet #access `relu` as `theano_nnet.relu`
答案 1 :(得分:1)
theano.tensor.nnet
模块仅在最新版本中支持relu
。为了使用它,您需要从github安装最新版本或等到下一个版本。
或者,您可以像这样实现它:
def relu(x):
return T.maximum(x, 0.)
这可能不在位,但它会为您提供结果和渐变。
答案 2 :(得分:1)
要查看theano版本,您可以运行以下代码:
import theano
print theano.__version__
您应该按照here的说明获取最新版本
实际上relu函数很容易编码,你可以创建自己的relu函数,比如eickenberg的答案,或者像theano.tensor.nnet
样式:
def relu(x):
return 0.5 * (x + abs(x))