HarmonyOS 鸿蒙Next 调用mindSpore报错
HarmonyOS 鸿蒙Next 调用mindSpore报错
官方源码:
```javascript
// 1.创建上下文,设置线程数、设备类型等参数。
let context: mindSporeLite.Context = {};
context.target = ['cpu'];
context.cpu = {};
context.cpu.threadNum = 2;
context.cpu.threadAffinityMode = 0;
context.cpu.precisionMode = 'preferred_fp16';
context.cpu.threadAffinityCoreList = [0, 1, 2];
// 2.从内存加载模型。
let msLiteModel: mindSporeLite.Model = await mindSporeLite.loadModelFromBuffer(modelBuffer, context);
// 3.设置输入数据。
let modelInputs: mindSporeLite.MSTensor[] = msLiteModel.getInputs();
for (let i = 0; i < inputsBuffer.length; i++) {
let inputBuffer = inputsBuffer[i];
if (inputBuffer != null) {
modelInputs[i].setData(inputBuffer as ArrayBuffer);
}
}
报错信息:
E <private>:<private> "cpu's architecture is unknown."
E <private>:<private> "bind id is empty"
E <private>:<private> "bind id is empty"
E Error loading header libdeobfuscator_lib.z.so: failed to map header
E dlopen_impl load library header failed for libdeobfuscator_lib.z.so
E [mindspore/lite/src/litert/js_api/mstensor_napi.cc:395] SetData# Get js data error.
E [mindspore/lite/src/litert/js_api/mstensor_napi.cc:368] GetDataBuffer# napi_create_arraybuffer error
E [mindspore/lite/src/litert/js_api/mslite_model_napi.cc:1859] SetTensorData# Get js data error.
E [mindspore/lite/src/litert/js_api/mslite_model_napi.cc:1759] PredictAsync# Set tensor data failed.
E SendRequest 153: failed, handle:33 error:202 desc:*.IHaSAInterface time:958682585159408
更多关于HarmonyOS 鸿蒙Next 调用mindSpore报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
7 回复
仓颉调用mindspore-lite完成mobieNetV2
代码地址
更多关于HarmonyOS 鸿蒙Next 调用mindSpore报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
尴尬的是没有仓颉的授权,今年8月份才开始接触,错过了是不是就要等官方正式发布了。
目前用Native C++已经能实现模型加载了,在内存能看到,就是输入参数还得研究下。
可以参考我上面的链接,里面的model.cj文件。
我用仓颉调MindSpore没有问题,
真机测试:meta60
针对帖子标题“HarmonyOS 鸿蒙Next 调用mindSpore报错”的问题,以下是一些可能的解决方案:
-
检查版本兼容性:
- 确保你使用的HarmonyOS版本与mindSpore版本兼容。不同版本的操作系统和框架可能存在不兼容的问题。
-
检查API调用:
- 仔细检查你的代码中mindSpore API的调用方式是否正确。错误的API调用或参数传递可能导致报错。
-
查看错误日志:
- 仔细分析报错信息,通常错误日志中会提供关于错误原因的详细信息。这有助于定位问题所在。
-
更新mindSpore库:
- 尝试更新到最新版本的mindSpore库,因为新版本可能已经修复了你遇到的问题。
-
资源限制:
- 检查系统资源(如内存、CPU)是否充足。资源不足也可能导致mindSpore运行时报错。
-
权限问题:
- 确保你的应用有足够的权限来执行mindSpore相关的操作。权限不足可能导致功能受限或报错。
如果以上方法都无法解决你的问题,可能是由于更复杂的系统或框架问题导致的。此时,你可以考虑联系官网客服寻求进一步的帮助。官网地址是:https://www.itying.com/category-93-b0.html。请提供详细的报错信息和相关日志,以便客服人员更好地帮助你解决问题。