欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

torch.Generator 随机数生成器

发布时间:2023/12/20 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 torch.Generator 随机数生成器 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

PyTorch 通过 torch.Generator 类来操作随机数


我们通常不会手动实例化 torch.Generator, 当需要随机数时, PyTorch 会自动创建一个默认的 torch.Generator 实例

import torch# 设置随机数种子 torch.manual_seed(0)# 查看随机数种子 结果为 0 torch.initial_seed()# 获取默认的 Generator 实例 g_1 = torch.default_generator # 通过实例调用 结果也为 0 g_1.initial_seed()

通过 torch.xxx 和 Generator 实例均可调用 manual_seed() 以及 initial_seed(), 前者相当于使用默认的 Generator 实例去调用相应方法

通常使用的函数 torch.manual_seed() 会作用到默认的 Generator 实例上


函数 torch.manual_seed() 会返回默认的 Generator 实例

g_2 = torch.manual_seed(0)# 结果为 True g_1 is g_2

在使用需要随机数的函数时, 如果没有指定 Generator 实例, 则会使用默认的 Generator 实例, 可以通过关键字参数 generator 指定随机数生成器

# 使用默认的随机数生成器 torch.manual_seed(1)# 结果 tensor([0, 4, 2, 3, 1]) torch.randperm(5)# 手动创建随机数生成器 G = torch.Generator() G.manual_seed(1)# 结果也为 tensor([0, 4, 2, 3, 1]) torch.randperm(5, generator=G)

Generator 实例会区分 CPU 与 GPU 两种设备, 默认为 CPU 类型

# 结果为 device(type='cpu') G.device

总结

以上是生活随笔为你收集整理的torch.Generator 随机数生成器的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。