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)
相关文章
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
|
1天前
|
机器学习/深度学习 并行计算 PyTorch
探索PyTorch:张量的创建和数值计算
探索PyTorch:张量的创建和数值计算
|
1天前
|
机器学习/深度学习 PyTorch 算法框架/工具
探索PyTorch:张量的类型转换,拼接操作,索引操作,形状操作
探索PyTorch:张量的类型转换,拼接操作,索引操作,形状操作
|
2月前
|
并行计算 Ubuntu PyTorch
Ubuntu下CUDA、Conda、Pytorch联合教程
本文是一份Ubuntu系统下安装和配置CUDA、Conda和Pytorch的教程,涵盖了查看显卡驱动、下载安装CUDA、添加环境变量、卸载CUDA、Anaconda的下载安装、环境管理以及Pytorch的安装和验证等步骤。
203 1
Ubuntu下CUDA、Conda、Pytorch联合教程
|
2月前
|
机器学习/深度学习 人工智能 PyTorch
掌握 PyTorch 张量乘法:八个关键函数与应用场景对比解析
PyTorch提供了几种张量乘法的方法,每种方法都是不同的,并且有不同的应用。我们来详细介绍每个方法,并且详细解释这些函数有什么区别:
45 4
掌握 PyTorch 张量乘法:八个关键函数与应用场景对比解析
|
2月前
|
机器学习/深度学习 算法 PyTorch
【深度学习】TensorFlow面试题:什么是TensorFlow?你对张量了解多少?TensorFlow有什么优势?TensorFlow比PyTorch有什么不同?该如何选择?
关于TensorFlow面试题的总结,涵盖了TensorFlow的基本概念、张量的理解、TensorFlow的优势、数据加载方式、算法通用步骤、过拟合解决方法,以及TensorFlow与PyTorch的区别和选择建议。
120 2
|
2月前
|
存储 PyTorch API
Pytorch入门—Tensors张量的学习
Pytorch入门—Tensors张量的学习
20 0
|
4月前
|
算法 PyTorch 算法框架/工具
Pytorch - 张量转换拼接
使用 Tensor.numpy 函数可以将张量转换为 ndarray 数组,但是共享内存,可以使用 copy 函数避免共享。
|
4月前
|
存储 机器学习/深度学习 PyTorch
Pytorch-张量形状操作
PyTorch中,张量形状操作至关重要,如reshape用于改变维度而不变元素,transpose/permute用于维度交换,view改形状需内存连续,squeeze移除单维度,unsqueeze添加维度。这些函数帮助数据适应神经网络层间的转换。例如,reshape能调整数据适配层的输入,transpose用于矩阵转置或多维排列,而squeeze和unsqueeze则用于处理单维度。理解并熟练运用这些工具是深度学习中必要的技能。
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
Pytorch-张量基础操作
张量是一个多维数组,它是标量、向量和矩阵概念的推广。在深度学习中,张量被广泛用于表示数据和模型参数。