Pytorch 创建 tensor 操作
创建单位矩阵
torch.eye(n, m=None, out=None)
#返回一个2维张量,对角线位置全1,其它位置全0的2维张量
参数:
- n(int) - 行数
- m(int, optional) - 列数,如果为None,则默认是 n
- out(Tensor,optional)- Output tensor
将 numpy.ndarray 转换为 pytorch 的Tensor。返回的张量 tensor 和 numpy 的 ndarray 共享同一内存空间。修改一个会导致梁一个也被修改。返回的张量不能改变大小。
例子:
生成一维线性张量
torch.linspace返回一个1维张量,包含在 start 和 end 上均匀间隔的 step 个点,输出1维张量的长度为 steps。
torch.logspace返回一个1维张量,包含在 10start 和10end 上以对数刻度均匀间隔的 step 个点,输出1维张量的长度为 steps。
torch.linspace(start, end, steps=100, out=None) -> Tensor
torch.logspace(start, end, steos=100, out=None) -> Tensor
参数:
- start(float) - 序列的起始点
- end(float) - 序列的终止点
- setps(int) - 在 start 和 end 间生成的样本数
- out(Tensor,optional)- 结果张量
例子:
生成全是 1 的张量
torch.ones(*size, out=None) -> Tensor
参数:
- size(int…) - 整数序列,定义了输出形状
- out(Tensor, optional) - 结果张量
例子:
在区间 [0, 1)的均匀分布中抽取一组随机数
torch.rand(*sizes, out=None) ->Tensor
参数:
- size(int…) - 整数序列,定义了输出的形状
- out(Tensor, optional) - 结果张量
例子:
生成满足标准正态分布(均值是0,方差是1)的一个张量
torch.randn(*sizes, out=None) ->Tensor
参数:
- size(int…) - 整数序列,定义了输出的形状
- out(Tensor, optional) - 结果张量
生成一个0 - (n-1) 的随机整数排列
torch.randperm(n, out=None) -> LongTensor
参数:
- n(int) - 上边界(不包含)
例子:
生成指定步长的一维张量:
长度为 floor((end-start)/step),包含从 start 到 end,以step为步长
torch.arange(start, end, step=1, out=None) -> Tensor
参数:
- start(float) - 序列的起始点
- end(float) - 序列的终止点
- step(float) - 相邻点的间隔大小
- out(Tensor, optional) - 结果张量
例子:
torch.range(start, end, step=1, out=None) -> Tensor
返回一个 1 维张量,有 floor((end - start)/step) + 1个元素。包含在半开区间[start, end),从start开始,以step为步长的一组值
参数:
- start(float) - 序列的起始点
- end(float) - 序列的终止点
- step(float) - 相邻点的间隔大小
- out(Tensor, optional) - 结果张量
例子:
生成全是 0 的张量矩阵
torch.zeros(*sizes, out=None) -> Tensor
参数:
- sizes(int…) - 整数序列,定义了输出形状
- out(Tensor,optional) - 结果张量
例子: