当前位置: 首页 > 软件库 > 开发工具 > 编译器 >

deepC

授权协议 Apache-2.0 License
开发语言 Python
所属分类 开发工具、 编译器
软件类型 开源软件
地区 不详
投 递 者 周阳成
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

deepC

PyPI versionDownloadsApache2.0 LicenseContributorsChat

The deepC is a vendor independent deep learning library, compiler and inference framework designed for small form-factor devices including μControllers, IoT and Edge devices

�� click here to see it in action ��

��‍♂️ Using deepC

Here are few of many ways.

  1. Try deepC with Colab Noteboook
  2. Install it on Ubuntu, raspbian (or any other debian derivatives) using pip install deepC
  3. Compile onnx model- read this article or watch this video
  4. Use deepC with a Docker File

See more examples in tutorial dir.

�� what is deepC?

deepC library, compiler and inference framework is designed to enable and perform deep learning neural networks by focussing on features of small form-factor devices like micro-controllers, eFPGAs, cpus and other embedded devices like raspberry-pi, odroid, arduino, SparkFun Edge, risc-V, mobile phones, x86 and arm laptops among others.

deepC also offers ahead of time compiler producing optimized executable based on LLVM compiler tool chain specialized for deep neural networks with ONNX as front end.

�� Design

Main components of deepC have been designed to represent and optimize the common deep learning networks in high level graph IR and to transform the computation graph to minimize memory utilization, optimize data layout and fuse computation patterns for different hardware backends.

Architecture

Read more at high level design document

�� PreRequisites

�� Development

Build and start modifying deepC locally from source code with following steps

Ubuntu 18.04

Follow the steps to install pre-requisites

sudo apt-get update
sudo apt-get install build-essential python3.6-dev python3-pip swig doxygen clang-format clang clang-8 llvm-8 llvm-8-dev protobuf-compiler libprotoc-dev
sudo pip3 install numpy==1.15.0 onnx==1.5.0

Once you are done, build deepC

git clone https://github.com/ai-techsystems/deepC.git
cd deepC
make

Mac OS / Windows 10

Make sure you have the below pre-requisites

Mac OS:

Windows 10:

Once you are done, build deepC inside docker container

git clone https://github.com/ai-techsystems/deepC.git
cd deepC
python buildDocker.py

�� Output

find include src swig -name \*.h -print0 -o -name \*.cpp -print0 | xargs -0 -P8 -n1 clang-format -i
make -C src
make[1]: Entering directory 'deepC/src'
make -C core
make[2]: Entering directory 'deepC/src/core'
compiling broadcast.cpp
/usr/bin/g++ -O3 -Wall -std=c++14 -fPIC -march=native -msse2 \
    -isystem ./packages/eigen-eigen-323c052e1731 -I./include \
    -c broadcast.cpp -o obj/broadcast.o
compiling tensor.cpp
...
...
/usr/bin/g++ -shared  ./obj/dnnc_swig.o ./obj/dnnc_pyutils.o ./obj/dnnc_api.o -o lib/libdnnc.so
ln -s -f lib/libdnnc.so _dnnc.so
/usr/bin/python3 ../test/swig/basic.py

Current Support

Supported Architectures Status
Arm ✔️
Armv7 ✔️
Arm64 ✔️
AMD64 ✔️
ppc64le ✔️
Supported OS Distributions Status
Linux Ubuntu 18.04 ✔️
Linux CentOS 6 ✔️
Linux Arch Linux ✔️
Linux Manjaro ✔️
Windows 1803 and above ✔️
Mac OS Sierra and above ✔️

Contribute

dnn Compiler adopts apache committer model, we aim to create an open source project that is maintained and owned by the community. Checkout the Contributor Guide.

�� Acknowledgement

We acknowledge the efforts predecessor projects like LLVM, ONNX etc. to make this project a reality.


��️‍♂️ Why compiler

deepC is targeted towards devices with small formfactor like microcontrollers, which are part of all sorts of household devices: think appliances, cars, and toys. In fact, there are around 30 billion microcontroller-powered devices produced each year. They're cheap, require very little energy, and are very reliable.

