From 03c6c2bd3de09fc1c2f489f1528f461c365a64bf Mon Sep 17 00:00:00 2001 From: Arjun Patel Date: Thu, 2 May 2019 02:29:40 -0700 Subject: [PATCH] changes for q1 --- __pycache__/backend.cpython-37.pyc | Bin 14968 -> 14961 bytes __pycache__/models.cpython-37.pyc | Bin 0 -> 9926 bytes models.py | 17 ++++++++++++++--- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 __pycache__/models.cpython-37.pyc diff --git a/__pycache__/backend.cpython-37.pyc b/__pycache__/backend.cpython-37.pyc index 41042d90ae481e4308b92fa5c93fd9f84a5dcab1..9898e443e94f9fd5ff55c9f9a50613d8fdfd4fdb 100644 GIT binary patch delta 41 vcmexS^09>5iI?iIa3w00*R%`82$ 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 X9CkmCrRW25Ix4RgmcO*zTHgLA@<&I- literal 0 HcmV?d00001 diff --git a/models.py b/models.py index f4fde16..1378860 100644 --- a/models.py +++ b/models.py @@ -30,6 +30,7 @@ class PerceptronModel(object): Returns: a node containing a single number (the score) """ "*** YOUR CODE HERE ***" + return nn.DotProduct(x, self.w) def get_prediction(self, x): """ @@ -38,12 +39,22 @@ class PerceptronModel(object): Returns: 1 or -1 """ "*** YOUR CODE HERE ***" + result = nn.as_scalar(nn.DotProduct(x, self.w)) + if (result >= 0): + return 1 + return -1 def train(self, dataset): """ Train the perceptron until convergence. """ "*** YOUR CODE HERE ***" + batch_size = 1 + for x, y in dataset.iterate_once(batch_size): + print(x) + print(y) + result_y = self.run(x) + self.w.update(y, .2) class RegressionModel(object): @@ -82,7 +93,7 @@ class RegressionModel(object): A node with shape (batch_size x 1) containing predicted y-values """ "*** YOUR CODE HERE ***" - self.graph = nn.Graph( + self.graph = nn.DataNode( [self.w1, self.w2, self.w3, self.b1, self.b2, self.b3]) if y is not None: @@ -91,8 +102,8 @@ class RegressionModel(object): # that the node belongs to. The loss node must be the last node # added to the graph. "*** YOUR CODE HERE ***" - input_x = nn.Input(self.graph, x) - input_y = nn.Input(self.graph, y) + input_x = nn.Constant(x) + input_y = nn.Constant(y) xw1 = nn.MatrixMultiply(self.graph, input_x, self.w1) xw1_plus_b1 = nn.MatrixVectorAdd(self.graph, xw1, self.b1) l1 = nn.ReLU(self.graph, xw1_plus_b1)