def METHOD_NAME(self):
    for qengine in supported_qengines:
        with override_quantized_engine(qengine):
            torch.manual_seed(67)
            calib_data = torch.rand(2048, 3, 15, 15, dtype=torch.float32)
            eval_data = torch.rand(10, 3, 15, 15, dtype=torch.float32)
            qconfigset = {torch.ao.quantization.default_weight_only_qconfig,
                          torch.ao.quantization.default_activation_only_qconfig}
            SQNRTarget = [35, 45]
            for idx, qconfig in enumerate(qconfigset):
                my_model = ModelMultipleOpsNoAvgPool().to(torch.float32)
                my_model.eval()
                out_ref = my_model(eval_data)
                fq_model = torch.ao.quantization.QuantWrapper(my_model)
                fq_model.train()
                fq_model.qconfig = qconfig
                torch.ao.quantization.fuse_modules_qat(fq_model.module, [['conv1', 'bn1', 'relu1']], inplace=True)
                torch.ao.quantization.prepare_qat(fq_model)
                fq_model.eval()
                fq_model.apply(torch.ao.quantization.disable_fake_quant)
                fq_model.apply(torch.ao.nn.intrinsic.qat.freeze_bn_stats)
                fq_model(calib_data)
                fq_model.apply(torch.ao.quantization.enable_fake_quant)
                fq_model.apply(torch.ao.quantization.disable_observer)
                out_fq = fq_model(eval_data)
                SQNRdB = 20 * torch.log10(torch.norm(out_ref) / torch.norm(out_ref - out_fq))
                self.assertGreater(SQNRdB, SQNRTarget[idx], msg='Quantized model numerics diverge from float')