1.初始化
from torch.utils.tensorboard import SummaryWriter
按住ctrl键,将鼠标移至SummaryWriter,变为蓝色,点击
class SummaryWriter(object): """Writes entries directly to event files in the log_dir to be consumed by TensorBoard.直接向log_dir文件夹写入事件文件,这个事件文件可以被TensorBoard解析
def __init__(self, log_dir=None, comment='', purge_step=None, max_queue=10, flush_secs=120, filename_suffix=''): Args: log_dir (string): Save directory location. Default is runs/**CURRENT_DATETIME_HOSTNAME**, which changes after each run. Use hierarchical folder structure to compare between runs easily. e.g. pass in 'runs/exp1', 'runs/exp2', etc. for each new experiment to compare across them.输入文件夹的名称,若不输入,默认在/**CURRENT_DATETIME_HOSTNAME**
Examples::
from torch.utils.tensorboard import SummaryWriter
# create a summary writer with automatically generated folder name.
writer = SummaryWriter()
# folder location: runs/May04_22-14-54_s-MacBook-Pro.local/
# create a summary writer using the specified folder name.
writer = SummaryWriter("my_experiment")
# folder location: my_experiment
# create a summary writer with comment appended.
writer = SummaryWriter(comment="LR_0.1_BATCH_16")
# folder location: runs/May04_22-14-54_s-MacBook-Pro.localLR_0.1_BATCH_16/
2.创建实例
writer = SummaryWriter("logs") #将事件文件存储至logs文件夹中
# writer.add_image()
# y = 2x
for i in range(100):
writer.add_scalar("y=2x", 2*i, i)
writer.close()
def add_scalar(self, tag, scalar_value, global_step=None, walltime=None):
"""Add scalar data to summary. 添加一个标量数据至summary
Args:
tag (string): Data identifier 图表的标题
scalar_value (float or string/blobname): Value to save Y轴
global_step (int): Global step value to record X轴
问题1:运行程序显示ModuleNotFoundError: No module named 'past'
解决方法:在pytorch环境中安装future,pip install future
PyTorch: ModuleNotFoundError: No module named 'past'_RaySunWHUT的博客-CSDN博客
3.安装tensorboard
在pycharm的terminal中输入pip install tensorboard
安装成功后重新运行程序,出现了logs文件夹,其中包含TensorBoard事件文件
4.打开事件文件
在pycharm的terminal中输入tensorboard --logdir=logs(logdir=事件文件所在文件夹名)
默认打开6006端口
指定端口:tensorboard --logdir=logs --port=6007
打开6007端口
问题2:在writer中写入新事件,还有上个事件
解决方法:删除logs文件夹下的所有事件,重新运行程序,在terminal中按ctrl+c退出,再按上键打开端口
P8.TensorBoard的使用(二)add_image()的使用(常用来观察训练结果)1.下载数据集,将其放入项目文件夹中
2.add_image()的使用
def add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW'):
"""Add image data to summary.
Note that this requires the ``pillow`` package.
Args:
tag (string): Data identifier
img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data图像的数据类型
global_step (int): Global step value to record
控制台
image_path ="dataset/train/ants_image/0013035.jpg" from PIL import Image img = Image.open(image_path) print(type(img))



