code: def __init__(self, h, w, inp, filters=128, conv=3):
      self.h, self.w = h, w
      self.inp = inp
      # init weights
      self.cweights = [
          Tensor.scaled_uniform(
              filters, inp if i == 0 else filters, conv, conv
          )
          for i in range(3)
      ]
      self.cbiases = [
          Tensor.scaled_uniform(1, filters, 1, 1) for i in range(3)
      ]
      # init layers
      self._bn = BatchNorm2d(128)
      self._seb = SqueezeExciteBlock2D(filters)
  
imports: import sys
  import numpy
  from tinygrad.nn.state import get_parameters
  from tinygrad.tensor import Tensor
  from tinygrad.nn import BatchNorm2d, optim
  from tinygrad.helpers import getenv
  from extra.datasets import fetch_mnist
  from extra.augment import augment_img
  from extra.training import train, evaluate
label_desc: Use image node_id 1 to create a new ConvBlock object  with example: obj = ConvBlock(h, w, inp, filters, conv)