网站维护费怎么做分录/南宁seo排名优化

网站维护费怎么做分录,南宁seo排名优化,两学一做登录网站,国外最大的设计网站iree onnx demo 计划协议系列博客,记录学习iree编译器的过程. 今天第一篇博客,记录安装和测试iree 文章目录 iree onnx demo下载安装ireepython环境安装编译测试1. [前端] onnx模型转MLIR文件2. [后端] MLIR文件转可执行文件3. [执行] 执行测试编译后的文件 关于后端设备的介…

iree onnx demo

计划协议系列博客,记录学习iree编译器的过程.

今天第一篇博客,记录安装和测试iree

文章目录

  • iree onnx demo
    • 下载安装iree
    • python环境安装
    • 编译测试
      • 1. [前端] onnx模型转MLIR文件
      • 2. [后端] MLIR文件转可执行文件
      • 3. [执行] 执行测试编译后的文件
    • 关于后端设备的介绍

下载安装iree

IREE官网教程

这里都已经非常详细了,按照官网教程可以成功配置

当然如果你和我一样懒得看这么多, 你可以直接下载iree项目后, 项目内有一个编译脚本

build_tools/cmake/build_all.sh ,直接执行 build_tools/cmake/build_all.sh build就可以编译iree到build文件夹了.

python环境安装

上述的编译步骤会自动编译iree python的相关库,前端IR的导入就是依赖这一部分,可以惨考 官网-python包编译安装 , 我是使用cmake指令直接安装的

CMAKE_INSTALL_METHOD=ABS_SYMLINK python -m pip install -e ../iree-build/compiler
CMAKE_INSTALL_METHOD=ABS_SYMLINK python -m pip install -e ../iree-build/runtime

编译测试

1. [前端] onnx模型转MLIR文件

下载onnx 模型可以在: https://github.com/onnx/models/tree/main 这里找onnx 模型用来实验.

本文将下载模型: https://github.com/onnx/models/tree/main/Computer_Vision/adv_inception_v3_Opset16_timm 用于后续的测试

  • 使用下述指令即可将onnx模型转为mlir文件,
    • free-import-onnx 是python工具,需要编译IREE后安装python相关的东西,
      • 也可以直接使用pip下载,自行查阅官网文档.
