对于单输出神经元,我有如下序列模型,线性激活函数(Keras默认值):
model = Sequential()
model.add( ...
...
model.add(Dense(100, activation='relu'))
model.add(Dense(1))
我需要将最终数字限制为100,所以我修改了上面的最后一行代码:
model.add(Lambda(lambda x: x%100, output_shape=(1)))
output_shape
必须是列表,元组或函数”。答案 0 :(得分:1)
output_shape=(1)
应为output_shape=(1,)
。
剪辑输出到[0.0, 100.0]
。
#...
model.add(Dense(1)) #-2nd line from code in question
model.add(Lambda(lambda x: max(0., min(x,100.)), output_shape=(1,)))
这是一个连续的功能,而不是mod 100。
使用缩放的sigmoid输出层。
#...
model.add(Dense(1), activation='sigmoid')
model.add(Lambda(lambda x:x*100., output_shape=(1,)))
这是不同的,对新加坡友好。