docstr: when use DistEvalHook with multi worker, make sure the val data is
  correctly split into multi worker.
docstr_tok: ["when","use","DistEvalHook","with","multi","worker",",","make","sure","the","val","data","is","correctly","split","into","multi","worker","."]
code: def _do_evaluate(self, runner):
      """
      when use DistEvalHook with multi worker, make sure the val data is
      correctly split into multi worker.
      """
      worker_nums = 2
      samples_per_worker = NUM_SAMPLES / worker_nums
      actual_samples_per_worker = 0
      for data, label in self.dataloader:
          actual_samples_per_worker += len(data)
      assert samples_per_worker == actual_samples_per_worker
  
imports: import pytest
  import unittest
  import os
  import tempfile
  import shutil
  import torch
  import torch.nn
  import torch.optim
  from torch.utils.data import DataLoader
  from mmcv.runner import EpochBasedRunner
  from mmcv.runner import DistEvalHook
  from mmcv.utils import get_logger
  from bigdl.orca.learn.pytorch import Estimator
label_desc: Use image node_id 1 for calling the DistEvalHook obj's underlying member method code with example usage: obj._do_evaluate(runner) without return types