Project Icon

onnx-modifier

高效可视化编辑ONNX模型,自动处理减少重复工作

基于Netron和Flask的工具,提供完全可视化的ONNX模型编辑界面,通过Python ONNX API自动处理编辑信息。支持删除和添加节点、重命名节点和模型输入输出、编辑节点属性和模型初始值等多种操作,有效提升工作效率。该工具可通过命令行、可执行文件或Docker容器启动,适用于各种开发环境。

ONNX-Modifier 项目介绍

onnx-modifier 是一个专为 ONNX 模型编辑而设计的工具,旨在简化和加速模型编辑过程。传统上,编辑 ONNX 模型需要通过可视化模型图并借助 ONNX Python API 完成。这一过程不仅费时,而且每次修改后还需要重新进行可视化检查。为了解决这些问题,onnx-modifier 提供了一种全新的编辑方式,用户可以在完全可视化的界面中直接进行编辑,并即时预览编辑效果,大大提高了效率。

项目背景

ONNX 模型编辑的传统方式虽然功能强大,但由于需要编写代码并多次迭代检查结果,通常会消耗大量时间。onnx-modifier 通过将编辑过程与可视化预览相结合,简化了这一流程。用户可以在界面上专注于模型图的编辑,所有的编辑信息都会自动通过 Python ONNX API 处理和汇总,从而节省时间。

该工具基于流行的网络查看器 Netron 和轻量级的 Web 应用框架 Flask 构建,提供了一系列强大的功能来支持不同的编辑需求。

支持的编辑操作

onnx-modifier 支持多种编辑操作,其中包括:

  • 删除节点
  • 添加新节点
  • 重命名节点的输入和输出
  • 重命名模型的输入和输出
  • 添加新的模型输出
  • 添加新的模型输入
  • 编辑模型输入形状
  • 编辑节点属性
  • 编辑模型的初始化器

使用指南

要使用 onnx-modifier,有以下几种方法:

通过命令行启动

首先克隆项目仓库并安装必需的 Python 包:

git clone https://github.com/ZhangGe6/onnx-modifier.git
cd onnx-modifier
pip install -r requirements.txt

然后运行:

python app.py

点击 Flaks 生成的输出信息中的 URL(通常为 http://127.0.0.1:5000/),onnx-modifier 将在 Web 浏览器中启动。

使用可执行文件启动

用户可以下载特定平台的可执行文件直接运行。在 Windows 平台上,可以从指定的网盘下载运行文件,双击即可启动。

通过 Docker 容器启动

也可以通过 Docker 容器来启动应用:

git clone git@github.com:ZhangGe6/onnx-modifier.git
cd onnx-modifier
docker build --file Dockerfile . -t onnx-modifier

构建完成后,映射 Docker 端口和本地文件夹来运行 onnx-modifier

mkdir -p modified_onnx
docker run -d -t \
  --name onnx-modifier \
  -u $(id -u ${USER}):$(id -g ${USER}) \
  -v $(pwd)/modified_onnx:/modified_onnx \
  -p 5000:5000 \
  onnx-modifier

然后从浏览器访问 http://127.0.0.1:5000

具体功能介绍

以下是 onnx-modifier 的具体功能介绍:

删除节点

用户可以通过 Delete With ChildrenDelete Single Node 两种模式删除节点,支持单一节点删除和批量删除。

添加新节点

通过选择节点类型并点击 Add node 按钮,即可在图上添加一个新节点,并在侧栏中进行属性设置。

重命名节点和模型的输入/输出

可以通过简单的重命名来更改模型的计算路径或模型输出。

添加新的模型输出和输入

支持为指定节点设置新的模型输出,以及为模型添加新的输入。

编辑节点属性和初始化器

用户可以更改节点的属性值,也可以编辑模型初始化器中的值,包括加载外部的 numpy 文件数据。

适用示例模型

onnx-modifier 提供了多种示例模型以供测试使用,这些模型大部分来源于 ONNX 模型动物园。

项目发展与贡献

onnx-modifier 正在积极开发中,欢迎大家使用、提问题和贡献代码,帮助其成长。

致谢

onnx-modifier 的开发涉及多个开源项目,如 Netron、Flask 和 onnx-tool 等,这为项目的功能实现提供了重要支持。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号