class_docstr: Learns performance embedding and concatenates it with melody embedding.
class_docstr_tok: ["Learns","performance","embedding","and","concatenates","it","with","melody","embedding","."]
code: def has_input(self):
      if self._problem_hparams:
          all_modalities = self._problem_hparams.modality
          return ("performance" in all_modalities) or (
              "inputs" in all_modalities
          )
      else:
          return True
  
imports: from tensor2tensor.data_generators import text_encoder
  from tensor2tensor.layers import common_attention
  from tensor2tensor.layers import common_layers
  from tensor2tensor.layers import modalities
  from tensor2tensor.layers import transformer_layers
  from tensor2tensor.models.transformer import Transformer, transformer_decoder, transformer_prepare_encoder, transformer_prepare_decoder, features_to_nonpadding, _init_transformer_cache
  from tensor2tensor.utils import mlperf_log
  from tensor2tensor.utils import registry
  import tensorflow.compat.v1
  from tensorflow.compat.v1 import estimator
label_desc: Use image node_id 2 for calling the MelodyPerformanceTransformer obj's underlying member method code with example usage: obj.has_input() and returns: unknown, True