安装TensorBoard
虚拟环境终端输入以下命令
pip install tensorboard
打开TensorBoard
tensorboard --logdir=logs
#logdir=事件文件所在文件夹名
tensorboard --logdir=logs --port=6007
#修改端口打开TensorBoard
如果图像出现和上一和函数重复的问题,删掉事件文件,重新打开TensorBoard
SummaryWriter的使用
Writes entries directly to event files in the log_dir to be
consumed by TensorBoard.
直接将条目写入log_dir的事件文件,供 TensorBoard 使用。
初始化
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/
add_scalar()
Adds many scalar data to summary.
在summary中添加标量数据
add_scalar(self, tag, scalar_value, global_step=None)
Args:
tag (string): Data identifier
scalar_value (float or string/blobname): Value to save 类似于纵坐标
global_step (int): Global step value to record 类似于横坐标
from torch.utils.tensorboard import SummaryWriter
writer = SummaryWriter("logs")
x = range(100)
for i in x:
writer.add_scalar('y=2x', i * 2, i)
writer.close()
add_images()
Add batched image data to summary.
常用来观察训练结果
add_image(self, tag, img_tensor, global_step=None)
Args:
tag (string): Data identifier
img_tensor (torch.Tensor, numpy.array, or string/blobname): Image data
global_step (int): Global step value to record
Shape:
img_tensor: Default is :math:(3, H, W)
. You can usetorchvision.utils.make_grid()
to convert a batch of tensor into 3xHxW format or calladd_images
and let us do the job.
Tensor with :math:(1, H, W)
, :math:(H, W)
, :math:(H, W, 3)
is also suitable as long as correspondingdataformats
argument is passed, e.g.CHW
,HWC
,HW
.
eg.dataformats='HWC'
利用Opencv读取图片,获得numpy型图片数据
安装Opencv
pip install opencv-python
利用numpy.arrary(),对PIL图片进行转换
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
writer = SummaryWriter("logs")
image_path="data/train/ants_image/0013035.jpg"
img_PIL = Image.open(image_path) #获取PIL类型图片,打开图片
img_array = np.array(img_PIL) #对PIL类型图片进行转换
print(img_array.shape) #输出图片的shape显示是HWC(高度,宽度,通道)类型,需要用dataformats='HWC'转换为HWC类型
writer.add_image("test", img_array, 1, dataformats='HWC')
x = range(100)
for i in x:
writer.add_scalar('y=2x', i * 2, i)
writer.close()
打开TensorBoard,出现图片