看深度学习的书,有讲卷积相关的内容。

 1 from tensorflow import keras
 2 from tensorflow.keras import layers
 3 inputs = keras.Input(shape=(28, 28, 1))
 4 x = layers.Conv2D(filters=32, kernel_size=3, activation="relu")(inputs)
 5 x = layers.MaxPooling2D(pool_size=2)(x)
 6 x = layers.Conv2D(filters=64, kernel_size=3, activation="relu")(x)
 7 x = layers.MaxPooling2D(pool_size=2)(x)
 8 x = layers.Conv2D(filters=128, kernel_size=3, activation="relu")(x)
 9 x = layers.Flatten()(x)
10 outputs = layers.Dense(10, activation="softmax")(x)
11 model = keras.Model(inputs=inputs, outputs=outputs)

对于不同层之间,是怎么把32个卷积层转换成64个的,这个没搞明白,很多资料也没有说,有的画的图也不对。

没办法,自己画一个吧。

为了好画图,这里输入数据是2通道,filters取3。

 这样,一层的运算就结束了,结果堆叠的层数就是Conv2d的filter数。其结果作为下一层的输入,跟这个图一样,就不画了。