使用Keras时,利用tensorboard的注意点

1. 写好callback语句:

tf_callbacks = tf.keras.callbacks.TensorBoard(log_dir="D:\\XXX\\0 EXAM\\4th\\XXXXXXXXXXXXXX\\Final Code\\Source Code\\logs", update_freq=1)

这里要注意一下update的频率,如果频率不够,可能看不见log文件

2. 在fit时调用callback:

history_lstm_res = lstm_res.fit(Feature_stock, Target_stock, batch_size=32, epochs=10, validation_split=0.3, callbacks=tf_callbacks, shuffle=False, verbose=2)

3.当训练好后打开log文件夹检查是否有log文件输入

3. 打开tensorboard端口:

用anaconda prompt打开:(1)先cd 到log所在的文件夹,然后输入:

(base) D:\XXX\0 EXAM\4th\XXXXXXXXXX\Final Code\Source Code\logs>tensorboard --logdir="D:\XXX\0 EXAM\4th\XXXXXXXXXX\Final Code\Source Code\logs"  --port 8123

4. 然后prompt终端会给你提示:

2023-11-12 21:27:22.417126: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2023-11-12 21:27:22.417427: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
2023-11-12 21:27:25.105550: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found
2023-11-12 21:27:25.105915: W tensorflow/stream_executor/cuda/cuda_driver.cc:269] failed call to cuInit: UNKNOWN ERROR (303)
2023-11-12 21:27:25.108283: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: Bookman
2023-11-12 21:27:25.108505: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: Bookman
Serving TensorBoard on localhost; to expose to the network, use a proxy or pass --bind_all
TensorBoard 2.9.1 at http://localhost:8123/ (Press CTRL+C to quit)
W1112 21:28:34.297618 14308 security_validator.py:46] In 3.0, this warning will become an error:
X-Content-Type-Options is required to be "nosniff"
W1112 21:28:34.335514  9636 security_validator.py:46] In 3.0, this warning will become an error:
X-Content-Type-Options is required to be "nosniff"
W1112 21:28:34.335514  9636 security_validator.py:46] In 3.0, this warning will become an error:
Requires default-src for Content-Security-Policy
W1112 21:28:34.627880 16920 security_validator.py:46] In 3.0, this warning will become an error:
X-Content-Type-Options is required to be "nosniff"
W1112 21:28:34.929035 16508 application.py:556] path /data/plugin/whatif/data/plugins_listing not found, sending 404
W1112 21:28:35.268610 15520 application.py:556] path /data/plugin/whatif/data/plugins_listing not found, sending 404
W1112 21:28:35.510952 17352 application.py:556] path /data/plugin/whatif/data/plugins_listing not found, sending 404
W1112 21:28:35.581216 18164 application.py:556] path /data/plugin/whatif/data/plugins_listing not found, sending 404

5.再用浏览器打开:

### TensorBoard使用技巧和最佳实践 TensorBoardTensorFlow 提供的一个强大的可视化工具,可以帮助开发者更好地理解和优化机器学习模型。以下是关于 TensorBoard 使用的一些技巧和最佳实践: #### 1. 数据记录的最佳方法 为了使日志文件更加清晰易读,在定义 `SummaryWriter` 或调用 `tf.summary.create_file_writer` 方法,建议为每次实验创建独立的日志目录[^1]。这样可以避免不同实验之间的数据混淆。 ```python import tensorflow as tf log_dir = "logs/scalars/" + datetime.now().strftime("%Y%m%d-%H%M%S") file_writer = tf.summary.create_file_writer(log_dir) ``` #### 2. 实验参数的标记 当对比多个超参数设置或者不同的模型架构,可以通过命令行参数传递变量并将其嵌入到日志路径名中,从而轻松区分各个实验的结果。 ```bash python train.py --learning_rate=0.01 --batch_size=32 ``` 在 Python 脚本内部处理这些参数并将它们作为部分字符串拼接到 logdir 中去。 #### 3. 利用 Scalar 和 Histogram 功能监控指标变化趋势 除了简单的损失函数曲线外,还可以利用 histogram 记录权重直方图的变化情况来判断是否存在梯度消失等问题;也可以绘制自定义 metric 曲线以便全面评估模型表现。 ```python with file_writer.as_default(): tf.summary.scalar('loss', loss, step=epoch) tf.summary.histogram("weights", model.layers[0].kernel, step=epoch) ``` #### 4. 图像与音频的支持 如果任务涉及图像分类或语音识别等领域,则应该充分利用 tensorboard 支持显示图片样本的功能,这有助于验证输入管道是否正常工作以及观察预测错误案例的具体特征。 ```python img_batch = next(iter(dataset)) with file_writer.as_default(): tf.summary.image("Training data", img_batch, max_outputs=25, step=0) ``` #### 5. 嵌套结构下的计算图展示 对于复杂网络而言,查看其具体的运算流程是非常有必要的。TensorBoard 可以自动解析 keras Model 定义中的层关系,并生成对应的 graph view。然而需要注意的是,只有当模型被编译之后才会触发该行为。 ```python model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True), metrics=['accuracy']) ``` 随后启动 tensorboard 即可在 graphs tab 下看到完整的拓扑视图。 --- ####
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值