docstr: Test QuantizedLinear forward method by giving in the input and
  weight values that are already quantized, therefore the quantization
  step should have no effect on the values and we know what values
  are expected
code: def test_dynamic_quantized_linear_forward(self):
      """Test QuantizedLinear forward method by giving in the input and
      weight values that are already quantized, therefore the quantization
      step should have no effect on the values and we know what values
      are expected"""
      x = torch.randn(1, 100).mul(127.0).round().clamp(-127.0, 127.0)
      qlinear = QuantizedLinear(
          100, 1, bias=False, requantize_output=False, mode="dynamic"
      )
      with torch.no_grad():
          scale = 127.0 / qlinear.weight.abs().max()
      self.assertTrue(
          (
              qlinear.fake_quantized_weight
              == fake_quantize_np(qlinear.weight.detach(), scale, 8)
          ).all()
      )
      qlinear.weight.data = (
          torch.randn_like(qlinear.weight)
          .mul(127.0)
          .round()
          .clamp(-127.0, 127.0)
      )
      y = qlinear(x)
      self.assertEqual(y.shape, (1, 1))
      self.assertTrue((y == (x @ qlinear.weight.t())).all())
  
imports: import unittest
  import numpy
  import torch
  from torch import nn
  from torch.nn import functional
  from nlp_architect.nn.torch.quantization import FakeLinearQuantizationWithSTE, QuantizedLinear, get_dynamic_scale, get_scale, QuantizedEmbedding
label_desc: Use image node_id 1 for calling the QuantizedLinearTest obj's underlying member method code with example usage: obj.test_dynamic_quantized_linear_forward() without return types