3.查看:实际应用 (tensorboard - -logdir=logs)
1.SummaryWriter类
- 主要使用SummaryWriter类 来进行变量的保存,它可以向指定的文件夹写入事件文件,这个事件文件可以被tensorboard读取。这个类需要传入的主要参数为 log_dir 和 comment ,前者设定事件文件的保存路径,后者可以在文件夹名称后添加一些备注,如学习率、batch_size等做一个区分。
.add_scalar()
2.保存需要可视化的事件文件
-
主要涉及的函数为 .add_scalar() ,通过这个函数可以传入图片的名称,纵轴数据以及横轴数据。对应的参数名分别为tag(标题)、scalar_value(y轴) 和 global_step(x轴)。
-
注意事项:不同的图记得保存成不同的 tag 名,否则会错乱。并且写完要close。
-
如果报错ImportError: TensorBoard logging requires TensorBoard with Python summary writer installed. This should be available in 1.14 or above.直接pip install tensorboard就可以,或者如果是版本太低则pip install --upgrade tensorboard升级就可。
-
如果出现**ModuleNotFoundError: No module named ‘past’**这个报错,pip install future,参考链接:https://blog.csdn.net/aoxuan7259/article/details/102078319
-
.add_scalar()
from torch.utils.tensorboard import SummaryWriter
writer=SummaryWriter("logs") #添加到 logs这个文件夹下
for i in range(100):
writer.add_scalar("y=2x",2*i,i)
writer.close()
- .add_image()
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
writer=SummaryWriter("logs") #添加到 logs这个文件夹下
image_path="data/train/ants_image/5650366_e22b7e1065.jpg"
img_PIL=Image.open(image_path)
img_array=np.array(img_PIL)
print(type(img_array)) #<class 'numpy.ndarray'>
print(img_array.shape) #(512, 768, 3)
#add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW'):
writer.add_image("test",img_array,2,dataformats="HWC")
for i in range(100):
writer.add_scalar("y=2x",2*i,i)
writer.close()