Pytorch中使用tensorboard中如何添加网络结构add_graph
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,Pytorch中使用tensorboard中如何添加网络结构add_graph,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收
千家信息网最后更新 2025年01月25日Pytorch中使用tensorboard中如何添加网络结构add_graph
Pytorch中使用tensorboard中如何添加网络结构add_graph,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
from torch.utils.tensorboard import SummaryWriterimport torchimport torchvisionfrom torchvision import datasets,transformsfrom torch.autograd import Variableclass Model(torch.nn.Module):def __init__(self):super(Model,self).__init__()self.conv1=torch.nn.Sequential(#输入torch.Size([64, 1, 28, 28])torch.nn.Conv2d(1,64,kernel_size=3,stride=1,padding=1),# 用于搭建卷积神经网络的卷积层,主要的输入参数有输入通道数、# 输出通道数、卷积核大小、卷积核移动步长和Padding值。# 输出维度 = 1+(输入维度-卷积核大小+2*padding)/卷积核步长 #输出torch.Size([64, 64, 28, 28])torch.nn.ReLU(),#输出torch.Size([64, 64, 28, 28])torch.nn.Conv2d(64,128,kernel_size=3,stride=1,padding=1),#输出torch.Size([64, 128, 28, 28])torch.nn.ReLU(),torch.nn.MaxPool2d(stride=2,kernel_size=2)# 主要的输入参数是池化窗口大小、池化窗口移动步长和Padding值#输出torch.Size([64, 128, 14, 14]))self.dense=torch.nn.Sequential(#输入torch.Size([64, 14*14*128])torch.nn.Linear(14*14*128,1024),#class torch.nn.Linear(in_features,out_features,bias = True)#输出torch.Size([64, 1024])torch.nn.ReLU(),torch.nn.Dropout(p=0.5),# torch.nn.Dropout类用于防止卷积神经网络在训练的过程中# 发生过拟合,其工作原理简单来说就是在模型训练的过程中,# 以一定的随机概率将卷积神经网络模型的部分参数归零,以达# 到减少相邻两层神经连接的目的。这样做是为了让我们最后训# 练出来的模型对各部分的权重参数不产生过度依赖,从而防止# 过拟合。对于torch.nn.Dropout类,我们可以对随机概率值# 的大小进行设置,如果不做任何设置,就使用默认的概率值0.5。torch.nn.Linear(1024,10)#输出torch.Size([64, 10]) )def forward(self,x):#torch.Size([64, 1, 28, 28])x = self.conv1(x)#输出torch.Size([64, 128, 14, 14])x = x.view(-1,14*14*128)#view()函数作用是将一个多行的Tensor,拼接成一行,torch.Size([64, 14*14*128])x = self.dense(x)#输出torch.Size([64, 10])return xtransform = transforms.Compose([transforms.ToTensor(),transforms.Normalize(mean=[0.5],std=[0.5])])data_train = datasets.MNIST(root = "./data/",transform=transform,train = True,download = True)data_loader_train = torch.utils.data.DataLoader(dataset = data_train,batch_size = 64,shuffle = True)# images, labels = next(iter(data_loader_train))#迭代器# torch.Size([64, 1, 28, 28])images = torch.randn(64, 1, 28, 28)model = Model()writer = SummaryWriter()for i in range(5): images = torch.randn(64, 1, 28, 28) writer.add_graph(model, input_to_model=images, verbose=False)writer.flush()writer.close()# tensorboard --logdir=runs
结果展示:
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
输出
卷积
输入
网络
参数
大小
神经
概率
模型
神经网络
步长
维度
过程
通道
部分
帮助
移动
训练
网络结构
结构
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
洛阳北大青鸟软件开发
服务器和带宽
平台管理服务器价格
串口服务器网线
找不到全文文献的数据库是
supercloud服务器
域服务器的管理
税务局领导网络安全会议讲话
大学综合实力博雅数据库官网
数据库优化方式
至强服务器cpu行情
温州计算机网络技术口碑推荐
怎么制作数据库文档
vba整合表格数据库
多媒体与网络技术的学习应用
福建居家智慧养老软件开发
苏州安卓软件开发定做
数据库试卷百度网盘
数据库当中的键
西电网络安全学院院长
网络安全员喜欢用什么电脑
个人win10系统自带数据库
网络安全刘建伟王育民
一个服务器有几个网口
传统的三个数据库模型是
电脑装安卓系统服务器异常
临沧软件开发前途
他们是怎样看待网络安全的
java软件开发就业方向
杭州 app软件开发