张量的基本操作

一、获得张量元素的个数

import torch
a=torch.Tensor(2)
print(torch.numel(a))

二、torch.tensor() 与torch.Tensor()的区别

import torch
import numpy as np
#torch.tensor() 将数字、列表、numpy.ndarray转成张量形式
a=torch.tensor([4,5])
print(a) #tensor([4, 5])
an=np.asarray([4,5])
print(torch.tensor(an)) #tensor([4, 5], dtype=torch.int32)

#torch.Tensor()根据指定形状、类型生成张量
dim0,dim1,dim2=2,1,3
print(torch.Tensor(dim0,dim1,dim2)) #根据形状生成张量 tensor([[[0., 0., 0.]],[[0., 0., 0.]]])
print(torch.Tensor([[1,3],[2,4]])) #根据内容生成张量 tensor([[1., 3.],[2., 4.]])

三、随机张量生成

1.设置随机种子

import torch
torch.manual_seed(42) #设置随机种子
torch.initial_seed() #查看随机种子

2.指定形状生成随机值

torch.randn(2,3) #2*3维度的张量

3.生成线性空间的随机值

print(torch.arange(1,10,step=2) # 范围1 ~10,步长为2进行取值
print(torch.linspace(1,9,steps=5) #范围1~9,均匀取5个值

4.生成未初始化的矩阵

print(torch.empty(1,2) 

四、张量与Numpy转换

import numpy as np
a=tensor(5)
print(a.numpy()) #张量转numpy对象

#numpy转成张量
anp=np.asarray([4,5)
print(torch.tensor(anp) #第一种 
print(torch.from_numpy(anp)) #第二种

注意

书本上说,Numpy转换成张量时,只是简单的指针赋值,并不会复制,所以是共享内存。
但我在实际操作时,发现其实内存不一样,两个任何一个改变不会对另一个产生影响。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值