Open AlexFridman opened 4 years ago
Hi,
The issue is that the panoptic segmentation model has been implemented only taking ResNet50 (and 101) in mind. If you want to use ResNet18, you'll need to change https://github.com/facebookresearch/detr/blob/b7b62c080d34f76c0069a63afcfb9093213d235c/models/segmentation.py#L33 to use instead
[256, 128, 64]
But it seems that you are setting the script to evaluation mode, but we do not have pre-trained weights for this configuration so this will give 0 mAP.
Additionally, the panoptic segmentation implementation that we have here is very naive and uses a lot of memory, so even with a ResNet18 and fewer encoder/decoder layers you'll need a GPU with more than 16GB of memory to be able to perform training with a batch size of 1.
Optimizing the memory requirements for training / inference for the panoptic segmentation models is left for future work.
cc @alcinos if I forgot something.
I think we could make the DETRsegm
support ResNet18 by default as well, by checking the num_channels
of the backbone that is passed and using it instead of hard-coding it.
PRs are welcome.
Plus, as an additional comment, if your objects are small and on simple backgrounds, it might be preferable to use different segmentation methods for now, as DETR is currently lagging behind on small objects compared to Faster R-CNN.
Plus, as an additional comment, if your objects are small and on simple backgrounds, it might be preferable to use different segmentation methods for now, as DETR is currently lagging behind on small objects compared to Faster R-CNN.
Hi, do you think DETR is a good model to be used on cell detection then? I am thinking about if mode complexity reduction might help on simpler tasks like microanalysis.
Hi, do you think DETR is a good model to be used on cell detection then? I am thinking about if mode complexity reduction might help on simpler tasks like microanalysis.
I don't know what the cell detection datasets look like, so I'm not sure I can give a good answer to the question. For now, DETR struggles precisely localizing very small (< 32 pixels) objects.
❓ How to train DETR with resnet18 backbone?
Describe what you want to do, including:
python -m torch.distributed.launch --nproc_per_node=1 --use_env main.py --num_queries 2000 --pre_norm --masks --output_dir output --eval --num_workers 4 --enc_layers 2 --dec_layers 2 --dim_feedforward 512 --backbone resnet18 --hidden_dim 128
Could you, please, help me run with resnet18? Any advice regarding optimal parameters to start for my task are appreciated!
Traceback: