示例#1
0
文件: learner.py 项目: jakesnell/pynn
 def train_gradient_descent(self, **kwargs):
     """
     f_info will be overwritten here.
     """
     self._prepare_for_training()
     self.load_train_target()
     if 'f_info' not in kwargs:
         kwargs['f_info'] = self._f_info_decorated
     if 'f_exe' not in kwargs:
         kwargs['f_exe'] = self._f_exe_decorated
     self._general_option_processing(kwargs)
     self._process_options(kwargs)
     self.print_options(kwargs)
     opt.fmin_gradient_descent(self.f_and_fprime, self.init_w, **kwargs)
     return self._f_post_training_decorated()
示例#2
0
文件: learner.py 项目: yujiali/pynn
 def train_gradient_descent(self, **kwargs):
     """
     f_info will be overwritten here.
     """
     self._prepare_for_training()
     self.load_train_target()
     if 'f_info' not in kwargs:
         kwargs['f_info'] = self._f_info_decorated
     if 'f_exe' not in kwargs:
         kwargs['f_exe'] = self._f_exe_decorated
     self._general_option_processing(kwargs)
     self._process_options(kwargs)
     self.print_options(kwargs)
     opt.fmin_gradient_descent(self.f_and_fprime, self.init_w, **kwargs)
     return self._f_post_training_decorated()
示例#3
0
def test_gradient_descent(weight_decay=0):
    print 'Testing gradient descent weight_decay=%g' % weight_decay

    def f(x):
        return ((x - 1)**2).sum() / 2.0, x - 1

    def f_info(x):
        return 'x=%s' % str(x)

    x0 = np.array([2, 0], dtype=np.float)
    x_opt = opt.fmin_gradient_descent(f,
                                      x0,
                                      learn_rate=0.6,
                                      momentum=0.0,
                                      weight_decay=weight_decay,
                                      learn_rate_drop_iters=5,
                                      adagrad_start_iter=1,
                                      max_iters=20,
                                      iprint=1,
                                      f_info=f_info,
                                      verbose=True)

    x_star = np.ones(2, dtype=np.float) / (1 + weight_decay)

    success = test_vec_pair(x_star, 'x_star', x_opt, 'x_opt ')
    print ''
    return success
示例#4
0
文件: learner.py 项目: jakesnell/pynn
    def train_sgd(self, **kwargs):
        """
        f_info will be overwritten here.
        """
        self.print_options(kwargs)
        self._prepare_for_training()
        if 'minibatch_size' in kwargs:
            minibatch_size = kwargs['minibatch_size']
            del kwargs['minibatch_size']
        else:
            minibatch_size = 100

        self.create_minibatch_generator(minibatch_size)
        if 'f_info' not in kwargs:
            kwargs['f_info'] = self._f_info_decorated
        if 'f_exe' not in kwargs:
            kwargs['f_exe'] = self._f_exe_decorated
        self._general_option_processing(kwargs)
        self._process_options(kwargs)
        opt.fmin_gradient_descent(self.f_and_fprime_minibatch, self.init_w, **kwargs)
        return self._f_post_training_decorated()
示例#5
0
文件: learner.py 项目: yujiali/pynn
    def train_sgd(self, **kwargs):
        """
        f_info will be overwritten here.
        """
        self.print_options(kwargs)
        self._prepare_for_training()
        if 'minibatch_size' in kwargs:
            minibatch_size = kwargs['minibatch_size']
            del kwargs['minibatch_size']
        else:
            minibatch_size = 100

        self.create_minibatch_generator(minibatch_size)
        if 'f_info' not in kwargs:
            kwargs['f_info'] = self._f_info_decorated
        if 'f_exe' not in kwargs:
            kwargs['f_exe'] = self._f_exe_decorated
        self._general_option_processing(kwargs)
        self._process_options(kwargs)
        opt.fmin_gradient_descent(self.f_and_fprime_minibatch, self.init_w,
                                  **kwargs)
        return self._f_post_training_decorated()