Cogment Agent Toollbox
Project description
Agent Toolbox
Overview
The agent toolbox generates tensors from the observation and action space. These tensors or vectors can be used directly to Tensorflow or PyTorch.
Setup
pip install cogment_agent_toolbox
Use TensorGenerator class in your agent
- Create a generator
from agent_toolbox.tensor_generator import TensorGenerator
generator = TensorGenerator()
- Get the action size and observation size of the environment. These functions are uselfull to create the neural net with the right sizes.
generator = TensorGenerator()
state_size = generator.get_state_size()
action_size = generator.get_action_size()
- Compute state tensor from the environment observation or compute action tensor from an environment action
state = generator.compute_tensor(obs)
- Compute action from a tensor, useful function when the type of action is continuous
action_from_tensor = generator.compute_action_from_tensor(action_tensor)
Discrete Actions utils
- Consult all possible actions generated for a classification problem
generator.get_possible_actions()
- Returns the number of actions generated for a classification problem
classification_size = generator.get_classification_size()
equivalent to
len(generator.get_possible_actions())
- Compute a choice for a classification problem, from an action tensor. The returned value is an index in the possible action list.
generator.get_possible_actions()
choice = generator.compute_choice_from_action(action_tensor)
- Convert the selected action index in action required by the environment. The parameter
choice
is an index from 0 to n, n beinggenerator.get_classification_size()
.
generator.convert_choice_in_action(choice)
Examples
- Using action tensor directly, useful for continuous action type.
from agent_toolbox.tensor_generator import TensorGenerator
...
def decide(self, observation: cog_settings.actor_classes._otsa.observation_space):
# Create generator
generator = TensorGenerator()
# Transform the observation space in tensor
obs_tensor = generator.compute_tensor(observation)
print("Observation tensor: ", obs_tensor)
# Pick an action from a tensor
action_size = generator.get_action_size()
action_tensor = [random.random() for i in range(action_size)]
# Transform the tensor in action
action_from_tensor = generator.compute_action_from_tensor(action_tensor)
print("Action from tensor : ", action_from_tensor)
- Solving classification problem by using a list generated actions, useful for discrete action type.
def decide(self, observation: cog_settings.actor_classes._otsa.observation_space):
# Create generator
generator = TensorGenerator()
# Transform the observation space in tensor
obs_tensor = generator.compute_tensor(observation)
print("Observation tensor: ", obs_tensor)
# Pick an action from a classification problem
classification_size = generator.get_classification_size()
action_choice = random.randrange(classification_size)
# Transform the choice in action
action_from_choice = generator.convert_choice_in_action(
action_choice)
print("Action from choice : ", action_from_choice)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cogment_agent_toolbox-0.0.4.tar.gz
.
File metadata
- Download URL: cogment_agent_toolbox-0.0.4.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1740c0ae1334caa018be5082e11ac3418fb8cfebaa28dc6c8b66431e17c849da |
|
MD5 | 53d417c90460eaab8a150420a4ee67b9 |
|
BLAKE2b-256 | a417ab6c0cedcdea3b028b5b2b81dcba217fd23e5ab3cfcfa450f5a7de8eed24 |