[发明专利]跨平台卷积神经网络控制系统及方法、信息数据处理终端有效
申请号: | 201810391985.3 | 申请日: | 2018-04-27 |
公开(公告)号: | CN108572593B | 公开(公告)日: | 2020-12-18 |
发明(设计)人: | 卜少峰;万元芳 | 申请(专利权)人: | 北京源码矩阵科技有限公司 |
主分类号: | G05B19/042 | 分类号: | G05B19/042 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 101400 北京市怀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 平台 卷积 神经网络 控制系统 方法 信息 数据处理 终端 | ||
1.一种跨平台卷积神经网络控制系统,其特征在于,所述跨平台卷积神经网络控制系统包括:
卷积运算单元和池化运算单元,卷积运算单元与池化运算单元连接,通过OpenGL ES来实现gpu计算;
全连接运算单元,与池化运算单元连接,使用cpu的neon指令实现;卷积运算前需要给各个通道添加padding,将padding操作和卷积运算或者池化运算结合;
所述跨平台卷积神经网络控制方法包括以下步骤:
步骤一,计算输出的纹理尺寸,定义卷积计算中有k个卷积核,输出纹理有k个通道;输出通道平铺在输出纹理中;
步骤二,计算顶点坐标:渲染按照GL_TRIANGLES方式,每个通道包括2个三角形;
步骤三,计算shader变量:定义attribute类型变量textureCoordinate,textureCoordinate.xy为当前输出的像素坐标对应于输入纹理在通道内的卷积计算起始坐标,textureCoordinat.z为当前像素所在的输出通道;
步骤四,在fragment shader的卷积计算。
2.如权利要求1所述的跨平台卷积神经网络控制系统,其特征在于,所述步骤一中纹理尺寸:x方向和y方向通道数计算公式分别为:
floatpower=log2(k/4);
intc_x_count=pow(2,ceil(power/2));
intc_y_count=pow(2,floor(power/2));
定义输入纹理的每个通道的宽为c_width,高为c_height,padding尺寸为c_padding,输出纹理每个通道的padding为next_padding,当前卷积计算的下一层为池化运算,则next_padding为0,输出纹理的大小为:
intout_width=(c_width+2*next_padding)*c_x_count;
intout_height=(c_height+2*next_padding)*c_y_count。
3.如权利要求1所述的跨平台卷积神经网络控制系统,其特征在于,所述步骤二中计算顶点坐标对于第(xi,yi)个通道,4个顶点坐标为:
pi0_x=-1.0+((c_width+2*next_padding)*xi+next_padding)*1.0/out_width;
pi0_y=-1.0+((c_height+2*next_padding)*yi)*1.0/out_height;
pi1_x=-1.0+((c_width+2*next_padding)*xi+next_padding+c_width)*1.0/out_width;
pi1_y=-1.0+((c_height+2*next_padding)*yi+next_padding)*1.0/out_height;
pi2_x=-1.0+((c_width+2*next_padding)*xi+next_padding)*1.0/out_width;
pi2_y=-1.0+((c_height+2*next_padding)*yi+next_padding+c_height)*1.0/out_height;
pi3_x=-1.0+((c_width+2*next_padding)*xi+next_padding+c_width)*1.0/out_width;
pi3_y=-1.0+((c_height+2*next_padding)*yi+next_padding+c_height)*1.0/out_height;
顶点顺序为012123。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京源码矩阵科技有限公司,未经北京源码矩阵科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810391985.3/1.html,转载请声明来源钻瓜专利网。