From c5a2b289a4f000ba943e8473415fad095f7846ec Mon Sep 17 00:00:00 2001 From: chenyuntc Date: Wed, 27 Dec 2017 22:17:21 +0800 Subject: [PATCH] refactor code --- data/dataset.py | 2 +- demo.ipynb | Bin 681194 -> 681116 bytes misc/train_fast.py | 9 ++++----- model/faster_rcnn.py | 4 ++-- model/faster_rcnn_vgg16.py | 12 ++++++------ model/{ROIModule.py => roi_module.py} | 12 ++++++------ model/utils/roi_cupy.py | 1 - train.py | 8 ++++---- trainer.py | 6 +++--- {util => utils}/__init__.py | 0 {util => utils}/array_tool.py | 0 config.py => utils/config.py | 0 {util => utils}/eval_tool.py | 0 {util => utils}/vis_tool.py | 0 14 files changed, 26 insertions(+), 28 deletions(-) rename model/{ROIModule.py => roi_module.py} (94%) rename {util => utils}/__init__.py (100%) rename {util => utils}/array_tool.py (100%) rename config.py => utils/config.py (100%) rename {util => utils}/eval_tool.py (100%) rename {util => utils}/vis_tool.py (100%) diff --git a/data/dataset.py b/data/dataset.py index 3fbd83a..01cecae 100644 --- a/data/dataset.py +++ b/data/dataset.py @@ -4,7 +4,7 @@ from skimage import transform as sktsf from torchvision import transforms as tvtsf from . import util import numpy as np -from config import opt +from utils.config import opt def inverse_normalize(img): diff --git a/demo.ipynb b/demo.ipynb index 0a94d494d71db4682147d7fe316c9f0aab62d3d2..2411cb93953c120e893bbad81a2d16f8a6a623e6 100644 GIT binary patch delta 68 zcmV-K0K5O{$tj%4DUd(}Zgp&IkwK#db#!TLb1s48h2#N+cw diff --git a/misc/train_fast.py b/misc/train_fast.py index 9304448..0201550 100644 --- a/misc/train_fast.py +++ b/misc/train_fast.py @@ -4,16 +4,15 @@ import ipdb import matplotlib from tqdm import tqdm -import torch as t -from config import opt +from utils.config import opt from data.dataset import Dataset, TestDataset from model import FasterRCNNVGG16 from torch.autograd import Variable from torch.utils import data as data_ from trainer import FasterRCNNTrainer -from util import array_tool as at -from util.vis_tool import visdom_bbox -from util.eval_tool import eval_detection_voc +from utils import array_tool as at +from utils.vis_tool import visdom_bbox +from utils.eval_tool import eval_detection_voc matplotlib.use('agg') diff --git a/model/faster_rcnn.py b/model/faster_rcnn.py index fda19e8..b9c225a 100644 --- a/model/faster_rcnn.py +++ b/model/faster_rcnn.py @@ -2,14 +2,14 @@ from __future__ import division import torch as t import numpy as np import cupy as cp -from util import array_tool as at +from utils import array_tool as at from model.utils.bbox_tools import loc2bbox from model.utils.nms import non_maximum_suppression from torch import nn from data.dataset import preprocess from torch.nn import functional as F -from config import opt +from utils.config import opt class FasterRCNN(nn.Module): diff --git a/model/faster_rcnn_vgg16.py b/model/faster_rcnn_vgg16.py index 109a81b..3790292 100644 --- a/model/faster_rcnn_vgg16.py +++ b/model/faster_rcnn_vgg16.py @@ -1,11 +1,11 @@ import torch as t from torch import nn from torchvision.models import vgg16 -from .region_proposal_network import RegionProposalNetwork -from .faster_rcnn import FasterRCNN -from .ROIModule import ROIPooling2D -from util import array_tool as at -from config import opt +from model.region_proposal_network import RegionProposalNetwork +from model.faster_rcnn import FasterRCNN +from model.roi_module import RoIPooling2D +from utils import array_tool as at +from utils.config import opt def decom_vgg16(): @@ -154,7 +154,7 @@ class VGG16RoIHead(nn.Module): self.n_class = n_class self.roi_size = roi_size self.spatial_scale = spatial_scale - self.roi = ROIPooling2D(self.roi_size, self.roi_size, self.spatial_scale) + self.roi = RoIPooling2D(self.roi_size, self.roi_size, self.spatial_scale) def forward(self, x, rois, roi_indices): """Forward the chain. diff --git a/model/ROIModule.py b/model/roi_module.py similarity index 94% rename from model/ROIModule.py rename to model/roi_module.py index 4f978a3..6b45f89 100644 --- a/model/ROIModule.py +++ b/model/roi_module.py @@ -26,7 +26,7 @@ def GET_BLOCKS(N, K=CUDA_NUM_THREADS): return (N + K - 1) // K -class ROI(Function): +class RoI(Function): """ NOTE:only CUDA-compatible """ @@ -79,14 +79,14 @@ class ROI(Function): return grad_input, None -class ROIPooling2D(t.nn.Module): +class RoIPooling2D(t.nn.Module): def __init__(self, outh, outw, spatial_scale): - super(ROIPooling2D, self).__init__() - self.ROI = ROI(outh, outw, spatial_scale) + super(RoIPooling2D, self).__init__() + self.RoI = RoI(outh, outw, spatial_scale) def forward(self, x, rois): - return self.ROI(x, rois) + return self.RoI(x, rois) def test_roi_module(): @@ -103,7 +103,7 @@ def test_roi_module(): outh, outw = PH, PW # pytorch version - module = ROIPooling2D(outh, outw, spatial_scale) + module = RoIPooling2D(outh, outw, spatial_scale) x = t.autograd.Variable(bottom_data, requires_grad=True) rois = t.autograd.Variable(bottom_rois) output = module(x, rois) diff --git a/model/utils/roi_cupy.py b/model/utils/roi_cupy.py index 36f03fb..1e2847d 100644 --- a/model/utils/roi_cupy.py +++ b/model/utils/roi_cupy.py @@ -137,7 +137,6 @@ kernel_backward = ''' int index_ = ph * pooled_width + pw + offset; if (argmax_data[index_] == (h * width + w)) { gradient += top_diff[index_]; - //printf("%d-%f ",index_, top_diff[index_]); } } } diff --git a/train.py b/train.py index db605e9..7c59556 100644 --- a/train.py +++ b/train.py @@ -4,15 +4,15 @@ import ipdb import matplotlib from tqdm import tqdm -from config import opt +from utils.config import opt from data.dataset import Dataset, TestDataset, inverse_normalize from model import FasterRCNNVGG16 from torch.autograd import Variable from torch.utils import data as data_ from trainer import FasterRCNNTrainer -from util import array_tool as at -from util.vis_tool import visdom_bbox -from util.eval_tool import eval_detection_voc +from utils import array_tool as at +from utils.vis_tool import visdom_bbox +from utils.eval_tool import eval_detection_voc # fix for ulimit # https://github.com/pytorch/pytorch/issues/973#issuecomment-346405667 diff --git a/trainer.py b/trainer.py index ddc6528..29c142b 100644 --- a/trainer.py +++ b/trainer.py @@ -6,10 +6,10 @@ from model.utils.creator_tool import AnchorTargetCreator, ProposalTargetCreator from torch import nn import torch as t from torch.autograd import Variable -from util import array_tool as at -from util.vis_tool import Visualizer +from utils import array_tool as at +from utils.vis_tool import Visualizer -from config import opt +from utils.config import opt from torchnet.meter import ConfusionMeter, AverageValueMeter LossTuple = namedtuple('LossTuple', diff --git a/util/__init__.py b/utils/__init__.py similarity index 100% rename from util/__init__.py rename to utils/__init__.py diff --git a/util/array_tool.py b/utils/array_tool.py similarity index 100% rename from util/array_tool.py rename to utils/array_tool.py diff --git a/config.py b/utils/config.py similarity index 100% rename from config.py rename to utils/config.py diff --git a/util/eval_tool.py b/utils/eval_tool.py similarity index 100% rename from util/eval_tool.py rename to utils/eval_tool.py diff --git a/util/vis_tool.py b/utils/vis_tool.py similarity index 100% rename from util/vis_tool.py rename to utils/vis_tool.py -- GitLab