石家庄关键词快速排名/开鲁seo服务

石家庄关键词快速排名,开鲁seo服务,现在由哪些网站可以做外链,网站流量是怎么赚钱的目录 一、torch.manual_seed(seed)二、torch.cuda.manual_seed(seed)三、torch.rand(*size, outNone, dtypeNone, layouttorch.strided, deviceNone, requires_gradFalse)四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧五、torch.version.cuda;torch.bac…

目录

  • 一、torch.manual_seed(seed)
  • 二、torch.cuda.manual_seed(seed)
  • 三、torch.rand(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)
  • 四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧
  • 五、torch.version.cuda;torch.backends.cudnn.version();打印cuda、cudnn版本
  • 六、torch.autograd.grad()自动求梯度

我就基本的解释一下吧,!

一、torch.manual_seed(seed)

功能: 用于手动设置 PyTorch 的随机数生成器的种子。当你设置了一个特定的种子后,后续所有依赖随机数生成的操作都会产生可重复的结果。
参数: seed 是一个整数,取值范围通常是 32 位整数范围(-2147483648 到 2147483647)。

示例代码如下:

import torch# 设置随机种子
torch.manual_seed(42)
# 生成随机张量
tensor1 = torch.randn(2, 2)
print(tensor1)# 再次设置相同的种子
torch.manual_seed(42)
tensor2 = torch.randn(2, 2)
print(tensor2)# 验证两次生成的张量是否相同
print(torch.allclose(tensor1, tensor2))  # 输出 True

运行结果如下图:
在这里插入图片描述
(一般还有个torch.seed()但是被弃用了,因为每次都是随机的结果,在科研啥的,一般都手动指定随机数种子,)

先解释一下,什么是随机数种子:
PyTorch 中随机数种子的作用原理
随机数种子就像是随机数生成器的起始状态标识。在 PyTorch 里,随机数生成器是基于特定的算法(如 Mersenne Twister 算法)来工作的。当你设置一个随机数种子时,实际上是将随机数生成器初始化为一个特定的状态。

从这个特定状态开始,随机数生成器会按照固定的算法规则生成一系列随机数。只要种子不变,每次从这个状态开始生成的随机数序列都是相同的。这就保证了在相同的代码和相同的种子设置下,每次运行代码时,所有依赖随机数生成的操作(如初始化模型权重、打乱数据集等)都会产生相同的结果,从而实现实验的可重复性。

例如,在神经网络训练中,我们通常会随机初始化模型的权重。如果不设置随机数种子,每次运行代码时权重的初始化值都不同,那么模型的训练结果也会有差异,不利于实验结果的对比和分析。而通过设置固定的随机数种子,我们可以确保每次运行代码时模型的初始权重是相同的,这样就可以更准确地评估不同训练参数或方法对模型性能的影响。

二、torch.cuda.manual_seed(seed)

功能: 专门为 CUDA 设备(即 GPU)设置随机数种子。如果你的代码在 GPU 上运行,使用这个函数可以确保在 GPU 上的随机操作具有可重复性。
参数: seed 同样是一个整数。

import torchif torch.cuda.is_available():# 为 CUDA 设备设置随机种子torch.cuda.manual_seed(42)# 在 GPU 上生成随机张量device = torch.device("cuda")tensor = torch.randn(2, 2).to(device)print(tensor)

在这里插入图片描述
注意:没有CUDA的就别跑了,会报错的。

三、torch.rand(*size, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)

功能: 生成指定形状的服从均匀分布的随机数张量,取值范围是 [0, 1)。
参数:
*size: 张量的形状,例如 (2, 3) 表示生成一个 2 行 3 列的张量。
out: 可选参数,用于指定输出张量。
dtype: 张量的数据类型。
layout: 张量的布局,一般使用默认的 torch.strided。
device: 张量存储的设备,如 ‘cpu’ 或 ‘cuda’。
requires_grad: 是否需要计算梯度。

import torch# 生成一个 2 行 3 列的随机张量
random_tensor = torch.rand(2, 3)
print(random_tensor)

示例结果:
在这里插入图片描述

四、给大家写一个常用的自动选择电脑cuda 或者cpu 的小技巧

import torch# 判断 CUDA 是否可用
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(f"Using device: {device}")

在这里插入图片描述

五、torch.version.cuda;torch.backends.cudnn.version();打印cuda、cudnn版本

import torch# 判断 CUDA 是否可用
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")print(f"Using device: {device}")print(torch.cuda.is_available()) #查看是否有cuda
print(torch.backends.cudnn.is_available()) #查看是否有cudnn
print(torch.version.cuda) #打印cuda的版本
print(torch.backends.cudnn.version()) #打印cudnn的版本

