Skip to content
/ CIANNA Public

Convolutional Interactive Artificial Neural Networks by/for Astrophysicists

License

Notifications You must be signed in to change notification settings

Deyht/CIANNA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cianna_logo

Logo made by © Sarah E. Anderson

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
Creator and lead Dev - David Cornu, post-doc researcher, AI Fellow, FR - LERMA / Observatoire de Paris, PSL
Dev - Gregory Sainton, AI Research engineer, FR - LERMA / Observatoire de Paris

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

See Copyright © and License terms at the end.

 

Note: The current version is transitioning to the 1.0 release. The source code and the API documentation are up-to-date, but several modifications will happen in the upcoming days for all other pages/examples/etc.

 

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 © 2023 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.