Pre-trained Padatious intent classifiers to significantly accelerate the first boot and skill loading of OpenVoiceOS.
Padatious was originally designed for small datasets with a few sentences per intent. However, as the number of intents and languages grows, training times have increased drastically.
⚠️ Depending on the number of skills installed padatious intent training can slow down a raspberri pi to a crawl!
This is particularly noticeable in languages like Catalan and Galician, where utterance examples include many alternatives/optionals to account for verb tenses and grammatical gender. Large datasets can lead to training times exceeding 10 minutes for a single intent:
DEBUG - Training ask.intent with 110,784 positive + 20,212 negative samples...
... a few minutes later ...
DEBUG - Training ask.intent finished!
This repository uses an automated utility (gen_cache.py) to bootstrap the training process. By simulating a complete
ovos-core environment, we generate binary intent models for every supported language and configuration variation.
When these pre-trained models are present, Padatious skips the expensive training phase unless the local training data (
.intent files) has changed.
The gen_cache.py utility generates a matrix of 8 different configuration profiles to ensure compatibility with
various user setups:
| Feature | Variations |
|---|---|
| Languages | 12 (en, es, pt, fr, de, it, nl, da, ca, gl, eu) |
| Domain Engine | Enabled / Disabled (Two-stage classification) |
| Stemming | Enabled / Disabled |
| ASCII Normalization | Enabled / Disabled |
- Mock Environment: Uses
FakeBusandSkillManagerto load skills without a running messagebus. - Pipeline Injection: Forces the
ovos-padatious-pipeline-plugin-highpipeline. - Lifecycle Monitoring: Listens for
mycroft.ready.checkto verify all Padatious threads have finished writing to disk before cycling to the next config profile.
- Download the
intent_cachedirectories from the latest release/build. - Place the folder in your XDG data directory (usually
~/.local/share/mycroft).
# Example structure
~/.local/share/mycroft/intent_cache/
├── en-us/
├── es-es/
└── ...
~/.local/share/mycroft/intent_cache_domain/
├── en-us/
├── es-es/
└── ...