[
https://issues.apache.org/jira/browse/SINGA-60?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
wangwei updated SINGA-60:
-------------------------
Description:
The learning rate of SGD typically changes through time.
There are many different ways to change the learning rate of SGD. SINGA has
implemented a couple of changing methods. But users may want to implement their
own changing method. To make this part modular, this ticket is going to create
a base learning rate generator, e.g. called LRGen, which is declared like,
{code}
class LRGenerator {
public:
virtual float Get (int step) = 0;
protected:
LRProto proto_;
};
{code}
Users can then inherit LRGenerator to implement the their own changing
algorithm in the `Get(int step)`.
Users can also add configurations for their generator by extending the base
LRProto.
was:
The learning rate of SGD typically changes through time.
There are many different ways to change the learning rate of SGD. SINGA has
implemented a couple of changing methods. But users may want to implement their
own changing method. To make this part modular, this ticket is going to create
a base learning rate generator called LRGen, which is declared like,
{code}
class LRGen {
public:
virtual float operator() (int step) = 0;
protected:
LRProto proto_;
};
{code}
Users can then inherit LRGen to implement the their own changing algorithm in
the `operator()(int step)`.
Users can also add configurations for their generator by extending the base
LRProto.
> Make learning rate and param init modular
> -----------------------------------------
>
> Key: SINGA-60
> URL: https://issues.apache.org/jira/browse/SINGA-60
> Project: Singa
> Issue Type: Improvement
> Reporter: wangwei
>
> The learning rate of SGD typically changes through time.
> There are many different ways to change the learning rate of SGD. SINGA has
> implemented a couple of changing methods. But users may want to implement
> their own changing method. To make this part modular, this ticket is going to
> create a base learning rate generator, e.g. called LRGen, which is declared
> like,
> {code}
> class LRGenerator {
> public:
> virtual float Get (int step) = 0;
> protected:
> LRProto proto_;
> };
> {code}
> Users can then inherit LRGenerator to implement the their own changing
> algorithm in the `Get(int step)`.
> Users can also add configurations for their generator by extending the base
> LRProto.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)