QWebEngine集成Netron可视化模型
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可视化模型相关推荐
- 【netron】模型可视化工具netron
1.简介 在实际的项目中,经常会遇到各种网络模型,需要我们快速去了解网络结构.如果单纯的去看模型文件,脑海中很难直观的浮现网络的架构.这时,就可以使用netron可视化工具,可以清晰的看到每一层的输入 ...
- Netron可视化Pytorch保存的网络模型
目录 一.理清网络的输入与输出 二. 将模型转换为onnx格式 三.Netron可视化工具 一.理清网络的输入与输出 我自定义的网络模型(主要看看前向传播函数即可): import torch imp ...
- Netron 可视化
1.pytroch模型转化为onnx模型 netron并不支持pytorch通过torch.save方法导出的模型文件,因此在pytorch保存模型的时候,需要将其导出为onnx格式的模型文件 pip ...
- R语言使用yardstick包的lift_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的提升
R语言使用yardstick包的lift_curve函数评估多分类(Multiclass)模型的性能.并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的提升 ...
- R语言使用yardstick包的roc_curve函数评估多分类(Multiclass)模型、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的ROC曲线
R语言使用yardstick包的roc_curve函数评估多分类(Multiclass)模型的性能.并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的ROC ...
- R语言使用yardstick包的pr_curve函数评估二分类(binary)模型的性能、并使用autoplot函数可视化模型的PR曲线(precision recall)
R语言使用yardstick包的pr_curve函数评估二分类(binary)模型的性能.并使用autoplot函数可视化模型的PR曲线(precision recall) 目录
- R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的增益
R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能.并使用autoplot函数可视化模型在每个交叉验证(或者重采样)的每一折fold在每个分类上的增益 ...
- R语言使用lm构建线性回归模型、并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型预测中系统误差的一个例子 、自定义函数计算R方指标和均方根误差RMSE
R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型预测中系统误差的一个例子 .自定义函数计算R方指标和均方根误差RMSE 目 ...
- R语言使用lm构建线性回归模型、并将目标变量对数化实战:可视化模型预测输出与实际值对比图、可视化模型的残差、模型系数(coefficient)、模型总结信息(summary)、残差总结信息
R语言使用lm构建线性回归模型.并将目标变量对数化(log10)实战:可视化模型预测输出与实际值对比图.可视化模型的残差.模型系数(coefficient).模型总结信息(summary).残差总结信 ...
最新文章
- 重新定义Wi-Fi功能,Wi-Fi 6为什么要分两步?
- SylixOS普通定时器精度分析
- 结构体前置申明未定义问题
- 用python读取股票价格_使用Python写一个量化股票提醒系统
- JPA注解(这里包含sequence类型的)
- 使用ASP.NET Core 实现Docker的HealthCheck指令
- 二维burgers方程_二维Burgers方程的RKDG有限元解法
- PHP用于登录的类,基于MySQL
- 西方餐厅的顶级食材,被中国人干到了“白菜价”
- python抽奖滚动界面_Python使用Tkinter实现转盘抽奖器的步骤详解
- 话说网页长啥样,到底谁说了算??
- lisp 角平分线_清华同方mds软件下载安装 清华英泰cad mds2002
- 顺丰标准 150标准丰密面单 Clodop 实现打印
- Hyper-V虚拟机和虚拟化服务器区别
- 知识图谱05:知识图谱构建涉及的技术
- 微电子 半导体 网址 一览表
- 前端开发思路-1.1
- java基础编程题_Java基础练习题:编程练习(1) - 菜鸟头头
- Coin 2017icpc-西安赛区 牛顿二项式
- 3dmax制作电视机