前言:
藉由训练过程中的检查点纪录,可以知道此模型的训练次数,不过若不是特别需要,平常可以注解掉,让训练效率更快
程序码:
checkpoint_path = "training_2/cp-{epoch:04d}.ckpt"
ckpt = tf.train.Checkpoint(optimizer=Adam(lr=1e-5), model=net_final)
manager = tf.train.CheckpointManager(ckpt, './tf_ckpts', max_to_keep=1)
cp_callback = tf.keras.callbacks.ModelCheckpoint(
filepath=checkpoint_path,
verbose=1,
save_weights_only=True,
save_freq=835)
if os.path.exists(DATASET_PATH):
if os.path.exists(DATASET_PATH + WEIGHTS_FINAL):
print(WEIGHTS_FINAL + "模型存在,将继续训练模型")
# net_final.save(WEIGHTS_FINAL)
new_net_final = load_model(WEIGHTS_FINAL)
while True :
new_net_final.fit(train_batches,
steps_per_epoch = train_batches.samples // BATCH_SIZE,
validation_data = valid_batches,
validation_steps = valid_batches.samples // BATCH_SIZE,
epochs = NUM_EPOCHS,
callbacks = [cp_callback])
# 储存训练好的模型
print("储存训练模型")
new_net_final.save(WEIGHTS_FINAL)
else:
print(WEIGHTS_FINAL + '模型不存在,将新建训练模型')
# 训练模型
while True :
net_final.fit(train_batches,
steps_per_epoch = train_batches.samples // BATCH_SIZE,
validation_data = valid_batches,
validation_steps = valid_batches.samples // BATCH_SIZE,
epochs = NUM_EPOCHS,
callbacks = [cp_callback])
# 储存训练好的模型
print("储存训练模型")
net_final.save(WEIGHTS_FINAL)
else:
print(WEIGHTS_FINAL + '路径不存在,请确认路径')
停留回想:要进入下一篇前,整理回顾一下环境篇的笔记思绪。 今日要点: 》环境篇回顾整理 》系列目录...
在ML的专案中,从资料的收集、建构模型、测试到部署到产品。这个流程除了需要自动化之外,也需要保有该行...
相信很多程序开发者在开发专案的时候一定会遇到同样的问题 那就是一定会碰到有 BUG 时候 在遇到 B...
JavaScript的物件在本质上,像是特性的集合体,是由特性所组成的,而函式是一级值,所以可以将函...
Abstract 在一个广大领域需求的市场,无论你身处哪种开发情境下,势必都会遇到需要开发API进行...