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)