支持pip、源码、docker三种安装方式(前两种方式只支持linux系统),使用前请完成工具链安装
目前linger只支持Pytorch训练框架,为保证后续量化训练的结果,建议从浮点训练阶段就开始对模型参数进行约束,请参考浮点-定点两阶段量化训练。当然linger也支持未做参数约束正常训练的浮点模型,只是量化效果可能会损失比较明显
linger作为pytorch的插件,导入方便,同时linger采样QAT量化方式,需要进行fine-tuning训练,正常情况下添加几行约束代码,跑几个epoch即可,具体操作请参考模型量化训练。模型训练收敛后,通过自带的导出工具,一键导出,请参考量化模型模型导出。
将导出的量化模型作为输入,使用thinker离线工具tpacker对计算图的参数检查、计算图优化和内存分析检查。最后将计算图序列化成引擎执行器所需要的格式,并对运行内存进行预分配。
模型分析打包指令:
tpacker -g xx.onnx [-p venus] [-d True] [-m memory] [-o model.bin]
打包工具会对计算图进行图优化、模拟引擎执行以规划内存占用并将分析结果序列化到资源文件中
直接加载离线工具序列化的资源。在少量修改甚至零修改的情况下,实现计算图在VENUS芯片上的落地应用。
使用demo中的调用示例test_thinker
给定输入数据input.bin、序列化资源model.bin、输出数据名称xxx.bin和输入图像的尺寸
格式为: test_thinker input.bin model.bin result.bin c h w
如:
./bin/test_thinker demo/resnet50/input.bin demo/resnet50/model.bin demo/resnet50/result.bin 1 32 32