Skip to content

Commit

Permalink
integrated dino in codebase
Browse files Browse the repository at this point in the history
  • Loading branch information
nab-126 committed Oct 25, 2022
1 parent a48da52 commit 7f61103
Show file tree
Hide file tree
Showing 25 changed files with 777 additions and 99 deletions.
3 changes: 2 additions & 1 deletion DINO/datasets/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@
import torch.utils.data
import torchvision

from .coco import build as build_coco
# from .coco import build as build_coco
from DINO.datasets.coco import build as build_coco


def get_coco_api_from_dataset(dataset):
Expand Down
26 changes: 23 additions & 3 deletions DINO/datasets/coco.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
import torchvision
from pycocotools import mask as coco_mask

from datasets.data_util import preparing_dataset
import datasets.transforms as T
from util.box_ops import box_cxcywh_to_xyxy, box_iou
from DINO.datasets.data_util import preparing_dataset
import DINO.datasets.transforms as T
from DINO.util.box_ops import box_cxcywh_to_xyxy, box_iou

__all__ = ['build']

Expand Down Expand Up @@ -390,15 +390,34 @@ def __getitem__(self, idx):
image_id = self.ids[idx]
target = {'image_id': image_id, 'annotations': target}
img, target = self.prepare(img, target)
# print()
# print()
# print(type(img))
# print()
# print()

if self._transforms is not None:
img, target = self._transforms(img, target)

# print()
# print()
# print('type', type(img))
# print()
# print()
# qq

# convert to needed format
if self.aux_target_hacks is not None:
for hack_runner in self.aux_target_hacks:
target, img = hack_runner(target, img=img)

# print()
# print()
# print(type(img))
# print()
# print()
# qqq

return img, target


Expand Down Expand Up @@ -434,6 +453,7 @@ def __call__(self, image, target):
anno = [obj for obj in anno if 'iscrowd' not in obj or obj['iscrowd'] == 0]

boxes = [obj["bbox"] for obj in anno]

# guard against no boxes via resizing
boxes = torch.as_tensor(boxes, dtype=torch.float32).reshape(-1, 4)
boxes[:, 2:] += boxes[:, :2]
Expand Down
2 changes: 1 addition & 1 deletion DINO/datasets/coco_eval.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from pycocotools.coco import COCO
import pycocotools.mask as mask_util

from util.misc import all_gather
from DINO.util.misc import all_gather


class CocoEvaluator(object):
Expand Down
2 changes: 1 addition & 1 deletion DINO/datasets/data_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

import torch

from util.slconfig import SLConfig
from DINO.util.slconfig import SLConfig

class Error(OSError):
pass
Expand Down
2 changes: 1 addition & 1 deletion DINO/datasets/panoptic_eval.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import json
import os

import util.misc as utils
import DINO.util.misc as utils

try:
from panopticapi.evaluation import pq_compute
Expand Down
4 changes: 2 additions & 2 deletions DINO/datasets/transforms.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
import torchvision.transforms as T
import torchvision.transforms.functional as F

from util.box_ops import box_xyxy_to_cxcywh
from util.misc import interpolate
from DINO.util.box_ops import box_xyxy_to_cxcywh
from DINO.util.misc import interpolate


def crop(image, target, region):
Expand Down
8 changes: 4 additions & 4 deletions DINO/engine.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@
import sys
from typing import Iterable

from util.utils import slprint, to_device
from DINO.util.utils import slprint, to_device

import torch

import util.misc as utils
from datasets.coco_eval import CocoEvaluator
from datasets.panoptic_eval import PanopticEvaluator
import DINO.util.misc as utils
from DINO.datasets.coco_eval import CocoEvaluator
from DINO.datasets.panoptic_eval import PanopticEvaluator


