用C语言实现卷积神经网络卷积层

小胖皮 2019-05-19 05:18:50
#include<stdio.h> void main() { int a[100][100],x,y; printf("please input w*w numbers:\n"); int w; scanf("%d",&w); for(x=0;x<w;x++) for(y=0;y<w;y++) { printf("a[%d][%d]=",x,y); scanf("%4d",&a[x][y]); } printf("-------------------------------------------------------------------------\n"); printf("input:\n"); for(x=0;x<w;x++) { for(y=0;y<w;y++) printf("%4d",a[x][y]); printf("\n"); } printf("-------------------------------------------------------------------------\n"); int b[100][100],t,h; printf("please input r*r numbers:\n"); int r; scanf("%d",&r); for(t=0;t<r;t++) for(h=0;h<r;h++) { printf("b[%d][%d]=",t,h); scanf("%4d",&b[t][h]); } printf("-------------------------------------------------------------------------\n"); printf("filter:\n"); for(t=0;t<r;t++) { for(h=0;h<r;h++) printf("%4d",b[t][h]); printf("\n"); } printf("-------------------------------------------------------------------------\n"); int c[100][100],m,n,i,j,z=-1,s,d,f,g,cc,q=-1,v; printf("output:\n"); for(i=0;i<w-r+1;i++) for(j=0;j<w-r+1;j++) { z=z+1; cc=0; v=z%(w-r+1); if(z%(w-r+1)==0) q=q+1; for(f=0,s=f+v;f<r;s++,f++) { for(g=0,d=g+q;g<r;d++,g++) cc=cc+a[s][d]*b[f][g]; } c[i][j]=cc; } for(m=0;m<w-r+1;m++) { for(n=0;n<w-r+1;n++) printf("%4d",c[m][n]); printf("\n"); } }
...全文
437 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