【发布时间】:2018-01-19 13:19:52
【问题描述】:
for iteration in range(NUM_ITERATIONS):
print()
print("="*50)
print("Iteration:",iteration)
model.fit(X,y,batch_size=BATCH_SIZE,epochs=NUM_EPOCH_ITERATION)
rand=np.random.randint(len(x_labels))
test="vikas n s "
print(test,end="")
for i in range(NUM_PREDICTION_PER_EPOCH):
Xtest=np.zeros((1,sqlen,nb_chars),dtype=np.bool)
for i,ch in enumerate(test):
Xtest[0,i,char2index[ch]]=1
pred=model.predict(Xtest)
temp=pred
pred=pred[0]
ypredict=index2char[np.argmax(pred)]
print(ypredict,end="")
test=test[1:]+ypredict
在这段代码中,每次迭代我都在拟合模型。 我的假设是,当我再次拟合模型时,应该将损失重置为原始损失或与之接近的损失。但我发现损失仍在继续。 IE: 如果初始损失为 4 并且在第 1 次迭代中的所有 epoch 损失下降到 2。 现在,当我在下一次迭代中再次拟合模型时,我希望损失从 4 开始。相反,它从 2 开始。 为什么会这样?
【问题讨论】:
-
看起来模型从未在该代码中重置。所以不,它不应该显示类似于训练过程开始时的损失值。
-
@E_net4 如何重置模型?
标签: python machine-learning keras neural-network deep-learning