Tjyy-1223 / Neurosurgeon

云边协同- collaborative inference 📚Neurosurgeon: Collaborative Intelligence Between the Cloud and Mobile Edge
55 stars 8 forks source link

大佬,还有个问题就是我看代码好像模型是没有训练过的,那模型推理怎么推理的呢,整个推理逻辑是怎么样的呢? #4

Open 17839792633 opened 1 year ago

Tjyy-1223 commented 1 year ago

代码中的模型确实没有训练,因为对于DNN模型来讲,传入一个输入得到输出的过程。而DNN模型进行训练的过程,无非是改变内部的一些参数,从论文中可以看到: 1)DNN中每一层的推理时间只与你的输入数据、不同DNN层的配置相关 2)DNN层之后的中间传输只与数据大小相关 因此,Neurosurgeon这篇论文最主要的还是研究通过云边协同模式,将模型进行拆分后端到端的推理时延降低,他不会损失模型的精度。 目前代码中的逻辑就是,我随机生成一个维度为[1,3,224,224]的数据用来模拟传入一张图片,之后用搭建的DNN模型进行推理,观测推理时延的变化,在论文中我认为应该主要关注模型推理是否变得更快,因为推理精度不会发生变化。(当然目前代码中不存在准确率如何,你可以认为是DNN在随机预测,只是为了模拟完成推理的过程。)

你可以使用真实的数据集将AlexNet、VggNet等进行训练,训练过程会有点耗费时间,之后传入真实的数据进行推理。但是云边协同的过程不会影响精度,所以我也没有对精度这个方面进行考虑,对于同一张图片你在本地推理和使用云边协同方式推理得到的结果是一样的。

17839792633 commented 1 year ago

代码中的模型确实没有训练,因为对于DNN模型来讲,传入一个输入得到输出的过程。而DNN模型进行训练的过程,无非是改变内部的一些参数,从论文中可以看到: 1)DNN中每一层的推理时间只与你的输入数据、不同DNN层的配置相关 2)DNN层之后的中间传输只与数据大小相关 因此,Neurosurgeon这篇论文最主要的还是研究通过云边协同模式,将模型进行拆分后端到端的推理时延降低,他不会损失模型的精度。 目前代码中的逻辑就是,我随机生成一个维度为[1,3,224,224]的数据用来模拟传入一张图片,之后用搭建的DNN模型进行推理,观测推理时延的变化,在论文中我认为应该主要关注模型推理是否变得更快,因为推理精度不会发生变化。(当然目前代码中不存在准确率如何,你可以认为是DNN在随机预测,只是为了模拟完成推理的过程。)

你可以使用真实的数据集将AlexNet、VggNet等进行训练,训练过程会有点耗费时间,之后传入真实的数据进行推理。但是云边协同的过程不会影响精度,所以我也没有对精度这个方面进行考虑,对于同一张图片你在本地推理和使用云边协同方式推理得到的结果是一样的。

明白了,因为刚接触深度学习不是很了解,之前还在想要不要考虑精度的问题,今天看了你的解答就明白了,万分感谢!