{"action":"created","comment":{"url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/comments/118838826","pull_request_review_id":40669947,"id":118838826,"diff_hunk":"@@ -327,373 +264,223 @@\n    },\n    \"outputs\": [],\n    \"source\": [\n-    \"import numpy as np\\n\",\n-    \"\\n\",\n-    \"class BasePerceptron:\\n\",\n-    \"    \\\"\\\"\\\"\\n\",\n-    \"    A simple perceptron implementation.\\n\",\n-    \"    \\\"\\\"\\\"\\n\",\n+    \"class MultilayerPerceptron:\\n\",\n+    \"    \\\"\\\"\\\"Network of perceptrons, also a set of multiple perceptron layers.\\\"\\\"\\\"\\n\",\n     \"\\n\",\n-    \"    def __init__(self, dimensions=100, epsilon=0.03):\\n\",\n-    \"        \\\"\\\"\\\"\\n\",\n-    \"        Initializes the perceptron. Creates dimensions + 1\\n\",\n-    \"        random weights (the additional weight is the bias.)\\n\",\n+    \"    def __init__(self, *layers):\\n\",\n+    \"        \\\"\\\"\\\"Initialize a new network, madeup of individual PerceptronLayers.\\n\",\n     \"\\n\",\n     \"        Args:\\n\",\n-    \"            dimensions  the data dimensionality N\\n\",\n-    \"            epsilon     the learning rate\\n\",\n+    \"            *layers: Arbitrarily many PerceptronLayer instances.\\n\",\n     \"        \\\"\\\"\\\"\\n\",\n-    \"        self.w = np.random.rand(dimensions + 1)\\n\",\n-    \"        self.epsilon = epsilon\\n\",\n+    \"        self.layers = layers\\n\",\n     \"\\n\",\n-    \"    def activation(self, X):\\n\",\n-    \"        \\\"\\\"\\\"\\n\",\n-    \"        The activation function. Prepends a 1 to X for the\\n\",\n-    \"        bias and calculates the activation function of the \\n\",\n-    \"        perceptron.\\n\",\n+    \"    def activate(self, x):\\n\",\n+    \"        \\\"\\\"\\\"Activate network and return the last layer's output.\\n\",\n     \"\\n\",\n     \"        Args:\\n\",\n-    \"            X   the data point, should be a numpy\\n\",\n-    \"                array or a 1xN numpy matrix\\n\",\n+    \"            x: Vector of input values.\\n\",\n+    \"\\n\",\n     \"        Returns:\\n\",\n-    \"            1   if the activation of X is bigger than 0\\n\",\n-    \"            0   else\\n\",\n+    \"            Vector of output values from the last layer of the network\\n\",\n+    \"            after propagating forward through the network.\\n\",\n     \"        \\\"\\\"\\\"\\n\",\n-    \"        return 1 if np.append(1, X) @ self.w > 0 else 0\\n\",\n+    \"        for layer in self.layers:\\n\",\n+    \"            x = layer.activate(x)\\n\",\n+    \"        return x\\n\",\n     \"\\n\",\n-    \"    def adaption(self, X, t):\\n\",\n-    \"        \\\"\\\"\\\"\\n\",\n-    \"        Trains the perceptron. Adjusts the weights according to \\n\",\n-    \"        the learning rate and the error between the activation and the \\n\",\n-    \"        label (delta).\\n\",\n+    \"    def adapt(self, x, t, rate=0.03):\\n\",\n+    \"        \\\"\\\"\\\"Adapt the whole network given an input and expected output.\\n\",\n     \"\\n\",\n     \"        Args:\\n\",\n-    \"            X   the data point, should be a numpy\\n\",\n-    \"                array or a 1xN numpy matrix\\n\",\n-    \"            t   the label\\n\",\n+    \"            x: Vector of input values.\\n\",\n+    \"            t: Vector of target values (expected outputs).\\n\",\n+    \"            rate: Learning rate.\\n\",\n     \"        \\\"\\\"\\\"\\n\",\n-    \"        self.w += self.epsilon * (t - self.activation(X)) * np.append(1, X)\\n\",\n+    \"        # Activate each layer and collect intermediate outputs.\\n\",\n+    \"        # outputs = []  # TODO\\n\",\n+    \"        outputs = [x]\\n\",\n+    \"        for layer in self.layers:\\n\",\n+    \"            outputs.append(layer.activate(outputs[-1]))\\n\",\n+    \"\\n\",\n+    \"        # Calculate error between t and network output.\\n\",\n+    \"        # e = np.array([])  # TODO\\n\",\n+    \"        e = t - outputs[-1]\\n\",\n     \"\\n\",\n-    \"    def __repr__(self):\\n\",\n-    \"        return '{}({}, {})'.format(self.__class__.__name__, len(self.w) - 1, self.epsilon)\"\n+    \"        # Backpropagate error through the network computing\\n\",\n+    \"        # intermediate delta and adapting each layer.\\n\",\n+    \"        for k in range(len(self.layers) - 1, 0, -1):\\n\",\n+    \"            delta = (outputs[k + 1] * (1 - outputs[k + 1])) * e\\n\",\n+    \"            weights = self.layers[k].get_weights_matrix()\\n\",\n+    \"            e = (weights @ delta)[1:]\\n\",\n+    \"            self.layers[k].adapt(outputs[k], delta, rate)\"","path":"sheet08/sheet08solutions.ipynb","position":555,"original_position":555,"commit_id":"60aa60da70a1c9788031ea688e7b85f6a4134213","original_commit_id":"60aa60da70a1c9788031ea688e7b85f6a4134213","user":{"login":"shoeffner","id":1836815,"avatar_url":"https://avatars0.githubusercontent.com/u/1836815?v=3","gravatar_id":"","url":"https://api.github.com/users/shoeffner","html_url":"https://github.com/shoeffner","followers_url":"https://api.github.com/users/shoeffner/followers","following_url":"https://api.github.com/users/shoeffner/following{/other_user}","gists_url":"https://api.github.com/users/shoeffner/gists{/gist_id}","starred_url":"https://api.github.com/users/shoeffner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shoeffner/subscriptions","organizations_url":"https://api.github.com/users/shoeffner/orgs","repos_url":"https://api.github.com/users/shoeffner/repos","events_url":"https://api.github.com/users/shoeffner/events{/privacy}","received_events_url":"https://api.github.com/users/shoeffner/received_events","type":"User","site_admin":false},"body":"You could make it more explicit by assigning new variables:\r\n\r\n```python\r\nfor k in range(len(self.layers) - 1, 0, -1):\r\n    layer_output = outputs[k + 1]\r\n    layer_input = outputs[k]\r\n    delta = (layer_output * (1 - layer_output)) * e\r\n    weights = self.layers[k].get_weights_matrix()\r\n    e = (weights @ delta)[1:]\r\n    self.layers[k].adapt(layer_input, delta, rate)\r\n```","created_at":"2017-05-28T11:21:16Z","updated_at":"2017-05-28T11:21:16Z","html_url":"https://github.com/CogSciUOS/MachineLearningSheets/pull/5#discussion_r118838826","pull_request_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/5","_links":{"self":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/comments/118838826"},"html":{"href":"https://github.com/CogSciUOS/MachineLearningSheets/pull/5#discussion_r118838826"},"pull_request":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/5"}}},"pull_request":{"url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/5","id":122791334,"html_url":"https://github.com/CogSciUOS/MachineLearningSheets/pull/5","diff_url":"https://github.com/CogSciUOS/MachineLearningSheets/pull/5.diff","patch_url":"https://github.com/CogSciUOS/MachineLearningSheets/pull/5.patch","issue_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues/5","number":5,"state":"open","locked":false,"title":"Rework Sheet 8: Multilayer Perceptron","user":{"login":"ahoereth","id":3015996,"avatar_url":"https://avatars1.githubusercontent.com/u/3015996?v=3","gravatar_id":"","url":"https://api.github.com/users/ahoereth","html_url":"https://github.com/ahoereth","followers_url":"https://api.github.com/users/ahoereth/followers","following_url":"https://api.github.com/users/ahoereth/following{/other_user}","gists_url":"https://api.github.com/users/ahoereth/gists{/gist_id}","starred_url":"https://api.github.com/users/ahoereth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ahoereth/subscriptions","organizations_url":"https://api.github.com/users/ahoereth/orgs","repos_url":"https://api.github.com/users/ahoereth/repos","events_url":"https://api.github.com/users/ahoereth/events{/privacy}","received_events_url":"https://api.github.com/users/ahoereth/received_events","type":"User","site_admin":false},"body":"This is a complete rework of sheet 08 as proposed in #1. Let's get into reviewing it, the sheet is coming up shortly in the 2017 iteration of the class. Tracking some final questions in this PR.","created_at":"2017-05-28T10:45:41Z","updated_at":"2017-05-28T11:21:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c37780c9c1be9a766bfbbef08091a03495b21aff","assignee":null,"assignees":[],"requested_reviewers":[{"login":"shoeffner","id":1836815,"avatar_url":"https://avatars0.githubusercontent.com/u/1836815?v=3","gravatar_id":"","url":"https://api.github.com/users/shoeffner","html_url":"https://github.com/shoeffner","followers_url":"https://api.github.com/users/shoeffner/followers","following_url":"https://api.github.com/users/shoeffner/following{/other_user}","gists_url":"https://api.github.com/users/shoeffner/gists{/gist_id}","starred_url":"https://api.github.com/users/shoeffner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shoeffner/subscriptions","organizations_url":"https://api.github.com/users/shoeffner/orgs","repos_url":"https://api.github.com/users/shoeffner/repos","events_url":"https://api.github.com/users/shoeffner/events{/privacy}","received_events_url":"https://api.github.com/users/shoeffner/received_events","type":"User","site_admin":false},{"login":"krumnack","id":17787867,"avatar_url":"https://avatars1.githubusercontent.com/u/17787867?v=3","gravatar_id":"","url":"https://api.github.com/users/krumnack","html_url":"https://github.com/krumnack","followers_url":"https://api.github.com/users/krumnack/followers","following_url":"https://api.github.com/users/krumnack/following{/other_user}","gists_url":"https://api.github.com/users/krumnack/gists{/gist_id}","starred_url":"https://api.github.com/users/krumnack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krumnack/subscriptions","organizations_url":"https://api.github.com/users/krumnack/orgs","repos_url":"https://api.github.com/users/krumnack/repos","events_url":"https://api.github.com/users/krumnack/events{/privacy}","received_events_url":"https://api.github.com/users/krumnack/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/5/commits","review_comments_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/5/comments","review_comment_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/comments{/number}","comments_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues/5/comments","statuses_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/statuses/60aa60da70a1c9788031ea688e7b85f6a4134213","head":{"label":"CogSciUOS:SS17/sheet08","ref":"SS17/sheet08","sha":"60aa60da70a1c9788031ea688e7b85f6a4134213","user":{"login":"CogSciUOS","id":17271905,"avatar_url":"https://avatars2.githubusercontent.com/u/17271905?v=3","gravatar_id":"","url":"https://api.github.com/users/CogSciUOS","html_url":"https://github.com/CogSciUOS","followers_url":"https://api.github.com/users/CogSciUOS/followers","following_url":"https://api.github.com/users/CogSciUOS/following{/other_user}","gists_url":"https://api.github.com/users/CogSciUOS/gists{/gist_id}","starred_url":"https://api.github.com/users/CogSciUOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CogSciUOS/subscriptions","organizations_url":"https://api.github.com/users/CogSciUOS/orgs","repos_url":"https://api.github.com/users/CogSciUOS/repos","events_url":"https://api.github.com/users/CogSciUOS/events{/privacy}","received_events_url":"https://api.github.com/users/CogSciUOS/received_events","type":"Organization","site_admin":false},"repo":{"id":55775940,"name":"MachineLearningSheets","full_name":"CogSciUOS/MachineLearningSheets","owner":{"login":"CogSciUOS","id":17271905,"avatar_url":"https://avatars2.githubusercontent.com/u/17271905?v=3","gravatar_id":"","url":"https://api.github.com/users/CogSciUOS","html_url":"https://github.com/CogSciUOS","followers_url":"https://api.github.com/users/CogSciUOS/followers","following_url":"https://api.github.com/users/CogSciUOS/following{/other_user}","gists_url":"https://api.github.com/users/CogSciUOS/gists{/gist_id}","starred_url":"https://api.github.com/users/CogSciUOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CogSciUOS/subscriptions","organizations_url":"https://api.github.com/users/CogSciUOS/orgs","repos_url":"https://api.github.com/users/CogSciUOS/repos","events_url":"https://api.github.com/users/CogSciUOS/events{/privacy}","received_events_url":"https://api.github.com/users/CogSciUOS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CogSciUOS/MachineLearningSheets","description":"Exercise sheets and example solutions for the course Machine Learning.","fork":false,"url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets","forks_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/forks","keys_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/teams","hooks_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/hooks","issue_events_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues/events{/number}","events_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/events","assignees_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/assignees{/user}","branches_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/branches{/branch}","tags_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/tags","blobs_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/refs{/sha}","trees_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/statuses/{sha}","languages_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/languages","stargazers_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/stargazers","contributors_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/contributors","subscribers_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/subscribers","subscription_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/subscription","commits_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/commits{/sha}","git_commits_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/commits{/sha}","comments_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/comments{/number}","issue_comment_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues/comments{/number}","contents_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/contents/{+path}","compare_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/merges","archive_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/downloads","issues_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues{/number}","pulls_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls{/number}","milestones_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/milestones{/number}","notifications_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/labels{/name}","releases_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/releases{/id}","deployments_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/deployments","created_at":"2016-04-08T12:03:35Z","updated_at":"2017-04-20T12:30:48Z","pushed_at":"2017-05-28T10:45:42Z","git_url":"git://github.com/CogSciUOS/MachineLearningSheets.git","ssh_url":"git@github.com:CogSciUOS/MachineLearningSheets.git","clone_url":"https://github.com/CogSciUOS/MachineLearningSheets.git","svn_url":"https://github.com/CogSciUOS/MachineLearningSheets","homepage":"","size":22535,"stargazers_count":5,"watchers_count":5,"language":"Jupyter Notebook","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":5,"default_branch":"master"}},"base":{"label":"CogSciUOS:master","ref":"master","sha":"f65d939514561c7de35931ea08a14a2d84a4db77","user":{"login":"CogSciUOS","id":17271905,"avatar_url":"https://avatars2.githubusercontent.com/u/17271905?v=3","gravatar_id":"","url":"https://api.github.com/users/CogSciUOS","html_url":"https://github.com/CogSciUOS","followers_url":"https://api.github.com/users/CogSciUOS/followers","following_url":"https://api.github.com/users/CogSciUOS/following{/other_user}","gists_url":"https://api.github.com/users/CogSciUOS/gists{/gist_id}","starred_url":"https://api.github.com/users/CogSciUOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CogSciUOS/subscriptions","organizations_url":"https://api.github.com/users/CogSciUOS/orgs","repos_url":"https://api.github.com/users/CogSciUOS/repos","events_url":"https://api.github.com/users/CogSciUOS/events{/privacy}","received_events_url":"https://api.github.com/users/CogSciUOS/received_events","type":"Organization","site_admin":false},"repo":{"id":55775940,"name":"MachineLearningSheets","full_name":"CogSciUOS/MachineLearningSheets","owner":{"login":"CogSciUOS","id":17271905,"avatar_url":"https://avatars2.githubusercontent.com/u/17271905?v=3","gravatar_id":"","url":"https://api.github.com/users/CogSciUOS","html_url":"https://github.com/CogSciUOS","followers_url":"https://api.github.com/users/CogSciUOS/followers","following_url":"https://api.github.com/users/CogSciUOS/following{/other_user}","gists_url":"https://api.github.com/users/CogSciUOS/gists{/gist_id}","starred_url":"https://api.github.com/users/CogSciUOS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CogSciUOS/subscriptions","organizations_url":"https://api.github.com/users/CogSciUOS/orgs","repos_url":"https://api.github.com/users/CogSciUOS/repos","events_url":"https://api.github.com/users/CogSciUOS/events{/privacy}","received_events_url":"https://api.github.com/users/CogSciUOS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CogSciUOS/MachineLearningSheets","description":"Exercise sheets and example solutions for the course Machine Learning.","fork":false,"url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets","forks_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/forks","keys_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/teams","hooks_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/hooks","issue_events_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues/events{/number}","events_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/events","assignees_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/assignees{/user}","branches_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/branches{/branch}","tags_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/tags","blobs_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/refs{/sha}","trees_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/statuses/{sha}","languages_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/languages","stargazers_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/stargazers","contributors_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/contributors","subscribers_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/subscribers","subscription_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/subscription","commits_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/commits{/sha}","git_commits_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/git/commits{/sha}","comments_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/comments{/number}","issue_comment_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues/comments{/number}","contents_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/contents/{+path}","compare_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/merges","archive_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/downloads","issues_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues{/number}","pulls_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls{/number}","milestones_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/milestones{/number}","notifications_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/labels{/name}","releases_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/releases{/id}","deployments_url":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/deployments","created_at":"2016-04-08T12:03:35Z","updated_at":"2017-04-20T12:30:48Z","pushed_at":"2017-05-28T10:45:42Z","git_url":"git://github.com/CogSciUOS/MachineLearningSheets.git","ssh_url":"git@github.com:CogSciUOS/MachineLearningSheets.git","clone_url":"https://github.com/CogSciUOS/MachineLearningSheets.git","svn_url":"https://github.com/CogSciUOS/MachineLearningSheets","homepage":"","size":22535,"stargazers_count":5,"watchers_count":5,"language":"Jupyter Notebook","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/5"},"html":{"href":"https://github.com/CogSciUOS/MachineLearningSheets/pull/5"},"issue":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues/5"},"comments":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/CogSciUOS/MachineLearningSheets/statuses/60aa60da70a1c9788031ea688e7b85f6a4134213"}}}}
{"actor":{"display_login":"shoeffner"}}