class_docstr: Class which encapsulate logit of the worker.
  
  Main entry point of this class is EvaluationWorker.run_work method which
  performs cleanup of temporary directories, then runs
  EvaluationWorker.run_attacks and EvaluationWorker.run_defenses
class_docstr_tok: ["Class","which","encapsulate","logit","of","the","worker",".","Main","entry","point","of","this","class","is","EvaluationWorker.run_work","method","which","performs","cleanup","of","temporary","directories",",","then","runs","EvaluationWorker.run_attacks","and","EvaluationWorker.run_defenses"]
docstr: Read `dataset_meta` field from bucket
docstr_tok: ["Read","`","dataset_meta","`","field","from","bucket"]
code: def read_dataset_metadata(self):
      """Read `dataset_meta` field from bucket"""
      if self.dataset_meta:
          return
      shell_call(
          [
              "gsutil",
              "cp",
              "gs://"
              + self.storage_client.bucket_name
              + "/"
              + "dataset/"
              + self.dataset_name
              + "_dataset.csv",
              LOCAL_DATASET_METADATA_FILE,
          ]
      )
      with open(LOCAL_DATASET_METADATA_FILE, "r") as f:
          self.dataset_meta = eval_lib.DatasetMetadata(f)
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from builtins import int
  import argparse
  import json
  import logging
  import os
  import random
  import shutil
  import subprocess
  import time
  import uuid
  from six import iteritems
  import eval_lib
  from cleverhans.utils import shell_call
label_desc: Use image node_id 2 for calling the EvaluationWorker obj's underlying member method code with example usage: obj.read_dataset_metadata() without return types