{"action":"created","comment":{"url":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/comments/244267002","pull_request_review_id":188225258,"id":244267002,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDI2NzAwMg==","diff_hunk":"@@ -1745,12 +1745,116 @@ def sparse_softmax_cross_entropy_with_logits_op(ctx, node, name, args):\n \n     return [onehot, log_softmax, mul1, reduce_sum, mul2, res]\n \n+\n+def matrixbandpart_op(ctx, node, name, args):\n+    # data-flow: first generate mask matrix and then use element-wise mul op\n+    if len(ctx.get_shape(node.input[0])) != 2:\n+        raise ValueError(\"MatrixBandPart op: only rank2 is supported\")\n+\n+    bandpart = [node.inputs[ind].get_tensor_value()[0] for ind in [1, 2]]\n+    if bandpart not in [[-1, 0], [0, -1]]:\n+        raise ValueError(\"MatrixBandPart op: only support Lower/Upper triangular part\")\n+\n+    # methods to generate mask matrix: if lower triangular is needed, then generate column one by one\n+    # otherwise row is generated one by one.\n+    axis, counter_axis, squeeze_axis = (1, 0, 2) if bandpart == [-1, 0] else (0, 1, 1)\n+\n+    # 1: subgraph to implement tf.onelike(input[:, 0]),\n+    # no need to worry about the dtype, because bool type is needed as Xor only support bool\n+    const_zero = ctx.make_const(name=\"const_zero\", np_val=np.array([0]).astype(np.int32))\n+    first_col_or_row = ctx.make_node(op_type=\"Gather\", inputs=[node.input[0], const_zero.output[0]],\n+                                     attr={\"axis\": axis})\n+    first_col_or_row_casted = ctx.make_node(op_type=\"Cast\", inputs=first_col_or_row.output,\n+                                            attr={\"to\": onnx_pb.TensorProto.BOOL})\n+    # line means one col or one row\n+    zero_line = ctx.make_node(op_type=\"Xor\", inputs=first_col_or_row_casted.output*2)\n+    one_line = ctx.make_node(op_type=\"Not\", inputs=zero_line.output)\n+\n+    # 2: \"loop\" to generate mask matrix: generate col or row of matrix one by one\n+    body_ins = [utils.make_onnx_inputs_outputs(\"trip\", onnx_pb.TensorProto.INT64, []),\n+                utils.make_onnx_inputs_outputs(\"cond\", onnx_pb.TensorProto.BOOL, []),\n+                utils.make_onnx_inputs_outputs(\"line\", onnx_pb.TensorProto.BOOL, [-1, -1])]\n+    body_outs = [utils.make_onnx_inputs_outputs(\"cond_out\", onnx_pb.TensorProto.BOOL, []),\n+                 utils.make_onnx_inputs_outputs(\"line_out\", onnx_pb.TensorProto.BOOL, [-1, -1]),\n+                 utils.make_onnx_inputs_outputs(\"res\", onnx_pb.TensorProto.BOOL, [-1, -1])]\n+    # body graph\n+    const_zero_bool = ctx.make_const(name=\"const_zero_bool\", np_val=np.array([[0]]).astype(np.bool))\n+    slice_node = ctx.make_node(op_type=\"Slice\", inputs=[\"line\"],\n+                               attr={\"axes\": [counter_axis], \"starts\": [0], \"ends\": [-1]})\n+    new_line = ctx.make_node(op_type=\"Concat\", inputs=[const_zero_bool.output[0], slice_node.output[0]],\n+                             outputs=[\"line_out\"], attr={\"axis\": counter_axis})\n+    body_nodes = list([slice_node.op, new_line.op])\n+    body_nodes.append(utils.make_onnx_identity(\"cond\", \"cond_out\"))\n+    body_nodes.append(utils.make_onnx_identity(\"line\", \"res\"))\n+    body_graph = helper.make_graph(body_nodes, utils.make_name(\"MatrixBandPart_body\"), body_ins, body_outs)\n+    # initial value of body vars\n+    shape = ctx.make_node(op_type=\"Shape\", inputs=[node.input[0]])  # dtype of result is int64\n+    node_name = utils.make_name(\"line_num_index\")\n+    col_or_row_num_index = ctx.make_const(name=node_name, np_val=np.array(axis).astype(np.int32))\n+    line_num = ctx.make_node(op_type=\"Gather\", inputs=[shape.output[0], col_or_row_num_index.output[0]])\n+\n+    trip_cnt = line_num.output[0]\n+    cond = ctx.make_const(name=\"true\", np_val=np.array(1).astype(np.bool)).output[0]\n+    col_init = one_line.output[0]\n+\n+    loop_node = ctx.make_node(op_type=\"Loop\", inputs=[trip_cnt, cond, col_init], output_count=2,\n+                              attr={\"body\": body_graph})\n+    # convert generated mask matrix from bool to right shape and data type\n+    squeeze = ctx.make_node(op_type=\"Squeeze\", inputs=[loop_node.output[1]], attr={\"axes\": [squeeze_axis]})\n+    cast1 = ctx.make_node(op_type=\"Cast\", inputs=squeeze.output, attr={\"to\": onnx_pb.TensorProto.FLOAT})\n+    mask_matrix = ctx.make_node(op_type=\"Transpose\", inputs=cast1.output) if axis == 1 else squeeze\n+    cast2 = ctx.make_node(op_type=\"Cast\", inputs=mask_matrix.output,\n+                          attr={\"to\": ctx.get_dtype(node.input[0])})\n+    res = ctx.make_node(op_type=\"Mul\", inputs=[cast2.output[0], node.input[0]], outputs=node.output)\n+    return [first_col_or_row, first_col_or_row_casted, zero_line, one_line, shape,\n+            line_num, loop_node, squeeze, cast1, mask_matrix, cast2, res]\n+\n+\n+def floordiv_op(ctx, node, name, args):\n+    res = [node]\n+    node.type = \"Div\"\n+    dtype = ctx.get_dtype(node.input[0])\n+    if dtype in [onnx_pb.TensorProto.FLOAT, onnx_pb.TensorProto.FLOAT16, onnx_pb.TensorProto.DOUBLE]:\n+        floor_res = ctx.insert_new_node_on_output(op_type=\"Floor\", output_name=node.output[0], name=\"floor_div_res\")\n+        res.append(floor_res)\n+    return res\n+\n+\n+def floormod_op(ctx, node, name, args):\n+    nodes = []\n+    div = ctx.make_node(op_type=\"Div\", inputs=node.input)\n+    nodes.append(div)\n+    dtype = ctx.get_dtype(node.input[0])\n+    if dtype in [onnx_pb.TensorProto.FLOAT, onnx_pb.TensorProto.FLOAT16, onnx_pb.TensorProto.DOUBLE]:\n+        div = ctx.make_node(op_type=\"Floor\", inputs=div.output)\n+        nodes.append(div)\n+    mul = ctx.make_node(op_type=\"Mul\", inputs=[div.output[0], node.input[1]])\n+    res = ctx.make_node(op_type=\"Sub\", inputs=[node.input[0], mul.output[0]], outputs=node.output)\n+    nodes.extend([mul, res])\n+    return nodes\n+\n+\n+def all_op(ctx, node, name, args):\n+    cast = ctx.make_node(op_type=\"Cast\", inputs=[node.input[0]], attr={\"to\": onnx_pb.TensorProto.INT32})\n+    reduce_dim = node.inputs[1].get_tensor_value()\n+    if isinstance(reduce_dim, np.ndarray):\n+        reduce_dim = reduce_dim.tolist()\n+    else:\n+        reduce_dim = [reduce_dim[0]]\n+\n+    reduce_min = ctx.make_node(op_type=\"ReduceMin\", inputs=cast.output, attr={\"axes\": reduce_dim, \"keepdims\": 0})","path":"tf2onnx/tfonnx.py","position":110,"original_position":110,"commit_id":"a98147f08a0253fb976cf55061c8ebc8d2648474","original_commit_id":"a98147f08a0253fb976cf55061c8ebc8d2648474","user":{"login":"zhijxu-MS","id":43435212,"node_id":"MDQ6VXNlcjQzNDM1MjEy","avatar_url":"https://avatars1.githubusercontent.com/u/43435212?v=4","gravatar_id":"","url":"https://api.github.com/users/zhijxu-MS","html_url":"https://github.com/zhijxu-MS","followers_url":"https://api.github.com/users/zhijxu-MS/followers","following_url":"https://api.github.com/users/zhijxu-MS/following{/other_user}","gists_url":"https://api.github.com/users/zhijxu-MS/gists{/gist_id}","starred_url":"https://api.github.com/users/zhijxu-MS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zhijxu-MS/subscriptions","organizations_url":"https://api.github.com/users/zhijxu-MS/orgs","repos_url":"https://api.github.com/users/zhijxu-MS/repos","events_url":"https://api.github.com/users/zhijxu-MS/events{/privacy}","received_events_url":"https://api.github.com/users/zhijxu-MS/received_events","type":"User","site_admin":false},"body":"supported now","created_at":"2018-12-28T05:57:32Z","updated_at":"2018-12-28T05:57:32Z","html_url":"https://github.com/onnx/tensorflow-onnx/pull/253#discussion_r244267002","pull_request_url":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/253","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/comments/244267002"},"html":{"href":"https://github.com/onnx/tensorflow-onnx/pull/253#discussion_r244267002"},"pull_request":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/253"}},"in_reply_to_id":243949113},"pull_request":{"url":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/253","id":240908078,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQwOTA4MDc4","html_url":"https://github.com/onnx/tensorflow-onnx/pull/253","diff_url":"https://github.com/onnx/tensorflow-onnx/pull/253.diff","patch_url":"https://github.com/onnx/tensorflow-onnx/pull/253.patch","issue_url":"https://api.github.com/repos/onnx/tensorflow-onnx/issues/253","number":253,"state":"open","locked":false,"title":"Zhijxu/model converter support","user":{"login":"zhijxu-MS","id":43435212,"node_id":"MDQ6VXNlcjQzNDM1MjEy","avatar_url":"https://avatars1.githubusercontent.com/u/43435212?v=4","gravatar_id":"","url":"https://api.github.com/users/zhijxu-MS","html_url":"https://github.com/zhijxu-MS","followers_url":"https://api.github.com/users/zhijxu-MS/followers","following_url":"https://api.github.com/users/zhijxu-MS/following{/other_user}","gists_url":"https://api.github.com/users/zhijxu-MS/gists{/gist_id}","starred_url":"https://api.github.com/users/zhijxu-MS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zhijxu-MS/subscriptions","organizations_url":"https://api.github.com/users/zhijxu-MS/orgs","repos_url":"https://api.github.com/users/zhijxu-MS/repos","events_url":"https://api.github.com/users/zhijxu-MS/events{/privacy}","received_events_url":"https://api.github.com/users/zhijxu-MS/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-12-26T03:22:37Z","updated_at":"2018-12-28T05:57:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"04b97914a0539c525a8290285e183d7bb571f4b9","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/253/commits","review_comments_url":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/253/comments","review_comment_url":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/comments{/number}","comments_url":"https://api.github.com/repos/onnx/tensorflow-onnx/issues/253/comments","statuses_url":"https://api.github.com/repos/onnx/tensorflow-onnx/statuses/a98147f08a0253fb976cf55061c8ebc8d2648474","head":{"label":"zhijxu-MS:zhijxu/model_converter_support","ref":"zhijxu/model_converter_support","sha":"a98147f08a0253fb976cf55061c8ebc8d2648474","user":{"login":"zhijxu-MS","id":43435212,"node_id":"MDQ6VXNlcjQzNDM1MjEy","avatar_url":"https://avatars1.githubusercontent.com/u/43435212?v=4","gravatar_id":"","url":"https://api.github.com/users/zhijxu-MS","html_url":"https://github.com/zhijxu-MS","followers_url":"https://api.github.com/users/zhijxu-MS/followers","following_url":"https://api.github.com/users/zhijxu-MS/following{/other_user}","gists_url":"https://api.github.com/users/zhijxu-MS/gists{/gist_id}","starred_url":"https://api.github.com/users/zhijxu-MS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zhijxu-MS/subscriptions","organizations_url":"https://api.github.com/users/zhijxu-MS/orgs","repos_url":"https://api.github.com/users/zhijxu-MS/repos","events_url":"https://api.github.com/users/zhijxu-MS/events{/privacy}","received_events_url":"https://api.github.com/users/zhijxu-MS/received_events","type":"User","site_admin":false},"repo":{"id":152215829,"node_id":"MDEwOlJlcG9zaXRvcnkxNTIyMTU4Mjk=","name":"tensorflow-onnx","full_name":"zhijxu-MS/tensorflow-onnx","private":false,"owner":{"login":"zhijxu-MS","id":43435212,"node_id":"MDQ6VXNlcjQzNDM1MjEy","avatar_url":"https://avatars1.githubusercontent.com/u/43435212?v=4","gravatar_id":"","url":"https://api.github.com/users/zhijxu-MS","html_url":"https://github.com/zhijxu-MS","followers_url":"https://api.github.com/users/zhijxu-MS/followers","following_url":"https://api.github.com/users/zhijxu-MS/following{/other_user}","gists_url":"https://api.github.com/users/zhijxu-MS/gists{/gist_id}","starred_url":"https://api.github.com/users/zhijxu-MS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zhijxu-MS/subscriptions","organizations_url":"https://api.github.com/users/zhijxu-MS/orgs","repos_url":"https://api.github.com/users/zhijxu-MS/repos","events_url":"https://api.github.com/users/zhijxu-MS/events{/privacy}","received_events_url":"https://api.github.com/users/zhijxu-MS/received_events","type":"User","site_admin":false},"html_url":"https://github.com/zhijxu-MS/tensorflow-onnx","description":"Convert TensorFlow models to ONNX","fork":true,"url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx","forks_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/forks","keys_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/teams","hooks_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/hooks","issue_events_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/issues/events{/number}","events_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/events","assignees_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/assignees{/user}","branches_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/branches{/branch}","tags_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/tags","blobs_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/git/refs{/sha}","trees_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/statuses/{sha}","languages_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/languages","stargazers_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/stargazers","contributors_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/contributors","subscribers_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/subscribers","subscription_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/subscription","commits_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/commits{/sha}","git_commits_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/git/commits{/sha}","comments_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/comments{/number}","issue_comment_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/issues/comments{/number}","contents_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/contents/{+path}","compare_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/merges","archive_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/downloads","issues_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/issues{/number}","pulls_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/pulls{/number}","milestones_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/milestones{/number}","notifications_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/labels{/name}","releases_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/releases{/id}","deployments_url":"https://api.github.com/repos/zhijxu-MS/tensorflow-onnx/deployments","created_at":"2018-10-09T08:30:52Z","updated_at":"2018-12-03T04:47:28Z","pushed_at":"2018-12-26T06:13:00Z","git_url":"git://github.com/zhijxu-MS/tensorflow-onnx.git","ssh_url":"git@github.com:zhijxu-MS/tensorflow-onnx.git","clone_url":"https://github.com/zhijxu-MS/tensorflow-onnx.git","svn_url":"https://github.com/zhijxu-MS/tensorflow-onnx","homepage":null,"size":15467,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"onnx:master","ref":"master","sha":"d0d4a884f8a0f66fc3741c01356baf927b1a5d99","user":{"login":"onnx","id":31675368,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxNjc1MzY4","avatar_url":"https://avatars3.githubusercontent.com/u/31675368?v=4","gravatar_id":"","url":"https://api.github.com/users/onnx","html_url":"https://github.com/onnx","followers_url":"https://api.github.com/users/onnx/followers","following_url":"https://api.github.com/users/onnx/following{/other_user}","gists_url":"https://api.github.com/users/onnx/gists{/gist_id}","starred_url":"https://api.github.com/users/onnx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/onnx/subscriptions","organizations_url":"https://api.github.com/users/onnx/orgs","repos_url":"https://api.github.com/users/onnx/repos","events_url":"https://api.github.com/users/onnx/events{/privacy}","received_events_url":"https://api.github.com/users/onnx/received_events","type":"Organization","site_admin":false},"repo":{"id":125098252,"node_id":"MDEwOlJlcG9zaXRvcnkxMjUwOTgyNTI=","name":"tensorflow-onnx","full_name":"onnx/tensorflow-onnx","private":false,"owner":{"login":"onnx","id":31675368,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxNjc1MzY4","avatar_url":"https://avatars3.githubusercontent.com/u/31675368?v=4","gravatar_id":"","url":"https://api.github.com/users/onnx","html_url":"https://github.com/onnx","followers_url":"https://api.github.com/users/onnx/followers","following_url":"https://api.github.com/users/onnx/following{/other_user}","gists_url":"https://api.github.com/users/onnx/gists{/gist_id}","starred_url":"https://api.github.com/users/onnx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/onnx/subscriptions","organizations_url":"https://api.github.com/users/onnx/orgs","repos_url":"https://api.github.com/users/onnx/repos","events_url":"https://api.github.com/users/onnx/events{/privacy}","received_events_url":"https://api.github.com/users/onnx/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/onnx/tensorflow-onnx","description":"Convert TensorFlow models to ONNX","fork":false,"url":"https://api.github.com/repos/onnx/tensorflow-onnx","forks_url":"https://api.github.com/repos/onnx/tensorflow-onnx/forks","keys_url":"https://api.github.com/repos/onnx/tensorflow-onnx/keys{/key_id}","collaborators_url":"https://api.github.com/repos/onnx/tensorflow-onnx/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/onnx/tensorflow-onnx/teams","hooks_url":"https://api.github.com/repos/onnx/tensorflow-onnx/hooks","issue_events_url":"https://api.github.com/repos/onnx/tensorflow-onnx/issues/events{/number}","events_url":"https://api.github.com/repos/onnx/tensorflow-onnx/events","assignees_url":"https://api.github.com/repos/onnx/tensorflow-onnx/assignees{/user}","branches_url":"https://api.github.com/repos/onnx/tensorflow-onnx/branches{/branch}","tags_url":"https://api.github.com/repos/onnx/tensorflow-onnx/tags","blobs_url":"https://api.github.com/repos/onnx/tensorflow-onnx/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/onnx/tensorflow-onnx/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/onnx/tensorflow-onnx/git/refs{/sha}","trees_url":"https://api.github.com/repos/onnx/tensorflow-onnx/git/trees{/sha}","statuses_url":"https://api.github.com/repos/onnx/tensorflow-onnx/statuses/{sha}","languages_url":"https://api.github.com/repos/onnx/tensorflow-onnx/languages","stargazers_url":"https://api.github.com/repos/onnx/tensorflow-onnx/stargazers","contributors_url":"https://api.github.com/repos/onnx/tensorflow-onnx/contributors","subscribers_url":"https://api.github.com/repos/onnx/tensorflow-onnx/subscribers","subscription_url":"https://api.github.com/repos/onnx/tensorflow-onnx/subscription","commits_url":"https://api.github.com/repos/onnx/tensorflow-onnx/commits{/sha}","git_commits_url":"https://api.github.com/repos/onnx/tensorflow-onnx/git/commits{/sha}","comments_url":"https://api.github.com/repos/onnx/tensorflow-onnx/comments{/number}","issue_comment_url":"https://api.github.com/repos/onnx/tensorflow-onnx/issues/comments{/number}","contents_url":"https://api.github.com/repos/onnx/tensorflow-onnx/contents/{+path}","compare_url":"https://api.github.com/repos/onnx/tensorflow-onnx/compare/{base}...{head}","merges_url":"https://api.github.com/repos/onnx/tensorflow-onnx/merges","archive_url":"https://api.github.com/repos/onnx/tensorflow-onnx/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/onnx/tensorflow-onnx/downloads","issues_url":"https://api.github.com/repos/onnx/tensorflow-onnx/issues{/number}","pulls_url":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls{/number}","milestones_url":"https://api.github.com/repos/onnx/tensorflow-onnx/milestones{/number}","notifications_url":"https://api.github.com/repos/onnx/tensorflow-onnx/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/onnx/tensorflow-onnx/labels{/name}","releases_url":"https://api.github.com/repos/onnx/tensorflow-onnx/releases{/id}","deployments_url":"https://api.github.com/repos/onnx/tensorflow-onnx/deployments","created_at":"2018-03-13T18:39:56Z","updated_at":"2018-12-26T05:29:35Z","pushed_at":"2018-12-28T03:03:03Z","git_url":"git://github.com/onnx/tensorflow-onnx.git","ssh_url":"git@github.com:onnx/tensorflow-onnx.git","clone_url":"https://github.com/onnx/tensorflow-onnx.git","svn_url":"https://github.com/onnx/tensorflow-onnx","homepage":null,"size":15399,"stargazers_count":108,"watchers_count":108,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":40,"mirror_url":null,"archived":false,"open_issues_count":28,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":40,"open_issues":28,"watchers":108,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/253"},"html":{"href":"https://github.com/onnx/tensorflow-onnx/pull/253"},"issue":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/issues/253"},"comments":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/issues/253/comments"},"review_comments":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/253/comments"},"review_comment":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/pulls/253/commits"},"statuses":{"href":"https://api.github.com/repos/onnx/tensorflow-onnx/statuses/a98147f08a0253fb976cf55061c8ebc8d2648474"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"zhijxu-MS"}}