Note
This is a complete rewrite of the original Oracle codebase using PyTorch, and is meant to supersede it. If you are looking for the original repository, you can find it here.
We present ORACLE, the first hierarchical deep-learning model for real-time, context-aware classification of transient and variable astrophysical phenomena. ORACLE is a recurrent neural network with Gated Recurrent Units (GRUs), and has been trained using a custom hierarchical cross-entropy loss function to provide high-confidence classifications along an observationally-driven taxonomy with as little as a single photometric observation. Contextual information for each object, including host galaxy photometric redshift, offset, ellipticity and brightness, is concatenated to the light curve embedding and used to make a final prediction.
For more information, please read the our paper - https://ui.adsabs.harvard.edu/abs/2025arXiv250101496S/abstract
If you use any of this code in your own work, please cite the associated paper and software using the references in the CITATION.cff file.
Please refer to the documentation here for installation instructions.
There is no universally correct classification taxonomy - however we want to build something that is able to best serve real world science cases. For obvious reasons, the leaf nodes need to be the true class of the object however what we decide for nodes higher up in the taxonomy is ultimately determined by the science case.
For this work, we are implementing a hierarchy that will be of interest to the TVS (Transient and Variable star) community since it overlaps well with the classes of the elasticc data set. The exact taxonomy used is shown below:
A trap we wanted to avoid was mixing different "metaphors" for classification. For instance, we decided against using Galactic vs Extra galactic classification since we would be mixing a spatial distinction with temporal ones (like Periodic vs Non periodic). This makes the problem trickier since some objects, like Cepheids, can be both galactic and extragalactic which would result in an artificial inflation in the number of leaf nodes without adding much value to the science case.
Note: There is some inconsistency around the Mira/LPV object in the elasticc documentation however we have confirmed that this object was removed for the elasticc2 data set that we use in this work.
Once again, we have much more detailed discussion in the paper.
We appreciate any support in the form of bug reports in order to provide the best possible experience. Bugs can be reported in the Issues tab.
If you like what we're doing and want to contribute to the project, please start by reaching out to the developer. We are happy to accept suggestions in the Issues tab.
Overall model performance:
First at the root,
At the next level in the hierarchy
And finally, at the leaf...
- ORACLE - https://arxiv.org/abs/2501.01496
- HXE Loss Function - https://arxiv.org/abs/1912.09393
- WHXE Loss Function - https://arxiv.org/abs/2312.02266
- VT Model - https://arxiv.org/abs/2502.20479









