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

构建网络 练习题三道

问题

构建网络1:


  1. [_,1,28,28]
    [_,16,14,14]
    [_,32,7,7]
    [_,32,1,1]
    [_,32]
    [_,64]
    [_,10]

  2. 构建网络2:


    [_,1,28,28]
    [_,16,14,14]
    [_,32,7,7]
    [_,32,1,1]
    [_,10,1,1]
    [_,10]

  3. 构建网络3:

[_,1,28,28]

[_16,14,14]

[_,128,14,14]

[_,256,7,7]

[_,256,1,1]

[_,256]

[_,10]

方法

构建网络1:
import torch.nn as nn
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(1, 16, 3, padding=1)
        self.conv2 = nn.Conv2d(16, 32, 3, padding=1)
        self.conv3 = nn.Conv2d(32, 32, 3, padding=1)
        self.conv4 = nn.Conv2d(32, 32, 3, padding=1)
        self.conv5 = nn.Conv2d(32, 64, 3, padding=1)
        self.fc1 = nn.Linear(64, 10)
    def forward(self, x):
        x = nn.functional.relu(self.conv1(x))
        x= nn.functional.max_pool2d(nn.functional.relu
(self.conv2(x)), 2)
        x = nn.functional.relu(self.conv3(x))
        x = nn.functional.max_pool2d(nn.functional.relu
(self.conv4(x)), 2)
        x = nn.functional.max_pool2d(nn.functional.relu
(self.conv5(x)), 2)
        x = x.view(-1, 64)
        x = self.fc1(x)
        return x
构建网络2:
import torch.nn as nn
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(1, 16, 3, padding=1)
        self.conv2 = nn.Conv2d(16, 32, 3, padding=1)
        self.conv3 = nn.Conv2d(32, 32, 3, padding=1)
        self.conv4 = nn.Conv2d(32, 10, 3, padding=1)
        self.fc1 = nn.Linear(10, 10)
    def forward(self, x):
        x = nn.functional.relu(self.conv1(x))
        x = nn.functional.max_pool2d(nn.functional.relu
(self.conv2(x)), 2)
        x = nn.functional.relu(self.conv3(x))
        x = nn.functional.max_pool2d(nn.functional.relu
(self.conv4(x)), 2)
        x = nn.functional.adaptive_avg_pool2d(x, (1, 1))
        x = x.view(-1, 10)
        x = self.fc1(x)
        return x
构建网络3:
import torch.nn as nn
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(1, 16, 3, padding=1)
        self.conv2 = nn.Conv2d(16, 128, 3, padding=1)
        self.conv3 = nn.Conv2d(128, 256, 3, padding=1)
        self.conv4 = nn.Conv2d(256, 256, 3, padding=1)
        self.conv5 = nn.Conv2d(256, 256, 3, padding=1)
        self.fc1 = nn.Linear(256, 10)
    def forward(self, x):
        x = nn.functional.relu(self.conv1(x))
        x = nn.functional.max_pool2d(nn.functional.relu
(self.conv2(x)), 2)
        x = nn.functional.relu(self.conv3(x))
        x = nn.functional.max_pool2d(nn.functional.relu
(self.conv4(x)), 2)
        x = nn.functional.relu(self.conv5(x))
        x = nn.functional.adaptive_avg_pool2d(x, (1, 1))
        x = x.view(-1, 256)
        x = self.fc1(x)
        return x

结语

本次实验我们做了三个练习题,需要的知识在课堂上已经有过演示了。在实际编写代码中我们运用了nn. Conv2d()进行卷积层的构建;利用激活函数nn.ReLU(),使分类效果更好;整体来说是比较简单的,编写过程中也没有遇到什么问题。

相关文章:

  • idea快捷键 Spring endpoint actions in the editor
  • Vue自定义指令最佳实践教程
  • 2022年蓝桥杯第十三届CC++大学B组真题及代码
  • Jmeter如何使用MD5进行加密?
  • 界面控件DevExpress WPF v25.1新功能预览 - AI功能增强
  • 大厂算法面试 7 天冲刺:第6天-树与图深度剖析——高频算法面试题 Java 实战
  • oracle WAIT 和 NOWAIT
  • 基于开源链动 2+1 模式 AI 智能名片 S2B2C 商城小程序的社群团购品牌命名策略研究
  • Kotlin 类委托深入解析:以 MMKV 为例看委托机制在 Android 中的巧妙应用
  • 2025年渗透测试面试题总结- 某腾讯科恩实验室实习扩展 一面(题目+回答)
  • 手搓MNIST数据集识别神经网络
  • 【mongodb】mongodb的字段类型
  • REST 方法
  • 数据分析参考架构详解
  • 算法 | 基于灰狼优化算法求解带时间窗的车辆路径问题(VRPTW)研究(附matlab代码)
  • 图像处理中的高斯金字塔与直方图分析
  • 大模型微调中遇到的问题集合
  • 【c语言】初阶指针
  • Webpack:详解打包和管理JavaScript和CSS依赖
  • Linux开发工具——gcc
  • 建网站要多少钱一台/沈阳seo排名外包
  • javaee是做网站的?/百度官网优化
  • 做网站南京/厦门seo优化外包公司
  • 优化落实疫情防控新十条/seo优化报告
  • 罗庄区建设局网站/青岛seo杭州厂商
  • 港闸网站建设制作/湖北seo关键词排名优化软件