コード例 #1
0
ファイル: hetero_nn_host.py プロジェクト: zhilangtaosha/FATE
    def __init__(self):
        super(HeteroNNHost, self).__init__()

        self.batch_generator = batch_generator.Host()
        self.model = None

        self.input_shape = None
コード例 #2
0
    def _init_model(self, params: LogisticRegressionParam):
        super()._init_model(params)
        self.encrypted_mode_calculator_param = params.encrypted_mode_calculator_param
        if self.role == consts.HOST:
            self.init_param_obj.fit_intercept = False
        self.cipher = PaillierEncrypt()
        self.cipher.generate_key(self.model_param.encrypt_param.key_length)
        self.transfer_variable = SSHEModelTransferVariable()
        self.one_vs_rest_obj = one_vs_rest_factory(self,
                                                   role=self.role,
                                                   mode=self.mode,
                                                   has_arbiter=False)

        self.converge_func_name = params.early_stop
        self.reveal_every_iter = params.reveal_every_iter

        self.q_field = self._transfer_q_field()

        LOGGER.debug(f"q_field: {self.q_field}")

        if not self.reveal_every_iter:
            self.self_optimizer = copy.deepcopy(self.optimizer)
            self.remote_optimizer = copy.deepcopy(self.optimizer)

        self.batch_generator = batch_generator.Guest(
        ) if self.role == consts.GUEST else batch_generator.Host()
        self.batch_generator.register_batch_generator(
            BatchGeneratorTransferVariable(), has_arbiter=False)
        self.fixedpoint_encoder = FixedPointEndec(n=self.q_field)
        self.converge_transfer_variable = ConvergeCheckerTransferVariable()
        self.secure_matrix_obj = SecureMatrix(party=self.local_party,
                                              q_field=self.q_field,
                                              other_party=self.other_party)
コード例 #3
0
 def prepare_fit(self, data_instances, validate_data):
     self.batch_generator = batch_generator.Host()
     self.batch_generator.register_batch_generator(BatchGeneratorTransferVariable(), has_arbiter=False)
     self.header = copy.deepcopy(data_instances.schema.get("header", []))
     self._abnormal_detection(data_instances)
     self.check_abnormal_values(data_instances)
     self.check_abnormal_values(validate_data)
コード例 #4
0
ファイル: hetero_nn_host.py プロジェクト: zark7777/FATE
    def __init__(self):
        super(HeteroNNHost, self).__init__()

        self.batch_generator = batch_generator.Host()
        self.model = None
        self.role = consts.HOST

        self.input_shape = None
        self.validation_strategy = None
コード例 #5
0
ファイル: hetero_linr_host.py プロジェクト: yubo1993/FATE
    def __init__(self):
        super(HeteroLinRHost, self).__init__()
        self.batch_num = None
        self.batch_index_list = []
        self.role = consts.HOST

        self.cipher = paillier_cipher.Host()
        self.batch_generator = batch_generator.Host()
        self.gradient_loss_operator = hetero_linr_gradient_and_loss.Host()
        self.converge_procedure = convergence.Host()