代码先锋网 代码片段及技术文章聚合

PyTorch 创建Tensor

技术标签: pytorch  机器学习

import from numpy,从numpy引入。

a = np.array([2,3.3])
torch.from_numpy(a)

a = np.ones([2,3])
torch.from_numpy(a)
print(a)

注意:小写的tensor接受的参数是现有的数据,大写的Tensor接受的数据的维度,大写也可以接受现有数据,必须以list形式表示出。

import from List

a = torch.tensor([2.,3.2])
print(a)
a = torch.FloatTensor([2.,3.2])#不建议使用,容易造成混淆
#常见用法为torch.FloatTensor(2,3),表示2*3的tensor

a = torch.tensor([ [2.,3.2],[1.,22.3] ])
print(a)

生成未初始化的tensor,未初始化的tensor一定要紧跟着写入数据的后续步骤,未初始化的tensor里面的数据是随机的

a = torch.empty(2)
print(a)

a = torch.Tensor(2,3)
print(a)

a = torch.IntTensor(2,3)
print(a)

a = torch.FloatTensor(2,3)
print(a)

设置tensor的默认类型,如:int,float,double等

最原始的默认为float型,增强学习一般使用double,其他使用float

a = torch.tensor([1.2,3])
print(a.type())

torch.set_default_tensor_type(torch.DoubleTensor)
a = torch.tensor([1.2,3])
print(a.type())

几种常见的随机初始化

rand,随机从[0,1)中选取数据

#如果要均匀采样0-10的tensor,要用10*rand(d1,d2),randint只能采样整数
a = torch.rand(3,3)
print(a)

a = torch.rand_like(a)#先当于先把a的shape读取出来在传入rand
print(a)

#参数含义分别为,最小值,最大值,shape
a = torch.randint(1,10,[3,3])
print(a)

正态分布

a = torch.randn(3,3)
print(a)

#维度为10的均值,方差从1到0慢慢减小,如果需要得到n*m,要先打平,再reshape
a = torch.normal(mean=torch.full([10],0),std=torch.arange(1,0,-0.1))
print(a)

full函数

a = torch.full([2,3],7)
print(a)

#生成标量
a = torch.full([],7)
print(a)
print(a.type())

#生成一个长度为[n]的vector
a = torch.full([2],7)
print(a)
print(a.type())

arange,range

a = torch.arange(0,10)
print(a)

#步长为2
a = torch.arange(0,10,2)
print(a)

#不建议使用
a = torch.range(0,10)
print(a)

linspace,logspace

#产生四个数据
a = torch.linspace(0,10,steps=4)
print(a)

a = torch.linspace(0,10,steps=10)
print(a)

a = torch.linspace(0,10,steps=11)
print(a)

#0到-1,切割成10份,返回10的次方
a = torch.logspace(0,-1,steps=10)
print(a)

a = torch.logspace(0,1,steps=10)
print(a)

Ones,zeros,eye

a = torch.ones(3,3)
print(a)

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

#主对角线为1
a = torch.eye(3,4)
print(a)

a = torch.eye(3)
print(a)

randperm随机打散

a = torch.rand(2,3)
b = torch.rand(2,2)

idx = torch.randperm(2)

print(a)
print(a[idx])
print(b)
print(b[idx])

 

版权声明:本文为PriestessofBirth原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/PriestessofBirth/article/details/105330248

智能推荐

PyTorch 创建Tensor

​ Pytorch中定义了一个Tensor类来实现张量,Tensor在使用上与numpy的ndarray类似,不同的是,Tensor可以在GPU上运行,但是numpy只能在CPU上运行,当然numpy与Tensor可以进行相互转换,以此使得numpy数据在GPU上运行。Pytorch中的Tensor又包括CPU上的数据类型和GPU上的数据类型,两种数据类型之间也可以进行相互转换。 在 PyTorc...

【PyTorch框架学习】-创建tensor

导入库 1. 先定义数组,再转换为torch向量 2. 直接定义torch向量 3. torch中自带的创建向量方法 3.1 Torch.empty() 创建随机数的torch向量 3.2 torch.Tensor(d1,d2),d1,d2表示维度,没有[ ] 3.3 Torch.IntTensor(d1,d2,d3) 产生随机的整型数据 4. set default type 设置默认数据类型 ...

pytorch中tensor创建方法

tensor的创建方法 文章目录 tensor的创建方法 总结 直接创建 使用`torch.tensor()` 从numpy创建tensor 依据数值创建张量 **使用`torch.zeros()`**创建全零张量 使用`torch.zeros_like()` 创建全1张量 自定义数值创建张量 创建等差的1维张量 创建均分的1维张量 创建对数均分的1维张量 创建单位对角矩阵( 2维张量) 依据概率...

Pytorch学习(1):Tensor创建

文章目录 前言 一、Pytorch与Tensor 二、Tensor的多种创建方法 1.引入库 2.使用numpy创建 3.使用List创建 4.申请空间&未初始化创建 5.随机初始化 6.单元素Tensor创建 7.等差Tensor创建 8.ones/zeros/eye 9.randperm随机打乱 总结 前言 随着人工智能的不断发展,深度学习受到了广泛的追捧,在此,开始记录自己的Pyto...

猜你喜欢

PyTorch教程(二):创建Tensor

从numpy中引入数据 从list中引入数据 细节 在PyTorch中可以使用FloatTensor和Tensor来创建张量,那么Tensor代表的是什么类型呢?在PyTorch中有一个默认的类型FloatTensor,可以通过自定义进行修改:torch.set_default_tensor_type(torch.DoubleTensor) 在增强学习中使用DoubleTensor比较多。 ran...

pytorch 创建tensor的方法

创建numpy并制定元素的类型是double...

Pytorch中Tensor的创建

Tensor的基本2 创建Tensor 创建一个5行3列未初始化的tensor 创建一个5行3列随机初始化的tensor: 创建Tensor还可以指定数据类型:创建一个5行3列的类型为long的全0数据 直接输入数据进行创建tensor: 根据现有的tensor创建新的tensor: 2根据numpy创建新的tensor: 创建Tensor 创建一个5行3列未初始化的tensor 输出: 创建一个...

pytorch根据tensor.Size 创建tensor-----torch.FloatTensor()

类型转换, 将list ,numpy转化为tensor。 以list -> tensor为例: 根据torch.Size()创建一个空tensor 输出如下...

Pytorch入门教程(二):创建Tensor

1. 从numpy中导入数据 结果: [2.  5.5] tensor([2.0000, 5.5000], dtype=torch.float64) 2. 利用tensor直接创建 tensor([[2, 3, 4],         [4, 5, 6]]) 3  均匀分布 tensor([[0.0789, 0.7449, 0.9799]...