机器学习 - 预测训练模型

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

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


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

相关推荐
冷小鱼4 分钟前
OpenClaw:重新定义个人 AI 智能体的开源革命
人工智能·开源
格鸰爱童话5 分钟前
向AI学习项目技能(三)
java·人工智能·python·学习
net3m336 分钟前
qkv网络训练时,Wq和 Wk和 Wv 矩阵需要调整来变化,但是词token的向量值也要同时随训练变化吗
人工智能
小班得瑞7 分钟前
pytorch使用小结
pytorch
嫂子开门我是_我哥9 分钟前
心电域泛化研究从0入门系列 | 第四篇:域泛化核心理论与主流方法——破解心电AI跨域失效难题
人工智能·算法·机器学习
wxl7812279 分钟前
基于SoulX-FlashHead从零搭建实时AI唇形同步直播系统
人工智能·直播数字人·soulx-flashhead·5090
黑客说10 分钟前
独领无限流赛道:白日梦科技,重新定义AI时代的互动娱乐标杆
大数据·人工智能
Fleshy数模10 分钟前
基于PyTorch实现食物图像分类:从数据加载到CNN训练全流程
pytorch·分类·cnn
乾元11 分钟前
算力优化: 在有限硬件资源下进行安全模型微调(Fine-tuning)
网络·人工智能·神经网络·安全·web安全·机器学习·安全架构
数字供应链安全产品选型15 分钟前
2026,问境AIST发布:悬镜安全定义AI原生安全治理新范式
人工智能·安全·ai-native