机器学习 - 预测训练模型

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

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.


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

python 复制代码
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 device
  y_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()方法计算梯度,也无法通过梯度进行参数更新。这样可以确保模型在推断阶段不会意外地计算梯度,提高了推断的速度和效率。


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

相关推荐
shadowcz0072 分钟前
Chrome Skills 来了:把你的 AI 提示词变成一键工具
前端·人工智能·chrome
xiaoyaohou113 分钟前
032、部署优化(三):OpenVINO与ARM平台(NCNN、TNN)部署
arm开发·人工智能·openvino
螺丝钉的扭矩一瞬间产生高能蛋白4 分钟前
opencv基础用法
人工智能·opencv·计算机视觉
呆呆敲代码的小Y6 分钟前
48个AI智能体搭建完整游戏开发工作室:Claude Code Game Studios
人工智能·游戏·unity·ai·游戏引擎·ai编程·ai游戏
llm大模型算法工程师weng7 分钟前
模型训练与知识蒸馏:从大模型到轻量级情绪分析系统
pytorch·深度学习·机器学习
antzou7 分钟前
AI文字有声书
人工智能·文字转语音·有声书·文本注音·视频字幕
霸道流氓气质9 分钟前
SpringBoot中集成LangChain4j实现集成阿里百炼平台进行AI快速对话
人工智能·spring boot·后端·langchain4j
搞科研的小刘选手10 分钟前
【多省气象局支持】第八届物联网、自动化和人工智能国际学术会议(IoTAAI 2026)
大数据·人工智能·物联网·机器学习·自动化·气象·控制科学
陆业聪11 分钟前
Prompt、Rule、Skill:被混用了一年的三个词,今天说清楚
android·人工智能·aigc
洛卡卡了14 分钟前
Hermes 接上飞书还不够,飞书 CLI 才是关键这一步
人工智能·aigc