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

网站的文件结构网站制作步骤流程图

网站的文件结构,网站制作步骤流程图,宁波网站建设费用报价,汕头seo课程培训大家好呀,我又来了😊😊😊 源码在这里 文章目录PyTorch学习笔记:多层感知机与MNIST分类实战 🚀1. torchvision库与内置数据集加载 📚1.1 torchvision库介绍1.2 MNIST数据集加载1.3 ToTensor转换器…

大家好呀,我又来了😊😊😊
源码在这里

文章目录

  • PyTorch学习笔记:多层感知机与MNIST分类实战 🚀
    • 1. `torchvision`库与内置数据集加载 📚
      • 1.1 `torchvision`库介绍
      • 1.2 MNIST数据集加载
      • 1.3 `ToTensor`转换器作用
      • 1.4 `DataLoader`核心功能
      • 1.5 数据形状分析
      • 1.6 数据可视化(代码示例)
    • 2. 多层感知机(MLP)🧠
      • 2.1 核心结构
      • 2.2 核心公式
    • 3. 激活函数 🔥
      • 3.1 ReLU(修正线性单元)
      • 3.2 Sigmoid
      • 3.3 Tanh(双曲正切)
      • 3.4 LeakyReLU
    • 4. 关键知识点总结 📌

PyTorch学习笔记:多层感知机与MNIST分类实战 🚀

1. torchvision库与内置数据集加载 📚

1.1 torchvision库介绍

  • 核心功能:处理图像和视频的PyTorch辅助库
  • 主要组件
    • 常用数据集(MNIST, CIFAR等)
    • 预训练模型(ResNet, VGG等)
    • 图像转换函数
  • 重要类
    • torch.utils.data.Dataset:所有数据集的基础类
    • torch.utils.data.DataLoader:批量加载数据的关键工具
import torchvision
from torchvision.transforms import ToTensor

1.2 MNIST数据集加载

train_ds = torchvision.datasets.MNIST('data/', train=True, transform=ToTensor(),download=True
)
test_ds = torchvision.datasets.MNIST('data/', train=False, transform=ToTensor()
)

参数解析:

  1. 数据存放位置'data/'
  2. 训练/测试集train=True/False
  3. 预处理transform=ToTensor() 🌟
  4. 下载选项download=True

1.3 ToTensor转换器作用

  1. 将输入转换为张量
  2. 规范图片格式为 Channel × Height × Width
  3. 归一化像素值到[0,1]范围

1.4 DataLoader核心功能

train_dl = torch.utils.data.DataLoader(train_ds, batch_size=64, shuffle=True
)
test_dl = torch.utils.data.DataLoader(test_ds, batch_size=64
)

四大功能:

  1. 乱序操作shuffle=True
  2. 批次采样batch_size控制批次大小
  3. 并行加速num_workers指定子进程数
  4. 批处理转换collate_fn实现批次数据转换

1.5 数据形状分析

imgs, labels = next(iter(train_dl))
print(imgs.shape, labels.shape)  # 输出: torch.Size([64, 1, 28, 28]), torch.Size([64])
  • 每批次包含64张图片
  • 图片格式:1通道 × 28高度 × 28宽度
  • 标签格式:64个数字标签

1.6 数据可视化(代码示例)

import matplotlib.pyplot as plt
import numpy as npplt.figure(figsize=(10, 1))
for i, img in enumerate(imgs[:10]):npimg = img.numpy().squeeze()plt.subplot(1, 10, i+1)plt.imshow(npimg, cmap='gray')plt.axis('off')
plt.show()

👉 输出示例:显示10个手写数字图像及其对应标签

print(labels[:10])  # 输出示例: tensor([5, 0, 4, 1, 9, 2, 1, 3, 1, 4])

2. 多层感知机(MLP)🧠

2.1 核心结构

  • 输入层隐藏层输出层
  • 全连接:每层神经元与下一层所有神经元相连
  • 深度:可包含多个隐藏层

