Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to Fine-tune with pretrained weights from Model Zoo on custom datasets? #311

Open
guoqsGary opened this issue Oct 5, 2023 · 4 comments

Comments

@guoqsGary
Copy link

guoqsGary commented Oct 5, 2023

How to Fine-tune with pretrained weights from Model Zoo on custom datasets?
change the init_checkpoint where: train.init_checkpoint = "detectron2://ImageNetPretrained/torchvision/R-50.pkl" ?

@guoqsGary guoqsGary changed the title Howpretrained weights from Model Zoo How to Fine-tune with pretrained weights from Model Zoo on custom datasets? Oct 5, 2023
@rentainhe
Copy link
Collaborator

How to Fine-tune with pretrained weights from Model Zoo on custom datasets? change the init_checkpoint where: train.init_checkpoint = "detectron2://ImageNetPretrained/torchvision/R-50.pkl" ?

Yes, you can simply update config by setting train.init_checkpoint to the pretrained weights then train on your own dataset

@guoqsGary
Copy link
Author

guoqsGary commented Oct 7, 2023

Thanks! I want to ask an other question.
How to visualize predictions on my own datasets?
I have regist my dataset in "coco_detr.py" but still got the error "KeyError: "Dataset 'my_dataset_test' is not registered!"

@rentainhe
Copy link
Collaborator

Thanks! I want to ask an other question. How to visualize predictions on my own datasets? I have regist my dataset in "coco_detr.py" but still got the error "KeyError: "Dataset 'my_dataset_test' is not registered!"

Would you like to share the whole content of you config, which may be helpful for us to check the issue

@guoqsGary
Copy link
Author

from omegaconf import OmegaConf

import detectron2.data.transforms as T
from detectron2.config import LazyCall as L
from detectron2.data import (
build_detection_test_loader,
build_detection_train_loader,
get_detection_dataset_dicts,
)
from detectron2.data.datasets import register_coco_instances
from detectron2.evaluation import COCOEvaluator

from detrex.data import DetrDatasetMapper

dataloader = OmegaConf.create()

register_coco_instances("my_dataset_train", {}, '/home/workspace/datasets/annotations/instances_train2017.json', '/home/workspace/datasets/train2017')
register_coco_instances("my_dataset_test", {}, '/home/workspace/datasets/annotations/instances_val2017.json', '/home/workspace/datasets/val2017')

dataloader.train = L(build_detection_train_loader)(
dataset=L(get_detection_dataset_dicts)(names="my_dataset_train"),
mapper=L(DetrDatasetMapper)(
augmentation=[
L(T.RandomFlip)(),
L(T.ResizeShortestEdge)(
short_edge_length=(480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800),
max_size=1333,
sample_style="choice",
),
],
augmentation_with_crop=[
L(T.RandomFlip)(),
L(T.ResizeShortestEdge)(
short_edge_length=(400, 500, 600),
sample_style="choice",
),
L(T.RandomCrop)(
crop_type="absolute_range",
crop_size=(384, 600),
),
L(T.ResizeShortestEdge)(
short_edge_length=(480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800),
max_size=1333,
sample_style="choice",
),
],
is_train=True,
mask_on=False,
img_format="RGB",
),
total_batch_size=4,
num_workers=4,
)

dataloader.test = L(build_detection_test_loader)(
dataset=L(get_detection_dataset_dicts)(names="my_dataset_test", filter_empty=False),
mapper=L(DetrDatasetMapper)(
augmentation=[
L(T.ResizeShortestEdge)(
short_edge_length=800,
max_size=1333,
),
],
augmentation_with_crop=None,
is_train=False,
mask_on=False,
img_format="RGB",
),
num_workers=4,
)

dataloader.evaluator = L(COCOEvaluator)(
dataset_name="${..test.dataset.names}",
)

Thanks! I want to ask an other question. How to visualize predictions on my own datasets? I have regist my dataset in "coco_detr.py" but still got the error "KeyError: "Dataset 'my_dataset_test' is not registered!"

Would you like to share the whole content of you config, which may be helpful for us to check the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants