当前位置: 首页 > 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 提供了跨语言的序列化支持,保证张量数据一致性。

相关文章:

  • 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天通过软考高项-第五天
  • 持续更新丨伊朗港口爆炸事件已致406人受伤
  • 陈平评《艺术科学的目的与界限》|现代艺术史学的奠基时代
  • 四川:全省统一取消普通住宅和非普通住宅标准
  • 钱学森数据服务中心在沪上线,十万个数字资源向公众开放
  • 福耀科技大学发布招生章程:专业培养语种为英语,综合改革省份选考需含物化
  • 巴基斯坦最近“比较烦”:遣返阿富汗人或致地区局势更加动荡