<div align="center">
<img src="images/cnet.png" width="150" alt="cnet" />
</div>
# CNET
CNET 是一个C99开发的的面向iot设备设计的深度学习推理库,实现深度学习算法在iot设备上的快速部署。
## 1 主要特点
- 极简,高效的内存管理,清晰的架构设计
- 扩展,模块化设计,轻松完成裁剪和扩展
- 轻便,完整的二进制库不到300kb
- 可靠,完善的内存监测测试, 无内存泄露
- 完善,支持现有的大量操作,可按需扩展
- 高效,纯C实现,逐步加入MCU汇编优化
架构简介:
```
----------------------------------------------------------------
前 examples 推理结果校验/人脸检测及识别/车牌检测及识别
后
处 c-netend 网络后处理模块:支持目标检测/人脸识别及车牌识别
理 c-image 图像加载及保存,结果绘制,输入预处理
----------------------------------------------------------------
神 c-network 神经网络组织及推理
经 nn-case 模型转换工具
网 cilibration 量化评估工具
络 ncnn 模型优化/量化支撑/模型源
----------------------------------------------------------------
基 c-utils 基础工具,包括容器,分配器,线程池等
础 c-benchmark 性能评估,无外部依赖,可在MCU执行
模 c-tester 单元测试支持,无外部依赖,可在MCU执行
块 c-tensor 张量计算支持,基础操作及内存管理
----------------------------------------------------------------
```
## 2 支持情况
- 作为NCNN的延展,将NCNN模型直接优化并量化为部署模型,故可导入Caffe/Onnx/Mxnet/darknet模型;
- 全面量化支持,支持后量化训练, 支持INT16推理,后续将加入INT8推理;
- 支持ESP32 等主流芯片,理论上完全兼容支持c99的所有模块;
- 支持分类, 目标检测,人脸识别,车牌识别等主流算法;
- 采用直接对象定义模型,无需手动加载,扁平化结构;
### 2.1支持的算子列表
```c
/// convolution
convolution_operation_type,
/// pooling
pooling_operation_type,
/// padding
padding_operation_type,
/// crop
crop_operation_type,
/// inner product
inner_product_operation_type,
/// activation
activation_operation_type,
/// batch norm
batch_norm_operation_type,
/// slice
slice_operation_type,
/// concat
concat_operation_type,
/// reshape
reshape_operation_type,
/// sigmoid
sigmoid_operation_type,
/// softmax
softmax_operation_type,
/// permute
permute_operation_type,
/// unary
unary_operation_type,
/// binary
binary_operation_type,
/// upsample
upsample_operation_type,
/// prelu
prelu_operation_type,
/// memory data
memory_data_operation_type,
/// shuffle_channel
shuffle_channel_operation_type,
```
### 2.2 支持的激活函数
```c
/// bnll
bnll_activate_type,
/// clip
clip_activate_type,
/// elu
elu_activate_type,
/// exp
exp_activate_type,
/// hard sigmoid
hard_sigmoid_activate_type,
/// hard swish
hard_swish_activate_type,
/// log
log_activate_type,
/// power
power_activate_type,
/// relu
relu_activate_type,
/// selu
selu_activate_type,
/// hard swish
swish_activate_type,
/// threshold
threshold_activate_type,
```
## 3 案例展示
车牌识别 | 人脸识别
---------|----------
![ff](images/plates.png)| ![ff](images/faces.png)
车牌检测: retian/yolo, INT16 | 人脸检测: retian/yolo, INT16
车牌矫正: 关键点检测 + 仿射变换 | 人脸矫正: 关键点+仿射变换
车牌识别: 车牌+颜色 支持INT16 | 人脸验证: CNN + VECTOR, mobilenet-face
## 4. 路线图
- 支持ESP32,性能优化
- 支持INT8
- 支持ESP32系列INT8优化
- 其它芯片优化
- 操作优化支持
- 后端模型优化支持
## 5. 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
没有合适的资源?快使用搜索试试~ 我知道了~
面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip
共290个文件
h:83个
c:69个
jpg:55个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 159 浏览量
2024-01-17
23:46:36
上传
评论
收藏 83.71MB ZIP 举报
温馨提示
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip
资源推荐
资源详情
资源评论
收起资源包目录
面向iot设备设计的深度学习推理库(实现深度学习算法在iot设备上的快速部署).zip (290个子文件)
mobilefacenet.bin 3.9MB
mobilefacenet-opt.bin 3.79MB
lpr-opt.bin 1.81MB
lpr.bin 1.81MB
face.bin 1.36MB
face-opt.bin 1.36MB
plate-opt.bin 644KB
lpc-opt.bin 491KB
lpc.bin 491KB
mobilefacenet-opt.c 9.9MB
face-opt.c 3.63MB
lpr-opt.c 2.35MB
plate-opt.c 1.74MB
lpc-opt.c 646KB
unity.c 64KB
threadpool-pthreads.c 41KB
tensor_pixel.c 37KB
tensor_resize_bicubic.c 22KB
ncx_slab.c 21KB
tensor.c 21KB
upsample.c 18KB
tensor_padding.c 17KB
activation.c 17KB
padding.c 14KB
affine_matrix.c 12KB
network.c 12KB
mtcnn.c 10KB
tensor_resize_bilinear.c 10KB
container_linked_list.c 9KB
convolution.c 9KB
binary.c 9KB
memory_cached.c 8KB
tensor_softmax.c 8KB
pooling.c 7KB
retina_face.c 7KB
slice.c 6KB
plate_recognize.c 5KB
yolov3.c 5KB
allocator.c 4KB
unary.c 4KB
softmax.c 4KB
object_box.c 4KB
inner_product_benchmark.c 4KB
yolov2.c 4KB
mtcnn_plate_detector.c 4KB
mtcnn_face_detector.c 4KB
lpr_recognizer.c 4KB
imgproc.c 3KB
operation_registry.c 3KB
inner_product.c 3KB
benchmark.c 3KB
tensor_cut_border.c 3KB
crop.c 2KB
lpc_recoginizer.c 2KB
prelu.c 2KB
tester.c 2KB
concat.c 2KB
arc_face.c 2KB
vector_dot_int8_benchmark.c 2KB
face-demo.c 2KB
permute.c 2KB
shuffle_channel.c 2KB
face_info.c 2KB
quantize_s8.c 2KB
inner_product.c 2KB
lpr-demo.c 2KB
batch_norm.c 1KB
plate_info.c 1KB
sigmoid.c 1KB
option.c 1KB
memory_data.c 1011B
operation_benchmark.c 991B
operation.c 813B
reshape.c 745B
test_example.c 626B
bench_example.c 607B
vector_dot_int8.c 290B
container_vector.c 210B
CNetCase.cpp 17KB
calibration.cpp 14KB
ConvolutionCase.cpp 8KB
network_verify.cpp 8KB
QuantizeData.cpp 6KB
quantize_data.cpp 6KB
CropCase.cpp 6KB
CNetQuantize.cpp 5KB
ActivationCase.cpp 5KB
face_retrainface.cpp 4KB
plate_retainface.cpp 4KB
InnerProductCase.cpp 4KB
PoolingCase.cpp 3KB
CNetLayerCase.cpp 2KB
BatchNormCase.cpp 2KB
NetworkCase.cpp 2KB
convert_data.cpp 2KB
ConcatCase.cpp 2KB
PReLUCase.cpp 2KB
PermuteCase.cpp 2KB
EltwiseCase.cpp 1KB
MemoryDataCase.cpp 1KB
共 290 条
- 1
- 2
- 3
资源评论
辣椒种子
- 粉丝: 3321
- 资源: 5724
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功