文档
注册
评分
提单
论坛
小AI

模型可视化

对于已经转换成功的.pb模型文件、.onnx模型文件、.prototxt模型文件或.om模型文件,可以在MindStudio界面呈现其网络拓扑结构,并可以查看模型所使用的算子。下文中以.om模型文件为例展示模型可视化功能。

  1. 依次单击菜单栏Ascend > Model Visualizer,或在工具栏选择,在弹出窗口中选择要可视化的模型,例如此处的resnet50模型文件。
    • 在Linux上使用模型转换功能时,单击右侧的文件夹图标,选择或直接输入本地服务器上需要转换的模型文件路径。
      图1 选择要打开的模型(Linux)
    • 在Windows上使用模型转换功能时,在弹出的窗口中单击右侧的文件夹图标,选择“remote path”,在后台服务器路径选择需要转化的模型文件并上传;选择“local path”,单击右侧的文件夹图标,在Windows本地选择或直接输入需要转化的模型文件路径并上传。
      图2 选择要打开的模型(Windows)

      查看.prototxt模型文件时,需要保证.prototxt模型文件与其相关的.caffemodel权重文件在同一目录下。

  2. 依次选择“resnet50 > Soc_Version”(Soc_Version表示芯片型号) ,选择模型转换中已经转换成功的resnet50.om模型文件,单击“OK”
    • 当前优化模型可视化的排版布局效果,使整个网络拓扑结构看起来更加清晰有条理,需要通过root用户安装node.js工具来实现。优化后的界面如图4所示。
      • ubuntu操作系统:apt install nodejs
      • CentOS、EulerOS和麒麟OS:
        1. 如在官网下载软件包。

          例如,下载node-v8.10.0-linux-arm64.tar.gz

        2. 解压软件包。
        3. 配置环境变量:export NODE_HOME=<软件包解压目录>export PATH=<软件包解压目录>/bin:$PATH
    • 没有安装node.js工具时,模型可视化的排版和结构如图3所示。
    图3 模型可视化界面(优化前)
    图4 模型可视化界面(优化后)
    • 查看算子信息

      图4展示了模型文件中所有的算子,单击某层算子,该层算子会出现绿色选中框,右侧区域会展示该算子的详细信息,包括算子名称、算子输入、输出等信息。单击展开算子的所有参数信息,用户也可以逐层单击相关参数左侧的展开按钮,查看参数的详细信息;单击折叠所有的算子信息。

      中间区域会展示该网络模型的整体结构,包括右侧展示框中的算子在整体网络结构中的位置,即图中的蓝色框选择位置。左侧展示区域下拉,右侧整体区域中的蓝区选择框随之往下移动。左侧展示框放大和缩小,右侧蓝色框随之缩小和放大。

      • 上/下滑动鼠标滚轮,可以控制模型可视化区域的上/下移动。
      • 按住Ctrl键+上下滑动鼠标滚轮,可以实现模型可视化区域的放大/缩小。
    • 查看算子输出维度和shape信息

      图4还展示了每一层算子输出的维度和shape信息,如每一层算子连接线中间的1,224,224,4等shape信息,将鼠标移至某个shape上面,在其上面会显示算子输出的维度信息,例如NCHW以及NC1HWC0等维度。

    • 搜索算子

      图4右侧区域的“Find”右侧的输入框中输入算子名称,下方搜索区域会列出相关的算子。选择其中一个算子,左侧网络拓扑结构中相应算子会显示绿色选中框,右上方会展示该算子的详细信息,包括算子名称、算子输入、输出等信息。如图5所示。

      图5 模型可视化界面的搜索功能
    • 搜索算子内部信息

      选中某层算子,单击右上方的展开按钮,右侧区域框会展示该层所包括所有算子的信息,单击或在右侧区域使用“Ctrl+F”快捷键,弹出图6所示搜索界面,其中:

      • Case sensitive:大小写敏感。
      • Wrap Search:循环搜索。
      • Backward:反向搜索。

      用户在输入框中输入想要查询的信息,比如算子的输入输出、属性等信息,然后在图6界面中勾选搜索特性,单击“Find”进行查找,如果匹配到相关信息,则右侧区域框中相关信息会高亮显示,否则会提示“Value not found”。单击Close退出搜索。

      图6 搜索算子内部信息
    • 查看模型输出节点信息
      由于模型转换时Select了名称为res2a_branch2abn2a_branch2ascale2a_branch2ares2a_branch2a_relu的算子,则在.om模型文件可以看到Select算子的输出直接作为模型的输出,如图7中标记红色的信息,用户可以单击相应的TransData算子,查看相应的输入信息。
      图7 Select算子前后区别
    • 查看模型输出节点的数据类型

      如果模型转换时设置了Select节点的输出类型,对应模型转换章节“Model Information”页签中Output Nodes区域下方节点的Data Type类型,模型转换完毕,用户可以单击NetOutput节点,查看不同输入节点的数据类型。

      如果模型转换时只设置了“Model Information”页签中的“Output Type”参数取值,没有Select节点,则模型转换完毕,单击NetOutput节点,查看输入数据类型即可。

      dtype为DT_FLOAT,表示数据类型为FP32,dtype为DT_FLOAT16表示数据类型为FP16,dtype为DT_UINT8表示数据类型为UINT8。

      图8 模型输出数据类型查看
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词