code: def evaluate(self, test_file, save_dir=None, logger=None, num_buckets_test=10, test_batch_size=5000):
          
          parser = self._parser
          vocab = self._vocab
          with mx.Context(mxnet_prefer_gpu()):
              UAS, LAS, speed = evaluate_official_script(parser, vocab, num_buckets_test, test_batch_size,
                                                         test_file, os.path.join(save_dir, 'valid_tmp'))
          if logger is None:
              logger = init_logger(save_dir, 'test.log')
          logger.info('Test: UAS %.2f%% LAS %.2f%% %d sents/s' % (UAS, LAS, speed))
  
          return UAS, LAS
docs: Run evaluation on test set
  
          Parameters
          ----------
          test_file : str
              path to test set
          save_dir : str
              where to store intermediate results and log
          logger : logging.logger
              logger for printing results
          num_buckets_test : int
              number of clusters for sentences from test set
          test_batch_size : int
              batch size of test set
  
          Returns
          -------
          tuple
              UAS, LAS