You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This project provides the implementation for DetNAS: Backbone Search for Object Detection.
As we originally conducted the experiments in the paper using the internal framework Brain++, this project is a reimplemented version on PyTorch.
In addition, this project is based on maskrcnn-benchmark.
Installation
Modify the path to your coco dataset in config.sh.
The training scripts of these model are in the dirctory scripts/. For training,
Download the ImageNet model to the directory ImageNet-Pretrain-models/.
bash scripts/run_detnas_coco_fpn_300M.sh
Search for networks
Step 1: setup Dataset
We have splitted 5000 images from coco_2014_train+coco_2014_valminusminival as the validation set for search. The remainings are used for supernet training.
Download the splitted train and val json files (GoogleDrive) to datasets/coco/annotations.
(You can replace them with your own datasets.)
Step 2: Supernet training
ImageNet pre-training
Download the ImageNet supernet model (GoogleDrive) to the directory ImageNet-Pretrain-models/.
If necessary, you can also train models ImageNet by yourselves. Please refer to the folder Supernet-ImageNet/.
COCO training
bash scripts/run_detnas_coco_fpn_300M_search.sh
('-search' in cfg.MODEL.BACKBONE.CONV_BODY is to distinguish supernet training from single model.)
Step 3: setup a server for the distributed search
tmux new -s mq_server
sudo apt update
sudo apt install rabbitmq-server
sudo service rabbitmq-server start
sudo rabbitmqctl add_user test test
sudo rabbitmqctl set_permissions -p / test '.*' '.*' '.*'
Step 4: start a new tmux for search
tmux new -s search
modify host and log_dir in the config file distributed_arch_search/arch_search_config.py.
bash distributed_arch_search/run_search.sh
(run_search.sh requires no GPUs.)
Step 5: start new tmuxs for model evaluation (concurrent with Step 4)
tmux new -s server_x
modify config-file and MODEL.WEIGHT in the script file distributed_arch_search/run_server.sh.
bash distributed_arch_search/run_server.sh
(You can start more than one run_server.sh to speed up, if you have enough GPUs and memory researces.)
Citation
Please cite DetNAS in your publications if it helps your research.