Skip to content

【Hackathon 7th】Netron 原生支持 Paddle PIR 可视化 #1

@megemini

Description

@megemini

本 ISSUE 用于跟踪 Netron 原生支持 Paddle PIR 可视化的相关问题 ~

关联:https://github.com/PaddlePaddle/community/blob/master/hackathon/hackathon_7th/%E3%80%90Hackathon%207th%E3%80%91FundableProject%E4%BB%BB%E5%8A%A1%E5%90%88%E9%9B%86.md#%E5%85%ABnetron-%E5%8E%9F%E7%94%9F%E6%94%AF%E6%8C%81-paddle-pir-%E5%8F%AF%E8%A7%86%E5%8C%96

Update 20241113

已测试如下模型:

for_net.json

image

图中的 while 子图 block_1

image

if_net.json

image

图中的 if 子图 block_1

image

if 子图 block_2

image

model.json

image

model_pylayer.json

image

图中的 pylayer 子图

image

while_net.json

image

图中的 while 子图

image

另外,tensor 边的映射如下

image


目前需要确认的问题:

  1. 子图的显示方案

netron 显示子图的方案如上图所示,是单独开一个窗口。VisualDL 如何显示的,可以在评论区贴一下 ~

至少需要覆盖以下几种情况:

  • 只有一个子图
  • 多个子图
  • 即有 attr 也有子图
  • 子图中还可以有子图

不过,具体采用哪种方案,得说服 netron 作者 ... ...

  1. op 和属性的映射

目前,save 时会压缩,有一些 op 会用简写,如 p ,相应的属性也没有名字,这里暂时以 idx 作为 name。

可以提供一下需要映射的字段做适配 ~

  1. json 中有一些字段在 netron 中没有合适的映射位值,如 OA DA ,这里没有做适配。
  2. tensor 边在做映射时,只考虑 t_dtensor 这一种情况,与 netron 中其他框架保持一致。
  3. "ModuleOp" 是个啥?json 中找不到 ... ...
  4. 可以再贴一些需要验证的 json 模型 ~
  5. 目前只有 json 模型文件,是否还需要参数文件?
  6. 目前 netron 的子图中只能读取一个 graph,但是 json 模型还是用的 blocks 的形式,所以,目前的解决方法是只显示region 中第一个 block

请各位大佬看看还有啥遗漏或者建议?

p.s. netron 的 repo 好像只有一个 PR 被合入,这个做为潜在风险吧 ... ...

@luotao1

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions