title: model.summary() can't print output shape while using subclass model
body: <p>This is the two methods for creating a keras model, but the <code>output shapes</code> of the summary results of the two methods are different. Obviously, the former prints more information and makes it easier to check the correctness of the network.</p>
  
  <pre class="lang-py prettyprint-override"><code>import tensorflow as tf
  from tensorflow.keras import Input, layers, Model
  
  class subclass(Model):
      def __init__(self):
          super(subclass, self).__init__()
          self.conv = layers.Conv2D(28, 3, strides=1)
  
      def call(self, x):
          return self.conv(x)
  
  
  def func_api():
      x = Input(shape=(24, 24, 3))
      y = layers.Conv2D(28, 3, strides=1)(x)
      return Model(inputs=[x], outputs=[y])
  
  if __name__ == '__main__':
      func = func_api()
      func.summary()
  
      sub = subclass()
      sub.build(input_shape=(None, 24, 24, 3))
      sub.summary()
  </code></pre>
  
  <p>output：</p>
  
  <pre><code>_________________________________________________________________
  Layer (type)                 Output Shape              Param #   
  =================================================================
  input_1 (InputLayer)         (None, 24, 24, 3)         0         
  _________________________________________________________________
  conv2d (Conv2D)              (None, 22, 22, 28)        784       
  =================================================================
  Total params: 784
  Trainable params: 784
  Non-trainable params: 0
  _________________________________________________________________
  _________________________________________________________________
  Layer (type)                 Output Shape              Param #   
  =================================================================
  conv2d_1 (Conv2D)            multiple                  784       
  =================================================================
  Total params: 784
  Trainable params: 784
  Non-trainable params: 0
  _________________________________________________________________
  </code></pre>
  
  <p>So, how should I use the subclass method to get the <code>output shape</code> at the summary()?</p>