def train_one_epoch(model: torch.nn.Module, criterion: torch.nn.Module,
Expand Down
20 changes: 10 additions & 10 deletions DINO/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,25 @@
from pathlib import Path
import os, sys
from typing import Optional
from util.get_param_dicts import get_param_dict
from DINO.util.get_param_dicts import get_param_dict




from util.logger import setup_logger
from DINO.util.logger import setup_logger

import numpy as np
import torch
from torch.utils.data import DataLoader, DistributedSampler
import torch.distributed as dist

import datasets
import util.misc as utils
from datasets import build_dataset, get_coco_api_from_dataset
from engine import evaluate, train_one_epoch, test
import models
from util.slconfig import DictAction, SLConfig
from util.utils import ModelEma, BestMetricHolder
import DINO.datasets
import DINO.util.misc as utils
from DINO.datasets import build_dataset, get_coco_api_from_dataset
from DINO.engine import evaluate, train_one_epoch, test
import DINO.models
from DINO.util.slconfig import DictAction, SLConfig
from DINO.util.utils import ModelEma, BestMetricHolder


def get_args_parser():
Expand Down Expand Up @@ -86,7 +86,7 @@ def get_args_parser():

def build_model_main(args):
# we use register to maintain models from catdet6 on.
from models.registry import MODULE_BUILD_FUNCS
from DINO.models.registry import MODULE_BUILD_FUNCS
assert args.modelname in MODULE_BUILD_FUNCS._module_dict
build_func = MODULE_BUILD_FUNCS.get(args.modelname)
model, criterion, postprocessors = build_func(args)
Expand Down
2 changes: 1 addition & 1 deletion DINO/models/dino/backbone.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
from typing import Dict, List


from util.misc import NestedTensor, clean_state_dict, is_main_process
from DINO.util.misc import NestedTensor, clean_state_dict, is_main_process

from .position_encoding import build_position_encoding
from .convnext import build_convnext
Expand Down
2 changes: 1 addition & 1 deletion DINO/models/dino/convnext.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import torch.nn.functional as F
from timm.models.layers import trunc_normal_, DropPath

from util.misc import NestedTensor
from DINO.util.misc import NestedTensor
# from timm.models.registry import register_model

class Block(nn.Module):
Expand Down
2 changes: 1 addition & 1 deletion DINO/models/dino/deformable_transformer.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import copy
from typing import Optional

from util.misc import inverse_sigmoid
from DINO.util.misc import inverse_sigmoid

import torch
from torch import nn, Tensor
Expand Down
4 changes: 2 additions & 2 deletions DINO/models/dino/dino.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
from torch import nn
from torchvision.ops.boxes import nms

from util import box_ops
from util.misc import (NestedTensor, nested_tensor_from_tensor_list,
from DINO.util import box_ops
from DINO.util.misc import (NestedTensor, nested_tensor_from_tensor_list,
accuracy, get_world_size, interpolate,
is_dist_avail_and_initialized, inverse_sigmoid)

Expand Down
4 changes: 2 additions & 2 deletions DINO/models/dino/dn_components.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@


import torch
from util.misc import (NestedTensor, nested_tensor_from_tensor_list,
from DINO.util.misc import (NestedTensor, nested_tensor_from_tensor_list,
accuracy, get_world_size, interpolate,
is_dist_avail_and_initialized, inverse_sigmoid)
# from .DABDETR import sigmoid_focal_loss
from util import box_ops
from DINO.util import box_ops
import torch.nn.functional as F


Expand Down
2 changes: 1 addition & 1 deletion DINO/models/dino/matcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from scipy.optimize import linear_sum_assignment
from torch import nn

from util.box_ops import box_cxcywh_to_xyxy, generalized_box_iou
from DINO.util.box_ops import box_cxcywh_to_xyxy, generalized_box_iou


class HungarianMatcher(nn.Module):
Expand Down
2 changes: 1 addition & 1 deletion DINO/models/dino/position_encoding.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import torch
from torch import nn

from util.misc import NestedTensor
from DINO.util.misc import NestedTensor


class PositionEmbeddingSine(nn.Module):
Expand Down
4 changes: 2 additions & 2 deletions DINO/models/dino/segmentation.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
from torch import Tensor
from PIL import Image

import util.box_ops as box_ops
from util.misc import NestedTensor, interpolate, nested_tensor_from_tensor_list
import DINO.util.box_ops as box_ops
from DINO.util.misc import NestedTensor, interpolate, nested_tensor_from_tensor_list

try:
from panopticapi.utils import id2rgb, rgb2id
Expand Down
2 changes: 1 addition & 1 deletion DINO/models/dino/swin_transformer.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import torch.utils.checkpoint as checkpoint
import numpy as np
from timm.models.layers import DropPath, to_2tuple, trunc_normal_
from util.misc import NestedTensor
from DINO.util.misc import NestedTensor


class Mlp(nn.Module):
Expand Down
2 changes: 1 addition & 1 deletion DINO/util/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ def inverse_sigmoid(x, eps=1e-5):
return torch.log(x1/x2)

import argparse
from util.slconfig import SLConfig
from DINO.util.slconfig import SLConfig
def get_raw_dict(args):
"""
return the dicf contained in args.
Expand Down
Loading

0 comments on commit 7f61103

Please sign in to comment.