From 26bf044dde32bc6bedd7a65162022ead226bf472 Mon Sep 17 00:00:00 2001 From: meng_chunyang Date: Mon, 31 Aug 2020 14:37:34 +0800 Subject: [PATCH] update RELEASE --- RELEASE.md | 2 +- docs/MindSpore-Lite-architecture.png | Bin 0 -> 55828 bytes mindspore/lite/README.md | 26 +++++++++++++------------- mindspore/lite/README_CN.md | 26 +++++++++++++------------- 4 files changed, 27 insertions(+), 27 deletions(-) create mode 100644 docs/MindSpore-Lite-architecture.png diff --git a/RELEASE.md b/RELEASE.md index ee54c5658b..1311848155 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -70,7 +70,7 @@ * add optimized convolution1X1/3X3/depthwise/convolution_transposed for OpenCL. * Tool & example * Add benchmark and TimeProfile tools. - * Add image classification and object detection Android Demo. + * Add image classification Android Demo. ## Bugfixes * Models diff --git a/docs/MindSpore-Lite-architecture.png b/docs/MindSpore-Lite-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..abf28796690f5649f8bc92382dfd4c2c83187620 GIT binary patch literal 55828 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 literal 0 HcmV?d00001 diff --git a/mindspore/lite/README.md b/mindspore/lite/README.md index cd78ec4338..e61aeb7a90 100644 --- a/mindspore/lite/README.md +++ b/mindspore/lite/README.md @@ -6,7 +6,7 @@ MindSpore lite is a high-performance, lightweight open source reasoning framewor MindSpore Lite Architecture -For more details please check out our [MindSpore Lite Architecture Guide](https://www.mindspore.cn/lite/docs/en/master/architecture.html). +For more details please check out our [MindSpore Lite Architecture Guide](https://www.mindspore.cn/lite/docs/en/r0.7/architecture.html). ### MindSpore Lite features @@ -35,13 +35,13 @@ For more details please check out our [MindSpore Lite Architecture Guide](https: The MindSpore team provides a series of pre-training models used for image classification, object detection. You can use these pre-trained models in your application. - The pre-trained models provided by MindSpore include: [Image Classification](https://download.mindspore.cn/model_zoo/official/lite/) and [Object Detection](https://download.mindspore.cn/model_zoo/official/lite/). More models will be provided in the feature. + The pre-trained model provided by MindSpore: [Image Classification](https://download.mindspore.cn/model_zoo/official/lite/). More models will be provided in the feature. MindSpore allows you to retrain pre-trained models to perform other tasks. For example: using a pre-trained image classification model, it can be retrained to recognize new image types. 2. Model converter and optimization - If you use MindSpore or a third-party model, you need to use [MindSpore Lite Model Converter Tool](https://www.mindspore.cn/lite/tutorial/en/master/use/converter_tool.html) to convert the model into MindSpore Lite model. The MindSpore Lite model converter tool provides the converter of TensorFlow Lite, Caffe, ONNX to MindSpore Lite model, fusion and quantization could be introduced during convert procedure. + If you use MindSpore or a third-party model, you need to use [MindSpore Lite Model Converter Tool](https://www.mindspore.cn/lite/tutorial/en/r0.7/use/converter_tool.html) to convert the model into MindSpore Lite model. The MindSpore Lite model converter tool provides the converter of TensorFlow Lite, Caffe, ONNX to MindSpore Lite model, fusion and quantization could be introduced during convert procedure. MindSpore also provides a tool to convert models running on IoT devices . @@ -51,17 +51,17 @@ For more details please check out our [MindSpore Lite Architecture Guide](https: 4. Inference - Load the model and perform inference. [Inference](https://www.mindspore.cn/lite/tutorial/en/master/use/runtime.html) is the process of running input data through the model to get output. + Load the model and perform inference. [Inference](https://www.mindspore.cn/lite/tutorial/en/r0.7/use/runtime.html) is the process of running input data through the model to get output. - MindSpore provides a series of pre-trained models that can be deployed on mobile device [example](#TODO). + MindSpore provides pre-trained model that can be deployed on mobile device [example](https://www.mindspore.cn/lite/examples/en). ## MindSpore Lite benchmark test result Base on MindSpore r0.7, we test a couple of networks on HUAWEI Mate30 (Hisilicon Kirin990) mobile phone, and get the test results below for your reference. - - | NetWork | Thread Number | Average Run Time(ms) | - | ------------------- | ------------- | -------------------- | - | basic_squeezenet | 4 | 9.10 | - | inception_v3 | 4 | 69.361 | - | mobilenet_v1_10_224 | 4 | 7.137 | - | mobilenet_v2_10_224 | 4 | 5.569 | - | resnet_v2_50 | 4 | 48.691 | + +| NetWork | Thread Number | Average Run Time(ms) | +| ------------------- | ------------- | -------------------- | +| basic_squeezenet | 4 | 9.10 | +| inception_v3 | 4 | 69.361 | +| mobilenet_v1_10_224 | 4 | 7.137 | +| mobilenet_v2_10_224 | 4 | 5.569 | +| resnet_v2_50 | 4 | 48.691 | diff --git a/mindspore/lite/README_CN.md b/mindspore/lite/README_CN.md index 30474c1186..1fe710672c 100644 --- a/mindspore/lite/README_CN.md +++ b/mindspore/lite/README_CN.md @@ -9,7 +9,7 @@ MindSpore Lite是MindSpore推出的端云协同的、轻量化、高性能AI推 MindSpore Lite Architecture -欲了解更多详情,请查看我们的[MindSpore Lite 总体架构](https://www.mindspore.cn/lite/docs/zh-CN/master/architecture.html)。 +欲了解更多详情,请查看我们的[MindSpore Lite 总体架构](https://www.mindspore.cn/lite/docs/zh-CN/r0.7/architecture.html)。 ## MindSpore Lite技术特点 @@ -43,13 +43,13 @@ MindSpore Lite是MindSpore推出的端云协同的、轻量化、高性能AI推 MindSpore团队提供了一系列预训练模型,用于解决图像分类、目标检测等场景的学习问题。可以在您的应用程序中使用这些预训练模型对应的终端模型。 - MindSpore提供的预训练模型包括:[图像分类(Image Classification)](https://download.mindspore.cn/model_zoo/official/lite/)和[目标检测(Object Detection)](https://download.mindspore.cn/model_zoo/official/lite/)。后续MindSpore团队会增加更多的预置模型。 + MindSpore提供的预训练模型:[图像分类(Image Classification)](https://download.mindspore.cn/model_zoo/official/lite/)。后续MindSpore团队会增加更多的预置模型。 MindSpore允许您重新训练预训练模型,以执行其他任务。比如:使用预训练的图像分类模型,可以重新训练来识别新的图像类型。 2. 模型转换/优化 - 如果您使用MindSpore或第三方训练的模型,需要使用[MindSpore Lite模型转换工具](https://www.mindspore.cn/lite/tutorial/zh-CN/master/use/converter_tool.html)转换成MindSpore Lite模型格式。MindSpore Lite模型转换工具不仅提供了将TensorFlow Lite、Caffe、ONNX等模型格式转换为MindSpore Lite模型格式,还提供了算子融合、量化等功能。 + 如果您使用MindSpore或第三方训练的模型,需要使用[MindSpore Lite模型转换工具](https://www.mindspore.cn/lite/tutorial/zh-CN/r0.7/use/converter_tool.html)转换成MindSpore Lite模型格式。MindSpore Lite模型转换工具不仅提供了将TensorFlow Lite、Caffe、ONNX等模型格式转换为MindSpore Lite模型格式,还提供了算子融合、量化等功能。 MindSpore还提供了将IoT设备上运行的模型转换成.C代码的生成工具。 @@ -61,17 +61,17 @@ MindSpore Lite是MindSpore推出的端云协同的、轻量化、高性能AI推 4. 模型推理 - 主要完成模型推理工作,即加载模型,完成模型相关的所有计算。[推理](https://www.mindspore.cn/lite/tutorial/zh-CN/master/use/runtime.html)是通过模型运行输入数据,获取预测的过程。 + 主要完成模型推理工作,即加载模型,完成模型相关的所有计算。[推理](https://www.mindspore.cn/lite/tutorial/zh-CN/r0.7/use/runtime.html)是通过模型运行输入数据,获取预测的过程。 - MindSpore提供了一系列预训练模型部署在智能终端的[样例](#TODO)。 + MindSpore提供了预训练模型部署在智能终端的[样例](https://www.mindspore.cn/lite/examples)。 ## MindSpore Lite性能参考数据 我们在HUAWEI Mate30(Hisilicon Kirin990)手机上,基于MindSpore r0.7,测试了一组端侧常见网络的性能数据,供您参考: - - | 网络 | 线程数 | 平均推理时间(毫秒) | - | ------------------- | ------ | ------------------ | - | basic_squeezenet | 4 | 9.10 | - | inception_v3 | 4 | 69.361 | - | mobilenet_v1_10_224 | 4 | 7.137 | - | mobilenet_v2_10_224 | 4 | 5.569 | - | resnet_v2_50 | 4 | 48.691 | + +| 网络 | 线程数 | 平均推理时间(毫秒) | +| ------------------- | ------ | ------------------ | +| basic_squeezenet | 4 | 9.10 | +| inception_v3 | 4 | 69.361 | +| mobilenet_v1_10_224 | 4 | 7.137 | +| mobilenet_v2_10_224 | 4 | 5.569 | +| resnet_v2_50 | 4 | 48.691 |