本文主要介绍人工智能模型的网络结构可视化的常见方法。

对于使用神经网络模型来说,我们主要关注的是模型的输入和输出。在 ML.NET 中使用 ONNX 模型时,我们就需要了解这些信息,以便在构成神经网络的所有层之间生成连接映射。

下图就是昨天 《YOLOv7 在 ML.NET 中使用 ONNX 检测对象》 文章中使用到的 ONNX 模型基本属性信息。

NETRON

Netron 是一款常见的可视化工具,支持网页查看,只需打开网站 https://netron.app/ 点击 “Open Model…” 即可上传查看模型的网络结构,并且支持 ML.NET 模型。

以下是其网站模型结构展示的效果:

Netron 也支持 Windows、Linux、macOS 客户端的安装,可前往 Github 仓库下载 Netron 客户端

另外你也可以使用 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。