New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[onert-micro] Introduce Training #12873
Comments
First proposalThe idea is to make a two-stage process. At the first stage, a model is prepared from the initial model on the developer's host (using one-toolchain) - back propagation graph is built, optimizations of this graph are carried out, and so on. At the second stage, based on the initial model and the resulting back propagation graph, training is performed on the device using onert-micro. The main goal in this proposal is to keep Proposed Overall structure of this two-stage system:
DetailsFirst stage it is -
As a result of the operation of this tool, we will receive three files: circle model without training weights, file where stored weights for training (wof - weights only format), and circle (maybe circle +) model with backpropagation graph.
The output graph of back propagation will consist of both traditional circle operations and special operations calculating the gradient for the current operation (for example, Conv2DWeigthGrad operation calculating the gradient for weights, Conv2DInputGrad - operation calculating the gradient for input tensor). These operations can be added as custom to circle, or for example, add them as specific to circle+. I prefer the second option. That is, these are operations for calculating the gradient. Second stage is - Onert-micro Training - will provide various training parameters. In order to achieve maximum effect during training, onert-micro training will be able to support different optimizers (SGD, ADAM, RMSProp, maybe some custom), the choice of the size of the batch, and specific constants of optimizers (learning rate, constans for ADAM, for RMSProp). |
Proposal for a file structure containing only trainable weights.wof (weigth only format)This proposal is taken from
Set offset as -1 if there is no data. The sequence numbers in this |
What
Let's discuss how to add training into onert-micro.
Why
We need add training feature into onert-micro for some target models.
cc @Torrero, @SlavikMIPT, @chunseoklee, @lemmaa
The text was updated successfully, but these errors were encountered: