tensorboard

from torch.utils.tensorboard import SummaryWriter

writer=SummaryWriter('Practice')#生成文件更改为在当前目录新建Practice文件夹中

for i in range(100):
    writer.add_scalar('y=2x',2*i,i)

writer.close()

第二个:

from torch.utils.tensorboard import SummaryWriter

writer=SummaryWriter('Practice')

for i in range(100):
    writer.add_scalar('y=2x',3*i,i)#注意此处会为3*i,但是tag依然是y=2x

writer.close()

#writer.add_scalar('y=2x',3*i,i)#注意此处会为3*i,但是tag依然是y=2x会导致生成的图像为了让tag同名的两次图像连接起来,而强行转弯,如下图所示。如下图1所示。

 

解决上图1中问题,应该把tag改变,或者把原生成的文件全部删除后,重新在运行生成新的,并改变tag。如上图2,3.

以上为,writer.

from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image

writer=SummaryWriter('Practice')
img_path="PracticeDataset/train/bees_image/154600396_53e1252e52.jpg"
img_PIL=Image.open(img_path)
img_array=np.array(img_PIL)
print(type(img_array),img_array.shape,sep='\n')
writer.add_image('te',img_array,1,dataformats='HWC')#次数为numpy array,
所以调整一下datafomats为'HWC',默认为'CHW'.另,writer.add_image中的1,表示tensorboard的同一个窗口中,从左划到右的图片的显示顺序。

 

 

关于tensorboard --logdir="xxx"的说明。

 

 上图中右边2处,如果写成SummaryWriter("dir"),则会在当前工作目录也即DLT下新建一个子目录,这个子目录和runs是平级的。

如果写成如图右边2处所示,则结果会如图左边2处所示,在runs下面新建一个runs的子文件夹dir.

tensorboard --log_dir="此处尽量用绝对路径"。

另外:

writer.add_image('Normalize_img',img_normal,1)#此句的1表示global step ,然后修改参数后可能会再运行一遍,这样的话,两次运行后的图片会在同一个窗口中显示,可以左右拖动滑条,来看step1和step2.
trans_normal=transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])#然后就可以用trans_normal来normalize 转化为tensor后的img.

 

 

 

 


posted on 2021-09-05 15:36  lmqljt  阅读(148)  评论(0编辑  收藏  举报

导航