class_docstr: Computes joint tensor between Transcription network (TN) & Prediction network (PN)
  
  Arguments
  ---------
  joint_network : torch.class (neural network modules)
      if joint == "concat", we call this network after the concatenation of TN and PN
      if None, we don't use this network.
  joint : joint the two tensors by ("sum",or "concat") option.
  nonlinearity : torch class
      Activation function used after the joint between TN and PN
       Type of nonlinearity (tanh, relu).
  
  Example
  -------
  >>> from speechbrain.nnet.transducer.transducer_joint import Transducer_joint
  >>> from speechbrain.nnet.linear import Linear
  >>> input_TN = torch.rand(8, 200, 1, 40)
  >>> input_PN = torch.rand(8, 1, 12, 40)
  >>> joint_network = Linear(input_size=80, n_neurons=80)
  >>> TJoint = Transducer_joint(joint_network, joint="concat")
  >>> output = TJoint(input_TN, input_PN)
  >>> output.shape
  torch.Size([8, 200, 12, 80])
docstr: Arguments
  ---------
  first_input : tensor
      A first input used for initializing the parameters.
docstr_tok: ["Arguments","--","--","--","--","-","first_input",":","tensor","A","first","input","used","for","initializing","the","parameters","."]
code: def init_params(self, first_input):
      """
      Arguments
      ---------
      first_input : tensor
          A first input used for initializing the parameters.
      """
      self.joint_network(first_input)
  
imports: import torch
  import logging
  import torch.nn
label_desc: Use image node_id 2 for calling the Transducer_joint obj's underlying member method code with example usage: obj.init_params(first_input) without return types