python - 如何用更小和更多的数据集重新训练 TF/Keras 深度学习模型
问题描述
这是我的二进制分类示例的示例代码。
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.models import load_model
from tensorflow.keras.layers import Dense
from tensorflow.keras.callbacks import EarlyStopping
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import MinMaxScaler
dfLarge = pd.read_csv('CSV_DATA_Large.csv')
XLarge = df[FEATURES_HEADER].values
yLarge = df[CLASS_LABEL].values
X_trainLarge, X_testLarge, y_trainLarge, y_testLarge = train_test_split(XLarge, yLarge, test_size=.33)
scaler = MinMaxScaler()
scaler.fit(X_trainLarge)
scaled_X_trainLarge = scaler.transform(X_trainLarge)
scaled_X_testLarge = scaler.transform(X_testLarge)
model = Sequential()
model.add(Dense(units=18,activation='relu',input_shape=[14,]))
model.add(Dense(units=14,activation='relu'))
model.add(Dense(units=1,activation='sigmoid'))
#在大数据集上编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
#fit 大型数据集上的模型
model.fit(x=scaled_X_trainLarge, y=y_trainLarge, epochs=100, validation_data=(scaled_X_testLarge,y_testLarge),callbacks=[EARLY_STOP])
#Saving 模型,用大数据训练。
model.save('model.h5')
joblib.dump(scaler,'scaler.pk1')
################ 加载模型############
saved_model = load_model('model.h5')
saved_scaler = joblib.load('scaler.pk1')
#新数据
dfSmall = pd.read_csv('CSV_DATA_Small.csv')
XSmall = df[FEATURES_HEADER].values
ySmall = df[CLASS_LABEL].values
X_trainSmall, X_testSmall, y_trainSmall, y_testSmall = train_test_split(XSmall, ySmall, test_size=.33)
问题
我的问题是如何在不丢失现有权重的情况下对现有训练模型进行多次再训练(使用类似和更小的数据集)。
我见过很多例子,但这些都是使用来自 TensorFlow Hub 的预训练图像。
解决方案
推荐阅读
- r - R:如何通过列名将列分配给矩阵
- c# - 在实体框架中添加复杂对象
- html - 如何将图像添加到 github 网站上的导航栏
- javascript - 客户端控制台错误“Uncaught SyntaxError: Unexpected token '<'”
- r - R:合并日期范围内的两个数据集
- typescript - 打字稿,无法处理缺失属性的联合。[tsserver 2339] 类型上不存在属性“数据”
- python - 找出哪个迭代函数得到最大值?
- windows - 在 Windows 上没有可执行文件的情况下如何执行服务?
- python - How to use Axios/Vue.js to call data from SQLite/Django backend?
- c# - 无法打开 SQL .MDF 文件,因为它是 852 版