当前位置: 首页 > 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天通过软考高项-第五天
  • 贵州黔西市游船倾覆事故最后一名失联人员被找到,但已无生命体征
  • 马斯克的“星舰基地”成为新城镇,首任市长为SpaceX员工
  • 融创中国清盘聆讯延至8月25日,清盘呈请要求遭到部分债权人反对
  • 全国铁路昨日发送2311.9万人次,同比增长11.7%创历史新高
  • 阿根廷发生5.8级地震
  • 来论|受美国“保护”,日本民众要付出什么代价?