博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机器学习工程师 - Udacity 卷积层的维度计算
阅读量:4145 次
发布时间:2019-05-25

本文共 1377 字,大约阅读时间需要 4 分钟。

from keras.models import Sequential

from keras.layers import Conv2D

model = Sequential()

model.add(Conv2D(filters=16, kernel_size=2, strides=2, padding='valid', 
    activation='relu', input_shape=(200, 200, 1)))
model.summary()

 

from keras.models import Sequentialfrom keras.layers import Conv2Dmodel = Sequential()model.add(Conv2D(filters=16, kernel_size=2, strides=2, padding='valid',     activation='relu', input_shape=(200, 200, 1)))model.summary()

复制代码

注意卷积层中的参数数量是如何变化的。对应的是输出内容中的 Param # 下的值。在上图中,卷积层具有 80 个参数。

同时注意卷积层的形状是如何变化的。对应的是输出内容中的 Output Shape 下的值。在上图中,None 对应的是批次大小,卷积层的高度为 100,宽度为 100,深度为 16。

公式:卷积层中的参数数量

卷积层中的参数数量取决于 filters、kernel_size 和 input_shape 的值。我们定义几个变量:

K - 卷积层中的过滤器数量

F - 卷积过滤器的高度和宽度
D_in - 上一层级的深度
注意:K = filters,F = kernel_size。类似地,D_in 是 input_shape 元组中的最后一个值。

因为每个过滤器有 F*F*D_in 个权重,卷积层由 K 个过滤器组成,因此卷积层中的权重总数是 K*F*F*D_in。因为每个过滤器有 1 个偏差项,卷积层有 K 个偏差。因此,卷积层中的参数数量是 K*F*F*D_in + K。

公式:卷积层的形状

卷积层的形状取决于 kernel_size、input_shape、padding 和 stride 的值。我们定义几个变量:

K - 卷积层中的过滤器数量

F - 卷积过滤器的高度和宽度
H_in - 上一层级的高度
W_in - 上一层级的宽度
注意:K = filters、F = kernel_size,以及S = stride。类似地,H_in 和 W_in 分别是 input_shape 元组的第一个和第二个值。

卷积层的深度始终为过滤器数量 K。

如果 padding = 'same',那么卷积层的空间维度如下:

height = ceil(float(H_in) / float(S))

width = ceil(float(W_in) / float(S))
如果 padding = 'valid',那么卷积层的空间维度如下:

height = ceil(float(H_in - F + 1) / float(S))

width = ceil(float(W_in - F + 1) / float(S))

转载地址:http://ppfti.baihongyu.com/

你可能感兴趣的文章
Oracle 分组排序函数
查看>>
删除weblogic 域
查看>>
VMware Workstation 14中文破解版下载(附密钥)(笔记)
查看>>
日志框架学习
查看>>
日志框架学习2
查看>>
SVN-无法查看log,提示Want to go offline,时间显示1970问题,error主要是 url中 有一层的中文进行了2次encode
查看>>
NGINX
查看>>
Qt文件夹选择对话框
查看>>
1062 Talent and Virtue (25 分)
查看>>
1061 Dating (20 分)
查看>>
1060 Are They Equal (25 分)
查看>>
83. Remove Duplicates from Sorted List(easy)
查看>>
88. Merge Sorted Array(easy)
查看>>
leetcode刷题191 位1的个数 Number of 1 Bits(简单) Python Java
查看>>
leetcode刷题198 打家劫舍 House Robber(简单) Python Java
查看>>
NG深度学习第一门课作业2 通过一个隐藏层的神经网络来做平面数据的分类
查看>>
leetcode刷题234 回文链表 Palindrome Linked List(简单) Python Java
查看>>
NG深度学习第二门课作业1-1 深度学习的实践
查看>>
Ubuntu下安装Qt
查看>>
Qt札记
查看>>