├── datasets ├── __init__.py ├── voc.py ├── imutils.py └── voc │ ├── val.txt │ ├── test.txt │ └── train.txt ├── .gitignore ├── dist_train.sh ├── core ├── __init__.py ├── model.py ├── segformer_head.py └── mix_transformer.py ├── README.md ├── requirements.txt ├── configs └── voc.yaml ├── utils ├── eval_seg.py └── optimizer.py └── dist_train.py /datasets/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | */__pycache__ 2 | *.pth 3 | .vscode/* 4 | dist_train_mmseg.py 5 | datasets/pascal_voc12.py -------------------------------------------------------------------------------- /dist_train.sh: -------------------------------------------------------------------------------- 1 | python -m torch.distributed.launch --nproc_per_node=3 --master_port=29500 dist_train.py -------------------------------------------------------------------------------- /core/__init__.py: -------------------------------------------------------------------------------- 1 | from .segformer_head import SegFormerHead 2 | from .mix_transformer import * 3 | from .model import WeTr -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # segformer-pytorch 2 | A re-implementation of [SegFormer](https://github.com/NVlabs/SegFormer). 3 | 4 | See our training log at this [Link](./test.log) and the official training log at this [Link](./20210709_161618.log). 5 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | torchvision==0.8.2 2 | imageio==2.9.0 3 | omegaconf==2.0.0 4 | timm==0.4.5 5 | mmcv_full==1.3.8 6 | torch==1.7.1 7 | tqdm==4.46.1 8 | opencv_python==4.4.0.46 9 | numpy==1.18.5 10 | mmcv==1.3.8 11 | Pillow==8.3.1 12 | -------------------------------------------------------------------------------- /configs/voc.yaml: -------------------------------------------------------------------------------- 1 | exp: 2 | backbone: mit_b1 3 | 4 | dataset: 5 | root_dir: /home/rlx/VOCdevkit/VOC2012 6 | name_list_dir: datasets/voc 7 | num_classes: 21 8 | crop_size: 512 9 | resize_range: [512, 2048] 10 | rescale_range: [0.5, 2.0] 11 | ignore_index: 255 12 | 13 | train: 14 | split: train_aug 15 | samples_per_gpu: 3 16 | max_iters: 40000 17 | eval_iters: 5000 18 | log_iters: 50 19 | 20 | val: 21 | split: val 22 | 23 | optimizer: 24 | type: AdamW 25 | learning_rate: 6e-5 26 | betas: [0.9, 0.999] 27 | weight_decay: 0.01 28 | 29 | scheduler: 30 | warmup_iter: 1500 31 | warmup_ratio: 1e-6 32 | power: 1.0 -------------------------------------------------------------------------------- /utils/eval_seg.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | def _fast_hist(label_true, label_pred, num_classes): 4 | mask = (label_true >= 0) & (label_true < num_classes) 5 | hist = np.bincount( 6 | num_classes * label_true[mask].astype(int) + label_pred[mask], 7 | minlength=num_classes ** 2, 8 | ).reshape(num_classes, num_classes) 9 | return hist 10 | 11 | def scores(label_trues, label_preds, num_classes=21): 12 | hist = np.zeros((num_classes, num_classes)) 13 | for lt, lp in zip(label_trues, label_preds): 14 | hist += _fast_hist(lt.flatten(), lp.flatten(), num_classes) 15 | acc = np.diag(hist).sum() / hist.sum() 16 | acc_cls = np.diag(hist) / hist.sum(axis=1) 17 | acc_cls = np.nanmean(acc_cls) 18 | iu = np.diag(hist) / (hist.sum(axis=1) + hist.sum(axis=0) - np.diag(hist)) 19 | valid = hist.sum(axis=1) > 0 # added 20 | mean_iu = np.nanmean(iu[valid]) 21 | freq = hist.sum(axis=1) / hist.sum() 22 | cls_iu = dict(zip(range(num_classes), iu)) 23 | 24 | return { 25 | "Pixel Accuracy": acc, 26 | "Mean Accuracy": acc_cls, 27 | "Mean IoU": mean_iu, 28 | "Class IoU": cls_iu, 29 | } -------------------------------------------------------------------------------- /utils/optimizer.py: -------------------------------------------------------------------------------- 1 | import torch 2 | 3 | class PolyWarmupAdamW(torch.optim.AdamW): 4 | 5 | def __init__(self, params, lr, weight_decay, betas, warmup_iter=None, max_iter=None, warmup_ratio=None, power=None): 6 | super().__init__(params, lr=lr, betas=betas,weight_decay=weight_decay, eps=1e-8) 7 | 8 | self.global_step = 0 9 | self.warmup_iter = warmup_iter 10 | self.warmup_ratio = warmup_ratio 11 | self.max_iter = max_iter 12 | self.power = power 13 | 14 | self.__init_lr = [group['lr'] for group in self.param_groups] 15 | 16 | def step(self, closure=None): 17 | ## adjust lr 18 | if self.global_step < self.warmup_iter: 19 | 20 | lr_mult = 1 - (1 - self.global_step / self.warmup_iter) * (1 - self.warmup_ratio) 21 | for i in range(len(self.param_groups)): 22 | self.param_groups[i]['lr'] = self.__init_lr[i] * lr_mult 23 | 24 | elif self.global_step < self.max_iter: 25 | 26 | lr_mult = (1 - self.global_step / self.max_iter) ** self.power 27 | for i in range(len(self.param_groups)): 28 | self.param_groups[i]['lr'] = self.__init_lr[i] * lr_mult 29 | 30 | # step 31 | super().step(closure) 32 | 33 | self.global_step += 1 -------------------------------------------------------------------------------- /core/model.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | import torch.nn.functional as F 4 | from .segformer_head import SegFormerHead 5 | from . import mix_transformer 6 | 7 | class WeTr(nn.Module): 8 | def __init__(self, backbone, num_classes=20, embedding_dim=256, pretrained=None): 9 | super().__init__() 10 | self.num_classes = num_classes 11 | self.embedding_dim = embedding_dim 12 | self.feature_strides = [4, 8, 16, 32] 13 | #self.in_channels = [32, 64, 160, 256] 14 | #self.in_channels = [64, 128, 320, 512] 15 | 16 | self.encoder = getattr(mix_transformer, backbone)() 17 | self.in_channels = self.encoder.embed_dims 18 | ## initilize encoder 19 | if pretrained: 20 | state_dict = torch.load('pretrained/'+backbone+'.pth') 21 | state_dict.pop('head.weight') 22 | state_dict.pop('head.bias') 23 | self.encoder.load_state_dict(state_dict,) 24 | 25 | self.decoder = SegFormerHead(feature_strides=self.feature_strides, in_channels=self.in_channels, embedding_dim=self.embedding_dim, num_classes=self.num_classes) 26 | 27 | self.classifier = nn.Conv2d(in_channels=self.in_channels[-1], out_channels=self.num_classes, kernel_size=1, bias=False) 28 | 29 | def _forward_cam(self, x): 30 | 31 | cam = F.conv2d(x, self.classifier.weight) 32 | cam = F.relu(cam) 33 | 34 | return cam 35 | 36 | def get_param_groups(self): 37 | 38 | param_groups = [[], [], []] # 39 | 40 | for name, param in list(self.encoder.named_parameters()): 41 | if "norm" in name: 42 | param_groups[1].append(param) 43 | else: 44 | param_groups[0].append(param) 45 | 46 | for param in list(self.decoder.parameters()): 47 | 48 | param_groups[2].append(param) 49 | 50 | param_groups[2].append(self.classifier.weight) 51 | 52 | return param_groups 53 | 54 | def forward(self, x): 55 | 56 | _x = self.encoder(x) 57 | _x1, _x2, _x3, _x4 = _x 58 | cls = self.classifier(_x4) 59 | 60 | return self.decoder(_x) 61 | -------------------------------------------------------------------------------- /core/segformer_head.py: -------------------------------------------------------------------------------- 1 | # --------------------------------------------------------------- 2 | # Copyright (c) 2021, NVIDIA Corporation. All rights reserved. 3 | # 4 | # This work is licensed under the NVIDIA Source Code License 5 | # --------------------------------------------------------------- 6 | import numpy as np 7 | from torch import tensor 8 | import torch.nn as nn 9 | import torch 10 | import torch.nn.functional as F 11 | from mmcv.cnn import ConvModule, DepthwiseSeparableConvModule 12 | 13 | class MLP(nn.Module): 14 | """ 15 | Linear Embedding 16 | """ 17 | def __init__(self, input_dim=2048, embed_dim=768): 18 | super().__init__() 19 | self.proj = nn.Linear(input_dim, embed_dim) 20 | 21 | def forward(self, x): 22 | x = x.flatten(2).transpose(1, 2) 23 | x = self.proj(x) 24 | return x 25 | 26 | 27 | class SegFormerHead(nn.Module): 28 | """ 29 | SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers 30 | """ 31 | def __init__(self, feature_strides=None, in_channels=128, embedding_dim=256, num_classes=20, **kwargs): 32 | super(SegFormerHead, self).__init__() 33 | self.in_channels = in_channels 34 | self.num_classes = num_classes 35 | assert len(feature_strides) == len(self.in_channels) 36 | assert min(feature_strides) == feature_strides[0] 37 | self.feature_strides = feature_strides 38 | 39 | c1_in_channels, c2_in_channels, c3_in_channels, c4_in_channels = self.in_channels 40 | 41 | #decoder_params = kwargs['decoder_params'] 42 | #embedding_dim = decoder_params['embed_dim'] 43 | 44 | self.linear_c4 = MLP(input_dim=c4_in_channels, embed_dim=embedding_dim) 45 | self.linear_c3 = MLP(input_dim=c3_in_channels, embed_dim=embedding_dim) 46 | self.linear_c2 = MLP(input_dim=c2_in_channels, embed_dim=embedding_dim) 47 | self.linear_c1 = MLP(input_dim=c1_in_channels, embed_dim=embedding_dim) 48 | self.dropout = nn.Dropout2d(0.1) 49 | 50 | self.linear_fuse = ConvModule( 51 | in_channels=embedding_dim*4, 52 | out_channels=embedding_dim, 53 | kernel_size=1, 54 | norm_cfg=dict(type='SyncBN', requires_grad=True) 55 | ) 56 | 57 | self.linear_pred = nn.Conv2d(embedding_dim, self.num_classes, kernel_size=1) 58 | 59 | def forward(self, x): 60 | 61 | c1, c2, c3, c4 = x 62 | 63 | ############## MLP decoder on C1-C4 ########### 64 | n, _, h, w = c4.shape 65 | 66 | _c4 = self.linear_c4(c4).permute(0,2,1).reshape(n, -1, c4.shape[2], c4.shape[3]) 67 | _c4 = F.interpolate(_c4, size=c1.size()[2:],mode='bilinear',align_corners=False) 68 | 69 | _c3 = self.linear_c3(c3).permute(0,2,1).reshape(n, -1, c3.shape[2], c3.shape[3]) 70 | _c3 = F.interpolate(_c3, size=c1.size()[2:],mode='bilinear',align_corners=False) 71 | 72 | _c2 = self.linear_c2(c2).permute(0,2,1).reshape(n, -1, c2.shape[2], c2.shape[3]) 73 | _c2 = F.interpolate(_c2, size=c1.size()[2:],mode='bilinear',align_corners=False) 74 | 75 | _c1 = self.linear_c1(c1).permute(0,2,1).reshape(n, -1, c1.shape[2], c1.shape[3]) 76 | 77 | _c = self.linear_fuse(torch.cat([_c4, _c3, _c2, _c1], dim=1)) 78 | 79 | x = self.dropout(_c) 80 | x = self.linear_pred(x) 81 | 82 | return x 83 | -------------------------------------------------------------------------------- /datasets/voc.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import torch 3 | import torch.nn.functional as F 4 | from torch.utils.data import Dataset 5 | import os 6 | import imageio 7 | from . import imutils 8 | import torchvision 9 | 10 | def load_img_name_list(img_name_list_path): 11 | img_name_list = np.loadtxt(img_name_list_path, dtype=str) 12 | return img_name_list 13 | 14 | 15 | class VOC12Dataset(Dataset): 16 | def __init__( 17 | self, 18 | root_dir=None, 19 | name_list_dir=None, 20 | split='train', 21 | stage='train', 22 | ): 23 | super().__init__() 24 | 25 | self.root_dir = root_dir 26 | self.stage = stage 27 | self.img_dir = os.path.join(root_dir, 'JPEGImages') 28 | self.label_dir = os.path.join(root_dir, 'SegmentationClassAug') 29 | self.name_list_dir = os.path.join(name_list_dir, split + '.txt') 30 | self.name_list = load_img_name_list(self.name_list_dir) 31 | 32 | def __len__(self): 33 | return len(self.name_list) 34 | 35 | def __getitem__(self, idx): 36 | _img_name = self.name_list[idx] 37 | img_name = os.path.join(self.img_dir, _img_name+'.jpg') 38 | image = np.asarray(imageio.imread(img_name)) 39 | 40 | if self.stage == "train": 41 | 42 | label_dir = os.path.join(self.label_dir, _img_name+'.png') 43 | label = np.asarray(imageio.imread(label_dir)) 44 | 45 | elif self.stage == "val": 46 | 47 | label_dir = os.path.join(self.label_dir, _img_name+'.png') 48 | label = np.asarray(imageio.imread(label_dir)) 49 | 50 | elif self.stage == "test": 51 | label = image[:,:,0] 52 | 53 | return _img_name, image, label 54 | 55 | 56 | class VOC12ClsDataset(VOC12Dataset): 57 | def __init__(self, 58 | root_dir=None, 59 | name_list_dir=None, 60 | split='train', 61 | stage='train', 62 | resize_range=[512, 640], 63 | rescale_range=[0.5, 2.0], 64 | crop_size=512, 65 | img_fliplr=True, 66 | aug=False, 67 | num_classes=21, 68 | ignore_index=255, 69 | **kwargs): 70 | 71 | super().__init__(root_dir, name_list_dir, split, stage) 72 | 73 | self.aug = aug 74 | self.ignore_index = ignore_index 75 | self.resize_range = resize_range 76 | self.rescale_range = rescale_range 77 | self.crop_size = crop_size 78 | self.img_fliplr = img_fliplr 79 | self.num_classes = num_classes 80 | 81 | def __len__(self): 82 | return len(self.name_list) 83 | 84 | def __transforms(self, image, label): 85 | if self.aug: 86 | ''' 87 | if self.resize_range: 88 | image, label = imutils.random_resize( 89 | image, label, size_range=self.resize_range) 90 | ''' 91 | if self.rescale_range: 92 | image, label = imutils.random_scaling( 93 | image, 94 | label, 95 | scale_range=self.rescale_range, 96 | size_range=self.resize_range) 97 | if self.img_fliplr: 98 | image, label = imutils.random_fliplr(image, label) 99 | if self.crop_size: 100 | image, label = imutils.random_crop( 101 | image, 102 | label, 103 | crop_size=self.crop_size, 104 | mean_rgb=[123.675, 116.28, 103.53]) 105 | 106 | image = imutils.normalize_img(image) 107 | ## to chw 108 | image = np.transpose(image, (2, 0, 1)) 109 | 110 | return image, label 111 | 112 | @staticmethod 113 | def __to_onehot(label, num_classes): 114 | #label_onehot = F.one_hot(label, num_classes) 115 | label_onehot = np.zeros(shape=(num_classes), dtype=np.uint8) 116 | label_onehot[label] = 1 117 | return label_onehot 118 | 119 | def __getitem__(self, idx): 120 | _img_name, image, label = super().__getitem__(idx) 121 | 122 | image, label = self.__transforms(image=image, label=label) 123 | 124 | _label = np.unique(label).astype(np.int16) 125 | _label = _label[_label != self.ignore_index] 126 | #_label = _label[_label != 0] 127 | _label = self.__to_onehot(_label, self.num_classes) 128 | 129 | return _img_name, image, _label 130 | 131 | 132 | class VOC12SegDataset(VOC12Dataset): 133 | def __init__(self, 134 | root_dir=None, 135 | name_list_dir=None, 136 | split='train', 137 | stage='train', 138 | resize_range=[512, 640], 139 | rescale_range=[0.5, 2.0], 140 | crop_size=512, 141 | img_fliplr=True, 142 | ignore_index=255, 143 | aug=False, 144 | **kwargs): 145 | 146 | super().__init__(root_dir, name_list_dir, split, stage) 147 | 148 | self.aug = aug 149 | self.ignore_index = ignore_index 150 | self.resize_range = resize_range 151 | self.rescale_range = rescale_range 152 | self.crop_size = crop_size 153 | self.img_fliplr = img_fliplr 154 | self.color_jittor = imutils.PhotoMetricDistortion() 155 | 156 | def __len__(self): 157 | return len(self.name_list) 158 | 159 | def __transforms(self, image, label): 160 | if self.aug: 161 | ''' 162 | if self.resize_range: 163 | image, label = imutils.random_resize( 164 | image, label, size_range=self.resize_range) 165 | ''' 166 | if self.rescale_range: 167 | image, label = imutils.random_scaling( 168 | image, 169 | label, 170 | scale_range=self.rescale_range, 171 | size_range=self.resize_range) 172 | if self.img_fliplr: 173 | image, label = imutils.random_fliplr(image, label) 174 | image = self.color_jittor(image) 175 | if self.crop_size: 176 | image, label = imutils.random_crop( 177 | image, 178 | label, 179 | crop_size=self.crop_size, 180 | mean_rgb=[123.675, 116.28, 103.53], 181 | ignore_index=self.ignore_index) 182 | 183 | if self.stage != "train": 184 | image = imutils.img_resize_short(image, min_size=min(self.resize_range)) 185 | 186 | image = imutils.normalize_img(image) 187 | ## to chw 188 | image = np.transpose(image, (2, 0, 1)) 189 | 190 | return image, label 191 | 192 | def __getitem__(self, idx): 193 | _img_name, image, label = super().__getitem__(idx) 194 | 195 | image, label = self.__transforms(image=image, label=label) 196 | 197 | return _img_name, image, label 198 | -------------------------------------------------------------------------------- /dist_train.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import datetime 3 | import logging 4 | import os 5 | import random 6 | 7 | import numpy as np 8 | import torch 9 | import torch.distributed as dist 10 | import torch.nn.functional as F 11 | from omegaconf import OmegaConf 12 | from torch.nn.parallel import DistributedDataParallel 13 | from torch.utils.data import DataLoader 14 | from torch.utils.data.distributed import DistributedSampler 15 | from tqdm import tqdm 16 | 17 | from core.model import WeTr 18 | from datasets import voc 19 | from utils import eval_seg 20 | from utils.optimizer import PolyWarmupAdamW 21 | 22 | parser = argparse.ArgumentParser() 23 | parser.add_argument("--config", 24 | default='configs/voc.yaml', 25 | type=str, 26 | help="config") 27 | parser.add_argument("--local_rank", default=-1, type=int, help="local_rank") 28 | parser.add_argument('--backend', default='nccl') 29 | 30 | def setup_seed(seed): 31 | torch.manual_seed(seed) 32 | torch.cuda.manual_seed_all(seed) 33 | np.random.seed(seed) 34 | random.seed(seed) 35 | torch.backends.cudnn.deterministic = True 36 | 37 | def setup_logger(filename='test.log'): 38 | ## setup logger 39 | #logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(filename)s - %(levelname)s: %(message)s') 40 | logFormatter = logging.Formatter('%(asctime)s - %(filename)s - %(levelname)s: %(message)s') 41 | logger = logging.getLogger() 42 | logger.setLevel(logging.INFO) 43 | 44 | fHandler = logging.FileHandler(filename, mode='w') 45 | fHandler.setFormatter(logFormatter) 46 | logger.addHandler(fHandler) 47 | 48 | cHandler = logging.StreamHandler() 49 | cHandler.setFormatter(logFormatter) 50 | logger.addHandler(cHandler) 51 | 52 | 53 | 54 | def cal_eta(time0, cur_iter, total_iter): 55 | time_now = datetime.datetime.now() 56 | time_now = time_now.replace(microsecond=0) 57 | #time_now = datetime.datetime.strptime(time_now.strftime('%Y-%m-%d %H:%M:%S'), '%Y-%m-%d %H:%M:%S') 58 | 59 | scale = (total_iter-cur_iter) / float(cur_iter) 60 | delta = (time_now - time0) 61 | eta = (delta*scale) 62 | time_fin = time_now + eta 63 | eta = time_fin.replace(microsecond=0) - time_now 64 | return str(delta), str(eta) 65 | 66 | def validate(model=None, criterion=None, data_loader=None): 67 | 68 | val_loss = 0.0 69 | preds, gts = [], [] 70 | model.eval() 71 | 72 | with torch.no_grad(): 73 | for _, data in tqdm(enumerate(data_loader), 74 | total=len(data_loader), ncols=100, ascii=" >="): 75 | _, inputs, labels = data 76 | 77 | #inputs = inputs.to() 78 | #labels = labels.to(inputs.device) 79 | 80 | outputs = model(inputs) 81 | labels = labels.long().to(outputs.device) 82 | 83 | resized_outputs = F.interpolate(outputs, 84 | size=labels.shape[1:], 85 | mode='bilinear', 86 | align_corners=False) 87 | 88 | loss = criterion(resized_outputs, labels) 89 | val_loss += loss 90 | 91 | preds += list( 92 | torch.argmax(resized_outputs, 93 | dim=1).cpu().numpy().astype(np.int16)) 94 | gts += list(labels.cpu().numpy().astype(np.int16)) 95 | 96 | score = eval_seg.scores(gts, preds) 97 | 98 | return val_loss.cpu().numpy() / float(len(data_loader)), score 99 | 100 | def train(cfg): 101 | 102 | num_workers = 4 103 | 104 | torch.cuda.set_device(args.local_rank) 105 | dist.init_process_group(backend=args.backend,) 106 | time0 = datetime.datetime.now() 107 | time0 = time0.replace(microsecond=0) 108 | 109 | train_dataset = voc.VOC12SegDataset( 110 | root_dir=cfg.dataset.root_dir, 111 | name_list_dir=cfg.dataset.name_list_dir, 112 | split=cfg.train.split, 113 | stage='train', 114 | aug=True, 115 | resize_range=cfg.dataset.resize_range, 116 | rescale_range=cfg.dataset.rescale_range, 117 | crop_size=cfg.dataset.crop_size, 118 | img_fliplr=True, 119 | ignore_index=cfg.dataset.ignore_index, 120 | num_classes=cfg.dataset.num_classes, 121 | ) 122 | 123 | val_dataset = voc.VOC12SegDataset( 124 | root_dir=cfg.dataset.root_dir, 125 | name_list_dir=cfg.dataset.name_list_dir, 126 | split=cfg.val.split, 127 | stage='val', 128 | aug=False, 129 | ignore_index=cfg.dataset.ignore_index, 130 | num_classes=cfg.dataset.num_classes, 131 | ) 132 | 133 | train_sampler = DistributedSampler(train_dataset,shuffle=True) 134 | train_loader = DataLoader(train_dataset, 135 | batch_size=cfg.train.samples_per_gpu, 136 | #shuffle=True, 137 | num_workers=num_workers, 138 | pin_memory=True, 139 | drop_last=True, 140 | sampler=train_sampler, 141 | prefetch_factor=4) 142 | 143 | val_loader = DataLoader(val_dataset, 144 | batch_size=1, 145 | shuffle=False, 146 | num_workers=num_workers, 147 | pin_memory=True, 148 | drop_last=False) 149 | ''' 150 | if torch.cuda.is_available() is True: 151 | device = torch.device('cuda') 152 | print('%d GPUs are available:'%(torch.cuda.device_count())) 153 | else: 154 | print('Using CPU:') 155 | device = torch.device('cpu') 156 | ''' 157 | device =torch.device(args.local_rank) 158 | wetr = WeTr(backbone=cfg.exp.backbone, 159 | num_classes=cfg.dataset.num_classes, 160 | embedding_dim=256, 161 | pretrained=True) 162 | param_groups = wetr.get_param_groups() 163 | 164 | wetr.to(device) 165 | 166 | optimizer = PolyWarmupAdamW( 167 | params=[ 168 | { 169 | "params": param_groups[0], 170 | "lr": cfg.optimizer.learning_rate, 171 | "weight_decay": cfg.optimizer.weight_decay, 172 | }, 173 | { 174 | "params": param_groups[1], 175 | "lr": cfg.optimizer.learning_rate, 176 | "weight_decay": 0.0, 177 | }, 178 | { 179 | "params": param_groups[2], 180 | "lr": cfg.optimizer.learning_rate * 10, 181 | "weight_decay": cfg.optimizer.weight_decay, 182 | }, 183 | ], 184 | lr = cfg.optimizer.learning_rate, 185 | weight_decay = cfg.optimizer.weight_decay, 186 | betas = cfg.optimizer.betas, 187 | warmup_iter = cfg.scheduler.warmup_iter, 188 | max_iter = cfg.train.max_iters, 189 | warmup_ratio = cfg.scheduler.warmup_ratio, 190 | power = cfg.scheduler.power 191 | ) 192 | #wetr, optimizer = amp.initialize(wetr, optimizer, opt_level="O1") 193 | wetr = DistributedDataParallel(wetr, device_ids=[args.local_rank], find_unused_parameters=True) 194 | # criterion 195 | criterion = torch.nn.CrossEntropyLoss(ignore_index=cfg.dataset.ignore_index) 196 | criterion = criterion.to(device) 197 | 198 | train_sampler.set_epoch(0) 199 | train_loader_iter = iter(train_loader) 200 | 201 | #for n_iter in tqdm(range(cfg.train.max_iters), total=cfg.train.max_iters, dynamic_ncols=True): 202 | for n_iter in range(cfg.train.max_iters): 203 | 204 | try: 205 | _, inputs, labels = next(train_loader_iter) 206 | except: 207 | train_sampler.set_epoch(n_iter) 208 | train_loader_iter = iter(train_loader) 209 | _, inputs, labels = next(train_loader_iter) 210 | 211 | inputs = inputs.to(device, non_blocking=True) 212 | labels = labels.to(device, non_blocking=True) 213 | 214 | outputs = wetr(inputs) 215 | outputs = F.interpolate(outputs, size=labels.shape[1:], mode='bilinear', align_corners=False) 216 | seg_loss = criterion(outputs, labels.type(torch.long)) 217 | 218 | optimizer.zero_grad() 219 | seg_loss.backward() 220 | optimizer.step() 221 | 222 | if (n_iter+1) % cfg.train.log_iters == 0 and args.local_rank==0: 223 | 224 | delta, eta = cal_eta(time0, n_iter+1, cfg.train.max_iters) 225 | lr = optimizer.param_groups[0]['lr'] 226 | logging.info("Iter: %d; Elasped: %s; ETA: %s; LR: %.3e; seg_loss: %f"%(n_iter+1, delta, eta, lr, seg_loss.item())) 227 | 228 | if (n_iter+1) % cfg.train.eval_iters == 0: 229 | if args.local_rank==0: 230 | logging.info('Validating...') 231 | val_loss, val_score = validate(model=wetr, criterion=criterion, data_loader=val_loader) 232 | if args.local_rank==0: 233 | logging.info(val_score) 234 | 235 | return True 236 | 237 | 238 | if __name__ == "__main__": 239 | 240 | args = parser.parse_args() 241 | cfg = OmegaConf.load(args.config) 242 | 243 | if args.local_rank == 0: 244 | setup_logger() 245 | logging.info('\nconfigs: %s' % cfg) 246 | #setup_seed(1) 247 | 248 | train(cfg=cfg) 249 | -------------------------------------------------------------------------------- /datasets/imutils.py: -------------------------------------------------------------------------------- 1 | import random 2 | import numpy as np 3 | from PIL import Image 4 | #from scipy import misc 5 | import torch 6 | import torchvision 7 | import mmcv 8 | 9 | def normalize_img(img, mean=[123.675, 116.28, 103.53], std=[58.395, 57.12, 57.375]): 10 | imgarr = np.asarray(img) 11 | proc_img = np.empty_like(imgarr, np.float32) 12 | 13 | proc_img[..., 0] = (imgarr[..., 0] - mean[0]) / std[0] 14 | proc_img[..., 1] = (imgarr[..., 1] - mean[1]) / std[1] 15 | proc_img[..., 2] = (imgarr[..., 2] - mean[2]) / std[2] 16 | return proc_img 17 | 18 | def random_scaling(image, label, size_range, scale_range): 19 | h, w, = label.shape 20 | 21 | min_ratio, max_ratio = scale_range 22 | assert min_ratio <= max_ratio 23 | 24 | ratio = random.uniform(min_ratio, max_ratio) 25 | 26 | new_scale = int(size_range[0] * ratio), int(size_range[1] * ratio) 27 | 28 | max_long_edge = max(new_scale) 29 | max_short_edge = min(new_scale) 30 | scale_factor = min(max_long_edge / max(h, w), max_short_edge / min(h, w)) 31 | 32 | return _img_rescaling(image, label, scale=ratio) 33 | 34 | def _img_rescaling(image, label=None, scale=None): 35 | 36 | #scale = random.uniform(scales) 37 | h, w, = label.shape 38 | 39 | new_scale = [int(scale * w), int(scale * h)] 40 | 41 | new_image = Image.fromarray(image.astype(np.uint8)).resize(new_scale, resample=Image.BILINEAR) 42 | new_image = np.asarray(new_image).astype(np.float32) 43 | 44 | if label is None: 45 | return new_image 46 | 47 | new_label = Image.fromarray(label).resize(new_scale, resample=Image.NEAREST) 48 | new_label = np.asarray(new_label) 49 | 50 | return new_image, new_label 51 | 52 | def img_resize_short(image, min_size=512): 53 | h, w, _ = image.shape 54 | if min(h, w) >= min_size: 55 | return image 56 | 57 | scale = float(min_size) / min(h, w) 58 | new_scale = [int(scale * w), int(scale * h)] 59 | 60 | new_image = Image.fromarray(image.astype(np.uint8)).resize(new_scale, resample=Image.BILINEAR) 61 | new_image = np.asarray(new_image).astype(np.float32) 62 | 63 | return new_image 64 | 65 | def random_resize(image, label, size_range=None): 66 | _new_size = random.randint(size_range[0], size_range[1]) 67 | 68 | h, w, = label.shape 69 | scale = _new_size / float(max(h, w)) 70 | new_scale = [int(scale * w), int(scale * h)] 71 | 72 | new_image, new_label = _img_rescaling(image, label, scale=new_scale) 73 | 74 | return new_image, new_label 75 | 76 | def random_fliplr(image, label): 77 | 78 | if random.random() > 0.5: 79 | label = np.fliplr(label) 80 | image = np.fliplr(image) 81 | 82 | return image, label 83 | 84 | def random_flipud(image, label): 85 | 86 | if random.random() > 0.5: 87 | label = np.flipud(label) 88 | image = np.flipud(image) 89 | 90 | return image, label 91 | 92 | def random_rot(image, label): 93 | 94 | k = random.randrange(3) + 1 95 | 96 | image = np.rot90(image, k).copy() 97 | label = np.rot90(label, k).copy() 98 | 99 | return image, label 100 | 101 | def random_crop(image, label, crop_size, mean_rgb=[0,0,0], ignore_index=255): 102 | 103 | h, w = label.shape 104 | 105 | H = max(crop_size, h) 106 | W = max(crop_size, w) 107 | 108 | pad_image = np.zeros((H,W,3), dtype=np.float32) 109 | pad_label = np.ones((H,W), dtype=np.float32) * ignore_index 110 | 111 | pad_image[:,:,0] = mean_rgb[0] 112 | pad_image[:,:,1] = mean_rgb[1] 113 | pad_image[:,:,2] = mean_rgb[2] 114 | 115 | H_pad = int(np.random.randint(H-h+1)) 116 | W_pad = int(np.random.randint(W-w+1)) 117 | 118 | pad_image[H_pad:(H_pad+h), W_pad:(W_pad+w), :] = image 119 | pad_label[H_pad:(H_pad+h), W_pad:(W_pad+w)] = label 120 | 121 | def get_random_cropbox(cat_max_ratio=0.75): 122 | 123 | for i in range(10): 124 | 125 | H_start = random.randrange(0, H - crop_size + 1, 1) 126 | H_end = H_start + crop_size 127 | W_start = random.randrange(0, W - crop_size + 1, 1) 128 | W_end = W_start + crop_size 129 | 130 | temp_label = pad_label[H_start:H_end, W_start:W_end] 131 | index, cnt = np.unique(temp_label, return_counts=True) 132 | cnt = cnt[index != ignore_index] 133 | if len(cnt>1) and np.max(cnt) / np.sum(cnt) < cat_max_ratio: 134 | break 135 | 136 | return H_start, H_end, W_start, W_end, 137 | 138 | H_start, H_end, W_start, W_end = get_random_cropbox() 139 | #print(W_start) 140 | 141 | image = pad_image[H_start:H_end, W_start:W_end,:] 142 | label = pad_label[H_start:H_end, W_start:W_end] 143 | 144 | #cmap = colormap() 145 | #misc.imsave('cropimg.png',image/255) 146 | #misc.imsave('croplabel.png',encode_cmap(label)) 147 | return image, label 148 | 149 | def encode_cmap(label): 150 | cmap = colormap() 151 | return cmap[label.astype(np.int16),:] 152 | 153 | def tensorboard_image(inputs=None, outputs=None, labels=None, bgr=None): 154 | ## images 155 | inputs[:,0,:,:] = inputs[:,0,:,:] + bgr[0] 156 | inputs[:,1,:,:] = inputs[:,1,:,:] + bgr[1] 157 | inputs[:,2,:,:] = inputs[:,2,:,:] + bgr[2] 158 | inputs = inputs[:,[2,1,0],:,:].type(torch.uint8) 159 | grid_inputs = torchvision.utils.make_grid(tensor=inputs, nrow=2) 160 | 161 | ## preds 162 | preds = torch.argmax(outputs, dim=1).cpu().numpy() 163 | preds_cmap = encode_cmap(preds) 164 | preds_cmap = torch.from_numpy(preds_cmap).permute([0, 3, 1, 2]) 165 | grid_outputs = torchvision.utils.make_grid(tensor=preds_cmap, nrow=2) 166 | 167 | ## labels 168 | labels_cmap = encode_cmap(labels.cpu().numpy()) 169 | labels_cmap = torch.from_numpy(labels_cmap).permute([0, 3, 1, 2]) 170 | grid_labels = torchvision.utils.make_grid(tensor=labels_cmap, nrow=2) 171 | 172 | return grid_inputs, grid_outputs, grid_labels 173 | 174 | def colormap(N=256, normalized=False): 175 | def bitget(byteval, idx): 176 | return ((byteval & (1 << idx)) != 0) 177 | 178 | dtype = 'float32' if normalized else 'uint8' 179 | cmap = np.zeros((N, 3), dtype=dtype) 180 | for i in range(N): 181 | r = g = b = 0 182 | c = i 183 | for j in range(8): 184 | r = r | (bitget(c, 0) << 7-j) 185 | g = g | (bitget(c, 1) << 7-j) 186 | b = b | (bitget(c, 2) << 7-j) 187 | c = c >> 3 188 | 189 | cmap[i] = np.array([r, g, b]) 190 | 191 | cmap = cmap/255 if normalized else cmap 192 | return cmap 193 | 194 | class PhotoMetricDistortion(object): 195 | """ from mmseg """ 196 | 197 | def __init__(self, 198 | brightness_delta=32, 199 | contrast_range=(0.5, 1.5), 200 | saturation_range=(0.5, 1.5), 201 | hue_delta=18): 202 | self.brightness_delta = brightness_delta 203 | self.contrast_lower, self.contrast_upper = contrast_range 204 | self.saturation_lower, self.saturation_upper = saturation_range 205 | self.hue_delta = hue_delta 206 | 207 | def convert(self, img, alpha=1, beta=0): 208 | """Multiple with alpha and add beat with clip.""" 209 | img = img.astype(np.float32) * alpha + beta 210 | img = np.clip(img, 0, 255) 211 | return img.astype(np.uint8) 212 | 213 | def brightness(self, img): 214 | """Brightness distortion.""" 215 | if np.random.randint(2): 216 | return self.convert( 217 | img, 218 | beta=random.uniform(-self.brightness_delta, 219 | self.brightness_delta)) 220 | return img 221 | 222 | def contrast(self, img): 223 | """Contrast distortion.""" 224 | if np.random.randint(2): 225 | return self.convert( 226 | img, 227 | alpha=random.uniform(self.contrast_lower, self.contrast_upper)) 228 | return img 229 | 230 | def saturation(self, img): 231 | """Saturation distortion.""" 232 | if np.random.randint(2): 233 | img = mmcv.bgr2hsv(img) 234 | img[:, :, 1] = self.convert( 235 | img[:, :, 1], 236 | alpha=random.uniform(self.saturation_lower, 237 | self.saturation_upper)) 238 | img = mmcv.hsv2bgr(img) 239 | return img 240 | 241 | def hue(self, img): 242 | """Hue distortion.""" 243 | if np.random.randint(2): 244 | img = mmcv.bgr2hsv(img) 245 | img[:, :, 246 | 0] = (img[:, :, 0].astype(int) + 247 | np.random.randint(-self.hue_delta, self.hue_delta)) % 180 248 | img = mmcv.hsv2bgr(img) 249 | return img 250 | 251 | def __call__(self, img): 252 | """Call function to perform photometric distortion on images. 253 | Args: 254 | results (dict): Result dict from loading pipeline. 255 | Returns: 256 | dict: Result dict with images distorted. 257 | """ 258 | 259 | #img = results['img'] 260 | # random brightness 261 | img = self.brightness(img) 262 | 263 | # mode == 0 --> do random contrast first 264 | # mode == 1 --> do random contrast last 265 | mode = np.random.randint(2) 266 | if mode == 1: 267 | img = self.contrast(img) 268 | 269 | # random saturation 270 | img = self.saturation(img) 271 | 272 | # random hue 273 | img = self.hue(img) 274 | 275 | # random contrast 276 | if mode == 0: 277 | img = self.contrast(img) 278 | 279 | #results['img'] = img 280 | return img 281 | 282 | def __repr__(self): 283 | repr_str = self.__class__.__name__ 284 | repr_str += (f'(brightness_delta={self.brightness_delta}, ' 285 | f'contrast_range=({self.contrast_lower}, ' 286 | f'{self.contrast_upper}), ' 287 | f'saturation_range=({self.saturation_lower}, ' 288 | f'{self.saturation_upper}), ' 289 | f'hue_delta={self.hue_delta})') 290 | return repr_str -------------------------------------------------------------------------------- /core/mix_transformer.py: -------------------------------------------------------------------------------- 1 | # --------------------------------------------------------------- 2 | # Copyright (c) 2021, NVIDIA Corporation. All rights reserved. 3 | # 4 | # This work is licensed under the NVIDIA Source Code License 5 | # --------------------------------------------------------------- 6 | import torch 7 | import torch.nn as nn 8 | import torch.nn.functional as F 9 | from functools import partial 10 | 11 | from timm.models.layers import DropPath, to_2tuple, trunc_normal_ 12 | 13 | #from mmseg.utils import get_root_logger 14 | #from mmcv.runner import load_checkpoint 15 | import math 16 | 17 | 18 | class Mlp(nn.Module): 19 | def __init__(self, in_features, hidden_features=None, out_features=None, act_layer=nn.GELU, drop=0.): 20 | super().__init__() 21 | out_features = out_features or in_features 22 | hidden_features = hidden_features or in_features 23 | self.fc1 = nn.Linear(in_features, hidden_features) 24 | self.dwconv = DWConv(hidden_features) 25 | self.act = act_layer() 26 | self.fc2 = nn.Linear(hidden_features, out_features) 27 | self.drop = nn.Dropout(drop) 28 | 29 | self.apply(self._init_weights) 30 | 31 | def _init_weights(self, m): 32 | if isinstance(m, nn.Linear): 33 | trunc_normal_(m.weight, std=.02) 34 | if isinstance(m, nn.Linear) and m.bias is not None: 35 | nn.init.constant_(m.bias, 0) 36 | elif isinstance(m, nn.LayerNorm): 37 | nn.init.constant_(m.bias, 0) 38 | nn.init.constant_(m.weight, 1.0) 39 | elif isinstance(m, nn.Conv2d): 40 | fan_out = m.kernel_size[0] * m.kernel_size[1] * m.out_channels 41 | fan_out //= m.groups 42 | m.weight.data.normal_(0, math.sqrt(2.0 / fan_out)) 43 | if m.bias is not None: 44 | m.bias.data.zero_() 45 | 46 | def forward(self, x, H, W): 47 | x = self.fc1(x) 48 | x = self.dwconv(x, H, W) 49 | x = self.act(x) 50 | x = self.drop(x) 51 | x = self.fc2(x) 52 | x = self.drop(x) 53 | return x 54 | 55 | 56 | class Attention(nn.Module): 57 | def __init__(self, dim, num_heads=8, qkv_bias=False, qk_scale=None, attn_drop=0., proj_drop=0., sr_ratio=1): 58 | super().__init__() 59 | assert dim % num_heads == 0, f"dim {dim} should be divided by num_heads {num_heads}." 60 | 61 | self.dim = dim 62 | self.num_heads = num_heads 63 | head_dim = dim // num_heads 64 | self.scale = qk_scale or head_dim ** -0.5 65 | 66 | self.q = nn.Linear(dim, dim, bias=qkv_bias) 67 | self.kv = nn.Linear(dim, dim * 2, bias=qkv_bias) 68 | self.attn_drop = nn.Dropout(attn_drop) 69 | self.proj = nn.Linear(dim, dim) 70 | self.proj_drop = nn.Dropout(proj_drop) 71 | 72 | self.sr_ratio = sr_ratio 73 | if sr_ratio > 1: 74 | self.sr = nn.Conv2d(dim, dim, kernel_size=sr_ratio, stride=sr_ratio) 75 | self.norm = nn.LayerNorm(dim) 76 | 77 | self.apply(self._init_weights) 78 | 79 | def _init_weights(self, m): 80 | if isinstance(m, nn.Linear): 81 | trunc_normal_(m.weight, std=.02) 82 | if isinstance(m, nn.Linear) and m.bias is not None: 83 | nn.init.constant_(m.bias, 0) 84 | elif isinstance(m, nn.LayerNorm): 85 | nn.init.constant_(m.bias, 0) 86 | nn.init.constant_(m.weight, 1.0) 87 | elif isinstance(m, nn.Conv2d): 88 | fan_out = m.kernel_size[0] * m.kernel_size[1] * m.out_channels 89 | fan_out //= m.groups 90 | m.weight.data.normal_(0, math.sqrt(2.0 / fan_out)) 91 | if m.bias is not None: 92 | m.bias.data.zero_() 93 | 94 | def forward(self, x, H, W): 95 | B, N, C = x.shape 96 | q = self.q(x).reshape(B, N, self.num_heads, C // self.num_heads).permute(0, 2, 1, 3) 97 | 98 | if self.sr_ratio > 1: 99 | x_ = x.permute(0, 2, 1).reshape(B, C, H, W) 100 | x_ = self.sr(x_).reshape(B, C, -1).permute(0, 2, 1) 101 | x_ = self.norm(x_) 102 | kv = self.kv(x_).reshape(B, -1, 2, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4) 103 | else: 104 | kv = self.kv(x).reshape(B, -1, 2, self.num_heads, C // self.num_heads).permute(2, 0, 3, 1, 4) 105 | k, v = kv[0], kv[1] 106 | 107 | attn = (q @ k.transpose(-2, -1)) * self.scale 108 | attn = attn.softmax(dim=-1) 109 | attn = self.attn_drop(attn) 110 | 111 | x = (attn @ v).transpose(1, 2).reshape(B, N, C) 112 | x = self.proj(x) 113 | x = self.proj_drop(x) 114 | 115 | return x 116 | 117 | 118 | class Block(nn.Module): 119 | 120 | def __init__(self, dim, num_heads, mlp_ratio=4., qkv_bias=False, qk_scale=None, drop=0., attn_drop=0., 121 | drop_path=0., act_layer=nn.GELU, norm_layer=nn.LayerNorm, sr_ratio=1): 122 | super().__init__() 123 | self.norm1 = norm_layer(dim) 124 | self.attn = Attention( 125 | dim, 126 | num_heads=num_heads, qkv_bias=qkv_bias, qk_scale=qk_scale, 127 | attn_drop=attn_drop, proj_drop=drop, sr_ratio=sr_ratio) 128 | # NOTE: drop path for stochastic depth, we shall see if this is better than dropout here 129 | self.drop_path = DropPath(drop_path) if drop_path > 0. else nn.Identity() 130 | self.norm2 = norm_layer(dim) 131 | mlp_hidden_dim = int(dim * mlp_ratio) 132 | self.mlp = Mlp(in_features=dim, hidden_features=mlp_hidden_dim, act_layer=act_layer, drop=drop) 133 | 134 | self.apply(self._init_weights) 135 | 136 | def _init_weights(self, m): 137 | if isinstance(m, nn.Linear): 138 | trunc_normal_(m.weight, std=.02) 139 | if isinstance(m, nn.Linear) and m.bias is not None: 140 | nn.init.constant_(m.bias, 0) 141 | elif isinstance(m, nn.LayerNorm): 142 | nn.init.constant_(m.bias, 0) 143 | nn.init.constant_(m.weight, 1.0) 144 | elif isinstance(m, nn.Conv2d): 145 | fan_out = m.kernel_size[0] * m.kernel_size[1] * m.out_channels 146 | fan_out //= m.groups 147 | m.weight.data.normal_(0, math.sqrt(2.0 / fan_out)) 148 | if m.bias is not None: 149 | m.bias.data.zero_() 150 | 151 | def forward(self, x, H, W): 152 | x = x + self.drop_path(self.attn(self.norm1(x), H, W)) 153 | x = x + self.drop_path(self.mlp(self.norm2(x), H, W)) 154 | 155 | return x 156 | 157 | 158 | class OverlapPatchEmbed(nn.Module): 159 | """ Image to Patch Embedding 160 | """ 161 | 162 | def __init__(self, img_size=224, patch_size=7, stride=4, in_chans=3, embed_dim=768): 163 | super().__init__() 164 | img_size = to_2tuple(img_size) 165 | patch_size = to_2tuple(patch_size) 166 | 167 | self.img_size = img_size 168 | self.patch_size = patch_size 169 | self.H, self.W = img_size[0] // patch_size[0], img_size[1] // patch_size[1] 170 | self.num_patches = self.H * self.W 171 | self.proj = nn.Conv2d(in_chans, embed_dim, kernel_size=patch_size, stride=stride, 172 | padding=(patch_size[0] // 2, patch_size[1] // 2)) 173 | self.norm = nn.LayerNorm(embed_dim) 174 | 175 | self.apply(self._init_weights) 176 | 177 | def _init_weights(self, m): 178 | if isinstance(m, nn.Linear): 179 | trunc_normal_(m.weight, std=.02) 180 | if isinstance(m, nn.Linear) and m.bias is not None: 181 | nn.init.constant_(m.bias, 0) 182 | elif isinstance(m, nn.LayerNorm): 183 | nn.init.constant_(m.bias, 0) 184 | nn.init.constant_(m.weight, 1.0) 185 | elif isinstance(m, nn.Conv2d): 186 | fan_out = m.kernel_size[0] * m.kernel_size[1] * m.out_channels 187 | fan_out //= m.groups 188 | m.weight.data.normal_(0, math.sqrt(2.0 / fan_out)) 189 | if m.bias is not None: 190 | m.bias.data.zero_() 191 | 192 | def forward(self, x): 193 | x = self.proj(x) 194 | _, _, H, W = x.shape 195 | x = x.flatten(2).transpose(1, 2) 196 | x = self.norm(x) 197 | 198 | return x, H, W 199 | 200 | 201 | class MixVisionTransformer(nn.Module): 202 | def __init__(self, img_size=224, patch_size=16, in_chans=3, num_classes=1000, embed_dims=[64, 128, 256, 512], 203 | num_heads=[1, 2, 4, 8], mlp_ratios=[4, 4, 4, 4], qkv_bias=False, qk_scale=None, drop_rate=0., 204 | attn_drop_rate=0., drop_path_rate=0., norm_layer=nn.LayerNorm, 205 | depths=[3, 4, 6, 3], sr_ratios=[8, 4, 2, 1]): 206 | super().__init__() 207 | self.num_classes = num_classes 208 | self.depths = depths 209 | self.embed_dims = embed_dims 210 | 211 | # patch_embed 212 | self.patch_embed1 = OverlapPatchEmbed(img_size=img_size, patch_size=7, stride=4, in_chans=in_chans, 213 | embed_dim=embed_dims[0]) 214 | self.patch_embed2 = OverlapPatchEmbed(img_size=img_size // 4, patch_size=3, stride=2, in_chans=embed_dims[0], 215 | embed_dim=embed_dims[1]) 216 | self.patch_embed3 = OverlapPatchEmbed(img_size=img_size // 8, patch_size=3, stride=2, in_chans=embed_dims[1], 217 | embed_dim=embed_dims[2]) 218 | self.patch_embed4 = OverlapPatchEmbed(img_size=img_size // 16, patch_size=3, stride=2, in_chans=embed_dims[2], 219 | embed_dim=embed_dims[3]) 220 | 221 | # transformer encoder 222 | dpr = [x.item() for x in torch.linspace(0, drop_path_rate, sum(depths))] # stochastic depth decay rule 223 | cur = 0 224 | self.block1 = nn.ModuleList([Block( 225 | dim=embed_dims[0], num_heads=num_heads[0], mlp_ratio=mlp_ratios[0], qkv_bias=qkv_bias, qk_scale=qk_scale, 226 | drop=drop_rate, attn_drop=attn_drop_rate, drop_path=dpr[cur + i], norm_layer=norm_layer, 227 | sr_ratio=sr_ratios[0]) 228 | for i in range(depths[0])]) 229 | self.norm1 = norm_layer(embed_dims[0]) 230 | 231 | cur += depths[0] 232 | self.block2 = nn.ModuleList([Block( 233 | dim=embed_dims[1], num_heads=num_heads[1], mlp_ratio=mlp_ratios[1], qkv_bias=qkv_bias, qk_scale=qk_scale, 234 | drop=drop_rate, attn_drop=attn_drop_rate, drop_path=dpr[cur + i], norm_layer=norm_layer, 235 | sr_ratio=sr_ratios[1]) 236 | for i in range(depths[1])]) 237 | self.norm2 = norm_layer(embed_dims[1]) 238 | 239 | cur += depths[1] 240 | self.block3 = nn.ModuleList([Block( 241 | dim=embed_dims[2], num_heads=num_heads[2], mlp_ratio=mlp_ratios[2], qkv_bias=qkv_bias, qk_scale=qk_scale, 242 | drop=drop_rate, attn_drop=attn_drop_rate, drop_path=dpr[cur + i], norm_layer=norm_layer, 243 | sr_ratio=sr_ratios[2]) 244 | for i in range(depths[2])]) 245 | self.norm3 = norm_layer(embed_dims[2]) 246 | 247 | cur += depths[2] 248 | self.block4 = nn.ModuleList([Block( 249 | dim=embed_dims[3], num_heads=num_heads[3], mlp_ratio=mlp_ratios[3], qkv_bias=qkv_bias, qk_scale=qk_scale, 250 | drop=drop_rate, attn_drop=attn_drop_rate, drop_path=dpr[cur + i], norm_layer=norm_layer, 251 | sr_ratio=sr_ratios[3]) 252 | for i in range(depths[3])]) 253 | self.norm4 = norm_layer(embed_dims[3]) 254 | 255 | # classification head 256 | # self.head = nn.Linear(embed_dims[3], num_classes) if num_classes > 0 else nn.Identity() 257 | 258 | self.apply(self._init_weights) 259 | 260 | def _init_weights(self, m): 261 | if isinstance(m, nn.Linear): 262 | trunc_normal_(m.weight, std=.02) 263 | if isinstance(m, nn.Linear) and m.bias is not None: 264 | nn.init.constant_(m.bias, 0) 265 | elif isinstance(m, nn.LayerNorm): 266 | nn.init.constant_(m.bias, 0) 267 | nn.init.constant_(m.weight, 1.0) 268 | elif isinstance(m, nn.Conv2d): 269 | fan_out = m.kernel_size[0] * m.kernel_size[1] * m.out_channels 270 | fan_out //= m.groups 271 | m.weight.data.normal_(0, math.sqrt(2.0 / fan_out)) 272 | if m.bias is not None: 273 | m.bias.data.zero_() 274 | ''' 275 | def init_weights(self, pretrained=None): 276 | if isinstance(pretrained, str): 277 | logger = get_root_logger() 278 | load_checkpoint(self, pretrained, map_location='cpu', strict=False, logger=logger) 279 | ''' 280 | def reset_drop_path(self, drop_path_rate): 281 | dpr = [x.item() for x in torch.linspace(0, drop_path_rate, sum(self.depths))] 282 | cur = 0 283 | for i in range(self.depths[0]): 284 | self.block1[i].drop_path.drop_prob = dpr[cur + i] 285 | 286 | cur += self.depths[0] 287 | for i in range(self.depths[1]): 288 | self.block2[i].drop_path.drop_prob = dpr[cur + i] 289 | 290 | cur += self.depths[1] 291 | for i in range(self.depths[2]): 292 | self.block3[i].drop_path.drop_prob = dpr[cur + i] 293 | 294 | cur += self.depths[2] 295 | for i in range(self.depths[3]): 296 | self.block4[i].drop_path.drop_prob = dpr[cur + i] 297 | 298 | def freeze_patch_emb(self): 299 | self.patch_embed1.requires_grad = False 300 | 301 | @torch.jit.ignore 302 | def no_weight_decay(self): 303 | return {'pos_embed1', 'pos_embed2', 'pos_embed3', 'pos_embed4', 'cls_token'} # has pos_embed may be better 304 | 305 | def get_classifier(self): 306 | return self.head 307 | 308 | def reset_classifier(self, num_classes, global_pool=''): 309 | self.num_classes = num_classes 310 | self.head = nn.Linear(self.embed_dim, num_classes) if num_classes > 0 else nn.Identity() 311 | 312 | def forward_features(self, x): 313 | B = x.shape[0] 314 | outs = [] 315 | 316 | # stage 1 317 | x, H, W = self.patch_embed1(x) 318 | for i, blk in enumerate(self.block1): 319 | x = blk(x, H, W) 320 | x = self.norm1(x) 321 | x = x.reshape(B, H, W, -1).permute(0, 3, 1, 2).contiguous() 322 | outs.append(x) 323 | 324 | # stage 2 325 | x, H, W = self.patch_embed2(x) 326 | for i, blk in enumerate(self.block2): 327 | x = blk(x, H, W) 328 | x = self.norm2(x) 329 | x = x.reshape(B, H, W, -1).permute(0, 3, 1, 2).contiguous() 330 | outs.append(x) 331 | 332 | # stage 3 333 | x, H, W = self.patch_embed3(x) 334 | for i, blk in enumerate(self.block3): 335 | x = blk(x, H, W) 336 | x = self.norm3(x) 337 | x = x.reshape(B, H, W, -1).permute(0, 3, 1, 2).contiguous() 338 | outs.append(x) 339 | 340 | # stage 4 341 | x, H, W = self.patch_embed4(x) 342 | for i, blk in enumerate(self.block4): 343 | x = blk(x, H, W) 344 | x = self.norm4(x) 345 | x = x.reshape(B, H, W, -1).permute(0, 3, 1, 2).contiguous() 346 | outs.append(x) 347 | 348 | return outs 349 | 350 | def forward(self, x): 351 | x = self.forward_features(x) 352 | # x = self.head(x) 353 | 354 | return x 355 | 356 | 357 | class DWConv(nn.Module): 358 | def __init__(self, dim=768): 359 | super(DWConv, self).__init__() 360 | self.dwconv = nn.Conv2d(dim, dim, 3, 1, 1, bias=True, groups=dim) 361 | 362 | def forward(self, x, H, W): 363 | B, N, C = x.shape 364 | x = x.transpose(1, 2).view(B, C, H, W) 365 | x = self.dwconv(x) 366 | x = x.flatten(2).transpose(1, 2) 367 | 368 | return x 369 | 370 | class mit_b0(MixVisionTransformer): 371 | def __init__(self, **kwargs): 372 | super(mit_b0, self).__init__( 373 | patch_size=4, embed_dims=[32, 64, 160, 256], num_heads=[1, 2, 5, 8], mlp_ratios=[4, 4, 4, 4], 374 | qkv_bias=True, norm_layer=partial(nn.LayerNorm, eps=1e-6), depths=[2, 2, 2, 2], sr_ratios=[8, 4, 2, 1], 375 | drop_rate=0.0, drop_path_rate=0.1) 376 | 377 | 378 | class mit_b1(MixVisionTransformer): 379 | def __init__(self, **kwargs): 380 | super(mit_b1, self).__init__( 381 | patch_size=4, embed_dims=[64, 128, 320, 512], num_heads=[1, 2, 5, 8], mlp_ratios=[4, 4, 4, 4], 382 | qkv_bias=True, norm_layer=partial(nn.LayerNorm, eps=1e-6), depths=[2, 2, 2, 2], sr_ratios=[8, 4, 2, 1], 383 | drop_rate=0.0, drop_path_rate=0.1) 384 | 385 | 386 | class mit_b2(MixVisionTransformer): 387 | def __init__(self, **kwargs): 388 | super(mit_b2, self).__init__( 389 | patch_size=4, embed_dims=[64, 128, 320, 512], num_heads=[1, 2, 5, 8], mlp_ratios=[4, 4, 4, 4], 390 | qkv_bias=True, norm_layer=partial(nn.LayerNorm, eps=1e-6), depths=[3, 4, 6, 3], sr_ratios=[8, 4, 2, 1], 391 | drop_rate=0.0, drop_path_rate=0.1) 392 | 393 | 394 | class mit_b3(MixVisionTransformer): 395 | def __init__(self, **kwargs): 396 | super(mit_b3, self).__init__( 397 | patch_size=4, embed_dims=[64, 128, 320, 512], num_heads=[1, 2, 5, 8], mlp_ratios=[4, 4, 4, 4], 398 | qkv_bias=True, norm_layer=partial(nn.LayerNorm, eps=1e-6), depths=[3, 4, 18, 3], sr_ratios=[8, 4, 2, 1], 399 | drop_rate=0.0, drop_path_rate=0.1) 400 | 401 | 402 | class mit_b4(MixVisionTransformer): 403 | def __init__(self, **kwargs): 404 | super(mit_b4, self).__init__( 405 | patch_size=4, embed_dims=[64, 128, 320, 512], num_heads=[1, 2, 5, 8], mlp_ratios=[4, 4, 4, 4], 406 | qkv_bias=True, norm_layer=partial(nn.LayerNorm, eps=1e-6), depths=[3, 8, 27, 3], sr_ratios=[8, 4, 2, 1], 407 | drop_rate=0.0, drop_path_rate=0.1) 408 | 409 | 410 | class mit_b5(MixVisionTransformer): 411 | def __init__(self, **kwargs): 412 | super(mit_b5, self).__init__( 413 | patch_size=4, embed_dims=[64, 128, 320, 512], num_heads=[1, 2, 5, 8], mlp_ratios=[4, 4, 4, 4], 414 | qkv_bias=True, norm_layer=partial(nn.LayerNorm, eps=1e-6), depths=[3, 6, 40, 3], sr_ratios=[8, 4, 2, 1], 415 | drop_rate=0.0, drop_path_rate=0.1) -------------------------------------------------------------------------------- /datasets/voc/val.txt: -------------------------------------------------------------------------------- 1 | 2007_000033 2 | 2007_000042 3 | 2007_000061 4 | 2007_000123 5 | 2007_000129 6 | 2007_000175 7 | 2007_000187 8 | 2007_000323 9 | 2007_000332 10 | 2007_000346 11 | 2007_000452 12 | 2007_000464 13 | 2007_000491 14 | 2007_000529 15 | 2007_000559 16 | 2007_000572 17 | 2007_000629 18 | 2007_000636 19 | 2007_000661 20 | 2007_000663 21 | 2007_000676 22 | 2007_000727 23 | 2007_000762 24 | 2007_000783 25 | 2007_000799 26 | 2007_000804 27 | 2007_000830 28 | 2007_000837 29 | 2007_000847 30 | 2007_000862 31 | 2007_000925 32 | 2007_000999 33 | 2007_001154 34 | 2007_001175 35 | 2007_001239 36 | 2007_001284 37 | 2007_001288 38 | 2007_001289 39 | 2007_001299 40 | 2007_001311 41 | 2007_001321 42 | 2007_001377 43 | 2007_001408 44 | 2007_001423 45 | 2007_001430 46 | 2007_001457 47 | 2007_001458 48 | 2007_001526 49 | 2007_001568 50 | 2007_001585 51 | 2007_001586 52 | 2007_001587 53 | 2007_001594 54 | 2007_001630 55 | 2007_001677 56 | 2007_001678 57 | 2007_001717 58 | 2007_001733 59 | 2007_001761 60 | 2007_001763 61 | 2007_001774 62 | 2007_001884 63 | 2007_001955 64 | 2007_002046 65 | 2007_002094 66 | 2007_002119 67 | 2007_002132 68 | 2007_002260 69 | 2007_002266 70 | 2007_002268 71 | 2007_002284 72 | 2007_002376 73 | 2007_002378 74 | 2007_002387 75 | 2007_002400 76 | 2007_002412 77 | 2007_002426 78 | 2007_002427 79 | 2007_002445 80 | 2007_002470 81 | 2007_002539 82 | 2007_002565 83 | 2007_002597 84 | 2007_002618 85 | 2007_002619 86 | 2007_002624 87 | 2007_002643 88 | 2007_002648 89 | 2007_002719 90 | 2007_002728 91 | 2007_002823 92 | 2007_002824 93 | 2007_002852 94 | 2007_002903 95 | 2007_003011 96 | 2007_003020 97 | 2007_003022 98 | 2007_003051 99 | 2007_003088 100 | 2007_003101 101 | 2007_003106 102 | 2007_003110 103 | 2007_003131 104 | 2007_003134 105 | 2007_003137 106 | 2007_003143 107 | 2007_003169 108 | 2007_003188 109 | 2007_003194 110 | 2007_003195 111 | 2007_003201 112 | 2007_003349 113 | 2007_003367 114 | 2007_003373 115 | 2007_003499 116 | 2007_003503 117 | 2007_003506 118 | 2007_003530 119 | 2007_003571 120 | 2007_003587 121 | 2007_003611 122 | 2007_003621 123 | 2007_003682 124 | 2007_003711 125 | 2007_003714 126 | 2007_003742 127 | 2007_003786 128 | 2007_003841 129 | 2007_003848 130 | 2007_003861 131 | 2007_003872 132 | 2007_003917 133 | 2007_003957 134 | 2007_003991 135 | 2007_004033 136 | 2007_004052 137 | 2007_004112 138 | 2007_004121 139 | 2007_004143 140 | 2007_004189 141 | 2007_004190 142 | 2007_004193 143 | 2007_004241 144 | 2007_004275 145 | 2007_004281 146 | 2007_004380 147 | 2007_004392 148 | 2007_004405 149 | 2007_004468 150 | 2007_004483 151 | 2007_004510 152 | 2007_004538 153 | 2007_004558 154 | 2007_004644 155 | 2007_004649 156 | 2007_004712 157 | 2007_004722 158 | 2007_004856 159 | 2007_004866 160 | 2007_004902 161 | 2007_004969 162 | 2007_005058 163 | 2007_005074 164 | 2007_005107 165 | 2007_005114 166 | 2007_005149 167 | 2007_005173 168 | 2007_005281 169 | 2007_005294 170 | 2007_005296 171 | 2007_005304 172 | 2007_005331 173 | 2007_005354 174 | 2007_005358 175 | 2007_005428 176 | 2007_005460 177 | 2007_005469 178 | 2007_005509 179 | 2007_005547 180 | 2007_005600 181 | 2007_005608 182 | 2007_005626 183 | 2007_005689 184 | 2007_005696 185 | 2007_005705 186 | 2007_005759 187 | 2007_005803 188 | 2007_005813 189 | 2007_005828 190 | 2007_005844 191 | 2007_005845 192 | 2007_005857 193 | 2007_005911 194 | 2007_005915 195 | 2007_005978 196 | 2007_006028 197 | 2007_006035 198 | 2007_006046 199 | 2007_006076 200 | 2007_006086 201 | 2007_006117 202 | 2007_006171 203 | 2007_006241 204 | 2007_006260 205 | 2007_006277 206 | 2007_006348 207 | 2007_006364 208 | 2007_006373 209 | 2007_006444 210 | 2007_006449 211 | 2007_006549 212 | 2007_006553 213 | 2007_006560 214 | 2007_006647 215 | 2007_006678 216 | 2007_006680 217 | 2007_006698 218 | 2007_006761 219 | 2007_006802 220 | 2007_006837 221 | 2007_006841 222 | 2007_006864 223 | 2007_006866 224 | 2007_006946 225 | 2007_007007 226 | 2007_007084 227 | 2007_007109 228 | 2007_007130 229 | 2007_007165 230 | 2007_007168 231 | 2007_007195 232 | 2007_007196 233 | 2007_007203 234 | 2007_007211 235 | 2007_007235 236 | 2007_007341 237 | 2007_007414 238 | 2007_007417 239 | 2007_007470 240 | 2007_007477 241 | 2007_007493 242 | 2007_007498 243 | 2007_007524 244 | 2007_007534 245 | 2007_007624 246 | 2007_007651 247 | 2007_007688 248 | 2007_007748 249 | 2007_007795 250 | 2007_007810 251 | 2007_007815 252 | 2007_007818 253 | 2007_007836 254 | 2007_007849 255 | 2007_007881 256 | 2007_007996 257 | 2007_008051 258 | 2007_008084 259 | 2007_008106 260 | 2007_008110 261 | 2007_008204 262 | 2007_008222 263 | 2007_008256 264 | 2007_008260 265 | 2007_008339 266 | 2007_008374 267 | 2007_008415 268 | 2007_008430 269 | 2007_008543 270 | 2007_008547 271 | 2007_008596 272 | 2007_008645 273 | 2007_008670 274 | 2007_008708 275 | 2007_008722 276 | 2007_008747 277 | 2007_008802 278 | 2007_008815 279 | 2007_008897 280 | 2007_008944 281 | 2007_008964 282 | 2007_008973 283 | 2007_008980 284 | 2007_009015 285 | 2007_009068 286 | 2007_009084 287 | 2007_009088 288 | 2007_009096 289 | 2007_009221 290 | 2007_009245 291 | 2007_009251 292 | 2007_009252 293 | 2007_009258 294 | 2007_009320 295 | 2007_009323 296 | 2007_009331 297 | 2007_009346 298 | 2007_009392 299 | 2007_009413 300 | 2007_009419 301 | 2007_009446 302 | 2007_009458 303 | 2007_009521 304 | 2007_009562 305 | 2007_009592 306 | 2007_009654 307 | 2007_009655 308 | 2007_009684 309 | 2007_009687 310 | 2007_009691 311 | 2007_009706 312 | 2007_009750 313 | 2007_009756 314 | 2007_009764 315 | 2007_009794 316 | 2007_009817 317 | 2007_009841 318 | 2007_009897 319 | 2007_009911 320 | 2007_009923 321 | 2007_009938 322 | 2008_000009 323 | 2008_000016 324 | 2008_000073 325 | 2008_000075 326 | 2008_000080 327 | 2008_000107 328 | 2008_000120 329 | 2008_000123 330 | 2008_000149 331 | 2008_000182 332 | 2008_000213 333 | 2008_000215 334 | 2008_000223 335 | 2008_000233 336 | 2008_000234 337 | 2008_000239 338 | 2008_000254 339 | 2008_000270 340 | 2008_000271 341 | 2008_000345 342 | 2008_000359 343 | 2008_000391 344 | 2008_000401 345 | 2008_000464 346 | 2008_000469 347 | 2008_000474 348 | 2008_000501 349 | 2008_000510 350 | 2008_000533 351 | 2008_000573 352 | 2008_000589 353 | 2008_000602 354 | 2008_000630 355 | 2008_000657 356 | 2008_000661 357 | 2008_000662 358 | 2008_000666 359 | 2008_000673 360 | 2008_000700 361 | 2008_000725 362 | 2008_000731 363 | 2008_000763 364 | 2008_000765 365 | 2008_000782 366 | 2008_000795 367 | 2008_000811 368 | 2008_000848 369 | 2008_000853 370 | 2008_000863 371 | 2008_000911 372 | 2008_000919 373 | 2008_000943 374 | 2008_000992 375 | 2008_001013 376 | 2008_001028 377 | 2008_001040 378 | 2008_001070 379 | 2008_001074 380 | 2008_001076 381 | 2008_001078 382 | 2008_001135 383 | 2008_001150 384 | 2008_001170 385 | 2008_001231 386 | 2008_001249 387 | 2008_001260 388 | 2008_001283 389 | 2008_001308 390 | 2008_001379 391 | 2008_001404 392 | 2008_001433 393 | 2008_001439 394 | 2008_001478 395 | 2008_001491 396 | 2008_001504 397 | 2008_001513 398 | 2008_001514 399 | 2008_001531 400 | 2008_001546 401 | 2008_001547 402 | 2008_001580 403 | 2008_001629 404 | 2008_001640 405 | 2008_001682 406 | 2008_001688 407 | 2008_001715 408 | 2008_001821 409 | 2008_001874 410 | 2008_001885 411 | 2008_001895 412 | 2008_001966 413 | 2008_001971 414 | 2008_001992 415 | 2008_002043 416 | 2008_002152 417 | 2008_002205 418 | 2008_002212 419 | 2008_002239 420 | 2008_002240 421 | 2008_002241 422 | 2008_002269 423 | 2008_002273 424 | 2008_002358 425 | 2008_002379 426 | 2008_002383 427 | 2008_002429 428 | 2008_002464 429 | 2008_002467 430 | 2008_002492 431 | 2008_002495 432 | 2008_002504 433 | 2008_002521 434 | 2008_002536 435 | 2008_002588 436 | 2008_002623 437 | 2008_002680 438 | 2008_002681 439 | 2008_002775 440 | 2008_002778 441 | 2008_002835 442 | 2008_002859 443 | 2008_002864 444 | 2008_002900 445 | 2008_002904 446 | 2008_002929 447 | 2008_002936 448 | 2008_002942 449 | 2008_002958 450 | 2008_003003 451 | 2008_003026 452 | 2008_003034 453 | 2008_003076 454 | 2008_003105 455 | 2008_003108 456 | 2008_003110 457 | 2008_003135 458 | 2008_003141 459 | 2008_003155 460 | 2008_003210 461 | 2008_003238 462 | 2008_003270 463 | 2008_003330 464 | 2008_003333 465 | 2008_003369 466 | 2008_003379 467 | 2008_003451 468 | 2008_003461 469 | 2008_003477 470 | 2008_003492 471 | 2008_003499 472 | 2008_003511 473 | 2008_003546 474 | 2008_003576 475 | 2008_003577 476 | 2008_003676 477 | 2008_003709 478 | 2008_003733 479 | 2008_003777 480 | 2008_003782 481 | 2008_003821 482 | 2008_003846 483 | 2008_003856 484 | 2008_003858 485 | 2008_003874 486 | 2008_003876 487 | 2008_003885 488 | 2008_003886 489 | 2008_003926 490 | 2008_003976 491 | 2008_004069 492 | 2008_004101 493 | 2008_004140 494 | 2008_004172 495 | 2008_004175 496 | 2008_004212 497 | 2008_004279 498 | 2008_004339 499 | 2008_004345 500 | 2008_004363 501 | 2008_004367 502 | 2008_004396 503 | 2008_004399 504 | 2008_004453 505 | 2008_004477 506 | 2008_004552 507 | 2008_004562 508 | 2008_004575 509 | 2008_004610 510 | 2008_004612 511 | 2008_004621 512 | 2008_004624 513 | 2008_004654 514 | 2008_004659 515 | 2008_004687 516 | 2008_004701 517 | 2008_004704 518 | 2008_004705 519 | 2008_004754 520 | 2008_004758 521 | 2008_004854 522 | 2008_004910 523 | 2008_004995 524 | 2008_005049 525 | 2008_005089 526 | 2008_005097 527 | 2008_005105 528 | 2008_005145 529 | 2008_005197 530 | 2008_005217 531 | 2008_005242 532 | 2008_005245 533 | 2008_005254 534 | 2008_005262 535 | 2008_005338 536 | 2008_005398 537 | 2008_005399 538 | 2008_005422 539 | 2008_005439 540 | 2008_005445 541 | 2008_005525 542 | 2008_005544 543 | 2008_005628 544 | 2008_005633 545 | 2008_005637 546 | 2008_005642 547 | 2008_005676 548 | 2008_005680 549 | 2008_005691 550 | 2008_005727 551 | 2008_005738 552 | 2008_005812 553 | 2008_005904 554 | 2008_005915 555 | 2008_006008 556 | 2008_006036 557 | 2008_006055 558 | 2008_006063 559 | 2008_006108 560 | 2008_006130 561 | 2008_006143 562 | 2008_006159 563 | 2008_006216 564 | 2008_006219 565 | 2008_006229 566 | 2008_006254 567 | 2008_006275 568 | 2008_006325 569 | 2008_006327 570 | 2008_006341 571 | 2008_006408 572 | 2008_006480 573 | 2008_006523 574 | 2008_006526 575 | 2008_006528 576 | 2008_006553 577 | 2008_006554 578 | 2008_006703 579 | 2008_006722 580 | 2008_006752 581 | 2008_006784 582 | 2008_006835 583 | 2008_006874 584 | 2008_006981 585 | 2008_006986 586 | 2008_007025 587 | 2008_007031 588 | 2008_007048 589 | 2008_007120 590 | 2008_007123 591 | 2008_007143 592 | 2008_007194 593 | 2008_007219 594 | 2008_007273 595 | 2008_007350 596 | 2008_007378 597 | 2008_007392 598 | 2008_007402 599 | 2008_007497 600 | 2008_007498 601 | 2008_007507 602 | 2008_007513 603 | 2008_007527 604 | 2008_007548 605 | 2008_007596 606 | 2008_007677 607 | 2008_007737 608 | 2008_007797 609 | 2008_007804 610 | 2008_007811 611 | 2008_007814 612 | 2008_007828 613 | 2008_007836 614 | 2008_007945 615 | 2008_007994 616 | 2008_008051 617 | 2008_008103 618 | 2008_008127 619 | 2008_008221 620 | 2008_008252 621 | 2008_008268 622 | 2008_008296 623 | 2008_008301 624 | 2008_008335 625 | 2008_008362 626 | 2008_008392 627 | 2008_008393 628 | 2008_008421 629 | 2008_008434 630 | 2008_008469 631 | 2008_008629 632 | 2008_008682 633 | 2008_008711 634 | 2008_008746 635 | 2009_000012 636 | 2009_000013 637 | 2009_000022 638 | 2009_000032 639 | 2009_000037 640 | 2009_000039 641 | 2009_000074 642 | 2009_000080 643 | 2009_000087 644 | 2009_000096 645 | 2009_000121 646 | 2009_000136 647 | 2009_000149 648 | 2009_000156 649 | 2009_000201 650 | 2009_000205 651 | 2009_000219 652 | 2009_000242 653 | 2009_000309 654 | 2009_000318 655 | 2009_000335 656 | 2009_000351 657 | 2009_000354 658 | 2009_000387 659 | 2009_000391 660 | 2009_000412 661 | 2009_000418 662 | 2009_000421 663 | 2009_000426 664 | 2009_000440 665 | 2009_000446 666 | 2009_000455 667 | 2009_000457 668 | 2009_000469 669 | 2009_000487 670 | 2009_000488 671 | 2009_000523 672 | 2009_000573 673 | 2009_000619 674 | 2009_000628 675 | 2009_000641 676 | 2009_000664 677 | 2009_000675 678 | 2009_000704 679 | 2009_000705 680 | 2009_000712 681 | 2009_000716 682 | 2009_000723 683 | 2009_000727 684 | 2009_000730 685 | 2009_000731 686 | 2009_000732 687 | 2009_000771 688 | 2009_000825 689 | 2009_000828 690 | 2009_000839 691 | 2009_000840 692 | 2009_000845 693 | 2009_000879 694 | 2009_000892 695 | 2009_000919 696 | 2009_000924 697 | 2009_000931 698 | 2009_000935 699 | 2009_000964 700 | 2009_000989 701 | 2009_000991 702 | 2009_000998 703 | 2009_001008 704 | 2009_001082 705 | 2009_001108 706 | 2009_001160 707 | 2009_001215 708 | 2009_001240 709 | 2009_001255 710 | 2009_001278 711 | 2009_001299 712 | 2009_001300 713 | 2009_001314 714 | 2009_001332 715 | 2009_001333 716 | 2009_001363 717 | 2009_001391 718 | 2009_001411 719 | 2009_001433 720 | 2009_001505 721 | 2009_001535 722 | 2009_001536 723 | 2009_001565 724 | 2009_001607 725 | 2009_001644 726 | 2009_001663 727 | 2009_001683 728 | 2009_001684 729 | 2009_001687 730 | 2009_001718 731 | 2009_001731 732 | 2009_001765 733 | 2009_001768 734 | 2009_001775 735 | 2009_001804 736 | 2009_001816 737 | 2009_001818 738 | 2009_001850 739 | 2009_001851 740 | 2009_001854 741 | 2009_001941 742 | 2009_001991 743 | 2009_002012 744 | 2009_002035 745 | 2009_002042 746 | 2009_002082 747 | 2009_002094 748 | 2009_002097 749 | 2009_002122 750 | 2009_002150 751 | 2009_002155 752 | 2009_002164 753 | 2009_002165 754 | 2009_002171 755 | 2009_002185 756 | 2009_002202 757 | 2009_002221 758 | 2009_002238 759 | 2009_002239 760 | 2009_002265 761 | 2009_002268 762 | 2009_002291 763 | 2009_002295 764 | 2009_002317 765 | 2009_002320 766 | 2009_002346 767 | 2009_002366 768 | 2009_002372 769 | 2009_002382 770 | 2009_002390 771 | 2009_002415 772 | 2009_002445 773 | 2009_002487 774 | 2009_002521 775 | 2009_002527 776 | 2009_002535 777 | 2009_002539 778 | 2009_002549 779 | 2009_002562 780 | 2009_002568 781 | 2009_002571 782 | 2009_002573 783 | 2009_002584 784 | 2009_002591 785 | 2009_002594 786 | 2009_002604 787 | 2009_002618 788 | 2009_002635 789 | 2009_002638 790 | 2009_002649 791 | 2009_002651 792 | 2009_002727 793 | 2009_002732 794 | 2009_002749 795 | 2009_002753 796 | 2009_002771 797 | 2009_002808 798 | 2009_002856 799 | 2009_002887 800 | 2009_002888 801 | 2009_002928 802 | 2009_002936 803 | 2009_002975 804 | 2009_002982 805 | 2009_002990 806 | 2009_003003 807 | 2009_003005 808 | 2009_003043 809 | 2009_003059 810 | 2009_003063 811 | 2009_003065 812 | 2009_003071 813 | 2009_003080 814 | 2009_003105 815 | 2009_003123 816 | 2009_003193 817 | 2009_003196 818 | 2009_003217 819 | 2009_003224 820 | 2009_003241 821 | 2009_003269 822 | 2009_003273 823 | 2009_003299 824 | 2009_003304 825 | 2009_003311 826 | 2009_003323 827 | 2009_003343 828 | 2009_003378 829 | 2009_003387 830 | 2009_003406 831 | 2009_003433 832 | 2009_003450 833 | 2009_003466 834 | 2009_003481 835 | 2009_003494 836 | 2009_003498 837 | 2009_003504 838 | 2009_003507 839 | 2009_003517 840 | 2009_003523 841 | 2009_003542 842 | 2009_003549 843 | 2009_003551 844 | 2009_003564 845 | 2009_003569 846 | 2009_003576 847 | 2009_003589 848 | 2009_003607 849 | 2009_003640 850 | 2009_003666 851 | 2009_003696 852 | 2009_003703 853 | 2009_003707 854 | 2009_003756 855 | 2009_003771 856 | 2009_003773 857 | 2009_003804 858 | 2009_003806 859 | 2009_003810 860 | 2009_003849 861 | 2009_003857 862 | 2009_003858 863 | 2009_003895 864 | 2009_003903 865 | 2009_003904 866 | 2009_003928 867 | 2009_003938 868 | 2009_003971 869 | 2009_003991 870 | 2009_004021 871 | 2009_004033 872 | 2009_004043 873 | 2009_004070 874 | 2009_004072 875 | 2009_004084 876 | 2009_004099 877 | 2009_004125 878 | 2009_004140 879 | 2009_004217 880 | 2009_004221 881 | 2009_004247 882 | 2009_004248 883 | 2009_004255 884 | 2009_004298 885 | 2009_004324 886 | 2009_004455 887 | 2009_004494 888 | 2009_004497 889 | 2009_004504 890 | 2009_004507 891 | 2009_004509 892 | 2009_004540 893 | 2009_004568 894 | 2009_004579 895 | 2009_004581 896 | 2009_004590 897 | 2009_004592 898 | 2009_004594 899 | 2009_004635 900 | 2009_004653 901 | 2009_004687 902 | 2009_004721 903 | 2009_004730 904 | 2009_004732 905 | 2009_004738 906 | 2009_004748 907 | 2009_004789 908 | 2009_004799 909 | 2009_004801 910 | 2009_004848 911 | 2009_004859 912 | 2009_004867 913 | 2009_004882 914 | 2009_004886 915 | 2009_004895 916 | 2009_004942 917 | 2009_004969 918 | 2009_004987 919 | 2009_004993 920 | 2009_004994 921 | 2009_005038 922 | 2009_005078 923 | 2009_005087 924 | 2009_005089 925 | 2009_005137 926 | 2009_005148 927 | 2009_005156 928 | 2009_005158 929 | 2009_005189 930 | 2009_005190 931 | 2009_005217 932 | 2009_005219 933 | 2009_005220 934 | 2009_005231 935 | 2009_005260 936 | 2009_005262 937 | 2009_005302 938 | 2010_000003 939 | 2010_000038 940 | 2010_000065 941 | 2010_000083 942 | 2010_000084 943 | 2010_000087 944 | 2010_000110 945 | 2010_000159 946 | 2010_000160 947 | 2010_000163 948 | 2010_000174 949 | 2010_000216 950 | 2010_000238 951 | 2010_000241 952 | 2010_000256 953 | 2010_000272 954 | 2010_000284 955 | 2010_000309 956 | 2010_000318 957 | 2010_000330 958 | 2010_000335 959 | 2010_000342 960 | 2010_000372 961 | 2010_000422 962 | 2010_000426 963 | 2010_000427 964 | 2010_000502 965 | 2010_000530 966 | 2010_000552 967 | 2010_000559 968 | 2010_000572 969 | 2010_000573 970 | 2010_000622 971 | 2010_000628 972 | 2010_000639 973 | 2010_000666 974 | 2010_000679 975 | 2010_000682 976 | 2010_000683 977 | 2010_000724 978 | 2010_000738 979 | 2010_000764 980 | 2010_000788 981 | 2010_000814 982 | 2010_000836 983 | 2010_000874 984 | 2010_000904 985 | 2010_000906 986 | 2010_000907 987 | 2010_000918 988 | 2010_000929 989 | 2010_000941 990 | 2010_000952 991 | 2010_000961 992 | 2010_001000 993 | 2010_001010 994 | 2010_001011 995 | 2010_001016 996 | 2010_001017 997 | 2010_001024 998 | 2010_001036 999 | 2010_001061 1000 | 2010_001069 1001 | 2010_001070 1002 | 2010_001079 1003 | 2010_001104 1004 | 2010_001124 1005 | 2010_001149 1006 | 2010_001151 1007 | 2010_001174 1008 | 2010_001206 1009 | 2010_001246 1010 | 2010_001251 1011 | 2010_001256 1012 | 2010_001264 1013 | 2010_001292 1014 | 2010_001313 1015 | 2010_001327 1016 | 2010_001331 1017 | 2010_001351 1018 | 2010_001367 1019 | 2010_001376 1020 | 2010_001403 1021 | 2010_001448 1022 | 2010_001451 1023 | 2010_001522 1024 | 2010_001534 1025 | 2010_001553 1026 | 2010_001557 1027 | 2010_001563 1028 | 2010_001577 1029 | 2010_001579 1030 | 2010_001646 1031 | 2010_001656 1032 | 2010_001692 1033 | 2010_001699 1034 | 2010_001734 1035 | 2010_001752 1036 | 2010_001767 1037 | 2010_001768 1038 | 2010_001773 1039 | 2010_001820 1040 | 2010_001830 1041 | 2010_001851 1042 | 2010_001908 1043 | 2010_001913 1044 | 2010_001951 1045 | 2010_001956 1046 | 2010_001962 1047 | 2010_001966 1048 | 2010_001995 1049 | 2010_002017 1050 | 2010_002025 1051 | 2010_002030 1052 | 2010_002106 1053 | 2010_002137 1054 | 2010_002142 1055 | 2010_002146 1056 | 2010_002147 1057 | 2010_002150 1058 | 2010_002161 1059 | 2010_002200 1060 | 2010_002228 1061 | 2010_002232 1062 | 2010_002251 1063 | 2010_002271 1064 | 2010_002305 1065 | 2010_002310 1066 | 2010_002336 1067 | 2010_002348 1068 | 2010_002361 1069 | 2010_002390 1070 | 2010_002396 1071 | 2010_002422 1072 | 2010_002450 1073 | 2010_002480 1074 | 2010_002512 1075 | 2010_002531 1076 | 2010_002536 1077 | 2010_002538 1078 | 2010_002546 1079 | 2010_002623 1080 | 2010_002682 1081 | 2010_002691 1082 | 2010_002693 1083 | 2010_002701 1084 | 2010_002763 1085 | 2010_002792 1086 | 2010_002868 1087 | 2010_002900 1088 | 2010_002902 1089 | 2010_002921 1090 | 2010_002929 1091 | 2010_002939 1092 | 2010_002988 1093 | 2010_003014 1094 | 2010_003060 1095 | 2010_003123 1096 | 2010_003127 1097 | 2010_003132 1098 | 2010_003168 1099 | 2010_003183 1100 | 2010_003187 1101 | 2010_003207 1102 | 2010_003231 1103 | 2010_003239 1104 | 2010_003275 1105 | 2010_003276 1106 | 2010_003293 1107 | 2010_003302 1108 | 2010_003325 1109 | 2010_003362 1110 | 2010_003365 1111 | 2010_003381 1112 | 2010_003402 1113 | 2010_003409 1114 | 2010_003418 1115 | 2010_003446 1116 | 2010_003453 1117 | 2010_003468 1118 | 2010_003473 1119 | 2010_003495 1120 | 2010_003506 1121 | 2010_003514 1122 | 2010_003531 1123 | 2010_003532 1124 | 2010_003541 1125 | 2010_003547 1126 | 2010_003597 1127 | 2010_003675 1128 | 2010_003708 1129 | 2010_003716 1130 | 2010_003746 1131 | 2010_003758 1132 | 2010_003764 1133 | 2010_003768 1134 | 2010_003771 1135 | 2010_003772 1136 | 2010_003781 1137 | 2010_003813 1138 | 2010_003820 1139 | 2010_003854 1140 | 2010_003912 1141 | 2010_003915 1142 | 2010_003947 1143 | 2010_003956 1144 | 2010_003971 1145 | 2010_004041 1146 | 2010_004042 1147 | 2010_004056 1148 | 2010_004063 1149 | 2010_004104 1150 | 2010_004120 1151 | 2010_004149 1152 | 2010_004165 1153 | 2010_004208 1154 | 2010_004219 1155 | 2010_004226 1156 | 2010_004314 1157 | 2010_004320 1158 | 2010_004322 1159 | 2010_004337 1160 | 2010_004348 1161 | 2010_004355 1162 | 2010_004369 1163 | 2010_004382 1164 | 2010_004419 1165 | 2010_004432 1166 | 2010_004472 1167 | 2010_004479 1168 | 2010_004519 1169 | 2010_004520 1170 | 2010_004529 1171 | 2010_004543 1172 | 2010_004550 1173 | 2010_004551 1174 | 2010_004556 1175 | 2010_004559 1176 | 2010_004628 1177 | 2010_004635 1178 | 2010_004662 1179 | 2010_004697 1180 | 2010_004757 1181 | 2010_004763 1182 | 2010_004772 1183 | 2010_004783 1184 | 2010_004789 1185 | 2010_004795 1186 | 2010_004815 1187 | 2010_004825 1188 | 2010_004828 1189 | 2010_004856 1190 | 2010_004857 1191 | 2010_004861 1192 | 2010_004941 1193 | 2010_004946 1194 | 2010_004951 1195 | 2010_004980 1196 | 2010_004994 1197 | 2010_005013 1198 | 2010_005021 1199 | 2010_005046 1200 | 2010_005063 1201 | 2010_005108 1202 | 2010_005118 1203 | 2010_005159 1204 | 2010_005160 1205 | 2010_005166 1206 | 2010_005174 1207 | 2010_005180 1208 | 2010_005187 1209 | 2010_005206 1210 | 2010_005245 1211 | 2010_005252 1212 | 2010_005284 1213 | 2010_005305 1214 | 2010_005344 1215 | 2010_005353 1216 | 2010_005366 1217 | 2010_005401 1218 | 2010_005421 1219 | 2010_005428 1220 | 2010_005432 1221 | 2010_005433 1222 | 2010_005496 1223 | 2010_005501 1224 | 2010_005508 1225 | 2010_005531 1226 | 2010_005534 1227 | 2010_005575 1228 | 2010_005582 1229 | 2010_005606 1230 | 2010_005626 1231 | 2010_005644 1232 | 2010_005664 1233 | 2010_005705 1234 | 2010_005706 1235 | 2010_005709 1236 | 2010_005718 1237 | 2010_005719 1238 | 2010_005727 1239 | 2010_005762 1240 | 2010_005788 1241 | 2010_005860 1242 | 2010_005871 1243 | 2010_005877 1244 | 2010_005888 1245 | 2010_005899 1246 | 2010_005922 1247 | 2010_005991 1248 | 2010_005992 1249 | 2010_006026 1250 | 2010_006034 1251 | 2010_006054 1252 | 2010_006070 1253 | 2011_000045 1254 | 2011_000051 1255 | 2011_000054 1256 | 2011_000066 1257 | 2011_000070 1258 | 2011_000112 1259 | 2011_000173 1260 | 2011_000178 1261 | 2011_000185 1262 | 2011_000226 1263 | 2011_000234 1264 | 2011_000238 1265 | 2011_000239 1266 | 2011_000248 1267 | 2011_000283 1268 | 2011_000291 1269 | 2011_000310 1270 | 2011_000312 1271 | 2011_000338 1272 | 2011_000396 1273 | 2011_000412 1274 | 2011_000419 1275 | 2011_000435 1276 | 2011_000436 1277 | 2011_000438 1278 | 2011_000455 1279 | 2011_000456 1280 | 2011_000479 1281 | 2011_000481 1282 | 2011_000482 1283 | 2011_000503 1284 | 2011_000512 1285 | 2011_000521 1286 | 2011_000526 1287 | 2011_000536 1288 | 2011_000548 1289 | 2011_000566 1290 | 2011_000585 1291 | 2011_000598 1292 | 2011_000607 1293 | 2011_000618 1294 | 2011_000638 1295 | 2011_000658 1296 | 2011_000661 1297 | 2011_000669 1298 | 2011_000747 1299 | 2011_000780 1300 | 2011_000789 1301 | 2011_000807 1302 | 2011_000809 1303 | 2011_000813 1304 | 2011_000830 1305 | 2011_000843 1306 | 2011_000874 1307 | 2011_000888 1308 | 2011_000900 1309 | 2011_000912 1310 | 2011_000953 1311 | 2011_000969 1312 | 2011_001005 1313 | 2011_001014 1314 | 2011_001020 1315 | 2011_001047 1316 | 2011_001060 1317 | 2011_001064 1318 | 2011_001069 1319 | 2011_001071 1320 | 2011_001082 1321 | 2011_001110 1322 | 2011_001114 1323 | 2011_001159 1324 | 2011_001161 1325 | 2011_001190 1326 | 2011_001232 1327 | 2011_001263 1328 | 2011_001276 1329 | 2011_001281 1330 | 2011_001287 1331 | 2011_001292 1332 | 2011_001313 1333 | 2011_001341 1334 | 2011_001346 1335 | 2011_001350 1336 | 2011_001407 1337 | 2011_001416 1338 | 2011_001421 1339 | 2011_001434 1340 | 2011_001447 1341 | 2011_001489 1342 | 2011_001529 1343 | 2011_001530 1344 | 2011_001534 1345 | 2011_001546 1346 | 2011_001567 1347 | 2011_001589 1348 | 2011_001597 1349 | 2011_001601 1350 | 2011_001607 1351 | 2011_001613 1352 | 2011_001614 1353 | 2011_001619 1354 | 2011_001624 1355 | 2011_001642 1356 | 2011_001665 1357 | 2011_001669 1358 | 2011_001674 1359 | 2011_001708 1360 | 2011_001713 1361 | 2011_001714 1362 | 2011_001722 1363 | 2011_001726 1364 | 2011_001745 1365 | 2011_001748 1366 | 2011_001775 1367 | 2011_001782 1368 | 2011_001793 1369 | 2011_001794 1370 | 2011_001812 1371 | 2011_001862 1372 | 2011_001863 1373 | 2011_001868 1374 | 2011_001880 1375 | 2011_001910 1376 | 2011_001984 1377 | 2011_001988 1378 | 2011_002002 1379 | 2011_002040 1380 | 2011_002041 1381 | 2011_002064 1382 | 2011_002075 1383 | 2011_002098 1384 | 2011_002110 1385 | 2011_002121 1386 | 2011_002124 1387 | 2011_002150 1388 | 2011_002156 1389 | 2011_002178 1390 | 2011_002200 1391 | 2011_002223 1392 | 2011_002244 1393 | 2011_002247 1394 | 2011_002279 1395 | 2011_002295 1396 | 2011_002298 1397 | 2011_002308 1398 | 2011_002317 1399 | 2011_002322 1400 | 2011_002327 1401 | 2011_002343 1402 | 2011_002358 1403 | 2011_002371 1404 | 2011_002379 1405 | 2011_002391 1406 | 2011_002498 1407 | 2011_002509 1408 | 2011_002515 1409 | 2011_002532 1410 | 2011_002535 1411 | 2011_002548 1412 | 2011_002575 1413 | 2011_002578 1414 | 2011_002589 1415 | 2011_002592 1416 | 2011_002623 1417 | 2011_002641 1418 | 2011_002644 1419 | 2011_002662 1420 | 2011_002675 1421 | 2011_002685 1422 | 2011_002713 1423 | 2011_002730 1424 | 2011_002754 1425 | 2011_002812 1426 | 2011_002863 1427 | 2011_002879 1428 | 2011_002885 1429 | 2011_002929 1430 | 2011_002951 1431 | 2011_002975 1432 | 2011_002993 1433 | 2011_002997 1434 | 2011_003003 1435 | 2011_003011 1436 | 2011_003019 1437 | 2011_003030 1438 | 2011_003055 1439 | 2011_003085 1440 | 2011_003103 1441 | 2011_003114 1442 | 2011_003145 1443 | 2011_003146 1444 | 2011_003182 1445 | 2011_003197 1446 | 2011_003205 1447 | 2011_003240 1448 | 2011_003256 1449 | 2011_003271 1450 | -------------------------------------------------------------------------------- /datasets/voc/test.txt: -------------------------------------------------------------------------------- 1 | 2008_000006 2 | 2008_000011 3 | 2008_000012 4 | 2008_000018 5 | 2008_000024 6 | 2008_000030 7 | 2008_000031 8 | 2008_000046 9 | 2008_000047 10 | 2008_000048 11 | 2008_000057 12 | 2008_000058 13 | 2008_000068 14 | 2008_000072 15 | 2008_000079 16 | 2008_000081 17 | 2008_000083 18 | 2008_000088 19 | 2008_000094 20 | 2008_000101 21 | 2008_000104 22 | 2008_000106 23 | 2008_000108 24 | 2008_000110 25 | 2008_000111 26 | 2008_000126 27 | 2008_000127 28 | 2008_000129 29 | 2008_000130 30 | 2008_000135 31 | 2008_000150 32 | 2008_000152 33 | 2008_000156 34 | 2008_000159 35 | 2008_000160 36 | 2008_000161 37 | 2008_000166 38 | 2008_000167 39 | 2008_000168 40 | 2008_000169 41 | 2008_000171 42 | 2008_000175 43 | 2008_000178 44 | 2008_000186 45 | 2008_000198 46 | 2008_000206 47 | 2008_000208 48 | 2008_000209 49 | 2008_000211 50 | 2008_000220 51 | 2008_000224 52 | 2008_000230 53 | 2008_000240 54 | 2008_000248 55 | 2008_000249 56 | 2008_000250 57 | 2008_000256 58 | 2008_000279 59 | 2008_000282 60 | 2008_000285 61 | 2008_000286 62 | 2008_000296 63 | 2008_000300 64 | 2008_000322 65 | 2008_000324 66 | 2008_000337 67 | 2008_000366 68 | 2008_000369 69 | 2008_000377 70 | 2008_000384 71 | 2008_000390 72 | 2008_000404 73 | 2008_000411 74 | 2008_000434 75 | 2008_000440 76 | 2008_000460 77 | 2008_000467 78 | 2008_000478 79 | 2008_000485 80 | 2008_000487 81 | 2008_000490 82 | 2008_000503 83 | 2008_000504 84 | 2008_000507 85 | 2008_000513 86 | 2008_000523 87 | 2008_000529 88 | 2008_000556 89 | 2008_000565 90 | 2008_000580 91 | 2008_000590 92 | 2008_000596 93 | 2008_000597 94 | 2008_000600 95 | 2008_000603 96 | 2008_000604 97 | 2008_000612 98 | 2008_000617 99 | 2008_000621 100 | 2008_000627 101 | 2008_000633 102 | 2008_000643 103 | 2008_000644 104 | 2008_000649 105 | 2008_000651 106 | 2008_000664 107 | 2008_000665 108 | 2008_000680 109 | 2008_000681 110 | 2008_000684 111 | 2008_000685 112 | 2008_000688 113 | 2008_000693 114 | 2008_000698 115 | 2008_000707 116 | 2008_000709 117 | 2008_000712 118 | 2008_000747 119 | 2008_000751 120 | 2008_000754 121 | 2008_000762 122 | 2008_000767 123 | 2008_000768 124 | 2008_000773 125 | 2008_000774 126 | 2008_000779 127 | 2008_000797 128 | 2008_000813 129 | 2008_000816 130 | 2008_000846 131 | 2008_000866 132 | 2008_000871 133 | 2008_000872 134 | 2008_000891 135 | 2008_000892 136 | 2008_000894 137 | 2008_000896 138 | 2008_000898 139 | 2008_000909 140 | 2008_000913 141 | 2008_000920 142 | 2008_000933 143 | 2008_000935 144 | 2008_000937 145 | 2008_000938 146 | 2008_000954 147 | 2008_000958 148 | 2008_000963 149 | 2008_000967 150 | 2008_000974 151 | 2008_000986 152 | 2008_000994 153 | 2008_000995 154 | 2008_001008 155 | 2008_001010 156 | 2008_001014 157 | 2008_001016 158 | 2008_001025 159 | 2008_001029 160 | 2008_001037 161 | 2008_001059 162 | 2008_001061 163 | 2008_001072 164 | 2008_001124 165 | 2008_001126 166 | 2008_001131 167 | 2008_001138 168 | 2008_001144 169 | 2008_001151 170 | 2008_001156 171 | 2008_001179 172 | 2008_001181 173 | 2008_001184 174 | 2008_001186 175 | 2008_001197 176 | 2008_001207 177 | 2008_001212 178 | 2008_001233 179 | 2008_001234 180 | 2008_001258 181 | 2008_001268 182 | 2008_001279 183 | 2008_001281 184 | 2008_001288 185 | 2008_001291 186 | 2008_001298 187 | 2008_001309 188 | 2008_001315 189 | 2008_001316 190 | 2008_001319 191 | 2008_001327 192 | 2008_001328 193 | 2008_001332 194 | 2008_001341 195 | 2008_001347 196 | 2008_001355 197 | 2008_001378 198 | 2008_001386 199 | 2008_001400 200 | 2008_001409 201 | 2008_001411 202 | 2008_001416 203 | 2008_001418 204 | 2008_001435 205 | 2008_001459 206 | 2008_001469 207 | 2008_001474 208 | 2008_001477 209 | 2008_001483 210 | 2008_001484 211 | 2008_001485 212 | 2008_001496 213 | 2008_001507 214 | 2008_001511 215 | 2008_001519 216 | 2008_001557 217 | 2008_001567 218 | 2008_001570 219 | 2008_001571 220 | 2008_001572 221 | 2008_001579 222 | 2008_001587 223 | 2008_001608 224 | 2008_001611 225 | 2008_001614 226 | 2008_001621 227 | 2008_001639 228 | 2008_001658 229 | 2008_001678 230 | 2008_001700 231 | 2008_001713 232 | 2008_001720 233 | 2008_001755 234 | 2008_001779 235 | 2008_001785 236 | 2008_001793 237 | 2008_001794 238 | 2008_001803 239 | 2008_001818 240 | 2008_001848 241 | 2008_001855 242 | 2008_001857 243 | 2008_001861 244 | 2008_001875 245 | 2008_001878 246 | 2008_001886 247 | 2008_001897 248 | 2008_001916 249 | 2008_001925 250 | 2008_001949 251 | 2008_001953 252 | 2008_001972 253 | 2008_001999 254 | 2008_002027 255 | 2008_002040 256 | 2008_002057 257 | 2008_002070 258 | 2008_002075 259 | 2008_002095 260 | 2008_002104 261 | 2008_002105 262 | 2008_002106 263 | 2008_002136 264 | 2008_002137 265 | 2008_002147 266 | 2008_002149 267 | 2008_002163 268 | 2008_002173 269 | 2008_002174 270 | 2008_002184 271 | 2008_002186 272 | 2008_002188 273 | 2008_002190 274 | 2008_002203 275 | 2008_002211 276 | 2008_002217 277 | 2008_002228 278 | 2008_002233 279 | 2008_002246 280 | 2008_002257 281 | 2008_002261 282 | 2008_002285 283 | 2008_002287 284 | 2008_002295 285 | 2008_002303 286 | 2008_002306 287 | 2008_002309 288 | 2008_002310 289 | 2008_002318 290 | 2008_002320 291 | 2008_002332 292 | 2008_002337 293 | 2008_002345 294 | 2008_002348 295 | 2008_002352 296 | 2008_002360 297 | 2008_002381 298 | 2008_002387 299 | 2008_002388 300 | 2008_002393 301 | 2008_002406 302 | 2008_002440 303 | 2008_002455 304 | 2008_002460 305 | 2008_002462 306 | 2008_002480 307 | 2008_002518 308 | 2008_002525 309 | 2008_002535 310 | 2008_002544 311 | 2008_002553 312 | 2008_002569 313 | 2008_002572 314 | 2008_002587 315 | 2008_002635 316 | 2008_002655 317 | 2008_002695 318 | 2008_002702 319 | 2008_002706 320 | 2008_002707 321 | 2008_002722 322 | 2008_002745 323 | 2008_002757 324 | 2008_002779 325 | 2008_002805 326 | 2008_002871 327 | 2008_002895 328 | 2008_002905 329 | 2008_002923 330 | 2008_002927 331 | 2008_002939 332 | 2008_002941 333 | 2008_002962 334 | 2008_002975 335 | 2008_003000 336 | 2008_003031 337 | 2008_003038 338 | 2008_003042 339 | 2008_003069 340 | 2008_003070 341 | 2008_003115 342 | 2008_003116 343 | 2008_003130 344 | 2008_003137 345 | 2008_003138 346 | 2008_003139 347 | 2008_003165 348 | 2008_003171 349 | 2008_003176 350 | 2008_003192 351 | 2008_003194 352 | 2008_003195 353 | 2008_003198 354 | 2008_003227 355 | 2008_003247 356 | 2008_003262 357 | 2008_003298 358 | 2008_003299 359 | 2008_003307 360 | 2008_003337 361 | 2008_003353 362 | 2008_003355 363 | 2008_003363 364 | 2008_003383 365 | 2008_003389 366 | 2008_003392 367 | 2008_003399 368 | 2008_003436 369 | 2008_003457 370 | 2008_003465 371 | 2008_003481 372 | 2008_003539 373 | 2008_003548 374 | 2008_003550 375 | 2008_003567 376 | 2008_003568 377 | 2008_003606 378 | 2008_003615 379 | 2008_003654 380 | 2008_003670 381 | 2008_003700 382 | 2008_003705 383 | 2008_003727 384 | 2008_003731 385 | 2008_003734 386 | 2008_003760 387 | 2008_003804 388 | 2008_003807 389 | 2008_003810 390 | 2008_003822 391 | 2008_003833 392 | 2008_003877 393 | 2008_003879 394 | 2008_003895 395 | 2008_003901 396 | 2008_003903 397 | 2008_003911 398 | 2008_003919 399 | 2008_003927 400 | 2008_003937 401 | 2008_003946 402 | 2008_003950 403 | 2008_003955 404 | 2008_003981 405 | 2008_003991 406 | 2008_004009 407 | 2008_004039 408 | 2008_004052 409 | 2008_004063 410 | 2008_004070 411 | 2008_004078 412 | 2008_004104 413 | 2008_004139 414 | 2008_004177 415 | 2008_004181 416 | 2008_004200 417 | 2008_004219 418 | 2008_004236 419 | 2008_004250 420 | 2008_004266 421 | 2008_004299 422 | 2008_004320 423 | 2008_004334 424 | 2008_004343 425 | 2008_004349 426 | 2008_004366 427 | 2008_004386 428 | 2008_004401 429 | 2008_004423 430 | 2008_004448 431 | 2008_004481 432 | 2008_004516 433 | 2008_004536 434 | 2008_004582 435 | 2008_004609 436 | 2008_004638 437 | 2008_004642 438 | 2008_004644 439 | 2008_004669 440 | 2008_004673 441 | 2008_004691 442 | 2008_004693 443 | 2008_004709 444 | 2008_004715 445 | 2008_004757 446 | 2008_004775 447 | 2008_004782 448 | 2008_004785 449 | 2008_004798 450 | 2008_004848 451 | 2008_004861 452 | 2008_004870 453 | 2008_004877 454 | 2008_004884 455 | 2008_004891 456 | 2008_004901 457 | 2008_004919 458 | 2008_005058 459 | 2008_005069 460 | 2008_005086 461 | 2008_005087 462 | 2008_005112 463 | 2008_005113 464 | 2008_005118 465 | 2008_005128 466 | 2008_005129 467 | 2008_005153 468 | 2008_005161 469 | 2008_005162 470 | 2008_005165 471 | 2008_005187 472 | 2008_005227 473 | 2008_005308 474 | 2008_005318 475 | 2008_005320 476 | 2008_005351 477 | 2008_005372 478 | 2008_005383 479 | 2008_005391 480 | 2008_005407 481 | 2008_005420 482 | 2008_005440 483 | 2008_005487 484 | 2008_005493 485 | 2008_005520 486 | 2008_005551 487 | 2008_005556 488 | 2008_005576 489 | 2008_005578 490 | 2008_005594 491 | 2008_005619 492 | 2008_005629 493 | 2008_005644 494 | 2008_005645 495 | 2008_005651 496 | 2008_005661 497 | 2008_005662 498 | 2008_005667 499 | 2008_005694 500 | 2008_005697 501 | 2008_005709 502 | 2008_005710 503 | 2008_005733 504 | 2008_005749 505 | 2008_005753 506 | 2008_005771 507 | 2008_005781 508 | 2008_005793 509 | 2008_005802 510 | 2008_005833 511 | 2008_005844 512 | 2008_005908 513 | 2008_005931 514 | 2008_005952 515 | 2008_006016 516 | 2008_006030 517 | 2008_006033 518 | 2008_006054 519 | 2008_006073 520 | 2008_006091 521 | 2008_006142 522 | 2008_006150 523 | 2008_006206 524 | 2008_006217 525 | 2008_006264 526 | 2008_006283 527 | 2008_006308 528 | 2008_006313 529 | 2008_006333 530 | 2008_006343 531 | 2008_006381 532 | 2008_006391 533 | 2008_006423 534 | 2008_006428 535 | 2008_006440 536 | 2008_006444 537 | 2008_006473 538 | 2008_006505 539 | 2008_006531 540 | 2008_006560 541 | 2008_006571 542 | 2008_006582 543 | 2008_006594 544 | 2008_006601 545 | 2008_006633 546 | 2008_006653 547 | 2008_006678 548 | 2008_006755 549 | 2008_006772 550 | 2008_006788 551 | 2008_006799 552 | 2008_006809 553 | 2008_006838 554 | 2008_006845 555 | 2008_006852 556 | 2008_006894 557 | 2008_006905 558 | 2008_006947 559 | 2008_006983 560 | 2008_007049 561 | 2008_007065 562 | 2008_007068 563 | 2008_007111 564 | 2008_007148 565 | 2008_007159 566 | 2008_007193 567 | 2008_007228 568 | 2008_007235 569 | 2008_007249 570 | 2008_007255 571 | 2008_007268 572 | 2008_007275 573 | 2008_007292 574 | 2008_007299 575 | 2008_007306 576 | 2008_007316 577 | 2008_007400 578 | 2008_007401 579 | 2008_007419 580 | 2008_007437 581 | 2008_007483 582 | 2008_007487 583 | 2008_007520 584 | 2008_007551 585 | 2008_007603 586 | 2008_007616 587 | 2008_007654 588 | 2008_007663 589 | 2008_007708 590 | 2008_007795 591 | 2008_007801 592 | 2008_007859 593 | 2008_007903 594 | 2008_007920 595 | 2008_007926 596 | 2008_008014 597 | 2008_008017 598 | 2008_008060 599 | 2008_008077 600 | 2008_008107 601 | 2008_008108 602 | 2008_008119 603 | 2008_008126 604 | 2008_008133 605 | 2008_008144 606 | 2008_008216 607 | 2008_008244 608 | 2008_008248 609 | 2008_008250 610 | 2008_008260 611 | 2008_008277 612 | 2008_008280 613 | 2008_008290 614 | 2008_008304 615 | 2008_008340 616 | 2008_008371 617 | 2008_008390 618 | 2008_008397 619 | 2008_008409 620 | 2008_008412 621 | 2008_008419 622 | 2008_008454 623 | 2008_008491 624 | 2008_008498 625 | 2008_008565 626 | 2008_008599 627 | 2008_008603 628 | 2008_008631 629 | 2008_008634 630 | 2008_008640 631 | 2008_008646 632 | 2008_008660 633 | 2008_008663 634 | 2008_008664 635 | 2008_008709 636 | 2008_008720 637 | 2008_008747 638 | 2008_008768 639 | 2009_000004 640 | 2009_000019 641 | 2009_000024 642 | 2009_000025 643 | 2009_000053 644 | 2009_000076 645 | 2009_000107 646 | 2009_000110 647 | 2009_000115 648 | 2009_000117 649 | 2009_000175 650 | 2009_000220 651 | 2009_000259 652 | 2009_000275 653 | 2009_000314 654 | 2009_000368 655 | 2009_000373 656 | 2009_000384 657 | 2009_000388 658 | 2009_000423 659 | 2009_000433 660 | 2009_000434 661 | 2009_000458 662 | 2009_000475 663 | 2009_000481 664 | 2009_000495 665 | 2009_000514 666 | 2009_000555 667 | 2009_000556 668 | 2009_000561 669 | 2009_000571 670 | 2009_000581 671 | 2009_000605 672 | 2009_000609 673 | 2009_000644 674 | 2009_000654 675 | 2009_000671 676 | 2009_000733 677 | 2009_000740 678 | 2009_000766 679 | 2009_000775 680 | 2009_000776 681 | 2009_000795 682 | 2009_000850 683 | 2009_000881 684 | 2009_000900 685 | 2009_000914 686 | 2009_000941 687 | 2009_000977 688 | 2009_000984 689 | 2009_000986 690 | 2009_001005 691 | 2009_001015 692 | 2009_001058 693 | 2009_001072 694 | 2009_001087 695 | 2009_001092 696 | 2009_001109 697 | 2009_001114 698 | 2009_001115 699 | 2009_001141 700 | 2009_001174 701 | 2009_001175 702 | 2009_001182 703 | 2009_001222 704 | 2009_001228 705 | 2009_001246 706 | 2009_001262 707 | 2009_001274 708 | 2009_001284 709 | 2009_001297 710 | 2009_001331 711 | 2009_001336 712 | 2009_001337 713 | 2009_001379 714 | 2009_001392 715 | 2009_001451 716 | 2009_001485 717 | 2009_001488 718 | 2009_001497 719 | 2009_001504 720 | 2009_001506 721 | 2009_001573 722 | 2009_001576 723 | 2009_001603 724 | 2009_001613 725 | 2009_001652 726 | 2009_001661 727 | 2009_001668 728 | 2009_001680 729 | 2009_001688 730 | 2009_001697 731 | 2009_001729 732 | 2009_001771 733 | 2009_001785 734 | 2009_001793 735 | 2009_001814 736 | 2009_001866 737 | 2009_001872 738 | 2009_001880 739 | 2009_001883 740 | 2009_001891 741 | 2009_001913 742 | 2009_001938 743 | 2009_001946 744 | 2009_001953 745 | 2009_001969 746 | 2009_001978 747 | 2009_001995 748 | 2009_002007 749 | 2009_002036 750 | 2009_002041 751 | 2009_002049 752 | 2009_002051 753 | 2009_002062 754 | 2009_002063 755 | 2009_002067 756 | 2009_002085 757 | 2009_002092 758 | 2009_002114 759 | 2009_002115 760 | 2009_002142 761 | 2009_002148 762 | 2009_002157 763 | 2009_002181 764 | 2009_002220 765 | 2009_002284 766 | 2009_002287 767 | 2009_002300 768 | 2009_002310 769 | 2009_002315 770 | 2009_002334 771 | 2009_002337 772 | 2009_002354 773 | 2009_002357 774 | 2009_002411 775 | 2009_002426 776 | 2009_002458 777 | 2009_002459 778 | 2009_002461 779 | 2009_002466 780 | 2009_002481 781 | 2009_002483 782 | 2009_002503 783 | 2009_002581 784 | 2009_002583 785 | 2009_002589 786 | 2009_002600 787 | 2009_002601 788 | 2009_002602 789 | 2009_002641 790 | 2009_002646 791 | 2009_002656 792 | 2009_002666 793 | 2009_002720 794 | 2009_002767 795 | 2009_002768 796 | 2009_002794 797 | 2009_002821 798 | 2009_002825 799 | 2009_002839 800 | 2009_002840 801 | 2009_002859 802 | 2009_002860 803 | 2009_002881 804 | 2009_002889 805 | 2009_002892 806 | 2009_002895 807 | 2009_002896 808 | 2009_002900 809 | 2009_002924 810 | 2009_002966 811 | 2009_002973 812 | 2009_002981 813 | 2009_003004 814 | 2009_003021 815 | 2009_003028 816 | 2009_003037 817 | 2009_003038 818 | 2009_003055 819 | 2009_003085 820 | 2009_003100 821 | 2009_003106 822 | 2009_003117 823 | 2009_003139 824 | 2009_003170 825 | 2009_003179 826 | 2009_003184 827 | 2009_003186 828 | 2009_003190 829 | 2009_003221 830 | 2009_003236 831 | 2009_003242 832 | 2009_003244 833 | 2009_003260 834 | 2009_003264 835 | 2009_003274 836 | 2009_003283 837 | 2009_003296 838 | 2009_003332 839 | 2009_003341 840 | 2009_003354 841 | 2009_003370 842 | 2009_003371 843 | 2009_003374 844 | 2009_003391 845 | 2009_003393 846 | 2009_003404 847 | 2009_003405 848 | 2009_003414 849 | 2009_003428 850 | 2009_003470 851 | 2009_003474 852 | 2009_003532 853 | 2009_003536 854 | 2009_003578 855 | 2009_003580 856 | 2009_003620 857 | 2009_003621 858 | 2009_003680 859 | 2009_003699 860 | 2009_003727 861 | 2009_003737 862 | 2009_003780 863 | 2009_003811 864 | 2009_003824 865 | 2009_003831 866 | 2009_003844 867 | 2009_003850 868 | 2009_003851 869 | 2009_003864 870 | 2009_003868 871 | 2009_003869 872 | 2009_003893 873 | 2009_003909 874 | 2009_003924 875 | 2009_003925 876 | 2009_003960 877 | 2009_003979 878 | 2009_003990 879 | 2009_003997 880 | 2009_004006 881 | 2009_004010 882 | 2009_004066 883 | 2009_004077 884 | 2009_004081 885 | 2009_004097 886 | 2009_004098 887 | 2009_004136 888 | 2009_004216 889 | 2009_004220 890 | 2009_004266 891 | 2009_004269 892 | 2009_004286 893 | 2009_004296 894 | 2009_004321 895 | 2009_004342 896 | 2009_004343 897 | 2009_004344 898 | 2009_004385 899 | 2009_004408 900 | 2009_004420 901 | 2009_004441 902 | 2009_004447 903 | 2009_004461 904 | 2009_004467 905 | 2009_004485 906 | 2009_004488 907 | 2009_004516 908 | 2009_004521 909 | 2009_004544 910 | 2009_004596 911 | 2009_004613 912 | 2009_004615 913 | 2009_004618 914 | 2009_004621 915 | 2009_004646 916 | 2009_004659 917 | 2009_004663 918 | 2009_004666 919 | 2009_004691 920 | 2009_004715 921 | 2009_004726 922 | 2009_004753 923 | 2009_004776 924 | 2009_004811 925 | 2009_004814 926 | 2009_004818 927 | 2009_004835 928 | 2009_004863 929 | 2009_004894 930 | 2009_004909 931 | 2009_004928 932 | 2009_004937 933 | 2009_004954 934 | 2009_004966 935 | 2009_004970 936 | 2009_004976 937 | 2009_005004 938 | 2009_005011 939 | 2009_005053 940 | 2009_005072 941 | 2009_005115 942 | 2009_005146 943 | 2009_005151 944 | 2009_005164 945 | 2009_005179 946 | 2009_005224 947 | 2009_005243 948 | 2009_005249 949 | 2009_005252 950 | 2009_005254 951 | 2009_005258 952 | 2009_005264 953 | 2009_005266 954 | 2009_005276 955 | 2009_005290 956 | 2009_005295 957 | 2010_000004 958 | 2010_000005 959 | 2010_000006 960 | 2010_000032 961 | 2010_000062 962 | 2010_000093 963 | 2010_000094 964 | 2010_000161 965 | 2010_000176 966 | 2010_000223 967 | 2010_000226 968 | 2010_000236 969 | 2010_000239 970 | 2010_000287 971 | 2010_000300 972 | 2010_000301 973 | 2010_000328 974 | 2010_000378 975 | 2010_000405 976 | 2010_000407 977 | 2010_000472 978 | 2010_000479 979 | 2010_000491 980 | 2010_000533 981 | 2010_000535 982 | 2010_000542 983 | 2010_000554 984 | 2010_000580 985 | 2010_000594 986 | 2010_000596 987 | 2010_000599 988 | 2010_000606 989 | 2010_000615 990 | 2010_000654 991 | 2010_000659 992 | 2010_000693 993 | 2010_000698 994 | 2010_000730 995 | 2010_000734 996 | 2010_000741 997 | 2010_000755 998 | 2010_000768 999 | 2010_000794 1000 | 2010_000813 1001 | 2010_000817 1002 | 2010_000834 1003 | 2010_000839 1004 | 2010_000848 1005 | 2010_000881 1006 | 2010_000888 1007 | 2010_000900 1008 | 2010_000903 1009 | 2010_000924 1010 | 2010_000946 1011 | 2010_000953 1012 | 2010_000957 1013 | 2010_000967 1014 | 2010_000992 1015 | 2010_000998 1016 | 2010_001053 1017 | 2010_001067 1018 | 2010_001114 1019 | 2010_001132 1020 | 2010_001138 1021 | 2010_001169 1022 | 2010_001171 1023 | 2010_001228 1024 | 2010_001260 1025 | 2010_001268 1026 | 2010_001280 1027 | 2010_001298 1028 | 2010_001302 1029 | 2010_001308 1030 | 2010_001324 1031 | 2010_001332 1032 | 2010_001335 1033 | 2010_001345 1034 | 2010_001346 1035 | 2010_001349 1036 | 2010_001373 1037 | 2010_001381 1038 | 2010_001392 1039 | 2010_001396 1040 | 2010_001420 1041 | 2010_001500 1042 | 2010_001506 1043 | 2010_001521 1044 | 2010_001532 1045 | 2010_001558 1046 | 2010_001598 1047 | 2010_001611 1048 | 2010_001631 1049 | 2010_001639 1050 | 2010_001651 1051 | 2010_001663 1052 | 2010_001664 1053 | 2010_001728 1054 | 2010_001778 1055 | 2010_001861 1056 | 2010_001874 1057 | 2010_001900 1058 | 2010_001905 1059 | 2010_001969 1060 | 2010_002008 1061 | 2010_002014 1062 | 2010_002049 1063 | 2010_002052 1064 | 2010_002091 1065 | 2010_002115 1066 | 2010_002119 1067 | 2010_002134 1068 | 2010_002156 1069 | 2010_002160 1070 | 2010_002186 1071 | 2010_002210 1072 | 2010_002241 1073 | 2010_002252 1074 | 2010_002258 1075 | 2010_002262 1076 | 2010_002273 1077 | 2010_002290 1078 | 2010_002292 1079 | 2010_002347 1080 | 2010_002358 1081 | 2010_002360 1082 | 2010_002367 1083 | 2010_002416 1084 | 2010_002451 1085 | 2010_002481 1086 | 2010_002490 1087 | 2010_002495 1088 | 2010_002588 1089 | 2010_002607 1090 | 2010_002609 1091 | 2010_002610 1092 | 2010_002641 1093 | 2010_002685 1094 | 2010_002699 1095 | 2010_002719 1096 | 2010_002735 1097 | 2010_002751 1098 | 2010_002804 1099 | 2010_002835 1100 | 2010_002852 1101 | 2010_002885 1102 | 2010_002889 1103 | 2010_002904 1104 | 2010_002908 1105 | 2010_002916 1106 | 2010_002974 1107 | 2010_002977 1108 | 2010_003005 1109 | 2010_003021 1110 | 2010_003030 1111 | 2010_003038 1112 | 2010_003046 1113 | 2010_003052 1114 | 2010_003089 1115 | 2010_003110 1116 | 2010_003118 1117 | 2010_003171 1118 | 2010_003217 1119 | 2010_003221 1120 | 2010_003228 1121 | 2010_003243 1122 | 2010_003271 1123 | 2010_003295 1124 | 2010_003306 1125 | 2010_003324 1126 | 2010_003363 1127 | 2010_003382 1128 | 2010_003388 1129 | 2010_003389 1130 | 2010_003392 1131 | 2010_003430 1132 | 2010_003442 1133 | 2010_003459 1134 | 2010_003485 1135 | 2010_003486 1136 | 2010_003500 1137 | 2010_003523 1138 | 2010_003542 1139 | 2010_003552 1140 | 2010_003570 1141 | 2010_003572 1142 | 2010_003586 1143 | 2010_003615 1144 | 2010_003623 1145 | 2010_003657 1146 | 2010_003666 1147 | 2010_003705 1148 | 2010_003710 1149 | 2010_003720 1150 | 2010_003733 1151 | 2010_003750 1152 | 2010_003767 1153 | 2010_003802 1154 | 2010_003809 1155 | 2010_003830 1156 | 2010_003832 1157 | 2010_003836 1158 | 2010_003838 1159 | 2010_003850 1160 | 2010_003867 1161 | 2010_003882 1162 | 2010_003909 1163 | 2010_003922 1164 | 2010_003923 1165 | 2010_003978 1166 | 2010_003989 1167 | 2010_003990 1168 | 2010_004000 1169 | 2010_004003 1170 | 2010_004068 1171 | 2010_004076 1172 | 2010_004117 1173 | 2010_004136 1174 | 2010_004142 1175 | 2010_004195 1176 | 2010_004200 1177 | 2010_004202 1178 | 2010_004232 1179 | 2010_004261 1180 | 2010_004266 1181 | 2010_004273 1182 | 2010_004305 1183 | 2010_004403 1184 | 2010_004433 1185 | 2010_004434 1186 | 2010_004435 1187 | 2010_004438 1188 | 2010_004442 1189 | 2010_004473 1190 | 2010_004482 1191 | 2010_004487 1192 | 2010_004489 1193 | 2010_004512 1194 | 2010_004525 1195 | 2010_004527 1196 | 2010_004532 1197 | 2010_004566 1198 | 2010_004568 1199 | 2010_004579 1200 | 2010_004611 1201 | 2010_004641 1202 | 2010_004688 1203 | 2010_004699 1204 | 2010_004702 1205 | 2010_004716 1206 | 2010_004754 1207 | 2010_004767 1208 | 2010_004776 1209 | 2010_004811 1210 | 2010_004837 1211 | 2010_004839 1212 | 2010_004845 1213 | 2010_004860 1214 | 2010_004867 1215 | 2010_004881 1216 | 2010_004939 1217 | 2010_005001 1218 | 2010_005047 1219 | 2010_005051 1220 | 2010_005091 1221 | 2010_005095 1222 | 2010_005125 1223 | 2010_005140 1224 | 2010_005177 1225 | 2010_005178 1226 | 2010_005194 1227 | 2010_005197 1228 | 2010_005200 1229 | 2010_005205 1230 | 2010_005212 1231 | 2010_005248 1232 | 2010_005294 1233 | 2010_005298 1234 | 2010_005313 1235 | 2010_005324 1236 | 2010_005328 1237 | 2010_005329 1238 | 2010_005380 1239 | 2010_005404 1240 | 2010_005407 1241 | 2010_005411 1242 | 2010_005423 1243 | 2010_005499 1244 | 2010_005509 1245 | 2010_005510 1246 | 2010_005544 1247 | 2010_005549 1248 | 2010_005590 1249 | 2010_005639 1250 | 2010_005699 1251 | 2010_005704 1252 | 2010_005707 1253 | 2010_005711 1254 | 2010_005726 1255 | 2010_005741 1256 | 2010_005765 1257 | 2010_005790 1258 | 2010_005792 1259 | 2010_005797 1260 | 2010_005812 1261 | 2010_005850 1262 | 2010_005861 1263 | 2010_005869 1264 | 2010_005908 1265 | 2010_005915 1266 | 2010_005946 1267 | 2010_005965 1268 | 2010_006044 1269 | 2010_006047 1270 | 2010_006052 1271 | 2010_006081 1272 | 2011_000001 1273 | 2011_000013 1274 | 2011_000014 1275 | 2011_000020 1276 | 2011_000032 1277 | 2011_000042 1278 | 2011_000063 1279 | 2011_000115 1280 | 2011_000120 1281 | 2011_000240 1282 | 2011_000244 1283 | 2011_000254 1284 | 2011_000261 1285 | 2011_000262 1286 | 2011_000271 1287 | 2011_000274 1288 | 2011_000306 1289 | 2011_000311 1290 | 2011_000316 1291 | 2011_000328 1292 | 2011_000351 1293 | 2011_000352 1294 | 2011_000406 1295 | 2011_000414 1296 | 2011_000448 1297 | 2011_000451 1298 | 2011_000470 1299 | 2011_000473 1300 | 2011_000515 1301 | 2011_000537 1302 | 2011_000576 1303 | 2011_000603 1304 | 2011_000616 1305 | 2011_000636 1306 | 2011_000639 1307 | 2011_000654 1308 | 2011_000660 1309 | 2011_000664 1310 | 2011_000667 1311 | 2011_000670 1312 | 2011_000676 1313 | 2011_000721 1314 | 2011_000723 1315 | 2011_000762 1316 | 2011_000766 1317 | 2011_000786 1318 | 2011_000802 1319 | 2011_000810 1320 | 2011_000821 1321 | 2011_000841 1322 | 2011_000844 1323 | 2011_000846 1324 | 2011_000869 1325 | 2011_000890 1326 | 2011_000915 1327 | 2011_000924 1328 | 2011_000937 1329 | 2011_000939 1330 | 2011_000952 1331 | 2011_000968 1332 | 2011_000974 1333 | 2011_001037 1334 | 2011_001072 1335 | 2011_001085 1336 | 2011_001089 1337 | 2011_001090 1338 | 2011_001099 1339 | 2011_001104 1340 | 2011_001112 1341 | 2011_001120 1342 | 2011_001132 1343 | 2011_001151 1344 | 2011_001194 1345 | 2011_001258 1346 | 2011_001274 1347 | 2011_001314 1348 | 2011_001317 1349 | 2011_001321 1350 | 2011_001379 1351 | 2011_001425 1352 | 2011_001431 1353 | 2011_001443 1354 | 2011_001446 1355 | 2011_001452 1356 | 2011_001454 1357 | 2011_001477 1358 | 2011_001509 1359 | 2011_001512 1360 | 2011_001515 1361 | 2011_001528 1362 | 2011_001554 1363 | 2011_001561 1364 | 2011_001580 1365 | 2011_001587 1366 | 2011_001623 1367 | 2011_001648 1368 | 2011_001651 1369 | 2011_001654 1370 | 2011_001684 1371 | 2011_001696 1372 | 2011_001697 1373 | 2011_001760 1374 | 2011_001761 1375 | 2011_001798 1376 | 2011_001807 1377 | 2011_001851 1378 | 2011_001852 1379 | 2011_001853 1380 | 2011_001888 1381 | 2011_001940 1382 | 2011_002014 1383 | 2011_002028 1384 | 2011_002056 1385 | 2011_002061 1386 | 2011_002068 1387 | 2011_002076 1388 | 2011_002090 1389 | 2011_002095 1390 | 2011_002104 1391 | 2011_002136 1392 | 2011_002138 1393 | 2011_002151 1394 | 2011_002153 1395 | 2011_002155 1396 | 2011_002197 1397 | 2011_002198 1398 | 2011_002243 1399 | 2011_002250 1400 | 2011_002257 1401 | 2011_002262 1402 | 2011_002264 1403 | 2011_002296 1404 | 2011_002314 1405 | 2011_002331 1406 | 2011_002333 1407 | 2011_002411 1408 | 2011_002417 1409 | 2011_002425 1410 | 2011_002437 1411 | 2011_002444 1412 | 2011_002445 1413 | 2011_002449 1414 | 2011_002468 1415 | 2011_002469 1416 | 2011_002473 1417 | 2011_002508 1418 | 2011_002523 1419 | 2011_002534 1420 | 2011_002557 1421 | 2011_002564 1422 | 2011_002572 1423 | 2011_002597 1424 | 2011_002622 1425 | 2011_002632 1426 | 2011_002635 1427 | 2011_002643 1428 | 2011_002653 1429 | 2011_002667 1430 | 2011_002681 1431 | 2011_002707 1432 | 2011_002736 1433 | 2011_002759 1434 | 2011_002783 1435 | 2011_002792 1436 | 2011_002799 1437 | 2011_002824 1438 | 2011_002835 1439 | 2011_002866 1440 | 2011_002876 1441 | 2011_002888 1442 | 2011_002894 1443 | 2011_002903 1444 | 2011_002905 1445 | 2011_002986 1446 | 2011_003045 1447 | 2011_003064 1448 | 2011_003070 1449 | 2011_003083 1450 | 2011_003093 1451 | 2011_003096 1452 | 2011_003102 1453 | 2011_003156 1454 | 2011_003170 1455 | 2011_003178 1456 | 2011_003231 1457 | -------------------------------------------------------------------------------- /datasets/voc/train.txt: -------------------------------------------------------------------------------- 1 | 2007_000032 2 | 2007_000039 3 | 2007_000063 4 | 2007_000068 5 | 2007_000121 6 | 2007_000170 7 | 2007_000241 8 | 2007_000243 9 | 2007_000250 10 | 2007_000256 11 | 2007_000333 12 | 2007_000363 13 | 2007_000364 14 | 2007_000392 15 | 2007_000480 16 | 2007_000504 17 | 2007_000515 18 | 2007_000528 19 | 2007_000549 20 | 2007_000584 21 | 2007_000645 22 | 2007_000648 23 | 2007_000713 24 | 2007_000720 25 | 2007_000733 26 | 2007_000738 27 | 2007_000768 28 | 2007_000793 29 | 2007_000822 30 | 2007_000836 31 | 2007_000876 32 | 2007_000904 33 | 2007_001027 34 | 2007_001073 35 | 2007_001149 36 | 2007_001185 37 | 2007_001225 38 | 2007_001340 39 | 2007_001397 40 | 2007_001416 41 | 2007_001420 42 | 2007_001439 43 | 2007_001487 44 | 2007_001595 45 | 2007_001602 46 | 2007_001609 47 | 2007_001698 48 | 2007_001704 49 | 2007_001709 50 | 2007_001724 51 | 2007_001764 52 | 2007_001825 53 | 2007_001834 54 | 2007_001857 55 | 2007_001872 56 | 2007_001901 57 | 2007_001917 58 | 2007_001960 59 | 2007_002024 60 | 2007_002055 61 | 2007_002088 62 | 2007_002099 63 | 2007_002105 64 | 2007_002107 65 | 2007_002120 66 | 2007_002142 67 | 2007_002198 68 | 2007_002212 69 | 2007_002216 70 | 2007_002227 71 | 2007_002234 72 | 2007_002273 73 | 2007_002281 74 | 2007_002293 75 | 2007_002361 76 | 2007_002368 77 | 2007_002370 78 | 2007_002403 79 | 2007_002462 80 | 2007_002488 81 | 2007_002545 82 | 2007_002611 83 | 2007_002639 84 | 2007_002668 85 | 2007_002669 86 | 2007_002760 87 | 2007_002789 88 | 2007_002845 89 | 2007_002895 90 | 2007_002896 91 | 2007_002914 92 | 2007_002953 93 | 2007_002954 94 | 2007_002967 95 | 2007_003000 96 | 2007_003118 97 | 2007_003178 98 | 2007_003189 99 | 2007_003190 100 | 2007_003191 101 | 2007_003205 102 | 2007_003207 103 | 2007_003251 104 | 2007_003267 105 | 2007_003286 106 | 2007_003330 107 | 2007_003431 108 | 2007_003451 109 | 2007_003525 110 | 2007_003529 111 | 2007_003541 112 | 2007_003565 113 | 2007_003580 114 | 2007_003593 115 | 2007_003604 116 | 2007_003668 117 | 2007_003715 118 | 2007_003778 119 | 2007_003788 120 | 2007_003815 121 | 2007_003876 122 | 2007_003889 123 | 2007_003910 124 | 2007_004003 125 | 2007_004009 126 | 2007_004065 127 | 2007_004081 128 | 2007_004166 129 | 2007_004289 130 | 2007_004291 131 | 2007_004328 132 | 2007_004423 133 | 2007_004459 134 | 2007_004476 135 | 2007_004481 136 | 2007_004500 137 | 2007_004537 138 | 2007_004627 139 | 2007_004663 140 | 2007_004705 141 | 2007_004707 142 | 2007_004768 143 | 2007_004769 144 | 2007_004810 145 | 2007_004830 146 | 2007_004841 147 | 2007_004948 148 | 2007_004951 149 | 2007_004988 150 | 2007_004998 151 | 2007_005043 152 | 2007_005064 153 | 2007_005086 154 | 2007_005124 155 | 2007_005130 156 | 2007_005144 157 | 2007_005210 158 | 2007_005212 159 | 2007_005227 160 | 2007_005248 161 | 2007_005262 162 | 2007_005264 163 | 2007_005266 164 | 2007_005273 165 | 2007_005314 166 | 2007_005360 167 | 2007_005368 168 | 2007_005430 169 | 2007_005647 170 | 2007_005688 171 | 2007_005702 172 | 2007_005790 173 | 2007_005797 174 | 2007_005859 175 | 2007_005878 176 | 2007_005902 177 | 2007_005951 178 | 2007_005988 179 | 2007_005989 180 | 2007_006004 181 | 2007_006066 182 | 2007_006134 183 | 2007_006136 184 | 2007_006151 185 | 2007_006212 186 | 2007_006232 187 | 2007_006254 188 | 2007_006281 189 | 2007_006303 190 | 2007_006317 191 | 2007_006400 192 | 2007_006409 193 | 2007_006445 194 | 2007_006477 195 | 2007_006483 196 | 2007_006490 197 | 2007_006530 198 | 2007_006581 199 | 2007_006585 200 | 2007_006605 201 | 2007_006615 202 | 2007_006641 203 | 2007_006660 204 | 2007_006661 205 | 2007_006673 206 | 2007_006699 207 | 2007_006704 208 | 2007_006803 209 | 2007_006832 210 | 2007_006865 211 | 2007_006899 212 | 2007_006900 213 | 2007_006944 214 | 2007_007003 215 | 2007_007021 216 | 2007_007048 217 | 2007_007098 218 | 2007_007154 219 | 2007_007230 220 | 2007_007250 221 | 2007_007355 222 | 2007_007387 223 | 2007_007398 224 | 2007_007415 225 | 2007_007432 226 | 2007_007447 227 | 2007_007480 228 | 2007_007481 229 | 2007_007523 230 | 2007_007530 231 | 2007_007585 232 | 2007_007591 233 | 2007_007621 234 | 2007_007649 235 | 2007_007698 236 | 2007_007726 237 | 2007_007772 238 | 2007_007773 239 | 2007_007783 240 | 2007_007878 241 | 2007_007890 242 | 2007_007891 243 | 2007_007902 244 | 2007_007908 245 | 2007_007930 246 | 2007_007947 247 | 2007_007948 248 | 2007_008043 249 | 2007_008072 250 | 2007_008085 251 | 2007_008140 252 | 2007_008142 253 | 2007_008203 254 | 2007_008218 255 | 2007_008219 256 | 2007_008307 257 | 2007_008403 258 | 2007_008407 259 | 2007_008468 260 | 2007_008526 261 | 2007_008571 262 | 2007_008575 263 | 2007_008714 264 | 2007_008764 265 | 2007_008778 266 | 2007_008801 267 | 2007_008821 268 | 2007_008927 269 | 2007_008932 270 | 2007_008945 271 | 2007_008948 272 | 2007_008994 273 | 2007_009030 274 | 2007_009052 275 | 2007_009082 276 | 2007_009139 277 | 2007_009209 278 | 2007_009216 279 | 2007_009295 280 | 2007_009322 281 | 2007_009327 282 | 2007_009348 283 | 2007_009422 284 | 2007_009435 285 | 2007_009436 286 | 2007_009464 287 | 2007_009527 288 | 2007_009533 289 | 2007_009550 290 | 2007_009554 291 | 2007_009580 292 | 2007_009594 293 | 2007_009597 294 | 2007_009605 295 | 2007_009607 296 | 2007_009618 297 | 2007_009630 298 | 2007_009649 299 | 2007_009665 300 | 2007_009709 301 | 2007_009724 302 | 2007_009759 303 | 2007_009779 304 | 2007_009788 305 | 2007_009807 306 | 2007_009832 307 | 2007_009889 308 | 2007_009899 309 | 2007_009901 310 | 2007_009947 311 | 2007_009950 312 | 2008_000015 313 | 2008_000019 314 | 2008_000028 315 | 2008_000033 316 | 2008_000074 317 | 2008_000089 318 | 2008_000103 319 | 2008_000105 320 | 2008_000131 321 | 2008_000144 322 | 2008_000162 323 | 2008_000187 324 | 2008_000188 325 | 2008_000197 326 | 2008_000207 327 | 2008_000217 328 | 2008_000226 329 | 2008_000235 330 | 2008_000238 331 | 2008_000259 332 | 2008_000273 333 | 2008_000284 334 | 2008_000287 335 | 2008_000289 336 | 2008_000290 337 | 2008_000309 338 | 2008_000316 339 | 2008_000336 340 | 2008_000348 341 | 2008_000361 342 | 2008_000365 343 | 2008_000399 344 | 2008_000400 345 | 2008_000415 346 | 2008_000422 347 | 2008_000436 348 | 2008_000470 349 | 2008_000491 350 | 2008_000495 351 | 2008_000505 352 | 2008_000515 353 | 2008_000540 354 | 2008_000544 355 | 2008_000567 356 | 2008_000578 357 | 2008_000584 358 | 2008_000588 359 | 2008_000595 360 | 2008_000626 361 | 2008_000645 362 | 2008_000676 363 | 2008_000696 364 | 2008_000711 365 | 2008_000716 366 | 2008_000733 367 | 2008_000760 368 | 2008_000764 369 | 2008_000778 370 | 2008_000785 371 | 2008_000832 372 | 2008_000841 373 | 2008_000860 374 | 2008_000861 375 | 2008_000870 376 | 2008_000923 377 | 2008_001030 378 | 2008_001056 379 | 2008_001106 380 | 2008_001112 381 | 2008_001118 382 | 2008_001119 383 | 2008_001137 384 | 2008_001159 385 | 2008_001169 386 | 2008_001188 387 | 2008_001203 388 | 2008_001208 389 | 2008_001215 390 | 2008_001235 391 | 2008_001245 392 | 2008_001263 393 | 2008_001274 394 | 2008_001358 395 | 2008_001375 396 | 2008_001387 397 | 2008_001399 398 | 2008_001402 399 | 2008_001408 400 | 2008_001413 401 | 2008_001462 402 | 2008_001467 403 | 2008_001479 404 | 2008_001498 405 | 2008_001510 406 | 2008_001523 407 | 2008_001566 408 | 2008_001592 409 | 2008_001601 410 | 2008_001610 411 | 2008_001632 412 | 2008_001643 413 | 2008_001691 414 | 2008_001716 415 | 2008_001719 416 | 2008_001741 417 | 2008_001761 418 | 2008_001787 419 | 2008_001829 420 | 2008_001876 421 | 2008_001882 422 | 2008_001896 423 | 2008_001926 424 | 2008_001997 425 | 2008_002032 426 | 2008_002064 427 | 2008_002066 428 | 2008_002067 429 | 2008_002073 430 | 2008_002079 431 | 2008_002080 432 | 2008_002123 433 | 2008_002160 434 | 2008_002175 435 | 2008_002177 436 | 2008_002182 437 | 2008_002200 438 | 2008_002210 439 | 2008_002215 440 | 2008_002218 441 | 2008_002221 442 | 2008_002247 443 | 2008_002248 444 | 2008_002255 445 | 2008_002258 446 | 2008_002288 447 | 2008_002338 448 | 2008_002411 449 | 2008_002425 450 | 2008_002471 451 | 2008_002473 452 | 2008_002551 453 | 2008_002641 454 | 2008_002650 455 | 2008_002697 456 | 2008_002704 457 | 2008_002710 458 | 2008_002719 459 | 2008_002749 460 | 2008_002762 461 | 2008_002772 462 | 2008_002834 463 | 2008_002868 464 | 2008_002885 465 | 2008_002894 466 | 2008_002960 467 | 2008_002970 468 | 2008_002972 469 | 2008_002993 470 | 2008_003060 471 | 2008_003065 472 | 2008_003068 473 | 2008_003083 474 | 2008_003087 475 | 2008_003094 476 | 2008_003101 477 | 2008_003168 478 | 2008_003180 479 | 2008_003196 480 | 2008_003200 481 | 2008_003208 482 | 2008_003252 483 | 2008_003329 484 | 2008_003362 485 | 2008_003373 486 | 2008_003381 487 | 2008_003415 488 | 2008_003429 489 | 2008_003480 490 | 2008_003500 491 | 2008_003523 492 | 2008_003562 493 | 2008_003585 494 | 2008_003665 495 | 2008_003691 496 | 2008_003701 497 | 2008_003703 498 | 2008_003729 499 | 2008_003769 500 | 2008_003774 501 | 2008_003779 502 | 2008_003814 503 | 2008_003913 504 | 2008_003939 505 | 2008_003947 506 | 2008_003986 507 | 2008_003998 508 | 2008_004014 509 | 2008_004026 510 | 2008_004055 511 | 2008_004080 512 | 2008_004097 513 | 2008_004112 514 | 2008_004259 515 | 2008_004321 516 | 2008_004358 517 | 2008_004365 518 | 2008_004416 519 | 2008_004430 520 | 2008_004441 521 | 2008_004547 522 | 2008_004551 523 | 2008_004583 524 | 2008_004588 525 | 2008_004607 526 | 2008_004663 527 | 2008_004750 528 | 2008_004776 529 | 2008_004822 530 | 2008_004838 531 | 2008_004841 532 | 2008_004869 533 | 2008_004892 534 | 2008_004911 535 | 2008_004914 536 | 2008_004946 537 | 2008_004983 538 | 2008_005006 539 | 2008_005074 540 | 2008_005196 541 | 2008_005214 542 | 2008_005231 543 | 2008_005266 544 | 2008_005294 545 | 2008_005300 546 | 2008_005321 547 | 2008_005342 548 | 2008_005345 549 | 2008_005367 550 | 2008_005375 551 | 2008_005512 552 | 2008_005541 553 | 2008_005600 554 | 2008_005650 555 | 2008_005668 556 | 2008_005678 557 | 2008_005679 558 | 2008_005698 559 | 2008_005706 560 | 2008_005713 561 | 2008_005714 562 | 2008_005716 563 | 2008_005747 564 | 2008_005770 565 | 2008_005839 566 | 2008_005843 567 | 2008_005845 568 | 2008_005874 569 | 2008_005926 570 | 2008_005938 571 | 2008_005945 572 | 2008_005953 573 | 2008_006032 574 | 2008_006065 575 | 2008_006070 576 | 2008_006140 577 | 2008_006182 578 | 2008_006213 579 | 2008_006215 580 | 2008_006221 581 | 2008_006289 582 | 2008_006339 583 | 2008_006345 584 | 2008_006349 585 | 2008_006353 586 | 2008_006389 587 | 2008_006434 588 | 2008_006481 589 | 2008_006482 590 | 2008_006490 591 | 2008_006509 592 | 2008_006558 593 | 2008_006655 594 | 2008_006748 595 | 2008_006751 596 | 2008_006843 597 | 2008_006873 598 | 2008_006877 599 | 2008_006908 600 | 2008_006920 601 | 2008_007011 602 | 2008_007012 603 | 2008_007090 604 | 2008_007142 605 | 2008_007165 606 | 2008_007201 607 | 2008_007239 608 | 2008_007242 609 | 2008_007245 610 | 2008_007313 611 | 2008_007355 612 | 2008_007357 613 | 2008_007375 614 | 2008_007428 615 | 2008_007433 616 | 2008_007472 617 | 2008_007581 618 | 2008_007691 619 | 2008_007759 620 | 2008_007858 621 | 2008_007998 622 | 2008_008106 623 | 2008_008193 624 | 2008_008263 625 | 2008_008323 626 | 2008_008324 627 | 2008_008343 628 | 2008_008462 629 | 2008_008476 630 | 2008_008511 631 | 2008_008521 632 | 2008_008525 633 | 2008_008541 634 | 2008_008545 635 | 2008_008550 636 | 2008_008770 637 | 2008_008773 638 | 2009_000006 639 | 2009_000015 640 | 2009_000028 641 | 2009_000029 642 | 2009_000073 643 | 2009_000100 644 | 2009_000103 645 | 2009_000133 646 | 2009_000161 647 | 2009_000176 648 | 2009_000177 649 | 2009_000250 650 | 2009_000285 651 | 2009_000347 652 | 2009_000385 653 | 2009_000400 654 | 2009_000405 655 | 2009_000408 656 | 2009_000409 657 | 2009_000420 658 | 2009_000444 659 | 2009_000454 660 | 2009_000503 661 | 2009_000505 662 | 2009_000532 663 | 2009_000535 664 | 2009_000544 665 | 2009_000553 666 | 2009_000562 667 | 2009_000603 668 | 2009_000626 669 | 2009_000635 670 | 2009_000655 671 | 2009_000662 672 | 2009_000684 673 | 2009_000690 674 | 2009_000709 675 | 2009_000720 676 | 2009_000744 677 | 2009_000746 678 | 2009_000774 679 | 2009_000801 680 | 2009_000887 681 | 2009_000894 682 | 2009_000895 683 | 2009_000906 684 | 2009_000938 685 | 2009_000987 686 | 2009_000996 687 | 2009_001002 688 | 2009_001019 689 | 2009_001027 690 | 2009_001036 691 | 2009_001070 692 | 2009_001085 693 | 2009_001095 694 | 2009_001096 695 | 2009_001100 696 | 2009_001104 697 | 2009_001117 698 | 2009_001124 699 | 2009_001137 700 | 2009_001140 701 | 2009_001145 702 | 2009_001146 703 | 2009_001163 704 | 2009_001177 705 | 2009_001197 706 | 2009_001203 707 | 2009_001205 708 | 2009_001251 709 | 2009_001253 710 | 2009_001264 711 | 2009_001268 712 | 2009_001270 713 | 2009_001283 714 | 2009_001306 715 | 2009_001311 716 | 2009_001339 717 | 2009_001359 718 | 2009_001385 719 | 2009_001388 720 | 2009_001390 721 | 2009_001403 722 | 2009_001422 723 | 2009_001443 724 | 2009_001444 725 | 2009_001481 726 | 2009_001502 727 | 2009_001514 728 | 2009_001516 729 | 2009_001544 730 | 2009_001615 731 | 2009_001625 732 | 2009_001636 733 | 2009_001640 734 | 2009_001651 735 | 2009_001664 736 | 2009_001690 737 | 2009_001693 738 | 2009_001724 739 | 2009_001735 740 | 2009_001744 741 | 2009_001755 742 | 2009_001782 743 | 2009_001783 744 | 2009_001802 745 | 2009_001828 746 | 2009_001868 747 | 2009_001871 748 | 2009_001885 749 | 2009_001888 750 | 2009_001894 751 | 2009_001898 752 | 2009_001922 753 | 2009_001937 754 | 2009_001961 755 | 2009_001964 756 | 2009_001972 757 | 2009_002010 758 | 2009_002019 759 | 2009_002052 760 | 2009_002060 761 | 2009_002072 762 | 2009_002083 763 | 2009_002117 764 | 2009_002153 765 | 2009_002204 766 | 2009_002216 767 | 2009_002229 768 | 2009_002245 769 | 2009_002262 770 | 2009_002264 771 | 2009_002281 772 | 2009_002285 773 | 2009_002314 774 | 2009_002343 775 | 2009_002362 776 | 2009_002387 777 | 2009_002409 778 | 2009_002416 779 | 2009_002419 780 | 2009_002422 781 | 2009_002423 782 | 2009_002425 783 | 2009_002448 784 | 2009_002460 785 | 2009_002472 786 | 2009_002519 787 | 2009_002530 788 | 2009_002543 789 | 2009_002567 790 | 2009_002586 791 | 2009_002588 792 | 2009_002599 793 | 2009_002613 794 | 2009_002626 795 | 2009_002628 796 | 2009_002662 797 | 2009_002674 798 | 2009_002713 799 | 2009_002715 800 | 2009_002734 801 | 2009_002763 802 | 2009_002789 803 | 2009_002820 804 | 2009_002844 805 | 2009_002845 806 | 2009_002849 807 | 2009_002862 808 | 2009_002872 809 | 2009_002885 810 | 2009_002897 811 | 2009_002912 812 | 2009_002914 813 | 2009_002917 814 | 2009_002932 815 | 2009_002972 816 | 2009_002984 817 | 2009_002988 818 | 2009_002993 819 | 2009_003006 820 | 2009_003007 821 | 2009_003012 822 | 2009_003034 823 | 2009_003035 824 | 2009_003039 825 | 2009_003053 826 | 2009_003054 827 | 2009_003075 828 | 2009_003087 829 | 2009_003088 830 | 2009_003090 831 | 2009_003142 832 | 2009_003146 833 | 2009_003147 834 | 2009_003164 835 | 2009_003172 836 | 2009_003200 837 | 2009_003249 838 | 2009_003317 839 | 2009_003340 840 | 2009_003345 841 | 2009_003353 842 | 2009_003361 843 | 2009_003369 844 | 2009_003455 845 | 2009_003461 846 | 2009_003468 847 | 2009_003497 848 | 2009_003519 849 | 2009_003522 850 | 2009_003539 851 | 2009_003555 852 | 2009_003613 853 | 2009_003636 854 | 2009_003646 855 | 2009_003660 856 | 2009_003690 857 | 2009_003697 858 | 2009_003711 859 | 2009_003734 860 | 2009_003736 861 | 2009_003757 862 | 2009_003768 863 | 2009_003783 864 | 2009_003799 865 | 2009_003815 866 | 2009_003820 867 | 2009_003825 868 | 2009_003860 869 | 2009_003865 870 | 2009_003921 871 | 2009_003922 872 | 2009_003933 873 | 2009_003961 874 | 2009_003975 875 | 2009_004091 876 | 2009_004095 877 | 2009_004105 878 | 2009_004117 879 | 2009_004171 880 | 2009_004178 881 | 2009_004180 882 | 2009_004186 883 | 2009_004191 884 | 2009_004212 885 | 2009_004213 886 | 2009_004228 887 | 2009_004249 888 | 2009_004264 889 | 2009_004278 890 | 2009_004301 891 | 2009_004316 892 | 2009_004317 893 | 2009_004327 894 | 2009_004328 895 | 2009_004334 896 | 2009_004336 897 | 2009_004368 898 | 2009_004374 899 | 2009_004409 900 | 2009_004417 901 | 2009_004425 902 | 2009_004426 903 | 2009_004434 904 | 2009_004446 905 | 2009_004464 906 | 2009_004479 907 | 2009_004519 908 | 2009_004539 909 | 2009_004561 910 | 2009_004620 911 | 2009_004626 912 | 2009_004643 913 | 2009_004656 914 | 2009_004661 915 | 2009_004674 916 | 2009_004705 917 | 2009_004790 918 | 2009_004805 919 | 2009_004829 920 | 2009_004887 921 | 2009_004888 922 | 2009_004890 923 | 2009_004901 924 | 2009_004904 925 | 2009_004919 926 | 2009_004939 927 | 2009_004980 928 | 2009_004990 929 | 2009_005000 930 | 2009_005016 931 | 2009_005031 932 | 2009_005037 933 | 2009_005055 934 | 2009_005056 935 | 2009_005069 936 | 2009_005084 937 | 2009_005085 938 | 2009_005107 939 | 2009_005118 940 | 2009_005120 941 | 2009_005128 942 | 2009_005130 943 | 2009_005141 944 | 2009_005145 945 | 2009_005160 946 | 2009_005177 947 | 2009_005194 948 | 2009_005234 949 | 2009_005236 950 | 2009_005247 951 | 2009_005269 952 | 2009_005287 953 | 2010_000002 954 | 2010_000043 955 | 2010_000063 956 | 2010_000075 957 | 2010_000076 958 | 2010_000114 959 | 2010_000117 960 | 2010_000131 961 | 2010_000132 962 | 2010_000148 963 | 2010_000187 964 | 2010_000189 965 | 2010_000195 966 | 2010_000269 967 | 2010_000285 968 | 2010_000371 969 | 2010_000392 970 | 2010_000404 971 | 2010_000436 972 | 2010_000437 973 | 2010_000466 974 | 2010_000469 975 | 2010_000492 976 | 2010_000498 977 | 2010_000503 978 | 2010_000519 979 | 2010_000567 980 | 2010_000588 981 | 2010_000632 982 | 2010_000661 983 | 2010_000675 984 | 2010_000685 985 | 2010_000746 986 | 2010_000748 987 | 2010_000772 988 | 2010_000787 989 | 2010_000810 990 | 2010_000815 991 | 2010_000847 992 | 2010_000855 993 | 2010_000885 994 | 2010_000887 995 | 2010_000978 996 | 2010_000986 997 | 2010_001043 998 | 2010_001120 999 | 2010_001131 1000 | 2010_001154 1001 | 2010_001160 1002 | 2010_001177 1003 | 2010_001183 1004 | 2010_001184 1005 | 2010_001195 1006 | 2010_001245 1007 | 2010_001247 1008 | 2010_001261 1009 | 2010_001273 1010 | 2010_001279 1011 | 2010_001282 1012 | 2010_001329 1013 | 2010_001347 1014 | 2010_001374 1015 | 2010_001386 1016 | 2010_001399 1017 | 2010_001413 1018 | 2010_001418 1019 | 2010_001422 1020 | 2010_001457 1021 | 2010_001514 1022 | 2010_001515 1023 | 2010_001561 1024 | 2010_001562 1025 | 2010_001576 1026 | 2010_001590 1027 | 2010_001595 1028 | 2010_001618 1029 | 2010_001619 1030 | 2010_001630 1031 | 2010_001660 1032 | 2010_001676 1033 | 2010_001706 1034 | 2010_001732 1035 | 2010_001748 1036 | 2010_001807 1037 | 2010_001842 1038 | 2010_001849 1039 | 2010_001850 1040 | 2010_001852 1041 | 2010_001860 1042 | 2010_001922 1043 | 2010_001923 1044 | 2010_001933 1045 | 2010_001939 1046 | 2010_001944 1047 | 2010_002018 1048 | 2010_002020 1049 | 2010_002032 1050 | 2010_002039 1051 | 2010_002047 1052 | 2010_002054 1053 | 2010_002055 1054 | 2010_002070 1055 | 2010_002097 1056 | 2010_002107 1057 | 2010_002139 1058 | 2010_002154 1059 | 2010_002166 1060 | 2010_002203 1061 | 2010_002218 1062 | 2010_002236 1063 | 2010_002254 1064 | 2010_002286 1065 | 2010_002338 1066 | 2010_002363 1067 | 2010_002379 1068 | 2010_002382 1069 | 2010_002387 1070 | 2010_002413 1071 | 2010_002418 1072 | 2010_002440 1073 | 2010_002455 1074 | 2010_002457 1075 | 2010_002499 1076 | 2010_002527 1077 | 2010_002532 1078 | 2010_002551 1079 | 2010_002556 1080 | 2010_002570 1081 | 2010_002573 1082 | 2010_002625 1083 | 2010_002659 1084 | 2010_002697 1085 | 2010_002720 1086 | 2010_002733 1087 | 2010_002750 1088 | 2010_002778 1089 | 2010_002786 1090 | 2010_002794 1091 | 2010_002811 1092 | 2010_002815 1093 | 2010_002838 1094 | 2010_002856 1095 | 2010_002870 1096 | 2010_002892 1097 | 2010_002907 1098 | 2010_002935 1099 | 2010_002937 1100 | 2010_002938 1101 | 2010_002962 1102 | 2010_002973 1103 | 2010_003010 1104 | 2010_003017 1105 | 2010_003062 1106 | 2010_003088 1107 | 2010_003093 1108 | 2010_003097 1109 | 2010_003114 1110 | 2010_003119 1111 | 2010_003153 1112 | 2010_003157 1113 | 2010_003170 1114 | 2010_003174 1115 | 2010_003203 1116 | 2010_003230 1117 | 2010_003250 1118 | 2010_003252 1119 | 2010_003269 1120 | 2010_003274 1121 | 2010_003342 1122 | 2010_003345 1123 | 2010_003380 1124 | 2010_003383 1125 | 2010_003384 1126 | 2010_003529 1127 | 2010_003534 1128 | 2010_003599 1129 | 2010_003634 1130 | 2010_003651 1131 | 2010_003665 1132 | 2010_003670 1133 | 2010_003680 1134 | 2010_003696 1135 | 2010_003717 1136 | 2010_003737 1137 | 2010_003798 1138 | 2010_003799 1139 | 2010_003884 1140 | 2010_003887 1141 | 2010_003894 1142 | 2010_003899 1143 | 2010_003911 1144 | 2010_003925 1145 | 2010_003950 1146 | 2010_003954 1147 | 2010_003958 1148 | 2010_003974 1149 | 2010_004005 1150 | 2010_004025 1151 | 2010_004060 1152 | 2010_004069 1153 | 2010_004071 1154 | 2010_004072 1155 | 2010_004074 1156 | 2010_004109 1157 | 2010_004119 1158 | 2010_004144 1159 | 2010_004154 1160 | 2010_004171 1161 | 2010_004180 1162 | 2010_004186 1163 | 2010_004210 1164 | 2010_004222 1165 | 2010_004258 1166 | 2010_004283 1167 | 2010_004288 1168 | 2010_004289 1169 | 2010_004306 1170 | 2010_004361 1171 | 2010_004363 1172 | 2010_004365 1173 | 2010_004370 1174 | 2010_004429 1175 | 2010_004450 1176 | 2010_004478 1177 | 2010_004481 1178 | 2010_004493 1179 | 2010_004499 1180 | 2010_004540 1181 | 2010_004560 1182 | 2010_004577 1183 | 2010_004598 1184 | 2010_004616 1185 | 2010_004620 1186 | 2010_004625 1187 | 2010_004669 1188 | 2010_004683 1189 | 2010_004694 1190 | 2010_004704 1191 | 2010_004721 1192 | 2010_004760 1193 | 2010_004766 1194 | 2010_004773 1195 | 2010_004805 1196 | 2010_004808 1197 | 2010_004900 1198 | 2010_004916 1199 | 2010_004933 1200 | 2010_004938 1201 | 2010_004948 1202 | 2010_004960 1203 | 2010_004963 1204 | 2010_005016 1205 | 2010_005028 1206 | 2010_005055 1207 | 2010_005064 1208 | 2010_005098 1209 | 2010_005106 1210 | 2010_005111 1211 | 2010_005119 1212 | 2010_005128 1213 | 2010_005129 1214 | 2010_005198 1215 | 2010_005202 1216 | 2010_005217 1217 | 2010_005223 1218 | 2010_005232 1219 | 2010_005277 1220 | 2010_005317 1221 | 2010_005318 1222 | 2010_005419 1223 | 2010_005429 1224 | 2010_005450 1225 | 2010_005457 1226 | 2010_005468 1227 | 2010_005471 1228 | 2010_005494 1229 | 2010_005500 1230 | 2010_005505 1231 | 2010_005506 1232 | 2010_005513 1233 | 2010_005519 1234 | 2010_005522 1235 | 2010_005596 1236 | 2010_005627 1237 | 2010_005643 1238 | 2010_005652 1239 | 2010_005663 1240 | 2010_005669 1241 | 2010_005678 1242 | 2010_005700 1243 | 2010_005721 1244 | 2010_005723 1245 | 2010_005725 1246 | 2010_005734 1247 | 2010_005744 1248 | 2010_005746 1249 | 2010_005755 1250 | 2010_005758 1251 | 2010_005775 1252 | 2010_005791 1253 | 2010_005796 1254 | 2010_005800 1255 | 2010_005805 1256 | 2010_005810 1257 | 2010_005820 1258 | 2010_005830 1259 | 2010_005835 1260 | 2010_005836 1261 | 2010_005876 1262 | 2010_005891 1263 | 2010_005898 1264 | 2010_005919 1265 | 2010_005927 1266 | 2010_005932 1267 | 2010_005951 1268 | 2010_005952 1269 | 2010_005978 1270 | 2010_005982 1271 | 2010_006009 1272 | 2011_000003 1273 | 2011_000006 1274 | 2011_000025 1275 | 2011_000027 1276 | 2011_000068 1277 | 2011_000069 1278 | 2011_000105 1279 | 2011_000108 1280 | 2011_000116 1281 | 2011_000122 1282 | 2011_000145 1283 | 2011_000149 1284 | 2011_000152 1285 | 2011_000182 1286 | 2011_000197 1287 | 2011_000208 1288 | 2011_000216 1289 | 2011_000219 1290 | 2011_000221 1291 | 2011_000222 1292 | 2011_000228 1293 | 2011_000243 1294 | 2011_000252 1295 | 2011_000258 1296 | 2011_000268 1297 | 2011_000277 1298 | 2011_000278 1299 | 2011_000293 1300 | 2011_000345 1301 | 2011_000359 1302 | 2011_000379 1303 | 2011_000382 1304 | 2011_000400 1305 | 2011_000428 1306 | 2011_000449 1307 | 2011_000453 1308 | 2011_000457 1309 | 2011_000468 1310 | 2011_000469 1311 | 2011_000513 1312 | 2011_000542 1313 | 2011_000550 1314 | 2011_000551 1315 | 2011_000556 1316 | 2011_000573 1317 | 2011_000577 1318 | 2011_000589 1319 | 2011_000594 1320 | 2011_000637 1321 | 2011_000641 1322 | 2011_000642 1323 | 2011_000646 1324 | 2011_000651 1325 | 2011_000652 1326 | 2011_000713 1327 | 2011_000758 1328 | 2011_000768 1329 | 2011_000771 1330 | 2011_000790 1331 | 2011_000793 1332 | 2011_000834 1333 | 2011_000840 1334 | 2011_000882 1335 | 2011_000893 1336 | 2011_000895 1337 | 2011_000920 1338 | 2011_000934 1339 | 2011_000944 1340 | 2011_000973 1341 | 2011_000982 1342 | 2011_000997 1343 | 2011_000999 1344 | 2011_001004 1345 | 2011_001015 1346 | 2011_001027 1347 | 2011_001133 1348 | 2011_001135 1349 | 2011_001139 1350 | 2011_001166 1351 | 2011_001175 1352 | 2011_001198 1353 | 2011_001211 1354 | 2011_001259 1355 | 2011_001270 1356 | 2011_001336 1357 | 2011_001400 1358 | 2011_001402 1359 | 2011_001411 1360 | 2011_001412 1361 | 2011_001432 1362 | 2011_001463 1363 | 2011_001475 1364 | 2011_001479 1365 | 2011_001519 1366 | 2011_001536 1367 | 2011_001542 1368 | 2011_001571 1369 | 2011_001621 1370 | 2011_001622 1371 | 2011_001632 1372 | 2011_001652 1373 | 2011_001653 1374 | 2011_001695 1375 | 2011_001710 1376 | 2011_001730 1377 | 2011_001753 1378 | 2011_001754 1379 | 2011_001764 1380 | 2011_001765 1381 | 2011_001790 1382 | 2011_001810 1383 | 2011_001855 1384 | 2011_001866 1385 | 2011_001875 1386 | 2011_001895 1387 | 2011_001902 1388 | 2011_001904 1389 | 2011_001922 1390 | 2011_001924 1391 | 2011_001928 1392 | 2011_001959 1393 | 2011_001967 1394 | 2011_001972 1395 | 2011_001974 1396 | 2011_001991 1397 | 2011_002027 1398 | 2011_002050 1399 | 2011_002107 1400 | 2011_002111 1401 | 2011_002114 1402 | 2011_002119 1403 | 2011_002134 1404 | 2011_002135 1405 | 2011_002149 1406 | 2011_002222 1407 | 2011_002224 1408 | 2011_002227 1409 | 2011_002246 1410 | 2011_002291 1411 | 2011_002300 1412 | 2011_002303 1413 | 2011_002335 1414 | 2011_002341 1415 | 2011_002350 1416 | 2011_002381 1417 | 2011_002385 1418 | 2011_002389 1419 | 2011_002398 1420 | 2011_002410 1421 | 2011_002447 1422 | 2011_002457 1423 | 2011_002464 1424 | 2011_002488 1425 | 2011_002503 1426 | 2011_002504 1427 | 2011_002511 1428 | 2011_002528 1429 | 2011_002553 1430 | 2011_002559 1431 | 2011_002561 1432 | 2011_002585 1433 | 2011_002590 1434 | 2011_002652 1435 | 2011_002656 1436 | 2011_002709 1437 | 2011_002715 1438 | 2011_002717 1439 | 2011_002752 1440 | 2011_002767 1441 | 2011_002770 1442 | 2011_002834 1443 | 2011_002851 1444 | 2011_002872 1445 | 2011_002873 1446 | 2011_002920 1447 | 2011_002932 1448 | 2011_002935 1449 | 2011_002947 1450 | 2011_002953 1451 | 2011_002956 1452 | 2011_003025 1453 | 2011_003038 1454 | 2011_003057 1455 | 2011_003066 1456 | 2011_003078 1457 | 2011_003121 1458 | 2011_003141 1459 | 2011_003151 1460 | 2011_003184 1461 | 2011_003216 1462 | 2011_003238 1463 | 2011_003246 1464 | 2011_003255 1465 | --------------------------------------------------------------------------------