来自于b站《PyTorch深度学习快速入门教程(绝对通俗易懂!)【小土堆】》本篇内容主要是对代码中的一些小知识点进行归纳总结,因为博主本人也是pytorch甚至python新手,所以欢迎大家来指正文中的错误,同时希望对大家有所帮助。
文中所用数据集:链接: https://pan.baidu.com/s/1jZoTmoFzaTLWh4lKBHVbEA 密码: 5suq
上述数据集中的hymenoptera_data\train
一、代码实例
第一步:导入所需包
import numpy as np
from PIL import Image
from torch.utils.tensorboard import SummaryWriter
第二步:实例化一个SummaryWriter对象
writer = SummaryWriter("logs")
---------代码---------
writer.close()
SummaryWriter输入的参数为保存到哪个文件夹,如果文件夹不存在会在当前目录生成文件夹。
注:SummaryWriter`类提供了一个高级 API,用于在给定目录中创建事件文件,并向其中添加摘要和事件。 该类异步更新文件内容。 这允许训练程序调用方法以直接从训练循环将数据添加到文件中,而不会减慢训练速度。
第三步:绘制图像
for i in range(100):
writer.add_scalar("y=x",i,i), #先y轴再x轴
writer.add_scalar()
add_scalar方法可以绘制图像,一般用来绘制迭代过程中的损失函数。
下面是官方解释文档
tag (str): Data identifier
scalar_value (float or string/blobname): Value to save
global_step (int): Global step value to record
add_scalar方法主要包含三个参数:
tag:接受一个字符串输入,作为标题
scalar_value:接受浮点数或者字符串,作为y轴
global_step:接受整型数字,作为x轴
第四步:打开图片
img_path = "./hymenoptera_data/train/ants/0013035.jpg"
img_PIL = Imgae.open(img_path)
img_array = np.array(img_PIL)
writer.add_image("test", img_array, 1)
add_image()方法主要接受4个参数,下面是官方解释文档:
tag (str): Data identifier
img_tensor (torch.Tensor, numpy.ndarray, or string/blobname): Image data
global_step (int): Global step value to record
tag:接受一个str类型的输入,作为图片的标题
img_tensor:接受一个类型为torch张量,np数组或者str类型的输入,作为图片的数据
global_step:接受一个类型为整型的数字,作为图片的标注
注:用Image.open方法读取到的图片格式为PIL,但是add_image能接受的数据类型为torch张量,np数组或者str类型,因此需要用np.array方法进行转换。
第五步:可视化操作
TensorBoard是一个基于浏览器的可视化工具
我们需要在cmd窗口输入指令tensorboard --logdir=文件夹路径名,示例如下:
然后我们可以通过复制其对应的地址,在浏览器中打开,在本例中即为http://localhost:6006/(网络处于断开状态也能正常打开)
注:在打开浏览器时,不要关闭cmd窗口,也不要使用control+c退出
也可以在命令tensorboard --logdir=文件夹路径名后加-port6007更换端口,数字6007可自行更 换为其他数字