[ouc]走向深度学习-1.0

这篇博客介绍了如何配置PyTorch1.12.1和torchvision0.13.1环境,以及在PyCharm中进行debug。通过实例学习神经网络分类任务,特别是MNIST手写数字识别。文章详细阐述了数据预处理、张量与numpy的区别、模型构建、训练与验证过程,以及如何使用DataLoader。同时,讨论了PyTorch的全连接网络结构和前向传播。
部署运行你感兴趣的模型镜像

理解基本概念

在这里插入图片描述

配置开发环境

配置torch和torchvision
pytorch1.12.1和torchvision0.13.1

pycharm环境配置和debug

debug每个断点可以在运行到时可以观察参数的情况

step over和step into

按住ctrl查看参数定义

  • 清华源
  • pip install numpy== 查找可以装的版本
  • pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 手动装:从pypi下载.whl文件
  • github-issue找已发现错误

PyTorch框架介绍与配置安装

why to choose:选的人多;向下兼容好

案例学习·使用神经网络进行分类任务

这部分难度较大,我在一步一步学习:
grab my courage again

Mnist分类任务

  • torch中的基础模块
  • 导入包import (版本–
  1. 下载数据集 (data文件夹中
  • 环境:jupyter
  1. 读入数据 (packle
  2. 展示数据 (pyplot; 不懂的多打印
  • 讲解数据内容:规模,样本
  1. 数据处理 (torch; 进行格式转换,map映射操作
  • torch(tensor=张量)和numpy(ndarray)区别
  • n,c:样本个数,像素特征
  1. 测试torch
  • nn.function:测试,简单;nn.Module
  • 测试函数(x*w+b):损失,交叉;
  • 指定一次训练多少个样本=>x;初始化w和b
  • 权重参数:随机初始化而来
  • 初始化w:规模考虑输入,经过一层计算,10个分类(10个数字),模型更新=>w需要有梯度
  • 参与计算的两个参数:预测结果,标签
  1. 构建模型:手写字体识别
  • 全连接结构:每一层都是权重参数*输入+偏置项

  • 结构:输入层:784(28*28)个像素=> 隐层(hidden units):128个神经元=> 输出层:取决于任务(10个数字分类)

  • 逻辑:输入=> 得到128个特征=> 当前样本属于各个分类的概率

  • 6.1.构建网络:引入nn(神经网络)模块;面向工具包编程(定义一个类,继承nn.Module;定义构造函数(定义层;定义随机杀死神经元百分比);定义前向传播:输入x,定义怎样用,走一层还走drop out避免过度拟合

  • 打印一些数据,做基本观察

  • 6.2. 构建数据集:TensorDataset(封装数据)和DataLoader(打包数据)

  • 数据:训练集和验证集

  • 6.3. 训练数据

  • 优化器:参数包含更新哪些参数和学习率,(梯度方向,更新操作,梯度置零)

  • 模型的两个模式:训练和验证(不更新)

  • 进入循环,训练(做计算,更新w,b),验证

  • 一个epoch就把整个数据集训练了一遍=>

  • 在这里插入图片描述

  • zip的用法

  • max的用法

DateLoader自定义数据集制作

自定义数据集

dateloader: pytorch提供的打包数据的方法

样本名称 标识符

示例:标注文件(不限格式 )+混在 一起的样本

random shuffle

  • 导包
  • 得到字典
  • 把图片路径和标签都转进list,并把路径补充完整
  1. 定义数据类
  • 构造:数据->列表
  • 获取:获取一个样本数据
  1. 类数理化
  2. 训练和验证数据集进行传输(dataloader)
  3. 检查并进行训练

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值