parameters: (self, name, init=None, init_value=None, trainable=True)
return_statement: return param
docstring: Adds a parameter to the model's net and it's initializer if needed
  
          Args:
              init: a tuple (<initialization_op_name>, <initialization_op_kwargs>)
              init_value: int, float or str. Can be used instead of `init` as a
                  simple constant initializer
              trainable: bool, whether to compute gradient for this param or not
docstring_summary: Adds a parameter to the model's net and it's initializer if needed
docstring_tokens: Adds a parameter to the model s net and it s initializer if needed
function: def AddParam(self, name, init=None, init_value=None, trainable=True):
          """Adds a parameter to the model's net and it's initializer if needed
  
          Args:
              init: a tuple (<initialization_op_name>, <initialization_op_kwargs>)
              init_value: int, float or str. Can be used instead of `init` as a
                  simple constant initializer
              trainable: bool, whether to compute gradient for this param or not
          """
          if init_value is not None:
              assert init is None
              assert type(init_value) in [int, float, str]
              init = ('ConstantFill', dict(
                  shape=[1],
                  value=init_value,
              ))
  
          if self.init_params:
              param = self.param_init_net.__getattr__(init[0])(
                  [],
                  name,
                  **init[1]
              )
          else:
              param = self.net.AddExternalInput(name)
  
          if trainable:
              self.params.append(param)
          else:
              self.non_trainable_params.append(param)
  
          return param
function_tokens: def AddParam ( self , name , init = None , init_value = None , trainable = True ) : if init_value is not None : assert init is None assert type ( init_value ) in [ int , float , str ] init = ( 'ConstantFill' , dict ( shape = [ 1 ] , value = init_value , ) ) if self . init_params : param = self . param_init_net . __getattr__ ( init [ 0 ] ) ( [ ] , name , * * init [ 1 ] ) else : param = self . net . AddExternalInput ( name ) if trainable : self . params . append ( param ) else : self . non_trainable_params . append ( param ) return param