By bringing deep learning models to tiny microcontrollers, we can boost the intelligence of billions of devices that we use in our lives, without relying on expensive hardware or reliable internet connections. Imagine smart appliances that can adapt to your daily routine, intelligent industrial sensors that understand the difference between problems and normal operation, and magical toys that can help kids learn in fun and delightful ways.

Contributors

Code Contributors

This project exists because of the people who [Contribute]. Thanks! ��

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

  • 译自Deep C (and C++) by Olve Maudal and Jon Jagger,本身半桶水不到,如果哪位网友发现有错,留言指出吧:) 编程是困难的,正确的使用C/C++编程尤其困难。确实,不管是C还是C++,很难看到那种良好定义并且编写规范的代码。为什么专业的程序员写出这样的代码?因为绝大部分程序员都没有深刻的理解他们所使用的语言。他们对语言的把握,有时他们知道某些东西未定义或未

  • 【Deep C (and C++)】深入理解C/C++(1) http://blog.csdn.net/rockics/article/details/7015067 【Deep C (and C++)】深入理解C/C++(2) http://blog.csdn.net/rockics/article/details/7018490 【Deep C (and C++)】深入理解C/C++(3) h

  • [节选] 关于CPU C-States 省电模式,你需要知道的事情 I, 引言 为了在CPU空闲的时候降低功耗,CPU可以被命令进入low-power模式。每个CPU都有几种power模式,这些模式被统称为C-states或者C-modes。 lower-power模式最早在486DX4处理器上被引入,到现在,更多power mode被引入和增强,来进一步降低CPU的功耗。 这些模式最基本的思想是

  • Disabling Deep Sleep C-states CPU deep sleep C-states can cause unpredictable performance and system hangs in NexentaStor. Please use the attached document to understand the reasoning and requirement

 相关资料
  • 问题内容: 我有一个非常简单的python例程,其中涉及循环遍历大约20,000个纬度,经度坐标的列表,并计算每个点到参考点的距离。 我最初使用完全相同的方法在C中编写了此代码,并且在那儿工作得很好,并且对于nPoints <= 100基本上是瞬时的。所以我决定将其移植到python,因为我想使用SqlAlchemy来做其他事情。 我首先移植了它,但没有现在可以使用该方法的deepcopy语句,这

  • 我目前正在寻找意外行为的解决方案,这些意外行为是在使用Java处理特定的AVRO模式演化场景时出现的,我还在消费者中做了一次深度复制,将GenericRecord类解析为从AVRO模式生成的特定类。 为了解释正在发生的事情,我将使用一个简化的模式示例: 这只是一个简单的模式,有三个字符串字段,都是可选的,因为它们都有默认值。假设在某个时候我想添加另一个字符串字段,并删除一个字段,因为不再需要它,您

  • deepClone 对象深度克隆 注意 由于JS对象包括的范围非常广,加上ES6又有众多的新特性,很难、也没必要做到囊括所有的类型和情况,这里说的"对象",指的是普通的对象,不包括修改对象原型链, 或者为"Function","Promise"等的情况,请留意。 场景: 我们平时可能会遇到需要通过console.log打印一个对象,至执行打印的时刻,此对象为空,后面的逻辑中对此对象进行了修改赋值,

  • DeepCreamPy 是一款基于深度学习的工具,通过使用深度神经网络去除马赛克,让更多遭受审查的艺术作品得以重见天日。 此外,DeepCreamPy 支持跨平台,适用于 Windows,Mac 和 Linux。作者提供了适用于 Windows 64 位平台的预构建二进制文件。 使用该工具的方法十分简单,用户在单独的图像编辑程序(如 GIMP 或 Photoshop)中打开图片,在需要去除马赛克的

  • Conversation Models in Tensorflow Notes to visitors: I've just shut down the website indefinitely. I ran out of my credits on Google Cloud four days ago, and have since been billed 30+ dollars which i

  • [CVPR19] DeepCO3: Deep Instance Co-segmentation by Co-peak Search and Co-saliency (Oral paper) Authors: Kuang-Jui Hsu, Yen-Yu Lin, Yung-Yu Chuang PDF: High-Resolution, Low-Resolution Supplementary mat

相关阅读

相关文章

相关问答

相关文档