更新時(shí)間:2022-02-15 來源:黑馬程序員 瀏覽量:
tf.keras是TensorFlow 2.0的高階API接口,為TensorFlow的代碼提供了新的風(fēng)格和設(shè)計(jì)模式,大大提升了TF代碼的簡潔性和復(fù)用性,官方也推薦使用tf.keras來進(jìn)行模型設(shè)計(jì)和開發(fā)。

tf.keras中常用模塊如下表所示:
| 模塊 | 概述 |
| activations | 激活函數(shù) |
| applications | 預(yù)訓(xùn)練網(wǎng)絡(luò)模塊 |
| Callbacks | 在模型訓(xùn)練期間被調(diào)用 |
| datasets | tf.keras數(shù)據(jù)集模塊,包括boston_housing,cifar10,fashion_mnist,imdb ,mnist |
| layers | Keras層API |
| losses | 各種損失函數(shù) |
| metircs | 各種評價(jià)指標(biāo) |
| models | 模型創(chuàng)建模塊,以及與模型相關(guān)的API |
| optimizers | 優(yōu)化方法 |
| preprocessing | Keras數(shù)據(jù)的預(yù)處理模塊 |
| regularizers | 正則化,L1,L2等 |
| utils | 輔助功能實(shí)現(xiàn) |
深度學(xué)習(xí)實(shí)現(xiàn)的主要流程:1.數(shù)據(jù)獲取,2,數(shù)據(jù)處理,3.模型創(chuàng)建與訓(xùn)練,4 模型測試與評估,5.模型預(yù)測。

使用 tf.keras,首先需要在代碼開始時(shí)導(dǎo)入tf.keras。
import tensorflow as tf from tensorflow import keras
對于小的數(shù)據(jù)集,可以直接使用numpy格式的數(shù)據(jù)進(jìn)行訓(xùn)練、評估模型,對于大型數(shù)據(jù)集或者要進(jìn)行跨設(shè)備訓(xùn)練時(shí)使用tf.data.datasets來進(jìn)行數(shù)據(jù)輸入。
# 配置優(yōu)化方法,損失函數(shù)和評價(jià)指標(biāo) model.compile(optimizer=tf.train.AdamOptimizer(0.001), loss='categorical_crossentropy', metrics=['accuracy'])
模型訓(xùn)練:
# 指明訓(xùn)練數(shù)據(jù)集,訓(xùn)練epoch,批次大小和驗(yàn)證集數(shù)據(jù)model.fit/fit_generator(dataset, epochs=10, batch_size=3, validation_data=val_dataset, )
模型評估:
# 指明評估數(shù)據(jù)集和批次大小 model.evaluate(x, y, batch_size=32)
模型預(yù)測:
# 對新的樣本進(jìn)行預(yù)測 model.predict(x, batch_size=32)
回調(diào)函數(shù)用在模型訓(xùn)練過程中,來控制模型訓(xùn)練行為,可以自定義回調(diào)函數(shù),也可使用tf.keras.callbacks 內(nèi)置的 callback :
ModelCheckpoint:定期保存 checkpoints。 LearningRateScheduler:動態(tài)改變學(xué)習(xí)速率。 EarlyStopping:當(dāng)驗(yàn)證集上的性能不再提高時(shí),終止訓(xùn)練。 TensorBoard:使用 TensorBoard 監(jiān)測模型的狀態(tài)。
只保存參數(shù):
# 只保存模型的權(quán)重
model.save_weights('./my_model')
# 加載模型的權(quán)重
model.load_weights('my_model')保存整個模型:# 保存模型架構(gòu)與權(quán)重在h5文件中
model.save('my_model.h5')
# 加載模型:包括架構(gòu)和對應(yīng)的權(quán)重
model = keras.models.load_model('my_model.h5')1024首播|39歲程序員逆襲記:不被年齡定義,AI浪潮里再迎春天
2025-10-241024程序員節(jié)丨10年同行,致敬用代碼改變世界的你
2025-10-24【AI設(shè)計(jì)】北京143期畢業(yè)僅36天,全員拿下高薪offer!黑馬AI設(shè)計(jì)連續(xù)6期100%高薪就業(yè)
2025-09-19【跨境電商運(yùn)營】深圳跨境電商運(yùn)營畢業(yè)22個工作日,就業(yè)率91%+,最高薪資達(dá)13500元
2025-09-19【AI運(yùn)維】鄭州運(yùn)維1期就業(yè)班,畢業(yè)14個工作日,班級93%同學(xué)已拿到Offer, 一線均薪資 1W+
2025-09-19【AI鴻蒙開發(fā)】上海校區(qū)AI鴻蒙開發(fā)4期5期,距離畢業(yè)21天,就業(yè)率91%,平均薪資14046元
2025-09-19