Utils
This notebook gathers multiple functions used as helpers in the library.
Helpers for the environments
isBetween_c_Vec
isBetween_c_Vec (a, b, c, r)
Checks whether point c is crossing the line formed with point a and b.
Type | Details | |
---|---|---|
a | tensor, shape = (1,2) | Previous position. |
b | tensor, shape = (1,2) | Current position. |
c | tensor, shape = (Nt,2) | Positions of all targets. |
r | int/float | Target radius. |
Returns | array of boolean values | True at the indices of found targets. |
coord_mod
coord_mod (coord1, coord2, mod)
Computes the distance difference between two coordinates, in a world with size ‘mod’ and periodic boundary conditions.
Type | Details | |
---|---|---|
coord1 | value, np.array, tensor (can be shape=(n,1)) | First coordinate. |
coord2 | np.array, tensor – shape=(1,1) | Second coordinate, substracted from coord1. |
mod | int | World size. |
Returns | float | Distance difference (with correct sign, not absolute value). |
isBetween_c_Vec_nAgents
isBetween_c_Vec_nAgents (a, b, c, r)
Checks whether point c is crossing the line formed with point a and b. Code to run several agents in parallel.
Type | Details | |
---|---|---|
a | array, shape = (n,2) | Previous position of all n agents. |
b | array, shape = (n,2) | Current position of all n agents. |
c | array, shape = (Nt,2) | Positions of all targets. |
r | float | Target radius |
Returns | array of boolean values, shape = (Nt, n) | True at the indices of found targets. |
get_encounters
get_encounters (agent_previous_pos, agent_pos, target_positions, L, r)
Considering the agent walks, it checks whether the agent finds a target while walking the current step. Code to run several agents in parallel.
Type | Details | |
---|---|---|
agent_previous_pos | array, shape = (n,2) | Position of the n agents before taking the step. |
agent_pos | array, shape = (n,2) | Position of the n agents. |
target_positions | array, shape = (Nt,2) | Positions of the targets. |
L | int | World size. |
r | float | Radius of the targets. |
Returns | array of boolean values, shape = (Nt, n) | True at the indices of found targets. |
Loading data
get_config
get_config (config, config_path='configurations/learning/')
Get the configuration file of the given experiment and config name (e.g. exp_0).
Type | Default | Details | |
---|---|---|---|
config | str | Config name (e.g. exp_0) | |
config_path | str | configurations/learning/ | path to configurations |
Returns | dict | Dictionary with the parameters of the loaded configuration. |
get_policy
get_policy (results_path, agent, episode)
Gets the policy of an agent at a given episode.
Type | Details | |
---|---|---|
results_path | str | Path of the folder from which to extract the data. |
agent | int | Agent index. |
episode | int | Episode. |
Returns | list | Policy. |
get_performance
get_performance (results_path, agent_list, episode_list)
Extract data with the efficiencies obtained in the postlearning analysis.
Type | Details | |
---|---|---|
results_path | str | Path of the folder from which to extract the data. |
agent_list | list | List with the agent indices. |
episode_list | list | List with the episodes. |
Returns | np.array, shape=(len(agent_list), len(episode_list)) | Average performances obtained by the agents in the postlearning analysis. |
get_opt
get_opt (path, df)
Get the highest efficiency obtained by the benchmark models and the corresponding parameters.
Type | Details | |
---|---|---|
path | str | Path from which to get the data. |
df | panda dataframe | Dataframe with the results from the optimization with Tune. |
Returns | list | Efficiency of each walk. |