WSL2 + libtorch1.10.0-CPU 部署pytorch1.12.1模型 (Linux)

该博客介绍了如何在WSL2环境下,利用libtorch1.10.0进行pytorch1.12.1模型的C++部署。首先,训练PyTorch模型并保存,接着下载libtorch并配置环境,特别是强调了版本匹配的重要性。然后,通过编写C++代码、转换模型为cpp文件、设置CMakeLists.txt并进行编译,最终成功运行测试代码。
摘要由CSDN通过智能技术生成

C++部署pytorch模型

libtorch下载地址:[LibTorch & Linux] 各版本 LibTorch 下载

(注意:libtorch版本和pytorch版本最好对应。最不济也要保证pytorch是高版本,libtorch低版本。
我这里torch1.12.1 >>>> libtorch1.10.0

本文主要参考了这篇文章:Ubuntu 20.04下c++ libtorch gpu配置与运行

第一步:训练pytorch模型,

在python上训练并保存pytorch模型

torch.save(model, 'saved_model.pth')

第二步:下载安装libtorch

在ubuntu上配置libtorch环境。

  1. 如果是安装GPU版本的libtorch,在此之前还要配置cuda和cudnn环境,本文只是CPU,所以不考虑此步。

  2. 此外参考了文章: 在ubuntu下将Pytorch模型部署到c++(一)(环境搭建),安装了llvmclang

  3. Anaconda创建了新的虚拟环境pytorch1_12,这一步应该不是必须的,但为了方便管理,还是创建了一个虚拟环境。

  4. libtorch可以离线下载,然后解压。在~/目录下创建文件夹libtorch,解压进去。

mkdir -p ~/libtorch

将文件夹解压到这里

unzip libtorch-cxx11-abi-shared-with-deps-1.10.0+cpu.zip -d ~/libtorch

解压完成之后会有这些文件:
在这里插入图片描述

到这里,libtorch就配置好了。

第三步:编写C++测试代码并编译

3.1 将.pth模型转化为.pt模型,这一步是为了将pytorch模型转化为c++可调用的模型。

  • 运行python代码:
import torch
import datetime
import matplotlib.pyplot as plt
import torch.nn as nn
import numpy as np

device = torch.device('cpu') #默认即在cpu上
# 定义网络结构
class Net(torch.nn.Module):  # 继承 torch 的 Module

    def __init__(self, n_features):
        super(Net, self).__init__()     # 继承 __init__ 功能
        self.l1 = nn.Linear(n_features,32)             # 特征输入
        self.l2 = nn.ReLU()                            # 激活函数
        self.l3 = nn.BatchNorm1d(32)                   # 批标准化

        self.l4 = nn.Linear(32,64)
        self.l5 = nn.ReLU()
        self.l6 = nn.BatchNorm1d(64)

        self.l7 = nn.Linear(64, 128)
        self.l8 = nn.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dataloading...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值