Discussion: Synaptic 2.x
Author: JabherCreated Sep 12, 2016Updated Sep 23, 2022
So, we want to make Synaptic more mature. I've created a design draft to think on it. https://github.com/cazala/synaptic/wiki/Design-draft:-2.x-API
Let's discuss.
The most significant changes in design:
- Pre-built architectures are dropped. Examples will be provided and should be used instead. They are actually an examples of "how-to" and so they are usually useless for real projects.
- biggest API parts (activate, train etc) are async now.
- Every "moving part" used by an API is placed separately, and so if NN is simply created and loaded - there will be no need in trainer, optimization objectives, optimizers and everything else required for training. This is very useful for a client run, when only activation is needed without any training.
- Multiple back-ends are supported. Each of them has its own strengths and weaknesses.
- API fingerprint is as small as possible now.
- Lot of stuff is configurable, lot of staff is pre-built.
Source: cazala/synaptic