Releases
v0.6.5
Analyzer
添加了新的分析方法 statistical_analyse
允许分析多输出算子
重新设计了 cosine 相似度的计算方式
API
添加了新的api: load_native_graph
添加了新的api: register_network_quantizer
添加了新的api: register_network_parser
添加了新的api: register_network_exporter
允许以setting=None调用api函数
Executor
支持1d, 3d卷积,
支持1d 3d pooling
支持1d 3d 反卷积
支持 lstm, gru
支持 sin, cos
支持 abs
支持 sum
支持 Erf, Elu, Reciprocal
重写了 resize, slice 与 scatterND 实现
移除了注册算子的限制条件,现在你可以覆盖ppq内部的算子实现
修正了Conv, Pooling, ConvTranspose, Pad中的padding问题,适配onnx 1d, 2d, 3d padding,并将以较高性能运行
Dispatcher
添加了新的调度器 purseus, allin
添加了新的数据类型抽象 opsocket,在下一版本中该抽象将被移入ppq.IR
默认子图切分方法更改为 purseus
添加调度报警信息
Observer
添加了新的calibration方法OrderPreserving,保序量化将被应用在分类网络当中,提升分类性能
添加了mse的非对称实现,并添加了c++的mse实现
Graph
支持1d, 3d卷积与反卷积的bn融合
Variable添加属性 shape,可以直接修改 shape 来设定 dynamic shape
图匹配引擎允许以ep_expr = None进行模式匹配
支持图的复制
Optim
LSQ 算法被重写,性能大幅提升, Advanced optimization 与 LSQ 算法合并,现在被称为CuLSQ
Brecq 算法被移入 legacy,不推荐使用
layerSplit, BiasCorrection 算法被重写,性能提升
Laerwise Equalization 算法被重写,现在支持 1,2,3d 卷积与反卷积,支持 include act
修正了 average pooling 算子对齐的错误
修正了 bias, pad 量化的相关问题
移除了RuntimePerlayerCalibrationPass,相关参数不再起作用
移除了ConstantBakingPass,相关参数不再起作用
移除了InplaceQuantizationSettingPass,相关参数不再起作用
移除了 fuse_conv_add 设置选项,相关优化过程被移入 legacy 文件,现在必须手动调用
Doc
添加了常见优化过程文档
添加了 yolo 量化相关例子
添加了新的入门教程示例代码
Cuda
重写了量化核心函数,性能提升
重写了量化梯度传播函数,性能提升
现在在编译开始时,会自动移除编译锁
Core
为 TQC 添加了新的属性 Visibilty,将使用该属性控制 TQC 导出能见度
修改了一些属性名字,并将它们写入 ppq.common.py
TensorQuantizationConfig中的函数__is_revisable现在是一个公有函数,并被重命名为is_revisable
Other
Import TensorRT的警告现在只在导出的时候才会发出
添加了 snpe 1.6.3 的支持
添加了 tengine 的支持
修复了一系列错误
You can’t perform that action at this time.