我是第一次运行LSTM模型。 这是我的模特:
opt = Adam(0.002)
inp = Input(...)
print(inp)
x = Embedding(....)(inp)
x = LSTM(...)(x)
x = BatchNormalization()(x)
pred = Dense(5,activation='softmax')(x)
model = Model(inp,pred)
model.compile(....)
idx = np.random.permutation(X_train.shape[0])
model.fit(X_train[idx], y_train[idx], nb_epoch=1, batch_size=128, verbose=1)
训练模型时使用详细信息有什么用?
答案 0 :(得分:73)
检查model.fit here的文档。
通过设置详细0,1或2,您只想说明如何“看到”每个时期的训练进度。
verbose=0
不会向您显示任何内容(无声)
verbose=1
会向您显示一个动画进度条,如下所示:
verbose=2
只会提到这样的纪元数:
答案 1 :(得分:5)
对于verbose
> 0,fit
方法日志:
注意:如果使用了正则化机制,则将其打开以避免过度拟合。
如果validation_data
或validation_split
参数不为空,则fit
方法日志:
注意:因为我们正在使用网络的所有功能,所以在测试时关闭了正则化机制。
例如,在训练模型时使用verbose
有助于检测如果acc
持续改善而val_acc
恶化时发生的过度拟合。
答案 2 :(得分:3)
verbose: Integer
。 0、1或2。详细模式。
详细== 0(无声)
详细== 1(进度条)
Train on 186219 samples, validate on 20691 samples
Epoch 1/2
186219/186219 [==============================] - 85s 455us/step - loss: 0.5815 - acc:
0.7728 - val_loss: 0.4917 - val_acc: 0.8029
Train on 186219 samples, validate on 20691 samples
Epoch 2/2
186219/186219 [==============================] - 84s 451us/step - loss: 0.4921 - acc:
0.8071 - val_loss: 0.4617 - val_acc: 0.8168
Verbose = 2(每个时期一行)
Train on 186219 samples, validate on 20691 samples
Epoch 1/1
- 88s - loss: 0.5746 - acc: 0.7753 - val_loss: 0.4816 - val_acc: 0.8075
Train on 186219 samples, validate on 20691 samples
Epoch 1/1
- 88s - loss: 0.4880 - acc: 0.8076 - val_loss: 0.5199 - val_acc: 0.8046
答案 3 :(得分:1)
默认详细= 1,
verbose = 1,其中包括进度条和每个时期一行
verbose = 0,表示沉默
verbose = 2,每个纪元一行,即纪元编号/总编号时代
答案 4 :(得分:0)
带有详细标志的详细信息顺序为
更少的细节。...更多细节
0 <2 <1
默认值为1
对于生产环境,建议2
答案 5 :(得分:0)
verbose 是您希望在训练时如何查看 Nural Network 输出的选项。 如果你设置verbose = 0,它什么都不显示
如果你设置verbose = 1,它会显示这样的输出 纪元1/200 55/55[==============================] - 10 秒 307 毫秒/步 - 损失:0.56 - 准确度:0.4949>
如果你设置verbose = 2,输出会像 纪元1/200 纪元 2/200 纪元 3/200