release commit
[jacinto-ai/pytorch-jacinto-ai-devkit.git] / README.md
1 # Jacinto-AI-DevKit (PyTorch)
3 Note: If you have not visited our landing page in github, please do so: [https://github.com/TexasInstruments/jacinto-ai-devkit](https://github.com/TexasInstruments/jacinto-ai-devkit)
5 ### Deep Learning Models / Training / Calibration & Quantization - Using PyTorch<br>
6 This code provides a set of low complexity deep learning examples and models for low power embedded systems. Low power embedded systems often requires balancing of complexity and accuracy. This is a tough task and requires significant amount of expertise and experimentation. We call this process **complexity optimization**. In addition we would like to bridge the gap between Deep Learning training frameworks and real-time embedded inference by providing ready to use examples and enable **ease of use**. Scripts for training, validation, complexity analysis are also provided. 
8 This code also includes tools for **Post Training Calibration and Trained Quantization (a.k.a Quantization Aware Training)** that can output an 8-bit Quantization friendly model - these tools can be used to improve the quantized accuracy and bring it near floating point accuracy. For more details, please refer to the section on [Quantization](docs/Quantization.md).
10 Our expectation is that these Deep Learning examples, models and tools will find application in a variety of problems, and the users will be able to build upon the **building blocks** that we have provided. 
12 **Several of these models have been verified to work on [TI's Jacinto7 Automotive Processors](http://www.ti.com/processors/automotive-processors/tdax-adas-socs/overview.html).** This code is primarily intended for learning and research. 
14 ## Installation Instructions
15 - These instructions are for installation on **Ubuntu 18.04**. 
16 - Install Anaconda with Python 3.7 or higher from https://www.anaconda.com/distribution/ <br>
17 - After installation, make sure that your python is indeed Anaconda Python 3.7 or higher by typing:<br>
18     ```
19     python --version
20     ```
21 - Clone this repository into your local folder
22 - Execute the following shell script to install the dependencies:<br>
23     ```
24     ./setup.sh
25     ```
27 ## Examples
28 The following examples are currently available. Click on each of the links below to go into the full description of the example. 
29 - Image Classification
30     - [**Image Classification**](docs/Image_Classification.md)
31 - Pixel2Pixel prediction
32     - [**Semantic Segmentation**](docs/Semantic_Segmentation.md)
33     - [Depth Estimation](docs/Depth_Estimation.md)
34     - [Motion Segmentation](docs/Motion_Segmentation.md)
35     - [**Multi Task Estimation**](docs/Multi_Task_Learning.md)
36 - Object Detection
37     - Object Detection - coming soon..
38     - Object Keypoint Estimation - coming soon..
39  - Quantization
40      - [**Post Training Calibration For Quantization**](docs/Quantization.md)<br>
41      - [**Quantization Aware Training**](docs/Quantization.md)<br>
43 Some of the common training and validation commands are provided in shell scripts (.sh files) in the root folder.
45 ## Additional Information
46 For information on other similar devkits, please visit:<br> 
47 - [https://github.com/TexasInstruments/jacinto-ai-devkit](https://github.com/TexasInstruments/jacinto-ai-devkit)<br> AND
48 - [https://git.ti.com/jacinto-ai-devkit](https://git.ti.com/jacinto-ai-devkit)<br>
50 ## Acknowledgements
52 Our source code uses parts of the following open source projects. We would like to sincerely thank their authors for making their code bases publicly available.
54 |Module/Functionality              |Parts of the code borrowed/modified from                                             |
55 |----------------------------------|-------------------------------------------------------------------------------------|
56 |Datasets, Models                  |https://github.com/pytorch/vision, https://github.com/ansleliu/LightNet              |
57 |Training, Validation Engine/Loops |https://github.com/pytorch/examples, https://github.com/ClementPinard/FlowNetPytorch |
58 |Object Detection                  |https://github.com/open-mmlab/mmdetection                                            |
60 ## License
62 Please see the [LICENSE](./LICENSE) file for more information about the license under which this code is made available.