当前位置: 首页 > news >正文

【一起深度学习——NIN】

NIN神经网络

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

原理图:

请添加图片描述

代码实现:

import torch
from torch import nn
from d2l import torch as d2ldef 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.lryc.cn/news/345217.html

相关文章:

  • 数字工厂管理系统如何助力企业数据采集与分析
  • uniap之微信公众号支付
  • Django知识点总结
  • 算法(C++
  • Python专题:六、循环语句(1)
  • 力扣2105---给植物浇水II(Java、模拟、双指针)
  • Windows设置Redis为开机自启动
  • 行业早报5.10
  • Java+SpringBoot+JSP实现在线心理评测与咨询系统
  • 机器学习算法应用——K近邻分类器(KNN)
  • python数据分析——数据的选择和运算
  • 《CKA/CKAD应试指南/从docker到kubernetes 完全攻略》学习笔记 第8章 deployment
  • 步态识别论文(6)GaitDAN: Cross-view Gait Recognition via Adversarial Domain Adaptation
  • K8S中的弹性云服务如何搭建,可能遇到的问题,如何解决!(稳啦!!!!全都稳啦!!!)
  • 新增分类——后端
  • 20232801 2023-2024-2 《网络攻防实践》实践九报告
  • 类和对象--this引用原理
  • 力扣:416. 分割等和子集(Java,动态规划:01背包问题)
  • Vue进阶之Vue项目实战(一)
  • 预告 | 飞凌嵌入式邀您共聚2024上海充换电展
  • vite 打包配置并部署到 nginx
  • ResponseHttp
  • 【题解】非对称之美(规律)
  • 遇到如此反复的外贸客户,你可以这样做~
  • 【数据库】简单SQL语句
  • K邻算法:在风险传导中的创新应用与实践价值
  • 【小白的大模型之路】基础篇:Transformer细节
  • Golang | Leetcode Golang题解之第73题矩阵置零
  • JMeter性能压测脚本录制
  • 缓存雪崩、缓存击穿、缓存穿透是什么、之间的区别及解决办法