项目简介
LWNN(Lightweight Neural Network)是一个轻量级神经网络开源工具集,致力于为边缘AI领域贡献力量。该项目受NNOM、CMSIS - NN等启发,结合对OpenCL的研究,打造了适用于PC、移动设备和MCU等多种设备的轻量级神经网络。它支持多种深度学习框架模型的转换,可在CPU和OpenCL环境下运行,还具备模型量化、构建、优化等功能。
项目的主要特性和功能
- 多框架支持:可将Keras、Caffe、TensorFlow、OpenVINO等多种深度学习框架的模型转换为LWNN模型,也能把LWNN模型转换为ONNX模型,方便在不同框架间迁移。
- 模型处理:提供模型构建和优化功能,支持模型量化处理,提升在资源有限设备上的运行效率。
- 多平台实现:提供CPU和OpenCL环境下的模型实现,满足不同计算需求。
- 工具丰富:提供验证模型输出、比较不同模型输出差异、生成模型输入数据、加载和管理模型输入数据等工具。
- 支持多种著名模型:支持MobileNet - SSD、YOLOv3、ENET、DeepSpeech、Mask - RCNN等著名模型。
安装使用步骤
准备环境
sh
conda create -n lwnn python=3.6
source activate lwnn
conda install scons
pip install tensorflow keras keras2onnx onnxruntime
sudo apt install nvidia-opencl-dev
构建项目
sh
scons
运行模型示例
sh
lwnn_gtest --gtest_filter=*CL*SSDFloat -i images/dog.jpg
lwnn_gtest --gtest_filter=*CPU*SSDFloat -i images/dog.jpg
lwnn_gtest --gtest_filter=*CL*YOLOV3Float -i images/dog.jpg
lwnn_gtest --gtest_filter=*CPU*YOLOV3Float -i images/dog.jpg
lwnn_gtest --gtest_filter=*CPU*MASKRCNNFloat -i images/dog.jpg
lwnn_gtest --gtest_filter=*CL*ENETFloat -i ENet/example_image/munich_000000_000019_leftImg8bit.png
lwnn_gtest --gtest_filter=*CPU*ENETFloat -i ENet/example_image/munich_000000_000019_leftImg8bit.png
lwnn_gtest --gtest_filter=*CPU*DSFloat -i speech_dataset/bird/042ea76c_nohash_0.wav
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】