Pytorch多层感知机的实现方法
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要讲解了"Pytorch多层感知机的实现方法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Pytorch多层感知机的实现方法"吧!impor
千家信息网最后更新 2025年02月03日Pytorch多层感知机的实现方法
这篇文章主要讲解了"Pytorch多层感知机的实现方法",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Pytorch多层感知机的实现方法"吧!
import torchfrom torch import nnfrom torch.nn import initimport numpy as npimport sysimport torchvisionfrom torchvision import transformsnum_inputs=784num_outputs=10num_hiddens=256mnist_train = torchvision.datasets.FashionMNIST(root='~/Datasets/FashionMNIST', train=True, download=True, transform=transforms.ToTensor())mnist_test = torchvision.datasets.FashionMNIST(root='~/Datasets/FashionMNIST', train=False, download=True, transform=transforms.ToTensor())batch_size = 256train_iter = torch.utils.data.DataLoader(mnist_train, batch_size=batch_size, shuffle=True)test_iter = torch.utils.data.DataLoader(mnist_test, batch_size=batch_size, shuffle=False)def evalute_accuracy(data_iter,net): acc_sum,n=0.0,0 for X,y in data_iter: acc_sum+=(net(X).argmax(dim=1)==y).float().sum().item() n+=y.shape[0] return acc_sum/ndef train(net,train_iter,test_iter,loss,num_epochs,batch_size,params=None,lr=None,optimizer=None): for epoch in range(num_epochs): train_l_sum,train_acc_sum,n=0.0,0.0,0 for X,y in train_iter: y_hat=net(X) l=loss(y_hat,y).sum() if optimizer is not None: optimizer.zero_grad() elif params is not None and params[0].grad is not None: for param in params: param.grad.data.zero_() l.backward() optimizer.step() # "softmax回归的简洁实现"一节将用到 train_l_sum+=l.item() train_acc_sum+=(y_hat.argmax(dim=1)==y).sum().item() n+=y.shape[0] test_acc=evalute_accuracy(test_iter,net); print('epoch %d, loss %.4f, train acc %.3f, test acc %.3f' % (epoch + 1, train_l_sum / n, train_acc_sum / n, test_acc))class Faltten(nn.Module): def __init__(self): super(Faltten, self).__init__() def forward(self,x): return x.view(x.shape[0],-1)net =nn.Sequential( Faltten(), nn.Linear(num_inputs,num_hiddens), nn.ReLU(), nn.Linear(num_hiddens,num_outputs))for params in net.parameters(): init.normal_(params,mean=0,std=0.01)batch_size=256loss=torch.nn.CrossEntropyLoss()optimizer=torch.optim.SGD(net.parameters(),lr=0.5)num_epochs=5train(net,train_iter,test_iter,loss,num_epochs,batch_size,None,None,optimizer)
感谢各位的阅读,以上就是"Pytorch多层感知机的实现方法"的内容了,经过本文的学习后,相信大家对Pytorch多层感知机的实现方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
多层
方法
学习
内容
简洁
就是
思路
情况
文章
更多
知识
知识点
篇文章
跟着
问题
实践
推送
研究
验证
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
pads数据库连接
关于互联网科技前沿的网站
网络服务器怎样运作的
四川大学网络安全学院保研率
惠普服务器山东
联想st58服务器是什么接口的
浪潮服务器硬盘灯同步状态
无锡华硕服务器维修服务
软件开发企业如何核算成本
一站式网络技术咨询售后服务
数据库给单个列添加数据
JAVA数据库在线聊天系统
群聊数据库怎么设计
考研网络安全专业课考什么
solr 添加数据库
三级 网络技术
虹口区专业软件开发联系方式
格式工厂可以数据库转换吗
荔湾正规的小程序软件开发
地平线连不上xbox服务器
app如何做到多服务器
郑州互联网软件开发正规平台
rtx服务器配置
江苏正规服务器机柜
网络技术培训哪个平台直播好
使用网络打印服务器
长兴誉美网络技术服务工作室
黑魂三连不连服务器
超低功耗windows服务器
软件开发管理缩写