问题
在 Keras for Python 中,我必须为简单的 XOR 神经网络使用多行代码:
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD
import numpy as np
X = np.array([[0,0],[0,1],[1,0],[1,1]])
y = np.array([[0],[1],[1],[0]])
model = Sequential()
model.add(Dense(8, input_dim=2))
model.add(Activation('tanh'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
sgd = SGD(lr=0.1); model.compile(loss='binary_crossentropy', optimizer=sgd)
model.fit(X, y, show_accuracy=True, batch_size=1, nb_epoch=1000)
print(model.predict_proba(X))
尽管上面的网络很小,但当前的实现可能会因更深的网络而变得令人沮丧。
问题
Keras 中是否有内置快捷方式可以快速添加多个图层?例如:
[2,3,4,5]将是一个具有 2 个输入神经元、第一个隐藏层中的 3 个神经元、第二个隐藏层中的 4 个神经元和 5 个输出神经元的网络。我使用术语built-in因为否则我可以遍历示例数组,并为每个元素添加一个层。