Demos
These demos show how to integrate ACCV-Lab packages into training code and measure their performance.
StreamPETR
This is a collection of demos based on the StreamPETR model. The implementation is based on the open-source release of StreamPETR (https://github.com/exiawsh/StreamPETR).
This documentation explains the optimizations, environment setup, configuration files and evaluation commands.
Note
For the differences from the original StreamPETR implementation, including removed functionality,
additional ACCV-Lab implementations, and the GridMask replacement, read
demos/streampetr/README.md in the ACCV-Lab repository. That README describes the code in its
checkout; use it together with documentation from the same revision.
For license and attribution information about third-party code used in ACCV-Lab and the StreamPETR demo, see Third-Party Licenses.
Important
The StreamPETR demos share one common implementation under demos/streampetr/ in the ACCV-Lab repository.
The documentation is organized by package. Configuration files select the baseline or
optimized implementation for each comparison. See the corresponding evaluation page for further details.
The tutorials explain the integration into StreamPETR as a representative real-world example. Stand-alone examples for the use of the individual packages are available in the corresponding package documentation.
Demos for Contained Packages
Multiple modifications have been made to the original implementation to demonstrate different contained packages. This includes demos of:
Description |
Link |
|---|---|
|
|
|
|
|
Running the Demos
To run the demos, you need to perform the steps described in the table below.
Step |
Description |
|---|---|
|
Set up the Docker image and container as described in the StreamPETR Docker setup. |
|
The StreamPETR demo uses the NuScenes dataset (the mini version in our
evaluations), and assumes that the data was converted as needed for StreamPETR (see the
For the provided mini-dataset configurations, generate the reference loader’s metadata from inside the container with: cd /streampetr
python tools/create_data_nusc.py \
--root-path /data/nuscenes \
--version v1.0-mini \
--extra-tag nuscenes2d
This creates The DALI Pipeline Framework data loader generates its projected annotations and
|
|
Run the demo for the contained package you are interested in by following
the steps outlined in the demo description (typically in the evaluation section).
For example, for the |
Choosing a Configuration
The configuration files are under demos/streampetr/projects/configs/StreamPETR/.
They include configurations for the reference demo, Batching Helpers, DALI Pipeline Framework data loading,
and profiling.
For the appropriate configuration, comparison baseline, supported GPU counts, and commands, see the
evaluation section of the corresponding demo, for example the
Batching Helpers evaluation or
DALI Pipeline Framework evaluation.
For the demo’s regression tests, see Running Regression Tests in the Docker setup guide.
Running All Evaluations
The evaluation configurations are under projects/configs/StreamPETR/Evals/.
Follow the corresponding evaluation pages for the measured
comparisons and commands. To run every configuration in that directory sequentially, including the
additional variants, use:
bash /streampetr/tools/run_all_evaluations.sh
This requires the prepared dataset and enough GPUs for all configurations (up to eight).
Logs are written under eval_res_all_evaluations/ in the current directory.
The script sorts configuration filenames alphabetically before running them. If the first two
configurations have already completed, for example, pass 2 to skip them and start with the third:
bash /streampetr/tools/run_all_evaluations.sh 2
The script does not check previous results; it simply skips the specified number of configurations at the beginning of the sorted list.
Measurement and Profiling
Use the Optimization Testing Tools to measure and inspect the training process:
Runtime evaluation
NVTX range-based profiling (including optional CUDA synchronizations for ranges)
Dumping of the training input data for debugging/demonstration purposes
See Optimization Testing Tools Demo for configuration options and usage instructions, and the optim-test-tools package documentation for the API.