深度学习(33)随机梯度下降十一: TensorBoard可视化
TensorBoard
- Installation
- Curves
- Image Visualization
Installation
pip install tensorboard
Principle
- Listen logdir
监听目录 - build summary instance
新建一个日志 - fed data into summary instance
将数据送入日志
Step1. run listener
进入需要监听的文件夹
cd /Users/xuruihang/Documents/深度学习
启动
tensorboard –logdir logs
如图所示:
进入http://localhost:6006/,如图所示:
Step2. build summary
current_time = datetime.datetime.now().strftime(“%Y%m%d-%H%M%S”)
log_dir = ‘logs/’ + current_time
summary_writer = tf.summary.create_file_writer(log_dir)
其中,log_dir为监听文件的路径。
Step3.1 fed scalar(监听标量)
with summary_writer.as_default():
tf.summary.scalar(‘loss’, float(loss), step=epoch)
tf.summary.scalar(‘accuracy’, float(train_accuracy), step=epoch)
其中,step默认为x轴。
Step3.2 fed single Image(监听单张图片)
# get x from (x,y)
sample_img = next(iter(db))[0]
# get first image instance
sample_img = sample_img[0]
sample_img = tf.reshape(sample_img, [1, 28, 28, 1])
with summary_writer.as_default():
tf.summary.image(“Training sample:”, sample_img, step=0)
如图所示:
Step3.3 fed multi-images(监听多张图片)
val_images = x[:25]
val_images = tf.reshape(val_images, [-1, 28, 28, 1])
with summary_writer.as_default():
tf.summary.scalar(‘test-acc’, float(loss), step=step)
tf.summary.image(“val-onebyone-images:”, val_images, max_outputs=25, step=step)
如图所示:
Step3.4 将多张图片组合为一张图片:
val_images = tf.reshape(val_images, [-1, 28, 28])
figure = image_grid(val_images)
tf.summary.image(‘val-images:’, plot_to_image(figure), step=step)
如图所示:
参考文献:
[1] 龙良曲:《深度学习与TensorFlow2入门实战》