- faster & mask R-CNN 튜닝
- Struct
Faster_Mask_RCNN
| detection
└─| coco_eval.py
| coco_utils.py
│ engine.py
│ group_by_aspect_ratio.py
│ presets.py
│ train.py
│ transforms.py
│ utils.py
| PenFudanPed
| active.py
| datasets.py
| networks.py
| run.py
- detection : pytorch에서 기본으로 재공해주는 라이브러리 예시
- PenFudanPed : 학습 및 테스트를 위한 영상 데이터 폴더 : PenFudanPed - PASCAL Annotation Version 1.00
- active.py : Trian/Predict/View
- datasets.py : 데이터 전처리
- networks.py : 모델 생성
- run.py : 실행
- Setting
-
가상환경(venv) 파일 수정
- venv\lib\site-packages\torchvision\models\detection\faster_rcnn.py
- venv\lib\site-packages\torchvision\models\detection\mask_rcnn.py
-
import 수정
...
# 17 line
__all__ = [
"FasterRCNN", "fasterrcnn_resnet_fpn", "fasterrcnn_resnet50_fpn", "fasterrcnn_mobilenet_v3_large_320_fpn",
"fasterrcnn_mobilenet_v3_large_fpn"
]
...
# write
def fasterrcnn_resnet_fpn(net='resnet50', pretrained=False, progress=True,
num_classes=91, pretrained_backbone=True, trainable_backbone_layers=None, **kwargs):
trainable_backbone_layers = _validate_trainable_layers(
pretrained or pretrained_backbone, trainable_backbone_layers, 5, 3)
backbone = resnet_fpn_backbone(
net, pretrained_backbone, trainable_layers=trainable_backbone_layers)
model = FasterRCNN(backbone, num_classes, **kwargs)
return model
...
# 13 line
__all__ = [
"MaskRCNN", "maskrcnn_resnet_fpn", "maskrcnn_resnet50_fpn",
]
...
def maskrcnn_resnet_fpn(net='resnet50', pretrained=False, progress=True,
num_classes=91, pretrained_backbone=True, trainable_backbone_layers=None, **kwargs):
trainable_backbone_layers = _validate_trainable_layers(
pretrained or pretrained_backbone, trainable_backbone_layers, 5, 3)
backbone = resnet_fpn_backbone(
net, pretrained_backbone, trainable_layers=trainable_backbone_layers)
model = MaskRCNN(backbone, num_classes, **kwargs)
return model
import utils => from . import utils
import transforms as T => from . import transforms as T
import presets = > from . import presets
from coco_utils => from .coco_utils
from coco_eval => from .coco_eval
from group_by_aspect_ratio => from .group_by_aspect_ratio
from engine => from .engine
-
Run : python run.py
-
Result