我正在尝试创建一个激活函数以在我的 keras 模型中使用。
基本上,我想要的是一个只有两位小数的 sigmoid 函数。所以我试图像这样创建我自己的激活函数:
def mySigmoid(x):
return np.around(K.sigmoid(x), decimals=2)
Run Code Online (Sandbox Code Playgroud)
进而:
get_custom_objects().update({'mySigmoid': Activation(mySigmoid)})
Run Code Online (Sandbox Code Playgroud)
但出于某种原因,我这样做了。
有人可以帮帮我吗?
非常感谢
堆栈跟踪:
AttributeError Traceback (most recent call last)
<ipython-input-52-891a9f63ca56> in <module>()
3 model.add(Dense(30, activation='softmax'))
4
----> 5 model.add(Dense(10, activation='mySigmoid'))
6 model.summary()
7 sgd = optimizers.SGD(lr=0.1, decay=1e-5, momentum=0.3, nesterov=True)
/usr/local/lib/python2.7/dist-packages/keras/models.pyc in add(self, layer)
473 output_shapes=[self.outputs[0]._keras_shape])
474 else:
--> 475 output_tensor = layer(self.outputs[0])
476 if isinstance(output_tensor, list):
477 raise TypeError('All layers in a Sequential model '
/usr/local/lib/python2.7/dist-packages/keras/engine/topology.pyc in __call__(self, inputs, **kwargs)
600
601 # Actually call …Run Code Online (Sandbox Code Playgroud)