Keras: How to get layer shapes in a Sequential model
deep-learning, keras, python, tensorflow, theano
Solution
According to official doc for Keras Layer, one can access layer output/input shape via `layer.output_shape` or `layer.input_shape`.
from keras.models import Sequential
from keras.layers import Conv2D, MaxPool2D
model = Sequential(layers=[
Conv2D(32, (3, 3), input_shape=(64, 64, 3)),
MaxPool2D(pool_size=(3, 3), strides=(2, 2))
])
for layer in model.layers:
print(layer.output_shape)
# Output
# (None, 62, 62, 32)
# (None, 30, 30, 32)
Problem
I would like to access the layer size of all the layers in a `Sequential` Keras model. My code: ``` model = Sequential() model.add(Conv2D(filters=32, kernel_size=(3,3), input_shape=(64,64,3) )) model.add(MaxPooling2D(pool_size=(3,3), strides=(2,2))) ``` Then I would like some code like the following to work ``` for layer in model.layers: print(layer.get_shape()) ``` .. but it doesn't. I get the error: `AttributeError: 'Conv2D' object has no attribute 'get_shape'`