Exemplo n.º 1
0
def generate_model(class_num):
    models_folder = "models"
    optimizer = 'rmsprop', {'steprate': 0.0001, 'momentum': 0.9, 'decay': 0.9, 'step_adapt': False}
    feature_size = len(testing_dataset.tfidf.vocabulary_)
    num_examples = 200
    batch_size = num_examples
    max_iter = 3000
    m = GeneralizedLinearSparseModel(feature_size, 1, out_transfer='sigmoid', loss='fmeasure',
                                     optimizer=optimizer, batch_size=batch_size, max_iter=max_iter,
                                     num_examples=num_examples)
    weight_decay = ((m.parameters.in_to_out ** 2).sum())
    weight_decay /= m.exprs['inpt'].shape[0]
    m.exprs['true_loss'] = m.exprs['loss']
    c_wd = 0.001
    m.exprs['loss'] += c_wd * weight_decay
    parameters_file = os.path.join(models_folder, "class%d.npy" % class_num)
    m.parameters.data = np.load(parameters_file)
    return m
Exemplo n.º 2
0
    def run(self):
        models_folder = 'models'
        num_examples = 1000
        batch_size = num_examples
        max_iter = 700
        actual_time = time.time()
        new_time = time.time()
        print "Time spent in transforming the training dataset: "+str(new_time-actual_time)
        actual_time = new_time
        VX, VZ = self.get_validation_data()
        new_time = time.time()
        print "Time spent in transforming the validation dataset: "+str(new_time-actual_time)
        stop = climin.stops.any_([
            climin.stops.after_n_iterations(max_iter),
            ])
        pause = climin.stops.modulo_n_iterations(10)
        optimizer = 'rmsprop', {'steprate': 0.01, 'momentum': 0.9, 'decay': 0.9, 'step_adapt': 0.001}
        m = GeneralizedLinearSparseModel(self.feature_size, 1, out_transfer='sigmoid', loss='fmeasure',
                                         optimizer=optimizer, batch_size=batch_size, max_iter=max_iter,
                                         num_examples=num_examples)
        v_losses = []
        weight_decay = ((m.parameters.in_to_out ** 2).sum())
        weight_decay /= m.exprs['inpt'].shape[0]
        m.exprs['true_loss'] = m.exprs['loss']
        c_wd = 0.001
        m.exprs['loss'] = m.exprs['loss'] + c_wd * weight_decay

        # Set up a nice printout.
        keys = '#', 'val loss'
        max_len = max(len(i) for i in keys)
        header = '   '.join(i.ljust(max_len) for i in keys)
        print header
        print '-' * len(header)
        bp = None
        for i, info in enumerate(m.powerfit(self.fit_data, (VX, VZ), stop, pause)):
            v_losses.append(info['val_loss'])
            bp = info['best_pars']
            row = '%i' % i, '%.6f' % (1-info['val_loss'])
            print '   '.join(i.ljust(max_len) for i in row)
        np.save(os.path.join(models_folder, 'class%d' % self.class_num), bp)
Exemplo n.º 3
0
    def run(self):
        models_folder = 'models'
        num_examples = 1000
        batch_size = num_examples
        max_iter = 700
        actual_time = time.time()
        new_time = time.time()
        print "Time spent in transforming the training dataset: "+str(new_time-actual_time)
        actual_time = new_time
        VX, VZ = self.get_validation_data()
        new_time = time.time()
        print "Time spent in transforming the validation dataset: "+str(new_time-actual_time)
        stop = climin.stops.any_([
            climin.stops.after_n_iterations(max_iter),
            ])
        pause = climin.stops.modulo_n_iterations(10)
        optimizer = 'rmsprop', {'steprate': 0.01, 'momentum': 0.9, 'decay': 0.9, 'step_adapt': 0.001}
        m = GeneralizedLinearSparseModel(self.feature_size, 1, out_transfer='sigmoid', loss='fmeasure',
                                         optimizer=optimizer, batch_size=batch_size, max_iter=max_iter,
                                         num_examples=num_examples)
        v_losses = []
        weight_decay = ((m.parameters.in_to_out ** 2).sum())
        weight_decay /= m.exprs['inpt'].shape[0]
        m.exprs['true_loss'] = m.exprs['loss']
        c_wd = 0.001
        m.exprs['loss'] = m.exprs['loss'] + c_wd * weight_decay

        # Set up a nice printout.
        keys = '#', 'val loss'
        max_len = max(len(i) for i in keys)
        header = '   '.join(i.ljust(max_len) for i in keys)
        print header
        print '-' * len(header)
        bp = None
        for i, info in enumerate(m.powerfit(self.fit_data, (VX, VZ), stop, pause)):
            v_losses.append(info['val_loss'])
            bp = info['best_pars']
            row = '%i' % i, '%.6f' % (1-info['val_loss'])
            print '   '.join(i.ljust(max_len) for i in row)
        np.save(os.path.join(models_folder, 'class%d' % self.class_num), bp)