Keras

Keras - LSTM

有新的东西的话会持续更新,本人也是在学习,如果有哪里不对的地方,请各位看官指出

fit() 和fit_generator()返回的对象history

这个一般返回的是一个字典,里面包含了epoch和对应的loss信息。
一般来说,history下面有epoch,history,model,params
我们一般需要的loss信息在history.history这个字典里面。
在metrics选定是r square的层级关系如下图:
metrics = r squares

callbacks函数之ModelCheckPoint

keras.callbacks.ModelCheckpoint(filepath, monitor='val_loss', verbose=0, save_best_only=False, save_weights_only=False, mode='auto', period=1)

source code
在这里插入图片描述
创建ModelCheckpoint分三步
第一步,先定义一个保存model的file_path;
第二步,创建ModelCheckpoint对象;
第三步,在fit()或者fit_generator()添加callbacks=[{your_ModelCheckpoint_instance_name}]即可
腾讯云社区有一个很好的例子,可以分享个传送门

btw,官方源码推荐的file_path是 weights.{epoch:02d}-{val_loss:.2f}.hdf5,这个可以自动的读取训练时候的epo和loss数值;如果你有用类似与nni的AutoML的话,推荐+上experiment id 和 trial id。

Callbacks之EarlyStopping

keras.callbacks.EarlyStopping(monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto', baseline=None, restore_best_weights=False)

source code
在这里插入图片描述
其中,EarlyStopping和ModelCheckpoint类似的monitor,指的是你是根据哪个指标进行决策判断,可以是val_loss(验证集的loss),loss(训练的loss),acc(准确率)等。

不同于ModelCheckpoint的是,EarlyStopping不需要声明file_path(明摆着。。。),声明一个EarlyStopping对象,然后在fit的时候,在callbacks加上这个对象就好了。fit_generator部分注意看callbacks就好。

early_stopping = EarlyStopping(monitor='loss', patience=2, verbose=1, mode="auto")
history = model.fit_generator(fun.generate_3d_from_dict(_dict_train),\
        steps_per_epoch=cv_length_of_dataset//(params['batch_size']), epochs=params['epochs_num'],max_queue_size=1,callbacks=[early_stopping, checkpoint])

ISSUE- nni.report_final_result()和nni.report_intermediate_result()在WEB ui没有数字显示

在使用report_final_result(loss)report_intermediate_result(acc)这两函数的时候,我能确定传的参数loss,与acc有值,并且TYPE为NUMPY FLOAT64。但是仍然出现下图的情况。在这里插入图片描述在这里插入图片描述
default metric那一列为–。 代码写的很规范,刚有的也都有。

在这里插入图片描述
于是我进去源码去看,metric确实有值且为正确的值。
在standalone的模式,可以看到platform.send_metric(metric)里面的情况没问题,但是使用nnictl create --config xxxx.yml后,在web UI一直看不到default metric那一列的值。要说都看不到就好了,但是某些trail还是能有值(final scoreintermediate score都有)。

我找到这个experiments里某个trial里面,里面有一个叫metric的文件,其实每个不显示或者显示default metric的trail里面,都存着完整的intermediate scorefinal score,但就是不知道什么原因没法在web UI上面。

目前这个问题还没有得到解答,但是我把项目从wins系统转移到osx系统后,完美运行。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值