直接创建
import torch
a = torch.Tensor([[1,2],[3,4]])
print(a)
print(a.shape)
tensor([[1., 2.],
[3., 4.]])
torch.Size([2, 2])
使用形状定义
#使用形状定义
a = torch.Tensor(2,3)
print(a)
print(a.type())
tensor([[1.3166e-08, 1.7155e-07, 5.2941e-08],
[3.3428e+21, 2.6446e+20, 6.6824e-07]])
创建对角线全是1的tensor
print(torch.eye(2,2))
创建单位tensor
print(torch.ones(5,5))
tensor([[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1.]])
创建和已有的tensor一样大的tensor
a = torch.Tensor(2,3)
b = torch.zeros_like(a)
c = torch.ones_like(a)
print(a)
print(b)
print(c)
tensor([[0.0000e+00, 0.0000e+00, 1.7063e-07],
[5.3175e-08, 1.3222e+22, 1.0524e+21]])
tensor([[0., 0., 0.],
[0., 0., 0.]])
tensor([[1., 1., 1.],
[1., 1., 1.]])
创建均匀分布的的tensor
a = torch.rand(2,2)
print(a)
tensor([[0.6311, 0.8184],
[0.5967, 0.8858]])
返回一个张量,包含了从指定均值means和标准差std的离散正态分布中抽取的一组随机数。标准差std是一个张量,包含每个输出元素相关的正态分布标准差
a = torch.normal(mean = torch.rand(5),std = torch.rand(5))
print(a)
tensor([ 1.3558, 0.7833, -0.3671, 1.0076, -0.3036])
产生序列
#序列
a = torch.arange(0,10,3)
print(a)
tensor([0, 3, 6, 9])
产生等间隔数
#等间隔n个数
a = torch.linspace(2,10,4)
print(a)
print(a.type())
tensor([ 2.0000, 4.6667, 7.3333, 10.0000])
torch.FloatTensor
a = torch.randperm(10)
print(a)
tensor([1, 5, 0, 3, 7, 4, 9, 2, 8, 6])
#numpy
import numpy as np
a = np.array([[1,2],[3,4]])
print(a)
[[1 2]
[3 4]]