【发布时间】:2017-08-08 02:17:07
【问题描述】:
我正在使用 Keras 来学习随机函数的表面。基本上我正在采样一堆点作为训练数据。我正在使用以下代码生成网络。
def create_model(optimizer='adam'):
model = Sequential()
units = 100
dim= 6
dropout= 1
## making the model graph, Stacking layers is done by .add():
model.add(Dense(units=units, input_dim=dim, activation='sigmoid'))
model.add(Dropout(dropout))
model.add(Dense(units=units, activation='sigmoid'))
model.add(Dropout(dropout))
model.add(Dense(units=units, activation="sigmoid"))
model.add(Dropout(dropout))
model.add(Dense(units=1, activation = 'linear'))
# optmiser = keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=1e-08, decay=0.0)
# optmiser = keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08, decay=0.0)
# configure the model's learning process; loss and optimisation etc
model.compile(loss='mse',
optimizer=optimizer, metrics=["accuracy"])
return model
我在训练期间收到以下日志,
451/667 [===================>..........] - ETA: 0s - loss: nan - acc: 0.0000e+00
我认为我在创建网络或选择不同参数时做错了。任何帮助表示赞赏。 谢谢,
【问题讨论】:
-
Dropout with p = 1 意味着网络不会学到任何东西。
-
是的,这是个问题。谢谢。
标签: keras regression keras-layer