首页 > 其他分享 >mlp

mlp

时间:2024-06-24 13:43:51浏览次数:14  
标签:nn torch iter mlp train d2l size

import torch
from d2l import torch as d2l
from torch import nn
batch_size = 100
train_iter , test_iter = d2l.load_data_fashion_mnist(batch_size=batch_size)
input_size = 784
hidden_size = 300
output_size = 10
W1 = nn.Parameter( 
    torch.randn(input_size , hidden_size , requires_grad = True)*0.01
)
b1 = nn.Parameter( 
    torch.randn(1 , hidden_size , requires_grad = True)*0.01
)

W2 = nn.Parameter( 
    torch.randn(hidden_size , output_size , requires_grad = True)*0.01
)
b2 = nn.Parameter( 
    torch.randn(1 , output_size , requires_grad = True)*0.01
)

params = [W1 , b1 , W2 , b2]
W1.shape , b1.shape , W2.shape , b2.shape
(torch.Size([784, 300]),
 torch.Size([1, 300]),
 torch.Size([300, 10]),
 torch.Size([1, 10]))
def relu(X):
    zero = torch.zeros_like(X)
    return torch.max(X,zero)
relu( torch.randn(1,2) )
tensor([[2.3051, 0.0000]])
def net(X):
    hid1 = relu((X.reshape(X.shape[0],-1))@W1 + b1)
    return hid1@W2+b2
loss = nn.CrossEntropyLoss(reduction="none")
lr = 0.1
trainer = torch.optim.SGD(params , lr)
help(d2l.train_ch3)
Help on function train_ch3 in module d2l.torch:

train_ch3(net, train_iter, test_iter, loss, num_epochs, updater)
    Train a model (defined in Chapter 3).
    
    Defined in :numref:`sec_softmax_scratch`

num_epoch = 10
d2l.train_ch3(net , train_iter , test_iter ,loss , num_epoch , trainer )

重点函数

  • torch.zeros_like(x) 创建与x的shape相同的零矩阵张量

简洁版

import torch
from torch import nn
from d2l import torch as d2l

batch_size = 100
train_iter , test_iter = d2l.load_data_fashion_mnist(batch_size)
net = nn.Sequential(nn.Flatten(),
                    nn.Linear(784,500),
                    nn.ReLU(),
                    nn.Linear(500,10)
                   )
lr = 0.1
loss = nn.CrossEntropyLoss(reduction="none")
trainer = torch.optim.SGD(net.parameters() , lr)
help(d2l.train_ch3)
Help on function train_ch3 in module d2l.torch:

train_ch3(net, train_iter, test_iter, loss, num_epochs, updater)
    Train a model (defined in Chapter 3).
    
    Defined in :numref:`sec_softmax_scratch`

num_epoch = 10
d2l.train_ch3(net,train_iter , test_iter , loss , num_epoch , trainer)


标签:nn,torch,iter,mlp,train,d2l,size
From: https://www.cnblogs.com/cndccm/p/18264872

相关文章

  • KAN神经网络 | KAN和MLP比较
    首先,让我们快速概述一下KAN及其实现的理论:柯尔莫哥洛夫-阿诺德表示定理:我们跳过繁琐的公式和定义,只用一个简单的解释。KART指出,任何具有多个输入的连续函数都可以通过组合单个输入的简单函数(如正弦或平方)并将它们相加来创建。例如,多元函数f(x,y)=x*y。这可以写成:((......
  • NLP 分类项目 :姓—国家名(从MLP到CNN)
    文章目录1.项目简介2.前置知识2.1单层感知机2.2多层感知机2.3卷积操作2.4卷积神经网络3.项目实现3.1文本表示(数据集展示+处理)3.2分类模型(MLP模型+CNN网络)3.2.1MLP模型3.2.1CNN网络3.3损失函数3.3.1信息熵3.3.2交叉熵损失3.4优化算法3.5流程组装4.项目效......
  • 基于多层感知器(MLP)的姓氏分类
    一.MLP简介    1.什么是MLP?多层感知机(MLP)是一种前馈神经网络,由至少三层神经元组成:输入层、隐藏层(可能有多层),以及输出层。每一层都与下一层全连接,每个连接都有一个权重。MLP是一种通用函数逼近器,它可以学习并表示复杂的非线性关系。2.MLP结构输入层(InputLayer):......
  • Xinhui学习NLP的笔记本:基于MLP/CNN的姓氏分类系统
    ASurnameClassificationSystembasedonMLP基于MLP的姓氏分类系统ThisnotebookservesasmylearningjourneyintotheMultilayerPerceptron(MLP),whichisafundamentaltypeofFeedforwardNeuralNetwork.Throughoutthisarticle,Iwillbeundertakin......
  • 用 pytorch 从零开始实现单隐层 MLP
    我的代码如下:importtorchfromtorchvisionimporttransformsfromtorch.utilsimportdata导入torchvision#==============load数据集defget_dataloader_workers():返回4defload_data_fashion_mnist(batch_size,resize=None):trans=[transforms.ToT......
  • 号称能打败MLP的KAN到底行不行?数学核心原理全面解析
    前几天火爆的Kolmogorov-ArnoldNetworks是具有开创性,目前整个人工智能社区都只关注一件事LLM。我们很少看到有挑战人工智能基本原理的论文了,但这篇论文给了我们新的方向。mlp或多层感知位于AI架构的最底部,几乎是每个深度学习架构的一部分。而KAN直接挑战了这一基础,并且也挑战了......
  • MLP实现minist数据集分类任务
    1.数据集minist手写体数字数据集2.代码'''Description:Author:zhangyhDate:2024-05-0415:21:49LastEditTime:2024-05-0422:36:26LastEditors:zhangyh'''importnumpyasnpclassMlpClassifier:def__init__(self,input_si......
  • MLP实现波士顿房屋价格回归任务
    1.数据集波士顿房屋价格.csv文件,文件中的数据有可能不完整,部分数据如下:CRIM,ZN,INDUS,CHAS,NOX,RM,AGE,DIS,RAD,TAX,PTRATIO,LSTAT,MEDV0.00632,18,2.31,0,0.538,6.575,65.2,4.09,1,296,15.3,4.98,240.02731,0,7.07,0,0.469,6.421,78.9,4.9671,2,242,17.8,9.14,21.60.02......
  • [深度学习]多层感知机(MLP)
    多层感知机(MLP)1.单层感知机1.1感知机线性回归输出的是一个实数,感知机输出的是一个离散的类。1.2训练感知机①如果分类正确的话y<w,x>为正数,负号后变为一个正数,和\(0\)取\(max\)之后得\(0\),则梯度不进行更新②如果分类错了,y<w,x>为负数,的判断条件成立,就进行梯度更新。......
  • NVIDIA H200 创下 MLPerf LLM 最新推理记录
    NVIDIAH200TensorCoreGPU和NVIDIATensorRT-LLM创下MLPerfLLM最新推理记录生成式人工智能正在解锁新的计算应用程序,通过持续的模型创新来极大地增强人类的能力。生成式AI模型(包括大型语言模型(LLM))用于制作营销文案、编写计算机代码、渲染详细图像、创作音......