亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

循環 model.fit 時無法重置模型

循環 model.fit 時無法重置模型

不負相思意 2024-01-16 15:04:19
使用 Keras,我嘗試使用不同的數據分割循環訓練會話 10 次。不過,在每個循環之后,我的準確性會提高很多,可能是因為它不會重置并在新組中看到新數據(訓練的數據可能會出現在測試下一個循環中)我預計 model.fit 會重置它,如公關所示。這里的答案說它是這樣的,但我無法做到。然后我在循環開始時嘗試了 K.clear_session() ,如 pr 所示。示例 1 在這里,但它什么也沒做。我可以第一次保存未經訓練的模型并在循環開始時重新加載它,但這似乎是一個不好的方法/不好的做法。我能做什么/我做錯了嗎?from tensorflow.keras import backend as Kfor i in range(0, 10):    print("Starting loop " + str(i))    K.clear_session()    model = keras.Model(inputs=inputs, outputs=outputs, name="SchoolProject")    model.compile(loss=tensorflow.keras.losses.binary_crossentropy, optimizer=tensorflow.keras.optimizers.Adam(lr=hpInitialLearningRate), metrics=['accuracy'])    trainData, valData, testData, trainTruth, valTruth, testTruth = getTrainValAndTestSet()    model.fit(trainData, trainTruth, epochs=hpEpochs, verbose=1, callbacks=callbacks_list, validation_data=(valData, valTruth))    score = model.evaluate(testData, testTruth, verbose=1)    print('Test loss:', score[0])    print('Test accuracy:', score[1])    testAccList.append(score[1])    print("Ending loop " + str(i))
查看完整描述

1 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

最簡單的方法是在循環內定義模型。這是一個例子。您會看到每次迭代,準確性都會隨機開始,然后才會提高。


import tensorflow as tf


(x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()


x_train = x_train.astype("float32") / 255

x_test = x_test.astype("float32") / 255


for i in range(5):

? ? model = tf.keras.Sequential([

? ? ? ? ? ? tf.keras.Input(shape=(28, 28)),

? ? ? ? ? ? tf.keras.layers.Flatten(),

? ? ? ? ? ? tf.keras.layers.Dense(32, activation='relu'),

? ? ? ? ? ? tf.keras.layers.Dense(64, activation='relu'),

? ? ? ? ? ? tf.keras.layers.Dense(10, activation="softmax"),

? ? ? ? ])

? ? model.compile(loss="sparse_categorical_crossentropy", optimizer="adam",

? ? ? ? ? ? ? ? ? metrics=["accuracy"])

? ? model.fit(x_train, y_train, batch_size=16, epochs=1, validation_split=0.1)

手動重置權重稍微復雜一些。



查看完整回答
反對 回復 2024-01-16
  • 1 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號