code: def accumulate(self, fetch_list, info=""):
      if self.mode == "infer":
          predictions = np.array(fetch_list[0])
          video_id = fetch_list[1]
          for i in range(len(predictions)):
              topk_inds = predictions[i].argsort()[0 - self.topk :]
              topk_inds = topk_inds[::-1]
              preds = predictions[i][topk_inds]
              self.infer_results.append(
                  (video_id[i], topk_inds.tolist(), preds.tolist())
              )
      else:
          loss = np.array(fetch_list[0])
          pred = np.array(fetch_list[1])
          label = np.array(fetch_list[2])
          self.calculator.accumulate(loss, pred, label)
  
imports: from __future__ import absolute_import
  from __future__ import unicode_literals
  from __future__ import print_function
  from __future__ import division
  import io
  import logging
  import numpy
  from videotag_tsn_lstm.resource.metrics.youtube8m import eval_util
label_desc: Use image node_id 3 for calling the Youtube8mMetrics obj's underlying member method code with example usage: obj.accumulate(fetch_list, info) without return types