本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:Pytorch – 创建随机Tensor的常用方法
原文链接:https://www.stubbornhuang.com/2439/
发布于:2022年12月08日 10:12:41
修改于:2022年12月08日 10:12:41

本文对Pytorch中创建随机数Tensor的一些常用方法进行总结,主要包括
- randn
- randn_like
- rand
- rand_like
- randint
- randint_like
1 torch.randn
形式
torch.randn(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False)
功能
返回一个均值为o,方差为1的符合正态分布的形状为size的随机数填充的Tensor。
参数
- size:定义输出张量形状的整数序列,列表或者元祖
- dtype:输出张量的数据类型
- layout:输出张量的布局
- device:输出张量的设备,如CPU或者CUDA
- require_grad:如果为真,autograd应该在返回的张量上记录操作。默认值:False。
- pin_memory:如果为真,则返回的张量将分配到固定内存中。仅适用于CPU张量。默认值:False。
使用示例
import torch
if __name__ == '__main__':
a = torch.randn(2, 2)
print(a)
b = torch.randn(size=(2, 2))
print(b)
输出
tensor([[ 1.8956, -0.8104],
[-1.4132, 0.6851]])
tensor([[-0.0448, -0.0469],
[-0.1450, -2.4475]])
2 torch.randn_like
形式
torch.randn_like(input, *, dtype=None, layout=None, device=None, requires_grad=False, memory_format=torch.preserve_format)
功能
返回一个与input张量size相同,均值为o,方差为1的符合正态分布的随机数填充的Tensor。
参数
- input:需要检测size的输入张量
- dtype:输出张量的数据类型
- layout:输出张量的布局
- device:输出张量的设备,如CPU或者CUDA
- require_grad:如果为真,autograd应该在返回的张量上记录操作。默认值:False。
- memory_format:输出张量的内存格式
使用示例
import torch
if __name__ == '__main__':
a = torch.eye(4)
print(a)
b = torch.randn_like(a)
print(b)
输出
tensor([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
tensor([[-0.4519, -1.3703, 1.2359, -1.2844],
[ 0.9674, -0.8321, 0.0218, 1.1582],
[ 0.2429, 0.2481, -0.8332, 1.1218],
[-0.7720, -0.4556, -0.7187, -1.0111]])
3 torch.rand
形式
torch.rand(*size, *, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False, pin_memory=False)
功能
返回一个均匀分布在[0,1)区间的形状为size的随机数填充的Tensor。
参数
- size:定义输出张量形状的整数序列,列表或者元祖
- dtype:输出张量的数据类型
- layout:输出张量的布局
- device:输出张量的设备,如CPU或者CUDA
- require_grad:如果为真,autograd应该在返回的张量上记录操作。默认值:False。
- pin_memory:如果为真,则返回的张量将分配到固定内存中。仅适用于CPU张量。默认值:False。
使用示例
import torch
if __name__ == '__main__':
a = torch.rand(2, 2)
print(a)
b = torch.rand(size=(2, 2))
print(b)
输出
tensor([[0.8743, 0.7553],
[0.2865, 0.0855]])
tensor([[0.0394, 0.9032],
[0.9975, 0.1686]])
4 torch.rand_like
形式
torch.rand_like(input, *, dtype=None, layout=None, device=None, requires_grad=False, memory_format=torch.preserve_format)
功能
返回一个与input张量size相同,均匀分布在[0,1)区间的随机数填充的Tensor。
参数
- input:需要检测size的输入张量
- dtype:输出张量的数据类型
- layout:输出张量的布局
- device:输出张量的设备,如CPU或者CUDA
- require_grad:如果为真,autograd应该在返回的张量上记录操作。默认值:False。
- memory_format:输出张量的内存格式
使用示例
import torch
if __name__ == '__main__':
a = torch.eye(4)
print(a)
b = torch.rand_like(a)
print(b)
输出
tensor([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
tensor([[0.3027, 0.8182, 0.0203, 0.3121],
[0.9693, 0.2909, 0.2630, 0.9446],
[0.0036, 0.8017, 0.6602, 0.8106],
[0.7111, 0.6369, 0.4642, 0.0651]])
5 torch.randint
形式
torch.randint(low=0, high, size, \*, generator=None, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
功能
返回一个均匀分布在最低值为low,最高值为high,形状为size的随机数Tensor
参数
- low:最低值,默认为0
- high:最高值
- size:定义输出张量形状的整数序列,列表或者元祖
- dtype:输出张量的数据类型
- layout:输出张量的布局
- device:输出张量的设备,如CPU或者CUDA
- require_grad:如果为真,autograd应该在返回的张量上记录操作。默认值:False。
使用示例
import torch
if __name__ == '__main__':
b = torch.randint(0, 10, size=(2, 2))
print(b)
输出
tensor([[5, 8],
[2, 3]])
6 torch.randint_like
形式
torch.randint_like(input, low=0, high, \*, dtype=None, layout=torch.strided, device=None, requires_grad=False, memory_format=torch.preserve_format)
功能
返回一个均匀分布在最低值为low,最高值为high,形状与输入张量input相同的随机数Tensor
参数
- input:需检测形状的输入张量
- low:最低值,默认为0
- high:最高值
- dtype:输出张量的数据类型
- layout:输出张量的布局
- device:输出张量的设备,如CPU或者CUDA
- require_grad:如果为真,autograd应该在返回的张量上记录操作。默认值:False。
- memory_format:输出张量的内存格式
使用示例
import torch
if __name__ == '__main__':
a = torch.eye(4)
print(a)
b = torch.randint_like(a, 1, 10)
print(b)
输出
tensor([[1., 0., 0., 0.],
[0., 1., 0., 0.],
[0., 0., 1., 0.],
[0., 0., 0., 1.]])
tensor([[1., 2., 9., 6.],
[3., 1., 8., 2.],
[6., 3., 1., 8.],
[5., 3., 5., 3.]])
当前分类随机文章推荐
- Pytorch - 使用torchsummary/torchsummaryX/torchinfo库打印模型结构、输出维度和参数信息 阅读993次,点赞0次
- Pytorch – 使用torch.matmul()替换torch.einsum('bhxyd,md->bhxym',(a,b))算子模式 阅读781次,点赞0次
- Pytorch - 使用opencv-python解码视频文件并将视频帧转换为Pytorch tensor作为网络模型输入数据 阅读2145次,点赞0次
- Pytorch - torch.distributed.init_process_group函数详解 阅读339次,点赞0次
- Pytorch - torch.nn.Conv1d参数详解与使用 阅读1152次,点赞0次
- Pytorch - 用Pytorch实现ResNet 阅读272次,点赞0次
- Pytorch - 没有使用with torch.no_grad()造成测试网络时显存爆炸的问题 阅读290次,点赞0次
- Pytorch - transpose和permute函数的区别和用法 阅读967次,点赞0次
- Pytorch - torch.topk参数详解与使用 阅读94次,点赞0次
- Pytorch - torch.cat函数 阅读98次,点赞0次
全站随机文章推荐
- 计算机图形学 - 大白话模型视图投影矩阵(MVP)以及各种变换空间(模型空间、世界空间、相机空间、裁剪空间、屏幕空间) 阅读1237次,点赞1次
- WordPress - 后台登录成功/失败发送邮件给网站管理员 阅读2761次,点赞0次
- C++ - 阿拉伯数字字符串转换为中文读法的中文字符串,支持小数点 阅读1054次,点赞0次
- 资源分享 - Essential Mathematics for Games and Interactive Applications(First Edition) 英文高清PDF下载 阅读1619次,点赞0次
- Duilib - 各个控件的消息响应类型 阅读2132次,点赞0次
- Windows - 虚拟按键Virtual-Key Codes大全 阅读3180次,点赞0次
- FFmpeg - FFmpeg历史版本下载和函数弃用列表 阅读1352次,点赞0次
- 资源分享 - Computational Geometry - Algorithms and Applications, First Edition 英文高清PDF下载 阅读1498次,点赞0次
- 资源分享 - GPU Pro 3 - Advanced Rendering Techniques 英文高清PDF下载 阅读1919次,点赞0次
- Pytorch - masked_fill方法参数详解与使用 阅读422次,点赞0次
评论
164