首页 > 其他分享 >4.3 多层感知机的简洁实现

4.3 多层感知机的简洁实现

时间:2023-06-30 14:00:29浏览次数:36  
标签:nn 4.3 28 batch 多层 感知机 num iter size

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

batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)

num_inputs = 28 * 28
num_outputs = 10
num_hiddens = 256

#注意从数据集train_iter中拿到的小批量X维度是batch_size*28*28的,需要先将其展平成batch_size*784的
net = nn.Sequential(nn.Flatten(),
                    nn.Linear(num_inputs,num_hiddens),
                    nn.ReLU(),
                    nn.Linear(num_hiddens,num_outputs)
                   )

def init_weights(m):
    if type(m) == nn.Linear:
        nn.init.normal_(m.weight,std=0.01)
    return 

net.apply(init_weights)

loss = nn.CrossEntropyLoss(reduction='none')
trainer = torch.optim.SGD(net.parameters(),lr=0.1)
num_epochs = 5
d2l.train_ch3(net,train_iter,test_iter,loss,num_epochs,trainer)

 

在这里,

 

注意:

1. 从数据集train_iter中拿到的小批量X维度是batch_size*28*28的,需要先将其展平成batch_size*784的。

2. nn.Linear()的两个参数分别是线性层(全连接层)的输入神经元的个数(即输入特征数)和输出神经元的个数(即输出特征数).

标签:nn,4.3,28,batch,多层,感知机,num,iter,size
From: https://www.cnblogs.com/pkuqcy/p/17516625.html

相关文章

  • kubernetes安装实战->稳定版本v1.14.3
    kubernetes安装方式有很多种,这里kubeadm方式安装,一主两从形式部署。1、集群信息a、集群节点规划主机名   节点ip    角色  部署组件k8s-master192.168.1.203masteretcd、proxy、apiserver、controller-manage、scheduler、coredns、pausek8s-node1 192.16......
  • 4.2 多层感知机的从零开始实现
    本节实现一个单隐藏层的,具有256个隐藏单元的多层感知机,并且隐藏层使用ralu函数激活。注意,我们通常选择2的若干次幂作为层的隐藏单元数,因为内存在硬件中的分配和寻址方式,这么做往往可以在计算上更高效。1.参数初始化我们用几个张量来表示我们的参数。注意,对于每一层我们都要记......
  • 更简洁的方式实现多层for循环嵌套
    #coding=utf-8phone=['iPhone','HuaWei','Mi']number=[1,2,3]color=['白','黑']forpinphone:forninnumber:forcincolor:print(f'{p}{n}{c}',end='&#......
  • 探索Oracle之数据库升级四 11.2.0.4.0 PSU 11.2.0.4.3
    探索Oracle之数据库升级四11.2.0.4.0PSU11.2.0.4.3一、 检查当前数据库PSU号:[oracle@db01~]$cd/DBSoft/Product/11.2.4/db_1/OPatch/[oracle@db01OPatch]$lscrsdocsemdpatch.pljlibocmopatchopatch.batopatchdiagopatchdiag.batopatch.iniopatch.p......
  • [ARM 汇编]高级部分—性能优化与调试—3.4.3 使用模拟器进行调试与测试
    在ARM汇编程序开发过程中,使用模拟器(emulator)进行调试和测试是一种非常有效的方法。模拟器可以在不同的处理器上测试代码,帮助我们发现潜在的问题,并提供丰富的调试功能。本节将介绍如何使用QEMU(一个流行的开源模拟器)进行ARM汇编程序的调试和测试。安装QEMU首先,我们需要安装QEMU......
  • XCode 4.3.2 如何新建 Window-based Application应用的简单例子
    XCode4以后,项目模版中没有了Window-basedApplication,跟它比较接近的项目模版是EmptyApplication.如下图的选择:我们想建一个Window-basedApplication,需要在EmptyApplication基础上做一些设置。下面是操作步骤,新建一个EmptyApplication默认的EmptyApplication项目包......
  • 感知机(Perceptron)
    受大脑启发的人工智能程序的一个早期例子是感知机(Perceptron),它由心理学家弗兰克·罗森布拉特于20世纪50年代末提出。感知机是一种基于神经网络的二分类模型,它可以用于对输入数据进行分类任务。感知机的结构简单,易于实现和训练,是神经网络的基础。大脑神经系统大脑神经系统无论从构造......
  • Xcode 14.3.1 (14E300c) 下载 - Apple 平台 IDE
    Xcode14.3.1(14E300c)下载-Apple平台IDECommandLineToolsforXcode14,tvOS16&watchOS9SimulatorRuntime请访问原文链接:https://sysin.org/blog/apple-xcode-14/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgXcode14包含了在所有Apple平台上......
  • .NET7 中Autofac依赖注入整合多层,项目中可直接用
    一、配置Autofac替换内置DI1.安装Nuget包:Autofac.Extensions.DependencyInjection 2.Program.cs中加上builder.Host.UseServiceProviderFactory(newAutofacServiceProviderFactory());builder.Host.ConfigureContainer<ContainerBuilder>(containerBuilder=>{//在这里写......
  • TensorFlow05.3 神经网络反向传播算法-多层感知机梯度(理论知识)
    首先这个是链式法则:如果扩展到多层感知机的话:我们在学这个的时候首先知道一个东西:所以这个整体的步骤就是:1.2.3.......