Python lasagne.updates.adagrad() Examples
The following are 7
code examples of lasagne.updates.adagrad().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
lasagne.updates
, or try the search function
.
Example #1
Source File: nn_adagrad_pca.py From kaggle_otto with BSD 3-Clause "New" or "Revised" License | 5 votes |
def create_iter_functions(self, dataset, output_layer, X_tensor_type=T.matrix): batch_index = T.iscalar('batch_index') X_batch = X_tensor_type('x') y_batch = T.ivector('y') batch_slice = slice(batch_index * self.batch_size, (batch_index + 1) * self.batch_size) objective = Objective(output_layer, loss_function=categorical_crossentropy) loss_train = objective.get_loss(X_batch, target=y_batch) loss_eval = objective.get_loss(X_batch, target=y_batch, deterministic=True) pred = T.argmax(output_layer.get_output(X_batch, deterministic=True), axis=1) proba = output_layer.get_output(X_batch, deterministic=True) accuracy = T.mean(T.eq(pred, y_batch), dtype=theano.config.floatX) all_params = get_all_params(output_layer) updates = adagrad(loss_train, all_params, self.lr, self.epsilon) iter_train = theano.function( [batch_index], loss_train, updates=updates, givens={ X_batch: dataset['X_train'][batch_slice], y_batch: dataset['y_train'][batch_slice], }, on_unused_input='ignore', ) iter_valid = None if self.use_valid: iter_valid = theano.function( [batch_index], [loss_eval, accuracy, proba], givens={ X_batch: dataset['X_valid'][batch_slice], y_batch: dataset['y_valid'][batch_slice], }, ) return dict(train=iter_train, valid=iter_valid)
Example #2
Source File: nn_adagrad_log.py From kaggle_otto with BSD 3-Clause "New" or "Revised" License | 5 votes |
def create_iter_functions(self, dataset, output_layer, X_tensor_type=T.matrix): batch_index = T.iscalar('batch_index') X_batch = X_tensor_type('x') y_batch = T.ivector('y') batch_slice = slice(batch_index * self.batch_size, (batch_index + 1) * self.batch_size) objective = Objective(output_layer, loss_function=categorical_crossentropy) loss_train = objective.get_loss(X_batch, target=y_batch) loss_eval = objective.get_loss(X_batch, target=y_batch, deterministic=True) pred = T.argmax(output_layer.get_output(X_batch, deterministic=True), axis=1) proba = output_layer.get_output(X_batch, deterministic=True) accuracy = T.mean(T.eq(pred, y_batch), dtype=theano.config.floatX) all_params = get_all_params(output_layer) updates = adagrad(loss_train, all_params, self.lr, self.rho) iter_train = theano.function( [batch_index], loss_train, updates=updates, givens={ X_batch: dataset['X_train'][batch_slice], y_batch: dataset['y_train'][batch_slice], }, on_unused_input='ignore', ) iter_valid = None if self.use_valid: iter_valid = theano.function( [batch_index], [loss_eval, accuracy, proba], givens={ X_batch: dataset['X_valid'][batch_slice], y_batch: dataset['y_valid'][batch_slice], }, ) return dict(train=iter_train, valid=iter_valid)
Example #3
Source File: nn_adagrad_pca.py From kaggle_otto with BSD 3-Clause "New" or "Revised" License | 5 votes |
def create_iter_functions(self, dataset, output_layer, X_tensor_type=T.matrix): batch_index = T.iscalar('batch_index') X_batch = X_tensor_type('x') y_batch = T.ivector('y') batch_slice = slice(batch_index * self.batch_size, (batch_index + 1) * self.batch_size) objective = Objective(output_layer, loss_function=categorical_crossentropy) loss_train = objective.get_loss(X_batch, target=y_batch) loss_eval = objective.get_loss(X_batch, target=y_batch, deterministic=True) pred = T.argmax(output_layer.get_output(X_batch, deterministic=True), axis=1) proba = output_layer.get_output(X_batch, deterministic=True) accuracy = T.mean(T.eq(pred, y_batch), dtype=theano.config.floatX) all_params = get_all_params(output_layer) updates = adagrad(loss_train, all_params, self.lr, self.epsilon) iter_train = theano.function( [batch_index], loss_train, updates=updates, givens={ X_batch: dataset['X_train'][batch_slice], y_batch: dataset['y_train'][batch_slice], }, on_unused_input='ignore', ) iter_valid = None if self.use_valid: iter_valid = theano.function( [batch_index], [loss_eval, accuracy, proba], givens={ X_batch: dataset['X_valid'][batch_slice], y_batch: dataset['y_valid'][batch_slice], }, ) return dict(train=iter_train, valid=iter_valid)
Example #4
Source File: nn_adagrad.py From kaggle_otto with BSD 3-Clause "New" or "Revised" License | 5 votes |
def create_iter_functions(self, dataset, output_layer, X_tensor_type=T.matrix): batch_index = T.iscalar('batch_index') X_batch = X_tensor_type('x') y_batch = T.ivector('y') batch_slice = slice(batch_index * self.batch_size, (batch_index + 1) * self.batch_size) objective = Objective(output_layer, loss_function=categorical_crossentropy) loss_train = objective.get_loss(X_batch, target=y_batch) loss_eval = objective.get_loss(X_batch, target=y_batch, deterministic=True) pred = T.argmax(output_layer.get_output(X_batch, deterministic=True), axis=1) proba = output_layer.get_output(X_batch, deterministic=True) accuracy = T.mean(T.eq(pred, y_batch), dtype=theano.config.floatX) all_params = get_all_params(output_layer) updates = adagrad(loss_train, all_params, self.lr, self.epsilon) iter_train = theano.function( [batch_index], loss_train, updates=updates, givens={ X_batch: dataset['X_train'][batch_slice], y_batch: dataset['y_train'][batch_slice], }, on_unused_input='ignore', ) iter_valid = None if self.use_valid: iter_valid = theano.function( [batch_index], [loss_eval, accuracy, proba], givens={ X_batch: dataset['X_valid'][batch_slice], y_batch: dataset['y_valid'][batch_slice], }, ) return dict(train=iter_train, valid=iter_valid)
Example #5
Source File: stack.py From kaggle-avito with MIT License | 5 votes |
def get_nn_model(shape): np.random.seed(9) model = NeuralNet( layers=[ ('input', layers.InputLayer), ('hidden1', layers.DenseLayer), ('hidden2', layers.DenseLayer), ('output', layers.DenseLayer), ], input_shape=(None, shape[1]), hidden1_num_units=16, # number of units in hidden layer hidden1_nonlinearity=sigmoid, hidden2_num_units=8, # number of units in hidden layer hidden2_nonlinearity=sigmoid, output_nonlinearity=softmax, output_num_units=2, # target values # optimization method: update=adagrad, update_learning_rate=theano.shared(np.float32(0.1)), on_epoch_finished=[ ], use_label_encoder=False, batch_iterator_train=BatchIterator(batch_size=500), regression=False, # flag to indicate we're dealing with regression problem max_epochs=900, # we want to train this many epochs verbose=1, eval_size=0.0, ) return model
Example #6
Source File: neuralforest.py From ShallowNeuralDecisionForest with MIT License | 4 votes |
def __init__(self, n_inputs, n_outputs, regression, multiclass=False, depth=5, n_estimators=20, n_hidden=128, learning_rate=0.01, num_epochs=500, pi_iters=20, sgd_iters=10, batch_size=1000, momentum=0.0, dropout=0.0, loss=None, update=adagrad): """ Parameters ---------- n_inputs : number of input features n_outputs : number of classes to predict (1 for regression) for 2 class classification n_outputs should be 2, not 1 regression : True for regression, False for classification multiclass : not used depth : depth of each tree in the ensemble n_estimators : number of trees in the ensemble n_hidden : number of neurons in the hidden layer pi_iters : number of iterations for the iterative algorithm that updates pi sgd_iters : number of full iterations of sgd between two consequtive updates of pi loss : theano loss function. If None, squared error will be used for regression and cross entropy will be used for classification update : theano update function """ self._depth = depth self._n_estimators = n_estimators self._n_hidden = n_hidden self._n_outputs = n_outputs self._loss = loss self._regression = regression self._multiclass = multiclass self._learning_rate = learning_rate self._num_epochs = num_epochs self._pi_iters = pi_iters self._sgd_iters = sgd_iters self._batch_size = batch_size self._momentum = momentum self._update = update self.t_input = T.matrix('input') self.t_label = T.matrix('output') self._cached_trainable_params = None self._cached_params = None self._n_net_out = n_estimators * ((1 << depth) - 1) self.l_input = InputLayer((None, n_inputs)) self.l_dense1 = DenseLayer(self.l_input, self._n_hidden, nonlinearity=rectify) if dropout != 0: self.l_dense1 = DropoutLayer(self.l_dense1, p=dropout) if not __DEBUG_NO_FOREST__: self.l_dense2 = DenseLayer(self.l_dense1, self._n_net_out, nonlinearity=sigmoid) self.l_forest = NeuralForestLayer(self.l_dense2, self._depth, self._n_estimators, self._n_outputs, self._pi_iters) else: self.l_forest = DenseLayer(self.l_dense1, self._n_outputs, nonlinearity=softmax)
Example #7
Source File: updates.py From Deep-SVDD with MIT License | 4 votes |
def get_updates(nnet, train_obj, trainable_params, solver=None): implemented_solvers = ("sgd", "momentum", "nesterov", "adagrad", "rmsprop", "adadelta", "adam", "adamax") if solver not in implemented_solvers: nnet.sgd_solver = "adam" else: nnet.sgd_solver = solver if nnet.sgd_solver == "sgd": updates = l_updates.sgd(train_obj, trainable_params, learning_rate=Cfg.learning_rate) elif nnet.sgd_solver == "momentum": updates = l_updates.momentum(train_obj, trainable_params, learning_rate=Cfg.learning_rate, momentum=Cfg.momentum) elif nnet.sgd_solver == "nesterov": updates = l_updates.nesterov_momentum(train_obj, trainable_params, learning_rate=Cfg.learning_rate, momentum=Cfg.momentum) elif nnet.sgd_solver == "adagrad": updates = l_updates.adagrad(train_obj, trainable_params, learning_rate=Cfg.learning_rate) elif nnet.sgd_solver == "rmsprop": updates = l_updates.rmsprop(train_obj, trainable_params, learning_rate=Cfg.learning_rate, rho=Cfg.rho) elif nnet.sgd_solver == "adadelta": updates = l_updates.adadelta(train_obj, trainable_params, learning_rate=Cfg.learning_rate, rho=Cfg.rho) elif nnet.sgd_solver == "adam": updates = l_updates.adam(train_obj, trainable_params, learning_rate=Cfg.learning_rate) elif nnet.sgd_solver == "adamax": updates = l_updates.adamax(train_obj, trainable_params, learning_rate=Cfg.learning_rate) return updates