code: def __init__(self, din: int, dout: int):
      self.scale = QHParam(jnp.array(0.5))
      self.zero_point = QHParam(jnp.array(0.5))
      self.qkernel = QParam(jnp.zeros((din, dout)))
      self.qbias = QParam(jnp.zeros((dout,)))
  
imports: import typing
  from functools import partial
  import jax
  import jax.numpy
  import matplotlib.pyplot
  import numpy
  import optax
  from datasets import load_dataset
  from flax.experimental import nnx
label_desc: Use image node_id 1 to create a new QLinear object from inherited base classes: nnx with example: obj = QLinear(din, dout)