【一起深度学习——NIN】

NIN神经网络

  • 原理图:
  • 代码实现:
  • 输出结果:

原理图:

请添加图片描述

代码实现:

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

def nin_block(in_channels, out_channels, kernel_size, strides, padding):
    return nn.Sequential(
        #模块化设计思想,方便重复使用。
        #经过一个卷积层,再加两个1*1的卷积层。起到全连接层的作用。
        nn.Conv2d(in_channels,out_channels,kernel_size,strides,padding),
        nn.ReLU(),
        # 两个1*1的卷积层,并不会改变形状,不改变通道数
        nn.Conv2d(out_channels, out_channels, kernel_size=1, stride=1),
        nn.ReLU(),
        nn.Conv2d(out_channels,out_channels,kernel_size=1,stride=1),
        nn.ReLU(),
    )

#nn.Sequential 容器
net = nn.Sequential(
    nin_block(1,96,kernel_size=11,strides=4,padding=0),
    nn.MaxPool2d(kernel_size=3,stride=2),
    nin_block(96,256,kernel_size=5,strides=1,padding=2),
    nn.MaxPool2d(kernel_size=3,stride=2),
    nin_block(256,384,kernel_size=3,strides=1,padding=1),
    nn.MaxPool2d(kernel_size=3,stride=2),
    nn.Dropout(0.5),
    # [1,10,5,5]
    nin_block(384, 10, kernel_size=3, strides=1, padding=1),
    #自适应平均池化。与普通的池化层不同,允许指定输出特征图的大小而不是池化层的大小。
    #[1,10,5,5] => [1,10,1,1]
    nn.AdaptiveAvgPool2d(output_size=(1,1)),
    # [1,10,1,1] =>[1,10*1*1] =>[1,10]
    nn.Flatten()
)

#开始训练
lr, num_epochs, batch_size = 0.1, 10, 128
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=224)
d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())

输出结果:

请添加图片描述
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/610360.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux的命令

