|
NCC S1工作流程
发表于 2019-1-3 10:41:25
浏览:2632
|
回复:0
打印
只看该作者
[复制链接]
楼主
本帖最后由 rany 于 2019-1-3 10:41 编辑
本文主要介绍NCC S1是如何与CPU进行搭配工作的。其实现细节部分可以结合SDK中的示例代码和PLAI进行对比学习。
注:图片来源于GTI文档
上图为SPR2801S在嵌入式系统中的一个典型工作流程,此流程也适用于NCC S1或USB Dongle。图的下半部分表示的的是一个网络模型,可以看出模型分为CNN Layer(卷积层)和FC Layer(全连接层),其中CNN Layer在SPR 2801S中进行处理,FC Layer在CPU中进行处理。这里以进行图片分类为例,其过程解析如下:
1. CPU加载网络模型到NCC S1。
此过程为初始化SPR2801S,加载的模型为CNN模型,一般在SDK的data/Models/gti2801/[模型类别]/cnn目录下。SPR2801S通过CNN模型可以获取输入图像的Feature map(特征图)。
2. CPU处理输入图像并传入NCC S1进行卷积运算。
此过程CPU会先对图像进行缩放和转换等处理,然后传入NCC S1。在SPR2801S中传入的图像会进行多层的卷积运算以得到最终的的结果Feature map,其中卷积运算的参数来源于CNN模型。
3. CPU从NCC S1中获取Feature map。
在图像在SPR2801S中进行卷积运算的时候CPU会等待一定的时间(在userinput.txt中控制),然后从NCC S1中读回结果。
4. CPU处理Feature map完成分类。
CPU从NCC S1中读取结果后会进行如FC等的计算最终得到分类的结果,结果表现为图片在各个分类下的相似率。
|
|