• Stars
    star
    145
  • Rank 254,144 (Top 6 %)
  • Language
    C
  • License
    Other
  • Created almost 8 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

N2D2 is an open source CAD framework for Deep Neural Network simulation and full DNN-based applications building.
N2D2

License

N2D2 (for Neural Network Design & Deployment) is CEA LIST's CAD framework for designing and simulating Deep Neural Network (DNN), and building full DNN-based applications on embedded platforms. N2D2 is developped along with industrial and academic partners and is open source.

Docs Linux CPU
โ‰ฅ GCC 4.4.7
Linux GPU
CUDA 11.3 + CuDNN 8
Windows CPU
โ‰ฅ Visual Studio 2015.2
Windows GPU
โ‰ฅ CUDA 8.0 + CuDNN 5.1
Documentation Status linux-cpu linux-gpu

Usage

You can discover how to use the framework by visiting our online documentation.

The N2D2 executables and application examples are located in the exec/ directory.

You can find examples of the N2D2 Python API here.

Installation

Get the N2D2 Source

git clone --recursive [email protected]:CEA-LIST/N2D2.git

Specify the recursive option is required as it will download the PyBind submodule.

Install Dependencies

The only mandatory dependencies for N2D2 are OpenCV and Gnuplot.

Moreover, the NVIDIA CUDA and CuDNN libraries are required to enable GPU-acceleration. We highly recommend to use a CUDA version higher than 10 with a CuDNN version higher than 7.

If you want to disable CUDA support, export the environment variable N2D2_NO_CUDA=1.

Build on Linux

To compile N2D2 on Linux, please go to the root of the project and run the following:

mkdir build
cd build
cmake .. && make

You should have the n2d2 executable in build/bin after the compilation.

To install the Python API in your python environment, follow the tutorial on our doc.

Docker Image

You can also pull a pre-built docker image from Docker Hub and run it with docker

docker pull cealist/n2d2
docker run --gpus all cealist/n2d2:latest

Another possibility is to build N2D2 from the Dockerfile. It is supplied to build images with CUDA 10.2 support and CuDNN 8.

Contributing

If you would like to contribute to the N2D2 project, weโ€™re happy to have your help! Everyone is welcome to contribute code via pull requests, to file issues on GitHub, to help people asking for help, fix bugs that people have filed, to add to our documentation, or to help out in any other way.

We grant commit access (which includes full rights to the issue database, such as being able to edit labels) to people who have gained our trust and demonstrated a commitment to N2D2.
For more details see our contribution guidelines.

License

N2D2 is released under the CeCILL-C license, a free software license adapted to both international and French legal matters that is fully compatible with the FSF's GNU/LGPL license.

More Repositories

1

Cingulata

Cingulata (pronounced "tchingulata") is a compiler toolchain and RTE for running C++ programs over encrypted data by means of fully homomorphic encryption techniques.
C++
401
star
2

MonoProb

Python
29
star
3

SCE

Implementation of "Similarity Contrastive Estimation for Self-Supervised Soft Contrastive Learning" WACV 2023.
Python
23
star
4

BrightFlow

Python
21
star
5

adv-reid

Metric Adversarial Attacks and Defense
Python
18
star
6

RPCDataloader

A variant of the PyTorch Dataloader using remote workers.
Python
13
star
7

KaliCalib

A Framework for Basketball Court Registration
Python
11
star
8

sgntx

iDASH 2017 competition, track 2 winning team solution
Rust
8
star
9

adv-sat

Sinkhorn Adversarial Training (SAT): Optimal Transport as a Defense Against Adversarial Attacks
Python
8
star
10

sprofile

A program to print consumed resources at the end of a slurm job.
Python
8
star
11

MetaMTReg

Official code for "Improving Few-Shot Learning through Multi-task Representation Learning Theory" ECCV 2022.
Python
7
star
12

CinguParam

CinguParam - HE parameters for all
Python
7
star
13

MT-DETR

Official resources for "Towards Few-Annotation Learning for Object Detection: Are Transformer-based Models More Efficient?", IEEE/CVF WACV, 2023.
4
star
14

Basket-Ball-Size-Estimation

Python
4
star
15

scratch_manager

A daemon to automate caching of read-only datasets between slow and fast storage locations.
Python
4
star
16

Quantum-Benchmark-CEA-LIST

Jupyter Notebook
3
star
17

HybroGen

HybroGen is a source to source compiler which helps to implements innovative JIT scenarios
C
3
star
18

neurocorgi_sdk

SDK for NeuroCorgi circuit simulation
Python
3
star
19

RING-NeRF

RING-NeRF Source Code
JavaScript
2
star
20

Fault-Resistant-Partitioning

Verilog
2
star
21

tri3d

A unified interface to various 3D driving datasets
Python
1
star
22

N2D2-docs

N2D2 documentation website
HTML
1
star
23

ODGS

3D Object Detection with Geometric Shapes and 2D Labels Only
1
star
24

DAHLIA-BodyIndex

DAHLIA-BodyIndex is a decoder for binary Body Index files from the DAHLIA dataset
C++
1
star
25

LaREx

Latent Representation Entropy density for dsitribution shift detection UAI 2024 Paper
Jupyter Notebook
1
star