ReferentialGym.modules package¶
Submodules¶
ReferentialGym.modules.batch_reshape_module module¶
-
ReferentialGym.modules.batch_reshape_module.
build_BatchReshapeModule
(id: str, config: Dict[str, object], input_stream_keys: List[str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.batch_reshape_module.
BatchReshapeModule
(id: str, config: Dict[str, object], input_stream_keys: List[str])¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.batch_reshape_repeat_module module¶
-
ReferentialGym.modules.batch_reshape_repeat_module.
build_BatchReshapeRepeatModule
(id: str, config: Dict[str, object], input_stream_keys: List[str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.batch_reshape_repeat_module.
BatchReshapeRepeatModule
(id: str, config: Dict[str, object], input_stream_keys: List[str])¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.concat_module module¶
-
ReferentialGym.modules.concat_module.
build_ConcatModule
(id: str, config: Dict[str, object], input_stream_keys: List[str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.concat_module.
ConcatModule
(id: str, config: Dict[str, object], input_stream_keys: List[str])¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.current_agent_module module¶
-
class
ReferentialGym.modules.current_agent_module.
CurrentAgentModule
(id='current_agent', role=None)¶ Bases:
ReferentialGym.modules.module.Module
-
set_ref
(agent)¶
-
get_input_stream_ids
()¶
-
clone
(clone_id='a0')¶
-
save
(path)¶
-
_tidyup
()¶
-
_log
(log_dict, batch_size)¶
-
register_hook
(hook)¶
-
forward
(sentences, experiences, multi_round=False, graphtype='straight_through_gumbel_softmax', tau0=0.2)¶ - Parameters
sentences – Tensor of shape (batch_size, max_sentence_length, vocab_size) containing the padded sequence of (potentially one-hot-encoded) symbols.
experiences – Tensor of shape (batch_size, *self.obs_shape). Make sure to shuffle the experiences so that the order does not give away the target.
multi_round – Boolean defining whether to utter a sentence back or not.
graphtype – String defining the type of symbols used in the output sentence: - ‘categorical’: one-hot-encoded symbols. - ‘gumbel_softmax’: continuous relaxation of a categorical distribution. - ‘straight_through_gumbel_softmax’: improved continuous relaxation… - ‘obverter’: obverter training scheme…
tau0 – Float, temperature with which to apply gumbel-softmax estimator.
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Compute the losses and return them along with the produced outputs.
- Parameters
input_streams_dict –
Dict that should contain, at least, the following keys and values: - ‘sentences_logits’: Tensor of shape (batch_size, max_sentence_length, vocab_size) containing the padded sequence of logits over symbols. - ‘sentences_widx’: Tensor of shape (batch_size, max_sentence_length, 1) containing the padded sequence of symbols’ indices. - ‘sentences_one_hot’: Tensor of shape (batch_size, max_sentence_length, vocab_size) containing the padded sequence of one-hot-encoded symbols. - ‘experiences’: Tensor of shape (batch_size, *self.obs_shape). - ‘exp_latents’: Tensor of shape (batch_size, nbr_latent_dimensions). - ‘multi_round’: Boolean defining whether to utter a sentence back or not. - ‘graphtype’: String defining the type of symbols used in the output sentence:
’categorical’: one-hot-encoded symbols.
’gumbel_softmax’: continuous relaxation of a categorical distribution.
’straight_through_gumbel_softmax’: improved continuous relaxation…
’obverter’: obverter training scheme…
’tau0’: Float, temperature with which to apply gumbel-softmax estimator.
’sample’: Dict that contains the speaker and listener experiences as well as the target index.
’config’: Dict of hyperparameters to the referential game.
’mode’: String that defines what mode we are in, e.g. ‘train’ or ‘test’. Those keywords are expected.
’it’: Integer specifying the iteration number of the current function call.
-
ReferentialGym.modules.dsprites_per_latent_accuracy_metric_module module¶
-
ReferentialGym.modules.dsprites_per_latent_accuracy_metric_module.
build_dSpritesPerLatentAccuracyMetricModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.dsprites_per_latent_accuracy_metric_module.
dSpritesPerLatentAccuracyMetricModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None)¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶
-
ReferentialGym.modules.factor_vae_disentanglement_metric_module module¶
-
ReferentialGym.modules.factor_vae_disentanglement_metric_module.
build_FactorVAEDisentanglementMetricModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.factor_vae_disentanglement_metric_module.
FactorVAEDisentanglementMetricModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None)¶ Bases:
ReferentialGym.modules.module.Module
-
_prune_dims
(variances)¶ Mask for dimensions collapsed to the prior.
-
_generate_training_batch
(dataset, model, batch_size, nbr_points, global_variances, active_dims)¶ Sample a set of training samples based on a batch of ground-truth data.
- Args:
dataset: dataset to be sampled from. model: model that takes observations as input and
outputs a dim_representation sized representation for each observation.
batch_size: Number of points to be used to compute the training_sample. nbr_points: Number of points to be sampled for training/evaluation set. global_variances: Numpy vector with variances for all dimensions of
representation.
active_dims: Indexes of active dimensions.
- Returns:
(num_factors, dim_representation)-sized numpy array with votes.
-
_generate_training_sample
(dataset, model, batch_size, global_variances, active_dims)¶ Sample a single training sample based on a mini-batch of ground-truth data.
Args: dataset: dataset to be sampled from. model: model that takes observation as input and
outputs a representation.
batch_size: Number of points to be used to compute the training_sample. global_variances: Numpy vector with variances for all dimensions of
representation.
active_dims: Indexes of active dimensions.
- Returns:
factor_index: Index of factor coordinate to be used. argmin: Index of representation coordinate with the least variance.
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶
-
ReferentialGym.modules.flatten_module module¶
-
ReferentialGym.modules.flatten_module.
build_FlattenModule
(id: str, input_stream_keys: List[str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.flatten_module.
FlattenModule
(id: str, input_stream_keys: List[str])¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.grad_recorder_module module¶
-
ReferentialGym.modules.grad_recorder_module.
build_GradRecorderModule
(id: str, config: Dict[str, object] = None, input_stream_ids: Dict[str, str] = None) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.grad_recorder_module.
GradRecorderModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None)¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶
-
ReferentialGym.modules.homoscedastic_multi_task_loss_module module¶
-
ReferentialGym.modules.homoscedastic_multi_task_loss_module.
build_HomoscedasticMultiTasksLossModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.homoscedastic_multi_task_loss_module.
HomoscedasticMultiTasksLossModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None)¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.instantaneous_coordination_metric_module module¶
-
ReferentialGym.modules.instantaneous_coordination_metric_module.
build_InstantaneousCoordinationMetricModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.instantaneous_coordination_metric_module.
InstantaneousCoordinationMetricModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None)¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶
-
ReferentialGym.modules.module module¶
-
class
ReferentialGym.modules.module.
Module
(id: str, type: str, config: Dict[str, object], input_stream_ids: Dict[str, str])¶ Bases:
torch.nn.modules.module.Module
-
get_id
() → str¶
-
get_type
() → str¶
-
get_input_stream_ids
() → Dict[str, str]¶
-
compute
(inputs_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
inputs_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys -named streams.
- Returns
outputs_sream_dict:
-
ReferentialGym.modules.multi_head_classification_from_feature_map_module module¶
-
ReferentialGym.modules.multi_head_classification_from_feature_map_module.
build_MultiHeadClassificationFromFeatureMapModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.multi_head_classification_from_feature_map_module.
MultiHeadClassificationFromFeatureMapModule
(id: str, config: Dict[str, object], heads: torch.nn.modules.container.ModuleList, input_stream_ids: Dict[str, str], final_fn: torch.nn.modules.module.Module = Softmax(dim=- 1))¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.multi_head_classification_module module¶
-
ReferentialGym.modules.multi_head_classification_module.
build_MultiHeadClassificationModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.multi_head_classification_module.
MultiHeadClassificationModule
(id: str, config: Dict[str, object], heads: torch.nn.modules.container.ModuleList, input_stream_ids: Dict[str, str], final_fn: torch.nn.modules.module.Module = Softmax(dim=- 1))¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.multi_head_regression_module module¶
-
ReferentialGym.modules.multi_head_regression_module.
build_MultiHeadRegressionModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.multi_head_regression_module.
MultiHeadRegressionModule
(id: str, config: Dict[str, object], heads: torch.nn.modules.container.ModuleList, input_stream_ids: Dict[str, str], final_fn: torch.nn.modules.module.Module = Softmax(dim=- 1))¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.optimization_module module¶
-
ReferentialGym.modules.optimization_module.
build_OptimizationModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.optimization_module.
OptimizationModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None)¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.per_epoch_logger_module module¶
-
ReferentialGym.modules.per_epoch_logger_module.
build_PerEpochLoggerModule
(id: str, config: Dict[str, object] = None, input_stream_ids: Dict[str, str] = None) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.per_epoch_logger_module.
PerEpochLoggerModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None)¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶
-
ReferentialGym.modules.population_handler_module module¶
-
ReferentialGym.modules.population_handler_module.
build_PopulationHandlerModule
(id: str, prototype_speaker: ReferentialGym.modules.module.Module, prototype_listener: ReferentialGym.modules.module.Module, config: Dict[str, object], input_stream_ids: Dict[str, str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.population_handler_module.
PopulationHandlerModule
(id: str, prototype_speaker: ReferentialGym.modules.module.Module, prototype_listener: ReferentialGym.modules.module.Module, config: Dict[str, object], input_stream_ids: Dict[str, str])¶ Bases:
ReferentialGym.modules.module.Module
-
_select_agents
()¶
-
bookkeeping
(mode, epoch)¶
-
_reptile_step
(learner, reptile_learner, nbr_grad_steps=1, verbose=False)¶
-
_apply_meta_update
(meta_learner, meta_optimizer, learner)¶
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.squeeze_module module¶
-
ReferentialGym.modules.squeeze_module.
build_SqueezeModule
(id: str, config: Dict[str, object], input_stream_keys: List[str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.squeeze_module.
SqueezeModule
(id: str, config: Dict[str, object], input_stream_keys: List[str])¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-
ReferentialGym.modules.topographic_similarity_metric_module module¶
-
ReferentialGym.modules.topographic_similarity_metric_module.
build_TopographicSimilarityMetricModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.topographic_similarity_metric_module.
TopographicSimilarityMetricModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str] = None)¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶
-
ReferentialGym.modules.visual_module module¶
-
ReferentialGym.modules.visual_module.
build_VisualModule
(id: str, config: Dict[str, object], input_stream_ids: Dict[str, str]) → ReferentialGym.modules.module.Module¶
-
class
ReferentialGym.modules.visual_module.
VisualModule
(id, encoder, featout_converter, featout_normalization, config, input_stream_ids)¶ Bases:
ReferentialGym.modules.module.Module
-
compute
(input_streams_dict: Dict[str, object]) → Dict[str, object]¶ Operates on inputs_dict that is made up of referents to the available stream. Make sure that accesses to its element are non-destructive.
- Parameters
input_streams_dict – dict of str and data elements that follows self.input_stream_ids’s keywords and are extracted from self.input_stream_keys-named streams.
- Returns
outputs_stream_dict:
-