communications

attention_comm

class xuance.mindspore.communications.attention_comm.TarMAC(*args: Any, **kwargs: Any)[source]

Bases: IC3NetComm

attention_block(q, k, v)[source]
forward(obs: torch.Tensor, msg_send: dict, alive_ally: dict, gate_control: dict = None, agent_key: str | None = None) torch.Tensor[source]

base_comm

class xuance.mindspore.communications.base_comm.BaseComm(*args: Any, **kwargs: Any)[source]

Bases: Module

forward(hidden_features: torch.Tensor)[source]
class xuance.mindspore.communications.base_comm.NoneComm(*args: Any, **kwargs: Any)[source]

Bases: Module

forward(msg: torch.Tensor, **kwargs)[source]

comm_net

class xuance.mindspore.communications.comm_net.CommNet(*args: Any, **kwargs: Any)[source]

Bases: Module

create_mlp(input_shape: int, layers: list, out_shape: int, activation: torch.nn.Module, device: str | torch.device) torch.nn.Sequential[source]
forward(obs: torch.Tensor, msg_send: dict, alive_ally: dict) torch.Tensor[source]
message_encode(message: torch.Tensor) torch.Tensor[source]
obs_encode(observation)[source]

emergent_comm

gnn_comm

class xuance.mindspore.communications.gnn_comm.DGNComm(*args: Any, **kwargs: Any)[source]

Bases: Module

forward(key: str, obs: dict, alive_ally: dict)[source]
gcn(obs, matrix, alive_ally)[source]
obs_encode(observation)[source]

ic3net_comm

class xuance.mindspore.communications.ic3net_comm.IC3NetComm(*args: Any, **kwargs: Any)[source]

Bases: CommNet

forward(obs: torch.Tensor, msg_send: dict, alive_ally: dict, gate_control: dict = None)[source]