fetch is Fast Extragalactic Transient Candidate Hunter. It has been detailed in the paper Towards deeper neural networks for Fast Radio Burst detection.
This is the tensorflow>=2
version of the fetch, if you are looking for the older tensorflow version click here.
git clone https://github.com/devanshkv/fetch.git
cd fetch
pip install -r requirements.txt
python setup.py install
The installation will put predict.py
and train.py
in your PYTHONPATH
.
To use fetch, you would first have to create candidates. Use your
for this purpose, this notebook explains the whole process. Your also comes with a command line script your_candmaker.py
which allows you to use CPU or single/multiple GPUs.
To predict a candidate h5 files living in the directory /data/candidates/
use predict.py
for model a
as follows:
predict.py --data_dir /data/candidates/ --model a
To fine-tune the model a
, with a bunch of candidates, put them in a pandas readable csv, candidate.csv
with headers 'h5' and 'label'. Use
train.py --data_csv candidates.csv --model a --output_path ./
This would train the model a
and save the training log, and model weights in the output path.
Test filterbank data can be downloaded from here. The folder contains three filterbanks: 28.fil 29.fil 34.fil. Heimdall results for each of the files are as follows:
for 28.fil
16.8128 1602 2.02888 1 127 475.284 22 1601 1604
for 29.fil
18.6647 1602 2.02888 1 127 475.284 16 1601 1604
for 34.fil
13.9271 1602 2.02888 1 127 475.284 12 1602 1604
The cand.csv
would look like the following:
file,snr,stime,width,dm,label,chan_mask_path,num_files
28.fil,16.8128,2.02888,1,475.284,1,,1
29.fil,18.6647,2.02888,1,475.284,1,,1
34.fil,13.9271,2.02888,1,475.284,1,,1
Running your_candmaker.py
will create three files:
cand_tstart_58682.620316710374_tcand_2.0288800_dm_475.28400_snr_13.92710.h5
cand_tstart_58682.620316710374_tcand_2.0288800_dm_475.28400_snr_16.81280.h5
cand_tstart_58682.620316710374_tcand_2.0288800_dm_475.28400_snr_18.66470.h5
Running predict.py
with model a
will give results_a.csv
:
,candidate,probability,label
0,cand_tstart_58682.620316710374_tcand_2.0288800_dm_475.28400_snr_18.66470.h5,1.0,1.0
1,cand_tstart_58682.620316710374_tcand_2.0288800_dm_475.28400_snr_16.81280.h5,1.0,1.0
2,cand_tstart_58682.620316710374_tcand_2.0288800_dm_475.28400_snr_13.92710.h5,1.0,1.0
The training data is available at astro.phys.wvu.edu/fetch.
If you use this work please cite:
@article{Agarwal2020,
doi = {10.1093/mnras/staa1856},
url = {https://doi.org/10.1093/mnras/staa1856},
year = {2020},
month = jun,
publisher = {Oxford University Press ({OUP})},
author = {Devansh Agarwal and Kshitij Aggarwal and Sarah Burke-Spolaor and Duncan R Lorimer and Nathaniel Garver-Daniels},
title = {{FETCH}: A deep-learning based classifier for fast transient classification},
journal = {Monthly Notices of the Royal Astronomical Society}
}
@software{agarwal_aggarwal_2020,
author = {Devansh Agarwal and
Kshitij Aggarwal},
title = {{devanshkv/fetch: Software release with the
manuscript}},
month = jun,
year = 2020,
publisher = {Zenodo},
version = {0.1.8},
doi = {10.5281/zenodo.3905437},
url = {https://doi.org/10.5281/zenodo.3905437}
}