Variable是torch.autograd中的数据类型,主要用于封装Tensor,进行自动求导。
PyTorch 0.4.0版本开始,Variable已并入Tensor。
torch.tensor(
data,
dtype=None,
device=None,
requires_grad=False,
pin_memory=False
)
功能:从data创建tensor
• data: 数据, 可以是list, numpy
• dtype : 数据类型,默认与data的一致
• device : 所在设备, cuda/cpu
• requires_grad:是否需要梯度
• pin_memory:是否存于锁页内存
torch.from_numpy(ndarray)
功能:从numpy创建tensor。
注意事项:从torch.from_numpy创建的 tensor 与原始 ndarray 共享内存。
当修改其中一个的数据时,另一个也会被改动。
torch.zeros(
*size,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
功能:依照size创建全0张量
• size: 张量的形状, 如(3, 3)、(3, 224,224)
• out : 输出的张量
• layout : 内存中布局形式, 有strided,sparse_coo等
• device : 所在设备, gpu/cpu
• requires_grad:是否需要梯度
torch.zeros_like(
input,
dtype=None,
layout=None,
device=None,
requires_grad=False
)
功能:依照 input 形状创建全0张量
参数说明:
torch.ones(
*size,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
参数说明:
torch.ones_like(
input,
dtype=None,
layout=None,
device=None,
requires_grad=False
)
参数说明:
torch.full(
size,
fill_value,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
参数说明:
这个函数用于创建指定形状并用指定值填充的张量。填充值可以是一个标量或与指定数据类型相同的张量。可以选择性地指定数据类型、布局、设备和是否需要计算梯度。
torch.arange(
start=0,
end,
step=1,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
参数说明:
这个函数用于创建一个从 start 到 end(不包含 end)的数值序列,并以 step 为步长。可以选择性地指定数据类型、布局、设备和是否需要计算梯度。
torch.linspace(
start,
end,
steps=100,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
参数说明:
这个函数创建一个在指定范围内(从 start 到 end)以均匀间隔的方式生成的数值序列,并且序列的元素数量由 steps 参数指定。可以选择性地指定数据类型、布局、设备和是否需要计算梯度。
torch.logspace(
start,
end,
steps=100,
base=10.0,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
参数说明:
这个函数创建一个在对数刻度上以均匀间隔分布的数值序列,start 和 end 参数指定序列起始值和结束值的指数,base 参数确定对数的底。可以选择性地指定数据类型、布局、设备和是否需要计算梯度。
torch.eye(
n,
m=None,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
参数说明:
这个函数可以创建一个单位矩阵。如果提供了 m 参数,则创建的是一个 n x m 的矩阵,否则创建的是 n x n 的方阵。可以选择性地指定数据类型、布局、设备和是否需要计算梯度。
torch.normal(
mean,
std,
out=None
)
torch.normal() 是 PyTorch 中用于生成服从指定均值和标准差的正态分布随机数的函数。以下是该函数的参数说明:
torch.normal(
mean,
std,
out=None
)
用于生成服从指定均值和标准差的正态分布随机数。
torch.normal(
mean,
std,
size,
out=None
)
四种模式:
mean为标量,std为标量
mean为标量,std为张量
mean为张量,std为标量
mean为张量,std为张量
这个函数与前一个函数类似,但是多了一个 size 参数,用于指定生成张量的形状。返回一个形状为 size 的张量,其中的元素服从均值为 mean、标准差为 std 的正态分布。可以选择性地提供一个输出张量 out 用于保存生成的随机数。
torch.randn(
*size,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
torch.rand() 是 PyTorch 中用于生成服从标准正态分布(均值为0,标准差为1)的随机数的函数。以下是该函数的参数说明:
torch.rand(
*size,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
这个函数返回一个张量,其中的元素是在区间 [0, 1) 上均匀分布的随机数,形状由参数 *size 指定。可以选择性地指定数据类型、布局、设备和是否需要计算梯度。
torch.randint(
low=0,
high,
size,
out=None,
dtype=None,
layout=torch.strided,
device=None,
requires_grad=False
)
这个函数返回一个张量,其中的元素是在区间 [low, high) 上均匀分布的随机整数,形状由参数 size 指定。
这个函数用于生成随机排列和按照伯努利分布生成随机二元数。
torch.randperm(
n,
out=None,
dtype=torch.int64,
layout=torch.strided,
device=None,
requires_grad=False
)
参数说明:
这个函数返回一个长度为 n 的张量,包含从 0 到 n-1 的随机排列整数。
torch.bernoulli(
input,
*,
generator=None,
out=None
)
这个函数返回一个张量,其中的元素按照输入张量中的概率值在伯努利分布上进行采样生成随机二元数(0 或 1)。