卷积神经网络输出特征尺寸计算

# -*- coding: utf-8 -*-
"""
Created on Mon Aug  2 10:16:40 2021

@author: Yang Hongyun
卷积神将网络的计算公式为:
卷积中的特征图大小计算方式有两种,分别是‘VALID’和‘SAME’,卷积和池化都适用,除不尽的结果都向上取整。
1、如果计算方式采用:padding='valid'---默认方式
N=(W-F)/S+1, 其中W为输入,F为卷积核尺寸,S为stride大小
如Input=(224,224),kernel_size=3,stride=2,
则N=(224-3)/2+1=111
2、如果计算方式采用'SAME',卷积后的特征图大小跟卷积核大小无关,只跟卷积所用的步长有关,当卷积步长是1时,卷积前后特征图大小保持不变
N=W/S。  默认步长stride=1
"""
import tensorflow 
from keras.datasets import mnist  #数据集
from keras.layers import Dense,Dropout,Flatten,Conv2D,MaxPool2D,Input  #神经网络层导入
from keras.models import Sequential,Model #模型类型:Sequential序列模型和Model函数模型
inputs=Input(shape=(224,224,3))
x=Conv2D(filters=32,kernel_size=3,strides=2,padding='same',activation='relu')(inputs)
x=MaxPool2D(pool_size=(2,2))(x)
x=Dropout(0.25)(x)

x=Conv2D(filters=64,kernel_size=(3,3),activation='relu')(x)
x=MaxPool2D(pool_size=(2,2))(x)
x=Dropout(0.25)(x)

x=Flatten()(x)

x=Dense(128,activation='relu')(x)
x=Dropout(0.45)(x)
outputs=Dense(10,activation='softmax')(x)

model=Model(input=inputs,output=outputs)

print(model.summary())

输出结果如下:

_________________________________________________________________
Layer (type)                 Output Shape                            Param #   
=================================================================
input_5 (InputLayer)         (None, 224, 224, 3)                 0         
_________________________________________________________________
conv2d_5 (Conv2D)            (None, 112, 112, 32)            896       
_________________________________________________________________
max_pooling2d_5 (MaxPooling2 (None, 56, 56, 32)        0         
_________________________________________________________________
dropout_9 (Dropout)          (None, 56, 56, 32)                  0         
_________________________________________________________________
conv2d_6 (Conv2D)            (None, 54, 54, 64)               18496     
_________________________________________________________________
max_pooling2d_6 (MaxPooling2 (None, 27, 27, 64)        0         
_________________________________________________________________
dropout_10 (Dropout)         (None, 27, 27, 64)                 0         
_________________________________________________________________
flatten_5 (Flatten)          (None, 46656)                            0         
_________________________________________________________________
dense_9 (Dense)              (None, 128)                         5972096   
_________________________________________________________________
dropout_11 (Dropout)         (None, 128)                           0         
_________________________________________________________________
dense_10 (Dense)             (None, 10)                            1290      
=================================================================
Total params: 5,992,778
Trainable params: 5,992,778
Non-trainable params: 0
_________________________________________________________________

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值