BM1684X-onnx模型转化为bmodel

news2024/9/28 13:37:05

1:在tpu-mlir目录下进入docker
docker run --privileged --name tpu-mlir -v $PWD:/workspace -it sophgo/tpuc_dev:v2.2

原因:该镜像已创建,要么重新创建一个新进程,要么杀死老进程;
解决办法如下:

2:接着设置一下环境
source envsetup.sh!!!重要 别忘了
3:进入/workspace/sophon-demo/sample
复制一份YOLOv5并命名为export_model,这里我们将不需要的文件都删除,保留下图文件即可;其中将转化好的onnx模型拷贝一份到以下目录
/workspace/sophon-demo/sample/export_model/models/onnx

4:转化为fp32格式
cd /workspace/sophon-demo/sample/export_model/scripts
修改gen_fp32bmodel_mlir.sh,主要修改gen_mlir()以及gen_fp32bmodel()

function gen_mlir()
{
    model_transform.py \
        --model_name test_output \
        --model_def ../models/onnx/model.onnx \
        --mlir test_output_$1b.mlir
}

function gen_fp32bmodel()
{
    model_deploy.py \
        --mlir test_output_$1b.mlir \
        --quantize F32 \
        --chip $target \
        --model test_output_fp32_$1b.bmodel

    mv test_output_fp32_$1b.bmodel $outdir/
}

执行 ./gen_fp32bmodel_mlir.sh BM1684X 即可

5:转化为fp16
修改gen_fp16bmodel_mlir.sh,主要修改gen_mlir()以及gen_fp16bmodel()

function gen_mlir()
{
    model_transform.py \
        --model_name test_output \
        --model_def ../models/onnx/model.onnx \
        --mlir test_output_$1b.mlir
}

 

function gen_fp16bmodel()
{
    model_deploy.py \
        --mlir test_output_$1b.mlir \
        --quantize F16 \
        --chip $target \
        --model test_output_fp16_$1b.bmodel

    mv test_output_fp16_$1b.bmodel $outdir/
}

执行./gen_fp16bmodel_mlir.sh BM1684X


执行成功后可以看到在以下路径生成的bmodel
/workspace/sophon-demo/sample/export_model/models/BM1684X

6:转化为int8

至此,模型转化完成,bmodel主要用于BM1684X的板端推理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/586594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

夜深人静学32系列17——OLED

