PyTorch中torch.normal()函数详解
创作时间:
作者:
@小白创作中心
PyTorch中torch.normal()函数详解
引用
CSDN
1.
https://blog.csdn.net/wo541075754/article/details/142696150
torch.normal()用法
torch.normal()函数,用于生成符合正态分布(高斯分布)的随机数。在 PyTorch 中,这个函数通常用于生成 Tensor。
该函数共有四个方法:
@overload
def normal(mean: Tensor, std: Tensor, *, generator: Optional[Generator] = None, out: Optional[Tensor] = None) -> Tensor: ...
@overload
def normal(mean: Tensor, std: _float = 1, *, generator: Optional[Generator] = None, out: Optional[Tensor] = None) -> Tensor: ...
@overload
def normal(mean: _float, std: Tensor, *, generator: Optional[Generator] = None, out: Optional[Tensor] = None) -> Tensor: ...
@overload
def normal(mean: _float, std: _float, size: Sequence[Union[_int, SymInt]], *,
generator: Optional[Generator] = None, out: Optional[Tensor] = None,
dtype: Optional[_dtype] = None, layout: Optional[_layout] = None,
device: Optional[Optional[DeviceLikeType]] = None,
pin_memory: Optional[_bool] = False,
requires_grad: Optional[_bool] = False) -> Tensor: ...
参数解析
- mean: 表示正态分布的均值 (μ)。可以是一个标量,也可以是一个张量,如果是张量,其形状必须与 std 相容。如果 mean 是一个张量,那么函数将生成与 mean 相同形状的随机数张量,并以 mean 中的值作为各个维度的均值。
- std: 表示正态分布的标准差 (σ)。可以是一个标量,也可以是一个张量,如果是张量,其形状必须与 mean 相容。如果 std 是一个张量,那么函数将生成与 std 相同形状的随机数张量,并以 std 中的值作为各个维度的标准差。
- “*” (星号):星号后的参数为关键字参数,只能用关键字指定。
- size:指定生成张量的尺寸。
- generator=None:指定一个随机数生成器。PyTorch 常用 torch.Generator() 创建生成器。如果不指定,使用默认生成器。
- out=None:用于指定输出的 Tensor。如果不提供,函数将返回一个新创建的 Tensor。
返回值
返回一个张量,其形状与 mean 和 std 相同,其中的元素服从均值为 mean,标准差为 std 的正态分布。
使用示例
import torch
random_value = torch.normal(mean=0.0, std=1.0, size=(2, 2))
print(random_value)
# 生成一个服从均值0和标准差1的单个随机数
random_value = torch.normal(mean=0, std=1, size=(1,))
print(random_value)
# 生成一个服从均值0和标准差1的张量
mean_tensor = torch.zeros(3, 3) # 均值张量
std_tensor = torch.ones(3, 3) # 标准差张量
random_tensor = torch.normal(mean_tensor, std_tensor)
print(random_tensor)
# 使用指定生成器生成随机数
generator = torch.Generator().manual_seed(42)
random_value_with_generator = torch.normal(mean=0.0, std=1.0, size=(2, 2), generator=generator)
print(random_value_with_generator)
# 输出到指定Tensor
out_tensor = torch.empty(3, 3)
torch.normal(mean_tensor, std_tensor, out=out_tensor)
print(out_tensor)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
以上是 torch.normal() 函数的基本用法。可以根据具体需求调整 mean 和 std 的值来生成不同形状、不同均值和标准差的正态分布随机数。
热门推荐
太原市概况:自然资源与地理环境
古代文臣与武将:忠诚与权力的博弈
2024年世界四大大学排行榜揭晓:美英高校垄断前十,中国高校表现亮眼
项目部门油费管理:从预算到监督的全方位指南
手机号码真的能影响人的命运吗——从周易八字命理角度解析
地沟油“飞天”记 看宁波如何让废品成为生物航煤
20年100亿,“轨道上的美好生活”飞驰而来
外国人眼中这9种中国人的日常,你绝对猜不到!
疖:定义、症状、病因与治疗方法全解析
Excel全面指南:从基础设置到高级功能详解
C#一分钟浅谈:静态成员与静态类介绍
金庸剧集授权变革如何影响经典武侠IP影视质量?
吃米饭即可保护心脏健康?中国团队成功创制辅酶Q10水稻
二战日本最后的疯狂:神风特攻队的诞生与终结
天津大学建筑专业,历史底蕴与现代创新的完美融合
颈椎管狭窄症:症状、诊断与治疗全解析
CS秘籍大揭秘:从入门到精通的全方位指南
户外唱歌音响蓝牙适配器选购指南与使用技巧
中国电影市场观众结构变化 “档期依赖症”致畸产业链
3DMax效果图设计行业现状与未来发展趋势
烟酰胺全解析:从美白到全面护肤,功效卓越的护肤明星成分
理解32位与64位程序:兼容性、性能和未来趋势
智能辅助驾驶系统解析:让驾驶更轻松安全
夜跑带来6大益处 但也存在3个风险
长痘痘原来和这些有关?5个从中医角度详细分析告诉你
怪物猎人:荒野如何备份存档数据?轻松几步备份你的狩猎记忆。
星露谷物语复活节彩蛋有什么路线
如何计算商铺投资回报率?怎样评估商铺投资回报率的合理性?
如何设计才能打造舒适高效的门诊空间?
健身後吃什麼有效補充蛋白質的5個秘密,讓你輕鬆達到完美體態