大型网站seo策略平乡县网站建设平台位置
大型网站seo策略,平乡县网站建设平台位置,网站集群建设合同,网站建设公司哪家最好文章目录 一、前言二、实验环境三、PyTorch数据结构0、分类1、Tensor#xff08;张量#xff09;1. 维度#xff08;Dimensions#xff09;2. 数据类型#xff08;Data Types#xff09;3. GPU加速#xff08;GPU Acceleration#xff09; 2、张量的数学运算1. 向量运算… 文章目录 一、前言二、实验环境三、PyTorch数据结构0、分类1、Tensor张量1. 维度Dimensions2. 数据类型Data Types3. GPU加速GPU Acceleration 2、张量的数学运算1. 向量运算a. 简单运算b. 广播操作c. 运算函数加法add乘法mul内积点积dot外积叉积cross范数norm 一、前言 本文将介绍PyTorch中张量的数学运算之向量运算包括加减乘除、数乘、内积、外积、范数、广播机制等 二、实验环境 本系列实验使用如下环境
conda create -n DL python3.11conda activate DLconda install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia三、PyTorch数据结构
0、分类
Tensor张量Tensor是PyTorch中最基本的数据结构类似于多维数组。它可以表示标量、向量、矩阵或任意维度的数组。Tensor的操作PyTorch提供了丰富的操作函数用于对Tensor进行各种操作如数学运算、统计计算、张量变形、索引和切片等。这些操作函数能够高效地利用GPU进行并行计算加速模型训练过程。Variable变量Variable是对Tensor的封装用于自动求导。在PyTorch中Variable会自动跟踪和记录对其进行的操作从而构建计算图并支持自动求导。在PyTorch 0.4.0及以后的版本中Variable被废弃可以直接使用Tensor来进行自动求导。Dataset数据集Dataset是一个抽象类用于表示数据集。通过继承Dataset类可以自定义数据集并实现数据加载、预处理和获取样本等功能。PyTorch还提供了一些内置的数据集类如MNIST、CIFAR-10等用于方便地加载常用的数据集。DataLoader数据加载器DataLoader用于将Dataset中的数据按批次加载并提供多线程和多进程的数据预读功能。它可以高效地加载大规模的数据集并支持数据的随机打乱、并行加载和数据增强等操作。Module模块Module是PyTorch中用于构建模型的基类。通过继承Module类可以定义自己的模型并实现前向传播和反向传播等方法。Module提供了参数管理、模型保存和加载等功能方便模型的训练和部署。
1、Tensor张量 Tensor张量是PyTorch中用于表示多维数据的主要数据结构类似于多维数组可以存储和操作数字数据。
1. 维度Dimensions Tensor张量的维度Dimensions是指张量的轴数或阶数。在PyTorch中可以使用size()方法获取张量的维度信息使用dim()方法获取张量的轴数。 2. 数据类型Data Types PyTorch中的张量可以具有不同的数据类型
torch.float32或torch.float32位浮点数张量。torch.float64或torch.double64位浮点数张量。torch.float16或torch.half16位浮点数张量。torch.int88位整数张量。torch.int16或torch.short16位整数张量。torch.int32或torch.int32位整数张量。torch.int64或torch.long64位整数张量。torch.bool布尔张量存储True或False。
【深度学习】Pytorch 系列教程一PyTorch数据结构1、Tensor张量及其维度Dimensions、数据类型Data Types
3. GPU加速GPU Acceleration
【深度学习】Pytorch 系列教程二PyTorch数据结构1、Tensor张量 GPU加速GPU Acceleration
2、张量的数学运算 PyTorch提供了丰富的操作函数用于对Tensor进行各种操作如数学运算、统计计算、张量变形、索引和切片等。这些操作函数能够高效地利用GPU进行并行计算加速模型训练过程。
1. 向量运算
a. 简单运算
import torchtensor1 torch.tensor([1, 2, 3])
tensor2 torch.tensor([4, 5, 6])# 加法
result_add tensor1 tensor2
print(加法结果:, result_add) 输出: tensor([5, 7, 9])
# 减法
result_sub tensor1 - tensor2
print(减法结果:, result_sub) 输出: tensor([-3, -3, -3])
# 乘法
result_mul tensor1 * tensor2
print(乘法结果:, result_mul) 输出: tensor([4, 10, 18])
# 除法
result_div tensor1 / tensor2
print(除法结果:, result_div) 输出: tensor([0.2500, 0.4000, 0.5000])
scalar_multiplication_result 2 * tensor1
print(数乘结果:, scalar_multiplication_result)数乘结果: tensor([2, 4, 6])
b. 广播操作 可以对不同维度的向量进行运算利用广播机制进行自动扩展和对齐。
# 广播操作
broadcasted tensor1 1
print(广播结果:, broadcasted)
Broadcasted result: tensor([2, 3, 4])广播结果: tensor([2, 3, 4]) c. 运算函数
加法add
import torchvector1 torch.tensor([1, 2, 3])
vector2 torch.tensor([4, 5, 6])# 向量相加
result torch.add(vector1, vector2)print(result)输出: tensor([5, 7, 9])
乘法mul
import torchvector1 torch.tensor([1, 2, 3])
vector2 torch.tensor([4, 5, 6])# 向量相乘
result torch.mul(vector1, vector2)print(result)输出: tensor([4, 10, 18])
内积点积dot
import torchvector1 torch.tensor([1, 2, 3])
vector2 torch.tensor([4, 5, 6])# 计算内积
result torch.dot(vector1, vector2)print(result)输出: tensor(32) 32 1 ∗ 4 2 ∗ 5 3 ∗ 6 32 1*4 2 * 53*6 321∗42∗53∗6 外积叉积cross 叉积是两个三维向量的向量积结果是一个新的向量垂直于原始向量所在平面。
import torchvector1 torch.tensor([1, 0, 0])
vector2 torch.tensor([0, 1, 0])# 计算叉积
cross_product torch.cross(vector1, vector2)print(cross_product)范数norm 范数是衡量向量大小的指标norm默认计算L2范数。
import torchvector torch.tensor([1, 2, 3, 4, 5], dtypetorch.float)# 计算范数
norm torch.norm(vector)print(norm)输出: tensor(7.4162) 7.4162 1 2 2 2 3 2 4 2 5 2 7.4162\sqrt{1^22^23^24^25^2} 7.41621222324252
注意数据类型转换
RuntimeError: linalg.vector_norm: Expected a floating point or complex tensor as input. Got Long对比
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92061.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!