【机器学习】随机种子Random Seed介绍(在Python、Pytorch、TensorFlow中的设置代码汇总)

这篇具有很好参考价值的文章主要介绍了【机器学习】随机种子Random Seed介绍(在Python、Pytorch、TensorFlow中的设置代码汇总)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Random seed(随机种子) 是在生成随机数时使用的起始点。它用于控制随机数生成器产生随机数的序列。设置了随机种子后,每次生成的随机数序列将是确定性的,这意味着可以在不同的运行中获得相同的随机数序列,从而使实验可复现。

在机器学习中,确保实验的可复现性是至关重要的,因为它允许其他人重现你的结果并验证你的研究成果。如果不设置随机种子,每次运行程序时生成的随机数都会发生改变,这将导致结果的不可复现性。

在Python中,随机种子是通过random.seed()函数设置的,而在PyTorch中,可以通过设置torch.manual_seed()来实现,在TensorFlow中,使用tf.random.set_seed()设置

下面是两种场景下设置随机种子的示例:

场景1)在普通Python环境中:

import random

# 设置随机种子
random.seed(123)

# 生成随机数
for _ in range(5):
    print(random.random())

在这个例子中,我们设置了随机种子为 123,然后生成了 5 个随机数。如果你再次运行上面的代码,你会发现每次生成的随机数序列都是相同的。

场景2)在使用PyTorch训练时:

在 PyTorch 中,可以使用 torch.manual_seed() 来设置随机种子。下面是一个具体的使用案例:文章来源地址https://www.toymoban.com/news/detail-744631.html

import torch

# 设置随机种子
torch.manual_seed(123)

# 创建一个随机数张量
random_tensor_1 = torch.rand(3, 3)
print("第一次随机数生成结果:")
print(random_tensor_1)

# 再次随机生成,第二次结果和第一次是一样的
random_tensor_2 = torch.rand(3, 3)
random_tensor_2

# 重新设置不的随机种子
torch.manual_seed(456)

# 再次创建一个随机数张量:因为设置了不同的随机数种子,这次生成的结果不和之前两次不同
random_tensor_3 = torch.rand(3, 3)
print("\n第三次随机数生成结果:")
print(random_tensor_3)

其他设置代码汇总:

import torch
import random
import tensorflow as tf
import numpy as np

# 设置随机种子
seed = 42


np.random.seed(seed)# 设置 NumPy 中的随机种子
random.seed(seed) #设置 Python 标准库中的随机种子,以确保其他 Python 函数中使用的随机数也是可复现的。

tf.random.set_seed(seed) #设置 TensorFlow 中的随机种子

torch.manual_seed(seed)
torch.cuda.manual_seed(seed) #设置 PyTorch 在 CUDA 环境下的随机种子,以确保 CUDA 计算的结果是可复现的。
torch.cuda.manual_seed_all(seed)  # 如果使用多个GPU,此命令将确保所有的 GPU 使用相同的随机种子。
torch.backends.cudnn.deterministic = True # 确保在使用 cuDNN 加速时结果可复现,但可能会降低性能。
torch.backends.cudnn.benchmark = False #禁用 cuDNN 的自动寻找最适合当前配置的高效算法的功能,以确保结果的一致性。

到了这里,关于【机器学习】随机种子Random Seed介绍(在Python、Pytorch、TensorFlow中的设置代码汇总)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • R语言【base】——.Random.seed(),RNGkind(),RNGversion(),set.seed():随机数生成器

    Package  base  version 4.2.0 .Random.seed是一个整数向量,包含R中生成随机数的随机数生成器(RNG)状态。它可以保存和恢复,但不应该被用户更改。 RNGkind是一个更友好的接口,用于查询或设置正在使用的RNG类型。 RNGversion在早期的R版本中可以用来设置随机生成器(为了再现性)。 set

    2024年02月22日
    浏览(54)
  • 【Midjourney】Midjourney 连续性人物创作 ④ ( 使用 URL + Seed 随机种子生成连续性的人物 )

    使用 URL 链接 和 Seed 随机种子 生成连续性人物 , 必须先生成一组图片 , 然后按 U 按钮 , 选择一张大图 , 之后所有的连续性人物图片都基于该图片进行生成 ; 使用 URL + Seed 随机种子生成连续性的人物创作 : url 提示词 –seed 随机种子 先执行 命令 , 生成一张图片 , 点击 U4 按钮

    2024年02月03日
    浏览(57)
  • 【机器学习】scikit-learn机器学习中随机数种子的应用与重现

    随机数种子是为了能重现某一次实验生成的随机数而设立的,相同的随机数种子下,生成的随机数序列一样 一、随机数种子基础应用 在python中简单运用随机数种子 结果如下 可以看到out[6]之前加载了随机数种子1之后可以重现第一次随机数的生成结果 二、随机数种子在scikit

    2024年02月01日
    浏览(50)
  • 【机器学习】随机森林 – Random forest

    随机森林是一种由 决策树 构成的 集成算法 ,他在很多情况下都能有不错的表现。 要深入理解上面这句话,请阅读我的另外两篇文章: 【机器学习】决策树 – Decision Tree 【机器学习】集成学习 - Ensemble Learning 随机森林属于 集成学习 中的 Bagging (Bootstrap AGgregation 的简称)

    2024年02月16日
    浏览(47)
  • 机器学习5—分类算法之随机森林(Random Forest)

    随机森林(Random Forest) 是Bagging(一种并行式的集成学习方法)的一个拓展体,它的基学习器固定为决策树,多棵树也就组成了森林,而“随机”则在于选择划分属性的随机,随机森林在训练基学习器时,也采用有放回采样的方式添加样本扰动,同时它还引入了一种属性扰动

    2024年02月03日
    浏览(44)
  • 系统学习Python——随机模块random:随机顺序返回序列random.shuffle

    分类目录:《系统学习Python》总目录 接受一个序列,并以随机顺序返回此序列。需要注意的是,使用这个函数不会生成新的列表,只是将原列表的次序打乱。 语法 参数 lst :待排序的 list 返回值 实例 以上实例输出结果为:

    2024年02月15日
    浏览(41)
  • 机器学习之随机森林(Random forest)

    随机森林是一种监督式算法,使用由众多决策树组成的一种集成学习方法,输出是对问题最佳答案的共识。随机森林可用于分类或回归,是一种主流的集成学习算法。 随机森林中有许多的分类树。我们要将一个输入样本进行分类,我们需要将输入样本输入到每棵树中进行分类

    2024年02月15日
    浏览(43)
  • 随机森林(Random Forest)简单介绍

    随机森林是一种监督式学习算法,适用于分类和回归问题。它可以用于数据挖掘,计算机视觉,自然语言处理等领域。随机森林是在决策树的基础上构建的。随机森林的一个重要特点是它可以减少决策树由于过度拟合数据而导致的过拟合,从而提高模型的性能。 随机森林是一

    2024年02月07日
    浏览(43)
  • Python 随机函数random详解

    介绍这7个随机数的方法应用:    说明:用于生成一个0到1的随机符点数: 0 = x 1.0  说明:用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a b,则生成的随机数n: b = n = a。如果 a b, 则 a = n = b。     说明:用于生成一个指定范围内的整数

    2024年02月05日
    浏览(64)
  • python:random --- 生成伪随机数

    该模块实现了各种分布的伪随机数生成器。 对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的函数、以及用于随机抽样而无需替换的函数。 在实数轴上,有计算均匀、正态(高斯)、对数正态、负指数、伽马和贝塔分布的

    2024年02月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包