{"action":"created","comment":{"url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/comments/187700945","pull_request_review_id":119540942,"id":187700945,"diff_hunk":"@@ -0,0 +1,454 @@\n+/*","path":"src/operator/rnn_impl.hpp","position":1,"original_position":1,"commit_id":"a60de7206ab073500eb89b50facfaa96920698e6","original_commit_id":"a60de7206ab073500eb89b50facfaa96920698e6","user":{"login":"piiswrong","id":568948,"avatar_url":"https://avatars0.githubusercontent.com/u/568948?v=4","gravatar_id":"","url":"https://api.github.com/users/piiswrong","html_url":"https://github.com/piiswrong","followers_url":"https://api.github.com/users/piiswrong/followers","following_url":"https://api.github.com/users/piiswrong/following{/other_user}","gists_url":"https://api.github.com/users/piiswrong/gists{/gist_id}","starred_url":"https://api.github.com/users/piiswrong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/piiswrong/subscriptions","organizations_url":"https://api.github.com/users/piiswrong/orgs","repos_url":"https://api.github.com/users/piiswrong/repos","events_url":"https://api.github.com/users/piiswrong/events{/privacy}","received_events_url":"https://api.github.com/users/piiswrong/received_events","type":"User","site_admin":false},"body":"we don't use hpp. Please rename to .h","created_at":"2018-05-11T18:44:59Z","updated_at":"2018-05-11T18:52:00Z","html_url":"https://github.com/apache/incubator-mxnet/pull/10104#discussion_r187700945","pull_request_url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/10104","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/comments/187700945"},"html":{"href":"https://github.com/apache/incubator-mxnet/pull/10104#discussion_r187700945"},"pull_request":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/10104"}}},"pull_request":{"url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/10104","id":174893669,"html_url":"https://github.com/apache/incubator-mxnet/pull/10104","diff_url":"https://github.com/apache/incubator-mxnet/pull/10104.diff","patch_url":"https://github.com/apache/incubator-mxnet/pull/10104.patch","issue_url":"https://api.github.com/repos/apache/incubator-mxnet/issues/10104","number":10104,"state":"open","locked":false,"title":"[WIP][MXNET-107] Fused LSTM implementation for CPU","user":{"login":"Sherry-Zhang","id":19761813,"avatar_url":"https://avatars1.githubusercontent.com/u/19761813?v=4","gravatar_id":"","url":"https://api.github.com/users/Sherry-Zhang","html_url":"https://github.com/Sherry-Zhang","followers_url":"https://api.github.com/users/Sherry-Zhang/followers","following_url":"https://api.github.com/users/Sherry-Zhang/following{/other_user}","gists_url":"https://api.github.com/users/Sherry-Zhang/gists{/gist_id}","starred_url":"https://api.github.com/users/Sherry-Zhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sherry-Zhang/subscriptions","organizations_url":"https://api.github.com/users/Sherry-Zhang/orgs","repos_url":"https://api.github.com/users/Sherry-Zhang/repos","events_url":"https://api.github.com/users/Sherry-Zhang/events{/privacy}","received_events_url":"https://api.github.com/users/Sherry-Zhang/received_events","type":"User","site_admin":false},"body":"## Description\r\nIn this PR, a fused LSTM operator for CPU is implemented. More supports for other RNN variants are WIP and will be submitted in other PRs.\r\n\r\n## Feature changes\r\n### New features\r\n* Fused LSTM implemention, including both forward and backward computation.\r\n* Share the same frontend interfaces with current `sym.RNN` operator\r\n* Share the same algorithm and input layout with current `sym.RNN` operator\r\n* ~~Refactor code and register it with NNVM interfaces~~\r\n* Support both FP32 and FP64 inputs, more types will be supported later, such as int8\r\n* Provide more extensible APIs for other RNN variants(vanilla RNN/GRU)\r\n\r\n\r\n## Unit-test changes\r\n* Create new test `test_lstm` and `test_lstm_bidirectional`in `tests/python/unittests/test_operator.py` \r\n* Check consistency with original LSTMCell implementation\r\n\r\n## Performance\r\nWe have tested performance of `sym.RNN` and `rnn.LSTMCell` on our local Skylake-8180 with 2 Sockets and 56 cores. Use MKL as blas lib in this performance test.\r\nTest input size is from DS2 default parameters(seq_length = 300, batch_size = 20, input_size = 800, hidden_size = 800).\r\n\r\n**single layer measurement**:\r\n\r\n| API                  | Inference time(fwd, sec)  |  Training time(fwd + bwd, sec)           |\r\n| --------           | :-----:                              | :----:                                   |\r\n| rnn.LSTMCell  | 0.106902                       |  0.273108                            |\r\n| #9977             | 0.050126                      |    ---                                   |\r\n| this PR            | 0.050668                      |  0.130266                               |\r\n| speedup         | 2.1x                              |  2.1x                                    |\r\n\r\n**multi layer measurement**: num_layers=5\r\n\r\n| API                  | Inference time(fwd, sec)  |  Training time(fwd + bwd, sec)           |\r\n|  :--------:         | :-----:                              | :----:                                   |\r\n| rnn.LSTMCell | 0.532034                       | 1.546486                          |\r\n| sym.RNN(#9977) | 0.18641                         |    ---                                   |\r\n| sym.RNN(this PR) | 0.190032                     |   0.619439                               |\r\n| rnn.LSTMCell(cuda) | 0.231355                     | 0.785780                         |\r\n| sym.RNN(cudnn)  | 0.060647                     |   0.161115                               |\r\n| speedup  <br> #10104 /LSTMCell        | 285.41%                             |  249.66%                                  |\r\n| speedup  <br> #10104 /LSTMCell(cuda) | 124.09%                          |  126.85%                                  |\r\n| speedup <br>  #10104 / sym.RNN(cudnn) | 32.53%                        |  26.01%                                    |\r\n\r\n\r\n## Opens\r\n* [ ] ~~Fix cudnn registeration in this PR~~\r\n* [x] Add multi-layer and bidirectional support for LSTM.\r\n* [x] Support gluon interfaces\r\n* [ ] fix NNVM registration\r\n* [ ] Other RNN variants (will be added in in other PRs)\r\n* [ ] Add dropout support(in other PRs)\r\n\r\n\r\n## Checklist ##\r\n### Essentials ###\r\n- [x] Passed code style checking (`make lint`)\r\n- [x] Changes are complete (i.e. I finished coding on this PR)\r\n- [x] All changes have test coverage:\r\n- Unit tests are added for small changes to verify correctness (e.g. adding a new operator)\r\n- Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)\r\n- Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)\r\n- [x] Code is well-documented: \r\n- For user-facing API changes, API doc string has been updated. \r\n- For new C++ functions in header files, their functionalities and arguments are documented. \r\n- For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable\r\n- [x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change\r\n\r\n\r\n","created_at":"2018-03-14T09:19:08Z","updated_at":"2018-05-11T18:52:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bdf7b9c6f4af7f53636e253ac7f0c3dca2e86419","assignee":null,"assignees":[],"requested_reviewers":[{"login":"yzhliu","id":631860,"avatar_url":"https://avatars1.githubusercontent.com/u/631860?v=4","gravatar_id":"","url":"https://api.github.com/users/yzhliu","html_url":"https://github.com/yzhliu","followers_url":"https://api.github.com/users/yzhliu/followers","following_url":"https://api.github.com/users/yzhliu/following{/other_user}","gists_url":"https://api.github.com/users/yzhliu/gists{/gist_id}","starred_url":"https://api.github.com/users/yzhliu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yzhliu/subscriptions","organizations_url":"https://api.github.com/users/yzhliu/orgs","repos_url":"https://api.github.com/users/yzhliu/repos","events_url":"https://api.github.com/users/yzhliu/events{/privacy}","received_events_url":"https://api.github.com/users/yzhliu/received_events","type":"User","site_admin":false},{"login":"thirdwing","id":1547093,"avatar_url":"https://avatars2.githubusercontent.com/u/1547093?v=4","gravatar_id":"","url":"https://api.github.com/users/thirdwing","html_url":"https://github.com/thirdwing","followers_url":"https://api.github.com/users/thirdwing/followers","following_url":"https://api.github.com/users/thirdwing/following{/other_user}","gists_url":"https://api.github.com/users/thirdwing/gists{/gist_id}","starred_url":"https://api.github.com/users/thirdwing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thirdwing/subscriptions","organizations_url":"https://api.github.com/users/thirdwing/orgs","repos_url":"https://api.github.com/users/thirdwing/repos","events_url":"https://api.github.com/users/thirdwing/events{/privacy}","received_events_url":"https://api.github.com/users/thirdwing/received_events","type":"User","site_admin":false},{"login":"szha","id":2626883,"avatar_url":"https://avatars2.githubusercontent.com/u/2626883?v=4","gravatar_id":"","url":"https://api.github.com/users/szha","html_url":"https://github.com/szha","followers_url":"https://api.github.com/users/szha/followers","following_url":"https://api.github.com/users/szha/following{/other_user}","gists_url":"https://api.github.com/users/szha/gists{/gist_id}","starred_url":"https://api.github.com/users/szha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/szha/subscriptions","organizations_url":"https://api.github.com/users/szha/orgs","repos_url":"https://api.github.com/users/szha/repos","events_url":"https://api.github.com/users/szha/events{/privacy}","received_events_url":"https://api.github.com/users/szha/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/10104/commits","review_comments_url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/10104/comments","review_comment_url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/comments{/number}","comments_url":"https://api.github.com/repos/apache/incubator-mxnet/issues/10104/comments","statuses_url":"https://api.github.com/repos/apache/incubator-mxnet/statuses/a60de7206ab073500eb89b50facfaa96920698e6","head":{"label":"Sherry-Zhang:rnn_refactor","ref":"rnn_refactor","sha":"a60de7206ab073500eb89b50facfaa96920698e6","user":{"login":"Sherry-Zhang","id":19761813,"avatar_url":"https://avatars1.githubusercontent.com/u/19761813?v=4","gravatar_id":"","url":"https://api.github.com/users/Sherry-Zhang","html_url":"https://github.com/Sherry-Zhang","followers_url":"https://api.github.com/users/Sherry-Zhang/followers","following_url":"https://api.github.com/users/Sherry-Zhang/following{/other_user}","gists_url":"https://api.github.com/users/Sherry-Zhang/gists{/gist_id}","starred_url":"https://api.github.com/users/Sherry-Zhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sherry-Zhang/subscriptions","organizations_url":"https://api.github.com/users/Sherry-Zhang/orgs","repos_url":"https://api.github.com/users/Sherry-Zhang/repos","events_url":"https://api.github.com/users/Sherry-Zhang/events{/privacy}","received_events_url":"https://api.github.com/users/Sherry-Zhang/received_events","type":"User","site_admin":false},"repo":{"id":124346692,"name":"incubator-mxnet","full_name":"Sherry-Zhang/incubator-mxnet","owner":{"login":"Sherry-Zhang","id":19761813,"avatar_url":"https://avatars1.githubusercontent.com/u/19761813?v=4","gravatar_id":"","url":"https://api.github.com/users/Sherry-Zhang","html_url":"https://github.com/Sherry-Zhang","followers_url":"https://api.github.com/users/Sherry-Zhang/followers","following_url":"https://api.github.com/users/Sherry-Zhang/following{/other_user}","gists_url":"https://api.github.com/users/Sherry-Zhang/gists{/gist_id}","starred_url":"https://api.github.com/users/Sherry-Zhang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sherry-Zhang/subscriptions","organizations_url":"https://api.github.com/users/Sherry-Zhang/orgs","repos_url":"https://api.github.com/users/Sherry-Zhang/repos","events_url":"https://api.github.com/users/Sherry-Zhang/events{/privacy}","received_events_url":"https://api.github.com/users/Sherry-Zhang/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Sherry-Zhang/incubator-mxnet","description":"Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more","fork":true,"url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet","forks_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/forks","keys_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/teams","hooks_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/hooks","issue_events_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/issues/events{/number}","events_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/events","assignees_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/assignees{/user}","branches_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/branches{/branch}","tags_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/tags","blobs_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/git/refs{/sha}","trees_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/statuses/{sha}","languages_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/languages","stargazers_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/stargazers","contributors_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/contributors","subscribers_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/subscribers","subscription_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/subscription","commits_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/commits{/sha}","git_commits_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/git/commits{/sha}","comments_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/comments{/number}","issue_comment_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/issues/comments{/number}","contents_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/contents/{+path}","compare_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/merges","archive_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/downloads","issues_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/issues{/number}","pulls_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/pulls{/number}","milestones_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/milestones{/number}","notifications_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/labels{/name}","releases_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/releases{/id}","deployments_url":"https://api.github.com/repos/Sherry-Zhang/incubator-mxnet/deployments","created_at":"2018-03-08T06:23:33Z","updated_at":"2018-04-16T07:29:49Z","pushed_at":"2018-05-09T14:11:19Z","git_url":"git://github.com/Sherry-Zhang/incubator-mxnet.git","ssh_url":"git@github.com:Sherry-Zhang/incubator-mxnet.git","clone_url":"https://github.com/Sherry-Zhang/incubator-mxnet.git","svn_url":"https://github.com/Sherry-Zhang/incubator-mxnet","homepage":"http://mxnet.io","size":36007,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"apache:master","ref":"master","sha":"f02caae5a06c84d2e764f3a4c4283cf838e3d69f","user":{"login":"apache","id":47359,"avatar_url":"https://avatars0.githubusercontent.com/u/47359?v=4","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"repo":{"id":34864402,"name":"incubator-mxnet","full_name":"apache/incubator-mxnet","owner":{"login":"apache","id":47359,"avatar_url":"https://avatars0.githubusercontent.com/u/47359?v=4","gravatar_id":"","url":"https://api.github.com/users/apache","html_url":"https://github.com/apache","followers_url":"https://api.github.com/users/apache/followers","following_url":"https://api.github.com/users/apache/following{/other_user}","gists_url":"https://api.github.com/users/apache/gists{/gist_id}","starred_url":"https://api.github.com/users/apache/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/apache/subscriptions","organizations_url":"https://api.github.com/users/apache/orgs","repos_url":"https://api.github.com/users/apache/repos","events_url":"https://api.github.com/users/apache/events{/privacy}","received_events_url":"https://api.github.com/users/apache/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/apache/incubator-mxnet","description":"Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more","fork":false,"url":"https://api.github.com/repos/apache/incubator-mxnet","forks_url":"https://api.github.com/repos/apache/incubator-mxnet/forks","keys_url":"https://api.github.com/repos/apache/incubator-mxnet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/apache/incubator-mxnet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/apache/incubator-mxnet/teams","hooks_url":"https://api.github.com/repos/apache/incubator-mxnet/hooks","issue_events_url":"https://api.github.com/repos/apache/incubator-mxnet/issues/events{/number}","events_url":"https://api.github.com/repos/apache/incubator-mxnet/events","assignees_url":"https://api.github.com/repos/apache/incubator-mxnet/assignees{/user}","branches_url":"https://api.github.com/repos/apache/incubator-mxnet/branches{/branch}","tags_url":"https://api.github.com/repos/apache/incubator-mxnet/tags","blobs_url":"https://api.github.com/repos/apache/incubator-mxnet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/apache/incubator-mxnet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/apache/incubator-mxnet/git/refs{/sha}","trees_url":"https://api.github.com/repos/apache/incubator-mxnet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/apache/incubator-mxnet/statuses/{sha}","languages_url":"https://api.github.com/repos/apache/incubator-mxnet/languages","stargazers_url":"https://api.github.com/repos/apache/incubator-mxnet/stargazers","contributors_url":"https://api.github.com/repos/apache/incubator-mxnet/contributors","subscribers_url":"https://api.github.com/repos/apache/incubator-mxnet/subscribers","subscription_url":"https://api.github.com/repos/apache/incubator-mxnet/subscription","commits_url":"https://api.github.com/repos/apache/incubator-mxnet/commits{/sha}","git_commits_url":"https://api.github.com/repos/apache/incubator-mxnet/git/commits{/sha}","comments_url":"https://api.github.com/repos/apache/incubator-mxnet/comments{/number}","issue_comment_url":"https://api.github.com/repos/apache/incubator-mxnet/issues/comments{/number}","contents_url":"https://api.github.com/repos/apache/incubator-mxnet/contents/{+path}","compare_url":"https://api.github.com/repos/apache/incubator-mxnet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/apache/incubator-mxnet/merges","archive_url":"https://api.github.com/repos/apache/incubator-mxnet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/apache/incubator-mxnet/downloads","issues_url":"https://api.github.com/repos/apache/incubator-mxnet/issues{/number}","pulls_url":"https://api.github.com/repos/apache/incubator-mxnet/pulls{/number}","milestones_url":"https://api.github.com/repos/apache/incubator-mxnet/milestones{/number}","notifications_url":"https://api.github.com/repos/apache/incubator-mxnet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/apache/incubator-mxnet/labels{/name}","releases_url":"https://api.github.com/repos/apache/incubator-mxnet/releases{/id}","deployments_url":"https://api.github.com/repos/apache/incubator-mxnet/deployments","created_at":"2015-04-30T16:21:15Z","updated_at":"2018-05-11T18:28:08Z","pushed_at":"2018-05-11T18:51:54Z","git_url":"git://github.com/apache/incubator-mxnet.git","ssh_url":"git@github.com:apache/incubator-mxnet.git","clone_url":"https://github.com/apache/incubator-mxnet.git","svn_url":"https://github.com/apache/incubator-mxnet","homepage":"https://mxnet.apache.org","size":36062,"stargazers_count":13902,"watchers_count":13902,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5143,"mirror_url":null,"archived":false,"open_issues_count":924,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":5143,"open_issues":924,"watchers":13902,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/10104"},"html":{"href":"https://github.com/apache/incubator-mxnet/pull/10104"},"issue":{"href":"https://api.github.com/repos/apache/incubator-mxnet/issues/10104"},"comments":{"href":"https://api.github.com/repos/apache/incubator-mxnet/issues/10104/comments"},"review_comments":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/10104/comments"},"review_comment":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/10104/commits"},"statuses":{"href":"https://api.github.com/repos/apache/incubator-mxnet/statuses/a60de7206ab073500eb89b50facfaa96920698e6"}},"author_association":"NONE"}}
{"actor":{"display_login":"piiswrong"}}