torch numpy seed使用方法

1

import numpy as np
np.random.seed(500)
np.random.rand(5)
array([0.69367953, 0.06171699, 0.6666116 , 0.55920894, 0.08511062])
import torch
torch.manual_seed(500)
torch.rand(5)

为了能够复现数据,我们可以使用seed 来控制生成的随机数。设置seed数据来设定指定的随机数列,每次调用 随机数生成函数 ,就会从随机数列种读取数据,所以重复运行相同的随机数生成函数,得到的值并不相同。

2

torch.Generator().manual_seed(seed) 与直接调用 torch.manual_seed(seed) 的主要区别在于作用域粒度上的不同。

torch.manual_seed(seed):

  • 全局设置:调用 torch.manual_seed(seed) 会影响 PyTorch 中所有后续的随机数生成操作,且影响的是全局的随机数生成器。这意味着,无论是CPU还是GPU上的随机操作,都会使用这个种子生成随机数。
  • 适用于所有随机数生成器:它会影响 PyTorch 中所有使用默认生成器的操作。例如,创建张量时使用 torch.randn() 或其他类似的随机生成函数时,它们都会受到这个种子的影响。

torch.Generator().manual_seed(seed):

  • 局部设置:调用 torch.Generator().manual_seed(seed) 会创建一个新的 torch.Generator 对象,并将种子应用到该对象。这个生成器仅对通过该生成器产生的随机数起作用,而不会影响全局默认的随机数生成器。
  • 可用于多个生成器:通过显式创建和设置 Generator 对象,你可以为不同的操作或任务创建多个独立的随机数生成器,每个生成器可以拥有不同的种子。这在需要对不同的计算操作保持独立的随机数生成时非常有用。

区别总结:

  • 全局 vs 局部

    • torch.manual_seed(seed):影响全局的默认随机数生成器。
    • torch.Generator().manual_seed(seed):创建并影响一个独立的随机数生成器,不会影响全局状态。
  • 多重生成器支持

    • 如果你希望在不同的操作中使用不同的随机数生成器并控制它们的种子,可以使用 torch.Generator().manual_seed(seed)

示例:

# 全局种子设置
torch.manual_seed(42)  # 所有后续操作都会基于种子42生成# 使用独立的生成器
gen = torch.Generator()
gen.manual_seed(42)  # 这个生成器的随机数会基于种子42,但不会影响全局设置
random_tensor = torch.randn(3, 3, generator=gen)

在这个示例中,gen 是一个独立的随机数生成器,它的行为与全局设置无关,适用于需要多个不同随机生成器的场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/69873.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kafka中文文档

文章来源:https://kafka.cadn.net.cn 什么是事件流式处理? 事件流是人体中枢神经系统的数字等价物。它是 为“永远在线”的世界奠定技术基础,在这个世界里,企业越来越多地使用软件定义 和 automated,而软件的用户更…

LabVIEW温度修正部件测试系统

LabVIEW温度修正部件测试系统 这个基于LabVIEW的温度修正部件测试系统旨在解决飞行器温度测量及修正电路的测试需求。该系统的意义在于提供一个可靠的测试平台,用于评估温度修正部件在实际飞行器环境中的性能表现,从而确保飞行器的安全性和可靠性。 系统…

解析与使用 Apache HttpClient 进行网络请求和数据抓取

目录 1. 什么是 HttpClient? 2. 基本使用 3. 使用 HttpClient 爬取腾讯天气的数据 4. 爬取拉勾招聘网站的职位信息 5. 总结 前言 Apache HttpClient 是 Apache 提供的一个用于处理 HTTP 请求和响应的工具类库。它提供了一种便捷、功能强大的方式来发送 HTTP 请…

扣子平台音频功能:让声音也能“智能”起来。扣子免费系列教程(14)

在数字化时代,音频内容的重要性不言而喻。无论是在线课程、有声读物,还是各种多媒体应用,音频都是传递信息、增强体验的关键元素。扣子平台的音频功能,为开发者和内容创作者提供了一个强大而灵活的工具,让音频的使用和…

【自开发工具介绍】SQLSERVER的ImpDp和ExpDp工具01

1、开发背景 大家都很熟悉,Oracle提供了Impdp和ExpDp工具,功能很强大,可以进行db的导入导出的处理。但是对于Sqlserver数据库只是提供了简单的图形化的导出导入工具,在实际的开发和生产环境不太可能让用户在图形化的界面选择移行…

上手DeepSeek大模型:本地化安装部署,确保数据不泄露

摘要:过年前DeepSeek横空出世,在世界范围内掀起AI狂潮,成了大家茶余饭后的话题。对于普通人怎样使用这个大模型呢?这篇文章来上手实践。 使用DeepSeek最简单的办法就是使用在线版或者手机版。 - 1 - 使用在线版 在浏览器中输…

