diff --git a/matrixgame/model_variants/matrixgame_dit_src/activation_layers.py b/matrixgame/model_variants/matrixgame_dit_src/activation_layers.py new file mode 100644 index 0000000..f8774c2 --- /dev/null +++ b/matrixgame/model_variants/matrixgame_dit_src/activation_layers.py @@ -0,0 +1,23 @@ +import torch.nn as nn + + +def get_activation_layer(act_type): + """get activation layer + + Args: + act_type (str): the activation type + + Returns: + torch.nn.functional: the activation layer + """ + if act_type == "gelu": + return lambda: nn.GELU() + elif act_type == "gelu_tanh": + # Approximate `tanh` requires torch >= 1.13 + return lambda: nn.GELU(approximate="tanh") + elif act_type == "relu": + return nn.ReLU + elif act_type == "silu": + return nn.SiLU + else: + raise ValueError(f"Unknown activation type: {act_type}")