Packages

Gyx allows designing and training Reinforcement Learning tasks. It includes environment abstractions that allows interaction with Python based environments like OpenAI Gym.

Current section

Files

Jump to
gyx lib core spaces discrete_agent.ex
Raw

lib/core/spaces/discrete_agent.ex

defmodule Gyx.Core.Spaces.DiscreteAgent do
use Agent
defstruct n: 42, seed: nil
@type t :: %__MODULE__{
n: integer(),
seed: {integer(), integer(), integer()}
}
def start_link(n) do
Agent.start_link(fn -> %__MODULE__{n: n, seed: {1, 2, 3}} end, name: __MODULE__)
end
def n() do
Agent.get(__MODULE__, &Map.get(&1, :n))
end
def seed(seed) do
Agent.update(__MODULE__, &Map.put(&1, :seed, seed))
end
end