FeatherCNN icon indicating copy to clipboard operation
FeatherCNN copied to clipboard

请问该框架与ncnn的区别与联系?

Open JSnobody opened this issue 6 years ago • 12 comments

你好,请问该框架与ncnn的区别与联系?有哪些优势?另外我看ncnn实现了int8量化,但是会比较简单,你们有什么样的计划,是否会做出新的方法? 期待你们的回复,谢谢!

JSnobody avatar Nov 05 '18 06:11 JSnobody

关于与ncnn的区别联系参考 #6 , 量化会做 但是不是当前最重要的事情,单精度仍有不少潜力可以继续做下去。

turbo0628 avatar Nov 14 '18 11:11 turbo0628

了解,在做量化之前,先做出一个基于float32的稳定的版本是更重要的,如果后面做量化的话,是否可以交流一下呢?我目前也在看量化方面。

JSnobody avatar Nov 15 '18 02:11 JSnobody

@JSnobody armv8.2以下指令集其实对int8计算不是很友好,理论上fp32和int8的乘加op吞吐率是一样的,所以一个稳定高效的fp32是更加重要的,当然后面avx512或者dot int8的指令是另外一回事了。 @turbo0628 加油鸭

BUG1989 avatar Nov 15 '18 02:11 BUG1989

@BUG1989 如果我没记错的话,caffe-int8-convert-tools 是你做的吧,这几天刚认识caffe-int8-convert-tools,准备仔细研究一下

JSnobody avatar Nov 15 '18 02:11 JSnobody

@BUG1989 我看主流的框架和平台的int8量化,只针对训练后量化,主要分为tensorflow和tensorRT两个流派,有的是用tensorflow'的思想和流程,有的采用tensorRT思想结合KL散度校准,从结果上看,tensorRT的准确率会有提升。关于tensorRT和tensorflow量化你怎么看,推理框架也需要反量化嘛?

JSnobody avatar Nov 15 '18 02:11 JSnobody

修改一下:tensorRT较比tensorflow准确率会有提升。

JSnobody avatar Nov 15 '18 02:11 JSnobody

现在还有第三个流派是,trainning int8,鼻祖可以参考Ristretto caffe,分为两个步骤:

  1. 使用数据集统计出大概的量化scale;
  2. 将量化scale引入finetune流程,使权重反过来适配第一步中的量化scale,恢复精度。 框架有:TensorFlow、Intel Caffe、Xilinx dnn

BUG1989 avatar Nov 15 '18 02:11 BUG1989

@BUG1989 Ristretto caffe我前几天看到过,当时看的不仔细,通过你的介绍我学习了。 听你的描述,我还是有很多疑惑,不过,我先自己看看Ristretto caffe再讨论吧。 能否加个联系方式呢?

JSnobody avatar Nov 15 '18 02:11 JSnobody

@BUG1989 这三个流派,你觉得哪个比较好,各自优缺点是什么?

JSnobody avatar Nov 15 '18 07:11 JSnobody

我想请教下,如果不做量化,那大概从哪些方面做加速, 除了合并层这个方式以外,其他都是通过指令集来实现加速么?

RitchieHuang11 avatar Apr 24 '19 14:04 RitchieHuang11

@huangrichen11 有好多种方式

JSnobody avatar Apr 25 '19 03:04 JSnobody

@huangrichen11 有好多种方式

有没有相关的资料,想了解下?对这方面没有接触过

RitchieHuang11 avatar Apr 25 '19 03:04 RitchieHuang11