夜深人静学32系列17——OLED OLED简介接口定义OLED驱动原理驱动函数OLED.COLED.HCubeMX配置 实战部分效果展示驱动代码 OLED简介 LED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机激光显示(Organic El…

基于YOLOV5的道路损伤(GRDDC‘2020)检测

1. GRDDC2020 数据集介绍 GRDDC2020 数据集是从印度、日本和捷克收集的道路图像。包括三个部分:Train, Test1, Test2。训练集包括带有 PASCAL VOC 格式 XML 文件标注的道路图像。 缺陷类型:D00、D01、D11、D10、D20、D40、D43、D44、D50、D0w0…

Otsu阈值法原理及实现

文章目录 Otsu算法简介Otsu 算法的逻辑源码实现 欢迎访问个人网络日志🌹🌹知行空间🌹🌹 Otsu算法简介 Otsu阈值法发表于1979年,论文为A threshold selection method from gray level histograms,作者是日本东京大学的…

序列模型基础概念

一、公式定义 在时间 t t t观察到 x t x_{t} xt​,那么得到 T T T个不独立的随机变量 ( x 1 , . . . , x T ) − p ( X ) (x_{1},...,x_{T})-p(X) (x1​,...,xT​)−p(X) 由条件概率公式: p ( a , b ) p ( a ) p ( b ∣ a ) p ( b ) p ( a ∣ b ) p(a,…

chatgpt赋能python:Python中局部变量的介绍

Python中局部变量的介绍 在Python中,局部变量是在函数中定义的变量,其范围限制在该函数内部。每当函数被调用时,局部变量将被创建并且只在函数的执行期间存在。当函数执行结束时,局部变量将被销毁。 局部变量是在函数内部定义的…

代码随想录算法训练营第四十六天 | 力扣 139.单词拆分

139.单词拆分 题目 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。 解析 1.确定dp数组以及下标的含义 …

Windows上GIT配置文件的位置

Git作为常见的版本控制系统。在Windows上,我偶尔在CLI上使用官方的版本: Git for Windows 。本文简单介绍Windows下的git配置文件。 系统和全局的gitconfig 配置文件因环境而异(Windows 原生的cmd、Windows shell 或 MSYS2 shell)…

chatgpt赋能python:Python中如何取消列表

Python中如何取消列表 在Python中使用列表是一种非常常见的数据结构,它允许我们在其中存储任意数量的元素,并且可以非常容易地进行遍历和操作。但是,有时候我们需要从列表中删除元素。这个过程并不难,但是有些细节需要注意。本文…

写最好的Docker安装最新版MySQL8(mysql-8.0.31)教程(参考Docker Hub和MySQL官方文档)

一、前言 MySQL官方安装包下载地址:   https://dev.mysql.com/downloads/mysql/   Docker Hub官方网址:   https://hub.docker.com/ 如果需要了解Centos7下MySQL5.7最新版的安装部署,可参考教程【最新MySQL-5.7.40在云服务器Centos7.…

《深入理解计算机系统(CSAPP)》第9章虚拟内存 - 学习笔记

写在前面的话:此系列文章为笔者学习CSAPP时的个人笔记,分享出来与大家学习交流,目录大体与《深入理解计算机系统》书本一致。因是初次预习时写的笔记,在复习回看时发现部分内容存在一些小问题,因时间紧张来不及再次整理…

chatgpt赋能python:Python中对列表求和-一篇全面介绍和使用建议的SEO文章

Python中对列表求和 - 一篇全面介绍和使用建议的SEO文章 什么是Python中的列表? 在Python中,列表(List)是一种非常有用的数据结构,它是一组有序的元素集合。列表能够存储多个元素,每个元素都可以是不同的…

Ubuntu20.04安装VMware player16.2.4,不弹出安装界面的问题

1.先在官网上下载VMware player16.2.4进行下载,Ubuntu20.04对VMware player16.2.4进行安装 2.安装完成后,应该会有如图下的弹窗界面,但是我没有 解决方法: 点击Ubuntu的VMware player的程序图标,弹窗报错:"Comma…

【Leetcode60天带刷】day03链表——203. 移除链表元素,707.设计链表,206. 反转链表

链表基础知识: 链表就像一串小火车,有一节一节的车厢,每个车厢都叫做一个节点。 单链表:每个链表车厢里有两个内容,一个放的是真正的数据,另一个放的是下一节车厢的编号。 双链表:每个链表车厢里有三个内…

chatgpt赋能python:如何在Python中取消换行?

如何在Python中取消换行? 如果你是一名经验丰富的Python工程师,你一定会遇到在输出过程中需要取消换行的情况。在本文中,我将告诉你如何使用Python取消换行。 什么是换行? 在计算机编程中,换行是指在输入文件或者输…

spring入门-bean

Spring 是一个开源的、轻量级的企业级 Java 应用程序框架,它提供了一种全新的、基于 IoC (控制反转)和 AOP(面向切面编程)的软件开发方式,以及众多的企业级应用程序开发组件和 API。使用 Spring 框架可以大…

算法02-入门算法枚举与模拟算法

文章目录 总结大纲要求枚举算法枚举思想枚举举例题目描述 统计因数题目描述 质数判定错误方法一:优化方法1: 用break实现优化优化方法2: sqrt(n) 题目描述 水仙花数题目描述 7744问题实现方法1优化方法2 题目描述 余数相同问题题目描述 特殊自…

安卓Termux搭建web服务器【公网远程手机Android服务器】

文章目录 概述1.搭建apache2.安装cpolar内网穿透3.公网访问配置4.固定公网地址5.添加站点 转载自cpolar极点云的文章:【手机建站】TermuxCpolar内网穿透,搭建可以被外网访问的网站 概述 Termux是一个Android终端仿真应用程序,用于在 Android…

代码随想录算法训练营第三十九天 | 力扣 62.不同路径, 63. 不同路径 II

62.不同路径 题目 62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多…

Stable Diffusion

文章目录 1.主界面功能介绍2.咒语一:3.参数3.1 采样步数3.2 提示词系数和随机种子 4.魔法书5.模型5.1 模型介绍5.2 模型种类及使用方法一览模型后缀名之谜常见模型种类及使用方法1.大模型。 2.Embedding (Textual inversion)3.Hypernetwork4.LoRA5.VAE模型 1.主界面…

代码随想录算法训练营第四十四天 | 力扣 518. 零钱兑换 II, 377. 组合总和 Ⅳ

完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。 完全背包和01背包问题唯一不同…