release commit
authorManu Mathew <a0393608@ti.com>
Tue, 28 Jan 2020 12:37:05 +0000 (18:07 +0530)
committerManu Mathew <a0393608@ti.com>
Tue, 28 Jan 2020 12:37:05 +0000 (18:07 +0530)
README.md
docs/Quantization.md

index b8dc37999d75cc125356fa7ffc44573571f2c97a..bc03e38a672dc772e930c675167a93e5e6e0dd02 100644 (file)
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@
 ### Deep Learning Models / Training / Calibration & Quantization - Using PyTorch<br>
 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. 
 
-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).
+This code also includes tools for **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).
 
 **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).** These tools and software are primarily intended as examples for learning and research.
 
index a2961480f9d0347d80159939a2965afb9f8a7fdd..fe927afe810858dea113f187edfa16b795e6a56b 100644 (file)
@@ -16,7 +16,7 @@ We use statistical range clipping in PACT2 to improve the Quantized Accuracy (co
 
 ## Post Training Calibration For Quantization (Calibration)
 **Note: this is not our recommended method in PyTorch.**<br>
-Post Training Calibration or simply Calibration is a method to reduce the accuracy loss with quantization. This is an approximate method and does not require ground truth or back-propagation - hence it is suitable for implementation in an Import/Calibration tool. We have simulated that in PyTorch and can be used as fast method to improve the accuracy of Quantization. If you are interested, you can take a look at the [documentation of Calibration here](Calibration.md).<br>
+Post Training Calibration or simply Calibration is a method to reduce the accuracy loss with quantization. This is an approximate method and does not require ground truth or back-propagation - hence it is suitable for implementation in an Import/Calibration tool. We have simulated this in PyTorch and can be used as fast method to improve the accuracy with Quantization. If you are interested, you can take a look at the [documentation of Calibration here](Calibration.md).<br>
 However, in a training frame work such as PyTorch, it is possible to get better accuracy with Quantization Aware Training and we recommend to use that (next section).
 
 ## Quantization Aware Training (QAT)
@@ -53,7 +53,8 @@ model = ...
 # create a dummy input - this is required to analyze the model - fill in the input image size expected by your model.
 dummy_input = torch.rand((1,3,384,768))
 
-#wrap your model in xnn.quantize.QuantTrainModule. Once it is wrapped, the actual model is in model.module
+# wrap your model in xnn.quantize.QuantTrainModule. 
+# once it is wrapped, the actual model is in model.module
 model = xnn.quantize.QuantTrainModule(model, dummy_input=dummy_input)
 
 # load your pretrained weights here into model.module
@@ -65,7 +66,7 @@ model.module.load_state_dict(pretrained_data)
 ....
 ....
 
-# save the model - the calibrated module is in model.module
+# save the model - the trained module is in model.module
 torch.save(model.module.state_dict(), os.path.join(save_path,'model.pth'))
 torch.onnx.export(model.module, dummy_input, os.path.join(save_path,'model.onnx'), export_params=True, verbose=False)
 ```