docs: public <T extends IEvaluation> T[] doEvaluation(JavaRDD<DataSet> data, int evalNumWorkers, int evalBatchSize, T... emptyEvaluations) {
          IEvaluateFlatMapFunction<T> evalFn = new IEvaluateFlatMapFunction<>(true, sc.broadcast(conf.toJson()),
                  SparkUtils.asByteArrayBroadcast(sc, network.params()), evalNumWorkers, evalBatchSize, emptyEvaluations);
          JavaRDD<T[]> evaluations = data.mapPartitions(evalFn);
          return evaluations.treeAggregate(null, new IEvaluateAggregateFunction<T>(),
                          new IEvaluateAggregateFunction<T>());
      }