code: def __init__(
      self,
      parameters: Dict[str, Any],
      backbone: str,
      backbone_kwargs: Optional[Dict[str, Any]] = None,
      loss_fn: Optional[Callable] = None,
      optimizer: OPTIMIZER_TYPE = "Adam",
      lr_scheduler: LR_SCHEDULER_TYPE = None,
      metrics: Union[
          torchmetrics.Metric, List[torchmetrics.Metric]
      ] = None,
      learning_rate: Optional[float] = None,
  ):
      self.save_hyperparameters()
  
      if backbone_kwargs is None:
          backbone_kwargs = {}
  
      metadata = self.backbones.get(backbone, with_metadata=True)
      adapter = metadata["metadata"]["adapter"].from_task(
          self,
          parameters=parameters,
          backbone=backbone,
          backbone_kwargs=backbone_kwargs,
          loss_fn=loss_fn,
          metrics=metrics,
      )
  
      super().__init__(
          adapter,
          learning_rate=learning_rate,
          optimizer=optimizer,
          lr_scheduler=lr_scheduler,
      )
  
file_path: lightning-flash/src/flash/tabular/forecasting/model.py
imports: from typing import Any, Callable, Dict, List, Optional, Union
  import torchmetrics
  from pytorch_lightning import LightningModule
  from flash.core.adapter import AdapterTask
  from flash.core.integrations.pytorch_forecasting.adapter import PyTorchForecastingAdapter
  from flash.core.integrations.pytorch_forecasting.backbones import PYTORCH_FORECASTING_BACKBONES
  from flash.core.registry import FlashRegistry
  from flash.core.utilities.types import LR_SCHEDULER_TYPE, OPTIMIZER_TYPE
label_desc: Use image node_id 1 to create a new TabularForecaster object from inherited base classes: AdapterTask with example: obj = TabularForecaster(parameters, backbone, backbone_kwargs, loss_fn, optimizer, lr_scheduler, metrics, learning_rate)