nip.utils.malt_forest.visualise.MaltForestVisualiser#
- class nip.utils.malt_forest.visualise.MaltForestVisualiser(malt_forest: list[MaltTree], hyper_params: HyperParameters, protocol_handler: ProtocolHandler, environment_class: type[PureTextEnvironment])[source]#
- Class for visualising the MALT forest of trees. - Parameters:
- malt_forest (list[MaltTree]) – The MALT forest to be visualised. 
- hyper_params (HyperParameters) – The hyper-parameters of the experiment used to generate the rollouts from which the MALT forest was built. 
- protocol_handler (ProtocolHandler) – The protocol handler constructed for the hyper-parameters. This will be functionally identical to the one used to generate the rollouts from which the MALT forest was built. 
- environment_class (PureTextEnvironment) – The environment class determined from the hyper-parameters. If instantiated, this would be functionally identical to the one used to generate the rollouts from which the MALT forest was built. 
 
 - Methods Summary - __init__(malt_forest, hyper_params, ...)- _build_dict_tree(malt_node)- Build a dictionary representation of a MALT tree, recursively. - as_jsonl()- Build a JSONL representation of the MALT forest. - as_yaml()- Build a YAML representation of the MALT forest. - Build a dictionary representation of the MALT forest. - from_wandb_run(run_id, iteration, wandb_project)- Build a MaltForestVisualiser by from a wandb run. - visualise([format])- Visualise the MALT forest in the specified format. - Methods - __init__(malt_forest: list[MaltTree], hyper_params: HyperParameters, protocol_handler: ProtocolHandler, environment_class: type[PureTextEnvironment])[source]#
 - _build_dict_tree(malt_node: MaltNode) dict[source]#
- Build a dictionary representation of a MALT tree, recursively. - Parameters:
- malt_node (MaltNode) – The root node of the MALT tree to be converted to a dictionary. 
- Returns:
- malt_dict_tree (dict) – The MALT tree represented as a dictionary. Each node is represented as a dictionary with keys for the messages sent, various metadata, and the children of the node. 
 
 - as_jsonl() str[source]#
- Build a JSONL representation of the MALT forest. - A JSONL (JSON Lines) file contains one JSON object per line. See JSON Lines. - Returns:
- malt_jsonl_forest (str) – The MALT forest represented as a JSONL string. Each tree is represented as a nested dictionary. 
 
 - as_yaml() str[source]#
- Build a YAML representation of the MALT forest. - Returns:
- malt_yaml_forest (str) – The MALT forest represented as a YAML string. Each tree is represented as a nested dictionary. 
 
 - build_dict_forest() list[dict][source]#
- Build a dictionary representation of the MALT forest. - Returns:
- malt_dict_forest (list[dict]) – The MALT forest represented as a list of dictionaries. Each contains the whole tree as nested dictionaries. 
 
 - classmethod from_wandb_run(run_id: str, iteration: int | str, wandb_project: str, wandb_entity: str | None = None, wandb_api: Api | None = None) Self[source]#
- Build a MaltForestVisualiser by from a wandb run. - This method downloads the rollouts from the wandb run, builds the MALT forest from them, and constructs the visualiser. - Parameters:
- run_id (str) – The id of the wandb run to download the rollouts from. 
- iteration (int | str) – The experiment iteration to use as the rollouts. 
- wandb_project (str) – The project of the wandb run. 
- wandb_entity (str, optional) – The entity of the wandb run. If not provided, the default entity will be used. 
- wandb_api (WandbApi, optional) – The wandb API instance to use. If not provided, a new instance will be created. 
 
- Returns:
- malt_forest_visualiser (MaltForestVisualiser) – The MALT forest visualiser constructed from the wandb run. 
 
 - visualise(format: Literal['yaml', 'jsonl'] = 'yaml') str[source]#
- Visualise the MALT forest in the specified format. - Parameters:
- format (Literal["yaml", "jsonl"]) – The format to visualise the MALT forest in. 
- Returns:
- malt_forest_visualisation (str) – The MALT forest visualisation in the specified format. Each tree is represented as a nested dictionary.