From 9da56020aa1ae072bf3e4b8eef2a7d88a874622e Mon Sep 17 00:00:00 2001 From: mbeissinger Date: Mon, 7 Dec 2015 16:26:41 -0500 Subject: [PATCH] optimizer hotfix for FileService writing to correct subset --- opendeep/models/single_layer/tests/lenet.py | 6 +++--- opendeep/optimization/optimizer.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opendeep/models/single_layer/tests/lenet.py b/opendeep/models/single_layer/tests/lenet.py index 82316ed..1eff9dd 100644 --- a/opendeep/models/single_layer/tests/lenet.py +++ b/opendeep/models/single_layer/tests/lenet.py @@ -7,7 +7,7 @@ from opendeep.data import ModifyStream from opendeep.models import Prototype, Conv2D, Dense, Softmax from opendeep.models.utils import Pool2D, Flatten -from opendeep.monitor import Monitor +from opendeep.monitor import Monitor, FileService from opendeep.optimization.loss import Neg_LL from opendeep.optimization import SGD from opendeep.data import MNIST @@ -72,13 +72,13 @@ def build_lenet(): # targets from MNIST are int64 numbers 0-9 y = lvector('y') loss = Neg_LL(inputs=lenet.get_outputs(), targets=y, one_hot=False) - error_monitor = Monitor(name='error', expression=mean(neq(lenet.models[-1].y_pred, y)), valid=True, test=True) + error_monitor = Monitor(name='error', expression=mean(neq(lenet.models[-1].y_pred, y)), valid=True, test=True, out_service=FileService('outputs/lenet_error.txt')) # optimize our model to minimize loss given the dataset using SGD optimizer = SGD(model=lenet, dataset=data, loss=loss, epochs=200, - batch_size=500, + batch_size=128, learning_rate=.1, momentum=False) optimizer.train(monitor_channels=error_monitor) \ No newline at end of file diff --git a/opendeep/optimization/optimizer.py b/opendeep/optimization/optimizer.py index 6d52cfa..c1e829e 100755 --- a/opendeep/optimization/optimizer.py +++ b/opendeep/optimization/optimizer.py @@ -541,7 +541,7 @@ def _compute_over_subset(self, subset, inputs, targets, # send the values to their outservices for name, service in monitors_outservice_dict.items(): if name in current_mean_monitors and service: - service.write(current_mean_monitors[name], "test") + service.write(current_mean_monitors[name], subset) # if there is a plot, also send them over! if plot: plot.update_plots(epoch=self.epoch_counter, monitors=current_mean_monitors)