Browse Source

Update README.md

jaybdub-nv 7 years ago
parent
commit
c07ceb28fb
1 changed files with 47 additions and 29 deletions
  1. 47 29
      README.md

+ 47 - 29
README.md

@@ -4,43 +4,25 @@ TensorFlow->TensorRT Image Classification
 This contains examples, scripts and code related to image classification using TensorFlow models
 (from [here](https://github.com/tensorflow/models/tree/master/research/slim#Pretrained))
 converted to TensorRT.  Converting TensorFlow models to TensorRT offers significant performance
-gains on the Jetson TX2 as seen [below](#default_models).
+gains on the Jetson TX2 as seen [below](#models).
 
-<a name="quick_start"></a>
-## Quick Start
+<a name="toc"></a>
+## Table of Contents
 
-1. Follow the [installation guide](INSTALL.md).
-2. Download the pretrained TensorFlow models and example images.
+* [Model overview](#models)
 
-    ```
-    source scripts/download_models.sh
-    source scripts/download_images.sh
-    ```
+* [Download models and create frozen graphs](#download)
 
-3. Convert the pretrained models to frozen graphs.
+* [Convert frozen graph to TensorRT engine](#convert)
 
-    ```
-    python scripts/models_to_frozen_graphs.py
-    ```
+* [Execute TensorRT engine](#execute)
 
-4. Convert the frozen graphs to optimized TensorRT engines.
+* [Benchmark all models](#benchmark)
 
-    ```
-    python scripts/frozen_graphs_to_plans.py
-    ```
+<a name="models"></a>
+## Models
 
-5. Execute the Inception V1 model on a single image.
-
-    ```
-    ./build/examples/classify_image/classify_image data/images/gordon_setter.jpg data/plans/inception_v1.plan data/imagenet_labels_1001.txt input InceptionV1/Logits/SpatialSqueeze inception
-    ```
-
-For more details, read through the examples [link](examples/README.md).
-
-<a name="default_models"></a>
-## Default Models
-
-The table below shows various details related to the default models ported from the TensorFlow 
+The table below shows various details related to pretrained models ported from the TensorFlow 
 slim model zoo.  
 
 | <sub>Model</sub> | <sub>Input Size</sub> | <sub>TensorRT (TX2 / Half)</sub> | <sub>TensorRT (TX2 / Float)</sub> | <sub>TensorFlow (TX2 / Float)</sub> | <sub>Input Name</sub> | <sub>Output Name</sub> | <sub>Preprocessing Fn.</sub> |
@@ -76,3 +58,39 @@ python scripts/test_trt.py
 
 The timing results will be located in **data/test_output_tf.txt** and **data/test_output_trt.txt**.  Note
 that you must download and convert the models (as in the quick start) prior to running the benchmark scripts.
+
+<a name="download"></a>
+## Download models and create frozen graphs
+
+Run the following bash script to download all of the pretrained models. 
+
+```
+source scripts/download_models.sh
+``` 
+
+If there are any models you don't want to use, simply remove their URL and name from the model lists in [scripts/download_models.sh](scripts/download_models.sh).  
+
+Next, because the TensorFlow models are provided in checkpoint format, we must convert them to frozen graphs for optimization with TensorRT.  Run the [scripts/models_to_frozen_graphs.py](scripts/models_to_frozen_graphs.py) script.  
+
+```
+python scripts/models_to_frozen_graphs.py
+```
+
+If you removed any models in the previous step, you must add ``'exclude': true`` to the corresponding item in the ``NETS`` dictionary located in [scripts/model_meta.py](scripts/model_meta.py). 
+
+<a name="convert"></a>
+## Convert frozen graph to TensorRT engine
+
+<a name="execute"></a>
+## Execute TensorRT engine
+
+```
+./build/examples/classify_image/classify_image data/images/gordon_setter.jpg data/plans/inception_v1.plan data/imagenet_labels_1001.txt input InceptionV1/Logits/SpatialSqueeze inception
+```
+    
+<a name="benchmark"></a>
+## Benchmark all models
+
+```
+python scripts/frozen_graphs_to_plans.py
+```