Ptyorch入门之张量

一、学习目标

  • 知道张量和Pytorch中的张量
  • 知道Pytorch中如何创建张量
  • 知道Pytorch中张量的常见方法
  • 知道Pytorch中张量的数据结构

二、张量Tensor

1、什么是张量?

张量(tensor)理论是数学的一个分支学科,在力学中有重要应用。张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具。张量之所以重要,在于它可以满足一切物理定律必须与坐标系的选择无关的特性。张量概念是矢量概念的推广,矢量是一阶张量。张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数。
【取自百度百科】

2、什么是Pytorch中的张量?

在PyTorch中,张量Tensor是最基础的运算单位,与NumPy中的NDArray类似。
张量是一个统称,其中包含很多类型:

  • 0阶张量:标量、常数,0-D Tensor
  • 1阶张量:向量,1-D Tensor
  • 2阶张量:矩阵,2-D Tensor
  • 3阶张量
  • N阶张量

三、Pytorch中创建张量

1、使用python中的列表或者序列创建tensor

import torch
torch.tensor([[1.,-1.],[1.,-1.]])

2、使用numpy中的数组创建tensor

import numpy  as np
import torch
torch.tensor(np.array([[1,2,3],[4,5,6]]))

3、使用torch的api创建tensor

  • torch.empty(3,4)创建3行4列的空tensor,会用无用的数据进行填充。
  • torch.ones([3,4])创建3行4列全为1的tensor。
  • torch.zeros([3,4])创建3行4列的全为0的tensor。
  • torch.rand([3,4]),创建3行4列的随值的tensor,随机值的区间是[0,1)。
  • torch.randint(low=0,high=10,size=[3,4])创建3行4列的随机整数的tensor,随机数的区间是[low,high]。
  • torch.randn([3,4])创建3行4列的随机数的tensor,随机值的分布式均值为0,方差为1。

四、Pytorch中tensor的常用方法

1、获取tensor中的数据(当tensor中只有一个元素可用):tensor.item()

2、转化为numpy数组

3、获取形状:tensor.size()

4、形状改变:tensor.view((3,4))。类似numpy中的reshape,是一种浅拷贝,仅仅是形状发生改变。区分转置。

5、获取维数:tensor.dim()

6、获取最大值:tensor.max()

7、转置:tensor.t()\tensor.permute()

8、tensor[1,3]:获取tensor中第一行第三列的值

9、tensor[1,3]=100:对tensor中第一行第三列的位置进行赋值100

10、tensor的切片

五、tensor的数据类型

1、获取tensor的数据类型

  • tensor.dtype

2、创建数据的时候指定类型

  • torch.tensor(array.dtype)
  • torch.ones(array.dtype)

3、类型的修改

  • tensor.float()/long()/int()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值