部分源码
x = tf.random.normal([1, 227, 227, 3])
alexnet = keras.Sequential([
keras.layers.Conv2D(96, 11, 4, padding = "same"),
keras.layers.ReLU(),
keras.layers.MaxPooling2D((3,3),2),
keras.layers.BatchNormalization(),
keras.layers.Conv2D(256, 5, 1, padding = "same"),
keras.layers.ReLU(),
keras.layers.MaxPooling2D((3,3),2),
keras.layers.BatchNormalization(),
keras.layers.Conv2D(384, 3, 1, padding = "same"),
keras.layers.ReLU(),
keras.layers.Conv2D(128, 3, 4, padding = "same"),
keras.layers.ReLU(),
keras.layers.Flatten(), #拉平
keras.layers.Dense(4096),
keras.layers.ReLU(),
keras.layers.Dense(1000),
keras.layers.Softmax()
])
# alexnet(x).shape
# alexnet.build(input_shape = [None, 227, 227, 3])
alexnet.summary()
在输出模型遇到一个问题,报错如下:
This model has not yet been built. Build the model first by calling build()
or calling fit()
with some data, or specify an input_shape
argument in the first layer(s) for automatic build.
解决:原因是没有构建模型的输入方式,建立方式如上文注释处,参数None是样本数。227,227,3是输入的大小