机器学习 - 预测训练模型

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

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


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

相关推荐
hy5685696 分钟前
2027赛逸展聚焦机器视觉技术,提升机器人环境感知能力
人工智能·机器人
AndrewHZ10 分钟前
图像处理入门018 | 简易图像浏览器开发:用 OpenCV + Tkinter 打造你的第一个图像 GUI 工具
图像处理·人工智能·opencv·canvas·tkinter·事件绑定
智恒百亿10 分钟前
企业 AI 推理本地化部署:GPU 服务器选型技术分析(2026 年 8 月)
大数据·服务器·人工智能
黎阳之光10 分钟前
软硬协同国产化 | 黎阳之光矩阵式视频融合管理系统完成摩尔线程国产GPU兼容适配
大数据·人工智能·物联网·安全·数字孪生
水管在开花.12 分钟前
RAG:知识库问答系统教学②-零基础保姆级教程
人工智能·面试·agent·rag
YOLO数据集集合13 分钟前
无人机视角交通目标检测数据集 | 无人机感知 交通检测 城市监控 目标检测 YOLO格式 深度学习数据集 9016期
人工智能·深度学习·yolo·目标检测·计算机视觉·无人机·交通数据集
2601_9574188014 分钟前
相机连续拍摄时,照片为什么会乱?从传输队列到相机即拍即传 SDK 的设计
人工智能·数码相机
蓝悦无人机18 分钟前
端侧神经网络量化(一):为什么要量化 & 量化基础
人工智能·深度学习·神经网络·边缘计算
2401_8322981019 分钟前
绿色AI:算力优化与低碳发展的双向共生之路
人工智能