Skip to content Skip to sidebar Skip to footer

Output Of Model.summary() Is Not As Expected Tensorflow 2

I've defined a complex deep learning model, but for the purpose of this question, I'll use a simple one. Consider the following: import tensorflow as tf from tensorflow.keras impor

Solution 1:

There is nothing wrong in model summary in Tensorflow 2.x.

import tensorflow as tf
from tensorflow.keras import layers, models

defsimpleMLP(in_size, hidden_sizes, num_classes, dropout_prob=0.5):
    in_x = layers.Input(shape=(in_size,))
    hidden_x = models.Sequential(name="hidden_layers")
    for i, num_h inenumerate(hidden_sizes):
        hidden_x.add(layers.Dense(num_h, input_shape=(in_size,) if i == 0else []))
        hidden_x.add(layers.Activation('relu'))
        hidden_x.add(layers.Dropout(dropout_prob))
    out_x = layers.Dense(num_classes, activation='softmax', name='baseline')
    return models.Model(inputs=in_x, outputs=out_x(hidden_x(in_x)))

mdl = simpleMLP(28*28, [500, 300], 10)
mdl.summary()

Output:

Model: "functional_1"
_________________________________________________________________Layer (type)                 Output Shape              Param #   
=================================================================
input_1 (InputLayer)         [(None, 784)]             0         
_________________________________________________________________
hidden_layers (Sequential)   (None, 300)               542800    
_________________________________________________________________baseline (Dense)             (None, 10)                3010      
=================================================================
Total params: 545,810
Trainable params: 545,810
Non-trainable params: 0
_________________________________________________________________

You can use get_layer to retrieve a layer on either its name or index.

If name and index are both provided, index will take precedence. Indices are based on order of horizontal graph traversal (bottom-up).

Here to get Sequential layer (i.e. indexed at 1 in mdl) details, you can try

mdl.get_layer(index=1).summary()

Output:

Model: "hidden_layers"
_________________________________________________________________Layer (type)                 Output Shape              Param #   
=================================================================
dense_2 (Dense)              (None, 500)               392500    
_________________________________________________________________
activation_2 (Activation)    (None, 500)               0         
_________________________________________________________________
dropout_2 (Dropout)          (None, 500)               0         
_________________________________________________________________
dense_3 (Dense)              (None, 300)               150300    
_________________________________________________________________
activation_3 (Activation)    (None, 300)               0         
_________________________________________________________________dropout_3 (Dropout)          (None, 300)               0         
=================================================================
Total params: 542,800
Trainable params: 542,800
Non-trainable params: 0
_________________________________________________________________

Post a Comment for "Output Of Model.summary() Is Not As Expected Tensorflow 2"