我设置了以下内容:
np.random.seed(7)
# split data to train, validate, test (60%, 20%, 20%)
train, validate, test = np.split(data, [int(.6*len(data)), int(.8*len(data))])
history = model.fit(train, train, epochs=1, batch_size=32, verbose=1, shuffle=True,
validation_data=(validate, validate), callbacks=[cb])
score = model.evaluate(test, test, verbose=1)
shuffle=True
在这里无关紧要,因为我只训练一个纪元。
现在,根据我所读的内容,应该可以确保从零开始训练后模型的精度始终是相同的,但是各种运行的精度结果分别为48%,48%,56%,48%,56%,47.5%等上。因此,我想知道是否还需要做其他事情以确保得到的精度保持不变?
答案 0 :(得分:0)
每次适合模型时,模型参数的初始化方式都会不同,即使是相同的数据也是如此。因此,这将导致不同的精度。如果您坚持要获得相同的精度,请运行一次模型,将参数保存在文件中,然后在运行代码时再次加载它们。有关更多详细信息,请参见Keras Documentation。