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

网站的文件结构深圳全网推广公司

网站的文件结构,深圳全网推广公司,怎么盗用网站,建站平台石家庄盘古大家好呀,我又来了😊😊😊 源码在这里 文章目录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/286938.html

相关文章:

  • 公司网站建设北京seo学途论坛网
  • wordpress虚化主题中山seo关键词
  • 南昌教育网站建设系统优化软件排行榜
  • 商业活动的网站建设手机怎么建自己的网站
  • 企业网站建设的平台朋友圈广告投放
  • 网站开发费怎么入账长春seo网站排名
  • jsp动态网站开发选择题软文之家
  • 网站开发资费整站优化网站
  • python做网站原理个人网站制作教程
  • 自己建网站做微商网络营销的推广手段
  • 响应式网站开发视频教程加快实施创新驱动发展战略
  • 网站编写语言长沙排名优化公司
  • 怎么用php做网站效果好的关键词如何优化
  • 有什么网站可以做运动鞋谷歌浏览器下载安装2022最新版
  • ftp如何上传网站什么是搜索引擎优化?
  • 国家计委建设部网站互联网营销师有什么用
  • 重庆的企业的网站建设seo简单优化操作步骤
  • 网站架构分析怎么写seo排名是什么意思
  • 临沂网站维护公司自媒体代运营
  • 素材网站哪个好怎么宣传自己新开的店铺
  • 用php做电子商务网站湖北seo关键词排名优化软件
  • 企业管理app排行榜班级优化大师网页版登录
  • 南山网站制作惠州seo关键词
  • 做农业种子的网站百度后台推广登录
  • 网站建设可以自己建设服务器吗域名关键词排名查询
  • 好的做详情页的网站有哪些今日最新抗疫数据
  • 百度站长链接提交平台即刻搜索引擎入口
  • wordpress 分布式怎么去优化关键词
  • 涿鹿镇做网站营销推广手段有什么
  • 打击地上黑庄做网站百度推广落地页