蓝桥杯刷题DAY1:前缀和

所谓刷题,讲究的就是细心 帕鲁服务器崩坏【算法赛】 “那个帕鲁我已经观察你很久了,我对你是有些失望的,进了这个营地,不是把事情做好就可以的,你需要有体系化思考的能力。” 《幻兽帕鲁》火遍全网,成为…

【React】PureComponent 和 Component 的区别

前言 在 React 中,PureComponent 和 Component 都是用于创建组件的基类,但它们有一个主要的区别:PureComponent 会给类组件默认加一个shouldComponentUpdate周期函数。在此周期函数中,它对props 和 state (新老的属性/状态)会做一…

ZZNUOJ(C/C++)基础练习1021——1030(详解版)

目录 1021 : 三数求大值 C语言版 C版 代码逻辑解释 1022 : 三整数排序 C语言版 C版 代码逻辑解释 补充 (C语言版,三目运算)C类似 代码逻辑解释 1023 : 大小写转换 C语言版 C版 1024 : 计算字母序号 C语言版 C版 代码逻辑总结…

此虚拟机的处理器所支持的功能不同于保存虚拟机状态的虚拟机的处理器所支持的功能

1.问题:今天记录下自己曾经遇到的一个问题,就是复制别人虚拟机时弹出来的一个报错: 如图,根本原因就在于虚拟机版本的问题,无法对应的上,所以必须升级虚拟机。 2.问题解决: 1.直接点击放弃,此时…

高温环境对电机性能的影响与LabVIEW应用

电机在高温环境下的性能可能受到多种因素的影响,尤其是对于持续工作和高负荷条件下的电机。高温会影响电机的效率、寿命以及可靠性,导致设备出现过热、绝缘损坏等问题。因此,在设计电机控制系统时,特别是在高温环境下,…

C++ Primer 处理类型

欢迎阅读我的 【CPrimer】专栏 专栏简介:本专栏主要面向C初学者,解释C的一些基本概念和基础语言特性,涉及C标准库的用法,面向对象特性,泛型特性高级用法。通过使用标准库中定义的抽象设施,使你更加适应高级…

本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操

本地部署DeepSeek开源多模态大模型Janus-Pro-7B实操 Janus-Pro-7B介绍 Janus-Pro-7B 是由 DeepSeek 开发的多模态 AI 模型,它在理解和生成方面取得了显著的进步。这意味着它不仅可以处理文本,还可以处理图像等其他模态的信息。 模型主要特点:Permalink…

使用LLaMA-Factory对AI进行认知的微调

使用LLaMA-Factory对AI进行认知的微调 引言1. 安装LLaMA-Factory1.1. 克隆仓库1.2. 创建虚拟环境1.3. 安装LLaMA-Factory1.4. 验证 2. 准备数据2.1. 创建数据集2.2. 更新数据集信息 3. 启动LLaMA-Factory4. 进行微调4.1. 设置模型4.2. 预览数据集4.3. 设置学习率等参数4.4. 预览…

three.js+WebGL踩坑经验合集(6.2):负缩放,负定矩阵和行列式的关系(3D版本)

本篇将紧接上篇的2D版本对3D版的负缩放矩阵进行解读。 (6.1):负缩放,负定矩阵和行列式的关系(2D版本) 既然three.js对3D版的负缩放也使用行列式进行判断,那么,2D版的结论用到3D上其实是没毛病的,THREE.Li…

软件工程经济学-日常作业+大作业

目录 一、作业1 作业内容 解答 二、作业2 作业内容 解答 三、作业3 作业内容 解答 四、大作业 作业内容 解答 1.建立层次结构模型 (1)目标层 (2)准则层 (3)方案层 2.构造判断矩阵 (1)准则层判断矩阵 (2)方案层判断矩阵 3.层次单排序及其一致性检验 代码 …

小程序的协同工作与发布

1.小程序API的三大分类 2.小程序管理的概念,以及成员管理两个方面 3.开发者权限说明以及如何维护项目成员 4.小程序版本

架构技能(六):软件设计(下)

我们知道,软件设计包括软件的整体架构设计和模块的详细设计。 在上一篇文章(见 《架构技能(五):软件设计(上)》)谈了软件的整体架构设计,今天聊一下模块的详细设计。 模…

基于微信小程序的实习记录系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

B-树:解锁大数据存储和与快速存储的密码

在我们学习数据结构的过程中,我们会学习到二叉搜索树、二叉平衡树、红黑树。 这些无一例外,是以一个二叉树展开的,那么对于我们寻找其中存在树中的数据,这个也是一个不错的方法。 但是,如若是遇到了非常大的数据容量…