{"action":"created","issue":{"url":"https://api.github.com/repos/chainer/chainer/issues/4730","repository_url":"https://api.github.com/repos/chainer/chainer","labels_url":"https://api.github.com/repos/chainer/chainer/issues/4730/labels{/name}","comments_url":"https://api.github.com/repos/chainer/chainer/issues/4730/comments","events_url":"https://api.github.com/repos/chainer/chainer/issues/4730/events","html_url":"https://github.com/chainer/chainer/pull/4730","id":321307380,"node_id":"MDExOlB1bGxSZXF1ZXN0MTg2NzI1Mjg5","number":4730,"title":"[WIP] Add LinkHook","user":{"login":"mitmul","id":666535,"node_id":"MDQ6VXNlcjY2NjUzNQ==","avatar_url":"https://avatars0.githubusercontent.com/u/666535?v=4","gravatar_id":"","url":"https://api.github.com/users/mitmul","html_url":"https://github.com/mitmul","followers_url":"https://api.github.com/users/mitmul/followers","following_url":"https://api.github.com/users/mitmul/following{/other_user}","gists_url":"https://api.github.com/users/mitmul/gists{/gist_id}","starred_url":"https://api.github.com/users/mitmul/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mitmul/subscriptions","organizations_url":"https://api.github.com/users/mitmul/orgs","repos_url":"https://api.github.com/users/mitmul/repos","events_url":"https://api.github.com/users/mitmul/events{/privacy}","received_events_url":"https://api.github.com/users/mitmul/received_events","type":"User","site_admin":false},"labels":[{"id":222603817,"node_id":"MDU6TGFiZWwyMjI2MDM4MTc=","url":"https://api.github.com/repos/chainer/chainer/labels/feature","name":"feature","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-05-08T18:58:34Z","updated_at":"2018-07-27T01:45:28Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/chainer/chainer/pulls/4730","html_url":"https://github.com/chainer/chainer/pull/4730","diff_url":"https://github.com/chainer/chainer/pull/4730.diff","patch_url":"https://github.com/chainer/chainer/pull/4730.patch"},"body":"This PR adds `LinkHook` which enables to add `forward_preprocess` and `forward_postprocess` hooks to `chainer.Link`s. To enable this, all the `__call__` methods of provided `Link`s in Chainer are renamed to `forward`. `Link.__call__` is still available and it calls `forward_preprocess` first, then call `Link.forward`, then call `forward_postprocess`. Almost all design is come from `FunctionHook`.\r\n\r\n- [ ] Check all documents\r\n- [ ] Fix `ForwardTimerHook` under link_hooks"},"comment":{"url":"https://api.github.com/repos/chainer/chainer/issues/comments/408286210","html_url":"https://github.com/chainer/chainer/pull/4730#issuecomment-408286210","issue_url":"https://api.github.com/repos/chainer/chainer/issues/4730","id":408286210,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODI4NjIxMA==","user":{"login":"niboshi","id":635436,"node_id":"MDQ6VXNlcjYzNTQzNg==","avatar_url":"https://avatars0.githubusercontent.com/u/635436?v=4","gravatar_id":"","url":"https://api.github.com/users/niboshi","html_url":"https://github.com/niboshi","followers_url":"https://api.github.com/users/niboshi/followers","following_url":"https://api.github.com/users/niboshi/following{/other_user}","gists_url":"https://api.github.com/users/niboshi/gists{/gist_id}","starred_url":"https://api.github.com/users/niboshi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/niboshi/subscriptions","organizations_url":"https://api.github.com/users/niboshi/orgs","repos_url":"https://api.github.com/users/niboshi/repos","events_url":"https://api.github.com/users/niboshi/events{/privacy}","received_events_url":"https://api.github.com/users/niboshi/received_events","type":"User","site_admin":false},"created_at":"2018-07-27T01:45:28Z","updated_at":"2018-07-27T01:45:28Z","author_association":"MEMBER","body":"I think we should tell which \"forward\" function is called to the callback.\r\nIt may be enough to pass a function name (`str`, in this PR it's always `'forward'`.) as an additional argument.\r\n\r\nBut I think it's better to wrap such arugments as some object, to avoid breaking user code in the future.\r\n\r\n"}}
{"actor":{"display_login":"niboshi"}}