Skip to content

Commit fc5a2b0

Browse files
committed
change optimizer to Adam
1 parent 2e8d032 commit fc5a2b0

5 files changed

Lines changed: 13 additions & 13 deletions

File tree

tensorflow-models/linear_model/linear_regr.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ def add_backward_path(self):
4545
l1_loss = tf.reduce_mean(tf.abs(self.W))
4646
l2_loss = tf.reduce_mean(tf.square(self.W))
4747
self.loss = regr_loss + self.l1_ratio * l1_loss + (1-self.l1_ratio) * l2_loss
48-
self.train_op = tf.train.GradientDescentOptimizer(0.01).minimize(self.loss)
48+
self.train_op = tf.train.AdamOptimizer(0.1).minimize(self.loss)
4949
# end method add_backward_path
5050

5151

52-
def fit(self, X, Y, val_data, n_epoch=100, batch_size=100):
52+
def fit(self, X, Y, val_data, n_epoch=70, batch_size=100):
5353
print("Train %d samples | Test %d samples" % (len(X), len(val_data[0])))
5454
self.sess.run(tf.global_variables_initializer()) # initialize all variables
5555
for epoch in range(n_epoch):
@@ -63,8 +63,8 @@ def fit(self, X, Y, val_data, n_epoch=100, batch_size=100):
6363
v_loss = self.sess.run(self.loss, {self.X:X_test_batch, self.Y:Y_test_batch})
6464
val_loss_list.append(v_loss)
6565
val_loss = self.list_avg(val_loss_list)
66-
67-
print ("%d / %d: train_loss: %.4f | test_loss: %.4f" % (epoch+1, n_epoch, loss, val_loss))
66+
if epoch % 5 == 0:
67+
print ("%d / %d: train_loss: %.4f | test_loss: %.4f" % (epoch+1, n_epoch, loss, val_loss))
6868
# end method fit
6969

7070

tensorflow-models/linear_model/logistic.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,11 @@ def add_backward_path(self):
4949
l2_loss = tf.reduce_mean(tf.square(self.W))
5050
self.loss = regr_loss + self.l1_ratio * l1_loss + (1-self.l1_ratio) * l2_loss
5151
self.acc = tf.reduce_mean(tf.cast(tf.equal(tf.argmax(self.pred,1), tf.argmax(self.Y,1)), tf.float32))
52-
self.train_op = tf.train.GradientDescentOptimizer(0.005).minimize(self.loss)
52+
self.train_op = tf.train.AdamOptimizer().minimize(self.loss)
5353
# end method add_backward_path
5454

5555

56-
def fit(self, X, Y, val_data, n_epoch=100, batch_size=100):
56+
def fit(self, X, Y, val_data, n_epoch=20, batch_size=100):
5757
print("Train %d samples | Test %d samples" % (len(X), len(val_data[0])))
5858
self.sess.run(tf.global_variables_initializer()) # initialize all variables
5959
for epoch in range(n_epoch):
@@ -72,7 +72,7 @@ def fit(self, X, Y, val_data, n_epoch=100, batch_size=100):
7272
val_loss, val_acc = self.list_avg(val_loss_list), self.list_avg(val_acc_list)
7373

7474
# verbose
75-
if epoch % 20 == 0:
75+
if epoch % 5 == 0:
7676
print ("%d / %d: train_loss: %.4f train_acc: %.4f | test_loss: %.4f test_acc: %.4f"
7777
% (epoch+1, n_epoch, loss, acc, val_loss, val_acc))
7878
# end method fit

tensorflow-models/linear_model/logistic_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
Y_test = tf.contrib.keras.utils.to_categorical(y_test)
1414

1515
clf = Logistic(X.shape[1], 2)
16-
clf.fit(X_train, Y_train, n_epoch=100, val_data=(X_test, Y_test))
16+
clf.fit(X_train, Y_train, val_data=(X_test, Y_test))
1717
Y_pred = clf.predict(X_test)
1818
final_acc = (np.argmax(Y_pred,1) == np.argmax(Y_test,1)).astype(float).mean()
19-
print("final testing accuracy: %.4f" % final_acc)
19+
print("svm (tensorflow): %.4f" % final_acc)
2020

2121
clf = SVC(kernel='linear')
2222
y_pred = clf.fit(X_train, y_train).predict(X_test)

tensorflow-models/svm/svm_linear_clf.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def add_backward_path(self):
5151
regu_loss = 0.5 * tf.reduce_sum(tf.square(self.W))
5252
hinge_loss = tf.reduce_sum(tf.maximum(tf.zeros([self.batch_size,1]), 1-self.Y*self.logits))
5353
self.loss = regu_loss + self.C * hinge_loss
54-
self.train_op = tf.train.GradientDescentOptimizer(1e-3).minimize(self.loss)
54+
self.train_op = tf.train.AdamOptimizer().minimize(self.loss)
5555
self.acc = tf.reduce_mean(tf.cast(tf.equal(self.pred, self.Y), tf.float32))
5656
# end method add_backward_path
5757

@@ -66,7 +66,7 @@ def call_b(self, name, shape):
6666
# end method _b
6767

6868

69-
def fit(self, X, Y, val_data, n_epoch=100, batch_size=100):
69+
def fit(self, X, Y, val_data, n_epoch=20, batch_size=100):
7070
print("Train %d samples | Test %d samples" % (len(X), len(val_data[0])))
7171
log = {'loss':[], 'acc':[], 'val_loss':[], 'val_acc':[]}
7272

@@ -93,7 +93,7 @@ def fit(self, X, Y, val_data, n_epoch=100, batch_size=100):
9393
log['val_loss'].append(val_loss)
9494
log['val_acc'].append(val_acc)
9595
# verbose
96-
if epoch % 20 == 0:
96+
if epoch % 5 == 0:
9797
print ("%d / %d: train_loss: %.4f train_acc: %.4f | test_loss: %.4f test_acc: %.4f"
9898
% (epoch+1, n_epoch, loss, acc, val_loss, val_acc))
9999

tensorflow-models/svm/svm_linear_clf_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
Y_test = y_test.reshape(-1, 1)
1414

1515
clf = LinearSVMClassifier(X_train.shape[1])
16-
log = clf.fit(X_train, Y_train, n_epoch=100, batch_size=100, val_data=(X_test, Y_test))
16+
log = clf.fit(X_train, Y_train, batch_size=100, val_data=(X_test, Y_test))
1717
Y_pred = clf.predict(X_test)
1818
print("linear svm (tensorflow):", (Y_pred.ravel() == Y_test.ravel()).astype(float).mean())
1919

0 commit comments

Comments
 (0)