class_docstr: Class which encapsulates logit of the master.
docstr: Initializes EvaluationMaster.
  
  Args:
    storage_client: instance of eval_lib.CompetitionStorageClient
    datastore_client: instance of eval_lib.CompetitionDatastoreClient
    round_name: name of the current round
    dataset_name: name of the dataset, 'dev' or 'final'
    blacklisted_submissions: optional list of blacklisted submissions which
      should not be evaluated
    results_dir: local directory where results and logs should be written
    num_defense_shards: optional number of defense shards
    verbose: whether output should be verbose on not. If True, then methods
      of this class will print some additional information which is useful
      for debugging.
    batch_size: batch size to use
    max_dataset_num_images: maximum number of images from the dataset to use
      or None if entire dataset should be used.
code: def __init__(
      self,
      storage_client,
      datastore_client,
      round_name,
      dataset_name,
      blacklisted_submissions="",
      results_dir="",
      num_defense_shards=None,
      verbose=False,
      batch_size=DEFAULT_BATCH_SIZE,
      max_dataset_num_images=None,
  ):
      """Initializes EvaluationMaster.
  
      Args:
        storage_client: instance of eval_lib.CompetitionStorageClient
        datastore_client: instance of eval_lib.CompetitionDatastoreClient
        round_name: name of the current round
        dataset_name: name of the dataset, 'dev' or 'final'
        blacklisted_submissions: optional list of blacklisted submissions which
          should not be evaluated
        results_dir: local directory where results and logs should be written
        num_defense_shards: optional number of defense shards
        verbose: whether output should be verbose on not. If True, then methods
          of this class will print some additional information which is useful
          for debugging.
        batch_size: batch size to use
        max_dataset_num_images: maximum number of images from the dataset to use
          or None if entire dataset should be used.
      """
      self.storage_client = storage_client
      self.datastore_client = datastore_client
      self.round_name = round_name
      self.dataset_name = dataset_name
      self.results_dir = results_dir
      if num_defense_shards:
          self.num_defense_shards = int(num_defense_shards)
      else:
          self.num_defense_shards = None
      self.verbose = verbose
      self.blacklisted_submissions = [
          s.strip() for s in blacklisted_submissions.split(",")
      ]
      self.batch_size = batch_size
      self.max_dataset_num_images = max_dataset_num_images
      # init client classes
      self.submissions = eval_lib.CompetitionSubmissions(
          datastore_client=self.datastore_client,
          storage_client=self.storage_client,
          round_name=self.round_name,
      )
      self.dataset_batches = eval_lib.DatasetBatches(
          datastore_client=self.datastore_client,
          storage_client=self.storage_client,
          dataset_name=self.dataset_name,
      )
      self.adv_batches = eval_lib.AversarialBatches(
          datastore_client=self.datastore_client
      )
      self.class_batches = eval_lib.ClassificationBatches(
          datastore_client=self.datastore_client,
          storage_client=self.storage_client,
          round_name=self.round_name,
      )
      self.attack_work = eval_lib.AttackWorkPieces(
          datastore_client=self.datastore_client
      )
      self.defense_work = eval_lib.DefenseWorkPieces(
          datastore_client=self.datastore_client
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import argparse
  import collections
  from collections import defaultdict
  import csv
  from io import BytesIO
  import logging
  import os
  import pickle
  import random
  import time
  from six import iteritems
  from six import iterkeys
  from six import itervalues
  from six.moves import input
  import eval_lib
label_desc: Use image node_id 1 to create a new EvaluationMaster object from inherited base classes: object with example: obj = EvaluationMaster(storage_client, datastore_client, round_name, dataset_name, blacklisted_submissions, results_dir, num_defense_shards, verbose, batch_size, max_dataset_num_images)