You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@singa.apache.org by "wangwei (JIRA)" <ji...@apache.org> on 2015/10/10 11:49:05 UTC

[jira] [Resolved] (SINGA-70) Refactor API of Layer, Worker, Server and Driver

     [ 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)