U “PÓhÈã@s’ddlmZddlZddlmZmZmZmZm Z ddl m Z ddddgZ dd d d d œd d„Z d dœdd„Zddd dœdd„Zdd d dœdd„ZdS)é)Ú annotationsN)ÚActÚDropoutÚNormÚPoolÚ split_args)Ú has_optionÚget_norm_layerÚ get_act_layerÚget_dropout_layerÚget_pool_layeréz tuple | strz int | None)ÚnameÚ spatial_dimsÚchannelscCsp|dkrtj ¡St|ƒ\}}t||f}t|ƒ}t|dƒrLd|krL||d<t|dƒrfd|krf||d<|f|ŽS)a~ Create a normalization layer instance. For example, to create normalization layers: .. code-block:: python from monai.networks.layers import get_norm_layer g_layer = get_norm_layer(name=("group", {"num_groups": 1})) n_layer = get_norm_layer(name="instance", spatial_dims=2) Args: name: a normalization type string or a tuple of type string and parameters. spatial_dims: number of spatial dimensions of the input. channels: number of features/channels when the normalization layer requires this parameter but it is not specified in the norm parameters. ÚÚ num_featuresÚ num_channels)ÚtorchÚnnÚIdentityrrÚdictr)rrrZ norm_nameZ norm_argsÚ norm_typeÚkw_args©rúP/home/dell461/cl/sdc2/HISourceFinder-master-l/src/monai/networks/layers/utils.pyr s   )rcCs0|dkrtj ¡St|ƒ\}}t|}|f|ŽS)a“ Create an activation layer instance. For example, to create activation layers: .. code-block:: python from monai.networks.layers import get_act_layer s_layer = get_act_layer(name="swish") p_layer = get_act_layer(name=("prelu", {"num_parameters": 1, "init": 0.25})) Args: name: an activation type string or a tuple of type string and parameters. r)rrrrr)rZact_nameZact_argsZact_typerrrr 5s   ztuple | str | float | int)rÚ dropout_dimcCsV|dkrtj ¡St|ttfƒr4tj}dt|ƒi}n t|ƒ\}}t||f}|f|ŽS)aÅ Create a dropout layer instance. For example, to create dropout layers: .. code-block:: python from monai.networks.layers import get_dropout_layer d_layer = get_dropout_layer(name="dropout") a_layer = get_dropout_layer(name=("alphadropout", {"p": 0.25})) Args: name: a dropout ratio or a tuple of dropout type and parameters. dropout_dim: the spatial dimension of the dropout operation. rÚp) rrrÚ isinstanceÚintÚfloatrZDROPOUTr)rrZ drop_nameZ drop_argsZ drop_typerrrr Ls   )rrcCs4|dkrtj ¡St|ƒ\}}t||f}|f|ŽS)a¬ Create a pooling layer instance. For example, to create adaptiveavg layer: .. code-block:: python from monai.networks.layers import get_pool_layer pool_layer = get_pool_layer(("adaptiveavg", {"output_size": (1, 1, 1)}), spatial_dims=3) Args: name: a pooling type string or a tuple of type string and parameters. spatial_dims: number of spatial dimensions of the input. r)rrrrr)rrZ pool_nameZ pool_argsZ pool_typerrrr is    )r r )r )r )Ú __future__rÚtorch.nnrÚmonai.networks.layers.factoriesrrrrrÚ monai.utilsrÚ__all__r r r r rrrrÚ s