facebookresearch / detectron2

Detectron2 is a platform for object detection, segmentation and other visual recognition tasks.
https://detectron2.readthedocs.io/en/latest/
Apache License 2.0
30.03k stars 7.42k forks source link

Correct way to access new baselines #3174

Closed simonsapiel closed 3 years ago

simonsapiel commented 3 years ago

It seems that the new baselines don't contain any yml files? There isn't documented how one can use these when training. Certainly cfg.merge_from_file(model_zoo.get_config_file("new_baselines/mask_rcnn_regnetx_4gf_dds_FPN_100ep_LSJ.py"))

doesn't seem to work. How should this be used?

github-actions[bot] commented 3 years ago

You've chosen to report an unexpected problem or bug. Unless you already know the root cause of it, please include details about it by filling the issue template. The following information is missing: "Instructions To Reproduce the Issue and Full Logs"; "Your Environment";

JohannesTheo commented 3 years ago

With the .py configs you can simply do:

model = model_zoo.get("new_baselines/mask_rcnn_R_50_FPN_100ep_LSJ.py")

see model_zoo.py#L167 and model_zoo.py#L134

when using the argument trained=true this should already load the weights. However, the urls have not been updated yet so this will result in an error for the time being. You can load them manually though using the urls from the model zoo:

from detectron2.checkpoint import DetectionCheckpointer
DetectionCheckpointer(model).load(url)

Hope this helps :)

github-actions[bot] commented 3 years ago

Requested information was not provided in 7 days, so we're closing this issue.

Please open new issue if information becomes available. Otherwise, use github discussions for free-form discussions.

skuda commented 3 years ago

Hi, I know the issue is closed but I was trying to fine-tune on a custom dataset using the new baselines and I can't find an example to do it.

I loaded the model, its cfg and the weights using the sample @JohannesTheo posted above but I don't know how to change the dataset, the max_iter, or the other parameters because the config is of type omegaconf.DictConfig not CfgNode.

There is some related sample to train on a custom dataset starting from a .py configuration? Thanks!