class_docstr: DefaultNet variant that adds a secondary stream (simple linear layer) with constrained
  weights to learn autoregressive coefficients for numerical time series targets.
code: def forward(self, input):
      with LightwoodAutocast():
          if len(input.shape) == 1:
              input = input.unsqueeze(0)
  
          residual_output = self.net(input)
          ar_output = self.ar_net(input[:, self.ar_idxs])
          if self.ar_net.training:
              self.ar_net._modules["0"].weight = nn.Parameter(
                  torch.clamp(
                      self.ar_net._modules["0"].weight, 0.0, 0.999
                  )
              )  # force unit root
      return ar_output + residual_output
  
file_path: lightwood/lightwood/mixer/helpers/ar_net.py
imports: import torch
  from torch import nn
  from lightwood.mixer.helpers.default_net import DefaultNet
  from lightwood.helpers.torch import LightwoodAutocast
label_desc: Use image node_id 3 for calling the ArNet obj's underlying member method code with example usage: obj.forward(input) and returns: unknown