def METHOD_NAME(
    test_case,
    device,
    quantization_formula,
    quantization_bit,
    quantization_scheme,
    weight_quant_per_layer,
    input_quant_momentum,
):
    batch_size = random.randint(1, 5)
    input_channels = random.randint(1, 3)
    output_channels = random.randint(1, 3)
    spatial_size = random.randint(8, 16)
    kernel_size = random.randint(1, 3)
    stride = random.randint(1, 2)
    padding = random.randint(0, 2)
    qat_conv3d = flow.nn.QatConv3d(
        in_channels=input_channels,
        out_channels=output_channels,
        kernel_size=kernel_size,
        stride=stride,
        padding=padding,
        quantization_formula=quantization_formula,
        quantization_bit=quantization_bit,
        quantization_scheme=quantization_scheme,
        weight_quant_per_layer=weight_quant_per_layer,
        input_quant_momentum=input_quant_momentum,
    ).to(device)
    qat_input = flow.rand(
        batch_size,
        input_channels,
        spatial_size,
        spatial_size,
        spatial_size,
        dtype=flow.float32,
        requires_grad=True,
        device=device,
    )
    qat_out = qat_conv3d(qat_input)
    qat_out.sum().backward()
    qat_out.numpy()
    qat_input.grad.numpy()