def _get_vec_slot_configs(self): if not self._config_run: return self._vec_embedding.config if self._vec_embedding else None slot_list = [] fs_map = {} for slot_id in self._slot_ids: if slot_id not in self._feature_column_v1s: continue fc = self._feature_column_v1s[slot_id] fs = fc.feature_slot if fc.feature_slot.dim > 1: key = (id(fs._vec_initializer), id(fs._vec_optimizer)) fs_map[key] = fs slot_list.append((slot_id, fs.dim - 1, fs.hash_table_size, key)) if not slot_list: return None vec_config = utils._compute_slot_config(slot_list, self._num_embedding_groups, self._use_fid_v2) vec_config['name'] = 'vec' vec_config['slot_list'] = slot_list vec_config['initializers'] = [fs_map[i]._vec_initializer for i in vec_config['weight_group_keys']] vec_config['optimizers'] = [fs_map[i]._vec_optimizer for i in vec_config['weight_group_keys']] vec_config['use_fid_v2'] = self._use_fid_v2 return vec_config
def _get_bias_slot_configs(self): if not self._config_run: return self._bias_embedding.config if self._bias_embedding else None slot_list = [] fs_map = {} for slot_id in self._slot_ids: fs = self._feature_slots[slot_id] key = (id(fs._bias_initializer), id(fs._bias_optimizer)) fs_map[key] = fs slot_list.append((fs.slot_id, 1, fs.hash_table_size, key)) if not slot_list: return None bias_config = utils._compute_slot_config(slot_list, 1) bias_config['name'] = 'bias' bias_config['slot_list'] = slot_list bias_config['initializers'] = [ fs_map[i]._bias_initializer for i in bias_config['weight_group_keys'] ] bias_config['optimizers'] = [ fs_map[i]._bias_optimizer for i in bias_config['weight_group_keys'] ] return bias_config