tf2学习05:实战分类模型之回调函数

1、回调函数:在训练过程中做一些监听

## 添加回调函数
# 定义一个数组callbacks,然后将其作为参数传入训练fit里
# 这次用到三个回调函数
# 1、Tensorboard -- 需要一个文件夹
# 2、Earlystopping
# 3、ModelChechpoint -- 需要一个文件名

# 定义一个文件夹
logdir = os.path.join('callbacks') # 或logdir = 'callbacks'
  
# 这个文件夹若不存在就创建
# os即operating system(操作系统),Python 的 os 模块封装了常见的文件和目录操作。
# os.path模块主要用于文件的属性获取,exists是“存在”的意思
# os.path.exists()就是判断括号里的文件是否存在的意思,括号内的可以是文件路径。
if not os.path.exists(logdir): 
    os.mkdir(logdir)    # os.mkdir()函数创建目录(创建一级目录),
                        # os.makedirs()函数创建多级目录--os.makedirs('d:\\books\\book')
# 输出model的文件,放到logdir文件夹下,文件名fashion_minist_model.hs
output_model_file = os.path.join(logdir, "fashion_minist_model.h5") # os.path.join()函数拼接路径    

#callbacks中添加回调函数 
callbacks = [
    keras.callbacks.TensorBoard(logdir),
    keras.callbacks.ModelCheckpoint(output_model_file
                           ,save_best_only=True), # 默认保存最近的,True保存最优模型
    keras.callbacks.EarlyStopping(patience=5
                , min_delta=1e-3) #连续patience次前后目标函数值差距比min_delta小,就结束
    
]
 
#### 3.使用tf.keras训练分类模型
# 传入训练集、遍历10次数据集、验证集验证
history = model.fit(x_train_scaled
                    ,y_train
                    ,epochs=10
                    ,validation_data=(x_valid_scaled, y_valid)
                    ,callbacks=callbacks # 将callbacks作为参数传入训练fit里
                   ) 
  • 在tensorflow环境里、在calolbacks文件夹所在路径下、执行

    • tensorboard --logdir callbacks
    • tensorboard --logdir=callbacks
  • 我遇到的错误:

    1、tf2环境下:TensorBoard 2.1.0 at http://localhost:6006/ (Press CTRL+C to quit)

    执行http://localhost:6006/ 浏览器一片空白

    网上有说是TensorBoard 版本太高

    我又在tf1环境下:TensorBoard 1.9.0 at http://DESKTOP-L9IRF43:6006 (Press CTRL+C to quit)

​ 执行http://DESKTOP-L9IRF43:6006成功

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容