{"action":"created","issue":{"url":"https://api.github.com/repos/tensorflow/tensorflow/issues/13012","repository_url":"https://api.github.com/repos/tensorflow/tensorflow","labels_url":"https://api.github.com/repos/tensorflow/tensorflow/issues/13012/labels{/name}","comments_url":"https://api.github.com/repos/tensorflow/tensorflow/issues/13012/comments","events_url":"https://api.github.com/repos/tensorflow/tensorflow/issues/13012/events","html_url":"https://github.com/tensorflow/tensorflow/pull/13012","id":257351180,"number":13012,"title":"Elastic Average optimizer","user":{"login":"jinxin0924","id":8096033,"avatar_url":"https://avatars0.githubusercontent.com/u/8096033?v=4","gravatar_id":"","url":"https://api.github.com/users/jinxin0924","html_url":"https://github.com/jinxin0924","followers_url":"https://api.github.com/users/jinxin0924/followers","following_url":"https://api.github.com/users/jinxin0924/following{/other_user}","gists_url":"https://api.github.com/users/jinxin0924/gists{/gist_id}","starred_url":"https://api.github.com/users/jinxin0924/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jinxin0924/subscriptions","organizations_url":"https://api.github.com/users/jinxin0924/orgs","repos_url":"https://api.github.com/users/jinxin0924/repos","events_url":"https://api.github.com/users/jinxin0924/events{/privacy}","received_events_url":"https://api.github.com/users/jinxin0924/received_events","type":"User","site_admin":false},"labels":[{"id":390482148,"url":"https://api.github.com/repos/tensorflow/tensorflow/labels/awaiting%20review","name":"awaiting review","color":"fef2c0","default":false},{"id":300136587,"url":"https://api.github.com/repos/tensorflow/tensorflow/labels/cla:%20yes","name":"cla: yes","color":"009800","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2017-09-13T11:46:22Z","updated_at":"2017-11-08T20:54:56Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/tensorflow/tensorflow/pulls/13012","html_url":"https://github.com/tensorflow/tensorflow/pull/13012","diff_url":"https://github.com/tensorflow/tensorflow/pull/13012.diff","patch_url":"https://github.com/tensorflow/tensorflow/pull/13012.patch"},"body":"I have implemented a new distributed optimizer \"ElasticAverageOptimizer\". It is mentioned in the following issue:\r\n#12472\r\n\r\nEASGD is an async optimizer. During the training, Each worker will update the local variables and maintains its own local_step, which starts from 0 and is incremented by 1 after each update of local variables. Whenever the communication period divides the local step, the worker requests the current global center variables and then computed the elastic difference between global center variables and local variables. The elastic difference then be used to update both local variables and global variables.\r\n\r\n**[Reference]**: https://arxiv.org/pdf/1412.6651.pdf"},"comment":{"url":"https://api.github.com/repos/tensorflow/tensorflow/issues/comments/342956341","html_url":"https://github.com/tensorflow/tensorflow/pull/13012#issuecomment-342956341","issue_url":"https://api.github.com/repos/tensorflow/tensorflow/issues/13012","id":342956341,"user":{"login":"ry","id":80,"avatar_url":"https://avatars1.githubusercontent.com/u/80?v=4","gravatar_id":"","url":"https://api.github.com/users/ry","html_url":"https://github.com/ry","followers_url":"https://api.github.com/users/ry/followers","following_url":"https://api.github.com/users/ry/following{/other_user}","gists_url":"https://api.github.com/users/ry/gists{/gist_id}","starred_url":"https://api.github.com/users/ry/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ry/subscriptions","organizations_url":"https://api.github.com/users/ry/orgs","repos_url":"https://api.github.com/users/ry/repos","events_url":"https://api.github.com/users/ry/events{/privacy}","received_events_url":"https://api.github.com/users/ry/received_events","type":"User","site_admin":false},"created_at":"2017-11-08T20:54:55Z","updated_at":"2017-11-08T20:54:55Z","author_association":"CONTRIBUTOR","body":"@drpngx I'm sorry, I've left Google, and cannot review this anymore. I apologize for not handing this off to someone else. \r\n\r\n@vrv might be able to suggest a new reviewer. (I have some code in my experimental directory called distbench to test distributed training, in case that's helpful.)"}}
{"actor":{"display_login":"ry"}}