diff --git a/gconv_experiments/MNIST_ROT/train.py b/gconv_experiments/MNIST_ROT/train.py index 3220ac0..72b84ff 100644 --- a/gconv_experiments/MNIST_ROT/train.py +++ b/gconv_experiments/MNIST_ROT/train.py @@ -80,7 +80,7 @@ def preprocess_mnist_data(train_data, test_data, train_labels, test_labels): def train_epoch(train_data, train_labels, model, optimizer, batchsize, transformations, silent, gpu=0, finetune=False): N = train_data.shape[0] - pbar = ProgressBar(0, N) + pbar = ProgressBar(maxval=N).start() perm = np.random.permutation(N) sum_accuracy = 0 sum_loss = 0 @@ -100,7 +100,7 @@ def train_epoch(train_data, train_labels, model, optimizer, batchsize, transform x_batch = cuda.to_gpu(x_batch.astype(np.float32)) y_batch = cuda.to_gpu(y_batch.astype(np.int32)) - optimizer.zero_grads() + model.cleargrads() x = Variable(x_batch) t = Variable(y_batch) @@ -114,12 +114,13 @@ def train_epoch(train_data, train_labels, model, optimizer, batchsize, transform if not silent: pbar.update(i + y_batch.size) + pbar.finish() return sum_loss, sum_accuracy def validate(test_data, test_labels, model, batchsize, silent, gpu): N_test = test_data.shape[0] - pbar = ProgressBar(0, N_test) + pbar = ProgressBar(maxval=N_test).start() sum_accuracy = 0 sum_loss = 0 diff --git a/gconv_experiments/conv_bn_act.py b/gconv_experiments/conv_bn_act.py index e72a708..e430a4e 100644 --- a/gconv_experiments/conv_bn_act.py +++ b/gconv_experiments/conv_bn_act.py @@ -1,6 +1,7 @@ from chainer import Chain import chainer.functions as F +import chainer.links as L class ConvBNAct(Chain): @@ -13,7 +14,7 @@ def __init__(self, if bn: out_channels = self.conv.W.data.shape[0] - self.add_link('bn', F.BatchNormalization(out_channels)) + self.add_link('bn', L.BatchNormalization(out_channels)) else: self.bn = None @@ -24,7 +25,7 @@ def __call__(self, x, train, finetune): y = self.conv(x) if self.bn: - y = self.bn(y, test=not train, finetune=finetune) + y = self.bn(y, finetune=finetune) if self.act: y = self.act(y)