PyTorch深度学习基础之Reduction归约和自动微分操作讲解及实战(附源码 超详细必看)

简介: PyTorch深度学习基础之Reduction归约和自动微分操作讲解及实战(附源码 超详细必看)

创作不易 觉得有帮助请点赞关注收藏~~~

一、PyTorch的Reduction操作

Reduction运算的特点是它往往对一个Tensor内的元素做归约操作,比如torch.max找极大值,torch.cumsum计算累加,它还提供了dim参数来指定沿矩阵哪个维度执行操作

测试效果如下

torch.unique用于找出矩阵中出现了哪些元素

测试代码如下

import  torch
a=torch.tensor([[1,2],[3,4]])
print("全局最大值",torch.max(a))
print(torch.max(a,dim=0))
print("沿着横轴计算每一列的累加",torch.cumsum(a,dim=0))
print("沿着纵轴累计",torch.cumsum(a,dim=1))
a=torch.randint(0,3,(3,3))
print(a)
print(torch.unique(a))

二、PyTorch的自动微分

将Tensor的requires_grad属性设置为True时,PyTorch的torch.autograd会自动地追踪它的计算轨迹,当需要计算微分的时候,只需要对最终计算结果的Tensor调用backward方法,中间所有计算节点的微分就会被保存在grad属性当中了

测试效果如下

测试代码如下

import  torch
a=torch.tensor([[1,2],[3,4]])
print("全局最大值",torch.max(a))
print(torch.max(a,dim=0))
print("沿着横轴计算每一列的累加",torch.cumsum(a,dim=0))
print("沿着纵轴累计",torch.cumsum(a,dim=1))
a=torch.randint(0,3,(3,3))
print(a)
print(torch.unique(a))
############
x=torch.arange(9).view(3,3)
print(x.requires_grad)
x=torch.rand(3,3,requires_grad=True)
print(x)
w=torch.ones(3,3,requires_grad=True)
y=torch.sum(torch.mm(w,x))
print(y)
print(y.backward())
print(y.grad)
print(x.grad)
print(w.grad)
相关文章
|
10月前
|
机器学习/深度学习 PyTorch TensorFlow
TensorFlow与PyTorch深度对比分析:从基础原理到实战选择的完整指南
蒋星熠Jaxonic,深度学习探索者。本文深度对比TensorFlow与PyTorch架构、性能、生态及应用场景,剖析技术选型关键,助力开发者在二进制星河中驾驭AI未来。
999 13
|
机器学习/深度学习 监控 算法
基于mediapipe深度学习的手势数字识别系统python源码
本内容涵盖手势识别算法的相关资料,包括:1. 算法运行效果预览(无水印完整程序);2. 软件版本与配置环境说明,提供Python运行环境安装步骤;3. 部分核心代码,完整版含中文注释及操作视频;4. 算法理论概述,详解Mediapipe框架在手势识别中的应用。Mediapipe采用模块化设计,包含Calculator Graph、Packet和Subgraph等核心组件,支持实时处理任务,广泛应用于虚拟现实、智能监控等领域。
|
12月前
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.0性能优化实战:4种常见代码错误严重拖慢模型
我们将深入探讨图中断(graph breaks)和多图问题对性能的负面影响,并分析PyTorch模型开发中应当避免的常见错误模式。
596 9
|
机器学习/深度学习 存储 PyTorch
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
本文通过使用 Kaggle 数据集训练情感分析模型的实例,详细演示了如何将 PyTorch 与 MLFlow 进行深度集成,实现完整的实验跟踪、模型记录和结果可复现性管理。文章将系统性地介绍训练代码的核心组件,展示指标和工件的记录方法,并提供 MLFlow UI 的详细界面截图。
631 2
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
|
机器学习/深度学习 存储 监控
基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】
本项目基于深度学习的YOLO框架,成功实现了城市道路损伤的自动检测与评估。通过YOLOv8模型,我们能够高效地识别和分类路面裂缝、井盖移位、坑洼路面等常见的道路损伤类型。系统的核心优势在于其高效性和实时性,能够实时监控城市道路,自动标注损伤类型,并生成损伤评估报告。
682 0
基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】
|
机器学习/深度学习 自动驾驶 算法
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
在智慧交通和智能驾驶日益普及的今天,准确识别复杂交通场景中的关键元素已成为自动驾驶系统的核心能力之一。传统的图像处理技术难以适应高动态、复杂天气、多目标密集的交通环境,而基于深度学习的目标检测算法,尤其是YOLO(You Only Look Once)系列,因其检测速度快、精度高、可部署性强等特点,在交通场景识别中占据了重要地位。
1290 0
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
|
人工智能 PyTorch 算法框架/工具
【AI系统】动手实现 PyTorch 微分
本文介绍了使用操作符重载(OO)编程方式实现的自动微分,特别是采用反向模式(Reverse Mode)的实现方法。文中详细解释了操作符重载的基本概念及其在自动微分中的应用,以及反向模式的工作原理。通过 Python 示例代码,演示了如何手动实现类似 PyTorch 中自动微分的核心机制,包括定义 `Variable` 类、`Tape` 结构以及实现基本的数学运算符重载。最后,通过一个具体的数学函数示例展示了如何利用上述机制计算梯度,帮助读者理解反向模式自动微分的全过程。
544 1
【AI系统】动手实现 PyTorch 微分
|
机器学习/深度学习 人工智能 PyTorch
【深度学习】使用PyTorch构建神经网络:深度学习实战指南
PyTorch是一个开源的Python机器学习库,特别专注于深度学习领域。它由Facebook的AI研究团队开发并维护,因其灵活的架构、动态计算图以及在科研和工业界的广泛支持而受到青睐。PyTorch提供了强大的GPU加速能力,使得在处理大规模数据集和复杂模型时效率极高。
608 59
|
PyTorch Shell API
Ascend Extension for PyTorch的源码解析
本文介绍了Ascend对PyTorch代码的适配过程,包括源码下载、编译步骤及常见问题,详细解析了torch-npu编译后的文件结构和三种实现昇腾NPU算子调用的方式:通过torch的register方式、定义算子方式和API重定向映射方式。这对于开发者理解和使用Ascend平台上的PyTorch具有重要指导意义。

热门文章

最新文章

推荐镜像

更多