def setUp(self): self.storage_client = fake_cloud_client.FakeStorageClient() self.datastore_client = fake_cloud_client.FakeDatastoreClient() self.submissions = submissions.CompetitionSubmissions( datastore_client=self.datastore_client, storage_client=self.storage_client, round_name=ROUND_NAME) # we only need list of submissin ids in CompetitionSubmissions for this test self.submissions._defenses = { 'SUBD000': {}, 'SUBD001': {}, } self.adv_batches = image_batches.AversarialBatches( datastore_client=self.datastore_client) self.adv_batches._data = { 'ADVBATCH000': {'dataset_batch_id': 'BATCH000', 'images': {}, 'submission_id': 'SUBA000'}, 'ADVBATCH001': {'dataset_batch_id': 'BATCH000', 'images': {}, 'submission_id': 'SUBA001'}, 'ADVBATCH002': {'dataset_batch_id': 'BATCH000', 'images': {}, 'submission_id': 'SUBT000'}, }
def setUp(self): self.storage_client = fake_cloud_client.FakeStorageClient() self.datastore_client = fake_cloud_client.FakeDatastoreClient() self.submissions = submissions.CompetitionSubmissions( datastore_client=self.datastore_client, storage_client=self.storage_client, round_name=ROUND_NAME, ) # we only need list of submissin ids in CompetitionSubmissions for this test self.submissions._defenses = { "SUBD000": {}, "SUBD001": {}, } self.adv_batches = image_batches.AversarialBatches( datastore_client=self.datastore_client) self.adv_batches._data = { "ADVBATCH000": { "dataset_batch_id": "BATCH000", "images": {}, "submission_id": "SUBA000", }, "ADVBATCH001": { "dataset_batch_id": "BATCH000", "images": {}, "submission_id": "SUBA001", }, "ADVBATCH002": { "dataset_batch_id": "BATCH000", "images": {}, "submission_id": "SUBT000", }, }
def setUp(self): # prepare dataset batches and submissions storage_blobs = [ 'dataset/dev/img1.png', 'dataset/dev/img2.png', 'dataset/dev/img3.png', 'dataset/dev/img4.png', 'dataset/dev/img5.png', 'dataset/dev_dataset.csv', ROUND_NAME + '/submissions/nontargeted/1.zip', ROUND_NAME + '/submissions/nontargeted/baseline_nt.zip', ROUND_NAME + '/submissions/targeted/1.zip', ROUND_NAME + '/submissions/targeted/2.zip', ROUND_NAME + '/submissions/defense/3.zip', ROUND_NAME + '/submissions/defense/baseline_adv_train.zip', ] self.storage_client = fake_cloud_client.FakeStorageClient( storage_blobs) self.datastore_client = fake_cloud_client.FakeDatastoreClient() self.dataset_batches = image_batches.DatasetBatches( datastore_client=self.datastore_client, storage_client=self.storage_client, dataset_name='dev') self.dataset_batches.init_from_storage_write_to_datastore(batch_size=3) self.submissions = submissions.CompetitionSubmissions( datastore_client=self.datastore_client, storage_client=self.storage_client, round_name=ROUND_NAME) self.submissions.init_from_storage_write_to_datastore()
def test_init_from_datastore(self): # first we need to populate datastore self.submissions.init_from_storage_write_to_datastore() # now reset submission class and load data from datastore self.submissions = submissions.CompetitionSubmissions( datastore_client=self.datastore_client, storage_client=self.storage_client, round_name=ROUND_NAME) self.assertFalse(self.submissions.attacks) self.assertFalse(self.submissions.targeted_attacks) self.assertFalse(self.submissions.defenses) self.submissions.init_from_datastore() self.verify_submissions()
def setUp(self): storage_blobs = [ ROUND_NAME + '/submissions/nontargeted/1.zip', ROUND_NAME + '/submissions/nontargeted/baseline_nt.zip', ROUND_NAME + '/submissions/targeted/1.zip', ROUND_NAME + '/submissions/targeted/2.zip', ROUND_NAME + '/submissions/defense/3.zip', ROUND_NAME + '/submissions/defense/baseline_adv_train.zip', ] self.storage_client = fake_cloud_client.FakeStorageClient(storage_blobs) self.datastore_client = fake_cloud_client.FakeDatastoreClient() self.submissions = submissions.CompetitionSubmissions( datastore_client=self.datastore_client, storage_client=self.storage_client, round_name=ROUND_NAME)