code: def synth_learner(
      n_trn=10,
      n_val=2,
      cuda=False,
      lr=1e-3,
      data=None,
      model=None,
      **kwargs,
  ):
      if data is None:
          data = synth_dbunch(n_train=n_trn, n_valid=n_val, cuda=cuda)
      if model is None:
          model = RegModel()
      return Learner(
          data,
          model,
          lr=lr,
          loss_func=MSELossFlat(),
          opt_func=partial(SGD, mom=0.9),
          **kwargs,
      )
  
imports: from __future__ import annotations
  from .imports import *
  from .data.all import *
  from .optimizer import *
  from .learner import *
  from .callback.core import *
  from torch.utils.data import TensorDataset
  from torch.utils.data import TensorDataset
label_desc: Use image node_id 2 for calling a global function with example usage: synth_learner(n_trn, n_val, cuda, lr, data, model) and returns: Learner