KEX – Software pro zjednodušení správy experimentů frameworku Keras

Autoři

Ing. Pavol Harár

Stažení

Tento software je k dispozici na stáhnutí zde.

Popis

Tato software-ová knihovna zjednodušuje proces trénování více DNN modelů najednou za použití frameworků Keras a Theano a automaticky prezentuje jejich výsledky. Je velmi užitečná zejména pro optimalizování hyperparametrů mnoha modelů s cílem najít ten nejlepší.

Kex obalí definované modely do jednoho experimentu, natrénuje model a uloží veškerý konfigurační soubory a výsledky do jednoho adresáře, co velice zjednodušuje porovnávání modelů mezi sebou a taky budoucí reprodukci výsledků.

KEX steps

Img. 1. Simplified KEX workflow.

Hlavní funkce

  • Konfigurace všech modelů se provádí jenom v jednom souboru, takže je možné nakonfigurovat všechny velice rychle.
  • Jako vstup yužívá datových generátorů, takže je schopná spracovat velké objemy dat.
  • Příprava dat se dělá na CPU a samotné trénování se dělá na GPU, takže jediným omezením je rychlost GPU.
  • Využívá více vláken na spouštení více modelů na více GPU, takže je možné trénovat více modelů najednou.
    POZOR: trénování jednoho modelu není rozprostřeno na více GPU, na jedné GPU je vždy trénovaný jeden model.
  • Zachytává chyby paměti GPU, takže příliš komplexní model, který se nevejde do paměti GPU nezhodí celý výpočet. Program pokračuje k trénování následujícího modelu.
  • Umí znovu spustit přerušené trénování. Např. po pádu počítače, takže není nutno proces celého trénování opakovat znovu.
  • Zajišťuje opětovnou možnost reprodukovat výsledky modelu, v připadě, že se nezměnila definice modelu a počáteční váhy.
KEX adresářová struktura

Img. 2. Ukázka adresářové struktury experimentu.

KEX výsledky

Img. 3. Ukázka výsledků jednoho DNN modelu.

Licence

Tento projekt je publikovaný pod MIT licencí.