; 昨天学习了七个命令,分别是:cd命令(切换目录)、pwd命令(当前目录)、mkdir命令(创建目录)、touch命令(创建文件)、date命令(显…

weditor安装的时候产生的问题

先放出来github的地址https://github.com/alibaba/web-editor,这个上面给了两种安装方式一种是: pip3 install -U weditor 这种方式会报错误, 具体原因我也不知道。那就采用第二种方式 git clone https://github.com/openatx/weditor pip3…

JS执行原理大揭秘:事件循环Event Loop与宏任务、微任务

前言 📫 大家好,我是南木元元,热爱技术和分享,欢迎大家交流,一起学习进步! 🍅 个人主页:南木元元 目录 事件循环概述 异步和单线程 同步任务 异步任务 任务队列 宏任务 微任务…

海云安受邀参加诸子云 4.27南京「金融互联网」私董会

4月27日,“安在新媒体网安用户行业活动”第四期私董会在南京顺利举办。活动以“金融&互联网”为主题,邀请十余位业内资深的甲方用户以及典型厂商代表。摒弃传统的议题分享,采取“随时问答,自由讨论”的形式,提问题…

在做题中学习(57):寻找数组的中心下标

724. 寻找数组的中心下标 - 力扣(LeetCode) 解法:前缀和后缀和 思路:要看一个数是不是中心下标,就看他前面数的和 与 后面数的和 相不相等。 1.i前面数的和,是[0,i-1] 的前缀和,i后面数的和&am…

LeetCode746:使用最小花费爬楼梯

题目描述 给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 代码 …

323_C++_QT_QProcess执行cmd解压、压缩、删除tar.gz等等其他压缩包文件到指定目录,不需要外部库,QT自带API的就行

// decompressPath : 解压到此目录 // fileName : 解压的tar.gz文件名executeCommand(decompressPath , QString::fromStdString(fileName));// 开始解压 void executeCommand

视频剪辑一键处理技巧:批量分割视频,快速提取m3u8视频

随着网络视频的普及和多样化,视频剪辑和处理成为了很多用户的基本需求。在众多的视频处理技巧中,批量分割视频快速提取m3u8视频是常见的操作。本文将介绍如何利用云炫AI智剪一键处理的技巧,轻松完成这些任务,提高视频剪辑的效率。…

提高岩土工程安全的关键:锚索测力计的应用

岩土工程是土木工程中的一个重要分支,涉及到基础建设、坡面稳定、隧道建设等多个领域。这些工程的安全性对人们的生活和财产安全至关重要。在众多技术和工具中,锚索测力计的应用在提高岩土工程的安全性方面发挥了不可替代的作用。 点击输入图片描述&…

AXI4写时序在AXI Block RAM (BRAM) IP核中的应用

在本文中将展示描述了AXI从设备(slave)AXI BRAM Controller IP核与Xilinx AXI Interconnect之间的写时序关系。 1 Single Write 图1是一个关于32位宽度的BRAM(Block RAM)的单次写入操作的例子。这个例子展示了如何向地址0x1000h…

[ 视频号]代替用户发布视频api

使用接口,替代用户使用设备直接发布视频api 接口地址: http://接口地址/api/v2 先调用登录接口,进行账号登录 登录二维码接口入参: {"appId": "","proxyIp": "","regionId"…

springcloud整合网关(springcloud-gateway)

pom引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!-- 服务注册 --><dependency><groupId>com.alibaba.cloud</groupId&…

postman工具使用

一、配置每个接口都有公共的请求头 1.1 新建一个collect集合 my test 1.2 在pre-request script 输入配置 pm.request.addHeader("uid:24011"); pm.request.addHeader("version:2.0.0"); pm.request.addHeader("timezone:8"); pm.request.ad…

Redis 实战之监视器

监视器 成为监视器向监视器发送命令信息总结 成为监视器 发送MONITOR 命令可以让一个普通客户端变为一个监视器&#xff0c; 该命令的实现原理可以用以下伪代码来实现&#xff1a; def MONITOR():# 打开客户端的监视器标志client.flags | REDIS_MONITOR# 将客户端添加到服务器…

基于微信小程序的校园二手交易平台设计与实现(论文+源码)_kaic

基于微信小程序的校园二手交易平台 设计与实现 摘 要 随着绿色低碳消费和循环经济的理念越来越深入人心,大学生二手商品市场发展迅猛&#xff0c;而大部分二手交易平台运输方式与收售方式对于大学生用户群体并不适用&#xff0c;所以急需一款针对大学生二手商品交易的软件&…

【千帆平台】使用AppBuilder零代码创建应用,然后通过OpenAPI方式调用应用

欢迎来到《小5讲堂》 这是《千帆平台》系列文章&#xff0c;每篇文章将以博主理解的角度展开讲解。 温馨提示&#xff1a;博主能力有限&#xff0c;理解水平有限&#xff0c;若有不对之处望指正&#xff01; 目录 前言创建API密钥调用文档调用说明API服务域名通信协议字符编码公…

视频号小店保证金,服务费,手续费是多少?货款结算周期多长?

大家好&#xff0c;我是电商糖果 随着视频号小店越来越火&#xff0c;很多商家都想入驻小店。 入驻之前大家对视频号的收费问题都比较好奇。 糖果2022年就开始做店的了&#xff0c;对小店的保证金&#xff0c;服务费的&#xff0c;手续费&#xff0c;货款结算周期都非常了解…

Windows使用Miniconda3安装python、环境配置以及conda常用命令

Windows使用Miniconda3安装python以及conda常用命令 这是学习使用python的第一篇文章&#xff0c;这将是一个关于python学习和使用的一个系列文章的开始&#xff0c;有兴趣的可以给个关注持续获取更新内容。 Miniconda3是什么&#xff1f; Miniconda3是一个轻量级的Anaconda发…

【双曲几何-05 庞加莱模型】庞加来上半平面模型的几何属性

文章目录 一、说明二、双曲几何的上半平面模型三、距离问题四、弧长微分五、面积问题六、python实现 一、说明 我们知道&#xff0c;双曲几何的著名模型有四种&#xff1a;微分解析模型、庞加莱盘、庞加莱半平面、克莱因盘。庞加莱圆盘模型是表示双曲几何的一种方法&#xff0c…

【Linux】Centos7配置JDK

1.启动虚拟机、Xshell、Xftp 2.在Xshell中新建一个会话&#xff0c;用于连接到虚拟机中 3.因为虚拟机里自带有JDK&#xff0c;所以需要先卸载自带的JDK 3.1.查询已安装的 jdk 列表 rpm -qa | grep jdk3.2.将查询到的全部删除 yum -y remove XXX&#xff08;上面查询到的 j…
最新文章