code: def get_rnnt_joint(
      vocab_size,
      vocabulary=None,
      encoder_output_size=4,
      decoder_output_size=4,
      joint_output_shape=4,
  ):
      jointnet_cfg = {
          "encoder_hidden": encoder_output_size,
          "pred_hidden": decoder_output_size,
          "joint_hidden": joint_output_shape,
          "activation": "relu",
      }
      torch.manual_seed(0)
      joint = RNNTJoint(jointnet_cfg, vocab_size, vocabulary=vocabulary)
      joint.freeze()
      return joint
  
imports: import os
  from functools import lru_cache
  import pytest
  import torch
  from omegaconf import DictConfig
  from nemo.collections.asr.models import ASRModel
  from nemo.collections.asr.modules import RNNTDecoder, RNNTJoint
  from nemo.collections.asr.parts.mixins import mixins
  from nemo.collections.asr.parts.submodules import rnnt_beam_decoding
  from nemo.collections.asr.parts.submodules import rnnt_greedy_decoding
  from nemo.collections.asr.parts.submodules.rnnt_decoding import RNNTBPEDecoding, RNNTDecoding, RNNTDecodingConfig
  from nemo.collections.asr.parts.utils import rnnt_utils
  from nemo.core.utils import numba_utils
  from nemo.core.utils.numba_utils import __NUMBA_MINIMUM_VERSION__
label_desc: Use image node_id 4 for calling a global function with example usage: get_rnnt_joint(vocab_size, vocabulary, encoder_output_size, decoder_output_size, joint_output_shape) and returns: joint