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

Pytorch深度学习笔记

1、大于或等于三维的张量没有名称,统一叫张量。

·点-----标量(Scalar)----0阶张量是标量----只有数值大小,没有方向,部分有正负之分
·线-----向量(Vector)----1阶张量是向量----有大小和方向,如(3,4)。
·面-----矩阵(Matrix)----2阶张量是二维数组----  如[[1,2],[3,4]]
·体-----张量(Tensor)----3阶张量是三维数组
shape()  #0阶张量是标量
shape(3)  #1阶张量是向量
shape[2,3] # 2阶张量是二维数组
shape[2,1,3] # 3阶张量是三维数组

深度学习的基本原理

深度学习的框架是神经网络模型,但它研究多层隐藏层的深度神经网络。
神经网络的重要特性是他能够从环境中学习,神经网络是一个学习过程,在训练过程中,不断调整网络各层的权值矩阵。

卷积神经网络

卷积神经网络(Convolution Neutral Network) CNN。

常用的模型评估指标

·Confusion Matrix(混淆矩阵)
·Precision(精准率)
·Recall(召回率)
·F1-score
·PRC
·ROC和AUC
·IOU

Pytorch 入门1

Pytorch中的所有操作都是基于Tensor(张量)的。

自动求导

在训练神经网络的过程中,最常用的算法是反向传播算法。参数(模型权重)根据损失函数相对于给定参数的梯度进行调整。损失函数计算神经网络产生的期望输出和实际输出之间的差值,目标是使损失函数的结果尽可能接近零。该算法通过网络方向反向遍历来调整权重和偏差,以重新训练模型。

Pytorch神经网络

训练一个神经网络需要大量的数据,称为数据集。数据集一般分为3类。训练集(training set)、验证集(Validation set)、测试集(Test set)。
一个Epoch就等于使用训练集中的全部样本训练一次的过程,这个过程是指一次正向传播(Forward Pass)和一次反向传播(Backward Pass)。
当一个Epoch的样本(也就是训练集)数量太过庞大时。进行一次训练可能会消耗过多时间,并且每次训练都是用训练集的全部数据也不是必要的,因此我们需要把整个训练过程分成多个小块,也就是分成多个Batch进行训练。
一个Batch训练指使用一部分数据进行训练。

数据加载和处理
·dataset:加载数据集(Dataset对象)
·batch_size:batch大小
shuffle:是否每个Epoch都打乱数据。
num_workers:使用多进程加载的进程数,0表示不使用多线程。

迁移学习

模型保存和加载

在深度学习的训练过程中,我们经常需要保存模型的多个参数以便将来重新加载。这对于中断的训练恢复,或者用于模型的分享和部署都是非常重要的,Pytorch提供了简单的APi函数来保存和加载模型。最常见的方法是torch.save来保存模型的参数,然后通过torch.load加载模型的参数。

# 保存
torch.save(model.state_dict(),PATH)
# 加载
model = THEModelClass(*args, **kwargs(
model.load_state_dir(torch.load(PATH))
model.eval()

k近邻

如果一个样本附近的k个最近(特征空间中最邻近的k个)样本的大多数属于某一个类别,则该样本也附属这个类别。
即给定一个训练集,对于新输入实例,在训练集中找到与该实例最近的k个实例,这k个实例中的多数属于某个类,就把该输入实例分类到这个类中。


http://www.kler.cn/a/420528.html

相关文章:

  • Debian 的更新原理
  • idea打jar包或引入包
  • 深度探索Spring Context:框架式的Bean访问与企业级功能
  • “指标管理系统”是什么?企业如何搭建指标管理系统?
  • 状态模式S
  • 【笔记总结】华为云:应用上云后的安全规划及设计
  • qml项目创建的区别
  • Linux 下安装 Golang环境
  • webGL入门教程_06变换矩阵与绕轴旋转总结
  • Mysql远程工具Navicat Premium连接报错1130、2003解决方案
  • C++小问题
  • 朗迪锋亮相2024人因工程与智能系统交互国际会议
  • 2024年Java面试八股文大全(附答案版)
  • Unity网络框架对比 Mirror|FishNet|NGO
  • Python网络爬虫的基本原理
  • [docker中首次配置git环境]
  • Flink项目实战:实时数据流处理
  • Kimi悄悄开源了自家推理框架Mooncake~
  • 【Python TensorFlow】进阶指南(续篇五)
  • 《Vue零基础入门教程》第十六课:计算属性
  • 不开流也可以知道文件大小(File类)file.length():long
  • Android 中绘制带箭头的线
  • python代码实现问卷星问卷内容获取并写入word文档保存
  • 基于灰色神经网络的订单需求预测
  • el-table 纵向 横向 多级表头
  • Mysql实现定时自动清理日志(Windows环境)