(
dataset, batch_size, root='./data', train=True,
noise_rate=1.0, poisoned_indices_path=None, fitr=None)
| 187 | |
| 188 | |
| 189 | def get_clear_loader( |
| 190 | dataset, batch_size, root='./data', train=True, |
| 191 | noise_rate=1.0, poisoned_indices_path=None, fitr=None): |
| 192 | |
| 193 | if dataset == 'imagenet' or dataset == 'imagenet-mini': |
| 194 | return imagenet_utils.get_clear_loader( |
| 195 | dataset, batch_size, root, train, noise_rate, poisoned_indices_path) |
| 196 | |
| 197 | target_set = get_dataset(dataset, root=root, train=train, fitr=fitr) |
| 198 | data_nums = len(target_set) |
| 199 | |
| 200 | if poisoned_indices_path is not None: |
| 201 | with open(poisoned_indices_path, 'rb') as f: |
| 202 | poi_indices = pickle.load(f) |
| 203 | indices = np.array( list( set(range(data_nums)) - set(poi_indices) ) ) |
| 204 | |
| 205 | else: |
| 206 | indices = np.random.permutation(range(data_nums))[: int( data_nums * (1-noise_rate) )] |
| 207 | |
| 208 | ''' select clear examples ''' |
| 209 | target_set.x = target_set.x[indices] |
| 210 | target_set.y = np.array(target_set.y)[indices] |
| 211 | |
| 212 | target_set = data.Dataset(x=target_set.x, y=target_set.y, transform=target_set.transform, fitr=target_set.fitr) |
| 213 | |
| 214 | if train: |
| 215 | loader = data.Loader(target_set, batch_size=batch_size, shuffle=True, drop_last=True) |
| 216 | else: |
| 217 | loader = data.Loader(target_set, batch_size=batch_size, shuffle=False, drop_last=False) |
| 218 | |
| 219 | return loader |
| 220 | |
| 221 | |
| 222 | def get_arch(arch, dataset): |
nothing calls this directly
no test coverage detected