You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@singa.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2017/05/24 12:13:04 UTC
[jira] [Commented] (SINGA-315) Reduce memory footprint by Python
generator for parameter gradient
[ https://issues.apache.org/jira/browse/SINGA-315?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16022788#comment-16022788 ]
ASF subversion and git services commented on SINGA-315:
-------------------------------------------------------
Commit ea078dca9cfafdda9d5a15ae2f2823897d217292 in incubator-singa's branch refs/heads/master from wangwei
[ https://git-wip-us.apache.org/repos/asf?p=incubator-singa.git;h=ea078dc ]
SINGA-315 Reduce memory footprint by Python generator for parameter gradient
Update the API of net::backward() function.
1. add arguments dy and output. dy for the input gradient tensor(s), e.g. from the loss functions.
output is a list of layer names, whose output gradient tensor(s) would be returned in addition to the param gradient tensor(s).
2. returnes a generator iterator that generates (param_names, param_values, param_grads, out_grads) after processing each layer.
The callee function can update the parameters and release the gradient tensors in layerwise.
> Reduce memory footprint by Python generator for parameter gradient
> ------------------------------------------------------------------
>
> Key: SINGA-315
> URL: https://issues.apache.org/jira/browse/SINGA-315
> Project: Singa
> Issue Type: New Feature
> Reporter: wangwei
>
> The parameter gradient tensors are stored in memory until BP is finished.
> This is not necessary as we can update the parameter once its gradient is ready. Then we free the gradient tensor.
> In this way, we reduce the memory footprint by avoiding store all gradient tensors.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)