Qwen35.Config(
        channels_in=16,
        channels_out=32,
        num_layers=2,
        proj_in=Embedding.Config(
            channels_in=32,
            channels_out=16,
            padding_idx=None,
            device=None,
            dtype=None,
            lookup_dtype=None,
            shard=None,
            depth_index=(),
            init_weight=functools.partial(torch.nn.init.normal_, std=0.02)
        ),
        block=[
        │   TransformerBlock.Config(
        │       channels_in=16,
        │       channels_out=16,
        │       attn=Qwen35GatedDeltaNet.Config(
        │           channels_in=16,
        │           channels_out=16,
        │           num_heads_k=1,
        │           num_heads_v=2,
        │           channels_k_head=4,
        │           channels_v_head=4,
        │           conv_kernel_size=4,
        │           norm=Qwen35RMSNormGated.Config(channels_in=4, eps=1e-06),
        │           init_weight=functools.partial(torch.nn.init.normal_, std=0.02),
        │           init_conv_weight=priml.model.init.kaiming_uniform,
        │           init_decay=priml.model.attention.qwen3_5_delta._init_decay,
        │           depth_index=((0, 2),)
        │       ),
        │       ffn=SwiGLU.Config(
        │           channels_in=16,
        │           channels_out=16,
        │           channels_hidden=24,
        │           expansion=2.6666666666666665,
        │           round_to=256,
        │           gate=True,
        │           bias=False,
        │           split_gate_projection=False,
        │           norm=None,
        │           act=priml.model.swiglu.silu,
        │           depth_index=((0, 2),),
        │           init_weight=functools.partial(torch.nn.init.normal_, std=0.02),
        │           init_weight_out=functools.partial(torch.nn.init.normal_, std=0.02),
        │           up_proj=None,
        │           middle=None,
        │           down_proj=None,
        │           shard='colwise'
        │       ),
        │       norm1=CenteredRMSNorm.Config(
        │           channels_in=16,
        │           channels_out=16,
        │           eps=1e-06
        │       ),
        │       norm2=CenteredRMSNorm.Config(
        │           channels_in=16,
        │           channels_out=16,
        │           eps=1e-06
        │       ),
        │       prenorm=True,
        │       checkpoint=False,
        │       depth_index=((0, 2),)
        │   ),
        │   TransformerBlock.Config(
        │       channels_in=16,
        │       channels_out=16,
        │       attn=GatedAttention.Config(
        │           channels_in=16,
        │           channels_out=16,
        │           num_heads=2,
        │           num_heads_kv=1,
        │           channels_head=8,
        │           bias=False,
        │           dropout=0.0,
        │           norm_qk=CenteredRMSNorm.Config(
        │               channels_in=8,
        │               channels_out=8,
        │               eps=1e-06
        │           ),
        │           rope=RoPE.Config(
        │               channels_head=4,
        │               reduction_mode='cat',
        │               frequencies=HuggingFaceFrequencies.Config(base=10000.0),
        │               dtype=torch.float32
        │           ),
        │           attn_kernel=SdpaNaive.Config(),
        │           init_weight=functools.partial(torch.nn.init.normal_, std=0.02),
        │           depth_index=((1, 2),)
        │       ),
        │       ffn=SwiGLU.Config(
        │           channels_in=16,
        │           channels_out=16,
        │           channels_hidden=24,
        │           expansion=2.6666666666666665,
        │           round_to=256,
        │           gate=True,
        │           bias=False,
        │           split_gate_projection=False,
        │           norm=None,
        │           act=priml.model.swiglu.silu,
        │           depth_index=((1, 2),),
        │           init_weight=functools.partial(torch.nn.init.normal_, std=0.02),
        │           init_weight_out=functools.partial(torch.nn.init.normal_, std=0.02),
        │           up_proj=None,
        │           middle=None,
        │           down_proj=None,
        │           shard='colwise'
        │       ),
        │       norm1=CenteredRMSNorm.Config(
        │           channels_in=16,
        │           channels_out=16,
        │           eps=1e-06
        │       ),
        │       norm2=CenteredRMSNorm.Config(
        │           channels_in=16,
        │           channels_out=16,
        │           eps=1e-06
        │       ),
        │       prenorm=True,
        │       checkpoint=False,
        │       depth_index=((1, 2),)
        │   )
        ],
        proj_out=Linear.Config(
            channels_in=16,
            channels_out=32,
            bias=False,
            depth_index=(),
            device=None,
            dtype=None,
            init_weight=functools.partial(torch.nn.init.normal_, std=0.02),
            init_bias=torch.nn.init.zeros_,
            linear_fn=<built-in function linear>,
            shard=None
        ),
        norm=CenteredRMSNorm.Config(channels_in=16, channels_out=16, eps=1e-06)
    )
