当前位置: 首页 > news >正文

pytorch写张量pt文件,libtorch读张量pt文件

直接在pytorch中,用torch.save保存的张量,可能因格式差异无法在C++中加载。

以下是一个最简单的例子,展示如何在 Pytorch中保存张量到 TorchScript 模块,并在 C++ 中使用 LibTorch 加载。

Python 代码 (save_tensor.py)

import torch# 定义一个简单的 TorchScript 模块来包装张量
class TensorWrapper(torch.jit.ScriptModule):def __init__(self, tensor):super().__init__()self.tensor = torch.jit.Attribute(tensor, torch.Tensor)# 创建一个张量
tensor = torch.randn(2, 3)# 包装张量到模块
module = TensorWrapper(tensor)# 保存模块到文件
torch.jit.save(module, "tensor.pt")

C++ 代码 (load_tensor.cpp)

#include <torch/script.h>
#include <iostream>int main() {// 加载 TorchScript 模块torch::jit::script::Module module = torch::jit::load("tensor.pt");// 获取张量(假设我们知道属性名为 tensor)torch::Tensor tensor = module.attr("tensor").toTensor();// 打印张量std::cout << tensor << std::endl;return 0;
}

这种方法可靠,因为 TorchScript 提供了跨语言的序列化支持,保证张量数据一致性。

http://www.dtcms.com/a/160113.html

相关文章:

  • log4cpp 使用指南
  • OpenCV 图形API(66)图像结构分析和形状描述符------将一条直线拟合到三维点集上函数fitLine3D()
  • linux用户管理
  • 什么是 HENGSHI SENSE?
  • 视觉导航中的回环检测技术解析
  • 基于STM32的便携式游戏机开发
  • 工控主板在船舶智能设备中的应用
  • 合理布局结构体,精打细算 cacheline
  • CONVOLUTION MEETS LORA(卷积遇到LORA)
  • 【大模型微调与应用开发实战指南】从理论到工业级部署
  • 【java】lambda表达式总结
  • SALOME源码分析:Geomtry模块
  • Vue响应式数据详解
  • Embedding入门概述
  • 制作一款打飞机游戏27:精灵编辑器UI
  • python文本合并脚本
  • G1(Garbage-First)垃圾回收器与JVM内存
  • 闭包与装饰器(python)
  • Go语言企业级项目使用dlv调试
  • 30天通过软考高项-第五天
  • Python+jieba文本分析示例:实现统计《红楼梦》中的人物并生成词云图
  • Golang 类型方法
  • 可视化图解算法:对称的二叉树(判断二叉树是否为对称的)
  • 企业如何构建一个全面的Web安全防护体系
  • AVL树的介绍与学习
  • 【Pandas】pandas DataFrame rfloordiv
  • Python对比两张CAD图并标记差异的解决方案
  • 软件功能设计视角下的能源管理系统功能清单构建与实践
  • LeetCode -- Flora -- edit 2025-04-27
  • PostSwigger Web 安全学习:CSRF漏洞2