6d526efc215614ba1878eb9c8f7c3fd8c60393fa
[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<br>
30     * [**Image Classification**](docs/Image_Classification.md)<br>
31 * Pixel2Pixel prediction<br>
32     * [**Semantic Segmentation**](docs/Semantic_Segmentation.md)<br>
33     * [Depth Estimation](docs/Depth_Estimation.md)<br>
34     * [Motion Segmentation](docs/Motion_Segmentation.md)<br>
35     * Multi Task Estimation - coming soon..<br>
36 * Object Detection<br>
37     * Object Detection - coming soon..<br>
38     * Object Keypoint Estimation - coming soon..<br>
39 * Quantization<br>
40     * [**Quantization Aware Training**](docs/Quantization.md)<br>
42 Some of the common training and validation commands are provided in shell scripts (.sh files) in the root folder.
44 #### **Issue Tracker**: 
45 - You can file issues or ask questions at **e2e**: [https://e2e.ti.com/support/processors/f/791/tags/jacinto_2D00_ai_2D00_devkit](https://e2e.ti.com/support/processors/f/791/tags/jacinto_2D00_ai_2D00_devkit).<br>
46 - The part number should be filled in as **TDA4VM**. Also, kindly include **jacinto-ai-devkit** in the tags (at the end of the page as you create a new issue) so that we get notified quickly. 
47 - If you do not get a reply within two days, you can contact us at: jacinto-ai-devkit@list.ti.com
49 ## Additional Information
50 For information on other similar devkits, please visit:<br> 
51 - [https://github.com/TexasInstruments/jacinto-ai-devkit](https://github.com/TexasInstruments/jacinto-ai-devkit)<br> AND
52 - [https://git.ti.com/jacinto-ai-devkit](https://git.ti.com/jacinto-ai-devkit)<br>
54 ## Acknowledgements
56 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.
58 |Module/Functionality              |Parts of the code borrowed/modified from                                             |
59 |----------------------------------|-------------------------------------------------------------------------------------|
60 |Datasets, Models                  |https://github.com/pytorch/vision, https://github.com/ansleliu/LightNet              |
61 |Training, Validation Engine/Loops |https://github.com/pytorch/examples, https://github.com/ClementPinard/FlowNetPytorch |
62 |Object Detection                  |https://github.com/open-mmlab/mmdetection                                            |
64 ## License
66 Please see the [LICENSE](./LICENSE) file for more information about the license under which this code is made available.