环境配置开始有些问题(Pytorch1.4+tensorflow2.0+tensorboard2.0),显示不出来,然后更新了下软件能正常显示。
修改后配置如下:
系统:Windows 10
Pytorch:1.4
tensorflow-gpu: 2.1.0
tensorboard: 2.1.1
import torch
import torchvision
from torch.utils.tensorboard import SummaryWriter
from torchvision import datasets, transforms
# 设置输出文件目录
writer = SummaryWriter('runs/test')
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))])
trainset = datasets.MNIST('./mnist_train', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=64, shuffle=True)
model = torchvision.models.resnet50(False)
# Have ResNet model take in grayscale rather than RGB
model.conv1 = torch.nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3, bias=False)
images, labels = next(iter(trainloader))
grid = torchvision.utils.make_grid(images)
writer.add_image('images', grid, 0)
# 写入图像数据
writer.add_graph(model, images)
# 写入模型
writer.close()
熟悉Pytorch的应该知道使用Pytroch的dataset导入数据集的方式和下载到本地后的文件后的文件目录,使用python下载有时候速度会比较慢,可以全部或部分粘贴下载地址到迅雷下载,下载好后拷贝到对应目录。
下面显示的是路径设置为 D:\workspace\pytorch\pytorch_tutorial\mnist 时生成的文件结构,自己只需要下载./MNIST/raw目录下4个gz结尾的压缩文件。
运行上面的代码后,将创建两个新目录:mnist_train和runs。 -mnist_train包含MNIST数据集。-runs 包含tensorboard运行数据。
我们可以使用tensorboard,需要使用--logdir参数指定运行的存储位置。
tensorboard --logdir=runs
访问 http://localhost:6006/ TensorBoard应与MNIST图像一起出现
TENSORBOARD模块函数介绍:
torch.utils.tensorboard.writer.SummaryWriter(log_dir=None, comment='', purge_step=None, max_queue=10, flush_secs=120, filename_suffix='')
- log_dir(string) - 保存目录位置。默认值为runs / CURRENT_DATETIME_HOSTNAME,每次运行后都会更改。使用分层文件夹结构轻松比较运行。例如,为每个新实验传递'runs / exp1','runs / exp2'等,以便比较它们。
- comment(string) - 注释log_dir后缀附加到默认值 log_dir。如果log_dir已分配,则此参数无效
add_scalar(tag, scalar_value, global_step=None, walltime=None)
# 增加一个标量数据
add_graph(model,input_to_model = None,verbose = False)
# 将模型添加到summary
add_figure(tag,figure,global_step = None,close = True,walltime = None)
# 将matplotlib图形渲染为图像并将其添加到summary中
add_images(tag, img_tensor, global_step=None, walltime=None, dataformats='NCHW')
# 将batch图像添加到summary中
参考文献