[optimizer] Add optimizer section to INI
authorParichay Kapoor <pk.kapoor@samsung.com>
Fri, 19 Mar 2021 11:38:16 +0000 (20:38 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Thu, 1 Apr 2021 11:13:09 +0000 (20:13 +0900)
commit97a308d5ca5ac132d58dc0fdb2edf5237afe0141
tree7667360a338a41fd63b2ea0cfce42c258ef74042
parent33a9757fcea220dda24a8b481e7ab1a25a4be3b5
[optimizer] Add optimizer section to INI

Add a new optimizer section to INI
This is essential to allow custom optimizers as the
properties of optimizers needs to be iterables.
Currently, optimizer needs to specified in the model, which
along being not the best design, limits the properties to
be set for the optimizer as the model loader has to know
which properties are for optimizer and which for model.

This patch separates the optimizer as a new section and updates
the unittests.

Note that this removes the default optimizer from adam. Now, it is
necessary for an optimizer to be defined in the model file, if to be used for training.

For inference, model can be defined without an optimizer.
Updated documentation for the changes made.

See also #986

**Self evaluation:**
1. Build test: [x]Passed [ ]Failed [ ]Skipped
2. Run test: [x]Passed [ ]Failed [ ]Skipped

Signed-off-by: Parichay Kapoor <pk.kapoor@samsung.com>
21 files changed:
Applications/Custom/LayerClient/res/custom_layer_client.ini
Applications/LogisticRegression/res/LogisticRegression.ini
Applications/MNIST/res/mnist.ini
Applications/MNIST/res/mnist_valid.ini
Applications/ReinforcementLearning/DeepQ/jni/DeepQ.ini
Applications/ResNet/res/resnet18.ini
Applications/TransferLearning/CIFAR_Classification/res/Classification.ini
Applications/TransferLearning/CIFAR_Classification/res/Classification_func.ini
Applications/TransferLearning/CIFAR_Classification/res/Classification_new.ini
Applications/TransferLearning/Draw_Classification/res/Training.ini
Applications/VGG/res/vgg.ini
Applications/VGG/res/vgg_small.ini
docs/configuration-ini.md
nntrainer/models/model_loader.cpp
nntrainer/models/model_loader.h
test/ccapi/unittest_ccapi.cpp
test/test_models/models/mnist.ini
test/tizen_capi/unittest_tizen_capi.cpp
test/unittest/unittest_nntrainer_graph.cpp
test/unittest/unittest_nntrainer_modelfile.cpp
test/unittest/unittest_nntrainer_models.cpp