class_docstr: create a backbone-based generator:
  This is simply an encoder
  (can be used in classification, regression, metric learning and so one)
docstr: Create a backbonebasedmodel from the compact options format - where the
  same convolution is given for each layer, and arguments are given
  in lists
docstr_tok: ["Create","a","backbonebasedmodel","from","the","compact","options","format","-","where","the","same","convolution","is","given","for","each","layer",",","and","arguments","are","given","in","lists"]
code: def _init_from_compact_format(
      self, opt, model_type, dataset, modules_lib
  ):
      """Create a backbonebasedmodel from the compact options format - where the
      same convolution is given for each layer, and arguments are given
      in lists
      """
      num_convs = len(opt.down_conv.down_conv_nn)
      self.down_modules = nn.ModuleList()
      factory_module_cls = self._get_factory(model_type, modules_lib)
      down_conv_cls_name = opt.down_conv.module_name
      self._factory_module = factory_module_cls(
          down_conv_cls_name, None, modules_lib
      )
      # Down modules
      for i in range(num_convs):
          args = self._fetch_arguments(opt.down_conv, i, "DOWN")
          conv_cls = self._get_from_kwargs(args, "conv_cls")
          down_module = conv_cls(**args)
          self._save_sampling_and_search(down_module)
          self.down_modules.append(down_module)
  
      (
          self.metric_loss_module,
          self.miner_module,
      ) = BaseModel.get_metric_loss_and_miner(
          getattr(opt, "metric_loss", None), getattr(opt, "miner", None)
      )
  
imports: from torch import nn
  from torch_geometric.nn import global_max_pool, global_mean_pool, fps, radius, knn_interpolate
  from torch.nn import Linear, ReLU, LeakyReLU, BatchNorm1d, Dropout
  from omegaconf.listconfig import ListConfig
  from omegaconf.dictconfig import DictConfig
  import logging
  from torch_points3d.datasets.base_dataset import BaseDataset
  from torch_points3d.models.base_model import BaseModel
  from torch_points3d.models.base_architectures import BaseFactory
  from torch_points3d.core.common_modules.base_modules import Identity
  from torch_points3d.core.losses import instantiate_loss_or_miner
  from torch_points3d.utils.config import is_list
label_desc: Use image node_id 4 for calling the BackboneBasedModel obj's underlying member method code with example usage: obj._init_from_compact_format(opt, model_type, dataset, modules_lib) without return types