在 Python 深度学习里,“调参数”通常分三个层次:超参数调优、模型结构调参、训练策略调参。下面用通俗 + 实战方式讲清楚。
你“调”的通常是超参数
optimizer = Adam(learning_rate=1e-3)
经验:
lr_schedule = ReduceLROnPlateau(monitor='val_loss', factor=0.5, patience=3)
model.fit(x, y, batch_size=32)
经验:
model.add(Dense(128, activation='relu'))
调参思路:
model.add(Dropout(0.3))
常用:
Dense(64, kernel_regularizer=l2(1e-4))
from sklearn.model_selection import GridSearchCV
from keras_tuner import RandomSearch
from keras_tuner import BayesianOptimization
def build_model(hp):
model = Sequential()
model.add(Dense(
hp.Int('units', 32, 256, step=32),
activation='relu'))
model.add(Dropout(hp.Float('drop', 0.2, 0.5)))
model.compile(
optimizer=Adam(hp.Choice('lr', [1e-2,1e-3,1e-4])),
loss='categorical_crossentropy',
metrics=['accuracy'])
return model
如果你愿意,可以告诉我:
我可以直接帮你给出一套可调参数方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。