Skip to content

A pytorch implementation of Detectron. Both training from scratch and inferring directly from pretrained Detectron weights are available. Updated for use with Particle Physics Data from MicroBooNE in the form of ROOT files using a larcvdataset.

License

Notifications You must be signed in to change notification settings

NuTufts/Detectron.pytorch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A forked version of the pytorch implementation of Detectron from https://github.com/roytseng-tw/Detectron.pytorch Contact [email protected] or [email protected] for questions.

Be sure to use the larcv1_mcc9 branch!

The original implementation is modified to use a custom particle physics dataset, and run on MicroBooNE LArTPC images. For details see https://microboone.fnal.gov/wp-content/uploads/MICROBOONE-NOTE-1081-PUB.pdf

Further modifications to the original network include the sparsification of the ResNet module, this is performed in https://github.com/NuTufts/Detectron.pytorch/blob/larcv1_mcc9/lib/modeling/SparseResNet.py based off of sparse convolutions from Facebook's SparseConvNet https://github.com/facebookresearch/SparseConvNet which is included in this repo. These sparse convolutions serve to speed up the ResNet runtime for low pixel-occupancy LArTPC images.

To train the network edit a config file based off of: https://github.com/NuTufts/Detectron.pytorch/blob/larcv1_mcc9/configs/baselines/mills_config_2_full_image.yaml

Then run

python tools/train_particle.py --dataset particle --cfg configs/baselines/mills_config_2_full_image.yaml --use_tfboard

To resume training from checkpoint:

python tools/train_particle.py --dataset particle --cfg configs/baselines/mills_config_2_full_image.yaml --use_tfboard --resume --load_ckpt path/to/ckpt/file.pth

To inference on events use infer_particle.py

python tools/infer_particle --dataset particle --cfg configs/baselines/mills_config_2_full_image.yaml --load_ckpt path/to/ckpt/file.pth --image_dir path/to/imagefile/ --output_dir path/to/outpngs/ --num_images 10

The tools directory generally contains the training and analysis scripts used to examine the network performance. To modify the network to run on a custom dataset modify lib/datasets/larcvdataset.py

About

A pytorch implementation of Detectron. Both training from scratch and inferring directly from pretrained Detectron weights are available. Updated for use with Particle Physics Data from MicroBooNE in the form of ROOT files using a larcvdataset.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 83.8%
  • Cuda 7.6%
  • C 6.9%
  • Cython 1.2%
  • Other 0.5%