ModelCheckpoint参数说明
keras.callbacks.ModelCheckpoint(filepath,monitor=‘val_loss’,verbose=0,save_best_only=False, save_weights_only=False, mode=‘auto’, period=1)
filename:字符串,保存模型的路径
monitor:需要监视的值
verbose:信息展示模式,0或1(checkpoint的保存信息,类似Epoch 00001: saving model to …)
(verbose = 0 为不在标准输出流输出日志信息;
verbose = 1 为输出进度条记录;
verbose = 2 为每个epoch输出一行记录)
save_best_only:当设置为True时,监测值有改进时才会保存当前的模型( the latest best model according to the quantity monitored will not be overwritten)
mode:‘auto’,‘min’,‘max’之一,在save_best_only=True时决定性能最佳模型的评判准则,例如,当监测值为val_acc时,模式应为max,当监测值为val_loss时,模式应为min。在auto模式下,评价准则由被监测值的名字自动推断。
save_weights_only:若设置为True,则只保存模型权重(文件小),否则将保存整个模型(包括模型结构,配置信息等)
period:CheckPoint之间的间隔的epoch数
ModelCheckpoint参数说明keras.callbacks.ModelCheckpoint(filepath,monitor=‘val_loss’,verbose=0,save_best_only=False, save_weights_only=False, mode=‘auto’, period=1)filename:字符串,保存模型的路径monitor:需要监视的值verbose:信息展示模式,0或1(checkpoint的保存信息,类似Epoch 00001: saving mod
dirpath
ckpt文件保存路径
None(使用Trainer的default_root_dir或weights_save_path,如果Trainer使用了logger,那么path将会包含logger的名字和版本)
filename
ckpt文件名(支持自动填充)
None({epoch}-{step})
monitor
要监视的指标(log()记录的指标)
None(保存最后一次epoch训练的结果)
1.共同参数之monitor
keras.callbacks.EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto', baseline=None, restore_best_weights=False)
EarlyStopping的作用,是当被监测的量不再提升或下降,则停止训练防止过拟合。...
import tensorflow.keras
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train
我们训练完模型之后,一般会需要保存模型或者只保存权重文件。可以利用keras中的回调函数ModelCheckpoint进行保存。
keras.callbacks.ModelCheckpoint(
filepath,
monitor='val_loss',
verbose=0,
save_best_only=True,
save_weights_only=F...
0x00 前言
目前对于Tensorflow的模型参数文件,我们处理起来没有Pytorch的参数文件那样方便,
并且现在任务中有个需求,要在“某几个参数矩阵中,将特定行的参数复制到某些其他行”。
Pytorch的话就还好,因为毕竟是一群tensor被一个OrderDict包装起来的Python基本数据结构。
同样的事情,在Tensorflow中处理起来会比较麻烦,于是考虑实现这个工具类 CheckpointMonitor 来提高处理效率。
0x01 效果及API
支持从Tensorflow的模型参数文件c
这个函数的作用是计算经sigmoid 函数激活之后的交叉熵。
def sigmoid_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, name=None):
计算公式:
为了描述简洁,我们规定 x = logits(比如一张图),z = targets(分类结果)
z * -log(sigmoid...
Dataset数据对象
Dataset可以用来表示输入管道元素集合(张量的嵌套结构)和“逻辑计划“对这些元素的转换操作。在Dataset中元素可以是向量,元组或字典等形式。
另外,Dataset需要配合另外一个类Iterator进行使用,Iterator对象是一个迭代器,可以对Dataset中的元素进行迭代提取。
Dataset方法
2.1 .from_tensor_slices
from_tensor_slices 用于创建dataset,其元素是给定张量的切片的元素。
函数形式:from_tensor