{"action":"created","comment":{"url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/comments/218583805","pull_request_review_id":156555613,"id":218583805,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxODU4MzgwNQ==","diff_hunk":"@@ -1084,5 +1092,71 @@ def _clear_cached_op(self):\n         super(SymbolBlock, self)._clear_cached_op()\n         self._cached_graph = tmp\n \n+    def cast(self, dtype):\n+        self._clear_cached_op()\n+        super(SymbolBlock, self).cast(dtype)\n+\n     def hybrid_forward(self, F, x, *args, **kwargs):\n         raise NotImplementedError\n+\n+def _infer_param_types(in_params, out_params, arg_params, aux_params, default_dtype=mx_real_t):\n+    \"\"\"Utility function that helps in inferring DType of args and auxs params\n+    from given input param.\n+\n+    Parameters\n+    ----------\n+    in_params: List of Symbol\n+        List of input symbol variables.\n+    out_params: Symbol\n+        Output symbol variable.\n+    arg_params: List of Str\n+        List of names of argument parametrs.\n+    aux_params: List of Str\n+        List of names of auxiliary parameters.\n+    default_dtype: numpy.dtype or str, default 'float32'\n+        Default data type for arg_params and aux_params, if unable to infer the type.\n+\n+    Returns\n+    -------\n+    arg_types: List of numpy.dtype\n+        List of arg_params type. Order is same as arg_params.\n+        Defaults to 'float32', if unable to infer type.\n+    aux_types: List of numpy.dtype\n+        List of aux_params type. Order is same as aux_params.\n+        Defaults to 'float32', if unable to infer type.\n+    \"\"\"\n+    arg_types = None\n+    aux_types = None\n+\n+    # Get Input symbol details. This will be used to infer types of\n+    # other parameters.\n+    input_sym_names = [in_param.name for in_param in in_params]\n+\n+    # Try to infer input types. If not successful, we will set default dtype.","path":"python/mxnet/gluon/block.py","position":79,"original_position":79,"commit_id":"b58ea417e1123cc86ce55306fb336a75d07c8108","original_commit_id":"b58ea417e1123cc86ce55306fb336a75d07c8108","user":{"login":"zhreshold","id":3307514,"node_id":"MDQ6VXNlcjMzMDc1MTQ=","avatar_url":"https://avatars2.githubusercontent.com/u/3307514?v=4","gravatar_id":"","url":"https://api.github.com/users/zhreshold","html_url":"https://github.com/zhreshold","followers_url":"https://api.github.com/users/zhreshold/followers","following_url":"https://api.github.com/users/zhreshold/following{/other_user}","gists_url":"https://api.github.com/users/zhreshold/gists{/gist_id}","starred_url":"https://api.github.com/users/zhreshold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zhreshold/subscriptions","organizations_url":"https://api.github.com/users/zhreshold/orgs","repos_url":"https://api.github.com/users/zhreshold/repos","events_url":"https://api.github.com/users/zhreshold/events{/privacy}","received_events_url":"https://api.github.com/users/zhreshold/received_events","type":"User","site_admin":false},"body":"I don't get why this would fail to infer_type? ","created_at":"2018-09-18T20:31:48Z","updated_at":"2018-09-18T20:31:48Z","html_url":"https://github.com/apache/incubator-mxnet/pull/12412#discussion_r218583805","pull_request_url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/12412","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/comments/218583805"},"html":{"href":"https://github.com/apache/incubator-mxnet/pull/12412#discussion_r218583805"},"pull_request":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/12412"}},"in_reply_to_id":218252432},"pull_request":{"url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/12412","id":212145012,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEyMTQ1MDEy","html_url":"https://github.com/apache/incubator-mxnet/pull/12412","diff_url":"https://github.com/apache/incubator-mxnet/pull/12412.diff","patch_url":"https://github.com/apache/incubator-mxnet/pull/12412.patch","issue_url":"https://api.github.com/repos/apache/incubator-mxnet/issues/12412","number":12412,"state":"open","locked":false,"title":"Infer dtype in SymbolBlock import from input symbol","user":{"login":"sandeep-krishnamurthy","id":3403674,"node_id":"MDQ6VXNlcjM0MDM2NzQ=","avatar_url":"https://avatars1.githubusercontent.com/u/3403674?v=4","gravatar_id":"","url":"https://api.github.com/users/sandeep-krishnamurthy","html_url":"https://github.com/sandeep-krishnamurthy","followers_url":"https://api.github.com/users/sandeep-krishnamurthy/followers","following_url":"https://api.github.com/users/sandeep-krishnamurthy/following{/other_user}","gists_url":"https://api.github.com/users/sandeep-krishnamurthy/gists{/gist_id}","starred_url":"https://api.github.com/users/sandeep-krishnamurthy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandeep-krishnamurthy/subscriptions","organizations_url":"https://api.github.com/users/sandeep-krishnamurthy/orgs","repos_url":"https://api.github.com/users/sandeep-krishnamurthy/repos","events_url":"https://api.github.com/users/sandeep-krishnamurthy/events{/privacy}","received_events_url":"https://api.github.com/users/sandeep-krishnamurthy/received_events","type":"User","site_admin":false},"body":"## Description ##\r\n* Fix for the issue - https://github.com/apache/incubator-mxnet/issues/11849 \r\n* Currently, Gluon symbol block cannot import any symbol with type other than fp32. All the parameters are created as FP32 leading to failure in importing the params when it is of type fp16, fp64 etc,\r\n* In this PR, we infer the type of the symbol being imported and create the Symbol Block Parameters with that inferred type.\r\n\r\n~~Created this PR for getting the early feedback. I am working on adding test cases for this and will update the PR soon~~ \r\nAdded the tests\r\n\r\n@szha @hetong007 @apeforest - Can you please take a look at this?\r\n@Roshrini - I think this is important fix to be picked for 1.3. @szha ?\r\n\r\n## Checklist ##\r\n### Essentials ###\r\nPlease feel free to remove inapplicable items for your PR.\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- Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html\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### Changes ###\r\n* In this PR, we infer the type of the symbol being imported and create the Symbol Block Parameters with that inferred type.\r\n* If we cannot infer the type, we go by usual route using default dtype (fp32) for creating the parameters.\r\n\r\n### Comments ###\r\nBelow is the issue:\r\n\r\nWhen you create mx.gluon.SymbolBlock(sm, input). It creates the parameters in the Block. Type is not passed for creating the parameter.\r\nSee here - https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/gluon/block.py#L1058 and the behavior is \"If there is not parameter to get, it creates one and uses default type (fp32) https://github.com/apache/incubator-mxnet/blob/master/python/mxnet/gluon/parameter.py#L688","created_at":"2018-08-30T16:51:26Z","updated_at":"2018-09-18T20:31:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"54f058773c056c65c7dea000785662ff3dfa7b08","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":708228884,"node_id":"MDU6TGFiZWw3MDgyMjg4ODQ=","url":"https://api.github.com/repos/apache/incubator-mxnet/labels/Gluon","name":"Gluon","color":"fbca04","default":false},{"id":1018798522,"node_id":"MDU6TGFiZWwxMDE4Nzk4NTIy","url":"https://api.github.com/repos/apache/incubator-mxnet/labels/pr-awaiting-review","name":"pr-awaiting-review","color":"d93f0b","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/12412/commits","review_comments_url":"https://api.github.com/repos/apache/incubator-mxnet/pulls/12412/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/12412/comments","statuses_url":"https://api.github.com/repos/apache/incubator-mxnet/statuses/b58ea417e1123cc86ce55306fb336a75d07c8108","head":{"label":"sandeep-krishnamurthy:fix_gluon_fp16","ref":"fix_gluon_fp16","sha":"b58ea417e1123cc86ce55306fb336a75d07c8108","user":{"login":"sandeep-krishnamurthy","id":3403674,"node_id":"MDQ6VXNlcjM0MDM2NzQ=","avatar_url":"https://avatars1.githubusercontent.com/u/3403674?v=4","gravatar_id":"","url":"https://api.github.com/users/sandeep-krishnamurthy","html_url":"https://github.com/sandeep-krishnamurthy","followers_url":"https://api.github.com/users/sandeep-krishnamurthy/followers","following_url":"https://api.github.com/users/sandeep-krishnamurthy/following{/other_user}","gists_url":"https://api.github.com/users/sandeep-krishnamurthy/gists{/gist_id}","starred_url":"https://api.github.com/users/sandeep-krishnamurthy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandeep-krishnamurthy/subscriptions","organizations_url":"https://api.github.com/users/sandeep-krishnamurthy/orgs","repos_url":"https://api.github.com/users/sandeep-krishnamurthy/repos","events_url":"https://api.github.com/users/sandeep-krishnamurthy/events{/privacy}","received_events_url":"https://api.github.com/users/sandeep-krishnamurthy/received_events","type":"User","site_admin":false},"repo":{"id":100398734,"node_id":"MDEwOlJlcG9zaXRvcnkxMDAzOTg3MzQ=","name":"incubator-mxnet","full_name":"sandeep-krishnamurthy/incubator-mxnet","private":false,"owner":{"login":"sandeep-krishnamurthy","id":3403674,"node_id":"MDQ6VXNlcjM0MDM2NzQ=","avatar_url":"https://avatars1.githubusercontent.com/u/3403674?v=4","gravatar_id":"","url":"https://api.github.com/users/sandeep-krishnamurthy","html_url":"https://github.com/sandeep-krishnamurthy","followers_url":"https://api.github.com/users/sandeep-krishnamurthy/followers","following_url":"https://api.github.com/users/sandeep-krishnamurthy/following{/other_user}","gists_url":"https://api.github.com/users/sandeep-krishnamurthy/gists{/gist_id}","starred_url":"https://api.github.com/users/sandeep-krishnamurthy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sandeep-krishnamurthy/subscriptions","organizations_url":"https://api.github.com/users/sandeep-krishnamurthy/orgs","repos_url":"https://api.github.com/users/sandeep-krishnamurthy/repos","events_url":"https://api.github.com/users/sandeep-krishnamurthy/events{/privacy}","received_events_url":"https://api.github.com/users/sandeep-krishnamurthy/received_events","type":"User","site_admin":false},"html_url":"https://github.com/sandeep-krishnamurthy/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/sandeep-krishnamurthy/incubator-mxnet","forks_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/forks","keys_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/teams","hooks_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/hooks","issue_events_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/issues/events{/number}","events_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/events","assignees_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/assignees{/user}","branches_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/branches{/branch}","tags_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/tags","blobs_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/git/refs{/sha}","trees_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/statuses/{sha}","languages_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/languages","stargazers_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/stargazers","contributors_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/contributors","subscribers_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/subscribers","subscription_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/subscription","commits_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/commits{/sha}","git_commits_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/git/commits{/sha}","comments_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/comments{/number}","issue_comment_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/issues/comments{/number}","contents_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/contents/{+path}","compare_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/merges","archive_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/downloads","issues_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/issues{/number}","pulls_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/pulls{/number}","milestones_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/milestones{/number}","notifications_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/labels{/name}","releases_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/releases{/id}","deployments_url":"https://api.github.com/repos/sandeep-krishnamurthy/incubator-mxnet/deployments","created_at":"2017-08-15T16:48:11Z","updated_at":"2018-06-25T18:30:14Z","pushed_at":"2018-09-14T14:45:37Z","git_url":"git://github.com/sandeep-krishnamurthy/incubator-mxnet.git","ssh_url":"git@github.com:sandeep-krishnamurthy/incubator-mxnet.git","clone_url":"https://github.com/sandeep-krishnamurthy/incubator-mxnet.git","svn_url":"https://github.com/sandeep-krishnamurthy/incubator-mxnet","homepage":"http://mxnet.io","size":43640,"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","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"apache:master","ref":"master","sha":"597a637fb1b8fa5b16331218cda8be61ce0ee202","user":{"login":"apache","id":47359,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3MzU5","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,"node_id":"MDEwOlJlcG9zaXRvcnkzNDg2NDQwMg==","name":"incubator-mxnet","full_name":"apache/incubator-mxnet","private":false,"owner":{"login":"apache","id":47359,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ3MzU5","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},"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-09-18T20:09:33Z","pushed_at":"2018-09-18T19:01:41Z","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":43759,"stargazers_count":15220,"watchers_count":15220,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":5505,"mirror_url":null,"archived":false,"open_issues_count":915,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":5505,"open_issues":915,"watchers":15220,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/12412"},"html":{"href":"https://github.com/apache/incubator-mxnet/pull/12412"},"issue":{"href":"https://api.github.com/repos/apache/incubator-mxnet/issues/12412"},"comments":{"href":"https://api.github.com/repos/apache/incubator-mxnet/issues/12412/comments"},"review_comments":{"href":"https://api.github.com/repos/apache/incubator-mxnet/pulls/12412/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/12412/commits"},"statuses":{"href":"https://api.github.com/repos/apache/incubator-mxnet/statuses/b58ea417e1123cc86ce55306fb336a75d07c8108"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"zhreshold"}}