outputs = layers.softmax(outputs) return outputs, self.initializer activation = sys.argv[1] filter_count = int(sys.argv[2]) model = PooledCNN(activation, filter_count, Initializer.DReLUInitializer(2.0)) optimizer_settings = { 'lr' : 0.01, 'lr_decay_interval' : 1, 'lr_decay_factor' : 1.0, 'optimizer' : 'SGD', 'weight_decay' : 0 } data = data_utility.load_cifar10(path='../utilities/cifar/', reshape=True, center=True, rescale=True) solver_configuration = { 'batch_size' : 128, 'data' : data, 'devices' : GPU_utility.GPU_availability()[:3], 'epoch' : 60, 'optimizer_settings' : optimizer_settings, } label = 'pooled-CNN-%s-%d-filters-lr-%f' % (activation, filter_count, optimizer_settings['lr']) solver = Solver.MXSolver(model, **solver_configuration) history = solver.train() pickle.dump(history, open('../../models/%s-history' % label, 'wb')) pickle.dump((solver.model.arg_params, solver.model.aux_params), open('../../models/%s-parameters' % label, 'wb'))
import minpy.numpy as np import minpy.nn.model_builder as builder from minpy.context import set_context, cpu, gpu # set_context(gpu(0)) set_context(cpu()) import sys sys.path.append('../../nn') from custom_layers import * from facility import * from solver_primitives import * sys.path.append('../') from utilities.data_utility import load_cifar10 data = load_cifar10(path='../utilities/cifar/', center=True, rescale=True) X = data[0][:16] hidden_layers = 4 shapes = (1024, ) * hidden_layers + (10, ) activation = builder.ReLU storage = {} mlp = builder.Sequential() for i, shape in enumerate(shapes[:-1]): mlp.append(builder.Affine(shape)) mlp.append(builder.Export('affine%d' % i, storage)) mlp.append(activation()) mlp.append(builder.Affine(shapes[-1])) model = builder.Model(mlp, 'softmax', (3072, ))
import cPickle as pickle import marshal import mxnet as mx import numpy as np import sys sys.path.append('..') from utilities.data_utility import load_cifar10 data = load_cifar10('../utilities/cifar/', reshape=True) sys.path.append('../../nn') from MXInitializer import DReLUInitializer initializer = DReLUInitializer(1.0) from MXModels.ResidualNetwork import ResidualNetwork # activation = 'ReLU' activation = sys.argv[1] symbol, _ = ResidualNetwork(3, activation, initializer)(data[0].shape) args = symbol.list_arguments() shapes, _, _ = symbol.infer_shape(data=data[0].shape) parameters = {} for arg, shape in zip(args, shapes): print arg parameters[arg] = mx.nd.zeros(shape, mx.cpu()) initializer(arg, parameters[arg])