3 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個贊
K.clear_session()
不足以重置狀態(tài)并確??芍貜?fù)性。您還需要:
設(shè)置(和重置)隨機(jī)種子
重置 TensorFlow 默認(rèn)圖
刪除以前的模型
完成以下各項(xiàng)的代碼。
reset_seeds()
model = make_model() # example function to instantiate model
model.fit(x_good, y_good)
del model
K.clear_session()
tf.compat.v1.reset_default_graph()
reset_seeds()
model = make_model()
model.fit(x_bad, y_bad)
請注意,如果其他變量引用模型,您也應(yīng)該使用del它們 - 例如model = make_model(); model2 = model--> del model, model2- 否則它們可能會持續(xù)存在。最后,tf隨機(jī)種子不像random's 或numpy's 那樣容易重置,并且需要事先清除圖形。
使用的功能/模塊:
import tensorflow as tf
import numpy as np
import random
import keras.backend as K
def reset_seeds():
np.random.seed(1)
random.seed(2)
if tf.__version__[0] == '2':
tf.random.set_seed(3)
else:
tf.set_random_seed(3)
print("RANDOM SEEDS RESET")

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個贊
您K.clear_session()
以錯誤的方式使用,要獲得具有隨機(jī)初始化權(quán)重的模型,您應(yīng)該刪除舊模型(使用del
關(guān)鍵字),然后繼續(xù)創(chuàng)建一個新模型,并對其進(jìn)行訓(xùn)練。
您可以K.clear_session()
在每次安裝程序后使用。
添加回答
舉報(bào)