def METHOD_NAME(
    input_dim,
    post_enc_relu,
    rnn_type,
    bidirectional,
    num_spk,
    unit,
    att_heads,
    dropout,
    activation,
    norm_type,
    layer,
    segment_size,
    nonlinear,
):
    model = DPTNetSeparator(
        input_dim=input_dim,
        post_enc_relu=post_enc_relu,
        rnn_type=rnn_type,
        bidirectional=bidirectional,
        num_spk=num_spk,
        unit=unit,
        att_heads=att_heads,
        dropout=dropout,
        activation=activation,
        norm_type=norm_type,
        layer=layer,
        segment_size=segment_size,
        nonlinear=nonlinear,
    )
    model.train()
    x = torch.rand(2, 10, input_dim)
    x_lens = torch.tensor([10, 8], dtype=torch.long)
    masked, flens, others = model(x, ilens=x_lens)
    assert isinstance(masked[0], Tensor)
    assert len(masked) == num_spk
    masked[0].abs().mean().backward()