[
https://issues.apache.org/jira/browse/SINGA-70?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
wangwei resolved SINGA-70.
--------------------------
Resolution: Fixed
Assignee: wangwei
> Refactor API of Layer, Worker, Server and Driver
> ------------------------------------------------
>
> Key: SINGA-70
> URL: https://issues.apache.org/jira/browse/SINGA-70
> Project: Singa
> Issue Type: Improvement
> Reporter: wangwei
> Assignee: wangwei
>
> Currently, each layer manages its own source and destination layers.
> *ComputeFeature* and *ComputeGradient* functions get data from *srclayer_*.
> There are two problems for this design,
> * Layer is in charge of feature transformation, who should not be involved in
> the network topology management like managing the srclayer_ filed.
> * The API of layer functions are not elegant. Every layer computes features
> (or gradient) based on its connected layer. Hence the connection layers
> (i.e., srclayers) should be provided as one argument.
> If we move the srclayer to the function argument list, then the layer class
> would be more modular. The neural net topology can be managed by the
> NeuralNet class.
> Layer::ToString() is added for displaying information from layers. For
> example, we can use this function to display the performance of
> training/validation/test. It can also be used for displaying debug
> information.
> It is called by the Worker, e.g., after validation test or periodically.
> This ticket also refactors the code of Worker, Server and Driver.
> The creation functions for workers and servers are moved into Driver.
> The Trainer is renamed to Stub, which manages (e.g., handling or forwarding)
> messages between workers and servers.
> All files in folder trainer is moved outside to be under the src/ or include/.
> The folder *communication* is renamed to *comm*
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)