/CIANNA

Convolutional Interactive Artificial Neural Networks by/for Astrophysicists

Primary LanguageCApache License 2.0Apache-2.0

cianna_logo

*Logo made by © Sarah E. Anderson*

 

The first CIANNA release (V-1.0) is here! Check the release page!

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 - LERMA / Observatoire de Paris, PSL
Gregory Sainton - dev, AI Research engineer, FR - LERMA / Observatoire de Paris

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

See Copyright © and License terms at the end.

 

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

*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.

 

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

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.