code: def compute_global_local(
      self,
      F,
      feat_static_cat: Tensor,  # (batch_size, 1)
      time_feat: Tensor,  # (batch_size, history_length, num_features)
  ) -> Tuple[
      Tensor, Tensor
  ]:  # both of size (batch_size, history_length, 1)
      cat, local_input = self.assemble_features(
          F, feat_static_cat, time_feat
      )
      loadings = self.loading(cat)  # (batch_size, num_factors)
      global_factors = self.global_model(
          time_feat
      )  # (batch_size, history_length, num_factors)
  
      fixed_effect = F.batch_dot(
          global_factors, loadings.expand_dims(axis=2)
      )  # (batch_size, history_length, 1)
      random_effect = F.log(
          F.exp(self.local_model(local_input)) + 1.0
      )  # (batch_size, history_length, 1)
      return F.exp(fixed_effect), random_effect
  
file_path: gluonts/src/gluonts/mx/model/deep_factor/_network.py
imports: from typing import Tuple
  import math
  from mxnet.gluon import HybridBlock, nn
  from gluonts.core.component import validated
  from gluonts.mx import Tensor
  from gluonts.mx.block.feature import FeatureEmbedder
label_desc: Use image node_id 3 for calling the DeepFactorNetworkBase obj's underlying member method code with example usage: obj.compute_global_local(F, feat_static_cat, time_feat) and returns: F,  random_effect