class_docstr: Evaluator base class.
docstr: Evaluate a single pianoroll.
  
  Args:
    pianoroll: a single pianoroll, shaped (tt, pp, ii)
  
  Returns:
    unit losses
docstr_tok: ["Evaluate","a","single","pianoroll",".","Args",":","pianoroll",":","a","single","pianoroll",",","shaped","(","tt",",","pp",",","ii",")","Returns",":","unit","losses"]
code: def __call__(self, pianoroll):
      """Evaluate a single pianoroll.
  
      Args:
        pianoroll: a single pianoroll, shaped (tt, pp, ii)
  
      Returns:
        unit losses
      """
      raise NotImplementedError()
  
imports: import time
  from magenta.models.coconet import lib_tfutil
  from magenta.models.coconet import lib_util
  import numpy
  from scipy.misc import logsumexp
  import tensorflow.compat.v1
label_desc: Use image node_id 4 for calling the BaseEvaluator obj's underlying member method code with example usage: obj.__call__(pianoroll) without return types