我的运行结果如下:
在这里插入图片描述
大家如果有安装环境有问题的也可以私信我哦~

六、torch.autograd.grad()自动求梯度

torch.autograd.grad()用于求取梯度;
函数原型:
torch.autograd.grad(outputs, inputs, grad_outputs=None, retain_graph=None, create_graph=False, only_inputs=True, allow_unused=False)

outputs:
类型:Tensor 或 Tensor 列表
描述:目标张量,即需要计算梯度的张量。
inputs:
类型:Tensor 或 Tensor 列表
描述:输入张量,用于计算梯度的张量。
grad_outputs(可选):
类型:Tensor 或 Tensor 列表
描述:目标张量对应的梯度。如果outputs 是一个标量,则 grad_outputs 不需要指定;如果 outputs 是一个张量或张量列表,需要指定 grad_outputs 的形状与之对应。
retain_graph(可选,默认值:None):
类型:布尔值
描述:是否保留计算图。在默认情况下,计算图在反向传播后会被释放以节省内存。如果需要多次反向传播同一个计算图,可以设置为 True。
create_graph(可选,默认值:False):
类型:布尔值
描述:是否创建新的计算图。如果设置为 True,梯度计算将被跟踪,生成的梯度张量将保留计算图,从而允许进行高阶导数的计算。
only_inputs(可选,默认值:True):
类型:布尔值
描述:是否只计算输入张量的梯度。如果设置为 True,仅输入张量的梯度会被计算。
allow_unused(可选,默认值:False):
类型:布尔值
描述:是否允许输入张量未被使用。如果某些输入张量未被 outputs 使用,并且没有被计算梯度,则会抛出错误。如果设置为 True,这些未使用的输入张量的梯度将返回为 None。
返回值
类型:Tensor 或 Tensor 列表
返回对应输入张量的梯度。

outputs:是你希望对其进行求导的标量

import torch# 创建两个张量,requires_grad=True 表示需要计算梯度
x = torch.tensor([1.0, 2.0, 3.0], requires_grad=True)
y = torch.tensor([4.0, 5.0, 6.0], requires_grad=True)# 定义一个函数 z = x * y
z = x * y# 使用 torch.autograd.grad() 计算梯度
grad_z_x = torch.autograd.grad(outputs=z, inputs=x, grad_outputs=torch.ones_like(z))print("梯度 dz/dx:", grad_z_x)

在这里插入图片描述


后面如果还有什么用到的,我会在这继续更新…ing!

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

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

相关文章

基于PyTorch的深度学习3——基于autograd的反向传播

反向传播,可以理解为函数关系的反向传播。

设备管理系统功能与.NET+VUE(IVIEW)技术实现

在现代工业和商业环境中,设备管理系统(Equipment Management System,简称EMS)是确保设备高效运行和维护的关键工具。本文采用多租户设计的设备管理系统,基于.NET后端和VUE前端(使用IVIEW UI框架&#xff09…

9-Agent大模型中工作流的使用方法分析

目录 关键词 摘要 速览 配置插件进行新闻内容查找的工作流设置 自动化调用用户输入变量的插件配置教程 配置大模型以整理并简要输出新闻内容 新闻内容总结功能调试与优化 搭建与发布工作流优化布局的流程详解 创建和配置智能体工作流程 调试页面与工作流配置演示 思…

记一次:泛微OA集成Mybatis后 insert/update执行成功,但未真正插入或修改数据

背景:通过Mybatis插入数据或更新数据,显示插入/更新成功,查询数据库,发现并未插入成功、数据也没更新成功。下面是Mapper文件 public interface TestOrmMapper {int insertByTest(Param("requestId") Integer requestI…

【大模型系列篇】国产开源大模型DeepSeek-V3技术报告解析

DeepSeek-V3技术报告 目录 DeepSeek-V3技术报告 1. 摘要 2. 引言 3. DeepSeek V3 架构 3.1 基础架构 3.1.1. 多头潜在注意力 3.1.2. DeepSeekMoE和无辅助损失的负载均衡 3.2 多令牌预测 4. 基础设施 4.1 计算集群 4.2 训练框架 4.2.1. DualPipe算法与计算通信协同优…

负载均衡 - 一致性hash算法

构建场景 假如我们有三台缓存服务器编号node0、node1、node2,现在有3000万个key,希望可以将这些个key均匀的缓存到三台机器上,你会想到什么方案呢? 我们可能首先想到的方案,是取模算法hash(key&#xff0…

洛谷P1334

题目如下 思路: 每次选择最短的两块木板进行合并,直到只剩下一块木板。使用最小堆(优先队列)来实现这一过程。使用最小堆: 将所有木板的长度放入最小堆(优先队列) 每次从堆中取出两块最短的木…

总结(尚硅谷Vue3入门到实战,最新版vue3+TypeScript前端开发教程)

1.Vue简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece 1.1.性能的提升 打包大小减少41%。 初次渲染快55%, 更新渲染快133%。 内存减少54%。 1.2.源码的升级 使用Proxy代替defineProperty实现响应式。 重写虚拟DOM的实现和Tree-Shak…

【深度学习CV】【图像分类】从CNN(卷积神经网络)、ResNet迁移学习到GPU高效训练优化【案例代码】详解

摘要 本文分类使用的是resNet34,什么不用yolo v8,yolo v10系列,虽然他们也可以分类,因为yolo系列模型不纯粹,里面包含了目标检测的架构,所以分类使用的是resNet 本文详细介绍了三种不同的方法来训练卷积神经网络进行 CIFAR-10 图…

OPPO Find N5折叠手机:创新与实用的完美融合,FPC应用展现科技魅力【新立电子】

OPPO Find N5作为2025年新出世的折叠手机,以其卓越的设计、强大的性能以及创新的技术,为消费者带来了全新的使用体验。FPC(柔性电路板)在其中的运用,也进一步提升了手机的整体性能和用户体验。 OPPO Find N5的最大亮点…

【AD】PCB增加相关图层——以机械层为例

问题:图中PCB仅有机械层1和机械层2,想要在加一个机械层3 解决 1.点击视图—面板—View Configuration,选中机械层右键单击增加层,其他层类似

测试用例总结

一、通用测试用例八要素   1、用例编号;    2、测试项目;   3、测试标题; 4、重要级别;    5、预置条件;    6、测试输入;    7、操作步骤;    8、预期输出 二、具体分析通…

不用写代码,批量下载今日头条文章导出excel和pdf

前几天有人问我怎么批量抓取今日头条某个号的所有文章数据,需要文章链接,标题和时间,但是不会写代码,于是我写了个简单的教程 这里以渤海小吏为例 首先用edge浏览器安装web-scraper浏览器扩展 然后打开浏览器控制台,找…

Starrocks 写入报错 primary key memory usage exceeds the limit

背景 本文基于 StarRocks 3.3.5 单个Starrocks BE配置是 16CU 32GB 在Flink Yaml CDC 任务往 Starrocks写数据的过程中,突然遇到了primary key memory usage exceeds the limit 问题,具体如下: java.lang.RuntimeException: com.starrocks.…

利用Adobe Acrobat 实现PPT中图片分辨率的提升

1. 下载适用于 Windows 的 64 位 Acrobat 注册方式参考:https://ca.whu.edu.cn/knowledge.html?type1 2. 将ppt中需要提高分辨率的图片复制粘贴到新建的pptx问价中,然后执行“文件—>导出---->创建PDF、XPS文档” 3. 我们会发现保存下来的distrib…

【Python爬虫】爬取公共交通路网数据

程序来自于Github,以下这篇博客作为完整的学习记录,也callback上一篇爬取公共交通站点的博文。 Bardbo/get_bus_lines_and_stations_data_from_gaode: 这个项目是基于高德开放平台和公交网获取公交线路及站点数据,并生成shp文件,…

VUE_使用Vite构建vue项目

创建项目 // 安装vite npm install vite// 创建名为vite-app的项目 npm create vite vite-app --template vue// 到项目目录 cd vite-app// 安装依赖 npm install// 运行项目 npm run dev// 打包 npm run build// 打包预览 npm run serve 增加路由 // 安装路由 npm add vue-r…

ctf网络安全赛题

CTF简介 CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展…

性能测试监控工具jmeter+grafana

1、什么是性能测试监控体系? 为什么要有监控体系? 原因: 1、项目-日益复杂(内部除了代码外,还有中间件,数据库) 2、一个系统,背后可能有多个软/硬件组合支撑,影响性能的因…

LabVIEW基于IMAQ实现直线边缘检测

本程序基于 NI Vision Development 模块,通过 IMAQ Find Straight Edges 函数,在指定 ROI(感兴趣区域) 内检测多条直线边缘。用户可 动态调整检测参数 或 自定义ROI,实时观察识别效果,适用于 高精度视觉检测…