HarmonyOS 鸿蒙Next onnx转omc报错问题:tensor gather 索引之后不能进行任何操作
HarmonyOS 鸿蒙Next onnx转omc报错问题:tensor gather 索引之后不能进行任何操作
简单示例:
def forward(self,grid):
a = grid[:, :, :, 0].clone()
return a.to(‘cuda’) + 1
报错log:
E/AI_NPUCL (3795564): trans_data_utils.cc CheckVaild(29)::size(4 > 0) invaild.
E/AI_NPUCL (3795564): trans_data_utils.cc CheckAndTrans(158)::
E/AI_NPUCL (3795564): op_kernel_builder.cc TransAndMergeWeightForTensor(280)::TransTensor failed.
E/AI_NPUCL (3795564): vector_kernel_builder.h TransAndMergeWeights(117)::TransAndMergeWeights failed.
E/AI_NPUCL (3795564): op_kernel_builder.cc TransAndMergeWeights(173)::
E/AI_NPUCL (3795564): compile_task.cc TransAndMergeWeights(149)::/Add Add TransAndMergeWeights failed!
E/AI_NPUCL (3795564): optimize_assistant.cc NotSupportMergeWeightParallel(680)::"Op Build4NPU failed. Node: /Add."
E/AI_NPUCL (3795564): optimize_assistant.cc GraphMergeWeights(738)::"NotSupportMergeWeightParallel failed"
E/AI_NPUCL (3795564): graph_build_optimizer.cc GraphMergeWeights(302)::"Failed to merge npu sub graph weights: SubGraph_0"
E/AI_NPUCL (3795564): graph_build_optimizer.cc Optimize(398)::“GraphMergeWeights failed”
1 回复
在HarmonyOS鸿蒙系统中,当你尝试将ONNX模型转换为OMC(Open Mind Compiler)格式时,遇到“tensor gather 索引之后不能进行任何操作”的错误,这通常是由于ONNX模型中的某些操作或层的特性在OMC的当前版本中不支持或存在兼容性问题。
ONNX(Open Neural Network Exchange)是一个开放的模型格式,旨在促进不同框架之间的互操作性,但不同平台对ONNX的支持程度可能会有所不同。在这种情况下,可能的解决方案包括:
- 检查ONNX版本:确保你使用的ONNX模型版本与HarmonyOS支持的版本兼容。
- 修改模型:如果可能,尝试修改ONNX模型,避免在tensor gather操作后直接进行其他操作,或者寻找替代的模型结构。
- 更新工具链:检查并更新你的HarmonyOS开发工具链到最新版本,看是否有对此类问题的修复。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。在这里,你可以获得更专业的技术支持和帮助。