> 文档中心 > TensorBoard 的使用(二)

TensorBoard 的使用(二)



前言:
  现在你应该运行第一个程序实现 TensorBoard 可视化👍👌(这里默认你已经完成了上一篇文章的代码实现),那么我们接下来实现图像的可视化。对应 B站 小土堆 博主中 pytorch 教程的第九、十、十一节内容,先看视频,再读本文章会比较容易看懂。
❤️❤️我总结的 pytorch 项目:直达
https://pan.baidu.com/s/1ikPxPfD3H1ErXcMzdgERVQ?pwd=qrae 提取码: qrae


目录

  • 一、代码展示
  • 二、解释代码
  • 三、运行代码
  • 四、结果展示

一、代码展示

# 第一个代码,对应第九节内容import numpy as npfrom PIL import Imagefrom torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter("log")image_path = "data/train/ants_image/5650366_e22b7e1065.jpg"image_PIL = Image.open(image_path)image_array = np.array(image_PIL)print(type(image_array))print(image_array.shape)writer.add_image("train", image_array, 1, dataformats="HWC")writer.close()

# 第二个代码,对应第十节内容from PIL import Imagefrom torchvision import transformsimg_path = "data/train/ants_image/0013035.jpg"img = Image.open(img_path)print(img)tensor_trans = transforms.ToTensor()tensor_img = tensor_trans(img)print(tensor_img)

# 第三个代码,对应第十一节内容from PIL import Imagefrom torchvision import transformsfrom torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter("log")img_path = "data/train/ants_image/0013035.jpg"img = Image.open(img_path)tensor_trans = transforms.ToTensor()img_tensor = tensor_trans(img)print(type(img_tensor))print(img_tensor.shape)writer.add_image("tenson_img", img_tensor)writer.close()

二、解释代码

  😏为了不重复写一样的内容。可能有一些代码没解释,请到上一文章中查看。

  🐳writer.add_image( ) 是显示图像的代码, image 就是图像的意思。💕参数的意思: 图像名;导入的图像数据(一般为 numpy.array 或 torch.Tensor 格式);在相同图像名的情况下,分 0,1,2,。。。,k 用于排列图像(它有一个可以拖动的进度条,展示某一个序号的图像);如果你的图像的三通道是:高度、宽度、通道数,就需要 datafprmats=“HWC” ,一般是不用写这个参数的。

  🐳导入图像,并转化为 numpy.array 格式(因为writer.add_image( ) 需要这个格式): 十分简单😊😊😊首先是导入图像,先确定该图像的路径,将其赋给一个变量,用 Image.open( ) 函数就能导入图像,最后用 np.array 函数来进行格式的转换。

  🐳注意将 PIL image 格式转换为 np.array 和 torch.tensor 格式的代码有差别,转换 np.array 可以用 np.array(image_PIL) 直接转,但是 转换为 torch.tensor 时,要求先 为 transforms.ToTensor() 设置一个变量,再用 tensor_trans(img) 转换。

三、运行代码

🐳第一个代码运行结果:

TensorBoard 的使用(二)

🐳第二个代码运行结果:

TensorBoard 的使用(二)

🐳第三个代码运行结果:

TensorBoard 的使用(二)

四、结果展示

🐳第一个代码结果展示:

TensorBoard 的使用(二)

🐳第三个代码结果展示:

TensorBoard 的使用(二)