Skip to content

Conversation

@Bearisbug
Copy link
Contributor

任务编号:ICJ93I
任务链接:【开源实习】香橙派github仓中的在线推理案例03-ViT基于PyNative模式改写成以mint接口实现
环境:Python 3.9 + MindSpore 2.6.0 + CANN 8.1.RC1 + OrangePi AiPro 8G 8T (ubuntu-22.04)
推理结果:
image

@cui0523
Copy link
Contributor

cui0523 commented Oct 11, 2025

@cui0523
Copy link
Contributor

cui0523 commented Oct 14, 2025

image

这部分可以删除

@cui0523
Copy link
Contributor

cui0523 commented Oct 14, 2025

部分方法没有修改成mint接口,包括但不限于nn.Dense,nn.Conv2d, nn.Dropout等,需要再排查一遍以确保全部可以替换的均替换成mint接口实现。

@cui0523
Copy link
Contributor

cui0523 commented Oct 14, 2025

目录orange-pi-mindspore,orange-pi-mindspore/Online, orange-pi-mindspore/Online/inference下的readme中均需修改案例版本信息**

@cui0523
Copy link
Contributor

cui0523 commented Oct 14, 2025

from mindspore import mint as F 不要写成这样,写成from mindspore import mint 即可。后续修改的接口直接用mint.xxx表示

@Bearisbug
Copy link
Contributor Author

部分方法没有修改成mint接口,包括但不限于nn.Dense,nn.Conv2d, nn.Dropout等,需要再排查一遍以确保全部可以替换的均替换成mint接口实现。

已经尝试过替换,具体报错如下:

具体报错与复现条件

A. mint.nn.Conv2d / mint.nn.functional.conv2d

  • 触发场景​:PatchEmbedding 中将 nn.Conv2d 改为 mint.nn.Conv2d(或使用函数式 mint.nn.functional.conv2d)。

  • 报错原文​:

    RuntimeError: aclnnConvolutionGetWorkspaceSize call failed, please check!
    EZ1001: support for Ascend310B is not implemented
    mindspore/ops/kernel/ascend/pyboost/customize/convolution.cc:72 operator()
    

    这说明 ​PyBoost/ACLLN 的卷积内核在 310B 上未实现​(当前 mint 路径调用),与官方“mint 为实验接口、后端支持不全”的说明一致。mint.nn.Conv2d 在 2.6.0-rc1 文档中有列出,但并未保证所有 Ascend SoC(特指 310B)全覆盖。

B. mint.nn.Linear(或 F.dense/addmm 路径)

  • 触发场景​:将 nn.Dense 改为 mint.nn.Linear 或用 F.dense/addmm 实现线性层。

  • 报错原文​:

    RuntimeError: aclnnAddmmGetWorkspaceSize call failed, please check!
    EZ9999: Cannot find bin of op MatMulV2, integral key ... float16/FRACTAL_NZ ... / ND ...
    mindspore/ops/kernel/ascend/pyboost/customize/addmm.cc:51 operator()
    

    分析​:mint 的 Dense 路径会走 Addmm/MatMulV2 的 ACLNN 内核,310B 上经常出现 FRACTAL_NZ/ND 布局不匹配 导致“找不到 kernel bin”。这同样属于 ​mint 在 Ascend-310B 上的内核覆盖不足​。官方对 mint 的定位也是“实验性”“后端逐步完善”。

C. mint.nn.Dropout / mint.nn.functional.dropout

  • 触发场景​:把 nn.Dropout 改为 mint.nn.Dropoutmint.nn.functional.dropout
  • 现象​:函数式 mint.nn.functional.dropout 文档在 2.6.0 提供,但在 310B 上与 mint.Linear/Conv2d 组合使用时,会联动触发上面 A/B 的编译路径(仍走 PyBoost/ACLLN),整体编译失败后 predict 直接中断。

@cui0523
Copy link
Contributor

cui0523 commented Oct 23, 2025

另外开一个notebook分别单独执行官网中的接口mint.nn.Conv2d,mint.nn.Linear, mint.nn.Dropout,查看是否能够执行通过;对比案例中mint.nn.Dropout与 mint.Linear/Conv2d 组合使用时的结果。如果接口单独可以执行通过,联合使用无法通过时,在mindspore的gitee代码仓提issue,提供issue链接即可

@Bearisbug
Copy link
Contributor Author

另外开一个notebook分别单独执行官网中的接口mint.nn.Conv2d,mint.nn.Linear, mint.nn.Dropout,查看是否能够执行通过;对比案例中mint.nn.Dropout与 mint.Linear/Conv2d 组合使用时的结果。如果接口单独可以执行通过,联合使用无法通过时,在mindspore的gitee代码仓提issue,提供issue链接即可

Issue 链接: https://gitee.com/mindspore/mindspore/issues/ID4TRP?from=project-issue

@cui0523
Copy link
Contributor

cui0523 commented Nov 11, 2025

目前pr中的代码执行不通过。除了修改mint接口外,源代码其他部分不要随便改动。
image

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants