机器学习 - 预测训练模型

接着上篇博客机器学习-训练模型做进一步说明。

There are three things to make predictions (also called performing inference) with a PyTorch model:

  1. Set the model in evaluation mode (model.eval())
  2. Make the predictions using the inference mode context manager (with torch.inference_mode(): ...)
  3. All predictions should be made with objects on the same device (e.g. data and model on GPU only or data and model on CPU only).

The first two items make sure all helpful calculations and settings PyTorch uses behind the scenes during training but aren’t necessary for inference are turned off (this results in faster computation). And the third ensures that you won’t run into cross-device errors.


下面代码片段是连接之前的博客

import torch# 1. Set the model in evaluation mode 
model_0.eval() # 2. Setup the inference mode context manager
with torch.inference_mode():# 3. Make sure the calculations are done with the model and data on the same devicey_preds = model_0(X_test)print(y_preds)plot_predictions(predictions=y_preds)# 结果如下
tensor([[0.8685],[0.8825],[0.8965],[0.9105],[0.9245],[0.9384],[0.9524],[0.9664],[0.9804],[0.9944]])

在下图,能看到预测点跟测试点很靠近,这结果挺理想的
效果图
这里稍微介绍一下 torch.inference_mode()
torch.inference.mode() 是一个上下文管理器,用于控制推断模式下的模型行为。在深度学习中,模型在训练和推断 (或称为预测) 阶段有不同的行为。在推断阶段,通常不需要计算梯度,也不需要跟踪计算图,这样可以提高推断速度并减少内存占用。torch.inference_mode() 上下文管理器就是为了控制模型在推断阶段的行为。
当进入torch.inference_mode() 上下文环境时,PyTorch会关闭梯度跟踪,并且禁用自动微分机制。这意味着在此环境中,无法调用backward()方法计算梯度,也无法通过梯度进行参数更新。这样可以确保模型在推断阶段不会意外地计算梯度,提高了推断的速度和效率。


都看到这里,点个赞支持一下呗~

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

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

相关文章

学点Java_Day6_基于Copyright和Actions On Save的IDEA自动更新文件最后编辑时间的方法研究(IDEA2021.2及以上)

0 版本要求 IDEA2021.2及以上,我用的IntelliJ IDEA 2023.2.4 1 操作 1.1 Copyright设置 ① CtrlAltS打开设置(Settings)→ Editor → Copyright   ② Copyright → Copyright Profiles → → 取名 → OK   ③ 复制下面内容到框里&am…

java多线程使用与踩坑

SpringBoot使用多线程简单方法:地址 线程安全查阅资料参考:地址 背景: 经过上述资料查看,我想写个方法(依靠notify()唤醒,依靠wait()等待)实现两个线程轮流打印。 实现: 1.线程池配…

[Qt学习笔记]Qt使用MFC编译生成dll库在无编程环境电脑出现无法加载dll的问题

目录 1、 问题介绍2、 问题分析3、 问题总结和思考 1、 问题介绍 在项目实践中,使用Qt调用了一个vs创建的dll库,在本机上编译和release后的exe可以加载对应的dll文件,将exe拷贝到有vs编程环境的电脑上也可以加载对应的dll文件,但…

Centos7部署单节点MongoDB(V4.2.25)

🎈 作者:互联网-小啊宇 🎈 简介: CSDN 运维领域创作者、阿里云专家博主。目前从事 Kubernetes运维相关工作,擅长Linux系统运维、开源监控软件维护、Kubernetes容器技术、CI/CD持续集成、自动化运维、开源软件部署维护…

Java面试题(Spring篇)

💟💟前言 ​ 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 Java面试题(Spring篇) 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论📄 小王的主页…

[STM32] Keil MDK 新建工程编译不通过(warning: #2803-D和Error: L6218E)解决方法备忘

按照野火的PDF教程的第4章:[野火]《RT-Thread 内核实现与应用开发实战—基于STM32》.pdf 新建 Keil MDK 工程,工程设置完成后点击编译按钮,编译不通过: RTE\Device\ARMCM3\startup_ARMCM3.c(75): warning: #2803-D: unrecognize…

如何准备2024年汉字小达人:历年考题练一练-18道选择题解析

距离2024年第11届汉字小达人比赛还有七个多月的时间,如何利用这段时间有条不紊地备考呢?我的建议是两手准备:①把小学1-5年级的语文课本上的知识点熟悉,重点是字、词、成语、古诗。阅读理解不需要。②把历年真题刷刷熟&#xff0c…

Mybatis之自定义映射resultMap

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

基于springboot+vue的失物招领平台

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

更智能的广告素材生成!看A/B测试如何驱动AIGC素材调优

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 前言:AIGC 大爆发,引发广告营销行业变革 ChatGPT 等 AI 产品引发的 AIGC 大爆发引起了各行业的震动,其中以图片生成甚至视频生成…

操作系统:malloc与堆区内存管理

malloc是函数而不是系统调用,他的底层是同调调用brk和mmap这两个系统调用实现功能的,具体选择brk还是mmap要看申请的空间大小以及malloc中的阈值(一般是128kb) 注意申请的空间只有使用才会触发缺页中断映射到物理内存 不理解的话先…

现货黄金做对冲的具体方法

现货黄金做对冲的具体方法是运用金融衍生工具和策略,以减轻或消除持有现货黄金所面临的市场风险。具体而言,投资者可通过期货合约、期权、掉期等金融工具来实现对冲,保障其投资价值不受金价波动的负面影响。  期货合约在对冲中…

Ceres求解非线性优化问题步骤与示例

【版权声明】 本文为博主原创文章,未经博主允许严禁转载,我们会定期进行侵权检索。 在计算机视觉和机器人领域,经常需要解决非线性优化问题来估计相机姿态或运动模型。Ceres Solver是一个开源的C库,专门用于解决最小二乘问题&am…

HarmonyOS/OpenHarmony应用开发-HDC环境变量设置

hdc(HarmonyOS Device Connector)是 HarmonyOS 为开发人员提供的用于调试的命令行工具,通过该工具可以在 windows/linux/mac 系统上与真实设备或者模拟器进行交互。 hdc 工具通过 HarmonyOS SDK 获取,存放于 /Huawei/Sdk/openhar…

sde的几个问题

数据库:aix6.1oracle11.2.0.1 sde数据为从原先oracle10.2.0.5中导入的。 环境:windows2008x64 安装sde10 for oracle11g x64oracle11.2.0.1x64客户端。 启动出现问题: ST_Geometry Schema Owner: (SDE) Type Release: 1007 Instance initialized fo…

HTTP协议初识

HTTP协议 HTTP协议简介与作用HTTP基本工作原理非持久连接与持久连接的区别HTTP请求与响应HTTP请求HTTP响应请求与响应的交互流程 HTTP方法实例GET 请求示例POST 请求示例HEAD 请求示例 使用场景 HTTP状态码HTTP消息结构与头字段头字段 HTTP的无状态性与状态管理初步了解安全性与…

力扣热门算法题 56. 合并区间,57. 插入区间,58. 最后一个单词的长度v

56. 合并区间,57. 插入区间,58. 最后一个单词的长度,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.20 可通过leetcode所有测试用例。 目录 56. 合并区间 解题思路 完整代码 Python Java ​编辑 5…

MCU技术的创新浪潮与产业变革

MCU技术的创新浪潮与产业变革 一、MCU技术的创新发展 MCU,即微控制器,作为现代电子设备的核心部件,一直在不断地创新与发展。随着科技的进步,MCU的性能得到了极大的提升,功能也越来越丰富。从8位到32位,再…

G1和ZGC垃圾回收器学习

前言 ​ 随着JDK17的占有率不断升高和SpringBoot3最低支持JDk17,JDK17很大概率会成为大家后续升级的一个选择,而JDK17上最重要的垃圾回收器G1和ZGC,也就显得格外重要。大家提前了解或者学习一下肯定是有用的。 ​ 本篇文章也默认大家了解一…

单片机学到什么程度才可以去工作?

单片机学到什么程度才可以去工作? 如果没有名校或学位的加持,你还得再努力一把,才能从激烈的竞争中胜出。以下这些技能可以给你加分,你看情况学,不同行业对这些组件会有取舍: . Cortex-M内核:理解MCU内核各部件的工作机制&#…