nip.parameters.agents.ImageClassificationAgentParameters#
- class nip.parameters.agents.ImageClassificationAgentParameters(agent_lr_factor: ~nip.parameters.agents.LrFactors | dict | None = None, body_lr_factor: ~nip.parameters.agents.LrFactors | dict | None = None, update_schedule: ~nip.parameters.update_schedule.AgentUpdateSchedule = ConstantUpdateSchedule(), use_manual_architecture: bool = False, normalize_message_history: bool = False, load_checkpoint_and_parameters: bool = False, checkpoint_entity: str = <factory>, checkpoint_project: str = <factory>, checkpoint_run_id: str | None = None, checkpoint_version: str = 'latest', use_orthogonal_initialisation: bool = True, orthogonal_initialisation_gain: float = 1.0, activation_function: ~typing.Literal['relu', 'tanh', 'sigmoid'] = 'tanh', building_block_type: ~typing.Literal['conv2d', 'residual_basic'] = 'conv2d', num_blocks_per_group: int = 2, kernel_size: int = 3, stride: int = 1, pretrained_embeddings_model: str | None = None, pretrained_embedding_channels: int = 64, d_latent_pixel_selector: int = 16, num_latent_pixel_selector_layers: int = 2, d_decider: int = 16, num_decider_layers: int = 2, include_round_in_decider: bool = True, d_linear_message_selector: int = 16, num_linear_message_selector_layers: int = 2, d_value: int = 16, num_value_layers: int = 2, include_round_in_value: bool = True)[source]#
Additional parameters for agents in the image classification experiment.
An image classification network is composed of several groups of building blocks, such as convolutional layers. Each group contains several building blocks.
- Parameters:
activation_function (ActivationType) – The activation function to use.
building_block_type (ImageBuildingBlockType) – The type of building block to use in the agents’s CNN (e.g. convolutional layer).
num_blocks_per_group (int) – The number of building blocks in each group in the agents’s CNN.
kernel_size (int) – The kernel size of the building blocks in the agents’s CNN.
stride (int) – The stride of the building blocks in the agents’s CNN.
pretrained_embeddings_model (str or None) – If not None, specifies a pretrained model to load. This is usually either of the form “{hf_user}/{model_name}_{dataset}”, where
hf_useris a HuggingFace Hub username, or “{model_name}”, which resolves to “{HF_PRETRAINED_MODELS_USER}/{model_name}_{hyper_params.dataset}”, whereHF_PRETRAINED_MODELS_USERis defined in theconstantsmodule. The last-layer embeddings will be included in the model architecture.pretrained_embedding_channels (int) – The number of channels used to represent the pretrained embeddings. The pretrained embeddings are resized to this number of channels by using a 1x1 convolution.
d_latent_pixel_selector (int) – The dimension of the hidden layer in the agents’s MLP which selects a latent pixel to send as a message.
num_latent_pixel_selector_layers (int) – The number of layers in the agents’s latent pixel selector MLP.
d_decider (int) – The dimension of the hidden layer in the agents’s MLP which decides whether continue exchanging messages or to guess.
num_decider_layers (int) – The number of layers in the agents’s decider MLP.
include_round_in_decider (bool) – Whether to include the round number in the agents’s decider MLP.
d_linear_message_selector (int) – The dimension of the hidden layer in the agents’s MLP which selects a linear message, if we’re using the linear message space.
num_linear_message_selector_layers (int) – The number of layers in the agents’s linear message selector MLP.
d_value (int) – The dimension of the hidden layer in the agents’s MLP which estimates the value function.
num_value_layers (int) – The number of layers in the agents’s value MLP.
include_round_in_value (bool) – Whether to include the round number in the agents’s value MLP.
Methods Summary
__eq__(other)Return self==value.
__init__([agent_lr_factor, body_lr_factor, ...])__repr__()Return repr(self).
_get_param_class_from_dict(param_dict)Try to get the parameter class from a dictionary of serialised parameters.
Construct test parameters for the agent.
from_dict(params_dict[, ignore_extra_keys])Create a parameters object from a dictionary.
get(address)Get a value from the parameters object using a dot-separated address.
load_from_wandb_config(wandb_config)Load the parameters from a W&B config dictionary.
to_dict()Convert the parameters object to a dictionary.
Attributes
LOAD_PRESERVED_PARAMETERSactivation_functionagent_lr_factorbody_lr_factorbuilding_block_typecheckpoint_run_idcheckpoint_versiond_deciderd_latent_pixel_selectord_linear_message_selectord_valueinclude_round_in_deciderinclude_round_in_valueis_randomkernel_sizeload_checkpoint_and_parametersnormalize_message_historynum_blocks_per_groupnum_decider_layersnum_latent_pixel_selector_layersnum_linear_message_selector_layersnum_value_layersorthogonal_initialisation_gainpretrained_embedding_channelspretrained_embeddings_modelstrideupdate_scheduleuse_manual_architectureuse_orthogonal_initialisationcheckpoint_entitycheckpoint_projectMethods
- __eq__(other)#
Return self==value.
- __init__(agent_lr_factor: ~nip.parameters.agents.LrFactors | dict | None = None, body_lr_factor: ~nip.parameters.agents.LrFactors | dict | None = None, update_schedule: ~nip.parameters.update_schedule.AgentUpdateSchedule = ConstantUpdateSchedule(), use_manual_architecture: bool = False, normalize_message_history: bool = False, load_checkpoint_and_parameters: bool = False, checkpoint_entity: str = <factory>, checkpoint_project: str = <factory>, checkpoint_run_id: str | None = None, checkpoint_version: str = 'latest', use_orthogonal_initialisation: bool = True, orthogonal_initialisation_gain: float = 1.0, activation_function: ~typing.Literal['relu', 'tanh', 'sigmoid'] = 'tanh', building_block_type: ~typing.Literal['conv2d', 'residual_basic'] = 'conv2d', num_blocks_per_group: int = 2, kernel_size: int = 3, stride: int = 1, pretrained_embeddings_model: str | None = None, pretrained_embedding_channels: int = 64, d_latent_pixel_selector: int = 16, num_latent_pixel_selector_layers: int = 2, d_decider: int = 16, num_decider_layers: int = 2, include_round_in_decider: bool = True, d_linear_message_selector: int = 16, num_linear_message_selector_layers: int = 2, d_value: int = 16, num_value_layers: int = 2, include_round_in_value: bool = True) None#
- __repr__()#
Return repr(self).
- classmethod _get_param_class_from_dict(param_dict: dict) type[ParameterValue] | None[source]#
Try to get the parameter class from a dictionary of serialised parameters.
- Parameters:
param_dict (dict) – A dictionary of parameters, which may have come from a
to_dictmethod. This dictionary may contain a_typekey, which is used to determine the class of the parameter.- Returns:
param_class (type[ParameterValue] | None) – The class of the parameter, if it can be determined.
- Raises:
ValueError – If the class specified in the dictionary is not a valid parameter class.
- classmethod construct_test_params() ImageClassificationAgentParameters[source]#
Construct test parameters for the agent.
We use a simple architecture with one convolutional layer.
- Returns:
test_params (ImageClassificationAgentParameters) – The test parameters.
- classmethod from_dict(params_dict: dict, ignore_extra_keys: bool = False) AgentsParameters[source]#
Create a parameters object from a dictionary.
- get(address: str) Any[source]#
Get a value from the parameters object using a dot-separated address.