MCPcopy Create free account
hub / github.com/lazyprogrammer/machine_learning_examples / fit

Method fit

ann_class2/tf_with_save.py:54–97  ·  view source on GitHub ↗
(self, X, Y, Xtest, Ytest)

Source from the content-addressed store, hash-verified

52
53
54 def fit(self, X, Y, Xtest, Ytest):
55 N, D = X.shape
56 K = len(set(Y))
57
58 # hyperparams
59 max_iter = 30
60 lr = 1e-3
61 mu = 0.9
62 regularization = 1e-1
63 batch_sz = 100
64 n_batches = N // batch_sz
65
66 cost = self.build(D, K)
67 l2_penalty = regularization*tf.reduce_mean(self.W**2) / 2
68 cost += l2_penalty
69 train_op = tf.train.MomentumOptimizer(lr, momentum=mu).minimize(cost)
70
71 costs = []
72 init = tf.global_variables_initializer()
73 with tf.Session() as session:
74 session.run(init)
75
76 for i in range(max_iter):
77 for j in range(n_batches):
78 Xbatch = X[j*batch_sz:(j*batch_sz + batch_sz),]
79 Ybatch = Y[j*batch_sz:(j*batch_sz + batch_sz),]
80
81 session.run(train_op, feed_dict={self.inputs: Xbatch, self.targets: Ybatch})
82 if j % 200 == 0:
83 test_cost = session.run(cost, feed_dict={self.inputs: Xtest, self.targets: Ytest})
84 Ptest = session.run(self.predict_op, feed_dict={self.inputs: Xtest})
85 err = error_rate(Ptest, Ytest)
86 print("Cost / err at iteration i=%d, j=%d: %.3f / %.3f" % (i, j, test_cost, err))
87 costs.append(test_cost)
88
89 # save the model
90 self.saver.save(session, self.savefile)
91
92 # save dimensions for later
93 self.D = D
94 self.K = K
95
96 plt.plot(costs)
97 plt.show()
98
99
100 def predict(self, X):

Callers 1

mainFunction · 0.95

Calls 4

buildMethod · 0.95
error_rateFunction · 0.70
runMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected