【发布时间】:2018-10-18 14:37:12
【问题描述】:
使用 Keras 2.1.3 我在 from keras.layers import ReLU 上得到 ImportError: cannot import name 'ReLU',在 Keras 2.1.3 中导入 ReLU 的正确方法是什么?
我可以在 Keras 2.2.2 中导入ReLU:
import keras as k
print(k.__version__)
from keras.layers import ReLU
是的,我知道Activation('relu'),但我正在寻找MobileNet implementation 中使用的ReLU 函数
更新:
查看 Keras 2.1.3 的 mobilenet.py,似乎他们使用:
def relu6(x):
return K.relu(x, max_value=6)
根据这个线程https://github.com/keras-team/keras/issues/7431 in Keras 2.1.3 mobilenet 的自定义层可以像这样导入:
from keras.applications.mobilenet import relu6
from keras.applications.mobilenet import DepthwiseConv2D
【问题讨论】:
-
导入
Activation并将"relu"传递给它的构造函数不是正常的方式吗? -
@erip 不一样,我需要
ReLU和这里的参数github.com/keras-team/keras-applications/blob/master/… -
ReLU 是在更高版本的 keras 版本(2.2.x)中定义的,所以你可以只更新 keras 来获取它。
-
@MatiasValdenegro 我无法更新它,因为我需要将其转换为仅适用于 Keras 2.1.3 的 coreml。
-
@mrgloom 然后使用那个 keras 版本的 mobilenet,而不是 keras-applications 的 master 分支
标签: python keras deep-learning