yolo11经验教训----之一

一、格式转换

可以把python中的.pt文件,导出为libtorch识别的格式:
 

model = YOLO("yolo11n.pt")
model.export(format="torchscript")

二、查看结构

在c++中,我用qt,这样做的:
 

#include "mainwindow.h"
#include "ui_mainwindow.h"


#undef slots
#include <torch/torch.h>
#include <torch/script.h>
#define slots Q_SLOTS



MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    try {
        // 加载模型文件
        torch::jit::script::Module model = torch::jit::load("d:/BaiduNetdiskDownload/ultralytics-main/yolo11n.torchscript");
        model.eval();
        
        // 打印模型结构
        for (const auto& child : model.named_children()) {
            qDebug() << "层名称:" << QString::fromStdString(child.name);
            qDebug() << "层类型:" << QString::fromStdString(child.value.type()->str());
            
            // 打印该层的参数信息
            for (const auto& param : child.value.named_parameters()) {
                qDebug() << "参数名称:" << QString::fromStdString(param.name);
                // 获取并打印形状
                auto sizes = param.value.sizes();
                QString shape = "[";
                for(size_t i = 0; i < sizes.size(); ++i) {
                    shape += QString::number(sizes[i]);
                    if(i < sizes.size() - 1) shape += ", ";
                }
                shape += "]";
                qDebug() << "参数形状:" << shape;
            }
            qDebug() << "------------------------";
        }
        
        qDebug() << "模型加载成功";
    }
    catch (const c10::Error& e) {
        qDebug() << "模型加载失败:" << e.what();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值