{ "info": { "author": "Rohit Sharma et. al.", "author_email": "rohit@find-domain-name-on-github.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "License :: OSI Approved :: MIT License", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: C++", "Programming Language :: Python :: 3" ], "description": "# deepC\n---\n\n[![Build Status](https://travis-ci.org/ai-techsystems/dnnCompiler.svg?branch=master)](https://travis-ci.org/ai-techsystems/dnnCompiler)\n[![PyPI version](https://badge.fury.io/py/deepC.svg)](https://badge.fury.io/py/deepC)\n[![txt](https://img.shields.io/github/license/ai-techsystems/dnnCompiler)](LICENSE)\n[![Financial Contributors on Open Collective](https://opencollective.com/dnnc/all/badge.svg?label=financial+contributors)](https://opencollective.com/dnnc)\n\n\n## \ud83c\udfc3\u200d\u2642\ufe0f Using deepC\n\nHere are few of many ways.\n\n1. Try deepC with [Colab Noteboook](https://colab.research.google.com/drive/1EKgQcMCHr-0OsG9qJ4wXv7J4JFlPY7CK) \n1. Install it on Ubuntu (or other debian derivatives) using ```pip install deepC```\n1. [Compile onnx model](test/compiler/mnist/README.md)\n1. Use deepC with a [Docker File](Dockerfile) \n\nSee more examples in [tutorial](tutorials/README.md) dir.\n\n## \ud83d\udcdb what is deepC? \n\ndeepC Compiler and inference framework is designed to **enable and perform** deep learning neural networks by focussing on features of custom ai-accelerators like micro-controllers, eFPGAs, cpus and other embedded devices like [raspberry-pi](https://www.raspberrypi.org/), [odroid](https://www.hardkernel.com/), [arduino](https://www.arduino.cc/), [SparkFun Edge](https://www.sparkfun.com/products/15170), [risc-V](https://www.amazon.com/Seeed-Studio-Sipeed-Maixduino-RISC-V/dp/B07SW9ZWQQ) and others.\n\ndeepC also offers ahead of time compiler producing optimized executable based on [LLVM compiler tool chain](https://llvm.org/) specialized for deep neural networks with [ONNX](https://onnx.ai/) as front end.\n\n## \ud83d\udcdd Design\n\nMain 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.\n\n\"Architecture\"\n\nRead more at [high level design document](docs/highLevelDesign.md) \n\n## \ud83d\udca7 PreRequisites\n\n* [ONNX 1.5](https://github.com/onnx/onnx/tree/rel-1.5.0#installation)\n* [LLVM 8.0](http://releases.llvm.org/8.0.0/docs/GettingStarted.html#getting-started-quickly-a-summary)\n* [Python 3.6](https://www.python.org/downloads/release/python-360/)\n* [SWIG 3.0](https://sourceforge.net/projects/swig/files/swig/swig-3.0.12/)\n\n## \u2699 Installation\nbuild and install dnn Compiler locally from source code with following steps\n\n### \u2b55 Ubuntu 18.04\nYou can install ubuntu18.04 on windows [Watch HowTo video here](https://www.youtube.com/watch?v=QbmRXJJKsvs) or [Google it](https://www.google.com/search?q=how+to+setup+ubuntu+on+virtualbox&oq=how+to+setup+ubuntu+on+virtual+box)\n\nFollow the steps to install pre-requisites\n```\nsudo apt-get update\nsudo apt-get install build-essential python3.6-dev python3-pip swig doxygen clang-format clang clang-8 llvm-8 llvm-8-dev\nsudo pip3 install numpy onnx\n```\n\nOnce you are done, build dnnCompiler\n```\ngit clone https://github.com/ai-techsystems/dnnCompiler.git \ncd dnnCompiler\nmake\n```\n\n#### \ud83d\udcdc Output\n```\nfind include src swig -name \\*.h -print0 -o -name \\*.cpp -print0 | xargs -0 -P8 -n1 clang-format -i\nmake -C src\nmake[1]: Entering directory 'dnnCompiler/src'\nmake -C core\nmake[2]: Entering directory 'dnnCompiler/src/core'\ncompiling broadcast.cpp\n/usr/bin/g++ -O3 -Wall -std=c++14 -fPIC -march=native -msse2 \\\n -isystem ./packages/eigen-eigen-323c052e1731 -I./include \\\n -c broadcast.cpp -o obj/broadcast.o\ncompiling tensor.cpp\n...\n...\n/usr/bin/g++ -shared ./obj/dnnc_swig.o ./obj/dnnc_pyutils.o ./obj/dnnc_api.o -o lib/libdnnc.so\nln -s -f lib/libdnnc.so _dnnc.so\n/usr/bin/python3 ../test/swig/basic.py\n```\n\n## \u2795 Contribute\n\ndnn 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.\n\n## \ud83d\ude4f Acknowledgement \nWe acknowledge the efforts predecessor projects like [LLVM](https://llvm.org/), [ONNX](https://onnx.ai/) etc. to make this project a reality.\n\n---\n\n## \ud83d\udd75\ufe0f\u200d\u2642\ufe0f Why compiler\u2754\ndnnCompiler 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. \n\nBy 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.\n\n\n**\ud83d\udea7 Project Under Development.** *Stay tuned. We plan to release the first version in Nov. 2019.*\n\n## Contributors\n\n### Code Contributors \n\nThis project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)].\n\n\n### Financial Contributors\n\nBecome a financial contributor and help us sustain our community. [[Contribute](https://opencollective.com/dnnc/contribute)]\n\n#### Individuals\n\n\n\n#### Organizations\n\nSupport this project with your organization. Your logo will show up here with a link to your website. [[Contribute](https://opencollective.com/dnnc/contribute)]\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ai-techsystems/dnnCompiler", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "deepC", "package_url": "https://pypi.org/project/deepC/", "platform": "", "project_url": "https://pypi.org/project/deepC/", "project_urls": { "Homepage": "https://github.com/ai-techsystems/dnnCompiler" }, "release_url": "https://pypi.org/project/deepC/0.121/", "requires_dist": [ "onnx (==1.5.0)" ], "requires_python": ">=3.5", "summary": "DeepC: Deep Neural Network Compiler", "version": "0.121", "yanked": false, "yanked_reason": null }, "last_serial": 7109175, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "fcda0d44dfe7f2687f8e799845aa7547", "sha256": "4b3854b4182386755c022fbcb7651d8689d1fe42f9e6ce61e4bccccafc354f14" }, "downloads": -1, "filename": "deepC-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fcda0d44dfe7f2687f8e799845aa7547", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 2703591, "upload_time": "2019-10-28T22:27:59", "upload_time_iso_8601": "2019-10-28T22:27:59.876450Z", "url": "https://files.pythonhosted.org/packages/98/5d/b419de1a5bd18e5c1d62ee4fe84e8b289337c551bc34541238c1f6ccbfd0/deepC-0.1-py3-none-any.whl", "yanked": false, "yanked_reason": null } ], "0.11": [ { "comment_text": "", "digests": { "md5": "b1ba2a2dc3a51b36aaab6c71ff158dca", "sha256": "b6a9d60d0e6bd7d4a17d7b917ad2c710aad7858d63e583cc92f5e119de89816a" }, "downloads": -1, "filename": "deepC-0.11-cp37-cp37m-linux_armv7l.whl", "has_sig": false, "md5_digest": "b1ba2a2dc3a51b36aaab6c71ff158dca", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.5", "size": 5882666, "upload_time": "2019-11-18T07:25:09", "upload_time_iso_8601": "2019-11-18T07:25:09.450601Z", "url": "https://files.pythonhosted.org/packages/a4/9c/bd7c4d0a2bd06526bbe91e9be3e4be4b43fe43b2affafd96738670e16e0f/deepC-0.11-cp37-cp37m-linux_armv7l.whl", "yanked": false, "yanked_reason": null } ], "0.12": [ { "comment_text": "", "digests": { "md5": "92c64ee0abc7f9977c3d2e895a3e35f8", "sha256": "64c8e29d38cc2e60683291187743297b0b93ec0526fbbcf7d3953f81c1b21282" }, "downloads": -1, "filename": "deepC-0.12-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "92c64ee0abc7f9977c3d2e895a3e35f8", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=3.5", "size": 6466673, "upload_time": "2019-11-19T04:07:38", "upload_time_iso_8601": "2019-11-19T04:07:38.875516Z", "url": "https://files.pythonhosted.org/packages/cf/9e/36259fc94dcd380aee57a51560185f0a7837f99aa79f0d4beadd0974cce5/deepC-0.12-cp36-cp36m-manylinux2010_x86_64.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ea4752968bd744a045718124972dad8d", "sha256": "96da0210c27c8e38f9eeb07e6e5db25928f49a71f1ed2fddc8d744c23fbdf0e4" }, "downloads": -1, "filename": "deepC-0.12-cp37-cp37m-linux_armv7l.whl", "has_sig": false, "md5_digest": "ea4752968bd744a045718124972dad8d", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.5", "size": 3901599, "upload_time": "2019-11-19T05:59:19", "upload_time_iso_8601": "2019-11-19T05:59:19.203836Z", "url": "https://files.pythonhosted.org/packages/f4/04/6fbbbf5afca961b9ba35f62fa022baebe4a21990f89f620fe60e52693874/deepC-0.12-cp37-cp37m-linux_armv7l.whl", "yanked": false, "yanked_reason": null } ], "0.121": [ { "comment_text": "", "digests": { "md5": "37928853bcd348120b11109dabbf09fe", "sha256": "d7e177290b37e950f0b648ba43581640e2b25bbf5b98fd5d0bf1c5ffd0808e63" }, "downloads": -1, "filename": "deepC-0.121-cp37-cp37m-linux_armv7l.whl", "has_sig": false, "md5_digest": "37928853bcd348120b11109dabbf09fe", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.5", "size": 5792265, "upload_time": "2019-11-20T16:00:43", "upload_time_iso_8601": "2019-11-20T16:00:43.331934Z", "url": "https://files.pythonhosted.org/packages/4b/32/21103ba9ce471d96c12224b688571ee70dfde0055a4381848275dc64fec8/deepC-0.121-cp37-cp37m-linux_armv7l.whl", "yanked": false, "yanked_reason": null } ], "0.13": [ { "comment_text": "", "digests": { "md5": "4484ddb7f361da35c74d9067b915a773", "sha256": "ee2f6262ea1f687a157efa78865d86898886ae4f2a9439302165031747430ecc" }, "downloads": -1, "filename": "deepC-0.13-cp36-cp36m-manylinux2010_x86_64.whl", "has_sig": false, "md5_digest": "4484ddb7f361da35c74d9067b915a773", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=3.5", "size": 6546237, "upload_time": "2020-04-27T07:07:42", "upload_time_iso_8601": "2020-04-27T07:07:42.609860Z", "url": "https://files.pythonhosted.org/packages/57/3c/6fbd4210073f7c45ecb1c1ebd1cbac1997882ab6ef071f0caabf1da4acaf/deepC-0.13-cp36-cp36m-manylinux2010_x86_64.whl", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "37928853bcd348120b11109dabbf09fe", "sha256": "d7e177290b37e950f0b648ba43581640e2b25bbf5b98fd5d0bf1c5ffd0808e63" }, "downloads": -1, "filename": "deepC-0.121-cp37-cp37m-linux_armv7l.whl", "has_sig": false, "md5_digest": "37928853bcd348120b11109dabbf09fe", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=3.5", "size": 5792265, "upload_time": "2019-11-20T16:00:43", "upload_time_iso_8601": "2019-11-20T16:00:43.331934Z", "url": "https://files.pythonhosted.org/packages/4b/32/21103ba9ce471d96c12224b688571ee70dfde0055a4381848275dc64fec8/deepC-0.121-cp37-cp37m-linux_armv7l.whl", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }