code: def _calculate_feature_importance(self):
      n, h, f, _ = self.attention_weights_[0].shape
      device = self.attention_weights_[0].device
      L = len(self.attention_weights_)
      self.local_feature_importance = torch.zeros((n, f), device=device)
      for attn_weights in self.attention_weights_:
          self.local_feature_importance += attn_weights[
              :, :, :, -1
          ].sum(dim=1)
      self.local_feature_importance = (
          1 / (h * L)
      ) * self.local_feature_importance[:, :-1]
      self.feature_importance_ = (
          self.local_feature_importance.mean(dim=0)
          .detach()
          .cpu()
          .numpy()
      )
  
imports: from collections import OrderedDict
  import torch
  import torch.nn
  from omegaconf import DictConfig
  from pytorch_tabular.models.common.layers.batch_norm import BatchNorm1d
  from ..base_model import BaseModel
  from ..common.layers import AppendCLSToken, Embedding2dLayer, TransformerEncoderBlock
label_desc: Use image node_id 5 for calling the FTTransformerBackbone obj's underlying member method code with example usage: obj._calculate_feature_importance() without return types