8000 GitHub - Deyht/CIANNA: Convolutional Interactive Artificial Neural Networks by/for Astrophysicists
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Deyht/CIANNA

Repository files navigation

cianna_logo

*Logo made by © Sarah E. Anderson*

 

ascl:2501.005

CIANNA - Convolutional Interactive Artificial Neural Networks by/for Astrophysicists

CIANNA is a general-purpose deep learning framework primarily developed and used for astronomical data analysis. Functionalities and optimizations are added based on relevance for astrophysical problem-solving. CIANNA can be used to build and train large neural network models for various tasks and is provided with a high-level Python interface (similar to keras, pytorch, etc.). One of the specificities of CIANNA is its custom implementation of a YOLO-inspired object detector used in the context of galaxy detection in 2D or 3D radio-astronomical data products. The framework is fully GPU-accelerated through low-level CUDA programming.

Development team
David Cornu - creator and lead dev, post-doc researcher, AI Fellow PR[AI]RIE, FR - LUX / Observatoire de Paris, PSL
Gregory Sainton - dev, AI Research engineer, FR - LUX / Observatoire de Paris
Aristide Doussot - dev, HPC Research engineer, FR - LUX / Observatoire de Paris

Preferred contact point: david.cornu@observatoiredeparis.psl.eu

See Copyright © and License terms at the end.

 

Quick access:

 

CIANNA status upgrade (06/2025)
The first release (V-1.0), published in July 2024 (see the release page), marked a major milestone in CIANNA development. Since then, there have been mostly minor updates to this repo, but new developments are still ongoing on a private experimental version. We have chosen to maintain this repository as a stable reference version for the moment, as several publications based on V-1.0 are currently in preparation. We also wanted to give the community time to learn about CIANNA and explore the capabilities of this version. Coming back to the experimental version, in the past year, we noticeably added basic support for skip/residual connection layers, slightly reworked the normalization layers, and explored more advanced gradient optimizers (Adam and RMSprop). These changes enabled us to train much deeper architectures and to build Denoising Diffusion Probabilistic Models (see an example of galaxy image generation below), which we plan to utilize in future work. Our focus is now on enabling the construction of less linear architectures, allowing for multi-modality and the development of more complex structural pathways. These latest changes necessitate a rework of certain aspects of the framework and require extensive testing due to the increasing number of possible structures, which means that the next major update will take some time to arrive. Still, early access to these functionalities for research projects can be discussed on a case-by-case basis (see contact above).

 

CIANNA application examples

Python scripts and Google-Colab-compatible notebooks are available under the examples directory for most of the following examples.

       Description - Dataset        Visualization Animation or real time
***
Classical computer vision examples
 
***
Image classification
MNIST

Top-1 accuracy ~99.3%
Net. ~LeNet-5
630000 ips @28p*
Open In Colab
mnist_expl
Image classification
Imagenet - 1000 classes

Top-1 acc ~74.7%
Top-5 acc ~91.7%
Net. ~Darknet19
740 ips @448p*
Open In Colab
imagenet_expl imagenet_vid
Object detection
COCO - 1000 classes

mAP@50 ~40.1%
COCO-mAP ~21.9%
Net. ~Darknet19
690 ips @416p*
Open In Colab
coco_expl coco_vid
Real-time on a laptop GPU
***
Astronomical dataset examples
 
***
Source detection
SKA SDC1
2D continuum

560MHz - 1000h
score 479372 pts
Net. 17 conv. layers
500 ips @512p*
Open In Colab
DOI
apparent_flux_distribution galmap_vid
Not real-time here, only animated
Profile regression
3D Galactic extinction mapping

Net. [C5x5.12-P2-{D3072}x2-D2048-D128]
120000 ips @64p*
DOI
galmap_polar_map_disc
Face-on view of the galactic plane in a 45° "cone" toward the Carina arm (derived from the 3D map)
Per LOS prediction examples
galmap_vid

Integrated extinction skyview
integrated_ext_map
Fake galaxy generation
Based on galaxy zoo 2
Cascaded DDPM

Ensemble of U-Nets
~40M param.
A few ips @192p*
Made with the dev-exp branch of CIANNA, unavailable ATM
cascaded_scheme_illust
Cascading pipeline with 3 DDPM models
Generated examples
gen_real_galaxy_comp

*Images (or Inputs) per second (ips) are given for an RTX 4090 GPU in inference using FP16C_FP32A mixed-precision at the specified resolution and with maximum batch size to saturate performances.

 

Installation

Please take a look at the system requirements and the installation instructions wiki pages.
=> A complete step-by-step installation guide of CIANNA and its dependencies from a fresh Ubuntu 20.04 is accessible here.

 

How to use

Please read the How to use Wiki page for a minimalistic tour of CIANNA capabilities on a simple example script and dataset.
A full description of all the Python interface functions is available as an API documentation page on the Wiki.
Please also consider consulting the Step-by-step installation guide to verify everything was installed correctly.
Several Python scripts and notebooks are provided as examples for different datasets and applications.

 

Publications

List of known publications that make use or directly refer to the CIANNA framework.

Preferred citation method

When referring to a specific functionality or application, feel free to cite the relevant publication. In all cases, if your work makes use of any version of CIANNA, please cite the non-version-specific DOI from Zenodo 10.5281/zenodo.12806324.

 

###########################################################################

License

These files are Copyright © 2024 David Cornu, but released under the Apache2 License.

 

Contributor License Agreement

While you are free to duplicate and modify this repository under the Apache2 License above, by being allowed to submit a contribution to this repository, you agree to the following terms:

  • You grant to the present CIANNA framework (and its Author) your copyright license to reproduce and distribute your contributions and such derivative works.

  • To the fullest extent permitted, you agree not to assert all of your "moral rights" in or relating to your contributions to the benefit of the present CIANNA framework.

  • Your contribution was created in whole or in part by you and you have the right to submit it under the open source license indicated in the LICENSE file; or the contribution is based upon previous work that, to the best of your knowledge, is covered under an appropriate open source license and you have the right to submit that work with modifications.

0