iree-import-onnx \./*.onnx \--opset-version 17 \-o model.mlir

生成的MLIR文件是一个文本文件,可以直接打开

image-20250320230858104

里面基本分类2个部分:

  1. 有哪些算子,比如

    1. 卷积算子

      1. %190 = torch.operator "onnx.Conv"(%arg0, %2, %3) {torch.onnx.dilations = [1 : si64, 1 : si64], torch.onnx.group = 1 : si64, torch.onnx.kernel_shape = [3 : si64, 3 : si64], torch.onnx.pads = [0 : si64, 0 : si64, 0 : si64, 0 : si64], torch.onnx.strides = [2 : si64, 2 : si64]} : (!torch.vtensor<[1,3,299,299],f32>, !torch.vtensor<[32,3,3,3],f32>, !torch.vtensor<[32],f32>) -> !torch.vtensor<[1,32,149,149],f32> 
        
      2. 常量算子

        1.     %188 = torch.operator "onnx.Constant"() {torch.onnx.value = dense_resource<_onnx__Conv_1156> : tensor<192x2048x1x1xf32>} : () -> !torch.vtensor<[192,2048,1,1],f32> 
          
  2. 有哪些常量

    1. 一般就是权重和算子的参数

      _onnx__Conv_1156: "0x0800000098233D3B52728ABEE29334BE1F0CF4BD48A5BDBD8D90713D..."
      

2. [后端] MLIR文件转可执行文件

  • 编译MLIR
iree-compile \model.mlir \--iree-hal-target-backends=llvm-cpu \--iree-llvmcpu-target-cpu=host \-o model_cpu.vmfb

可以生成最终的编译结果 vmfb 文件, 这是一个flatbuffer格式的, 可以通过 iree-dump-module ./model_cpu.vmfb 指令来看模型的结构.


#   # | Offset   |   Length | Blocks | i32 # | ref # | Requirements | Aliases
# ----+----------+----------+--------+-------+-------+--------------+-----------------------------------------------------
#   0 | 00000000 |    17232 |      1 |   340 |     4 |              |
#   1 | 00004350 |      488 |      1 |    24 |     8 |              | main_graph$async
#   2 | 00004538 |       90 |      1 |     2 |     3 |              | main_graph
#   3 | 00004598 |     2311 |     14 |    26 |     6 |              | __init

其中J:

# main_graph$async 和 main_graph 更有可能是用于模型推理的函数。其中,main_graph$async 或许是异步执行的函数,而 main_graph 是同步执行的函数。你可以先尝试使用 main_graph 作为函数名来运行模型

3. [执行] 执行测试编译后的文件

  • 执行测试
    • 这里使用的是fp32全是2的数值的TV.
iree-run-module \--module=model_cpu.vmfb \--device=local-task \--function=main_graph \--input="1x3x299x299xf32=2" \./model_cpu.vmfb

image-20250320231446248

关于后端设备的介绍

1. llvm-cpu

  • 通用 CPU 后端(默认选项)
  • 基于 LLVM 编译器优化 CPU 指令
  • 支持 x86/ARM 等主流 CPU 架构
  • 适合没有专用加速硬件的设备

2. metal-spirv

  • 苹果专有 GPU 加速方案
  • 支持 iOS/macOS 设备的 Metal API
  • 适配 Apple Silicon(M 系列芯片)和 A 系列芯片
  • 需要 macOS 10.13 + 或 iOS 11+

3. vmvx

  • 针对 Intel 视觉处理单元(VPU)
  • 如 Movidius Myriad X 等边缘 AI 芯片
  • 适合低功耗嵌入式设备的视觉推理
  • 需安装 VPU 驱动和相关工具链

4. vmvx-inline

  • 实验性的 VPU 内联编译模式
  • 直接在 CPU 上模拟 VPU 指令集
  • 主要用于开发调试,性能较低

5. vulkan-spirv

  • 跨平台 GPU 加速方案
  • 支持 NVIDIA/AMD/Intel 等主流 GPU
  • 适用于 Linux/Windows/macOS 等系统
  • 需安装对应 GPU 的 Vulkan 驱动

6. webgpu-spirv

  • 浏览器端 GPU 加速方案
  • 基于 WebGPU API(需 Chrome/Firefox 等支持)
  • 允许在网页中直接运行 AI 模型
  • 适用于 WebAssembly 环境

选择建议

  • CPU 设备 → llvm-cpu
  • 苹果设备 → metal-spirv
  • 通用 GPU → vulkan-spirv
  • 边缘 AI 设备 → vmvx
  • 网页应用 → webgpu-spirv

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

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

相关文章

破解验证码新利器:基于百度OCR与captcha-killer-modified插件的免费调用教程

破解验证码新利器&#xff1a;基于百度OCR与captcha-killer-modified插件的免费调用教程 引言 免责声明&#xff1a; 本文提供的信息仅供参考&#xff0c;不承担因操作产生的任何损失。读者需自行判断内容适用性&#xff0c;并遵守法律法规。作者不鼓励非法行为&#xff0c;保…

JSON 解析中需要清理的危险字符

在代码中 replace(chr(0), "") 的作用是删除 JSON 响应中可能存在的空字符&#xff08;Null character&#xff09;。以下是详细解释&#xff1a; 1. chr(0) 是什么&#xff1f; chr(0) 表示 ASCII 码为 0 的字符&#xff0c;即空字符&#xff08;Null Character&am…

ubuntu部署运行xinference全精度对话deepseek本地部署图文教程

前置环境搭建劳请移步往期 source activate 自己环境名启动python3.12环境安装xinference&#xff0c; 按教程敲命令&#xff0c;wheel包与wsl的通用&#xff0c;pip install 包名。 vllm引擎&#xff0c;transform引擎也会顺带自动装上了。 后续操作请参照往期教程。本地部署模…

技术分享 | MySQL内存使用率高问题排查

本文为墨天轮数据库管理服务团队第51期技术分享&#xff0c;内容原创&#xff0c;如需转载请联系小墨&#xff08;VX&#xff1a;modb666&#xff09;并注明来源。 一、问题现象 问题实例mysql进程实际内存使用率过高 二、问题排查 2.1 参数检查 mysql版本 &#xff1a;8.0.…

【vulhub/wordpress靶场】------获取webshell

1.进入靶场环境&#xff1a; 输入&#xff1a;cd / vulhub / wordpress / pwnscriptum 修改版本号&#xff1a; vim docker-compose.yml version: 3 保存退出 开启靶场环境&#xff1a; docker - compose up - d 开启成功&#xff0c;docker ps查看端口 靶场环境80…

微信小程序:用户拒绝小程序获取当前位置后的处理办法

【1】问题描述&#xff1a; 小程序在调用 wx.getLocation() 获取用地理位置时&#xff0c;如果用户选择拒绝授权&#xff0c;代码会直接抛出错误。如果再次调用 wx.getLocation() 时&#xff0c;就不会在弹窗询问用户是否允许授权。导致用户想要重新允许获取地理位置时&#x…

全网首创/纯Qt/C++实现国标GB28181服务/实时视频/云台控制/预置位/录像回放和下载/事件订阅/语音对讲

一、前言说明 用纯Qt来实现这个GB28181的想法很久了&#xff0c;具体可以追溯到2014年&#xff0c;一晃十年都过去了&#xff0c;总算是整体的框架和逻辑都打通了&#xff0c;总归还是杂七杂八的事情多&#xff0c;无法静下心来研究具体的协议&#xff0c;最开始初步了解协议后…

Django+celery+flower

Djangoceleryflower Django的定时任务及可视化监控Django Django的定时任务及可视化监控 Django的定时任务&#xff0c;以及可视化监控。 Django Django&#xff1b; 首先在python中新建虚拟环境并激活 pip install virtualenv python -m venv venv source venv/bin/activa…

组态王Kingview配置为OPCUA服务器的一些问题处理

一、问题描述 1、组态王【运行配置】界面没有【服务配置】的选项&#xff0c;无法将组态王Kingview配置为OPCUA服务器&#xff1b; 2、点击组态王【运行配置界面】的【服务配置】选项弹窗警告提示【试图执行的操作不受支持】&#xff0c;如下图所示&#xff1a; 二、问题分析 …

模块二 单元4 安装AD+DC

模块二 单元4 安装ADDC 两个任务&#xff1a; 1.安装AD活动目录 2.升级当前服务器为DC域控制器 安装前的准备工作&#xff1a; 确定你要操作的服务器系统&#xff08;Windows server 2022&#xff09;&#xff1b; 之前的服务器系统默认是工作组的模式workgroup模式&#xff08…

VMware主机换到高配电脑,高版本系统的问题

原来主机是i3 ,windows7系统&#xff0c;vmware 14.0,虚机系统是ubuntu 14.04。目标新机是i7 14700KF,windows11系统。原以为安装虚拟机&#xff0c;将磁盘文件&#xff0c;虚拟机配置文件拷贝过去可以直接用。 新目标主机先安装了vmware 15&#xff0c;运行原理虚机&#xff0…

MDG实现BP客商复杂逻辑校验的方法

引言 项目中可能常用的增强点是USMD_RULE_SERVICE来实现复杂的校验逻辑&#xff0c;除此之外&#xff0c;SAP对BP主数据还提供了以下的实现方式。 方法1-替换ERP校验类 众所周知&#xff0c;BP存在复杂的ERP校验&#xff0c;主要通过类CL_MDG_BS_FND_BP_CHECK&#xff08;子…

基于springboot的教务系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 这些年随着Internet的迅速发展&#xff0c;我们国家和世界都已经进入了互联网大数据时代&#xff0c;计算机网络已经成为了整个社会以及经济发展的巨大动能&#xff0c;各个高校的教务工作成为了学校管理事务的重要目标和任务&#xff0c;因此运用互联网技术来提高教务的…

TDengine 中的流式计算

简介 TDengine 中的流计算&#xff0c;功能相当于简化版的 FLINK &#xff0c; 具有实时计算&#xff0c;计算结果可以输出到超级表中存储&#xff0c;同时也可用于窗口预计算&#xff0c;加快查询速度。 创建流式计算 CREATE STREAM [IF NOT EXISTS] stream_name [stream_o…

回调函数中 qsort 函数的使用

目录 一.冒泡排序 二.指针类型 void* 三. qsort 1.简介 2.研究函数参数 3.怎么用&#xff1f; (1)排数组&#xff0c;升序 (2)排序结构体 四.用冒泡排序思想&#xff0c;模拟实现 qsort (可排序任意类型数据) 1.函数参数设计 2.在 if (cmp( )>0) 怎么传参&#x…

电机控制常见面试问题(十四)

文章目录 一.电机信噪比二.电机零点偏移校正和极对数自适应1.零点偏移量检测​2. 极对数识别三.交流电机电流纹波怎么产生的1.电源相关因素2.电机本体特性3.​PWM逆变器谐波4.负载与环境干扰5.诊断流程建议 四.谈谈对谐波的理解1.谐波定义2.次谐波产生源3.次谐波的检测与分析4.…

系统思考—啤酒游戏经营决策沙盘模拟

再次感谢文华学院的邀请&#xff0c;为经纬集团管理层带来 《啤酒游戏经营决策沙盘》&#xff01; 很多朋友问&#xff1a;“最近是不是啤酒游戏上的少了&#xff1f;” 其实&#xff0c;真正的关键不是游戏本身&#xff0c;而是——如何让大家真正看见复杂系统中的隐性结构。 …

排序算法实现:插入排序与希尔排序

目录 一、引言 二、代码整体结构 三、宏定义与头文件 四、插入排序函数&#xff08;Insertsort&#xff09; 函数作用 代码要点分析 五、希尔排序函数&#xff08;ShellSort&#xff09; 函数作用 代码要点分析 六、打印数组函数&#xff08;PrintSort&#x…

2025-03-20 学习记录--C/C++-C 库函数 - toupper()、tolower()、 isspace()

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、C 库函数 - toupper() ⭐️ C 标准库 - <ctype.h> C 标准库的 ctype.h 头文件提供了一些函数&#xff0c;可用于测试和…

易语言模拟真人鼠标轨迹算法

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序&#xff0c;它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言&#xff0c;原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势&#xff1a; 模拟…