CNN中的前向传播 及其Python代码实现
发布日期:2021-07-01 05:17:22
浏览次数:2
分类:技术文章
本文共 1026 字,大约阅读时间需要 3 分钟。
符号约定
A表示卷积的结果矩阵,W表示滤波器(filter)矩阵,b表示偏置(bias)矩阵,stride表示卷积步长,nh nw分别表示矩阵的高和宽,nc表示通道(channel)数,也就是矩阵的第三维
推导
见如下图,其中prev表示上层卷积结果
下面是层间的关系表达式
前向传播函数Python代码
def conv_forward(A_prev,W,b,hparameters): (m,n_H_prev,n_W_prev,n_C_prev)=A_prev.shape (f,f,n_C_prev,n_C)=W.shape stride=hparameters['stride'] pad=hparameters['pad'] n_H=1+int((n_H_prev-f+2*pad)/stride) n_W=1+int((n_W_prev-f+2*pad)/stride) Z=np.zeros((m,n_H,n_W,n_C))#init output A_prev_pad=zero_pad(A_prev,pad) for i in range(m): a_prev_pad=A_prev_pad[i] for h in range(n_H): for w in range(n_W): for c in range(n_C): vert_start=h*stride vert_end=vert_start+f horiz_start=w*stride horiz_end=horiz_start+f a_slice_prev=a_prev_pad[vert_start:vert_end,horiz_start:horiz_end,:] Z[i,h,w,c]=np.sum(np.multiply(a_slice_prev,W[:,:,:,c])+b[:,:,:,c]) cache=(A_prev,W,b,hparameters) return Z,cache
转载地址:https://norstc.blog.csdn.net/article/details/83790453 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月13日 13时36分56秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
微服务架构下的分布式数据存储-技术之家
2019-05-04
高龄“潮男”优衣库老板柳井正_榜样_奢华主义_YOKA时尚网
2019-05-04
私人定制!13个在线纹理生成资源网站
2019-05-04
张驰(中国著名男装设计师) - 搜狗百科
2019-05-04
教会徒弟饿死师傅吗
2019-05-04
便利贴女孩_百度百科
2019-05-04
计算机内加减法的溢出处理
2019-05-04
DAO sql 传参
2019-05-04
HTML 一行显示
2019-05-04
上传图片 服务器保存图片
2019-05-04
JS 获取图片、文件数据并封装在json中
2019-05-04
Servlet init()
2019-05-04
JS 加载页面
2019-05-04
VSCode-linux-x64 无法正常安装组件
2019-05-04
Eclipse 使用
2019-05-04
Win10 快捷键
2019-05-04
Chrome 快捷键
2019-05-04
Sublime Text 快捷键
2019-05-04