Computer_Vision/Chapter09/predicting_multiple_instances_of_multiple_classes.ipynb
2024-02-13 03:34:51 +01:00

366 KiB
Raw Blame History

Open In Colab

!wget --quiet http://sceneparsing.csail.mit.edu/data/ChallengeData2017/images.tar
!wget --quiet http://sceneparsing.csail.mit.edu/data/ChallengeData2017/annotations_instance.tar
!tar -xf images.tar
!tar -xf annotations_instance.tar
!rm images.tar annotations_instance.tar
!pip install -qU torch_snippets
!wget --quiet https://raw.githubusercontent.com/pytorch/vision/master/references/detection/engine.py
!wget --quiet https://raw.githubusercontent.com/pytorch/vision/master/references/detection/utils.py
!wget --quiet https://raw.githubusercontent.com/pytorch/vision/master/references/detection/transforms.py
!wget --quiet https://raw.githubusercontent.com/pytorch/vision/master/references/detection/coco_eval.py
!wget --quiet https://raw.githubusercontent.com/pytorch/vision/master/references/detection/coco_utils.py
!pip install -q -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
     |████████████████████████████████| 61kB 4.8MB/s 
     |████████████████████████████████| 36.7MB 77kB/s 
     |████████████████████████████████| 102kB 14.6MB/s 
