https://github.com/dmitryduev/acai
Alert-Classifying AI for the Zwicky Transient Facility
https://github.com/dmitryduev/acai
Last synced: 5 months ago
JSON representation
Alert-Classifying AI for the Zwicky Transient Facility
- Host: GitHub
- URL: https://github.com/dmitryduev/acai
- Owner: dmitryduev
- License: mit
- Created: 2020-11-11T01:29:02.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-11-27T02:12:38.000Z (over 3 years ago)
- Last Synced: 2024-10-07T12:42:07.981Z (8 months ago)
- Language: Python
- Homepage:
- Size: 4.28 MB
- Stars: 4
- Watchers: 3
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ACAI: Alert-Classifying AI for the Zwicky Transient Facility
[](https://arxiv.org/abs/2111.12142)
(presented at the NeurIPS 2021 [ML4PS workshop](https://ml4physicalsciences.github.io/2021/))
Astronomy has been experiencing an explosive increase in the data volumes,
doubling every two years or so. At the forefront of this revolution,
the [Zwicky Transient Facility (ZTF)](https://ztf.caltech.edu) – a robotic sky survey –
registers millions of transient events
(supernova explosions, asteroid detections, variable stars changing their brightness etc.)
in the dynamic sky every (clear) night.Alert-Classifying AI (ACAI) is an open-source deep-learning framework
for the phenomenological classification of ZTF astronomical event alerts.For more information and context, please see the
[Report on ACAI made with W&B](https://wandb.ai/dimaduev/acai/reports/Classification-of-astrophysical-events-with-ACAI--VmlldzoxMTkwNjYx).## Command-Line Interface (CLI)
Use `acai.py` to execute actions such as fetching training data, training a model,
running hyper-parameter tuning or linting sources.
Requires a config file, `config.yaml` - please use `config.defaults.yaml` as an example.Example usages of the CLI:
- Fetch training data including the individual alert packets converted to the `json` format:
```sh
./acai.py fetch-datasets --fetch_json_alerts=true
```- Train a "hosted" classifier overloading the default parameters set in `config.yaml`:
```sh
./acai.py train \
--tag=acai_h \
--path-labels=data/d1.csv --path-data=data/alerts \
--optimizer=adam --lr=0.001 \
--epochs=300 --patience=50 \
--batch_size=128 --balance=2.5 \
--dense_block_units=64 --conv_block_filters=16 --head_block_units=16 \
--parallel-data-load \
--gpu=1 \
--verbose
```- Running hyper-parameter optimization:
```sh
./acai.py sweep --tag=acai_h --path-labels=data/labels.mini1k.csv --path-data=data/alerts
```