kaldi-asr / kaldi-asr/kaldi

Document about layer usages in xconfig

Open
#4,577 2 comments 0 reactions 0 assignees View on GitHub
help wanted stale-exclude
Dominant language
Shell
Stars
15.5k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

The latest `nnet3` setup for deep neural networks is intended for supporting *the kinds of topologies that both the nnet1 and nnet2 code-bases support, and more; and to do so in a natural, config-file-driven way that should not require coding to support most interesting new ideas*.

Indeed, it provides a easier way to view the architecture of networks written by others. However, as one, like me, new to kaldi, and willing to learn how to compose his/her own neural networks in kaldi, he/she may have problems with the `xconfig`. People are asking what's this and what's that on `kaldi-help` forum, for example, [here](https://groups.google.com/g/kaldi-help/c/YjEsEyfscAI/m/sLJOQPP9CQAJ) and [here](https://groups.google.com/g/kaldi-help/c/axOTLOlNZ_4). I think that there had better be a list of available layers (well, this can be found in `xconfig/parser.py`, but even better in documentation as it consumed hours for me to find that correct file) and moreover, the possible configurations and meanings of the configurations. Also, abbreviations such as numbers for `Offset` which is visible everywhere in examples but nowhere in the documentation give rise to much confusion.

Overall, the documentation seems to target expert developers willing to understand the mechanics inside kaldi, dealing with internals of C++ code. In contrast, scripting, which is actually what most newcomers and students do, seems to be loosely documented.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the xconfig layer definitions in xconfig/parser.py and review the nnet3 xconfig examples mentioned in the issue. Document the available layers, configuration meanings, and abbreviations such as numeric Offset values, with enough guidance for newcomers to compose networks without reading the C++ internals.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation, machine-learning
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.