class_docstr: Keras' layer implementation for DynamicNormalization.
  
  Similar to Batch Normalization, DynamicNormalization normalizes the
  activations of the previous layer for each input.
  
  The normalization formula:
    ((|mean|^2 + p(mean)) / |x|^2 - 2 * g(mean)) / sqrt(variance)
  where
    p(mean) = prior_scale * mean + prior_offset
    g(mean) = mean_scale * mean + mean_offset.
  Here (prior_scale, prior_offset, mean_scale, mean_offset) are learnable
  parameters.
code: def trainable(self):
      return self._trainable
  
file_path: neural-structured-learning/research/carls/dynamic_normalization.py
imports: import typing
  from research.carls import dynamic_embedding_config_pb2
  from research.carls import dynamic_memory_ops
  import tensorflow
label_desc: Use image node_id 2 for calling the DynamicNormalization obj's underlying member method code with example usage: obj.trainable() and returns: self