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])
Pytorch中定义了一个Tensor类来实现张量,Tensor在使用上与numpy的ndarray类似,不同的是,Tensor可以在GPU上运行,但是numpy只能在CPU上运行,当然numpy与Tensor可以进行相互转换,以此使得numpy数据在GPU上运行。Pytorch中的Tensor又包括CPU上的数据类型和GPU上的数据类型,两种数据类型之间也可以进行相互转换。 在 PyTorc...
导入库 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 设置默认数据类型 ...
tensor的创建方法 文章目录 tensor的创建方法 总结 直接创建 使用`torch.tensor()` 从numpy创建tensor 依据数值创建张量 **使用`torch.zeros()`**创建全零张量 使用`torch.zeros_like()` 创建全1张量 自定义数值创建张量 创建等差的1维张量 创建均分的1维张量 创建对数均分的1维张量 创建单位对角矩阵( 2维张量) 依据概率...
文章目录 前言 一、Pytorch与Tensor 二、Tensor的多种创建方法 1.引入库 2.使用numpy创建 3.使用List创建 4.申请空间&未初始化创建 5.随机初始化 6.单元素Tensor创建 7.等差Tensor创建 8.ones/zeros/eye 9.randperm随机打乱 总结 前言 随着人工智能的不断发展,深度学习受到了广泛的追捧,在此,开始记录自己的Pyto...
从numpy中引入数据 从list中引入数据 细节 在PyTorch中可以使用FloatTensor和Tensor来创建张量,那么Tensor代表的是什么类型呢?在PyTorch中有一个默认的类型FloatTensor,可以通过自定义进行修改:torch.set_default_tensor_type(torch.DoubleTensor) 在增强学习中使用DoubleTensor比较多。 ran...
创建numpy并制定元素的类型是double...
Tensor的基本2 创建Tensor 创建一个5行3列未初始化的tensor 创建一个5行3列随机初始化的tensor: 创建Tensor还可以指定数据类型:创建一个5行3列的类型为long的全0数据 直接输入数据进行创建tensor: 根据现有的tensor创建新的tensor: 2根据numpy创建新的tensor: 创建Tensor 创建一个5行3列未初始化的tensor 输出: 创建一个...
类型转换, 将list ,numpy转化为tensor。 以list -> tensor为例: 根据torch.Size()创建一个空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]...