{"action":"created","comment":{"url":"https://api.github.com/repos/quantumlib/Cirq/pulls/comments/234006473","pull_request_review_id":175554370,"id":234006473,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNDAwNjQ3Mw==","diff_hunk":"@@ -0,0 +1,463 @@\n+# Copyright 2018 Google LLC\n+#\n+# Licensed under the Apache License, Version 2.0 (the \"License\");\n+# you may not use this file except in compliance with the License.\n+# You may obtain a copy of the License at\n+#\n+#     https://www.apache.org/licenses/LICENSE-2.0\n+#\n+# Unless required by applicable law or agreed to in writing, software\n+# distributed under the License is distributed on an \"AS IS\" BASIS,\n+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+# See the License for the specific language governing permissions and\n+# limitations under the License.\n+\n+from typing import Tuple, Dict, Any, List, Union, Callable, TypeVar, NamedTuple\n+\n+from collections import namedtuple\n+\n+import numpy as np\n+import tensorflow as tf\n+\n+from cirq import ops, circuits, linalg, protocols, decompositions\n+\n+_GROUP_SIZE = 7\n+\n+\n+ComputeFuncAndFeedDict = NamedTuple(\n+    'ComputeFuncAndFeedDict',\n+    [\n+        ('compute_func', Callable[[], tf.Tensor]),\n+        ('feed_dict', Dict[tf.Tensor, Any])\n+    ])\n+\n+\n+def circuit_to_tensorflow_compute_func_and_feed_dict(","path":"cirq/contrib/tpu/circuit_to_tensorflow.py","position":null,"original_position":35,"commit_id":"d2948f8601b8152dbcc9515887d8e40c1a7aad71","original_commit_id":"26a0518bd5b1b97f8c3c6d3eff66ccd412862f21","user":{"login":"Strilanc","id":79941,"node_id":"MDQ6VXNlcjc5OTQx","avatar_url":"https://avatars1.githubusercontent.com/u/79941?v=4","gravatar_id":"","url":"https://api.github.com/users/Strilanc","html_url":"https://github.com/Strilanc","followers_url":"https://api.github.com/users/Strilanc/followers","following_url":"https://api.github.com/users/Strilanc/following{/other_user}","gists_url":"https://api.github.com/users/Strilanc/gists{/gist_id}","starred_url":"https://api.github.com/users/Strilanc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Strilanc/subscriptions","organizations_url":"https://api.github.com/users/Strilanc/orgs","repos_url":"https://api.github.com/users/Strilanc/repos","events_url":"https://api.github.com/users/Strilanc/events{/privacy}","received_events_url":"https://api.github.com/users/Strilanc/received_events","type":"User","site_admin":false},"body":"Done.","created_at":"2018-11-15T21:02:50Z","updated_at":"2018-11-15T21:02:50Z","html_url":"https://github.com/quantumlib/Cirq/pull/1091#discussion_r234006473","pull_request_url":"https://api.github.com/repos/quantumlib/Cirq/pulls/1091","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/quantumlib/Cirq/pulls/comments/234006473"},"html":{"href":"https://github.com/quantumlib/Cirq/pull/1091#discussion_r234006473"},"pull_request":{"href":"https://api.github.com/repos/quantumlib/Cirq/pulls/1091"}},"in_reply_to_id":230240062},"pull_request":{"url":"https://api.github.com/repos/quantumlib/Cirq/pulls/1091","id":227440615,"node_id":"MDExOlB1bGxSZXF1ZXN0MjI3NDQwNjE1","html_url":"https://github.com/quantumlib/Cirq/pull/1091","diff_url":"https://github.com/quantumlib/Cirq/pull/1091.diff","patch_url":"https://github.com/quantumlib/Cirq/pull/1091.patch","issue_url":"https://api.github.com/repos/quantumlib/Cirq/issues/1091","number":1091,"state":"open","locked":false,"title":"Create cirq.contrib.tpu with helper methods for tpu simulation","user":{"login":"Strilanc","id":79941,"node_id":"MDQ6VXNlcjc5OTQx","avatar_url":"https://avatars1.githubusercontent.com/u/79941?v=4","gravatar_id":"","url":"https://api.github.com/users/Strilanc","html_url":"https://github.com/Strilanc","followers_url":"https://api.github.com/users/Strilanc/followers","following_url":"https://api.github.com/users/Strilanc/following{/other_user}","gists_url":"https://api.github.com/users/Strilanc/gists{/gist_id}","starred_url":"https://api.github.com/users/Strilanc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Strilanc/subscriptions","organizations_url":"https://api.github.com/users/Strilanc/orgs","repos_url":"https://api.github.com/users/Strilanc/repos","events_url":"https://api.github.com/users/Strilanc/events{/privacy}","received_events_url":"https://api.github.com/users/Strilanc/received_events","type":"User","site_admin":false},"body":"~~Comes after https://github.com/quantumlib/Cirq/pull/1090~~\r\n\r\nSimulation strategy:\r\n\r\n![image](https://user-images.githubusercontent.com/79941/47818691-ae1d2f00-dd15-11e8-8a6a-f3d5ec62dc10.png)\r\n","created_at":"2018-10-31T21:01:30Z","updated_at":"2018-11-15T21:02:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a7b97ae34b79e2ffb3ed7e9a46589feacce58471","assignee":null,"assignees":[],"requested_reviewers":[{"login":"sboixo","id":10459129,"node_id":"MDQ6VXNlcjEwNDU5MTI5","avatar_url":"https://avatars3.githubusercontent.com/u/10459129?v=4","gravatar_id":"","url":"https://api.github.com/users/sboixo","html_url":"https://github.com/sboixo","followers_url":"https://api.github.com/users/sboixo/followers","following_url":"https://api.github.com/users/sboixo/following{/other_user}","gists_url":"https://api.github.com/users/sboixo/gists{/gist_id}","starred_url":"https://api.github.com/users/sboixo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sboixo/subscriptions","organizations_url":"https://api.github.com/users/sboixo/orgs","repos_url":"https://api.github.com/users/sboixo/repos","events_url":"https://api.github.com/users/sboixo/events{/privacy}","received_events_url":"https://api.github.com/users/sboixo/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":1070587821,"node_id":"MDU6TGFiZWwxMDcwNTg3ODIx","url":"https://api.github.com/repos/quantumlib/Cirq/labels/Ready%20for%20Re-Review","name":"Ready for Re-Review","color":"FF8000","default":false},{"id":922112536,"node_id":"MDU6TGFiZWw5MjIxMTI1MzY=","url":"https://api.github.com/repos/quantumlib/Cirq/labels/cla:%20yes","name":"cla: yes","color":"FFFFFF","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/quantumlib/Cirq/pulls/1091/commits","review_comments_url":"https://api.github.com/repos/quantumlib/Cirq/pulls/1091/comments","review_comment_url":"https://api.github.com/repos/quantumlib/Cirq/pulls/comments{/number}","comments_url":"https://api.github.com/repos/quantumlib/Cirq/issues/1091/comments","statuses_url":"https://api.github.com/repos/quantumlib/Cirq/statuses/d2948f8601b8152dbcc9515887d8e40c1a7aad71","head":{"label":"quantumlib:tensorflow-4","ref":"tensorflow-4","sha":"d2948f8601b8152dbcc9515887d8e40c1a7aad71","user":{"login":"quantumlib","id":31279789,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxMjc5Nzg5","avatar_url":"https://avatars1.githubusercontent.com/u/31279789?v=4","gravatar_id":"","url":"https://api.github.com/users/quantumlib","html_url":"https://github.com/quantumlib","followers_url":"https://api.github.com/users/quantumlib/followers","following_url":"https://api.github.com/users/quantumlib/following{/other_user}","gists_url":"https://api.github.com/users/quantumlib/gists{/gist_id}","starred_url":"https://api.github.com/users/quantumlib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quantumlib/subscriptions","organizations_url":"https://api.github.com/users/quantumlib/orgs","repos_url":"https://api.github.com/users/quantumlib/repos","events_url":"https://api.github.com/users/quantumlib/events{/privacy}","received_events_url":"https://api.github.com/users/quantumlib/received_events","type":"Organization","site_admin":false},"repo":{"id":114306758,"node_id":"MDEwOlJlcG9zaXRvcnkxMTQzMDY3NTg=","name":"Cirq","full_name":"quantumlib/Cirq","private":false,"owner":{"login":"quantumlib","id":31279789,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxMjc5Nzg5","avatar_url":"https://avatars1.githubusercontent.com/u/31279789?v=4","gravatar_id":"","url":"https://api.github.com/users/quantumlib","html_url":"https://github.com/quantumlib","followers_url":"https://api.github.com/users/quantumlib/followers","following_url":"https://api.github.com/users/quantumlib/following{/other_user}","gists_url":"https://api.github.com/users/quantumlib/gists{/gist_id}","starred_url":"https://api.github.com/users/quantumlib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quantumlib/subscriptions","organizations_url":"https://api.github.com/users/quantumlib/orgs","repos_url":"https://api.github.com/users/quantumlib/repos","events_url":"https://api.github.com/users/quantumlib/events{/privacy}","received_events_url":"https://api.github.com/users/quantumlib/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/quantumlib/Cirq","description":"A python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.","fork":false,"url":"https://api.github.com/repos/quantumlib/Cirq","forks_url":"https://api.github.com/repos/quantumlib/Cirq/forks","keys_url":"https://api.github.com/repos/quantumlib/Cirq/keys{/key_id}","collaborators_url":"https://api.github.com/repos/quantumlib/Cirq/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/quantumlib/Cirq/teams","hooks_url":"https://api.github.com/repos/quantumlib/Cirq/hooks","issue_events_url":"https://api.github.com/repos/quantumlib/Cirq/issues/events{/number}","events_url":"https://api.github.com/repos/quantumlib/Cirq/events","assignees_url":"https://api.github.com/repos/quantumlib/Cirq/assignees{/user}","branches_url":"https://api.github.com/repos/quantumlib/Cirq/branches{/branch}","tags_url":"https://api.github.com/repos/quantumlib/Cirq/tags","blobs_url":"https://api.github.com/repos/quantumlib/Cirq/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/quantumlib/Cirq/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/quantumlib/Cirq/git/refs{/sha}","trees_url":"https://api.github.com/repos/quantumlib/Cirq/git/trees{/sha}","statuses_url":"https://api.github.com/repos/quantumlib/Cirq/statuses/{sha}","languages_url":"https://api.github.com/repos/quantumlib/Cirq/languages","stargazers_url":"https://api.github.com/repos/quantumlib/Cirq/stargazers","contributors_url":"https://api.github.com/repos/quantumlib/Cirq/contributors","subscribers_url":"https://api.github.com/repos/quantumlib/Cirq/subscribers","subscription_url":"https://api.github.com/repos/quantumlib/Cirq/subscription","commits_url":"https://api.github.com/repos/quantumlib/Cirq/commits{/sha}","git_commits_url":"https://api.github.com/repos/quantumlib/Cirq/git/commits{/sha}","comments_url":"https://api.github.com/repos/quantumlib/Cirq/comments{/number}","issue_comment_url":"https://api.github.com/repos/quantumlib/Cirq/issues/comments{/number}","contents_url":"https://api.github.com/repos/quantumlib/Cirq/contents/{+path}","compare_url":"https://api.github.com/repos/quantumlib/Cirq/compare/{base}...{head}","merges_url":"https://api.github.com/repos/quantumlib/Cirq/merges","archive_url":"https://api.github.com/repos/quantumlib/Cirq/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/quantumlib/Cirq/downloads","issues_url":"https://api.github.com/repos/quantumlib/Cirq/issues{/number}","pulls_url":"https://api.github.com/repos/quantumlib/Cirq/pulls{/number}","milestones_url":"https://api.github.com/repos/quantumlib/Cirq/milestones{/number}","notifications_url":"https://api.github.com/repos/quantumlib/Cirq/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/quantumlib/Cirq/labels{/name}","releases_url":"https://api.github.com/repos/quantumlib/Cirq/releases{/id}","deployments_url":"https://api.github.com/repos/quantumlib/Cirq/deployments","created_at":"2017-12-14T23:41:49Z","updated_at":"2018-11-15T13:45:17Z","pushed_at":"2018-11-15T21:02:45Z","git_url":"git://github.com/quantumlib/Cirq.git","ssh_url":"git@github.com:quantumlib/Cirq.git","clone_url":"https://github.com/quantumlib/Cirq.git","svn_url":"https://github.com/quantumlib/Cirq","homepage":"","size":2885,"stargazers_count":1216,"watchers_count":1216,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":164,"mirror_url":null,"archived":false,"open_issues_count":193,"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":164,"open_issues":193,"watchers":1216,"default_branch":"master"}},"base":{"label":"quantumlib:master","ref":"master","sha":"75bb352554424b1767e9ef4450f1d01492488e90","user":{"login":"quantumlib","id":31279789,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxMjc5Nzg5","avatar_url":"https://avatars1.githubusercontent.com/u/31279789?v=4","gravatar_id":"","url":"https://api.github.com/users/quantumlib","html_url":"https://github.com/quantumlib","followers_url":"https://api.github.com/users/quantumlib/followers","following_url":"https://api.github.com/users/quantumlib/following{/other_user}","gists_url":"https://api.github.com/users/quantumlib/gists{/gist_id}","starred_url":"https://api.github.com/users/quantumlib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quantumlib/subscriptions","organizations_url":"https://api.github.com/users/quantumlib/orgs","repos_url":"https://api.github.com/users/quantumlib/repos","events_url":"https://api.github.com/users/quantumlib/events{/privacy}","received_events_url":"https://api.github.com/users/quantumlib/received_events","type":"Organization","site_admin":false},"repo":{"id":114306758,"node_id":"MDEwOlJlcG9zaXRvcnkxMTQzMDY3NTg=","name":"Cirq","full_name":"quantumlib/Cirq","private":false,"owner":{"login":"quantumlib","id":31279789,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMxMjc5Nzg5","avatar_url":"https://avatars1.githubusercontent.com/u/31279789?v=4","gravatar_id":"","url":"https://api.github.com/users/quantumlib","html_url":"https://github.com/quantumlib","followers_url":"https://api.github.com/users/quantumlib/followers","following_url":"https://api.github.com/users/quantumlib/following{/other_user}","gists_url":"https://api.github.com/users/quantumlib/gists{/gist_id}","starred_url":"https://api.github.com/users/quantumlib/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quantumlib/subscriptions","organizations_url":"https://api.github.com/users/quantumlib/orgs","repos_url":"https://api.github.com/users/quantumlib/repos","events_url":"https://api.github.com/users/quantumlib/events{/privacy}","received_events_url":"https://api.github.com/users/quantumlib/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/quantumlib/Cirq","description":"A python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.","fork":false,"url":"https://api.github.com/repos/quantumlib/Cirq","forks_url":"https://api.github.com/repos/quantumlib/Cirq/forks","keys_url":"https://api.github.com/repos/quantumlib/Cirq/keys{/key_id}","collaborators_url":"https://api.github.com/repos/quantumlib/Cirq/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/quantumlib/Cirq/teams","hooks_url":"https://api.github.com/repos/quantumlib/Cirq/hooks","issue_events_url":"https://api.github.com/repos/quantumlib/Cirq/issues/events{/number}","events_url":"https://api.github.com/repos/quantumlib/Cirq/events","assignees_url":"https://api.github.com/repos/quantumlib/Cirq/assignees{/user}","branches_url":"https://api.github.com/repos/quantumlib/Cirq/branches{/branch}","tags_url":"https://api.github.com/repos/quantumlib/Cirq/tags","blobs_url":"https://api.github.com/repos/quantumlib/Cirq/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/quantumlib/Cirq/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/quantumlib/Cirq/git/refs{/sha}","trees_url":"https://api.github.com/repos/quantumlib/Cirq/git/trees{/sha}","statuses_url":"https://api.github.com/repos/quantumlib/Cirq/statuses/{sha}","languages_url":"https://api.github.com/repos/quantumlib/Cirq/languages","stargazers_url":"https://api.github.com/repos/quantumlib/Cirq/stargazers","contributors_url":"https://api.github.com/repos/quantumlib/Cirq/contributors","subscribers_url":"https://api.github.com/repos/quantumlib/Cirq/subscribers","subscription_url":"https://api.github.com/repos/quantumlib/Cirq/subscription","commits_url":"https://api.github.com/repos/quantumlib/Cirq/commits{/sha}","git_commits_url":"https://api.github.com/repos/quantumlib/Cirq/git/commits{/sha}","comments_url":"https://api.github.com/repos/quantumlib/Cirq/comments{/number}","issue_comment_url":"https://api.github.com/repos/quantumlib/Cirq/issues/comments{/number}","contents_url":"https://api.github.com/repos/quantumlib/Cirq/contents/{+path}","compare_url":"https://api.github.com/repos/quantumlib/Cirq/compare/{base}...{head}","merges_url":"https://api.github.com/repos/quantumlib/Cirq/merges","archive_url":"https://api.github.com/repos/quantumlib/Cirq/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/quantumlib/Cirq/downloads","issues_url":"https://api.github.com/repos/quantumlib/Cirq/issues{/number}","pulls_url":"https://api.github.com/repos/quantumlib/Cirq/pulls{/number}","milestones_url":"https://api.github.com/repos/quantumlib/Cirq/milestones{/number}","notifications_url":"https://api.github.com/repos/quantumlib/Cirq/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/quantumlib/Cirq/labels{/name}","releases_url":"https://api.github.com/repos/quantumlib/Cirq/releases{/id}","deployments_url":"https://api.github.com/repos/quantumlib/Cirq/deployments","created_at":"2017-12-14T23:41:49Z","updated_at":"2018-11-15T13:45:17Z","pushed_at":"2018-11-15T21:02:45Z","git_url":"git://github.com/quantumlib/Cirq.git","ssh_url":"git@github.com:quantumlib/Cirq.git","clone_url":"https://github.com/quantumlib/Cirq.git","svn_url":"https://github.com/quantumlib/Cirq","homepage":"","size":2885,"stargazers_count":1216,"watchers_count":1216,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":164,"mirror_url":null,"archived":false,"open_issues_count":193,"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":164,"open_issues":193,"watchers":1216,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/quantumlib/Cirq/pulls/1091"},"html":{"href":"https://github.com/quantumlib/Cirq/pull/1091"},"issue":{"href":"https://api.github.com/repos/quantumlib/Cirq/issues/1091"},"comments":{"href":"https://api.github.com/repos/quantumlib/Cirq/issues/1091/comments"},"review_comments":{"href":"https://api.github.com/repos/quantumlib/Cirq/pulls/1091/comments"},"review_comment":{"href":"https://api.github.com/repos/quantumlib/Cirq/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/quantumlib/Cirq/pulls/1091/commits"},"statuses":{"href":"https://api.github.com/repos/quantumlib/Cirq/statuses/d2948f8601b8152dbcc9515887d8e40c1a7aad71"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"Strilanc"}}