From cc4638d1ee13dc748ee1e52d4562771d1d8a79a5 Mon Sep 17 00:00:00 2001 From: zwl Date: Sat, 1 Jul 2017 22:32:05 +0100 Subject: [PATCH] Use integer division for training iterations. --- 1_linear_regression.py | 2 +- 2_logistic_regression.py | 11 +++++++---- 3_neural_net.py | 2 +- 4_modern_neural_net.py | 2 +- 5_convolutional_net.py | 2 +- 5 files changed, 11 insertions(+), 8 deletions(-) diff --git a/1_linear_regression.py b/1_linear_regression.py index 9c3dc59..b10aacd 100644 --- a/1_linear_regression.py +++ b/1_linear_regression.py @@ -41,7 +41,7 @@ def main(): for i in range(100): cost = 0. - num_batches = len(X) / batch_size + num_batches = len(X) // batch_size for k in range(num_batches): start, end = k * batch_size, (k + 1) * batch_size cost += train(model, loss, optimizer, X[start:end], Y[start:end]) diff --git a/2_logistic_regression.py b/2_logistic_regression.py index 7a0a4d5..65fbf09 100644 --- a/2_logistic_regression.py +++ b/2_logistic_regression.py @@ -8,9 +8,11 @@ def build_model(input_dim, output_dim): - # We don't need the softmax layer here since CrossEntropyLoss already uses it internally. + # We don't need the softmax layer here since CrossEntropyLoss already + # uses it internally. model = torch.nn.Sequential() - model.add_module("linear", torch.nn.Linear(input_dim, output_dim, bias=False)) + model.add_module("linear", + torch.nn.Linear(input_dim, output_dim, bias=False)) return model @@ -56,10 +58,11 @@ def main(): for i in range(100): cost = 0. - num_batches = n_examples / batch_size + num_batches = n_examples // batch_size for k in range(num_batches): start, end = k * batch_size, (k + 1) * batch_size - cost += train(model, loss, optimizer, trX[start:end], trY[start:end]) + cost += train(model, loss, optimizer, + trX[start:end], trY[start:end]) predY = predict(model, teX) print("Epoch %d, cost = %f, acc = %.2f%%" % (i + 1, cost / num_batches, 100. * np.mean(predY == teY))) diff --git a/3_neural_net.py b/3_neural_net.py index 7624764..74d7ac9 100644 --- a/3_neural_net.py +++ b/3_neural_net.py @@ -57,7 +57,7 @@ def main(): for i in range(100): cost = 0. - num_batches = n_examples / batch_size + num_batches = n_examples // batch_size for k in range(num_batches): start, end = k * batch_size, (k + 1) * batch_size cost += train(model, loss, optimizer, trX[start:end], trY[start:end]) diff --git a/4_modern_neural_net.py b/4_modern_neural_net.py index b3b5af0..db77291 100644 --- a/4_modern_neural_net.py +++ b/4_modern_neural_net.py @@ -61,7 +61,7 @@ def main(): for i in range(100): cost = 0. - num_batches = n_examples / batch_size + num_batches = n_examples // batch_size for k in range(num_batches): start, end = k * batch_size, (k + 1) * batch_size cost += train(model, loss, optimizer, trX[start:end], trY[start:end]) diff --git a/5_convolutional_net.py b/5_convolutional_net.py index d83f40d..7386da1 100644 --- a/5_convolutional_net.py +++ b/5_convolutional_net.py @@ -78,7 +78,7 @@ def main(): for i in range(20): cost = 0. - num_batches = n_examples / batch_size + num_batches = n_examples // batch_size for k in range(num_batches): start, end = k * batch_size, (k + 1) * batch_size cost += train(model, loss, optimizer, trX[start:end], trY[start:end])