[?25h  Building wheel for contextvars (setup.py) ... [?25l[?25hdone
  Building wheel for pycocotools (setup.py) ... [?25l[?25hdone
from torch_snippets import *

import torchvision
from torchvision.models.detection.faster_rcnn import FastRCNNPredictor
from torchvision.models.detection.mask_rcnn import MaskRCNNPredictor

from engine import train_one_epoch, evaluate
import utils
import transforms as T
device = 'cuda' if torch.cuda.is_available() else 'cpu'
all_images = Glob('images/training')
all_annots = Glob('annotations_instance/training')
2020-11-07 13:58:04.425 | INFO     | torch_snippets.loader:Glob:181 - 20210 files found at images/training
2020-11-07 13:58:04.469 | INFO     | torch_snippets.loader:Glob:181 - 20210 files found at annotations_instance/training
classes_list = [4,6]
annots = []
for ann in Tqdm(all_annots):
    _ann = read(ann, 1).transpose(2,0,1)
    r,g,b = _ann
    if np.array([num in np.unique(r) for num in classes_list]).sum()==0: continue
    annots.append(ann)
from sklearn.model_selection import train_test_split
_annots = stems(annots)
trn_items, val_items = train_test_split(_annots, random_state=2)
100%|██████████| 20210/20210 [03:10<00:00, 106.29it/s]
def get_transform(train):
    transforms = []
    transforms.append(T.PILToTensor())
    if train:
        transforms.append(T.RandomHorizontalFlip(0.5))
    return T.Compose(transforms)
def get_mask(path):
    an = read(path, 1).transpose(2,0,1)
    r,g,b = an
    cls = list(set(np.unique(r)).intersection({4,6}))
    print(cls)
    masks = []
    labels = []
    for _cls in cls:
      nzs = np.nonzero(r==_cls)
      instances = np.unique(g[nzs])
      for ix,_id in enumerate(instances):
          masks.append(g==_id)
          labels.append(classes_list.index(_cls)+1)
    return np.array(masks), np.array(labels)
_id = trn_items[10]
img_path = f'images/training/{_id}.jpg'
get_mask(img_path)
[4, 6]
(array([[[False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         ...,
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False]],
 
        [[False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         ...,
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False]],
 
        [[False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         ...,
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False]],
 
        ...,
 
        [[False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         ...,
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False]],
 
        [[False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         ...,
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False]],
 
        [[False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         ...,
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False],
         [False, False, False, ..., False, False, False]]]),
 array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
        2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2]))
class MasksDataset(Dataset):
    def __init__(self, items, transforms, N):
        self.items = items
        self.transforms = transforms
        self.N = N
    def get_mask(self,path):
        an = read(path, 1).transpose(2,0,1)
        r,g,b = an
        cls = list(set(np.unique(r)).intersection({4,6}))
        masks = []
        labels = []
        for _cls in cls:
          nzs = np.nonzero(r==_cls)
          instances = np.unique(g[nzs])
          for ix,_id in enumerate(instances):
              masks.append(g==_id)
              labels.append(classes_list.index(_cls)+1)
        return np.array(masks), np.array(labels)
    def __getitem__(self, ix):
        _id = self.items[ix]
        img_path = f'images/training/{_id}.jpg'
        mask_path = f'annotations_instance/training/{_id}.png'
        masks, labels = self.get_mask(mask_path)
        #print(labels)
        obj_ids = np.arange(1, len(masks)+1)
        img = Image.open(img_path).convert("RGB")
        num_objs = len(obj_ids)
        boxes = []
        for i in range(num_objs):
            obj_pixels = np.where(masks[i])
            xmin = np.min(obj_pixels[1])
            xmax = np.max(obj_pixels[1])
            ymin = np.min(obj_pixels[0])
            ymax = np.max(obj_pixels[0])
            if (((xmax-xmin)<=10) | (ymax-ymin)<=10):
                xmax = xmin+10
                ymax = ymin+10
            boxes.append([xmin, ymin, xmax, ymax])
        boxes = torch.as_tensor(boxes, dtype=torch.float32)
        labels = torch.as_tensor(labels, dtype=torch.int64)
        masks = torch.as_tensor(masks, dtype=torch.uint8)
        area = (boxes[:, 3] - boxes[:, 1]) * (boxes[:, 2] - boxes[:, 0])
        iscrowd = torch.zeros((num_objs,), dtype=torch.int64)
        image_id = torch.tensor([ix])
        target = {}
        target["boxes"] = boxes
        target["labels"] = labels
        target["masks"] = masks
        target["image_id"] = image_id
        target["area"] = area
        target["iscrowd"] = iscrowd
        if self.transforms is not None:
            img, target = self.transforms(img, target)
        if (img.dtype == torch.float32) or (img.dtype == torch.uint8):
          img = img/255.
        return img, target
    def __len__(self):
        return self.N
    def choose(self):
        return self[randint(len(self))]
x = MasksDataset(trn_items, get_transform(train=True), N=100)
im,targ = x[1]
inspect(im,targ)
subplots([im, *targ['masks']], sz=10)
2020-11-07 14:01:15.692 | INFO     | torch_snippets.loader:subplots:375 - plotting 8 images in a grid of 2x5 @ (5, 5)
==================================================================
Tensor	Shape: torch.Size([3, 512, 683])	Min: 0.000	Max: 1.000	Mean: 0.504	dtype: torch.float32
==================================================================
Dict Of 6 items
==================================================================
	BOXES:
	Tensor	Shape: torch.Size([7, 4])	Min: 1.000	Max: 475.000	Mean: 278.214	dtype: torch.float32
==================================================================
==================================================================
	LABELS:
	Tensor	Shape: torch.Size([7])	Min: 1.000	Max: 1.000	Mean: 1.000	dtype: torch.int64
==================================================================
==================================================================
	MASKS:
	Tensor	Shape: torch.Size([7, 512, 683])	Min: 0.000	Max: 1.000	Mean: 0.009	dtype: torch.uint8
==================================================================
==================================================================
	IMAGE_ID:
	Tensor	Shape: torch.Size([1])	Min: 1.000	Max: 1.000	Mean: 1.000	dtype: torch.int64
==================================================================
==================================================================
	AREA:
	Tensor	Shape: torch.Size([7])	Min: 432.000	Max: 10366.000	Mean: 6474.571	dtype: torch.float32
==================================================================
... ... 1 more items
def get_model_instance_segmentation(num_classes):
    # load an instance segmentation model pre-trained pre-trained on COCO
    model = torchvision.models.detection.maskrcnn_resnet50_fpn(pretrained=True)

    # get number of input features for the classifier
    in_features = model.roi_heads.box_predictor.cls_score.in_features
    # replace the pre-trained head with a new one
    model.roi_heads.box_predictor = FastRCNNPredictor(in_features, num_classes)

    # now get the number of input features for the mask classifier
    in_features_mask = model.roi_heads.mask_predictor.conv5_mask.in_channels
    hidden_layer = 256
    # and replace the mask predictor with a new one
    model.roi_heads.mask_predictor = MaskRCNNPredictor(in_features_mask,
                                                       hidden_layer,num_classes)
    return model
model = get_model_instance_segmentation(3).to(device)
Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /root/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
HBox(children=(FloatProgress(value=0.0, max=178090079.0), HTML(value='')))
dataset = MasksDataset(trn_items, get_transform(train=True), N=3000)
dataset_test = MasksDataset(val_items, get_transform(train=False), N=800)

# define training and validation data loaders
data_loader = torch.utils.data.DataLoader(
    dataset, batch_size=2, shuffle=True, num_workers=0,
    collate_fn=utils.collate_fn)

data_loader_test = torch.utils.data.DataLoader(
    dataset_test, batch_size=1, shuffle=False, num_workers=0,
    collate_fn=utils.collate_fn)
num_classes = 3
model = get_model_instance_segmentation(num_classes).to(device)
params = [p for p in model.parameters() if p.requires_grad]
optimizer = torch.optim.SGD(params, lr=0.005,
                            momentum=0.9, weight_decay=0.0005)
# and a learning rate scheduler
lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer,
                                                step_size=3,
                                                gamma=0.1)
model.eval()
pred = model(dataset[0][0][None].to(device))
inspect(pred[0])
==================================================================
Dict Of 4 items
==================================================================
	BOXES:
	Tensor	Shape: torch.Size([100, 4])	Min: 0.000	Max: 382.000	Mean: 177.219	dtype: torch.float32
==================================================================
==================================================================
	LABELS:
	Tensor	Shape: torch.Size([100])	Min: 1.000	Max: 2.000	Mean: 1.120	dtype: torch.int64
==================================================================
==================================================================
	SCORES:
	Tensor	Shape: torch.Size([100])	Min: 0.355	Max: 0.712	Mean: 0.409	dtype: torch.float32
==================================================================
==================================================================
	MASKS:
	Tensor	Shape: torch.Size([100, 1, 340, 382])	Min: 0.000	Max: 1.000	Mean: 0.054	dtype: torch.float32
==================================================================
num_epochs = 5

trn_history = []
for epoch in range(num_epochs):
    # train for one epoch, printing every 10 iterations
    res = train_one_epoch(model, optimizer, data_loader, device, epoch, print_freq=10)
    trn_history.append(res)
    # update the learning rate
    lr_scheduler.step()
    # evaluate on the test dataset
    res = evaluate(model, data_loader_test, device=device)
/usr/local/lib/python3.6/dist-packages/torch/nn/functional.py:3103: UserWarning: The default behavior for interpolate/upsample with float scale_factor changed in 1.6.0 to align with other frameworks/libraries, and now uses scale_factor directly, instead of relying on the computed output size. If you wish to restore the old behavior, please set recompute_scale_factor=True. See the documentation of nn.Upsample for details. 
  warnings.warn("The default behavior for interpolate/upsample with float scale_factor changed "
Epoch: [0]  [   0/1500]  eta: 0:16:16  lr: 0.000010  loss: 2.2653 (2.2653)  loss_classifier: 0.9195 (0.9195)  loss_box_reg: 0.1731 (0.1731)  loss_mask: 1.1160 (1.1160)  loss_objectness: 0.0399 (0.0399)  loss_rpn_box_reg: 0.0168 (0.0168)  time: 0.6513  data: 0.0119  max mem: 2875
Epoch: [0]  [  10/1500]  eta: 0:16:16  lr: 0.000060  loss: 2.5998 (2.6990)  loss_classifier: 0.9031 (0.8928)  loss_box_reg: 0.1800 (0.2189)  loss_mask: 1.3047 (1.4537)  loss_objectness: 0.0399 (0.0971)  loss_rpn_box_reg: 0.0132 (0.0365)  time: 0.6557  data: 0.0690  max mem: 4126
Epoch: [0]  [  20/1500]  eta: 0:16:07  lr: 0.000110  loss: 2.3038 (2.2296)  loss_classifier: 0.8112 (0.7332)  loss_box_reg: 0.1800 (0.2395)  loss_mask: 1.0804 (1.1661)  loss_objectness: 0.0265 (0.0665)  loss_rpn_box_reg: 0.0102 (0.0243)  time: 0.6540  data: 0.0871  max mem: 4126
Epoch: [0]  [  30/1500]  eta: 0:15:57  lr: 0.000160  loss: 1.4503 (1.9446)  loss_classifier: 0.3333 (0.5951)  loss_box_reg: 0.1977 (0.2451)  loss_mask: 0.6966 (1.0212)  loss_objectness: 0.0301 (0.0623)  loss_rpn_box_reg: 0.0087 (0.0209)  time: 0.6486  data: 0.0963  max mem: 4126
Epoch: [0]  [  40/1500]  eta: 0:15:56  lr: 0.000210  loss: 1.1571 (1.7586)  loss_classifier: 0.2501 (0.5046)  loss_box_reg: 0.2067 (0.2340)  loss_mask: 0.6182 (0.9355)  loss_objectness: 0.0446 (0.0620)  loss_rpn_box_reg: 0.0087 (0.0226)  time: 0.6562  data: 0.0884  max mem: 4131
Epoch: [0]  [  50/1500]  eta: 0:15:48  lr: 0.000260  loss: 1.1051 (1.6331)  loss_classifier: 0.2395 (0.4632)  loss_box_reg: 0.2037 (0.2460)  loss_mask: 0.5177 (0.8413)  loss_objectness: 0.0446 (0.0616)  loss_rpn_box_reg: 0.0081 (0.0209)  time: 0.6583  data: 0.0791  max mem: 4131
Epoch: [0]  [  60/1500]  eta: 0:15:41  lr: 0.000310  loss: 1.1051 (1.5487)  loss_classifier: 0.1952 (0.4314)  loss_box_reg: 0.2243 (0.2512)  loss_mask: 0.4432 (0.7832)  loss_objectness: 0.0462 (0.0616)  loss_rpn_box_reg: 0.0095 (0.0213)  time: 0.6523  data: 0.0721  max mem: 4131
Epoch: [0]  [  70/1500]  eta: 0:15:54  lr: 0.000360  loss: 1.0199 (1.4867)  loss_classifier: 0.2294 (0.4076)  loss_box_reg: 0.2438 (0.2603)  loss_mask: 0.4432 (0.7373)  loss_objectness: 0.0462 (0.0599)  loss_rpn_box_reg: 0.0107 (0.0216)  time: 0.7012  data: 0.0947  max mem: 4131
Epoch: [0]  [  80/1500]  eta: 0:15:49  lr: 0.000410  loss: 0.9602 (1.4117)  loss_classifier: 0.1960 (0.3806)  loss_box_reg: 0.2150 (0.2553)  loss_mask: 0.4014 (0.6991)  loss_objectness: 0.0297 (0.0560)  loss_rpn_box_reg: 0.0095 (0.0207)  time: 0.7145  data: 0.1064  max mem: 4131
Epoch: [0]  [  90/1500]  eta: 0:15:53  lr: 0.000460  loss: 0.9084 (1.3598)  loss_classifier: 0.1752 (0.3622)  loss_box_reg: 0.1835 (0.2572)  loss_mask: 0.3799 (0.6670)  loss_objectness: 0.0330 (0.0536)  loss_rpn_box_reg: 0.0070 (0.0199)  time: 0.7080  data: 0.1020  max mem: 4473
Epoch: [0]  [ 100/1500]  eta: 0:15:48  lr: 0.000509  loss: 0.8353 (1.2975)  loss_classifier: 0.1699 (0.3416)  loss_box_reg: 0.2368 (0.2553)  loss_mask: 0.3307 (0.6320)  loss_objectness: 0.0175 (0.0502)  loss_rpn_box_reg: 0.0057 (0.0184)  time: 0.7126  data: 0.0970  max mem: 4473
Epoch: [0]  [ 110/1500]  eta: 0:15:48  lr: 0.000559  loss: 0.8168 (1.2722)  loss_classifier: 0.1372 (0.3259)  loss_box_reg: 0.2181 (0.2537)  loss_mask: 0.3334 (0.6144)  loss_objectness: 0.0160 (0.0586)  loss_rpn_box_reg: 0.0064 (0.0196)  time: 0.7096  data: 0.0945  max mem: 4473
Epoch: [0]  [ 120/1500]  eta: 0:15:46  lr: 0.000609  loss: 0.9003 (1.2430)  loss_classifier: 0.1705 (0.3144)  loss_box_reg: 0.2616 (0.2566)  loss_mask: 0.3729 (0.5952)  loss_objectness: 0.0218 (0.0569)  loss_rpn_box_reg: 0.0102 (0.0199)  time: 0.7260  data: 0.1024  max mem: 4473
Epoch: [0]  [ 130/1500]  eta: 0:15:40  lr: 0.000659  loss: 0.8918 (1.2197)  loss_classifier: 0.1694 (0.3053)  loss_box_reg: 0.2331 (0.2602)  loss_mask: 0.3524 (0.5803)  loss_objectness: 0.0245 (0.0546)  loss_rpn_box_reg: 0.0084 (0.0194)  time: 0.7095  data: 0.0853  max mem: 4473
Epoch: [0]  [ 140/1500]  eta: 0:15:34  lr: 0.000709  loss: 0.8490 (1.1986)  loss_classifier: 0.1652 (0.2953)  loss_box_reg: 0.2302 (0.2582)  loss_mask: 0.3517 (0.5654)  loss_objectness: 0.0255 (0.0593)  loss_rpn_box_reg: 0.0074 (0.0204)  time: 0.6977  data: 0.0726  max mem: 4473
Epoch: [0]  [ 150/1500]  eta: 0:15:34  lr: 0.000759  loss: 0.7261 (1.1702)  loss_classifier: 0.1417 (0.2851)  loss_box_reg: 0.1823 (0.2537)  loss_mask: 0.3778 (0.5545)  loss_objectness: 0.0190 (0.0573)  loss_rpn_box_reg: 0.0065 (0.0196)  time: 0.7280  data: 0.0850  max mem: 4473
Epoch: [0]  [ 160/1500]  eta: 0:15:30  lr: 0.000809  loss: 0.7103 (1.1436)  loss_classifier: 0.1268 (0.2765)  loss_box_reg: 0.1819 (0.2518)  loss_mask: 0.3649 (0.5409)  loss_objectness: 0.0218 (0.0554)  loss_rpn_box_reg: 0.0050 (0.0189)  time: 0.7420  data: 0.0975  max mem: 4473
Epoch: [0]  [ 170/1500]  eta: 0:15:21  lr: 0.000859  loss: 0.6961 (1.1174)  loss_classifier: 0.1095 (0.2663)  loss_box_reg: 0.1657 (0.2459)  loss_mask: 0.3624 (0.5320)  loss_objectness: 0.0171 (0.0548)  loss_rpn_box_reg: 0.0060 (0.0183)  time: 0.7016  data: 0.0866  max mem: 4473
Epoch: [0]  [ 180/1500]  eta: 0:15:12  lr: 0.000909  loss: 0.7290 (1.1038)  loss_classifier: 0.1072 (0.2593)  loss_box_reg: 0.1932 (0.2462)  loss_mask: 0.3745 (0.5246)  loss_objectness: 0.0171 (0.0549)  loss_rpn_box_reg: 0.0060 (0.0187)  time: 0.6673  data: 0.0650  max mem: 4473
Epoch: [0]  [ 190/1500]  eta: 0:15:09  lr: 0.000959  loss: 0.8180 (1.0891)  loss_classifier: 0.1337 (0.2526)  loss_box_reg: 0.2335 (0.2461)  loss_mask: 0.3636 (0.5169)  loss_objectness: 0.0374 (0.0542)  loss_rpn_box_reg: 0.0096 (0.0194)  time: 0.7028  data: 0.0863  max mem: 4473
Epoch: [0]  [ 200/1500]  eta: 0:15:06  lr: 0.001009  loss: 0.7390 (1.0742)  loss_classifier: 0.1156 (0.2470)  loss_box_reg: 0.2151 (0.2464)  loss_mask: 0.3466 (0.5074)  loss_objectness: 0.0328 (0.0538)  loss_rpn_box_reg: 0.0175 (0.0196)  time: 0.7542  data: 0.1204  max mem: 4473
Epoch: [0]  [ 210/1500]  eta: 0:15:01  lr: 0.001059  loss: 0.7492 (1.0611)  loss_classifier: 0.1222 (0.2409)  loss_box_reg: 0.1683 (0.2427)  loss_mask: 0.3621 (0.5034)  loss_objectness: 0.0313 (0.0540)  loss_rpn_box_reg: 0.0159 (0.0200)  time: 0.7440  data: 0.1013  max mem: 4473
Epoch: [0]  [ 220/1500]  eta: 0:14:54  lr: 0.001109  loss: 0.7671 (1.0502)  loss_classifier: 0.1222 (0.2363)  loss_box_reg: 0.1740 (0.2426)  loss_mask: 0.3884 (0.4974)  loss_objectness: 0.0316 (0.0537)  loss_rpn_box_reg: 0.0174 (0.0202)  time: 0.7140  data: 0.0800  max mem: 4473
Epoch: [0]  [ 230/1500]  eta: 0:14:52  lr: 0.001159  loss: 0.8191 (1.0468)  loss_classifier: 0.1327 (0.2318)  loss_box_reg: 0.1858 (0.2409)  loss_mask: 0.4003 (0.4993)  loss_objectness: 0.0348 (0.0539)  loss_rpn_box_reg: 0.0130 (0.0209)  time: 0.7488  data: 0.1029  max mem: 4473
Epoch: [0]  [ 240/1500]  eta: 0:14:47  lr: 0.001209  loss: 0.7891 (1.0363)  loss_classifier: 0.1025 (0.2271)  loss_box_reg: 0.1499 (0.2388)  loss_mask: 0.4373 (0.4967)  loss_objectness: 0.0292 (0.0530)  loss_rpn_box_reg: 0.0048 (0.0207)  time: 0.7614  data: 0.1126  max mem: 4473
Epoch: [0]  [ 250/1500]  eta: 0:14:39  lr: 0.001259  loss: 0.7479 (1.0273)  loss_classifier: 0.1064 (0.2230)  loss_box_reg: 0.1431 (0.2354)  loss_mask: 0.4046 (0.4941)  loss_objectness: 0.0322 (0.0537)  loss_rpn_box_reg: 0.0047 (0.0212)  time: 0.7104  data: 0.0997  max mem: 4473
Epoch: [0]  [ 260/1500]  eta: 0:14:34  lr: 0.001309  loss: 0.7479 (1.0168)  loss_classifier: 0.1056 (0.2184)  loss_box_reg: 0.1125 (0.2321)  loss_mask: 0.4035 (0.4913)  loss_objectness: 0.0350 (0.0538)  loss_rpn_box_reg: 0.0143 (0.0211)  time: 0.7231  data: 0.1069  max mem: 4473
Epoch: [0]  [ 270/1500]  eta: 0:14:28  lr: 0.001359  loss: 0.6159 (1.0020)  loss_classifier: 0.0764 (0.2136)  loss_box_reg: 0.1067 (0.2286)  loss_mask: 0.3547 (0.4855)  loss_objectness: 0.0277 (0.0531)  loss_rpn_box_reg: 0.0061 (0.0212)  time: 0.7314  data: 0.1119  max mem: 4473
Epoch: [0]  [ 280/1500]  eta: 0:14:23  lr: 0.001409  loss: 0.5947 (0.9896)  loss_classifier: 0.0691 (0.2095)  loss_box_reg: 0.1111 (0.2257)  loss_mask: 0.3179 (0.4813)  loss_objectness: 0.0236 (0.0521)  loss_rpn_box_reg: 0.0035 (0.0210)  time: 0.7352  data: 0.1157  max mem: 4473
Epoch: [0]  [ 290/1500]  eta: 0:14:16  lr: 0.001459  loss: 0.5959 (0.9811)  loss_classifier: 0.0773 (0.2061)  loss_box_reg: 0.1111 (0.2243)  loss_mask: 0.3370 (0.4790)  loss_objectness: 0.0187 (0.0508)  loss_rpn_box_reg: 0.0035 (0.0209)  time: 0.7322  data: 0.1074  max mem: 4473
Epoch: [0]  [ 300/1500]  eta: 0:14:08  lr: 0.001508  loss: 0.6483 (0.9711)  loss_classifier: 0.0810 (0.2030)  loss_box_reg: 0.1158 (0.2222)  loss_mask: 0.3645 (0.4754)  loss_objectness: 0.0108 (0.0498)  loss_rpn_box_reg: 0.0059 (0.0207)  time: 0.6926  data: 0.0852  max mem: 4473
Epoch: [0]  [ 310/1500]  eta: 0:14:00  lr: 0.001558  loss: 0.6385 (0.9584)  loss_classifier: 0.0913 (0.1994)  loss_box_reg: 0.1441 (0.2207)  loss_mask: 0.3306 (0.4691)  loss_objectness: 0.0108 (0.0487)  loss_rpn_box_reg: 0.0075 (0.0205)  time: 0.6939  data: 0.0790  max mem: 4473
Epoch: [0]  [ 320/1500]  eta: 0:13:52  lr: 0.001608  loss: 0.6305 (0.9511)  loss_classifier: 0.1057 (0.1972)  loss_box_reg: 0.1517 (0.2197)  loss_mask: 0.2950 (0.4647)  loss_objectness: 0.0162 (0.0489)  loss_rpn_box_reg: 0.0075 (0.0207)  time: 0.6922  data: 0.0739  max mem: 4473
Epoch: [0]  [ 330/1500]  eta: 0:13:47  lr: 0.001658  loss: 0.5848 (0.9404)  loss_classifier: 0.0951 (0.1941)  loss_box_reg: 0.1205 (0.2167)  loss_mask: 0.3052 (0.4610)  loss_objectness: 0.0169 (0.0482)  loss_rpn_box_reg: 0.0053 (0.0204)  time: 0.7154  data: 0.0885  max mem: 4473
Epoch: [0]  [ 340/1500]  eta: 0:13:40  lr: 0.001708  loss: 0.5848 (0.9316)  loss_classifier: 0.0877 (0.1914)  loss_box_reg: 0.1083 (0.2147)  loss_mask: 0.3052 (0.4577)  loss_objectness: 0.0153 (0.0474)  loss_rpn_box_reg: 0.0052 (0.0204)  time: 0.7395  data: 0.0989  max mem: 4703
Epoch: [0]  [ 350/1500]  eta: 0:13:34  lr: 0.001758  loss: 0.6230 (0.9242)  loss_classifier: 0.0926 (0.1895)  loss_box_reg: 0.1467 (0.2135)  loss_mask: 0.3320 (0.4542)  loss_objectness: 0.0185 (0.0469)  loss_rpn_box_reg: 0.0075 (0.0202)  time: 0.7328  data: 0.0954  max mem: 4703
Epoch: [0]  [ 360/1500]  eta: 0:13:26  lr: 0.001808  loss: 0.6169 (0.9164)  loss_classifier: 0.1083 (0.1870)  loss_box_reg: 0.1563 (0.2118)  loss_mask: 0.3377 (0.4511)  loss_objectness: 0.0158 (0.0464)  loss_rpn_box_reg: 0.0075 (0.0202)  time: 0.6957  data: 0.0797  max mem: 4703
Epoch: [0]  [ 370/1500]  eta: 0:13:19  lr: 0.001858  loss: 0.6363 (0.9121)  loss_classifier: 0.1041 (0.1852)  loss_box_reg: 0.1368 (0.2114)  loss_mask: 0.3377 (0.4484)  loss_objectness: 0.0142 (0.0465)  loss_rpn_box_reg: 0.0090 (0.0205)  time: 0.6937  data: 0.0847  max mem: 4703
Epoch: [0]  [ 380/1500]  eta: 0:13:13  lr: 0.001908  loss: 0.5914 (0.9040)  loss_classifier: 0.0954 (0.1827)  loss_box_reg: 0.1205 (0.2097)  loss_mask: 0.3184 (0.4451)  loss_objectness: 0.0196 (0.0460)  loss_rpn_box_reg: 0.0134 (0.0204)  time: 0.7308  data: 0.1070  max mem: 4703
Epoch: [0]  [ 390/1500]  eta: 0:13:06  lr: 0.001958  loss: 0.6231 (0.9003)  loss_classifier: 0.0954 (0.1813)  loss_box_reg: 0.1349 (0.2091)  loss_mask: 0.3184 (0.4432)  loss_objectness: 0.0218 (0.0459)  loss_rpn_box_reg: 0.0158 (0.0208)  time: 0.7182  data: 0.0857  max mem: 4703
Epoch: [0]  [ 400/1500]  eta: 0:12:58  lr: 0.002008  loss: 0.6725 (0.8938)  loss_classifier: 0.0890 (0.1798)  loss_box_reg: 0.1103 (0.2071)  loss_mask: 0.3674 (0.4409)  loss_objectness: 0.0271 (0.0455)  loss_rpn_box_reg: 0.0096 (0.0206)  time: 0.6954  data: 0.0732  max mem: 4703
Epoch: [0]  [ 410/1500]  eta: 0:12:54  lr: 0.002058  loss: 0.7020 (0.8899)  loss_classifier: 0.1168 (0.1782)  loss_box_reg: 0.1103 (0.2064)  loss_mask: 0.3925 (0.4397)  loss_objectness: 0.0271 (0.0451)  loss_rpn_box_reg: 0.0092 (0.0204)  time: 0.7515  data: 0.1277  max mem: 4703
Epoch: [0]  [ 420/1500]  eta: 0:12:45  lr: 0.002108  loss: 0.6772 (0.8824)  loss_classifier: 0.1004 (0.1763)  loss_box_reg: 0.1310 (0.2045)  loss_mask: 0.3433 (0.4370)  loss_objectness: 0.0143 (0.0444)  loss_rpn_box_reg: 0.0092 (0.0202)  time: 0.7394  data: 0.1303  max mem: 4703
Epoch: [0]  [ 430/1500]  eta: 0:12:40  lr: 0.002158  loss: 0.5874 (0.8794)  loss_classifier: 0.0965 (0.1751)  loss_box_reg: 0.1044 (0.2050)  loss_mask: 0.3062 (0.4345)  loss_objectness: 0.0153 (0.0443)  loss_rpn_box_reg: 0.0065 (0.0206)  time: 0.7191  data: 0.1073  max mem: 4806
Epoch: [0]  [ 440/1500]  eta: 0:12:35  lr: 0.002208  loss: 0.6087 (0.8792)  loss_classifier: 0.0958 (0.1748)  loss_box_reg: 0.1073 (0.2049)  loss_mask: 0.3330 (0.4342)  loss_objectness: 0.0239 (0.0445)  loss_rpn_box_reg: 0.0085 (0.0207)  time: 0.7793  data: 0.1500  max mem: 4806
Epoch: [0]  [ 450/1500]  eta: 0:12:28  lr: 0.002258  loss: 0.7486 (0.8779)  loss_classifier: 0.1144 (0.1737)  loss_box_reg: 0.1403 (0.2045)  loss_mask: 0.4252 (0.4344)  loss_objectness: 0.0332 (0.0444)  loss_rpn_box_reg: 0.0177 (0.0209)  time: 0.7454  data: 0.1456  max mem: 4806
Epoch: [0]  [ 460/1500]  eta: 0:12:21  lr: 0.002308  loss: 0.7012 (0.8733)  loss_classifier: 0.1252 (0.1726)  loss_box_reg: 0.1475 (0.2036)  loss_mask: 0.3176 (0.4322)  loss_objectness: 0.0332 (0.0442)  loss_rpn_box_reg: 0.0129 (0.0207)  time: 0.7159  data: 0.0905  max mem: 4806
Epoch: [0]  [ 470/1500]  eta: 0:12:13  lr: 0.002358  loss: 0.5469 (0.8662)  loss_classifier: 0.1027 (0.1710)  loss_box_reg: 0.1104 (0.2022)  loss_mask: 0.2885 (0.4287)  loss_objectness: 0.0182 (0.0438)  loss_rpn_box_reg: 0.0065 (0.0205)  time: 0.7151  data: 0.0813  max mem: 4806
Epoch: [0]  [ 480/1500]  eta: 0:12:06  lr: 0.002408  loss: 0.5200 (0.8596)  loss_classifier: 0.0771 (0.1689)  loss_box_reg: 0.1013 (0.2003)  loss_mask: 0.2578 (0.4270)  loss_objectness: 0.0109 (0.0431)  loss_rpn_box_reg: 0.0054 (0.0202)  time: 0.7113  data: 0.0901  max mem: 4806
Epoch: [0]  [ 490/1500]  eta: 0:11:58  lr: 0.002458  loss: 0.5536 (0.8537)  loss_classifier: 0.0668 (0.1670)  loss_box_reg: 0.0859 (0.1984)  loss_mask: 0.3380 (0.4258)  loss_objectness: 0.0091 (0.0425)  loss_rpn_box_reg: 0.0054 (0.0201)  time: 0.6950  data: 0.0746  max mem: 4806
Epoch: [0]  [ 500/1500]  eta: 0:11:52  lr: 0.002507  loss: 0.5943 (0.8511)  loss_classifier: 0.0799 (0.1662)  loss_box_reg: 0.0932 (0.1982)  loss_mask: 0.3623 (0.4242)  loss_objectness: 0.0091 (0.0422)  loss_rpn_box_reg: 0.0069 (0.0203)  time: 0.7020  data: 0.0831  max mem: 4806
Epoch: [0]  [ 510/1500]  eta: 0:11:46  lr: 0.002557  loss: 0.6542 (0.8473)  loss_classifier: 0.0898 (0.1652)  loss_box_reg: 0.1179 (0.1968)  loss_mask: 0.3623 (0.4231)  loss_objectness: 0.0172 (0.0420)  loss_rpn_box_reg: 0.0069 (0.0202)  time: 0.7532  data: 0.0920  max mem: 4806
Epoch: [0]  [ 520/1500]  eta: 0:11:38  lr: 0.002607  loss: 0.6542 (0.8441)  loss_classifier: 0.0839 (0.1642)  loss_box_reg: 0.1179 (0.1958)  loss_mask: 0.3679 (0.4223)  loss_objectness: 0.0201 (0.0417)  loss_rpn_box_reg: 0.0051 (0.0201)  time: 0.7386  data: 0.0956  max mem: 4806
Epoch: [0]  [ 530/1500]  eta: 0:11:32  lr: 0.002657  loss: 0.5638 (0.8384)  loss_classifier: 0.0817 (0.1628)  loss_box_reg: 0.1103 (0.1942)  loss_mask: 0.2719 (0.4202)  loss_objectness: 0.0169 (0.0413)  loss_rpn_box_reg: 0.0048 (0.0199)  time: 0.7267  data: 0.0967  max mem: 4806
Epoch: [0]  [ 540/1500]  eta: 0:11:24  lr: 0.002707  loss: 0.5977 (0.8354)  loss_classifier: 0.0756 (0.1616)  loss_box_reg: 0.1096 (0.1933)  loss_mask: 0.2952 (0.4196)  loss_objectness: 0.0160 (0.0408)  loss_rpn_box_reg: 0.0077 (0.0201)  time: 0.7055  data: 0.0812  max mem: 4806
Epoch: [0]  [ 550/1500]  eta: 0:11:16  lr: 0.002757  loss: 0.6107 (0.8320)  loss_classifier: 0.1074 (0.1611)  loss_box_reg: 0.1195 (0.1927)  loss_mask: 0.2952 (0.4176)  loss_objectness: 0.0184 (0.0406)  loss_rpn_box_reg: 0.0115 (0.0200)  time: 0.6743  data: 0.0653  max mem: 4806
Epoch: [0]  [ 560/1500]  eta: 0:11:09  lr: 0.002807  loss: 0.5871 (0.8276)  loss_classifier: 0.0967 (0.1599)  loss_box_reg: 0.1057 (0.1914)  loss_mask: 0.2833 (0.4161)  loss_objectness: 0.0197 (0.0403)  loss_rpn_box_reg: 0.0048 (0.0198)  time: 0.6891  data: 0.0830  max mem: 4806
Epoch: [0]  [ 570/1500]  eta: 0:11:02  lr: 0.002857  loss: 0.5871 (0.8251)  loss_classifier: 0.0874 (0.1590)  loss_box_reg: 0.0940 (0.1897)  loss_mask: 0.3628 (0.4159)  loss_objectness: 0.0234 (0.0407)  loss_rpn_box_reg: 0.0049 (0.0198)  time: 0.7019  data: 0.1036  max mem: 4806
Epoch: [0]  [ 580/1500]  eta: 0:10:56  lr: 0.002907  loss: 0.6084 (0.8228)  loss_classifier: 0.1058 (0.1586)  loss_box_reg: 0.0926 (0.1893)  loss_mask: 0.3594 (0.4143)  loss_objectness: 0.0275 (0.0406)  loss_rpn_box_reg: 0.0079 (0.0201)  time: 0.7519  data: 0.1214  max mem: 4806
Epoch: [0]  [ 590/1500]  eta: 0:10:48  lr: 0.002957  loss: 0.6084 (0.8203)  loss_classifier: 0.1080 (0.1582)  loss_box_reg: 0.1008 (0.1883)  loss_mask: 0.3126 (0.4135)  loss_objectness: 0.0218 (0.0405)  loss_rpn_box_reg: 0.0077 (0.0199)  time: 0.7229  data: 0.1008  max mem: 4806
Epoch: [0]  [ 600/1500]  eta: 0:10:41  lr: 0.003007  loss: 0.6901 (0.8179)  loss_classifier: 0.1055 (0.1571)  loss_box_reg: 0.1014 (0.1873)  loss_mask: 0.3654 (0.4131)  loss_objectness: 0.0256 (0.0403)  loss_rpn_box_reg: 0.0072 (0.0200)  time: 0.6918  data: 0.0726  max mem: 4806
Epoch: [0]  [ 610/1500]  eta: 0:10:34  lr: 0.003057  loss: 0.7033 (0.8172)  loss_classifier: 0.1020 (0.1566)  loss_box_reg: 0.1127 (0.1865)  loss_mask: 0.4086 (0.4139)  loss_objectness: 0.0256 (0.0402)  loss_rpn_box_reg: 0.0130 (0.0200)  time: 0.7116  data: 0.0914  max mem: 4806
Epoch: [0]  [ 620/1500]  eta: 0:10:26  lr: 0.003107  loss: 0.7033 (0.8152)  loss_classifier: 0.0999 (0.1558)  loss_box_reg: 0.1127 (0.1859)  loss_mask: 0.3753 (0.4128)  loss_objectness: 0.0216 (0.0404)  loss_rpn_box_reg: 0.0114 (0.0202)  time: 0.6785  data: 0.0733  max mem: 4806
Epoch: [0]  [ 630/1500]  eta: 0:10:18  lr: 0.003157  loss: 0.5473 (0.8121)  loss_classifier: 0.0851 (0.1550)  loss_box_reg: 0.1226 (0.1851)  loss_mask: 0.2979 (0.4116)  loss_objectness: 0.0187 (0.0403)  loss_rpn_box_reg: 0.0060 (0.0201)  time: 0.6722  data: 0.0796  max mem: 4806
Epoch: [0]  [ 640/1500]  eta: 0:10:11  lr: 0.003207  loss: 0.6247 (0.8114)  loss_classifier: 0.0931 (0.1543)  loss_box_reg: 0.1184 (0.1839)  loss_mask: 0.3690 (0.4128)  loss_objectness: 0.0187 (0.0403)  loss_rpn_box_reg: 0.0076 (0.0201)  time: 0.7144  data: 0.0937  max mem: 4806
Epoch: [0]  [ 650/1500]  eta: 0:10:04  lr: 0.003257  loss: 0.6247 (0.8069)  loss_classifier: 0.0834 (0.1533)  loss_box_reg: 0.0692 (0.1826)  loss_mask: 0.3537 (0.4111)  loss_objectness: 0.0158 (0.0400)  loss_rpn_box_reg: 0.0073 (0.0199)  time: 0.7148  data: 0.0811  max mem: 4806
Epoch: [0]  [ 660/1500]  eta: 0:09:57  lr: 0.003307  loss: 0.5024 (0.8046)  loss_classifier: 0.0776 (0.1528)  loss_box_reg: 0.0821 (0.1822)  loss_mask: 0.3059 (0.4099)  loss_objectness: 0.0181 (0.0398)  loss_rpn_box_reg: 0.0064 (0.0199)  time: 0.6999  data: 0.1002  max mem: 4806
Epoch: [0]  [ 670/1500]  eta: 0:09:50  lr: 0.003357  loss: 0.5855 (0.8023)  loss_classifier: 0.0863 (0.1520)  loss_box_reg: 0.0896 (0.1815)  loss_mask: 0.3349 (0.4096)  loss_objectness: 0.0232 (0.0395)  loss_rpn_box_reg: 0.0074 (0.0197)  time: 0.7053  data: 0.1036  max mem: 4806
Epoch: [0]  [ 680/1500]  eta: 0:09:43  lr: 0.003407  loss: 0.5613 (0.8002)  loss_classifier: 0.0694 (0.1510)  loss_box_reg: 0.0862 (0.1806)  loss_mask: 0.3604 (0.4089)  loss_objectness: 0.0234 (0.0399)  loss_rpn_box_reg: 0.0091 (0.0198)  time: 0.7109  data: 0.0901  max mem: 4806
Epoch: [0]  [ 690/1500]  eta: 0:09:36  lr: 0.003457  loss: 0.5815 (0.7975)  loss_classifier: 0.0669 (0.1502)  loss_box_reg: 0.0894 (0.1799)  loss_mask: 0.3160 (0.4079)  loss_objectness: 0.0210 (0.0398)  loss_rpn_box_reg: 0.0078 (0.0198)  time: 0.7273  data: 0.0990  max mem: 4806
Epoch: [0]  [ 700/1500]  eta: 0:09:29  lr: 0.003506  loss: 0.6611 (0.7970)  loss_classifier: 0.0741 (0.1497)  loss_box_reg: 0.0933 (0.1800)  loss_mask: 0.3473 (0.4076)  loss_objectness: 0.0194 (0.0398)  loss_rpn_box_reg: 0.0078 (0.0198)  time: 0.7168  data: 0.0947  max mem: 4806
Epoch: [0]  [ 710/1500]  eta: 0:09:21  lr: 0.003556  loss: 0.7792 (0.7966)  loss_classifier: 0.1238 (0.1493)  loss_box_reg: 0.1255 (0.1801)  loss_mask: 0.3670 (0.4070)  loss_objectness: 0.0205 (0.0402)  loss_rpn_box_reg: 0.0187 (0.0200)  time: 0.6990  data: 0.0869  max mem: 4806
Epoch: [0]  [ 720/1500]  eta: 0:09:14  lr: 0.003606  loss: 0.6545 (0.7942)  loss_classifier: 0.0924 (0.1484)  loss_box_reg: 0.1069 (0.1791)  loss_mask: 0.3670 (0.4062)  loss_objectness: 0.0313 (0.0405)  loss_rpn_box_reg: 0.0178 (0.0200)  time: 0.7066  data: 0.1016  max mem: 4806
Epoch: [0]  [ 730/1500]  eta: 0:09:08  lr: 0.003656  loss: 0.6706 (0.7943)  loss_classifier: 0.0829 (0.1481)  loss_box_reg: 0.1319 (0.1792)  loss_mask: 0.3513 (0.4059)  loss_objectness: 0.0377 (0.0409)  loss_rpn_box_reg: 0.0144 (0.0201)  time: 0.7623  data: 0.1238  max mem: 4806
Epoch: [0]  [ 740/1500]  eta: 0:09:01  lr: 0.003706  loss: 0.7649 (0.7935)  loss_classifier: 0.0957 (0.1478)  loss_box_reg: 0.1396 (0.1790)  loss_mask: 0.3896 (0.4059)  loss_objectness: 0.0281 (0.0407)  loss_rpn_box_reg: 0.0125 (0.0201)  time: 0.7487  data: 0.1026  max mem: 4806
Epoch: [0]  [ 750/1500]  eta: 0:08:54  lr: 0.003756  loss: 0.8276 (0.7938)  loss_classifier: 0.1181 (0.1477)  loss_box_reg: 0.1396 (0.1791)  loss_mask: 0.3952 (0.4060)  loss_objectness: 0.0223 (0.0408)  loss_rpn_box_reg: 0.0122 (0.0201)  time: 0.7046  data: 0.0808  max mem: 4806
Epoch: [0]  [ 760/1500]  eta: 0:08:47  lr: 0.003806  loss: 0.8276 (0.7939)  loss_classifier: 0.1457 (0.1478)  loss_box_reg: 0.1956 (0.1795)  loss_mask: 0.3564 (0.4057)  loss_objectness: 0.0250 (0.0407)  loss_rpn_box_reg: 0.0159 (0.0202)  time: 0.7246  data: 0.0871  max mem: 4806
Epoch: [0]  [ 770/1500]  eta: 0:08:39  lr: 0.003856  loss: 0.6741 (0.7913)  loss_classifier: 0.1022 (0.1470)  loss_box_reg: 0.1351 (0.1786)  loss_mask: 0.3482 (0.4049)  loss_objectness: 0.0203 (0.0405)  loss_rpn_box_reg: 0.0133 (0.0204)  time: 0.6879  data: 0.0641  max mem: 4806
Epoch: [0]  [ 780/1500]  eta: 0:08:32  lr: 0.003906  loss: 0.5840 (0.7902)  loss_classifier: 0.0830 (0.1466)  loss_box_reg: 0.0955 (0.1782)  loss_mask: 0.3483 (0.4046)  loss_objectness: 0.0214 (0.0403)  loss_rpn_box_reg: 0.0124 (0.0204)  time: 0.6662  data: 0.0699  max mem: 4806
Epoch: [0]  [ 790/1500]  eta: 0:08:24  lr: 0.003956  loss: 0.6329 (0.7882)  loss_classifier: 0.0835 (0.1461)  loss_box_reg: 0.0842 (0.1775)  loss_mask: 0.3911 (0.4042)  loss_objectness: 0.0214 (0.0401)  loss_rpn_box_reg: 0.0099 (0.0203)  time: 0.6680  data: 0.0803  max mem: 4806
Epoch: [0]  [ 800/1500]  eta: 0:08:16  lr: 0.004006  loss: 0.6329 (0.7876)  loss_classifier: 0.0913 (0.1459)  loss_box_reg: 0.0916 (0.1771)  loss_mask: 0.3740 (0.4042)  loss_objectness: 0.0233 (0.0401)  loss_rpn_box_reg: 0.0106 (0.0204)  time: 0.6492  data: 0.0760  max mem: 4806
Epoch: [0]  [ 810/1500]  eta: 0:08:09  lr: 0.004056  loss: 0.6804 (0.7863)  loss_classifier: 0.1123 (0.1456)  loss_box_reg: 0.1111 (0.1770)  loss_mask: 0.3617 (0.4035)  loss_objectness: 0.0183 (0.0399)  loss_rpn_box_reg: 0.0139 (0.0203)  time: 0.6805  data: 0.0866  max mem: 4806
Epoch: [0]  [ 820/1500]  eta: 0:08:02  lr: 0.004106  loss: 0.6903 (0.7866)  loss_classifier: 0.1151 (0.1457)  loss_box_reg: 0.1116 (0.1773)  loss_mask: 0.3666 (0.4034)  loss_objectness: 0.0253 (0.0399)  loss_rpn_box_reg: 0.0088 (0.0204)  time: 0.7145  data: 0.1051  max mem: 4806
Epoch: [0]  [ 830/1500]  eta: 0:07:55  lr: 0.004156  loss: 0.5958 (0.7836)  loss_classifier: 0.0843 (0.1449)  loss_box_reg: 0.1059 (0.1765)  loss_mask: 0.3537 (0.4023)  loss_objectness: 0.0229 (0.0397)  loss_rpn_box_reg: 0.0082 (0.0202)  time: 0.7089  data: 0.1081  max mem: 4806
Epoch: [0]  [ 840/1500]  eta: 0:07:49  lr: 0.004206  loss: 0.7311 (0.7851)  loss_classifier: 0.1090 (0.1450)  loss_box_reg: 0.1363 (0.1772)  loss_mask: 0.3581 (0.4029)  loss_objectness: 0.0137 (0.0398)  loss_rpn_box_reg: 0.0086 (0.0203)  time: 0.7493  data: 0.1055  max mem: 4806
Epoch: [0]  [ 850/1500]  eta: 0:07:42  lr: 0.004256  loss: 0.7924 (0.7841)  loss_classifier: 0.1298 (0.1447)  loss_box_reg: 0.1428 (0.1766)  loss_mask: 0.3695 (0.4027)  loss_objectness: 0.0267 (0.0397)  loss_rpn_box_reg: 0.0102 (0.0204)  time: 0.7706  data: 0.0908  max mem: 4806
Epoch: [0]  [ 860/1500]  eta: 0:07:35  lr: 0.004306  loss: 0.6277 (0.7840)  loss_classifier: 0.0995 (0.1443)  loss_box_reg: 0.1111 (0.1763)  loss_mask: 0.3605 (0.4023)  loss_objectness: 0.0320 (0.0407)  loss_rpn_box_reg: 0.0105 (0.0205)  time: 0.7240  data: 0.0955  max mem: 4806
Epoch: [0]  [ 870/1500]  eta: 0:07:28  lr: 0.004356  loss: 0.6129 (0.7833)  loss_classifier: 0.0880 (0.1439)  loss_box_reg: 0.0886 (0.1758)  loss_mask: 0.3880 (0.4022)  loss_objectness: 0.0435 (0.0409)  loss_rpn_box_reg: 0.0173 (0.0205)  time: 0.7060  data: 0.1138  max mem: 4806
Epoch: [0]  [ 880/1500]  eta: 0:07:21  lr: 0.004406  loss: 0.6800 (0.7830)  loss_classifier: 0.0856 (0.1436)  loss_box_reg: 0.0886 (0.1755)  loss_mask: 0.3660 (0.4023)  loss_objectness: 0.0424 (0.0410)  loss_rpn_box_reg: 0.0169 (0.0205)  time: 0.7411  data: 0.1292  max mem: 4806
Epoch: [0]  [ 890/1500]  eta: 0:07:14  lr: 0.004456  loss: 0.7078 (0.7820)  loss_classifier: 0.0982 (0.1434)  loss_box_reg: 0.0809 (0.1753)  loss_mask: 0.3614 (0.4019)  loss_objectness: 0.0409 (0.0409)  loss_rpn_box_reg: 0.0134 (0.0205)  time: 0.7716  data: 0.1381  max mem: 4806
Epoch: [0]  [ 900/1500]  eta: 0:07:07  lr: 0.004505  loss: 0.6398 (0.7803)  loss_classifier: 0.0835 (0.1430)  loss_box_reg: 0.0809 (0.1747)  loss_mask: 0.3321 (0.4012)  loss_objectness: 0.0302 (0.0410)  loss_rpn_box_reg: 0.0134 (0.0205)  time: 0.7152  data: 0.0963  max mem: 4806
Epoch: [0]  [ 910/1500]  eta: 0:06:59  lr: 0.004555  loss: 0.5888 (0.7798)  loss_classifier: 0.0816 (0.1428)  loss_box_reg: 0.0873 (0.1745)  loss_mask: 0.3321 (0.4012)  loss_objectness: 0.0282 (0.0409)  loss_rpn_box_reg: 0.0060 (0.0205)  time: 0.6587  data: 0.0652  max mem: 4806
Epoch: [0]  [ 920/1500]  eta: 0:06:52  lr: 0.004605  loss: 0.6186 (0.7787)  loss_classifier: 0.0818 (0.1422)  loss_box_reg: 0.1038 (0.1742)  loss_mask: 0.3529 (0.4007)  loss_objectness: 0.0233 (0.0409)  loss_rpn_box_reg: 0.0060 (0.0207)  time: 0.6931  data: 0.0646  max mem: 4806
Epoch: [0]  [ 930/1500]  eta: 0:06:45  lr: 0.004655  loss: 0.6209 (0.7779)  loss_classifier: 0.0757 (0.1419)  loss_box_reg: 0.0895 (0.1738)  loss_mask: 0.3515 (0.4004)  loss_objectness: 0.0312 (0.0412)  loss_rpn_box_reg: 0.0114 (0.0206)  time: 0.7353  data: 0.0807  max mem: 4806
Epoch: [0]  [ 940/1500]  eta: 0:06:38  lr: 0.004705  loss: 0.6209 (0.7765)  loss_classifier: 0.0758 (0.1416)  loss_box_reg: 0.0783 (0.1735)  loss_mask: 0.3191 (0.3993)  loss_objectness: 0.0393 (0.0413)  loss_rpn_box_reg: 0.0121 (0.0208)  time: 0.7225  data: 0.0877  max mem: 4806
Epoch: [0]  [ 950/1500]  eta: 0:06:31  lr: 0.004755  loss: 0.5828 (0.7753)  loss_classifier: 0.0949 (0.1412)  loss_box_reg: 0.1017 (0.1729)  loss_mask: 0.3132 (0.3992)  loss_objectness: 0.0290 (0.0413)  loss_rpn_box_reg: 0.0104 (0.0207)  time: 0.6951  data: 0.0766  max mem: 4806
Epoch: [0]  [ 960/1500]  eta: 0:06:24  lr: 0.004805  loss: 0.5828 (0.7736)  loss_classifier: 0.0931 (0.1408)  loss_box_reg: 0.1032 (0.1729)  loss_mask: 0.3685 (0.3983)  loss_objectness: 0.0214 (0.0410)  loss_rpn_box_reg: 0.0088 (0.0206)  time: 0.6945  data: 0.0751  max mem: 4806
Epoch: [0]  [ 970/1500]  eta: 0:06:17  lr: 0.004855  loss: 0.6902 (0.7745)  loss_classifier: 0.1131 (0.1411)  loss_box_reg: 0.1956 (0.1734)  loss_mask: 0.3290 (0.3982)  loss_objectness: 0.0216 (0.0411)  loss_rpn_box_reg: 0.0177 (0.0207)  time: 0.7284  data: 0.0931  max mem: 4806
Epoch: [0]  [ 980/1500]  eta: 0:06:10  lr: 0.004905  loss: 0.6902 (0.7737)  loss_classifier: 0.1241 (0.1408)  loss_box_reg: 0.1606 (0.1728)  loss_mask: 0.3727 (0.3982)  loss_objectness: 0.0269 (0.0412)  loss_rpn_box_reg: 0.0179 (0.0208)  time: 0.7381  data: 0.1037  max mem: 4806
Epoch: [0]  [ 990/1500]  eta: 0:06:02  lr: 0.004955  loss: 0.6192 (0.7724)  loss_classifier: 0.0974 (0.1404)  loss_box_reg: 0.0965 (0.1724)  loss_mask: 0.3765 (0.3980)  loss_objectness: 0.0229 (0.0410)  loss_rpn_box_reg: 0.0076 (0.0207)  time: 0.6927  data: 0.0881  max mem: 4806
Epoch: [0]  [1000/1500]  eta: 0:05:55  lr: 0.005000  loss: 0.6159 (0.7714)  loss_classifier: 0.0883 (0.1400)  loss_box_reg: 0.1022 (0.1720)  loss_mask: 0.3563 (0.3977)  loss_objectness: 0.0268 (0.0410)  loss_rpn_box_reg: 0.0084 (0.0207)  time: 0.6859  data: 0.0788  max mem: 4806
Epoch: [0]  [1010/1500]  eta: 0:05:48  lr: 0.005000  loss: 0.6347 (0.7708)  loss_classifier: 0.0883 (0.1400)  loss_box_reg: 0.0977 (0.1719)  loss_mask: 0.3407 (0.3971)  loss_objectness: 0.0270 (0.0409)  loss_rpn_box_reg: 0.0125 (0.0209)  time: 0.7203  data: 0.0897  max mem: 4806
Epoch: [0]  [1020/1500]  eta: 0:05:41  lr: 0.005000  loss: 0.6516 (0.7703)  loss_classifier: 0.1098 (0.1397)  loss_box_reg: 0.0984 (0.1719)  loss_mask: 0.3540 (0.3968)  loss_objectness: 0.0255 (0.0409)  loss_rpn_box_reg: 0.0055 (0.0210)  time: 0.7246  data: 0.0860  max mem: 4806
Epoch: [0]  [1030/1500]  eta: 0:05:34  lr: 0.005000  loss: 0.5926 (0.7693)  loss_classifier: 0.0982 (0.1395)  loss_box_reg: 0.1243 (0.1718)  loss_mask: 0.3338 (0.3961)  loss_objectness: 0.0198 (0.0409)  loss_rpn_box_reg: 0.0124 (0.0210)  time: 0.7083  data: 0.0852  max mem: 4806
Epoch: [0]  [1040/1500]  eta: 0:05:27  lr: 0.005000  loss: 0.5926 (0.7691)  loss_classifier: 0.0997 (0.1395)  loss_box_reg: 0.1257 (0.1716)  loss_mask: 0.3338 (0.3957)  loss_objectness: 0.0247 (0.0411)  loss_rpn_box_reg: 0.0115 (0.0211)  time: 0.7311  data: 0.1160  max mem: 4806
Epoch: [0]  [1050/1500]  eta: 0:05:20  lr: 0.005000  loss: 0.6146 (0.7678)  loss_classifier: 0.0975 (0.1392)  loss_box_reg: 0.0948 (0.1712)  loss_mask: 0.3372 (0.3953)  loss_objectness: 0.0321 (0.0411)  loss_rpn_box_reg: 0.0115 (0.0211)  time: 0.6980  data: 0.0934  max mem: 4806
Epoch: [0]  [1060/1500]  eta: 0:05:12  lr: 0.005000  loss: 0.6146 (0.7669)  loss_classifier: 0.0859 (0.1389)  loss_box_reg: 0.1303 (0.1710)  loss_mask: 0.3478 (0.3950)  loss_objectness: 0.0265 (0.0410)  loss_rpn_box_reg: 0.0120 (0.0210)  time: 0.6308  data: 0.0533  max mem: 4806
Epoch: [0]  [1070/1500]  eta: 0:05:05  lr: 0.005000  loss: 0.5919 (0.7663)  loss_classifier: 0.0816 (0.1387)  loss_box_reg: 0.1089 (0.1709)  loss_mask: 0.4026 (0.3948)  loss_objectness: 0.0178 (0.0409)  loss_rpn_box_reg: 0.0114 (0.0211)  time: 0.6775  data: 0.0611  max mem: 4806
Epoch: [0]  [1080/1500]  eta: 0:04:58  lr: 0.005000  loss: 0.6049 (0.7656)  loss_classifier: 0.0932 (0.1385)  loss_box_reg: 0.1088 (0.1706)  loss_mask: 0.3423 (0.3944)  loss_objectness: 0.0206 (0.0409)  loss_rpn_box_reg: 0.0169 (0.0212)  time: 0.7374  data: 0.0991  max mem: 4806
Epoch: [0]  [1090/1500]  eta: 0:04:51  lr: 0.005000  loss: 0.6428 (0.7644)  loss_classifier: 0.1078 (0.1382)  loss_box_reg: 0.1082 (0.1702)  loss_mask: 0.3310 (0.3938)  loss_objectness: 0.0358 (0.0410)  loss_rpn_box_reg: 0.0143 (0.0212)  time: 0.7196  data: 0.1115  max mem: 4806
Epoch: [0]  [1100/1500]  eta: 0:04:44  lr: 0.005000  loss: 0.5830 (0.7629)  loss_classifier: 0.0833 (0.1378)  loss_box_reg: 0.0968 (0.1696)  loss_mask: 0.3426 (0.3935)  loss_objectness: 0.0333 (0.0409)  loss_rpn_box_reg: 0.0061 (0.0211)  time: 0.6602  data: 0.0766  max mem: 4806
Epoch: [0]  [1110/1500]  eta: 0:04:36  lr: 0.005000  loss: 0.5603 (0.7626)  loss_classifier: 0.0801 (0.1378)  loss_box_reg: 0.0964 (0.1697)  loss_mask: 0.3665 (0.3932)  loss_objectness: 0.0264 (0.0409)  loss_rpn_box_reg: 0.0053 (0.0210)  time: 0.6676  data: 0.0661  max mem: 4806
Epoch: [0]  [1120/1500]  eta: 0:04:29  lr: 0.005000  loss: 0.6085 (0.7612)  loss_classifier: 0.0993 (0.1374)  loss_box_reg: 0.1075 (0.1692)  loss_mask: 0.3755 (0.3929)  loss_objectness: 0.0257 (0.0407)  loss_rpn_box_reg: 0.0080 (0.0210)  time: 0.6994  data: 0.0808  max mem: 4806
Epoch: [0]  [1130/1500]  eta: 0:04:22  lr: 0.005000  loss: 0.6777 (0.7611)  loss_classifier: 0.0809 (0.1372)  loss_box_reg: 0.1075 (0.1691)  loss_mask: 0.3985 (0.3932)  loss_objectness: 0.0195 (0.0407)  loss_rpn_box_reg: 0.0078 (0.0209)  time: 0.7177  data: 0.0928  max mem: 4806
Epoch: [0]  [1140/1500]  eta: 0:04:15  lr: 0.005000  loss: 0.6899 (0.7607)  loss_classifier: 0.0799 (0.1370)  loss_box_reg: 0.0977 (0.1689)  loss_mask: 0.3907 (0.3934)  loss_objectness: 0.0195 (0.0406)  loss_rpn_box_reg: 0.0081 (0.0209)  time: 0.7435  data: 0.0953  max mem: 4806
Epoch: [0]  [1150/1500]  eta: 0:04:08  lr: 0.005000  loss: 0.6818 (0.7606)  loss_classifier: 0.0894 (0.1368)  loss_box_reg: 0.1110 (0.1690)  loss_mask: 0.3500 (0.3933)  loss_objectness: 0.0296 (0.0406)  loss_rpn_box_reg: 0.0146 (0.0209)  time: 0.6991  data: 0.0814  max mem: 4806
Epoch: [0]  [1160/1500]  eta: 0:04:01  lr: 0.005000  loss: 0.6710 (0.7603)  loss_classifier: 0.1109 (0.1366)  loss_box_reg: 0.1472 (0.1689)  loss_mask: 0.3360 (0.3931)  loss_objectness: 0.0308 (0.0406)  loss_rpn_box_reg: 0.0093 (0.0210)  time: 0.6725  data: 0.0702  max mem: 4806
Epoch: [0]  [1170/1500]  eta: 0:03:54  lr: 0.005000  loss: 0.6342 (0.7593)  loss_classifier: 0.0946 (0.1363)  loss_box_reg: 0.1047 (0.1686)  loss_mask: 0.3530 (0.3930)  loss_objectness: 0.0279 (0.0405)  loss_rpn_box_reg: 0.0077 (0.0209)  time: 0.6813  data: 0.0794  max mem: 4806
Epoch: [0]  [1180/1500]  eta: 0:03:47  lr: 0.005000  loss: 0.6095 (0.7584)  loss_classifier: 0.0738 (0.1360)  loss_box_reg: 0.0948 (0.1682)  loss_mask: 0.3882 (0.3930)  loss_objectness: 0.0171 (0.0403)  loss_rpn_box_reg: 0.0077 (0.0209)  time: 0.6927  data: 0.0915  max mem: 4806
Epoch: [0]  [1190/1500]  eta: 0:03:39  lr: 0.005000  loss: 0.6307 (0.7585)  loss_classifier: 0.0888 (0.1359)  loss_box_reg: 0.1075 (0.1683)  loss_mask: 0.3883 (0.3929)  loss_objectness: 0.0154 (0.0404)  loss_rpn_box_reg: 0.0065 (0.0210)  time: 0.6972  data: 0.0903  max mem: 4806
Epoch: [0]  [1200/1500]  eta: 0:03:32  lr: 0.005000  loss: 0.6711 (0.7590)  loss_classifier: 0.1032 (0.1359)  loss_box_reg: 0.1110 (0.1681)  loss_mask: 0.4006 (0.3931)  loss_objectness: 0.0275 (0.0406)  loss_rpn_box_reg: 0.0106 (0.0212)  time: 0.7051  data: 0.0933  max mem: 4806
Epoch: [0]  [1210/1500]  eta: 0:03:25  lr: 0.005000  loss: 0.6667 (0.7582)  loss_classifier: 0.1092 (0.1357)  loss_box_reg: 0.1069 (0.1678)  loss_mask: 0.3529 (0.3927)  loss_objectness: 0.0410 (0.0407)  loss_rpn_box_reg: 0.0112 (0.0212)  time: 0.7166  data: 0.1017  max mem: 4806
Epoch: [0]  [1220/1500]  eta: 0:03:18  lr: 0.005000  loss: 0.6226 (0.7585)  loss_classifier: 0.0817 (0.1354)  loss_box_reg: 0.0939 (0.1674)  loss_mask: 0.3529 (0.3934)  loss_objectness: 0.0410 (0.0410)  loss_rpn_box_reg: 0.0143 (0.0212)  time: 0.7008  data: 0.0876  max mem: 4806
Epoch: [0]  [1230/1500]  eta: 0:03:11  lr: 0.005000  loss: 0.5259 (0.7571)  loss_classifier: 0.0770 (0.1351)  loss_box_reg: 0.0811 (0.1671)  loss_mask: 0.3705 (0.3929)  loss_objectness: 0.0263 (0.0408)  loss_rpn_box_reg: 0.0155 (0.0212)  time: 0.7401  data: 0.0985  max mem: 4806
Epoch: [0]  [1240/1500]  eta: 0:03:04  lr: 0.005000  loss: 0.5401 (0.7561)  loss_classifier: 0.0737 (0.1348)  loss_box_reg: 0.0855 (0.1665)  loss_mask: 0.3741 (0.3929)  loss_objectness: 0.0175 (0.0409)  loss_rpn_box_reg: 0.0074 (0.0211)  time: 0.7324  data: 0.0946  max mem: 4806
Epoch: [0]  [1250/1500]  eta: 0:02:57  lr: 0.005000  loss: 0.5022 (0.7541)  loss_classifier: 0.0730 (0.1343)  loss_box_reg: 0.0787 (0.1658)  loss_mask: 0.3326 (0.3922)  loss_objectness: 0.0191 (0.0407)  loss_rpn_box_reg: 0.0048 (0.0210)  time: 0.6748  data: 0.0652  max mem: 4806
Epoch: [0]  [1260/1500]  eta: 0:02:50  lr: 0.005000  loss: 0.4970 (0.7533)  loss_classifier: 0.0769 (0.1343)  loss_box_reg: 0.0871 (0.1656)  loss_mask: 0.3111 (0.3916)  loss_objectness: 0.0232 (0.0407)  loss_rpn_box_reg: 0.0064 (0.0211)  time: 0.6990  data: 0.0955  max mem: 4806
Epoch: [0]  [1270/1500]  eta: 0:02:43  lr: 0.005000  loss: 0.5432 (0.7522)  loss_classifier: 0.1043 (0.1340)  loss_box_reg: 0.1128 (0.1651)  loss_mask: 0.3465 (0.3914)  loss_objectness: 0.0202 (0.0407)  loss_rpn_box_reg: 0.0101 (0.0210)  time: 0.7349  data: 0.1074  max mem: 4806
Epoch: [0]  [1280/1500]  eta: 0:02:36  lr: 0.005000  loss: 0.6704 (0.7526)  loss_classifier: 0.1043 (0.1341)  loss_box_reg: 0.1128 (0.1653)  loss_mask: 0.3870 (0.3914)  loss_objectness: 0.0203 (0.0407)  loss_rpn_box_reg: 0.0108 (0.0211)  time: 0.7256  data: 0.0898  max mem: 4806
Epoch: [0]  [1290/1500]  eta: 0:02:29  lr: 0.005000  loss: 0.6591 (0.7521)  loss_classifier: 0.1238 (0.1341)  loss_box_reg: 0.1524 (0.1654)  loss_mask: 0.3185 (0.3909)  loss_objectness: 0.0203 (0.0406)  loss_rpn_box_reg: 0.0161 (0.0211)  time: 0.7047  data: 0.0900  max mem: 4806
Epoch: [0]  [1300/1500]  eta: 0:02:21  lr: 0.005000  loss: 0.6052 (0.7515)  loss_classifier: 0.1073 (0.1341)  loss_box_reg: 0.1270 (0.1653)  loss_mask: 0.3185 (0.3906)  loss_objectness: 0.0187 (0.0406)  loss_rpn_box_reg: 0.0075 (0.0210)  time: 0.6918  data: 0.0917  max mem: 4806
Epoch: [0]  [1310/1500]  eta: 0:02:14  lr: 0.005000  loss: 0.6353 (0.7520)  loss_classifier: 0.0983 (0.1342)  loss_box_reg: 0.1271 (0.1656)  loss_mask: 0.3443 (0.3906)  loss_objectness: 0.0195 (0.0406)  loss_rpn_box_reg: 0.0077 (0.0211)  time: 0.7014  data: 0.1022  max mem: 4806
Epoch: [0]  [1320/1500]  eta: 0:02:07  lr: 0.005000  loss: 0.6100 (0.7506)  loss_classifier: 0.0886 (0.1340)  loss_box_reg: 0.0919 (0.1652)  loss_mask: 0.3392 (0.3899)  loss_objectness: 0.0183 (0.0404)  loss_rpn_box_reg: 0.0086 (0.0211)  time: 0.7330  data: 0.1149  max mem: 4806
Epoch: [0]  [1330/1500]  eta: 0:02:00  lr: 0.005000  loss: 0.6171 (0.7511)  loss_classifier: 0.0866 (0.1338)  loss_box_reg: 0.0919 (0.1651)  loss_mask: 0.3392 (0.3908)  loss_objectness: 0.0163 (0.0403)  loss_rpn_box_reg: 0.0086 (0.0212)  time: 0.7319  data: 0.1035  max mem: 4806
Epoch: [0]  [1340/1500]  eta: 0:01:53  lr: 0.005000  loss: 0.6171 (0.7505)  loss_classifier: 0.0778 (0.1334)  loss_box_reg: 0.1092 (0.1646)  loss_mask: 0.4133 (0.3911)  loss_objectness: 0.0163 (0.0402)  loss_rpn_box_reg: 0.0047 (0.0211)  time: 0.7039  data: 0.0839  max mem: 4806
Epoch: [0]  [1350/1500]  eta: 0:01:46  lr: 0.005000  loss: 0.5928 (0.7491)  loss_classifier: 0.0735 (0.1330)  loss_box_reg: 0.0954 (0.1641)  loss_mask: 0.3951 (0.3910)  loss_objectness: 0.0130 (0.0400)  loss_rpn_box_reg: 0.0059 (0.0210)  time: 0.7225  data: 0.0799  max mem: 4806
Epoch: [0]  [1360/1500]  eta: 0:01:39  lr: 0.005000  loss: 0.5496 (0.7488)  loss_classifier: 0.0739 (0.1329)  loss_box_reg: 0.0954 (0.1639)  loss_mask: 0.3439 (0.3911)  loss_objectness: 0.0159 (0.0400)  loss_rpn_box_reg: 0.0066 (0.0209)  time: 0.7127  data: 0.0787  max mem: 4806
Epoch: [0]  [1370/1500]  eta: 0:01:32  lr: 0.005000  loss: 0.6396 (0.7487)  loss_classifier: 0.0974 (0.1327)  loss_box_reg: 0.0935 (0.1636)  loss_mask: 0.3439 (0.3912)  loss_objectness: 0.0266 (0.0404)  loss_rpn_box_reg: 0.0069 (0.0209)  time: 0.6950  data: 0.0908  max mem: 4806
Epoch: [0]  [1380/1500]  eta: 0:01:25  lr: 0.005000  loss: 0.6251 (0.7488)  loss_classifier: 0.0926 (0.1326)  loss_box_reg: 0.0927 (0.1636)  loss_mask: 0.3495 (0.3914)  loss_objectness: 0.0296 (0.0405)  loss_rpn_box_reg: 0.0071 (0.0209)  time: 0.7307  data: 0.1083  max mem: 4806
Epoch: [0]  [1390/1500]  eta: 0:01:18  lr: 0.005000  loss: 0.7355 (0.7497)  loss_classifier: 0.1143 (0.1327)  loss_box_reg: 0.1200 (0.1637)  loss_mask: 0.3888 (0.3916)  loss_objectness: 0.0392 (0.0407)  loss_rpn_box_reg: 0.0152 (0.0210)  time: 0.7565  data: 0.1329  max mem: 4806
Epoch: [0]  [1400/1500]  eta: 0:01:11  lr: 0.005000  loss: 0.7070 (0.7498)  loss_classifier: 0.1143 (0.1324)  loss_box_reg: 0.1196 (0.1634)  loss_mask: 0.4241 (0.3917)  loss_objectness: 0.0562 (0.0412)  loss_rpn_box_reg: 0.0198 (0.0211)  time: 0.7350  data: 0.1180  max mem: 4806
Epoch: [0]  [1410/1500]  eta: 0:01:03  lr: 0.005000  loss: 0.6195 (0.7493)  loss_classifier: 0.0679 (0.1323)  loss_box_reg: 0.1146 (0.1633)  loss_mask: 0.3844 (0.3915)  loss_objectness: 0.0355 (0.0411)  loss_rpn_box_reg: 0.0115 (0.0211)  time: 0.7278  data: 0.0870  max mem: 4806
Epoch: [0]  [1420/1500]  eta: 0:00:56  lr: 0.005000  loss: 0.6181 (0.7487)  loss_classifier: 0.0997 (0.1321)  loss_box_reg: 0.1194 (0.1630)  loss_mask: 0.3498 (0.3914)  loss_objectness: 0.0311 (0.0411)  loss_rpn_box_reg: 0.0105 (0.0211)  time: 0.7127  data: 0.0778  max mem: 4806
Epoch: [0]  [1430/1500]  eta: 0:00:49  lr: 0.005000  loss: 0.6882 (0.7485)  loss_classifier: 0.1034 (0.1319)  loss_box_reg: 0.1194 (0.1628)  loss_mask: 0.3888 (0.3914)  loss_objectness: 0.0293 (0.0413)  loss_rpn_box_reg: 0.0097 (0.0211)  time: 0.6965  data: 0.0831  max mem: 4806
Epoch: [0]  [1440/1500]  eta: 0:00:42  lr: 0.005000  loss: 0.7480 (0.7496)  loss_classifier: 0.1151 (0.1321)  loss_box_reg: 0.1424 (0.1632)  loss_mask: 0.4039 (0.3913)  loss_objectness: 0.0384 (0.0417)  loss_rpn_box_reg: 0.0123 (0.0212)  time: 0.7509  data: 0.1298  max mem: 4806
Epoch: [0]  [1450/1500]  eta: 0:00:35  lr: 0.005000  loss: 0.7549 (0.7494)  loss_classifier: 0.1305 (0.1320)  loss_box_reg: 0.1315 (0.1629)  loss_mask: 0.4070 (0.3915)  loss_objectness: 0.0412 (0.0418)  loss_rpn_box_reg: 0.0123 (0.0212)  time: 0.7257  data: 0.1191  max mem: 4806
Epoch: [0]  [1460/1500]  eta: 0:00:28  lr: 0.005000  loss: 0.7207 (0.7495)  loss_classifier: 0.1062 (0.1320)  loss_box_reg: 0.1065 (0.1628)  loss_mask: 0.4225 (0.3917)  loss_objectness: 0.0412 (0.0418)  loss_rpn_box_reg: 0.0080 (0.0212)  time: 0.7075  data: 0.1174  max mem: 4806
Epoch: [0]  [1470/1500]  eta: 0:00:21  lr: 0.005000  loss: 0.6906 (0.7502)  loss_classifier: 0.1062 (0.1320)  loss_box_reg: 0.0896 (0.1629)  loss_mask: 0.4066 (0.3918)  loss_objectness: 0.0336 (0.0421)  loss_rpn_box_reg: 0.0146 (0.0214)  time: 0.7307  data: 0.1343  max mem: 4806
Epoch: [0]  [1480/1500]  eta: 0:00:14  lr: 0.005000  loss: 0.6152 (0.7496)  loss_classifier: 0.0930 (0.1319)  loss_box_reg: 0.0904 (0.1628)  loss_mask: 0.3431 (0.3914)  loss_objectness: 0.0339 (0.0422)  loss_rpn_box_reg: 0.0185 (0.0214)  time: 0.7152  data: 0.1114  max mem: 4806
Epoch: [0]  [1490/1500]  eta: 0:00:07  lr: 0.005000  loss: 0.5760 (0.7488)  loss_classifier: 0.0921 (0.1317)  loss_box_reg: 0.1034 (0.1625)  loss_mask: 0.3171 (0.3913)  loss_objectness: 0.0250 (0.0421)  loss_rpn_box_reg: 0.0088 (0.0213)  time: 0.7088  data: 0.0932  max mem: 4806
Epoch: [0]  [1499/1500]  eta: 0:00:00  lr: 0.005000  loss: 0.5513 (0.7483)  loss_classifier: 0.0854 (0.1315)  loss_box_reg: 0.1034 (0.1624)  loss_mask: 0.3155 (0.3909)  loss_objectness: 0.0142 (0.0421)  loss_rpn_box_reg: 0.0079 (0.0214)  time: 0.6987  data: 0.0691  max mem: 4806
Epoch: [0] Total time: 0:17:46 (0.7111 s / it)
creating index...
index created!
Test:  [  0/800]  eta: 0:03:00  model_time: 0.1960 (0.1960)  evaluator_time: 0.0171 (0.0171)  time: 0.2261  data: 0.0122  max mem: 4806
Test:  [100/800]  eta: 0:02:24  model_time: 0.1651 (0.1552)  evaluator_time: 0.0273 (0.0325)  time: 0.2121  data: 0.0179  max mem: 4806
Test:  [200/800]  eta: 0:02:01  model_time: 0.1502 (0.1535)  evaluator_time: 0.0192 (0.0304)  time: 0.2118  data: 0.0187  max mem: 4806
Test:  [300/800]  eta: 0:01:43  model_time: 0.1524 (0.1546)  evaluator_time: 0.0260 (0.0325)  time: 0.2090  data: 0.0177  max mem: 4806
Test:  [400/800]  eta: 0:01:23  model_time: 0.1586 (0.1544)  evaluator_time: 0.0226 (0.0339)  time: 0.2338  data: 0.0216  max mem: 4806
Test:  [500/800]  eta: 0:01:01  model_time: 0.1451 (0.1533)  evaluator_time: 0.0186 (0.0332)  time: 0.2091  data: 0.0155  max mem: 4806
---------------------------------------------------------------------------
KeyboardInterrupt                         Traceback (most recent call last)
<ipython-input-15-16230b13c661> in <module>()
      9     lr_scheduler.step()
     10     # evaluate on the test dataset
---> 11     res = evaluate(model, data_loader_test, device=device)

/usr/local/lib/python3.6/dist-packages/torch/autograd/grad_mode.py in decorate_context(*args, **kwargs)
     24         def decorate_context(*args, **kwargs):
     25             with self.__class__():
---> 26                 return func(*args, **kwargs)
     27         return cast(F, decorate_context)
     28 

/content/engine.py in evaluate(model, data_loader, device)
     87         torch.cuda.synchronize()
     88         model_time = time.time()
---> 89         outputs = model(images)
     90 
     91         outputs = [{k: v.to(cpu_device) for k, v in t.items()} for t in outputs]

/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
    725             result = self._slow_forward(*input, **kwargs)
    726         else:
--> 727             result = self.forward(*input, **kwargs)
    728         for hook in itertools.chain(
    729                 _global_forward_hooks.values(),

/usr/local/lib/python3.6/dist-packages/torchvision/models/detection/generalized_rcnn.py in forward(self, images, targets)
     97         if isinstance(features, torch.Tensor):
     98             features = OrderedDict([('0', features)])
---> 99         proposals, proposal_losses = self.rpn(images, features, targets)
    100         detections, detector_losses = self.roi_heads(features, proposals, images.image_sizes, targets)
    101         detections = self.transform.postprocess(detections, images.image_sizes, original_image_sizes)

/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
    725             result = self._slow_forward(*input, **kwargs)
    726         else:
--> 727             result = self.forward(*input, **kwargs)
    728         for hook in itertools.chain(
    729                 _global_forward_hooks.values(),

/usr/local/lib/python3.6/dist-packages/torchvision/models/detection/rpn.py in forward(self, images, features, targets)
    330         features = list(features.values())
    331         objectness, pred_bbox_deltas = self.head(features)
--> 332         anchors = self.anchor_generator(images, features)
    333 
    334         num_images = len(anchors)

/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in _call_impl(self, *input, **kwargs)
    725             result = self._slow_forward(*input, **kwargs)
    726         else:
--> 727             result = self.forward(*input, **kwargs)
    728         for hook in itertools.chain(
    729                 _global_forward_hooks.values(),

/usr/local/lib/python3.6/dist-packages/torchvision/models/detection/anchor_utils.py in forward(self, image_list, feature_maps)
    145         dtype, device = feature_maps[0].dtype, feature_maps[0].device
    146         strides = [[torch.tensor(image_size[0] // g[0], dtype=torch.int64, device=device),
--> 147                     torch.tensor(image_size[1] // g[1], dtype=torch.int64, device=device)] for g in grid_sizes]
    148         self.set_cell_anchors(dtype, device)
    149         anchors_over_all_feature_maps = self.cached_grid_anchors(grid_sizes, strides)

/usr/local/lib/python3.6/dist-packages/torchvision/models/detection/anchor_utils.py in <listcomp>(.0)
    145         dtype, device = feature_maps[0].dtype, feature_maps[0].device
    146         strides = [[torch.tensor(image_size[0] // g[0], dtype=torch.int64, device=device),
--> 147                     torch.tensor(image_size[1] // g[1], dtype=torch.int64, device=device)] for g in grid_sizes]
    148         self.set_cell_anchors(dtype, device)
    149         anchors_over_all_feature_maps = self.cached_grid_anchors(grid_sizes, strides)

KeyboardInterrupt: 
import matplotlib.pyplot as plt
plt.title('Training Loss')
losses = [np.mean(list(trn_history[i].meters['loss'].deque)) for i in range(len(trn_history))]
plt.plot(losses)
[<matplotlib.lines.Line2D>]
k=408
k
409
k=423
model.eval()
k+=1
im = dataset_test[k][0]
show(im,sz=5)
with torch.no_grad():
    prediction = model([im.to(device)])
    for i in range(len(prediction[0]['masks'])):
        plt.imshow(Image.fromarray(prediction[0]['masks'][i, 0].mul(255).byte().cpu().numpy()))
        plt.title('Class: '+str(prediction[0]['labels'][i].cpu().numpy())+' Score:'+str(prediction[0]['scores'][i].cpu().numpy()))
        plt.show()