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

相关推荐
新知图书2 分钟前
OpenCV彩色图像分割
人工智能·opencv·计算机视觉
多巴胺与内啡肽.4 分钟前
OpenCV进阶操作:图像金字塔
人工智能·opencv·计算机视觉
小oo呆7 分钟前
【自然语言处理与大模型】大模型参数规模与部署配置调查2025第一季度
人工智能·自然语言处理
Jamence11 分钟前
多模态大语言模型arxiv论文略读(四十四)
人工智能·语言模型·自然语言处理
艾醒(AiXing-w)11 分钟前
探索大语言模型(LLM):自监督学习——从数据内在规律中解锁AI的“自学”密码
人工智能·学习·语言模型
海底火旺23 分钟前
Trae 入门指南:一个更简单、更现代的 HTTP 请求库
人工智能·axios·trae
阿里云大数据AI技术26 分钟前
PAI-Model Gallery云上一键部署阶跃星辰新模型Step1X-Edit
人工智能
shimly12345627 分钟前
(done) 吴恩达版提示词工程 8. 聊天机器人 (聊天格式设计,上下文内容,点餐机器人)
人工智能·python·机器人
知新_ROL1 小时前
基础的贝叶斯神经网络(BNN)回归
人工智能·神经网络·回归
用户7785371836961 小时前
如何构造一款类似One API的大模型集成平台
人工智能·架构