来啦来来,千呼万唤的MNN模型可视化功能来啦。 一图胜千言,先让我们看看可视化的效果吧。

屏幕快照 2019-10-08 上午12.55.46.png

在详细调研了市面上比较主流的可视化工具后,Netron是一款受众面较多、兼容多款模型的可视化模型,同时它还具有跨平台支持、Python模块支持的能力。因此,在研究了一番它的设计和架构并考虑后续MNN自身的演进,我们决定官方维护MNN模型的可视化能力并将其作为Pull Request合并,大家可以放心使用啦。

功能列表

  • 支持加载.mnn模型 。
  • 支持将可视化的图导出成图片保存。
  • 支持拓扑结构的展示、Operator/Input/Output的内容展示。
  • 支持结构化的weightscalebias等数据的展示,并支持将此类数据持久化保存

更多功能留给读者探索,我们也会一直把MNN最新的能力特性支持完善。

使用方式(Release版本)

作者不定期进行release不能保证最新的特性一直被覆盖**。**(使用前需确认)

下载地址:https://github.com/lutzroeder/netron/releases

  • macOS: 下载 .dmg文件 或者 brew cask install netron
  • Linux: 下载 .AppImage或者.deb文件.
  • Windows: 下载.exe文件.
  • Pythonpip install netron

使用开发版本(适合想要体验最新特性)

  • 对仓库地址:https://github.com/lutzroeder/netron,进行clone。始终使用master分支。
  • cd [your_clone_path]/netron
  • 安装npm,确保npm版本大于6.0.0
  • npm install

【使用JavaScript 调试】

  • npx electron ./(如果这步失败,单独npm install -g npx

【使用Python调试】

  • python3 setup.py build
  • export PYTHONPATH=build/lib:${PYTHONPATH}
  • python3 -c "import netron; netron.start(None)"

遗留问题

  • 加载超大模型可能渲染失败(几千个节点)