Exemple #1
0
    def __init__(self, hetero_nn_param):
        super(HeteroNNKerasGuestModel, self).__init__()

        self.bottom_model = None
        self.interactive_model = None
        self.top_model = None
        self.bottom_nn_define = None
        self.top_nn_define = None
        self.interactive_layer_define = None
        self.config_type = None
        self.optimizer = None
        self.loss = None
        self.metrics = None
        self.hetero_nn_param = None
        self.transfer_variable = None
        self.model_builder = None
        self.bottom_model_input_shape = 0
        self.top_model_input_shape = None

        self.batch_size = None

        self.is_empty = False

        self.set_nn_meta(hetero_nn_param)
        self.model_builder = nn_model.get_nn_builder(
            config_type=self.config_type)
        self.data_converter = KerasSequenceDataConverter()

        self.selector = SelectorFactory.get_selector(
            hetero_nn_param.selector_param.method,
            hetero_nn_param.selector_param.selective_size,
            beta=hetero_nn_param.selector_param.beta,
            random_rate=hetero_nn_param.selector_param.random_state,
            min_prob=hetero_nn_param.selector_param.min_prob)
Exemple #2
0
    def __init__(self, hetero_nn_param):
        super(HeteroNNKerasGuestModel, self).__init__()

        self.bottom_model = None
        self.interactive_model = None
        self.top_model = None
        self.bottom_nn_define = None
        self.top_nn_define = None
        self.interactive_layer_define = None
        self.config_type = None
        self.optimizer = None
        self.loss = None
        self.metrics = None
        self.hetero_nn_param = None
        self.transfer_variable = None
        self.model_builder = None
        self.bottom_model_input_shape = 0
        self.top_model_input_shape = None

        self.is_empty = False

        self.set_nn_meta(hetero_nn_param)
        self.model_builder = nn_model.get_nn_builder(
            config_type=self.config_type)
        self.data_converter = KerasSequenceDataConverter()
Exemple #3
0
 def _init_model(self, param):
     super(HomoNNClient, self)._init_model(param)
     self.batch_size = param.batch_size
     self.aggregate_every_n_epoch = 1
     self.nn_define = param.nn_define
     self.config_type = param.config_type
     self.optimizer = param.optimizer
     self.loss = param.loss
     self.metrics = param.metrics
     self.data_converter = nn_model.get_data_converter(self.config_type)
     self.model_builder = nn_model.get_nn_builder(config_type=self.config_type)
Exemple #4
0
    def _init_model(self, param: HomoNNParam):
        super()._init_model(param=param)
        self.batch_size = param.batch_size
        self.aggregate_every_n_epoch = param.aggregate_every_n_epoch
        self.nn_define = param.nn_define
        self.config_type = param.config_type
        self.optimizer = param.optimizer
        self.loss = param.loss
        self.metrics = param.metrics
        self.encode_label = param.encode_label

        self.data_converter = nn_model.get_data_converter(self.config_type)
        self.model_builder = nn_model.get_nn_builder(config_type=self.config_type)
Exemple #5
0
    def initialize_nn(self, input_shape):

        """
        initializing nn weights
        """

        loss = "keep_predict_loss"
        self.nn_builder = get_nn_builder(config_type=self.config_type)
        self.nn: NNModel = self.nn_builder(loss=loss, nn_define=self.nn_define, optimizer=self.optimizer, metrics=None,
                                           input_shape=input_shape)

        LOGGER.debug('printing nn layers structure')
        for layer in self.nn._model.layers:
            LOGGER.debug('input shape {}, output shape {}'.format(layer.input_shape, layer.output_shape))
Exemple #6
0
def client_set_params(self, param):
    self.nn_model = None
    self._summary = dict(loss_history=[], is_converged=False)
    self._header = []
    self._label_align_mapping = None

    self.param = param
    self.enable_secure_aggregate = param.secure_aggregate
    self.max_aggregate_iteration_num = param.max_iter
    self.batch_size = param.batch_size
    self.aggregate_every_n_epoch = param.aggregate_every_n_epoch
    self.nn_define = param.nn_define
    self.config_type = param.config_type
    self.optimizer = param.optimizer
    self.loss = param.loss
    self.metrics = param.metrics
    self.encode_label = param.encode_label

    self.data_converter = nn_model.get_data_converter(self.config_type)
    self.model_builder = nn_model.get_nn_builder(config_type=self.config_type)