Document about layer usages in xconfig
- 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