smash.factory.Net.layers#

property Net.layers[source]#

List of Layer objects defining the graph of the network.

Examples

>>> from smash.factory import Net
>>> net = Net()
>>> net.add_dense(32, input_shape=6, activation="relu")
>>> net.add_dropout(0.2)
>>> net
+-------------------------------------------------------+
| Layer Type         Input/Output Shape  Num Parameters |
+-------------------------------------------------------+
| Dense              (6,)/(32,)          224            |
| Activation (ReLU)  (32,)/(32,)         0              |
| Dropout            (32,)/(32,)         0              |
+-------------------------------------------------------+
Total parameters: 224
Trainable parameters: 224

If you are using IPython, tab completion allows you to visualize all the attributes and methods of each Layer object:

>>> layer_1 = net.layers[0]
>>> layer_1.<TAB>
layer_1.bias                layer_1.n_params()
layer_1.bias_initializer    layer_1.neurons
layer_1.bias_shape          layer_1.output_shape()
layer_1.input_shape         layer_1.trainable
layer_1.kernel_initializer  layer_1.weight
layer_1.layer_input         layer_1.weight_shape
layer_1.layer_name()
>>> layer_2 = net.layers[1]
>>> layer_2.<TAB>
layer_2.activation_name  layer_2.output_shape(
layer_2.input_shape      layer_2.n_params(
layer_2.layer_name(      layer_2.trainable
>>> layer_3 = net.layers[2]
>>> layer_3.<TAB>
layer_3.drop_rate      layer_3.n_params(
layer_3.input_shape    layer_3.output_shape(
layer_3.layer_name(    layer_3.trainable