code: def partial_fit(
      self,
      train_data: EncodedDs,
      dev_data: EncodedDs,
      args: Optional[dict] = None,
  ) -> None:
      self.hyperparam_search = False
      self.train_args = (
          args.get("trainer_args", {}) if args else {}
      )  # NOTE: this replaces the original config
      self.fit(train_data, dev_data)
      self.prepared = True
  
file_path: lightwood/lightwood/mixer/nhits.py
imports: from typing import Dict, Union, Optional
  from copy import deepcopy
  import numpy
  import pandas
  from neuralforecast import NeuralForecast
  from neuralforecast.models.nhits import NHITS
  from neuralforecast.models.nbeats import NBEATS
  from neuralforecast.losses.pytorch import MQLoss
  from lightwood.helpers.log import log
  from lightwood.mixer.base import BaseMixer
  from lightwood.api.types import PredictionArguments
  from lightwood.data.encoded_ds import EncodedDs, ConcatedEncodedDs
label_desc: Use image node_id 3 for calling the NHitsMixer obj's underlying member method code with example usage: obj.partial_fit(train_data, dev_data, args) without return types