Netron是一个用于可视化深度学习网络模型的工具软件,主体以JavaScript语言实现,源码在: https://github.com/lutzroeder/netron 。用户可以使用各系统平台的安装包进行安装之后使用,也可以用浏览器使用在线版本: Netron。

Netron支持几乎所有常见的深度学习框架所导出的模型: ONNX, TensorflowLite, Caffe, Keras, MNN, NCNN, MediaPipe等等。

开发者在自己设计的软件中也有自定义的有向无环图,在Netron中就无法打开,如果需要可视化就需要自己开发相应的代码转换软件。本文介绍如何将开源的Netron集成到自己的Python QT软件中。

实现效果如下图所示:

一.开发环境与基础依赖

  • Windows 10 64bit: VSCode
  • Python3: PyQt5-Qt5==5.15.2, PyQtWebEngine==5.15.4
  • FlatWidget: PyQT图形界面设计二.扁平化无边框窗口
  • Netron: https://github.com/lutzroeder/netron

其中FlatWidget是笔者之前基于Python QT设计的无边框宽口界面,本文以此为基础进行集成。

将netron源码中的source目录中的所有文件作为本文工程的第三方依赖(thirdparty/netron),复制完代码之后的工程结构如下:

二.软件集成

QWebEngine需以OpenGL Widget为容器进行创建,现在QT Designer中拖拽一个OpenGL Widget到主窗口中。

编译完成后,构造QWebEngineView:

sys.path.append(os.getcwd() + os.path.sep + "thirdparty")
from netron.server import start
def InitWebEngine(self):self.view_layout = QVBoxLayout(self.MainWindow_.ViewWidget)self.view_layout.setContentsMargins(0, 0, 0, 0)self.browser = QWebEngineView()self.view_layout.addWidget(self.browser)self.address = start(None, None, browse=False)url_address = "http://{}:{}".format(self.address[0], self.address[1])self.browser.load(QUrl(url_address))

只需调用此函数即可启用Netron。具体代码相机如下:

1~2行: 将netron的目录添加到python的环境中。

4~7行: 添加一个垂直布局器,并将QWebEngineView添加到其中。

9行: start为netron的API

def start(file, data, address=None, browse=False, verbosity=1)

file为模型文件的路径,data为模型数据,data与file都可以是空,都为空的情况下则打开的欢迎界面,browse指示是否自动打开本地浏览器查看,该函数的返回值为本地http服务器的地址与端口:(address, port)。

11行,通过QWebEngine加载serve.start启动的http服务。

QWebEngine集成Netron可视化模型相关推荐

  1. 【netron】模型可视化工具netron

    1.简介 在实际的项目中,经常会遇到各种网络模型,需要我们快速去了解网络结构.如果单纯的去看模型文件,脑海中很难直观的浮现网络的架构.这时,就可以使用netron可视化工具,可以清晰的看到每一层的输入 ...

  2. Netron可视化Pytorch保存的网络模型

    目录 一.理清网络的输入与输出 二. 将模型转换为onnx格式 三.Netron可视化工具 一.理清网络的输入与输出 我自定义的网络模型(主要看看前向传播函数即可): import torch imp ...

  3. Netron 可视化

    1.pytroch模型转化为onnx模型 netron并不支持pytorch通过torch.save方法导出的模型文件,因此在pytorch保存模型的时候,需要将其导出为onnx格式的模型文件 pip ...

  4. R语言使用yardstick包的lift_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的提升

    R语言使用yardstick包的lift_curve函数评估多分类(Multiclass)模型的性能.并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的提升 ...

  5. R语言使用yardstick包的roc_curve函数评估多分类(Multiclass)模型、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的ROC曲线

    R语言使用yardstick包的roc_curve函数评估多分类(Multiclass)模型的性能.并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的ROC ...

  6. R语言使用yardstick包的pr_curve函数评估二分类(binary)模型的性能、并使用autoplot函数可视化模型的PR曲线(precision recall)

    R语言使用yardstick包的pr_curve函数评估二分类(binary)模型的性能.并使用autoplot函数可视化模型的PR曲线(precision recall) 目录

  7. R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的增益

    R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能.并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的增益 ...

  8. R语言使用lm构建线性回归模型、并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型预测中系统误差的一个例子 、自定义函数计算R方指标和均方根误差RMSE

    R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型预测中系统误差的一个例子 .自定义函数计算R方指标和均方根误差RMSE 目 ...

  9. R语言使用lm构建线性回归模型、并将目标变量对数化实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型系数(coefficient)、模型总结信息(summary)、残差总结信息

    R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型系数(coefficient).模型总结信息(summary).残差总结信 ...

最新文章

  1. 重新定义Wi-Fi功能,Wi-Fi 6为什么要分两步?
  2. SylixOS普通定时器精度分析
  3. 结构体前置申明未定义问题
  4. 用python读取股票价格_使用Python写一个量化股票提醒系统
  5. JPA注解(这里包含sequence类型的)
  6. 使用ASP.NET Core 实现Docker的HealthCheck指令
  7. 二维burgers方程_二维Burgers方程的RKDG有限元解法
  8. PHP用于登录的类,基于MySQL
  9. 西方餐厅的顶级食材,被中国人干到了“白菜价”
  10. python抽奖滚动界面_Python使用Tkinter实现转盘抽奖器的步骤详解
  11. 话说网页长啥样,到底谁说了算??
  12. lisp 角平分线_清华同方mds软件下载安装 清华英泰cad mds2002
  13. 顺丰标准 150标准丰密面单 Clodop 实现打印
  14. Hyper-V虚拟机和虚拟化服务器区别
  15. 知识图谱05:知识图谱构建涉及的技术
  16. 微电子 半导体 网址 一览表
  17. 前端开发思路-1.1
  18. java基础编程题_Java基础练习题:编程练习(1) - 菜鸟头头
  19. Coin 2017icpc-西安赛区 牛顿二项式
  20. 3dmax制作电视机

热门文章

  1. 游戏安全与反外挂:加固工具介绍
  2. 某人写的openCV学习笔记_拔剑-浆糊的传说_新浪博客
  3. 好用的个微管理系统我知道
  4. 微信小程序60秒倒计时
  5. Jmeter beanshell语法
  6. 高通Linux Android 平台中的蓝牙功能学习 (4)-- Android Marshmallow 中的蓝牙 4.2
  7. OAuth2 logout
  8. matlab回归分析sst_线性回归(2)—— 模型评估
  9. php api 接口
  10. 【Rust日报】2021-12-15 - geoping 由 shodan 开发的多地 ping 工具