如何将模型可视化工具Netron改造为通用的WEB服务(Flask)?

简介: 很多时候,我们需要复现人家的工程。因此,需要了解人家的网络结构。但不同框架之间可视化网络层方法不一样,这样给研究人员造成了很大的困扰。模型可视化工具Netron很好的解决了上述问题。Netron是微软小哥lutzroeder的一个广受好评的开源项目。目前,Netron支持各种主流机器学习、深度学习框架的模型结构可视化工作。

很多时候,我们需要复现人家的工程。因此,需要了解人家的网络结构。但不同框架之间可视化网络层方法不一样,这样给研究人员造成了很大的困扰。模型可视化工具Netron很好的解决了上述问题。Netron是微软小哥lutzroeder的一个广受好评的开源项目。目前,Netron支持各种主流机器学习、深度学习框架的模型结构可视化工作。

Netron可视化模型的方式也很多,主要有:

  • 在线可视化模型(浏览器)
  • 离线APP可视化模型(支持Mac、Linux、Windows)
  • 使用Netron API可视化模型(Python Server)

支持的模型文件格式有: ONNX, TensorFlow Lite, Caffe, Keras, Darknet, PaddlePaddle, ncnn, MNN, Core ML, RKNN, MXNet, MindSpore Lite, TNN, Barracuda, Tengine, CNTK, TensorFlow.js, Caffe2 和 UFF。

除此之外,Netron还提供了一些试验性的模型文件格式支持:PyTorch, TensorFlow, TorchScript, OpenVINO, Torch, Vitis AI, Arm NN, BigDL, Chainer, Deeplearning4j, MediaPipe, ML.NET 和 scikit-learn。

详情请参见netron官网:点击进入

如果需要将Netron集成到项目之中,我们通常会选择Python Server方式。但是在集成时,会发现存在一些问题。

第一,我们打开一个模型(import netron;netron.start('[FILE]') ),进行可视化,它就会启动一个服务,并且自动打开浏览器,可视化模型。如果我们想同时查看多个模型,就需要启动多个服务,并且占用不同的端口。因此,集成到项目之中不太友好。

第二,如果我们启动Python Server(import netron; netron.start() ),不提前指定模型,当我们打开浏览器的时候,则需要自己选择模型路径进行渲染,这样就会导致交互流程太长。

针对如上两个问题,本项目netron-flask,通过改造netron项目。将原有的http.server改成Flask框架,并且修改前端交互模式,提供直接通过请求HTTP接口的方式直接渲染模型。

相关文章
|
29天前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
45 9
|
29天前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
150 69
|
11天前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
27 3
|
12天前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
15 1
|
18天前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。
|
29天前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
60 12
|
27天前
|
JavaScript API 开发工具
(H5-Web3D-ThreeJS)在网页三维CAD中绘制窗户模型
本文介绍了如何使用mxcad3d在网页中创建一个简单的三维窗户模型。通过官方教程搭建环境,编写绘制窗户模型的代码,并在点击按钮后展示模型效果。最终模型包括窗框和玻璃部分,具备丰富的三维建模功能和便捷的API支持。
|
1月前
|
机器学习/深度学习 监控 数据挖掘
基于Django和百度飞桨模型的情感识别Web系统
基于Django和百度飞桨模型的情感识别Web系统
37 5
|
1月前
|
前端开发 Java API
JAVA Web 服务及底层框架原理
【10月更文挑战第1天】Java Web 服务是基于 Java 编程语言用于开发分布式网络应用程序的一种技术。它通常运行在 Web 服务器上,并通过 HTTP 协议与客户端进行通信。
25 1
|
1月前
|
XML 关系型数据库 MySQL
Web Services 服务 是不是过时了?创建 Web Services 服务实例
本文讨论了WebServices(基于SOAP协议)与WebAPI(基于RESTful)在开发中的应用,回顾了WebServices的历史特点,比较了两者在技术栈、轻量化和适用场景的差异,并分享了使用VB.net开发WebServices的具体配置步骤和疑问。
23 0
下一篇
无影云桌面