Skip to content

sqn_param

sqn_param

Classes

StochasticQuasiNewtonParam (BaseParam)

Parameters used for stochastic quasi-newton method.

Parameters:

Name Type Description Default
update_interval_L int, default: 3

Set how many iteration to update hess matrix

3
memory_M int, default: 5

Stack size of curvature information, i.e. y_k and s_k in the paper.

5
sample_size int, default: 5000

Sample size of data that used to update Hess matrix

5000
Source code in federatedml/param/sqn_param.py
class StochasticQuasiNewtonParam(BaseParam):
    """
    Parameters used for stochastic quasi-newton method.

    Parameters
    ----------
    update_interval_L : int, default: 3
        Set how many iteration to update hess matrix

    memory_M : int, default: 5
        Stack size of curvature information, i.e. y_k and s_k in the paper.

    sample_size : int, default: 5000
        Sample size of data that used to update Hess matrix

    """
    def __init__(self, update_interval_L=3, memory_M=5, sample_size=5000, random_seed=None):
        super().__init__()
        self.update_interval_L = update_interval_L
        self.memory_M = memory_M
        self.sample_size = sample_size
        self.random_seed = random_seed

    def check(self):
        descr = "hetero sqn param's"
        self.check_positive_integer(self.update_interval_L, descr)
        self.check_positive_integer(self.memory_M, descr)
        self.check_positive_integer(self.sample_size, descr)
        if self.random_seed is not None:
            self.check_positive_integer(self.random_seed, descr)
        return True
__init__(self, update_interval_L=3, memory_M=5, sample_size=5000, random_seed=None) special
Source code in federatedml/param/sqn_param.py
def __init__(self, update_interval_L=3, memory_M=5, sample_size=5000, random_seed=None):
    super().__init__()
    self.update_interval_L = update_interval_L
    self.memory_M = memory_M
    self.sample_size = sample_size
    self.random_seed = random_seed
check(self)
Source code in federatedml/param/sqn_param.py
def check(self):
    descr = "hetero sqn param's"
    self.check_positive_integer(self.update_interval_L, descr)
    self.check_positive_integer(self.memory_M, descr)
    self.check_positive_integer(self.sample_size, descr)
    if self.random_seed is not None:
        self.check_positive_integer(self.random_seed, descr)
    return True

Last update: 2021-12-01
Back to top