一、简介
TensorBoard是一套 Web 应用程序,用于检查和了解 TensorFlow 运行和图形。简而言之,就是用于机器学习可视化的工具
TensorBoard 设计为完全离线运行,无需任何 Internet 访问权限。例如,这可能位于本地计算机上、公司防火墙后面或数据中心中。
二、安装
在Pycharm的Terminal中直接使用pip安装即可。
pip install tensorboard ==2.12.0
注意:此处安装的TensorBoard版本我自行设定为2.12.0版。因为在此前运用最新版显示图象时出现了TypeError报错,这就是由于版本过高导致,所以为了避免该错误,建议最好下载较低版本的TensorBoard
安装显示Successful就表明安装成功。
三、运行
TensorBoard的运行界面不在Pycharm中,而是通过Pycharm运行生成一个Internet访问地址,通过点击该地址或者在网页中输入地址从而进入TensorBoard界面。
tensorboard --logdir=my_log
my_log代指TensorBoard的log文件所在的目录。Tensorboard面板中展示的数据都来源于log文件,一般一次完整的运行生成一份log文件。
在Pytorch中,实现可视化,需要创建一个SummaryWriter对象,在创建该对象的时候就会创建一个log文件(文件名自行定义),然后调用add_something方法,在log中写日志,然后展示在TensorBoard界面中。
如看到以下输出,则表明运行成功
TensorBoard 2.12.0 at http://localhost:6006/ (Press CTRL+C to quit)
点击网址http://localhost:6006/即可进入TensorBoard界面。
此外该网址的端口默认为6006,但是也可以通过port设置别的端口。
tensorboard --logdir=my_log --port=6009
四、具体使用
SummaryWriter:创建log文件,文件名自定义 add_something:向log文件中添加数据,如可以通过add_imge添加图片 close:训练结束后,通过close方法结束log写入
案例:运用TensorBoard展示图片
① 导包
from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np
②创建SummaryWriter对象
writer = SummaryWriter("logs")
writer.close()
创建对象后,立马写上close,以免忘记
③添加本地图片数据
img_path = "data/train/ants_image/0013035.jpg" #图片的相对地址
img_PIL = Image.open(img_path) #根据图片的相对地址获取图片--PIL.JpegImagePlugin.JpegImageFile--不符合add_imge参数类型
img_array = np.array(img_PIL)#将该图片转换为numpy.ndarray类型使用
writer.add_image("train", img_array, 0,dataformats='HWC')#global_step表示步骤,如果为同一个tag,那么该参数表示第几个图片
使用API时要注意其参数类型,不同API内对所含参数类型不同,建议通过ctrl+双击该API查看其具体使用方法。
④运行程序
运行该程序后,在Pycharm的Terminal中调取TensorBoard界面。
点击网页,进入TensorBoard界面,图片即可展示成功。
⑤关闭运行
点击ctrl+c即可关闭程序运行