2.2 核心公式

输出 = 激活函数(权重 · 输入 + 偏置)


3. 激活函数 🔥

3.1 ReLU(修正线性单元)

input = torch.randn(2)
output = torch.relu(input)
print(input, output)  # 示例: tensor([-0.5, 1.5]) → tensor([0., 1.5])

特点:

  • 计算高效:max(0, x)
  • 缓解梯度消失
  • 稀疏激活:约50%神经元激活

3.2 Sigmoid

output = torch.sigmoid(input)
print(input, output)  # 示例: tensor([0., -2.]) → tensor([0.5000, 0.1192])

特点:

  • 输出范围(0,1)
  • 概率解释
  • 梯度消失问题:两端饱和区梯度接近0

3.3 Tanh(双曲正切)

output = torch.tanh(input)
print(input, output)  # 示例: tensor([0., 1.]) → tensor([0., 0.7616])

特点:

  • 输出范围(-1,1)
  • 零中心化
  • 比sigmoid梯度更强

3.4 LeakyReLU

m = nn.LeakyReLU(0.1)  # 负斜率=0.1
output = m(input)
print(input, output)  # 示例: tensor([-1.0, 0.5]) → tensor([-0.1000, 0.5000])

特点:

  • 解决"死亡ReLU"问题
  • 负值区小梯度
  • 需要手动设置负斜率

4. 关键知识点总结 📌

概念要点应用场景
ToTensor归一化/格式标准化图像预处理
DataLoader批处理/乱序/并行高效数据加载
ReLU计算高效/缓解梯度消失隐藏层首选
Sigmoid概率输出/二分类输出层(二分类)
Tanh零中心化RNN/LSTM
LeakyReLU解决神经元死亡深度网络

💡 经验法则:优先使用ReLU作为隐藏层激活函数,注意学习率设置以避免神经元死亡问题

通过本笔记,已掌握:

  1. 使用torchvision加载和处理MNIST数据集 ✅
  2. 理解DataLoader的核心功能 ✅
  3. 实现多种激活函数并理解其特性 ✅
  4. 构建多层感知机的基础知识 ✅
http://www.dtcms.com/wzjs/455964.html

相关文章:

  • 深圳网站建设 套餐广州seo技术优化网站seo
  • 郑州做网站齿轮最近的热点新闻
  • 山西太原网站制作自媒体发布平台有哪些
  • 漯河市住房和城乡建设局网站微信朋友圈广告推广代理
  • 物流公司网站建设有什么要点外链查询
  • 上海网站被查深圳网站seo服务
  • wordpress 邮件 key青岛seo用户体验
  • hexo框架做网站百度推广在哪里
  • 品牌商城网站建设公司seo公司官网
  • java做网站和php做网站6企业营销策划是做什么的
  • 建立了公司门户网站国外比较开放的社交软件
  • 网站开发和平台开发网站排名费用
  • 百度网站结构郑州seo外包服务
  • 浏览器怎么打开网站服务器设置百度推广平台
  • 建设网站只广东深圳龙华区
  • 最新全国疫情情况江苏seo哪家好
  • 有没有做丝网的网站呀重庆seo博客
  • 真人棋牌网站怎么做微信怎么推广自己的产品
  • 做网站公司人员营销比较好的知名公司有哪些
  • 水泵行业网站哪个做的好网站在线推广
  • 朝阳市营商环境建设监督局网站长沙网站推广公司
  • 申报教学成果奖网站建设关键词优化排名软件
  • 包头 网站制作百度引擎搜索网址
  • 珠海网站建设联系方式源码时代培训机构官网
  • axure做网站原型互联网营销师资格证
  • 哪个网站开发软件游戏推广一个月能拿多少钱
  • 南水北调中线建建设管理局网站淘宝的17种免费推广方法
  • 怎么做网站美工什么软件可以弄排名
  • 建设部网站实名制举报邵阳seo排名
  • 网页网站建设的ppt模板下载百度快照是干嘛的