android13/hardware/rockchip/rknn-toolkit2/doc/changelog-1.5.2.txt

548 lines
16 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2023-8-25
版本: v1.5.2:
更新内容:
1. 添加glu支持
2. 更新examples
3. 完善dynamic_input功能
4. 优化transformer模型支持
5. 添加torch的部分op支持
6. 更新rknn_batch_size支持
2023-7-14
版本: v1.5.1b19:
更新内容:
1. 优化quantize_weight功能,优化部分网络生成的rknn模型大小.
2023-7-3
版本: v1.5.1b18:
更新内容:
1. 增加Matmul层GPU target支持
2. 增加where+softmax子图优化
3. 修复load_rknn在dynamic_input启用时的部分问题
4. 添加新的图优化规则
5. 更新对大模型动态输入的支持
2023-6-29
版本: v1.5.1b17:
更新内容:
1. 修复LSTM的重复调用rknn_inputs_set导致卡死问题
2. 修复Transpose输出内存分配过大问题
3. 优化部分单通道输入大分辨率模型效率
4. 修复图优化规则报错问题
5. 修复原生动态模型的大部分问题
2023-6-25
版本: v1.5.1b16:
更新内容:
1. 修复动态shape LSTM的错误问题
2. 更新config.target_platform的默认值
3. 修复原生动态模型的支持问题
2023-6-16
版本: v1.5.1b13:
更新内容:
1. 动态shape rknn_batch_size > 1的支持
2. 更新动态输入的支持
3. 更新部分图优化支持
4. 添加对原生动态模型的初步支持
2023-6-9
版本: v1.5.1b10:
更新内容:
1. reshape/transpose等胶水算子的layout优化
2023-6-9
版本: v1.5.1b9:
更新内容:
1. 修复动态shape最高维度非1情况结果错误的bug
2023-6-9
版本: v1.5.1b8:
更新内容:
1. [C API]修复多核多batch模式运行结果错误的Bug
2. [C API]优化rknn_init耗时
3. [C API]增加CURRENT_NATIVE_INPUT/OUTPUT_ATTR属性查询
4. 修复部分模型internal 内存偏大的问题
5. 修复动态模型支持问题
6. 动态模型添加对rknn_batch_size的支持
7. 更新部分图优化支持
2023-6-1
版本: v1.5.1b3:
更新内容:
1. 修复动态shape性能分析/内存分析失败的Bug
2. 降低导出RKNN模型大小
3. 添加通过加载多个onnx模型来仿真动态模型的实验性功能
2023-5-30
版本: v1.5.1b2:
更新内容:
1. [新特性]采用预编译模型提高Runtime初始化RKNN模型效率。要求重新导出RKNN模型并更新Runtime若不使用新特性无需重新导出
2. 修复稀疏化的报错和部分精度问题
3. 更新cp38/cp310的依赖库版本
4. 混合量化添加对子图进行混合量化的功能
2023-5-27
版本: v1.5.1b1:
更新内容:
1. 修复Pad算子的错误
2. 添加Mul的广播部分支持
2023-5-18
版本: v1.5.0:
更新内容:
1. 更新config.dynamic_input的接口定义
2. 修复部分op属性获取失败的问题
2023-5-17
版本: v1.4.6b2:
更新内容:
1. 修复RK3562 多batch rknn模型C API运行错误的Bug
2023-5-15
版本: v1.4.6b1:
更新内容:
1. 修复普通API多输入多输出模型动态shape出错的bug
2. 增加RK3562 Matmul API支持
3. 修复第一层为Reshape时dynamic_input失败的问题
4. 修复opset12~15可能存在的问题
2023-5-11
版本: v1.4.6b0:
更新内容:
1. 优化RKNN_FLAG_COLLECT_MODEL_INFO_ONLY初始化效率
2. 修复1x1x1x1两个feature Add算子转换Bug
3. 修复load_rknn加载老版本模型出错的兼容性问题
4. 添加opset13/14/15的部分支持 (试验性质)
5. 修复eval_perf导出csv时可能会报错的问题
6. 修复load_rknn报错问题
7. 添加非4维的ReduceXXX支持
2023-5-6
版本: v1.4.5b3:
更新内容:
1. 增加RKNN_MIN_TIMEOUT_MS环境变量设置NPU提交任务超时的阈值
2. 添加一维Where的支持
3. 修复大模型包含Constant节点报错的问题
4. 优化权重稀疏化的性能
2023-4-28
版本: v1.4.5b2:
更新内容:
1. 修复dynamic_input普通api结果错误问题
2. 修复非4维输入连板推理报错问题
2023-4-27
版本: v1.4.5b1:
更新内容:
1. 修复dynamic_input连板推理输出shape报错问题
2. 添加matmul前后transpose的消除规则, 并优化matmul性能
3. 修复大模型编译报错问题
4. 添加load_rknn的dynamic_input支持
5. 修复代码生产时resize出错的问题
2023-4-26
版本: v1.4.5b0:
更新内容:
1. [RK3562] 优化Transformer模型中的transpose/reshape多算子级联的性能
2. 增加后缀为.torchscript的pytorch文件格式支持
2023-4-25
版本: v1.4.4b5:
更新内容:
1. 修复dynamic_input在存在Reshape下的推理报错问题
2. 增加dynamic_input多轴动态支持
3. 更新cpp部署代码生成功能
2023-4-23
版本: v1.4.4b3:
更新内容:
1. 添加dynamic_input功能
2. 修复3维deconv报错问题
3. 更新大模型转换支持
4. 优化模拟器推理性能
5. 添加cpp部署代码生成功能
6. 修复load_rknn的推理问题
2023-4-14
版本: v1.4.3b12:
更新内容:
1. [RK3562]增加指定层跑CPU/GPU/NPU特性
2. 修复concat优化规则
3. 添加op_target功能
2023-4-11
版本: v1.4.3b10:
更新内容:
1. 更新rknn编译器
2023-4-10
版本: v1.4.3b9:
更新内容:
1. 更新tensorflow QAT支持
2. 优化大模型的转换内存和性能
3. 修复图优化问题,并添加部分新规则
4. 修复mmse报错问题
5. 优化conv的拆分规则
6. 修复混合量化问题
7. 添加RMSNorm支持
8. load_onnx添加input_initial_val参数
9. 修复onnxoptimizer报错问题
2023-3-28
版本: v1.4.3b4:
更新内容:
1. 修复5维slice的问题
2023-3-27
版本: v1.4.3b3:
更新内容:
1. [RK3566]优化CNN+LSTM结构模型的内存
2. 优化Concat性能
3. load_tflite/load_tensorflow添加input_is_nchw参数
2023-3-23
版本: v1.4.3b2:
更新内容:
1. mul/add/div/sub算子优化
2. 修复多级maxpool量化问题
2023-3-21
版本: v1.4.3b1:
更新内容:
1. 修复Expand算子Bug
2023-3-21
版本: v1.4.3b0:
更新内容:
1. [RK3562]增加内部Buffer循环复用功能
2. [RK3562]优化多batch layerNorm算子精度
3. [RK3566]int8 Matmul CPU算子优化
4. [全平台]expand NPU OP支持
5. [全平台]fp16模型输入耗时优化
6. 完善Cast算子的支持
7. 修复remove_weight/多输入归一化参数匹配错误等Bug
8. 更新常量折叠支持
9. 更新eval_perf功能
10. 增加float16模型的支持
11. 优化常量共享的模型
2023-3-9
版本: v1.4.2b6:
更新内容:
1. RK3562平台Bug修复
2. 增加model_pruning控制并支持deconv以及Bug修复
3. 增加If/Loop的部分转换支持
4. 修复MMSE部分模型失败的问题
5. 优化仿真器的结果
6. 增加python3.10的支持
7. 优化转换内存占用
8. 增加部分非4维Op支持
2023-2-15
版本: v1.4.2b1:
更新内容:
1. 修复RK3562查询的size_with_stride大小错误问题
2023-2-14
版本: v1.4.2b0:
更新内容:
1. 更新neg支持
2. 增加min/max的融合优化
3. 增加了RK3562平台支持
2023-2-8
版本: v1.4.1b23:
更新内容:
1. 修复特定stride反卷积算子的Bug
2. 更新MatMul的perchannel量化支持
3. 更新动态图检测功能
4. 优化where的量化支持
2023-2-2
版本: v1.4.1b22:
更新内容:
1. 增加Equal算子对Bool类型支持
2. 修复Matmul算子/exLayerNorm算子的Bug
3. 更新equal/slice/cast/pad/ConvTranspose支持
4. 更新QAT模型支持
5. 移除bfloat16包依赖
2023-1-13
版本: v1.4.1b21:
更新内容:
1. 修复RK3588 Matmul接口错误
2. 修复4通道输入float16类型模型在RK356X平台查询虚宽错误问题
3. 模型不填写量化信息情况下默认Tensor量化类型为float16
4. 增加unk__xxx无效shape支持
5. 更新abs/dataconvert支持
6. 优化模型剪枝功能
2023-1-6
版本: v1.4.1b19:
更新内容:
1. [功能]增加Conv+Add+Relu子图融合。
2. 修复Conv+Add在量化参数不一致情况下融合的Bug。
3. 修复RK3588 大kernel卷积的Bug。
4. 增加模型剪枝功能
5. 优化Sigmoid的量化参数
6. 增加rk3562的支持
2022-12-17
版本: v1.4.1b17:
更新内容:
1. [优化]增加NPU输出NCHW数据支持。
2. [功能]增加conv+add+relu融合支持。
3. 修复最高维度非1模型MaxPool算子错误的Bug。
4. 修复最高维度非1模型首层Conv错误的Bug。
5. 修改4维npy的layout定义
6. 优化dataconvert/gather/transpose/mul/maxpool/sigmoid/pad/conv/relu/softmax支持
7. 增加aten::upsample_nearest2d支持
8. 修复仿真器在perchannel下可能的溢出问题
9. 增加更多的转换错误提示
10. 更新混合量化支持
2022-11-26
版本: v1.4.1b14:
更新内容:
1. 修复寄存器位宽限制警告。
2. 优化Concat CPU算子效率。
3. 增加2维layernorm支持
4. 更新MatMul支持
2022-11-19
版本: v1.4.1b13:
更新内容:
1. [重要]Android NDK编译器升级到r23b版本APP建议使用该版本NDK重新编译。
2. LSTM结构更新升级需要重新转换模型。
3. RK356X增加Transpose优化。
4. RK356X模型非对齐通道的float类型NCHW输出效率优化。
5. 增加常量输出节点删除功能
6. MMSE支持无法batch扩维的模型
7. 修复resize/clip缺失属性的问题
8. 增加swish/dataconvert/softmax/lstm/layernorm相关优化
9. 增加离群值检测功能
10. 优化非4维OP的性能
2022-11-01
版本: v1.4.1b12:
更新内容:
1.修复LSTM模型多次转换结果不一致问题。
2.改进onnx模型裁剪功能
2022-10-29
版本: v1.4.1b11:
更新内容:
1.修复Runtime外部分配内接口运行LSTM错误问题。
2.修复Runtime rknn_dup_context接口运行LSTM错误问题。
3.优化大模型转换性能
4.添加Loop/Scatter转换支持
2022-10-24
版本: v1.4.1b10:
更新内容:
1.修复LSTM兼容性问题。
2.修复RK3588输入自动填充虚宽值的重复运行错误的bug。
3.修复出现size=0的中间tensor刷cache失败的问题(模型需重新生成)。
4.增加IN、Swish非4维支持
5.添加tflite支持perchannel的QAT模型
2022-10-19
版本: v1.4.1b9:
更新内容:
1.修复RV1106 rknn_detroy接口内存泄漏问题。
2022-10-18
版本: v1.4.1b8:
更新内容:
1.修复非LSTM模型共享权重时rknn_init失败的bug。
2022-10-17
版本: v1.4.1b7:
更新内容:
1.修复RK3588分支合并后的bug。
2022-10-17
版本: v1.4.1b6:
更新内容:
1.修复大分辨率输入的bug。
2.优化无效pad
2022-10-13
版本: v1.4.1b5:
更新内容:
1.修复32-bit库matmul错误的bug。
2.添加FAQ文档
3.更新图优化规则
4.调节MatMul量化方式
2022-10-12
版本: v1.4.1b4:
更新内容:
1.修复LSTM共享权重失败问题。
2.更新图优化规则
2022-10-10
版本: v1.4.1b3:
更新内容:
1. LSTM寄存器配置内存占用的优化。
2. 优化MMSE量化算法
3. 优化KL量化算法
2022-9-30
版本: v1.4.1b2:
更新内容:
1. 关闭寄存器差量支持
2. 增加Batchnorm+Relu融合支持
3. 增加32-bit Runtime库Neon优化支持。
4. 优化rknn_init空初始化性能。
5. 更新精度分析功能
6. 修复QAT模型的hardsigmoid等问题
7. 修复lstm/gru图优化问题
8. 更新图优化规则
2022-9-14
版本: v1.4.1b1:
更新内容:
1. 增加寄存器差量支持
2. 修复lstm的bug
2022-9-14
版本: v1.4.1b0:
更新内容:
1. 增加rknn.config接口增加npu_do_output_nhwc配置开启或关闭NPU直接输出NHWC的特性
2. 修复QAT模型解析问题
------------------------------------------------------------
2022-8-20
版本: v1.4.0:
更新内容:
1. 升级相关依赖包到主流版本
2. 添加更多2/3/5维度的Op支持
3. 更新config/init_runtime等接口
4. 更新LSTM等Op支持
5. 添加yuv输入支持
6. 更新QAT模型支持
2022-7-2
版本: v1.3.4b5:
更新内容:
1. rknn-toolkit2:
1) optimize_onnx接口
a. 在设置optimization_level=2时关闭conv+add融合。
b. 保留BatchNormalize算子带的量化参数。
2) RK3588屏蔽NPU直接输出NHWC layout的支持 RK3566/RV1106保留该功能。
2. C API:
1) RK3588/RK3566/RV1106支持传入一个包含rknn模型的大文件路径rknn_init接口设置包含偏移和真实rknn模型大小的rknn_init_extend结构体指针。
------------------------------------------------------------
2021-4-22
版本: v1.3.0:
更新内容:
1. 新功能: python3.8/ubuntu20.04 平台支持
2. 修复一些已知的bug:
1) 修复了一些图优化和量化bug
2021-4-7
版本: v1.2.5:
更新内容:
1. 新功能: rv1103/rv1109平台的支持.
2. 修复一些已知的bug:
1) 修复了一些QAT模型转换问题
2) 修复了一些图优化bug
2021-1-27
版本: v1.2.1-beta:
更新内容:
1. 新功能: 多batch的NHWC格式输入时,在H维度,有效元素个数与实际内存中的元素个数不一致时,支持H方向实际元素个数按照h_stride设置.
2. 修复一些已知的bug:
1) LSTM算子内部变量重名的问题.
------------------------------------------------------------
2021-1-12
版本v1.2.0
更新内容:
1. 新功能: rk3588平台的支持; rknn模型加密支持; tensorflow/tflite/pytorch量化感知模型支持; 增加了一些新的 op 支持: InstanceNormalization, Swish, Conv1D等详见 op support list增加了参数量计算以及算力分析
2. examples 更新:增加了从 pytorch 转 onnx 的转换 demoresnet18_export_onnx 增加了pytorch量化感知模型的加载demoresnet18_qat demo增加了模型加密功能添加了3588平台 rknn 转换 demo
3. 接口更改:移除了 configload_caffeload_tensorflow等接口的一些不必要的参数设置更新了 eval_perf 接口详细改动见Uer_Guide文档
4. 修复一些已知的bug:
1) 修复了一些模型无法转换rknn的问题
2) 修复了一些图优化bug
3) 修复了一些模型推理结果错误的问题
4) 修复了 pytorch、tflite 某些 op 转换失败的问题
5. 优化: 精度分析耗时优化; 模型转换和量化耗时优化
------------------------------------------------------------
2021-8-12
版本v1.1.0
更新内容:
1. 新功能: LSTMGRU的支持增加了accuracy_analysis对比项目增加了一些op支持caffe hardswishonnx gather,reduceMax等op更新了更全面的图优化规则。
2. examples更新增加了yolov5的demo
3. 修复一些已知的bug
1修复了一些模拟器的推理结果错误问题
2修复了一些图优化bug
3修复了一些大模型无法转换rknn的问题
4修复了多输入的转换和推理bug
4. 更新了文档更新了OP支持列表
2021-6-30
版本v1.1.0beta
更新内容:
1. 新功能: 混合量化功能(支持自定义是否量化以及量化参数修改);完善了 accuracy_analysis 对比功能(包括连板对比结果)
2. examples更新增加了常用接口的demo示例accuracy_analysis、batch_size、hybrid_quant、load_quantized_model、mmse、multi_input_test
3. 修复一些已知的bug
1修复了一些int8/fp16模型的转换问题以及op精度问题
2修复了一些图优化bug修复了一些依赖的版本问题
4. 更新了文档更新了OP支持列表
------------------------------------------------------------
2021-4-30
版本v1.0.0
更新内容:
1. 新功能: 卷积类的per channel量化功能添加了config中custom_inf的模型信息设置、img_quant_RGB2BGR设置添加了eval performance的性能测试接口增加了版本打印功能
2. OP支持1) 添加了Caffe新OP支持Power/Tile/Eltwise(Max)/去除了normalize维度的限制; 2) 添加了onnx新OP支持:HardSigmoid/Pow/Tile
3. 修复一些已知的bug
1) 修复了caffe FC的输出shape以及name的错误
2) 优化了mmse的量化性能
3修复caffe的Pooling层的输出shape计算错误
4修复了caffe slice丢弃了其中一个输出的inference bug
5修复了一些模型优化的bug
4. 弃置了reorder_channel的config设置由用户自行保证inference输入数据的channel正确性
5. 更新了文档更新了OP支持列表
------------------------------------------------------------
2021-4-2
版本v0.7.0
更新内容:
1. 新功能: 新的量化算法支持(mmse), 添加支持tensorflow的预量化模型导入
2. 添加了Caffe新OP支持relu6/ConvolutionDepthwise/Transpose/reorg
3. 修复一些已知的bug:
1) 增加concat的非channel维度非4维输入的支持
2) 修复了第一层是scale的预处理bug
3更新了onnxruntime==1.7.0的版本
4. 更新了文档更新了OP支持列表
------------------------------------------------------------
2021-3-1
版本v0.6.0
更新内容:
1. 新功能: caffe load API添加指定输入name的接口添加了caffe lrn(WithinChannel)的支持
2. 添加了Caffe新OP支持crop/flatten/normalize/proposal/reduction
3. 添加了onnx/pytorch/tensorflow/darknet/tflite新OP支持
4. 移除了aciq以及Kl散度量化功能
5. 修复一些已知的bug:
1) 最后一层是reshape转换bug
2) 修复了caffe中InnerProduct随机生成blob的bug
3) 修复了过大的size导致GlobalAvgPool GlobalMaxPool crash的问题;
4) 修复了第一层是RoIpooling的维度错误
5) 修复了SSD设备端推理错误的问题等。
6. 更新了文档增加了OP支持列表