Pytorch教程[01]张量操作

简介: Pytorch教程[01]张量操作

一、张量拼接与切分


1.1 torch.cat()


功能:将张量按维度dim进行拼接

• tensors: 张量序列

• dim : 要拼接的维度

torch.cat(tensors, 
      dim=0, 
      out=None)

1.2 torch.stack()


功能:在新创建的维度dim上进行拼接

• tensors:张量序列

• dim :要拼接的维度

torch.stack(tensors, 
      dim=0, 
      out=None)

1.3 torch.chunk()


功能:将张量按维度dim进行平均切分

返回值:张量列表

注意事项:若不能整除,最后一份张量小于

其他张量

• input: 要切分的张量

• chunks : 要切分的份数

• dim : 要切分的维度

torch.chunk(input, 
      chunks, 
      dim=0)

1.4 torch.split()


功能:将张量按维度dim进行切分

返回值:张量列表

• tensor: 要切分的张量

• split_size_or_sections : 为int时,表示

每一份的长度;为list时,按list元素切分

• dim : 要切分的维度

torch.split(tensor, 
      split_size_or_sections, 
      dim=0)

二、张量索引


2.1 torch.index_select()


功能:在维度dim上,按index索引数据

返回值:依index索引数据拼接的张量

• input: 要索引的张量

• dim: 要索引的维度

• index : 要索引数据的序号

torch.index_select(input, 
           dim, 
           index, 
           out=None)

2.2 torch.masked_select()


功能:按mask中的True进行索引

返回值:一维张量

• input: 要索引的张量

• mask: 与input同形状的布尔类型张量

torch.masked_select(input, 
          mask, 
          out=None)

三、张量变换


3.1 torch.reshape()


功能:变换张量形状

注意事项:当张量在内存中是连续时,新张

量与input共享数据内存

• input: 要变换的张量

• shape: 新张量的形状

torch.reshape(input, 
        shape)

3.2 torch.transpose()


功能:交换张量的两个维度

• input: 要变换的张量

• dim0: 要交换的维度

• dim1: 要交换的维度

torch.transpose(input, 
        dim0, 
        dim1)

3.3torch.t()


功能:2维张量转置,对矩阵而言,等价于

torch.transpose(input, 0, 1)

torch.t(input)

3.4 torch.squeeze()


功能:压缩长度为1的维度(轴)

• dim: 若为None,移除所有长度为1的轴;

若指定维度,当且仅当该轴长度为1时,可

以被移除;

torch.squeeze(input, 
        dim=None, 
        out=None)

3.5 torch.unsqueeze()


功能:依据dim扩展维度

• dim: 扩展的维度

torch.usqueeze(input, 
         dim, 
         out=None)

四、张量数学运算


4.1加减乘除


torch.add()
torch.addcdiv()
torch.addcmul()
torch.sub()
torch.div()
torch.mul()

torch.add()

功能:逐元素计算 input+alpha×other

• input: 第一个张量

• alpha: 乘项因子

• other: 第二个张量

torch.add(input,
      alpha=1,
      other,
        out=None)

4.2对数,指数,幂函数


torch.log(input, out=None)
torch.log10(input, out=None)
torch.log2(input, out=None)
torch.exp(input, out=None)
torch.pow()

4.3三角函数


torch.abs(input, out=None)
torch.acos(input, out=None)
torch.cosh(input, out=None)
torch.cos(input, out=None)
torch.asin(input, out=None)
torch.atan(input, out=None)
torch.atan2(input, other, out=None)
相关文章
|
18天前
|
存储 物联网 PyTorch
基于PyTorch的大语言模型微调指南:Torchtune完整教程与代码示例
**Torchtune**是由PyTorch团队开发的一个专门用于LLM微调的库。它旨在简化LLM的微调流程,提供了一系列高级API和预置的最佳实践
124 59
基于PyTorch的大语言模型微调指南:Torchtune完整教程与代码示例
|
3天前
|
并行计算 监控 搜索推荐
使用 PyTorch-BigGraph 构建和部署大规模图嵌入的完整教程
当处理大规模图数据时,复杂性难以避免。PyTorch-BigGraph (PBG) 是一款专为此设计的工具,能够高效处理数十亿节点和边的图数据。PBG通过多GPU或节点无缝扩展,利用高效的分区技术,生成准确的嵌入表示,适用于社交网络、推荐系统和知识图谱等领域。本文详细介绍PBG的设置、训练和优化方法,涵盖环境配置、数据准备、模型训练、性能优化和实际应用案例,帮助读者高效处理大规模图数据。
24 5
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
|
1月前
|
存储 并行计算 PyTorch
探索PyTorch:张量数值计算
探索PyTorch:张量数值计算
|
1月前
|
机器学习/深度学习 并行计算 PyTorch
探索PyTorch:张量的创建和数值计算
探索PyTorch:张量的创建和数值计算
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
探索PyTorch:张量的类型转换,拼接操作,索引操作,形状操作
探索PyTorch:张量的类型转换,拼接操作,索引操作,形状操作
|
1月前
|
PyTorch 算法框架/工具 Python
Pytorch学习笔记(十):Torch对张量的计算、Numpy对数组的计算、它们之间的转换
这篇文章是关于PyTorch张量和Numpy数组的计算方法及其相互转换的详细学习笔记。
34 0
|
3月前
|
并行计算 Ubuntu PyTorch
Ubuntu下CUDA、Conda、Pytorch联合教程
本文是一份Ubuntu系统下安装和配置CUDA、Conda和Pytorch的教程,涵盖了查看显卡驱动、下载安装CUDA、添加环境变量、卸载CUDA、Anaconda的下载安装、环境管理以及Pytorch的安装和验证等步骤。
526 1
Ubuntu下CUDA、Conda、Pytorch联合教程
|
3月前
|
机器学习/深度学习 人工智能 PyTorch
掌握 PyTorch 张量乘法:八个关键函数与应用场景对比解析
PyTorch提供了几种张量乘法的方法,每种方法都是不同的,并且有不同的应用。我们来详细介绍每个方法,并且详细解释这些函数有什么区别:
63 4
掌握 PyTorch 张量乘法:八个关键函数与应用场景对比解析
|
3月前
|
机器学习/深度学习 算法 PyTorch
【深度学习】TensorFlow面试题:什么是TensorFlow?你对张量了解多少?TensorFlow有什么优势?TensorFlow比PyTorch有什么不同?该如何选择?
关于TensorFlow面试题的总结,涵盖了TensorFlow的基本概念、张量的理解、TensorFlow的优势、数据加载方式、算法通用步骤、过拟合解决方法,以及TensorFlow与PyTorch的区别和选择建议。
246 2