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
choiceis 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)
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
|