---
_import: ../resnet18.yaml
_trainable: true
_gate:
    enable: true
    policy: parametric
    density: 1.0
    pool: avg
    regularizer:
        # l1: 0.000001
        # moe: 0.01
        null
    threshold: online
    trainable: true
model:
    name: resnet18
    layers:
        _gated_conv: &gated_conv
            type: gated_convolution
            gate_params: $(_gate)
            trainable: $(_gate.trainable)
        _basic_block: &bb
            layers:
                conv1: &bb_gated_conv
                    <<: *gated_conv
                    gate_params: $(_gate)
                conv2: {<<: *bb_gated_conv}
                downsample_shortcut: {<<: *bb_gated_conv}
        conv1: {<<: *gated_conv}
        b11: {<<: *bb}
        b12: {<<: *bb}
        b21: {<<: *bb}
        b22: {<<: *bb}
        b31: {<<: *bb}
        b32: {<<: *bb}
        b41: {<<: *bb}
        b42: {<<: *bb}
