初识Tensor

本文深入探讨了PyTorch中张量的概念及其在深度学习中的应用,包括数据类型、形状、设备选择、创建方法及梯度计算。覆盖从基本张量操作到高级概率分布生成的全面指南。
部署运行你感兴趣的模型镜像

Tensor概念

在这里插入图片描述
标量没有方向
向量延一个方向排列
二位张量:矩阵(灰度图像)
三维张量(RGB图像)高、宽、色彩

torch.tensor

在这里插入图片描述

数据类型dtype

在这里插入图片描述
最常用的是float32类型。卷积层的权值和图像预处理后都默认为float32
其次是int64类型。图像的标签,计算交叉熵的损失函数

张量的形状shape

如(64,3,224,224)

张量所在的设备device

CPU/GPU:加速的关键

创建Tensor的方法grad_fn

创建Tensor的方法,在求导时用到,需要记录下来

是否需要梯度requires_grad

指示是否需要梯度,并不是所有张量都需要计算梯度,不需要的设为FALSE,节省内存,加快速度

是否是叶子节点

指示张量是否是叶子节点

张量的创建

直接创建

在这里插入图片描述

arr = np.ones((3,3))
print('ndarray的数据类型:',arr.dtype)
t = torch.tensor(arr)
print(t)

通过numpy创建

全0张量

在这里插入图片描述
在这里插入图片描述

全1张量

在这里插入图片描述

全为某值的张量

在这里插入图片描述

等差张量

在这里插入图片描述

均分张量

在这里插入图片描述
在这里插入图片描述

创建对角张量

在这里插入图片描述

依概率分布创建张量

正态分布

在这里插入图片描述在这里插入图片描述

标准正态分布

在这里插入图片描述

均匀分布

在这里插入图片描述

随机排列

在这里插入图片描述
常用于生成随机索引

伯努利分布

在这里插入图片描述

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

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

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

03-19
### Tensor 的概念及其在编程和机器学习中的作用 #### 什么是 TensorTensor 是一种多维数组结构,在数学上可以被看作是一个广义化的矩阵。它可以表示零维到任意维度的数据形式,其中标量(Scalar)、向量(Vector)以及矩阵(Matrix)都可以视为 Tensor 的特例[^1]。 - **0-D Tensor (标量)**:单个数值,例如 `7` 或者 `-3.14`。 - **1-D Tensor (向量)**:一列或者一行的数值集合,例如 `[1, 2, 3]`。 - **2-D Tensor (矩阵)**:二维表格数据,例如: ```python [[1, 2], [3, 4]] ``` - **N-D Tensor**:更高维度的数据结构,用于存储复杂的空间关系或特征组合。例如,图像通常可以用三维张量来描述 `(height, width, channels)`,而视频则可能是四维张量 `(frames, height, width, channels)`[^2]。 #### Tensor 在机器学习中的角色 在现代深度学习框架中(如 TensorFlow 和 PyTorch),Tensor 被广泛用来表示输入数据、权重参数以及计算过程中的中间结果。以下是其几个核心功能: - **高效运算支持**:通过 GPU/CPU 加速库实现大规模并行化处理,显著提升训练速度。 - **动态图机制**:允许开发者定义灵活的操作流程,便于调试与优化算法设计。 - **自动微分能力**:内置梯度求导工具简化反向传播步骤,减少手动推导公式的负担[^3]。 下面展示了一个简单的 Python 实现例子,演示如何创建和操作 Tensors 使用 NumPy 库模拟基本行为前奏于更高级别的 DL 平台之上: ```python import numpy as np # 创建一个形状为(2, 3)的随机数tensor np_tensor = np.random.rand(2, 3) print("NumPy Tensor:") print(np_tensor) # 对 tensor 进行加法操作 result = np_tensor + 5 print("\nResult after adding scalar value '5':") print(result) ``` 上述代码片段展示了基础级别的张量初始化及算术变换逻辑;然而实际应用场景下往往涉及更为复杂的非线性映射函数链路构建等工作负载。 #### 局限性和挑战 尽管 tensors 提供了强大的表达能力和高效的计算手段,但在某些特定情况下也可能带来额外的技术难题。比如当面对稀疏数据集时传统密集型 storage format 可能造成资源浪费现象严重等问题亟待解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值