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: Lazy initialization of data necessary to execute defenses.
docstr_tok: ["Lazy","initialization","of","data","necessary","to","execute","defenses","."]
code: def fetch_defense_data(self):
      """Lazy initialization of data necessary to execute defenses."""
      if self.defenses_data_initialized:
          return
      logging.info("Fetching defense data from datastore")
      # init data from datastore
      self.submissions.init_from_datastore()
      self.dataset_batches.init_from_datastore()
      self.adv_batches.init_from_datastore()
      # read dataset metadata
      self.read_dataset_metadata()
      # mark as initialized
      self.defenses_data_initialized = True
  
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 6 for calling the EvaluationWorker obj's underlying member method code with example usage: obj.fetch_defense_data() without return types