:py:mod:`mlair.model_modules.residual_networks` =============================================== .. py:module:: mlair.model_modules.residual_networks Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: mlair.model_modules.residual_networks.ResNet Attributes ~~~~~~~~~~ .. autoapisummary:: mlair.model_modules.residual_networks.__author__ mlair.model_modules.residual_networks.__date__ .. py:data:: __author__ :annotation: = Lukas Leufen .. py:data:: __date__ :annotation: = 2022-08-23 .. py:class:: ResNet(input_shape: list, output_shape: list, layer_configuration: list, optimizer='adam', **kwargs) Bases: :py:obj:`mlair.model_modules.convolutional_networks.CNNfromConfig` A convolutional neural network with residual blocks (skip connections). ```python input_shape = [(65,1,9)] output_shape = [(4, )] # model layer_configuration=[ {"type": "Conv2D", "activation": "relu", "kernel_size": (7, 1), "filters": 32, "padding": "same"}, {"type": "MaxPooling2D", "pool_size": (2, 1), "strides": (2, 1)}, {"type": "residual_block", "activation": "relu", "kernel_size": (3, 1), "filters": 32, "strides": (1, 1), "kernel_regularizer": "l2"}, {"type": "residual_block", "activation": "relu", "kernel_size": (3, 1), "filters": 32, "strides": (1, 1), "kernel_regularizer": "l2"}, {"type": "residual_block", "activation": "relu", "kernel_size": (3, 1), "filters": 64, "strides": (1, 1), "kernel_regularizer": "l2", "use_1x1conv": True}, {"type": "residual_block", "activation": "relu", "kernel_size": (3, 1), "filters": 64, "strides": (1, 1), "kernel_regularizer": "l2"}, {"type": "residual_block", "activation": "relu", "kernel_size": (3, 1), "filters": 128, "strides": (1, 1), "kernel_regularizer": "l2", "use_1x1conv": True}, {"type": "residual_block", "activation": "relu", "kernel_size": (3, 1), "filters": 128, "strides": (1, 1), "kernel_regularizer": "l2"}, {"type": "MaxPooling2D", "pool_size": (2, 1), "strides": (2, 1)}, {"type": "Dropout", "rate": 0.25}, {"type": "Flatten"}, {"type": "Dense", "units": 128, "activation": "relu"} ] model = ResNet(input_shape, output_shape, layer_configuration) ``` .. py:method:: residual_block(**layer_kwargs) :staticmethod: .. py:method:: _extract_layer_conf(self, layer_opts)