docstr: Define model layers & loss.
code: def __build_model(self):
      """Define model layers & loss."""
  
      # 1. Load pre-trained network:
      model_func = getattr(models, self.backbone)
      backbone = model_func(pretrained=True)
  
      _layers = list(backbone.children())[:-1]
      self.feature_extractor = nn.Sequential(*_layers)
  
      # 2. Classifier:
      _fc_layers = [
          nn.Linear(512, 256),
          nn.ReLU(),
          nn.Linear(256, 32),
          nn.Linear(32, 1),
      ]
      self.fc = nn.Sequential(*_fc_layers)
  
      # 3. Loss:
      self.loss_func = F.binary_cross_entropy_with_logits
  
imports: import logging
  from pathlib import Path
  from typing import Union
  import numpy
  import torch
  import torch.nn.functional
  from torch import nn, optim
  from torch.optim.lr_scheduler import MultiStepLR
  from torch.optim.optimizer import Optimizer
  from torch.utils.data import DataLoader, Subset
  from torchmetrics.classification import MulticlassAccuracy
  from torchvision import models, transforms
  from torchvision.datasets import ImageFolder
  from torchvision.datasets.utils import download_and_extract_archive
  from pytorch_lightning import LightningDataModule, LightningModule
  from pytorch_lightning.callbacks.finetuning import BaseFinetuning
  from pytorch_lightning.utilities.rank_zero import rank_zero_info
label_desc: Use image node_id 2 for calling the TransferLearningModel obj's underlying member method code with example usage: obj.__build_model() without return types