深度学习之PyTorch的张量Tensor(概念篇)

目录

1、Tensor的数据类型

2、Tensor的运算


       在PyTorch中,张量Torch是最基础的运算单位。

1、Tensor的数据类型

1.1、创建浮点型Tensor:torch.FloatTensor

a = torch.FloatTensor(3, 5)
print(a)
b = torch.FloatTensor([16, 8, 23, 5, 6])
print(b)

1.2、创建整型Tensor:torch.IntTensor

a = torch.IntTensor(3, 5)
print(a)
b = torch.IntTensor([16, 8, 23, 5, 6])
print(b)

1.3、创建浮点型随机Tensor:torch.rand  , torch.randn , torch.randint

a = torch.rand(3, 5)  # 随机生成的浮点数据在0~1之间
print(a)
b = torch.randn(3, 5) # 随机生成的浮点数据均值为0,方差为1
print(b)
c = torch.randint(low=1, high=8, size=(3, 5))  # 创建指定大小且元素数值在low和high之间的tensor
print(c)

1.4、创建浮点型自定义范围的Tensor:torch.range 和 torch.arange

a = torch.range(1, 5)   # torch.range(start=1, end=5) 的结果是会包含end的
print(a)

'''
run结果显示:UserWarning: torch.range is deprecated and will be removed in a future release 
            because its behavior is inconsistent with Python's range builtin. Instead, use 
            torch.arange, which produces values in [start, end). a = torch.range(1, 5)
            
            tensor([1., 2., 3., 4., 5.])
'''
b = torch.arange(1, 5)   # torch.arange(start=1, end=5)的结果并不包含end
print(b)

'''
run结果:tensor([1, 2, 3, 4])
'''

1.5、创建元素值均为0的浮点型Tensor:tensor.zeros

a = torch.zeros(3, 5)
print(a)

1.6、创建指定大小值的Tensor:tensor.full

a = torch.full((3, 5), 8)  # 创建一个3×5,元素值均为8的tensor
print(a)

2、Tensor的运算

2.1、Tensor数据的绝对值化:torch.abs

a = torch.randint(low=-8, high=8, size=(3, 5))
print(a)
b = torch.abs(a)
print(b)

2.2、Tensor数据的求和:torch.add

a = torch.randint(low=-8, high=8, size=(3, 5))
b = torch.randn(3, 5)
sum = torch.add(a, b)
print(sum)

2.3、对输入参数进行自定义裁剪:torch.clamp

a = torch.randint(low=-8, high=8, size=(3, 5))
b = torch.clamp(a, -4, 4)    # 对a进行裁剪,裁剪范围为-4~4
print(b)

2.4、Tensor数据的求商:torch.div

a = torch.randint(low=-8, high=8, size=(3, 5))
b = torch.randint(low=1, high=6, size=(3, 5))
c = torch.div(a,b)
print(c)

2.5、Tensor数据的求积:torch.mul

a = torch.randint(low=-8, high=8, size=(3, 5))
b = torch.randint(low=1, high=6, size=(3, 5))
c = torch.mul(a,b)
print(c)

2.6、Tensor数据的矩阵乘法:torch.mm(不同于 torch.mul)

a = torch.randint(low=-8, high=8, size=(3, 5))     # 前一个矩阵的列数要等于后一个矩阵的行数
b = torch.randint(low=1, high=6, size=(5, 3))
c = torch.mm(a,b)
print(c)

2.7、Tensor数据的矩阵乘法:torch.mv

a = torch.randn(3, 5)  # 矩阵与向量之间的乘法规则
print(a)
b = torch.randn(5)
print(b)
c = torch.mv(a, b)
print(c)

2.8、Tensor数据的求幂:torch.pow

a = torch.randint(low=-8, high=8, size=(3, 5))
b = torch.randint(low=1, high=6, size=(3, 5))
c = torch.pow(a,b)
print(c)

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值