卷积神经网络中的参数计算
程序员文章站
2022-03-17 15:55:09
...
从keras中运行卷积神经网络我们调用model.summary()
会发现所定义卷积神经网络的参数情况。
我们写这样一个卷积网络:
from keras import models
from keras import layers
model = models.Sequential()
model.add(layers.Conv2D(32, (3,3), activation='relu',input_shape=(28,28,1)))
model.add(layers.MaxPool2D((2,2)))
model.add(layers.Conv2D(64, (3,3), activation='relu'))
model.add(layers.MaxPool2D((2,2)))
model.add(layers.Conv2D(64, (3,3), activation='relu'))
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu'))
model.add(layers.Dense(10, activation='softmax'))
然后再调用model.summary()
得到这样的参数结果。
那么320个参数怎么来的呢?
320 = (3x3x1)x32+32
其中3x3为滤波器大小,1为前一层的channel值,32为滤波器的个数
18496=(3x3x32)x64+64
剩下的以此类推,
dense_1的参数计算:
36928=576x64+64