张量的可视化 显示单张图片
1 2 3 4 5 6 7 8 9 import torch as tfrom torchvision import transformsfrom matplotlib import pyplot as pltto_pil = transforms.ToPILImage() img = to_pil(t.randn(3 , 64 , 64 )) plt.imshow(img) plt.show()
将多张图片拼在一起
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 import torch as tfrom torch import nnfrom torchvision import modelsfrom torchvision import datasetsfrom torchvision import transformsfrom torch.utils.data import DataLoaderfrom matplotlib import pyplot as plttransform = transforms.Compose([ transforms.Resize(256 ), transforms.CenterCrop(224 ), transforms.ToTensor(), transforms.Normalize(mean=[0.5 ], std=[0.5 ]) ]) dataset = datasets.MNIST('data/' , download=True , train=False , transform=transform) dataloader = DataLoader(dataset, shuffle=True , batch_size=16 ) resnet34 = models.resnet34(pretrained=True , num_classes=1000 ) resnet34.fc = nn.Linear(512 , 10 ) from torchvision.utils import make_grid, save_imagedataiter = iter (dataloader) img = make_grid(next (dataiter)[0 ], 4 ) save_image(img, 'test.png' ) to_img = transforms.ToPILImage() img = to_img(img) plt.imshow(img) plt.show()
训练过程的可视化 1、TensorBoard tensorboard_logger将TensorBoard的功能抽取出来,使得非TensorFlow用户也能用它进行可视化 第一步是安装,非常简单
1 pip install tensorboard_logger
第二步,用如下命令启动TensorBoard
1 tensorboard --logdir <your_dir:这里用D:/> --port <your_bind_port:这里用6006>
第三步,记录日志
1 2 3 4 5 6 7 8 9 from tensorboard_logger import Loggerlogger = Logger(logdir='D:/' , flush_secs=2 ) for i in range (100 ): logger.log_value('loss:' , 10 -i**0.5 , step=i) logger.log_value('accuracy:' , i**0.5 /10 )
第四步,网页查看 打开http://localhost:6006/就可以看到日志记录的内容了
2、visdom visdom是Facebook专门为PyTorch开发的一款可视化工具。 第一步是安装,非常简单
第二步,用如下命令启动visdom服务(默认绑定8097端口)
使用如下命令可以将visdom服务放至后台运行
1 nohup python -m visdom.server &
第三步,记录日志
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import visdomimport torch as tvis = visdom.Visdom(env='test1' ) x = t.arange(1 , 30 , 0.01 ) y = t.sin(x) vis.line(X=x, Y=y, win='sinx' , opts={'title' : 'y=sin(x)' } )
第四步,网页查看 打开http://localhost:8097/就可以看到日志记录的内容了
pytorch常用代码段整理