本文主要介绍人工智能模型的网络结构可视化的常见方法。
对于使用神经网络模型来说,我们主要关注的是模型的输入和输出。在 ML.NET 中使用 ONNX 模型时,我们就需要了解这些信息,以便在构成神经网络的所有层之间生成连接映射。
下图就是昨天 《YOLOv7 在 ML.NET 中使用 ONNX 检测对象》 文章中使用到的 ONNX 模型基本属性信息。
NETRON
Netron 是一款常见的可视化工具,支持网页查看,只需打开网站 https://netron.app/ 点击 “Open Model…” 即可上传查看模型的网络结构,并且支持 ML.NET 模型。
以下是其网站模型结构展示的效果:
Netron 也支持 Windows、Linux、macOS 客户端的安装,可前往 Github 仓库下载 Netron 客户端[1]。
另外你也可以使用 pip
安装使用:
pip install netron
之后可以使用命令 netron
即可在本地启动一个服务查看模型,也可以使用 netron [file]
直接指定模型文件。
VisualDL
VisualDL是飞桨可视化分析工具,其中包含了网络结构的查看,其该部分功能也是由 netron
提供的支持。
使用 pip
安装:
pip install --upgrade --pre visualdl
VisualDL 主要用于训练过程中的数据可视化,当前的版本 VisualDL 2.4.1
如果未指定 --logdir
参数,直接通过命令 visualdl
启动则会报错:TypeError: 'NoneType' object is not iterable
。使用下面的命令启动用于查看模型网络结构即可。
visualdl --logdir .
你也可以使用 --host
参数指定服务的 IP 地址,--port
指定服务的端口地址。更多介绍可前往官网查看:https://www.paddlepaddle.org.cn/paddle/visualdl。
References
[1]
Github 仓库下载 Netron 客户端: https://github.com/lutzroeder/netron/releases