Konverter Benchmarks
Compares inference speed of a Keras model converted with SNPE versus Konverter on two hardware platforms.
What this file does
Compares inference speed of a Keras model converted with SNPE versus Konverter on two hardware platforms.
When to use it
- Evaluating Konverter's performance for your own model
- Deciding whether to adopt Konverter over SNPE
- Benchmarking single vs batch prediction latency
Assumes this stack
Konverter Benchmarks
Snapdragon 821 (LeEco Le Pro3) - 10,000 random single predictions
Comparison of a model converted with SNPE 1.19 (Snapdragon Neural Processing Engine) and the same model converted with Konverter.
| SNPE model | Konverted model | |
|---|---|---|
| Total time | 16.150222 sec. | 10.021809 sec. |
| Average time | 0.0016150 sec. | 0.0010022 sec. |
| Model rate | 619.18654 Hz | 997.82385 Hz |
The model:
model = Sequential()
model.add(Dense(204, activation='relu', input_shape=(103,)))
model.add(Dense(128, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(1, activation='linear'))
Ryzen 5 3600 (Desktop) - 10,000 random predictions
(see exact model in build_test_model.py):
Batch prediction:
| Keras model | Konverted model | |
|---|---|---|
| Total time | 0.403091 sec. | 0.088019 sec. |
Single prediction:
| Keras model | Konverted model | |
|---|---|---|
| Total time | 135.074061 sec. | 1.848414 sec. |
| Average time | 0.01350741 sec. | 0.000185 sec. |
| Model rate | 74.0334593 Hz | 5410.043 Hz |
Benchmark info:
The batch predictions are simply that, 10,000 random samples are fed into each model to be predicted on all at once. This is usually the fastest method of executing a prediction for a lot of unrelated samples.
With the single predictions, we are predicting on the same samples as before, however we are using a loop and predicting on each sample one by one. This is usually how you will be executing predictions in production. You won't know future data, so this is a good way to benchmark inference times for both model formats.
What's inside
Two benchmark tables (Snapdragon 821, Ryzen 5 3600) plus a model definition and methodology notes.
Change this for your project
- Replace
sshane/Konverterwith your own repository URL - Replace
ShaneSmiskol/Konverterwith your own repository URL - Replace the model architecture in the Python snippet with your own model
Where it goes
Keep it in your repository where the agent or team that needs it will read it.
Related Documents
Ruby 2.7
Documents every language, core class, and standard library change in Ruby 2.7 with code examples and rationale.
OABench: Benchmarking Large Language Models on the Brazilian Bar Examination
Evaluates 11 LLMs on the Brazilian Bar Exam's first phase, reporting accuracy, cost, and latency across three exam editions.
Prometheus Automation AI Marketplace - Project Documentation
Documents an enterprise AI marketplace built with Next.js 15, covering architecture, AI algorithms, security, and deployment.
Benchmarks
Compares Okra's read/write performance against raw LMDB across three dataset sizes using small key-value pairs.