diff --git a/ai/mindspore/mindsporectest/src/ohos_common.cpp b/ai/mindspore/mindsporectest/src/ohos_common.cpp index d0c2bd8c95f1fb06c2ac30dfab5cdbefb3e57483..b7ae724f93606565a9a9811d01de297ab75ea1b1 100644 --- a/ai/mindspore/mindsporectest/src/ohos_common.cpp +++ b/ai/mindspore/mindsporectest/src/ohos_common.cpp @@ -165,11 +165,12 @@ bool allclose(float *a, float *b, uint64_t count, float rtol = 1e-05, if (i == count - 1) { printf(" ……\n"); printf("\n *** Total fail_count: %u\n", fail_count); - printf("\n fabs(a[i] - b[i])/(fabs(b[i])+1) : %f\n", - tol / fail_count); - printf("\n fabs(a[i] - b[i]) : %f\n", tol1 / fail_count); - printf("\n fabs(a[i] - b[i])/fabs(b[i]) : %f\n", tol2 / fail_count); - + if (fail_count != 0) { + printf("\n fabs(a[i] - b[i])/(fabs(b[i])+1) : %f\n", + tol / fail_count); + printf("\n fabs(a[i] - b[i]) : %f\n", tol1 / fail_count); + printf("\n fabs(a[i] - b[i])/fabs(b[i]) : %f\n", tol2 / fail_count); + } c = c + count; printf("\n avg : %f\n", sum / count); printf("\n min : %f\n", minimum); @@ -254,10 +255,12 @@ bool allclose_int8(uint8_t *a, uint8_t *b, uint64_t count, float rtol = 1e-05, if (i == count - 1) { printf(" ……\n"); printf("\n *** Total fail_count: %u\n", fail_count); - printf("\n fabs(a[i] - b[i])/(fabs(b[i])+1) : %f\n", - tol / fail_count); - printf("\n fabs(a[i] - b[i]) : %f\n", tol1 / fail_count); - printf("\n fabs(a[i] - b[i])/fabs(b[i]) : %f\n", tol2 / fail_count); + if (fail_count != 0) { + printf("\n fabs(a[i] - b[i])/(fabs(b[i])+1) : %f\n", + tol / fail_count); + printf("\n fabs(a[i] - b[i]) : %f\n", tol1 / fail_count); + printf("\n fabs(a[i] - b[i])/fabs(b[i]) : %f\n", tol2 / fail_count); + } c = c + count; printf("\n avg : %f\n", sum / count); diff --git a/ai/mindspore/mindsporejstest/src/main/ets/test/Ability.test.ets b/ai/mindspore/mindsporejstest/src/main/ets/test/Ability.test.ets index f6ff2f93cdfe30a4bfe32fe9811ce7a76285e9b9..f748f0b7a558cc2d449e9e130a8928e9da72acbc 100644 --- a/ai/mindspore/mindsporejstest/src/main/ets/test/Ability.test.ets +++ b/ai/mindspore/mindsporejstest/src/main/ets/test/Ability.test.ets @@ -69,7 +69,7 @@ export default function abilityTest() { console.log("[rawfile_copy_to_sandbox] ml_ocr_cn.ms is copy success"); } }); - + } catch (error) { console.info("[rawfile_copy_to_sandbox] getRawFileDescriptor api run failed" + error); } @@ -80,7 +80,7 @@ export default function abilityTest() { }) beforeEach(async function () { let dir = globalThis.abilityContext.filesDir + "/"; - + let ml_face_model = dir + "ml_face_isface.ms"; await fs.access(ml_face_model).then(async (res) => { if (res) { @@ -90,7 +90,7 @@ export default function abilityTest() { console.info("ml_face_isface.ms file does not exists! access failed with error message: " + err.message + ", error code: " + err.code); }); - + let mnet_caffemodel_bin_file = dir + "ml_face_isface_0.input"; await fs.access(mnet_caffemodel_bin_file).then(async (res) => { if (res) { @@ -132,63 +132,53 @@ export default function abilityTest() { let modelName = 'ml_face_isface.ms'; let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await syscontext.resourceManager.getRawFileContent(modelName).then(async (model_buffer) => { - let modelBuffer = model_buffer; - let context: mindSporeLite.Context = {}; - context.target = ["cpu", "nnrt"]; - context.nnrt = {}; - context.cpu = {}; - context.cpu.threadNum = 1; - context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; - context.cpu.precisionMode = "preferred_fp16"; - context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; - await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let modelBuffer = await syscontext.resourceManager.getRawFileContent(modelName); + let context: mindSporeLite.Context = {}; + context.target = ["cpu", "nnrt"]; + context.nnrt = {}; + context.cpu = {}; + context.cpu.threadNum = 1; + context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; + context.cpu.precisionMode = "preferred_fp16"; + context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; + let msliteModel = await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer, context) + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -199,55 +189,46 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - console.log('=========MSLITE loadModel start====='); - let file = fs.openSync(model_file, fs.OpenMode.READ_ONLY); - await mindSporeLite.loadModelFromFd(file.fd).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + console.log('=========MSLITE loadModel start====='); + let file = fs.openSync(model_file, fs.OpenMode.READ_ONLY); + let msliteModel = await mindSporeLite.loadModelFromFd(file.fd); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) // 正常场景:ModelBuild,调用loadModelFromFile方法,正常推理 @@ -256,62 +237,54 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu", "nnrt"]; - context.nnrt = {}; - context.cpu = {}; - context.cpu.threadNum = 1; - context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; - context.cpu.precisionMode = "preferred_fp16"; - context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; - console.log('=========MSLITE loadModel start====='); - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let context:mindSporeLite.Context={}; + context.target = ["cpu", "nnrt"]; + context.nnrt = {}; + context.cpu = {}; + context.cpu.threadNum = 1; + context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; + context.cpu.precisionMode = "preferred_fp16"; + context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; + console.log('=========MSLITE loadModel start====='); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -321,58 +294,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu = { - "threadNum": 4, - } - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu = { + "threadNum": 4, + } + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -382,58 +347,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu = { - "threadNum": 2, - } - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu = { + "threadNum": 2, + } + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) //正常场景:Context设置CPU,1线程 @@ -442,58 +399,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength) - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu = { - "threadNum": 1, - } - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength) + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu = { + "threadNum": 1, + } + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -503,58 +452,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu = { - "threadNum": 0, - } - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu = { + "threadNum": 0, + } + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -564,58 +505,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu={}; - context.cpu.threadAffinityMode = 3; - console.log("MSLITE api test: set threadAffinityMode=3."); - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu={}; + context.cpu.threadAffinityMode = 3; + console.log("MSLITE api test: set threadAffinityMode=3."); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -625,58 +558,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu={}; - context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.LITTLE_CORES_FIRST; - console.log("MSLITE api test: set threadAffinityMode=2."); - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu={}; + context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.LITTLE_CORES_FIRST; + console.log("MSLITE api test: set threadAffinityMode=2."); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -686,58 +611,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength) - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu={}; - context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; - console.log("MSLITE api test: set threadAffinityMode=1."); - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength) + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu={}; + context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; + console.log("MSLITE api test: set threadAffinityMode=1."); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) //正常场景:Context设置CPU,绑核设置为0,不绑核 @@ -746,58 +663,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu={}; - context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.NO_AFFINITIES; - console.log("MSLITE api test: set threadAffinityMode=0."); - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu={}; + context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.NO_AFFINITIES; + console.log("MSLITE api test: set threadAffinityMode=0."); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -808,58 +717,50 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu={}; - context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; - console.log("MSLITE api test: set threadAffinityCoreList=[0, 1, 2, 3]."); - await mindSporeLite.loadModelFromFile(model_file, context).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let context:mindSporeLite.Context={}; + context.target = ["cpu"]; + context.cpu={}; + context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; + console.log("MSLITE api test: set threadAffinityCoreList=[0, 1, 2, 3]."); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file, context); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) //异常场景:ModelBuild,调用model path方法,path为空 @@ -904,77 +805,69 @@ export default function abilityTest() { let inputName = 'ml_ocr_cn_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_ocr_cn.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await mindSporeLite.loadModelFromFile(model_file).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,32,512,1"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("16384"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("65536"); - console.log('=========MSLITE resize start====='); - let new_dim = new Array([1, 32, 512, 1]); - let resize_result = msliteModel.resize(modelInputs, new_dim); - expect(resize_result).assertTrue(); - console.log('=========MSLITE resize success====='); - const modelInputs2 = msliteModel.getInputs(); - let input_name2 = modelInputs2[0].name; - console.log(input_name2.toString()); - expect(input_name2.toString()).assertEqual("data"); - let input_shape2 = modelInputs2[0].shape; - console.log(input_shape2.toString()); - expect(input_shape2.toString()).assertEqual("1,32,512,1"); - let input_elementNum2 = modelInputs2[0].elementNum; - console.log(input_elementNum2.toString()); - expect(input_elementNum2.toString()).assertEqual("16384"); - let input_dtype2 = modelInputs2[0].dtype; - console.log(input_dtype2.toString()); - expect(input_dtype2).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format2 = modelInputs2[0].format; - console.log(input_format2.toString()); - expect(input_format2).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize2 = modelInputs2[0].dataSize; - console.log(input_dataSize2.toString()); - expect(input_dataSize2.toString()).assertEqual("65536"); - modelInputs2[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs2).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,32,512,1"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("16384"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("65536"); + console.log('=========MSLITE resize start====='); + let new_dim = new Array([1, 32, 512, 1]); + let resize_result = msliteModel.resize(modelInputs, new_dim); + expect(resize_result).assertTrue(); + console.log('=========MSLITE resize success====='); + const modelInputs2 = msliteModel.getInputs(); + let input_name2 = modelInputs2[0].name; + console.log(input_name2.toString()); + expect(input_name2.toString()).assertEqual("data"); + let input_shape2 = modelInputs2[0].shape; + console.log(input_shape2.toString()); + expect(input_shape2.toString()).assertEqual("1,32,512,1"); + let input_elementNum2 = modelInputs2[0].elementNum; + console.log(input_elementNum2.toString()); + expect(input_elementNum2.toString()).assertEqual("16384"); + let input_dtype2 = modelInputs2[0].dtype; + console.log(input_dtype2.toString()); + expect(input_dtype2).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format2 = modelInputs2[0].format; + console.log(input_format2.toString()); + expect(input_format2).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize2 = modelInputs2[0].dataSize; + console.log(input_dataSize2.toString()); + expect(input_dataSize2.toString()).assertEqual("65536"); + modelInputs2[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs2); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -984,77 +877,69 @@ export default function abilityTest() { let inputName = 'ml_ocr_cn_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_ocr_cn.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await mindSporeLite.loadModelFromFile(model_file).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,32,512,1"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("16384"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("65536"); - console.log('=========MSLITE resize start====='); - let new_dim = new Array([1,64,256,1]); - let resize_result = msliteModel.resize(modelInputs, new_dim); - expect(resize_result).assertTrue(); - console.log('=========MSLITE resize success====='); - const modelInputs2 = msliteModel.getInputs(); - let input_name2 = modelInputs2[0].name; - console.log(input_name2.toString()); - expect(input_name2.toString()).assertEqual("data"); - let input_shape2 = modelInputs2[0].shape; - console.log(input_shape2.toString()); - expect(input_shape2.toString()).assertEqual("1,64,256,1"); - let input_elementNum2 = modelInputs2[0].elementNum; - console.log(input_elementNum2.toString()); - expect(input_elementNum2.toString()).assertEqual("16384"); - let input_dtype2 = modelInputs2[0].dtype; - console.log(input_dtype2.toString()); - expect(input_dtype2).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format2 = modelInputs2[0].format; - console.log(input_format2.toString()); - expect(input_format2).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize2 = modelInputs2[0].dataSize; - console.log(input_dataSize2.toString()); - expect(input_dataSize2.toString()).assertEqual("65536"); - modelInputs2[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs2).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,32,512,1"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("16384"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("65536"); + console.log('=========MSLITE resize start====='); + let new_dim = new Array([1,64,256,1]); + let resize_result = msliteModel.resize(modelInputs, new_dim); + expect(resize_result).assertTrue(); + console.log('=========MSLITE resize success====='); + const modelInputs2 = msliteModel.getInputs(); + let input_name2 = modelInputs2[0].name; + console.log(input_name2.toString()); + expect(input_name2.toString()).assertEqual("data"); + let input_shape2 = modelInputs2[0].shape; + console.log(input_shape2.toString()); + expect(input_shape2.toString()).assertEqual("1,64,256,1"); + let input_elementNum2 = modelInputs2[0].elementNum; + console.log(input_elementNum2.toString()); + expect(input_elementNum2.toString()).assertEqual("16384"); + let input_dtype2 = modelInputs2[0].dtype; + console.log(input_dtype2.toString()); + expect(input_dtype2).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format2 = modelInputs2[0].format; + console.log(input_format2.toString()); + expect(input_format2).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize2 = modelInputs2[0].dataSize; + console.log(input_dataSize2.toString()); + expect(input_dataSize2.toString()).assertEqual("65536"); + modelInputs2[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs2); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -1064,42 +949,35 @@ export default function abilityTest() { let inputName = 'ml_ocr_cn_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_ocr_cn.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await mindSporeLite.loadModelFromFile(model_file).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,32,512,1"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("16384"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("65536"); - console.log('=========MSLITE resize start====='); - let new_dim = new Array([1,32,1]); - let resize_result = msliteModel.resize(modelInputs, new_dim); - expect(resize_result).assertFalse; - console.log('=========MSLITE resize failed====='); - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,32,512,1"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("16384"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("65536"); + console.log('=========MSLITE resize start====='); + let new_dim = new Array([1,32,1]); + let resize_result = msliteModel.resize(modelInputs, new_dim); + expect(resize_result).assertFalse; + console.log('=========MSLITE resize failed====='); }) @@ -1109,40 +987,33 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await mindSporeLite.loadModelFromFile(model_file).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - console.log(modelInputs[0].shape.toString()); - expect(modelInputs[0].shape.toString()).assertEqual("1,48,48,3"); - console.log(modelInputs[0].elementNum.toString()); - expect(modelInputs[0].elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - console.log('=========MSLITE resize start====='); - let new_dim = new Array([1,96,96,1]); - let resize_result = msliteModel.resize(modelInputs, new_dim); - expect(resize_result).assertFalse(); - console.log('=========MSLITE resize failed====='); - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + console.log(modelInputs[0].shape.toString()); + expect(modelInputs[0].shape.toString()).assertEqual("1,48,48,3"); + console.log(modelInputs[0].elementNum.toString()); + expect(modelInputs[0].elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + console.log('=========MSLITE resize start====='); + let new_dim = new Array([1,96,96,1]); + let resize_result = msliteModel.resize(modelInputs, new_dim); + expect(resize_result).assertFalse(); + console.log('=========MSLITE resize failed====='); }) @@ -1152,42 +1023,35 @@ export default function abilityTest() { let inputName = 'ml_ocr_cn_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_ocr_cn.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await mindSporeLite.loadModelFromFile(model_file).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,32,512,1"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("16384"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("65536"); - console.log('=========MSLITE resize start====='); - let new_dim = new Array([1,-32,32,1]); - let resize_result = msliteModel.resize(modelInputs, new_dim); - expect(resize_result).assertFalse(); - console.log('=========MSLITE resize failed====='); - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,32,512,1"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("16384"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("65536"); + console.log('=========MSLITE resize start====='); + let new_dim = new Array([1,-32,32,1]); + let resize_result = msliteModel.resize(modelInputs, new_dim); + expect(resize_result).assertFalse(); + console.log('=========MSLITE resize failed====='); }) @@ -1197,62 +1061,53 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await mindSporeLite.loadModelFromFile(model_file).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - let num = 0; - for (var i = 0; i < 10; i++) { - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - console.log('=========MSLITE new Float32Array end====='); - console.log('=========i.toString()====='); - console.log(i.toString()); - ++num; - console.log('=========num.toString()====='); - console.log(num.toString()); - } - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let msliteModel = await mindSporeLite.loadModelFromFile(model_file); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let num = 0; + for (var i = 0; i < 10; i++) { + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var z = 0; z < 2; z++) { + console.log(output0[z].toString()); + expect(output0[z].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); + console.log('=========i.toString()====='); + console.log(i.toString()); + ++num; + console.log('=========num.toString()====='); + console.log(num.toString()); + } }) @@ -1262,56 +1117,48 @@ export default function abilityTest() { let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - for (var i = 0; i < 10; i++) { - mindSporeLite.loadModelFromFile(model_file); - } - await mindSporeLite.loadModelFromFile(model_file).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + for (var i = 0; i < 10; i++) { + mindSporeLite.loadModelFromFile(model_file); + } + let msliteModel = await mindSporeLite.loadModelFromFile(model_file); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -1321,58 +1168,48 @@ export default function abilityTest() { let modelName = 'ml_face_isface.ms'; let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await syscontext.resourceManager.getRawFileContent(modelName).then(async (model_buffer) => { - let modelBuffer = model_buffer; - await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - console.log(modelInputs[0].shape.toString()); - expect(modelInputs[0].shape.toString()).assertEqual("1,48,48,3"); - console.log(modelInputs[0].elementNum.toString()); - expect(modelInputs[0].elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - let Inputs2 = new Float32Array(modelInputs[0].getData()); - for (var i = 0; i < 5; i++) { - console.log(Inputs2[i].toString()); + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let modelBuffer = await syscontext.resourceManager.getRawFileContent(modelName); + let msliteModel = await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + console.log(modelInputs[0].shape.toString()); + expect(modelInputs[0].shape.toString()).assertEqual("1,48,48,3"); + console.log(modelInputs[0].elementNum.toString()); + expect(modelInputs[0].elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + let Inputs2 = new Float32Array(modelInputs[0].getData()); + for (var i = 0; i < 5; i++) { + console.log(Inputs2[i].toString()); - } - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) - }) + } + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -1383,76 +1220,62 @@ export default function abilityTest() { let inputName01 = 'ml_video_edit_face_cutout_portraitSeg_deconv_0.input'; let inputName02 = 'ml_video_edit_face_cutout_portraitSeg_deconv_1.input'; let syscontext = globalThis.context; - await syscontext.resourceManager.getRawFileContent(inputName01).then(async (buffer) => { - let inputBuffer01 = buffer; - await syscontext.resourceManager.getRawFileContent(inputName02).then(async (buffer) => { - let inputBuffer02 = buffer; - console.log('=========MSLITE success, input01 bin bytelength: ' + inputBuffer01.byteLength); - console.log('=========MSLITE success, input02 bin bytelength: ' + inputBuffer02.byteLength); - await syscontext.resourceManager.getRawFileContent(modelName).then(async (model_buffer) => { - let modelBuffer = model_buffer; - await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - console.log(modelInputs[0].name); - expect(modelInputs[0].name.toString()).assertEqual("a"); - console.log(modelInputs[0].shape.toString()); - expect(modelInputs[0].shape.toString()).assertEqual("1,512,512,3"); - console.log(modelInputs[0].elementNum.toString()); - expect(modelInputs[0].elementNum.toString()).assertEqual("786432"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("3145728"); - - console.log(modelInputs[1].name); - expect(modelInputs[1].name.toString()).assertEqual("b"); - console.log(modelInputs[1].shape.toString()); - expect(modelInputs[1].shape.toString()).assertEqual("1,512,512,1"); - console.log(modelInputs[1].elementNum.toString()); - expect(modelInputs[1].elementNum.toString()).assertEqual("262144"); - console.log(modelInputs[1].dtype.toString()); - expect(modelInputs[1].dtype.toString()).assertEqual("43"); - console.log(modelInputs[1].format.toString()); - expect(modelInputs[1].format.toString()).assertEqual("1"); - console.log(modelInputs[1].dataSize.toString()); - expect(modelInputs[1].dataSize.toString()).assertEqual("1048576"); - modelInputs[0].setData(inputBuffer01.buffer); - modelInputs[1].setData(inputBuffer02.buffer); - let Inputs2 = new Float32Array(modelInputs[0].getData()); - for (var i = 0; i < 5; i++) { - console.log(Inputs2[i].toString()); - } - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) - }) + let inputBuffer01 = await syscontext.resourceManager.getRawFileContent(inputName01); + let inputBuffer02 = await syscontext.resourceManager.getRawFileContent(inputName02); + console.log('=========MSLITE success, input01 bin bytelength: ' + inputBuffer01.byteLength); + console.log('=========MSLITE success, input02 bin bytelength: ' + inputBuffer02.byteLength); + let modelBuffer = await syscontext.resourceManager.getRawFileContent(modelName); + let msliteModel = await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + console.log(modelInputs[0].name); + expect(modelInputs[0].name.toString()).assertEqual("a"); + console.log(modelInputs[0].shape.toString()); + expect(modelInputs[0].shape.toString()).assertEqual("1,512,512,3"); + console.log(modelInputs[0].elementNum.toString()); + expect(modelInputs[0].elementNum.toString()).assertEqual("786432"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("3145728"); + + console.log(modelInputs[1].name); + expect(modelInputs[1].name.toString()).assertEqual("b"); + console.log(modelInputs[1].shape.toString()); + expect(modelInputs[1].shape.toString()).assertEqual("1,512,512,1"); + console.log(modelInputs[1].elementNum.toString()); + expect(modelInputs[1].elementNum.toString()).assertEqual("262144"); + console.log(modelInputs[1].dtype.toString()); + expect(modelInputs[1].dtype.toString()).assertEqual("43"); + console.log(modelInputs[1].format.toString()); + expect(modelInputs[1].format.toString()).assertEqual("1"); + console.log(modelInputs[1].dataSize.toString()); + expect(modelInputs[1].dataSize.toString()).assertEqual("1048576"); + modelInputs[0].setData(inputBuffer01.buffer); + modelInputs[1].setData(inputBuffer02.buffer); + let Inputs2 = new Float32Array(modelInputs[0].getData()); + for (var i = 0; i < 5; i++) { + console.log(Inputs2[i].toString()); + } + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -1463,53 +1286,43 @@ export default function abilityTest() { let modelName = 'aiy_vision_classifier_plants_V1_3.ms'; let inputName = 'aiy_vision_classifier_plants_V1_3_0.input'; let syscontext = globalThis.context; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await syscontext.resourceManager.getRawFileContent(modelName).then(async (model_buffer) => { - let modelBuffer = model_buffer; - await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - console.log(modelInputs[0].name); - expect(modelInputs[0].name.toString()).assertEqual("module/hub_input/images_uint8"); - console.log(modelInputs[0].shape.toString()); - expect(modelInputs[0].shape.toString()).assertEqual("1,224,224,3"); - console.log(modelInputs[0].elementNum.toString()); - expect(modelInputs[0].elementNum.toString()).assertEqual("150528"); - console.log(modelInputs[0].dtype.toString()); - expect(modelInputs[0].dtype.toString()).assertEqual("37"); - console.log(modelInputs[0].format.toString()); - expect(modelInputs[0].format.toString()).assertEqual("1"); - console.log(modelInputs[0].dataSize.toString()); - expect(modelInputs[0].dataSize.toString()).assertEqual("150528"); - modelInputs[0].setData(inputBuffer.buffer); - let Inputs2 = new Uint8Array(modelInputs[0].getData()); - for (var i = 0; i < 5; i++) { - console.log(Inputs2[i].toString()); - } - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Uint8Array(modelOutputs[0].getData()); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + let modelBuffer = await syscontext.resourceManager.getRawFileContent(modelName); + let msliteModel = await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + console.log(modelInputs[0].name); + expect(modelInputs[0].name.toString()).assertEqual("module/hub_input/images_uint8"); + console.log(modelInputs[0].shape.toString()); + expect(modelInputs[0].shape.toString()).assertEqual("1,224,224,3"); + console.log(modelInputs[0].elementNum.toString()); + expect(modelInputs[0].elementNum.toString()).assertEqual("150528"); + console.log(modelInputs[0].dtype.toString()); + expect(modelInputs[0].dtype.toString()).assertEqual("37"); + console.log(modelInputs[0].format.toString()); + expect(modelInputs[0].format.toString()).assertEqual("1"); + console.log(modelInputs[0].dataSize.toString()); + expect(modelInputs[0].dataSize.toString()).assertEqual("150528"); + modelInputs[0].setData(inputBuffer.buffer); + let Inputs2 = new Uint8Array(modelInputs[0].getData()); + for (var i = 0; i < 5; i++) { + console.log(Inputs2[i].toString()); + } + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Uint8Array(modelOutputs[0].getData()); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) @@ -1521,187 +1334,240 @@ export default function abilityTest() { let inputName02 = 'ml_headpose_pb2tflite_1.input'; let inputName03 = 'ml_headpose_pb2tflite_2.input'; let syscontext = globalThis.context - await syscontext.resourceManager.getRawFileContent(inputName01).then(async (buffer) => { - let inputBuffer01 = buffer; - await syscontext.resourceManager.getRawFileContent(inputName02).then(async (buffer) => { - let inputBuffer02 = buffer; - await syscontext.resourceManager.getRawFileContent(inputName03).then(async (buffer) => { - let inputBuffer03 = buffer; - console.log('=========MSLITE success, input01 bin bytelength: ' + inputBuffer01.byteLength); - console.log('=========MSLITE success, input02 bin bytelength: ' + inputBuffer02.byteLength); - console.log('=========MSLITE success, input03 bin bytelength: ' + inputBuffer03.byteLength); - await syscontext.resourceManager.getRawFileContent(modelName).then(async (model_buffer) => { - let modelBuffer = model_buffer; - await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer).then(async (msliteModel) => { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - console.log(modelInputs[0].name); - expect(modelInputs[0].name.toString()).assertEqual("input_1"); - console.log(modelInputs[0].shape.toString()); - expect(modelInputs[0].shape.toString()).assertEqual("1,64,64,3"); - console.log(modelInputs[0].elementNum.toString()); - expect(modelInputs[0].elementNum.toString()).assertEqual("12288"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("49152"); - - console.log(modelInputs[1].name); - expect(modelInputs[1].name.toString()).assertEqual("batch_normalization_8/batchnorm/add"); - console.log(modelInputs[1].shape.toString()); - expect(modelInputs[1].shape.toString()).assertEqual("16"); - console.log(modelInputs[1].elementNum.toString()); - expect(modelInputs[1].elementNum.toString()).assertEqual("16"); - console.log(modelInputs[1].dtype.toString()); - expect(modelInputs[1].dtype.toString()).assertEqual("43"); - console.log(modelInputs[1].format.toString()); - expect(modelInputs[1].format.toString()).assertEqual("1"); - console.log(modelInputs[1].dataSize.toString()); - expect(modelInputs[1].dataSize.toString()).assertEqual("64"); - - console.log(modelInputs[2].name); - expect(modelInputs[2].name.toString()).assertEqual("batch_normalization_1/batchnorm/add"); - console.log(modelInputs[2].shape.toString()); - expect(modelInputs[2].shape.toString()).assertEqual("16"); - console.log(modelInputs[2].elementNum.toString()); - expect(modelInputs[2].elementNum.toString()).assertEqual("16"); - console.log(modelInputs[2].dtype.toString()); - expect(modelInputs[2].dtype.toString()).assertEqual("43"); - console.log(modelInputs[2].format.toString()); - expect(modelInputs[2].format.toString()).assertEqual("1"); - console.log(modelInputs[2].dataSize.toString()); - expect(modelInputs[2].dataSize.toString()).assertEqual("64"); - modelInputs[0].setData(inputBuffer01.buffer); - modelInputs[1].setData(inputBuffer02.buffer); - modelInputs[2].setData(inputBuffer03.buffer); - let Inputs2 = new Float32Array(modelInputs[0].getData()); - for (var i = 0; i < 5; i++) { - console.log(Inputs2[i].toString()); - } - console.log('=========MSLITE predict start====='); - await msliteModel.predict(modelInputs).then((modelOutputs) => { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - }).catch(err => { - console.log("predict catch: ", err); - }) - }).catch(err => { - console.log("loadModel catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - }) - }) + let inputBuffer01 = await syscontext.resourceManager.getRawFileContent(inputName01); + let inputBuffer02 = await syscontext.resourceManager.getRawFileContent(inputName02); + let inputBuffer03 = await syscontext.resourceManager.getRawFileContent(inputName03); + console.log('=========MSLITE success, input01 bin bytelength: ' + inputBuffer01.byteLength); + console.log('=========MSLITE success, input02 bin bytelength: ' + inputBuffer02.byteLength); + console.log('=========MSLITE success, input03 bin bytelength: ' + inputBuffer03.byteLength); + let modelBuffer = await syscontext.resourceManager.getRawFileContent(modelName); + let msliteModel = await mindSporeLite.loadModelFromBuffer(modelBuffer.buffer); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + console.log(modelInputs[0].name); + expect(modelInputs[0].name.toString()).assertEqual("input_1"); + console.log(modelInputs[0].shape.toString()); + expect(modelInputs[0].shape.toString()).assertEqual("1,64,64,3"); + console.log(modelInputs[0].elementNum.toString()); + expect(modelInputs[0].elementNum.toString()).assertEqual("12288"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("49152"); + + console.log(modelInputs[1].name); + expect(modelInputs[1].name.toString()).assertEqual("batch_normalization_8/batchnorm/add"); + console.log(modelInputs[1].shape.toString()); + expect(modelInputs[1].shape.toString()).assertEqual("16"); + console.log(modelInputs[1].elementNum.toString()); + expect(modelInputs[1].elementNum.toString()).assertEqual("16"); + console.log(modelInputs[1].dtype.toString()); + expect(modelInputs[1].dtype.toString()).assertEqual("43"); + console.log(modelInputs[1].format.toString()); + expect(modelInputs[1].format.toString()).assertEqual("1"); + console.log(modelInputs[1].dataSize.toString()); + expect(modelInputs[1].dataSize.toString()).assertEqual("64"); + + console.log(modelInputs[2].name); + expect(modelInputs[2].name.toString()).assertEqual("batch_normalization_1/batchnorm/add"); + console.log(modelInputs[2].shape.toString()); + expect(modelInputs[2].shape.toString()).assertEqual("16"); + console.log(modelInputs[2].elementNum.toString()); + expect(modelInputs[2].elementNum.toString()).assertEqual("16"); + console.log(modelInputs[2].dtype.toString()); + expect(modelInputs[2].dtype.toString()).assertEqual("43"); + console.log(modelInputs[2].format.toString()); + expect(modelInputs[2].format.toString()).assertEqual("1"); + console.log(modelInputs[2].dataSize.toString()); + expect(modelInputs[2].dataSize.toString()).assertEqual("64"); + modelInputs[0].setData(inputBuffer01.buffer); + modelInputs[1].setData(inputBuffer02.buffer); + modelInputs[2].setData(inputBuffer03.buffer); + let Inputs2 = new Float32Array(modelInputs[0].getData()); + for (var i = 0; i < 5; i++) { + console.log(Inputs2[i].toString()); + } + console.log('=========MSLITE predict start====='); + let modelOutputs = await msliteModel.predict(modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); }) // 正常场景:调用loadModelFromFile callback接口设置context it('Test_load_model_param_model_path_callback', 0, async function (done) { console.log("MSLITE api test: loadModel param model file.Test_load_model_param_model_path_callback"); - let inputName = 'ml_face_isface_0.input'; - let syscontext = globalThis.context; - let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu = { - "threadNum": 4, - } - context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; - context.cpu.precisionMode = "preferred_fp16"; - context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; - console.log('=========MSLITE loadModel start====='); - - mindSporeLite.loadModelFromFile(model_file, context, (msliteModel) => { - try { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - msliteModel.predict(modelInputs, (modelOutputs) => { - try { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - done(); - } catch (error) { - console.info("predict catch: " + error); - done(); - } - }) - for (var j = 0; j < 10000; j++){ - console.log("wait predict end:" + j.toString()); - } - } catch (error) { - console.info("loadModel catch: " + error); - done(); + function load_model_from_file() { + return new Promise((resolve) => { + let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; + let context: mindSporeLite.Context = {}; + context.target = ["cpu"]; + context.cpu = { + "threadNum": 4, } + context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; + context.cpu.precisionMode = "preferred_fp16"; + context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; + mindSporeLite.loadModelFromFile(model_file, context, (msliteModel) => { + resolve(msliteModel); + }) + }) + } + function case_predict(msliteModel, modelInputs) { + return new Promise((resolve) => { + msliteModel.predict(modelInputs, (modelOutputs) => { + resolve(modelOutputs); + }) }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - done(); - }) + } + + let inputName = 'ml_face_isface_0.input'; + let syscontext = globalThis.context; + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + console.log('=========MSLITE loadModel start====='); + let msliteModel = null; + msliteModel = await load_model_from_file(); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await case_predict(msliteModel, modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); + done(); }) // 正常场景:调用loadModelFromBuffer callback接口设置context it('Test_load_model_param_model_buffer_callback', 0, async function (done) { console.log("MSLITE api test: loadModel param model file.Test_load_model_param_model_buffer_callback"); + function load_model_from_buffer() { + return new Promise((resolve) => { + let modelName = 'ml_face_isface.ms'; + syscontext.resourceManager.getRawFileContent(modelName).then((model_buffer) => { + let modelBuffer = model_buffer + let context: mindSporeLite.Context = {}; + context.target = ["cpu"]; + context.cpu = { + "threadNum": 4, + } + context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; + context.cpu.precisionMode = "preferred_fp16"; + context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; + mindSporeLite.loadModelFromBuffer(modelBuffer.buffer, context, (msliteModel) => { + resolve(msliteModel); + }) + }) + }) + } + function case_predict(msliteModel, modelInputs) { + return new Promise((resolve) => { + msliteModel.predict(modelInputs, (modelOutputs) => { + resolve(modelOutputs); + }) + }) + } let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; - let modelName = 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await syscontext.resourceManager.getRawFileContent(modelName).then(async (model_buffer) => { - let modelBuffer = model_buffer; + + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + + console.log('=========MSLITE loadModel start====='); + let msliteModel = null; + msliteModel = await load_model_from_buffer(); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await case_predict(msliteModel, modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); + done(); + }) + + + // 正常场景:调用loadModelFromFd callback接口设置context + it('Test_load_model_param_model_fd_callback', 0, async function (done) { + console.log("MSLITE api test: loadModel param model file.Test_load_model_param_model_fd_callback"); + function load_model_from_fd() { + return new Promise((resolve) => { + let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; + let file = fs.openSync(model_file, fs.OpenMode.READ_ONLY); let context:mindSporeLite.Context={}; context.target = ["cpu"]; context.cpu = { @@ -1710,357 +1576,262 @@ export default function abilityTest() { context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; context.cpu.precisionMode = "preferred_fp16"; context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; - console.log('=========MSLITE loadModel start====='); - - mindSporeLite.loadModelFromBuffer(modelBuffer.buffer, context, (msliteModel) => { - try { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - msliteModel.predict(modelInputs, (modelOutputs) => { - try { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - done(); - } catch (error) { - console.info("predict catch: " + error); - done(); - } - }) - for (var j = 0; j < 10000; j++){ - console.log("wait predict end:" + j.toString()); - } - } catch (error) { - console.info("loadModel catch: " + error); - done(); - } + mindSporeLite.loadModelFromFd(file.fd, context, (msliteModel) => { + resolve(msliteModel); }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - done(); }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - done(); - }) - }) - - - // 正常场景:调用loadModelFromFd callback接口设置context - it('Test_load_model_param_model_fd_callback', 0, async function (done) { - console.log("MSLITE api test: loadModel param model file.Test_load_model_param_model_fd_callback"); + } + function case_predict(msliteModel, modelInputs) { + return new Promise((resolve) => { + msliteModel.predict(modelInputs, (modelOutputs) => { + resolve(modelOutputs); + }) + }) + } let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; - let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let file = fs.openSync(model_file, fs.OpenMode.READ_ONLY); - let context:mindSporeLite.Context={}; - context.target = ["cpu"]; - context.cpu = { - "threadNum": 4, - } - context.cpu.threadAffinityMode = mindSporeLite.ThreadAffinityMode.BIG_CORES_FIRST; - context.cpu.precisionMode = "preferred_fp16"; - context.cpu.threadAffinityCoreList = [0, 1, 2, 3]; - console.log('=========MSLITE loadModel start====='); - - mindSporeLite.loadModelFromFd(file.fd, context, (msliteModel) => { - try { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - msliteModel.predict(modelInputs, (modelOutputs) => { - try { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - done(); - } catch (error) { - console.info("predict catch: " + error); - done(); - } - }) - for (var j = 0; j < 10000; j++){ - console.log("wait predict end:" + j.toString()); - } - } catch (error) { - console.info("loadModel catch: " + error); - done(); - } - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - done(); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + + console.log('=========MSLITE loadModel start====='); + let msliteModel = null; + msliteModel = await load_model_from_fd(); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await case_predict(msliteModel, modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); + done(); }) // 正常场景:调用loadModelFromFile callback接口未设置context it('Test_load_model_param_model_path_callback_no_context', 0, async function (done) { console.log("MSLITE api test: loadModel param model file.Test_load_model_param_model_path_callback_no_context"); + function load_model_from_file() { + return new Promise((resolve) => { + let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; + mindSporeLite.loadModelFromFile(model_file, (msliteModel) => { + resolve(msliteModel); + }) + }) + } + function case_predict(msliteModel, modelInputs) { + return new Promise((resolve) => { + msliteModel.predict(modelInputs, (modelOutputs) => { + resolve(modelOutputs); + }) + }) + } let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; - let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - console.log('=========MSLITE loadModel start====='); - - mindSporeLite.loadModelFromFile(model_file, (msliteModel) => { - try { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - msliteModel.predict(modelInputs, (modelOutputs) => { - try { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - done(); - } catch (error) { - console.info("predict catch: " + error); - done(); - } - }) - for (var j = 0; j < 10000; j++){ - console.log("wait predict end:" + j.toString()); - } - } catch (error) { - console.info("loadModel catch: " + error); - done(); - } - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - done(); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + console.log('=========MSLITE loadModel start====='); + let msliteModel = null; + msliteModel = await load_model_from_file(); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await case_predict(msliteModel, modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); + done(); }) // 正常场景:调用loadModelFromBuffer callback接口未设置context it('Test_load_model_param_model_buffer_callback_no_context', 0, async function (done) { console.log("MSLITE api test: loadModel param model file.Test_load_model_param_model_buffer_callback_no_context"); - let inputName = 'ml_face_isface_0.input'; - let syscontext = globalThis.context; - let modelName = 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - await syscontext.resourceManager.getRawFileContent(modelName).then(async (model_buffer) => { - let modelBuffer = model_buffer; - console.log('=========MSLITE loadModel start====='); - mindSporeLite.loadModelFromBuffer(modelBuffer.buffer, (msliteModel) => { - try { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3") - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - msliteModel.predict(modelInputs, (modelOutputs) => { - try { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - done(); - } catch (error) { - console.info("predict catch: " + error); - done(); - } - }) - for (var j = 0; j < 10000; j++){ - console.log("wait predict end:" + j.toString()); - } - } catch (error) { - console.info("loadModel catch: " + error); - done(); - } + function load_model_from_buffer() { + return new Promise((resolve) => { + let modelName = 'ml_face_isface.ms'; + syscontext.resourceManager.getRawFileContent(modelName).then((model_buffer) => { + let modelBuffer = model_buffer + mindSporeLite.loadModelFromBuffer(modelBuffer.buffer, (msliteModel) => { + resolve(msliteModel); + }) + }) + }) + } + function case_predict(msliteModel, modelInputs) { + return new Promise((resolve) => { + msliteModel.predict(modelInputs, (modelOutputs) => { + resolve(modelOutputs); }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - done(); }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - done(); - }) + } + let inputName = 'ml_face_isface_0.input'; + let syscontext = globalThis.context; + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + console.log('=========MSLITE loadModel start====='); + let msliteModel = null; + msliteModel = await load_model_from_buffer(); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3") + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await case_predict(msliteModel, modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); + done(); }) // 正常场景:调用loadModelFromFd callback接口未设置context it('Test_load_model_param_model_fd_callback_no_context', 0, async function (done) { console.log("MSLITE api test: loadModel param model file.Test_load_model_param_model_fd_callback_no_context"); + function load_model_from_fd() { + return new Promise((resolve) => { + let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; + let file = fs.openSync(model_file, fs.OpenMode.READ_ONLY); + mindSporeLite.loadModelFromFd(file.fd, (msliteModel) => { + resolve(msliteModel); + }) + }) + } + function case_predict(msliteModel, modelInputs) { + return new Promise((resolve) => { + msliteModel.predict(modelInputs, (modelOutputs) => { + resolve(modelOutputs); + }) + }) + } let inputName = 'ml_face_isface_0.input'; let syscontext = globalThis.context; - let model_file = globalThis.abilityContext.filesDir + '/' + 'ml_face_isface.ms'; - await syscontext.resourceManager.getRawFileContent(inputName).then(async (buffer) => { - let inputBuffer = buffer; - console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); - let file = fs.openSync(model_file, fs.OpenMode.READ_ONLY); - console.log('=========MSLITE loadModel start====='); - mindSporeLite.loadModelFromFd(file.fd, (msliteModel) => { - try { - expect(msliteModel !== null).assertTrue(); - console.log('=========MSLITE loadModel end====='); - const modelInputs = msliteModel.getInputs(); - let input_name = modelInputs[0].name; - console.log(input_name.toString()); - expect(input_name.toString()).assertEqual("data"); - let input_shape = modelInputs[0].shape; - console.log(input_shape.toString()); - expect(input_shape.toString()).assertEqual("1,48,48,3"); - let input_elementNum = modelInputs[0].elementNum; - console.log(input_elementNum.toString()); - expect(input_elementNum.toString()).assertEqual("6912"); - let input_dtype = modelInputs[0].dtype; - console.log(input_dtype.toString()); - expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); - let input_format = modelInputs[0].format; - console.log(input_format.toString()); - expect(input_format).assertEqual(mindSporeLite.Format.NHWC); - let input_dataSize = modelInputs[0].dataSize; - console.log(input_dataSize.toString()); - expect(input_dataSize.toString()).assertEqual("27648"); - modelInputs[0].setData(inputBuffer.buffer); - console.log('=========MSLITE predict start====='); - msliteModel.predict(modelInputs, (modelOutputs) => { - try { - expect(modelOutputs !== null).assertTrue(); - console.log('=========MSLITE new Float32Array start====='); - let output0 = new Float32Array(modelOutputs[0].getData()); - expect(output0.length).assertLarger(0); - console.log('output0.length:' + output0.length); - for (var i = 0; i < 2; i++) { - console.log(output0[i].toString()); - expect(output0[i].toString() !== null).assertTrue(); - } - console.log('=========MSLITE new Float32Array end====='); - done(); - } catch (error) { - console.info("predict catch: " + error); - done(); - } - }) - for (var j = 0; j < 10000; j++){ - console.log("wait predict end:" + j.toString()); - } - } catch (error) { - console.info("loadModel catch: " + error); - done(); - } - }) - }).catch(err => { - console.log("getRawFileContent catch: ", err); - done(); - }) + let inputBuffer = await syscontext.resourceManager.getRawFileContent(inputName); + console.log('=========MSLITE success, input bin bytelength: ' + inputBuffer.byteLength); + console.log('=========MSLITE loadModel start====='); + let msliteModel = null; + msliteModel = await load_model_from_fd(); + expect(msliteModel !== null).assertTrue(); + console.log('=========MSLITE loadModel end====='); + const modelInputs = msliteModel.getInputs(); + let input_name = modelInputs[0].name; + console.log(input_name.toString()); + expect(input_name.toString()).assertEqual("data"); + let input_shape = modelInputs[0].shape; + console.log(input_shape.toString()); + expect(input_shape.toString()).assertEqual("1,48,48,3"); + let input_elementNum = modelInputs[0].elementNum; + console.log(input_elementNum.toString()); + expect(input_elementNum.toString()).assertEqual("6912"); + let input_dtype = modelInputs[0].dtype; + console.log(input_dtype.toString()); + expect(input_dtype).assertEqual(mindSporeLite.DataType.NUMBER_TYPE_FLOAT32); + let input_format = modelInputs[0].format; + console.log(input_format.toString()); + expect(input_format).assertEqual(mindSporeLite.Format.NHWC); + let input_dataSize = modelInputs[0].dataSize; + console.log(input_dataSize.toString()); + expect(input_dataSize.toString()).assertEqual("27648"); + modelInputs[0].setData(inputBuffer.buffer); + console.log('=========MSLITE predict start====='); + let modelOutputs = await case_predict(msliteModel, modelInputs); + expect(modelOutputs !== null).assertTrue(); + console.log('=========MSLITE new Float32Array start====='); + let output0 = new Float32Array(modelOutputs[0].getData()); + expect(output0.length).assertLarger(0); + console.log('output0.length:' + output0.length); + for (var i = 0; i < 2; i++) { + console.log(output0[i].toString()); + expect(output0[i].toString() !== null).assertTrue(); + } + const modelInputs0 = msliteModel.getInputs(); + console.log(modelInputs0[0].name.toString()); + console.log('=========MSLITE new Float32Array end====='); + done(); }) // 正常场景:头文件枚举值测试 diff --git a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/aiy_vision_classifier_plants_V1_3_0.input b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/aiy_vision_classifier_plants_V1_3_0.input index 0d1a14831d740674712d2b4fecec491539391fd6..fdf94052f8c78706b927f8470154280a04f91f47 100644 Binary files a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/aiy_vision_classifier_plants_V1_3_0.input and b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/aiy_vision_classifier_plants_V1_3_0.input differ diff --git a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_face_isface.ms b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_face_isface.ms index 10d1604774c8cd7ede6ea4c2ecf850de544563a0..74a2fedd164c605ec478e4b9f4514d6f4e5b6211 100644 Binary files a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_face_isface.ms and b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_face_isface.ms differ diff --git a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_face_isface_0.input b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_face_isface_0.input index 2fd5bc3c13d662689d39f69559ce897875123572..aa0801c5383a77cbcc606e99996d13a76bd5feef 100644 Binary files a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_face_isface_0.input and b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_face_isface_0.input differ diff --git a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_headpose_pb2tflite.ms b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_headpose_pb2tflite.ms index 59e88aa5f27f6d3d649ba2b8ff7293f7c230d296..60b711e08687e1b851992c5a45b903aabe4c32bb 100644 Binary files a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_headpose_pb2tflite.ms and b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_headpose_pb2tflite.ms differ diff --git a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_headpose_pb2tflite_0.input b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_headpose_pb2tflite_0.input index 7901c1e7324237b186d81a5303ac2c46a07235b5..8998cfa06fa0f59729361e89338bbe603e5501f5 100644 Binary files a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_headpose_pb2tflite_0.input and b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_headpose_pb2tflite_0.input differ diff --git a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_ocr_cn_0.input b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_ocr_cn_0.input index f6e3b35ff5daefb541e46bb9ee88db0e224bc529..e2f8b3f635070ce832dbef611817c2280fa76f12 100644 Binary files a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_ocr_cn_0.input and b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_ocr_cn_0.input differ diff --git a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_video_edit_face_cutout_portraitSeg_deconv.ms b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_video_edit_face_cutout_portraitSeg_deconv.ms index 1b23cfd68940dc030302e9ce59abb33c0da9aca8..96568d89a75e3805e017e08e194c9482e894deec 100644 Binary files a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_video_edit_face_cutout_portraitSeg_deconv.ms and b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_video_edit_face_cutout_portraitSeg_deconv.ms differ diff --git a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_video_edit_face_cutout_portraitSeg_deconv_0.input b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_video_edit_face_cutout_portraitSeg_deconv_0.input index 58867a8bc6140fc47044c083c30859b7fdcea365..c5eb53af5ddaaac40870240ba36bb5b1a74789b7 100644 Binary files a/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_video_edit_face_cutout_portraitSeg_deconv_0.input and b/ai/mindspore/mindsporejstest/src/main/resources/rawfile/ml_video_edit_face_cutout_portraitSeg_deconv_0.input differ