acid-0.1.0.0: Artificial Circuit Designer
Safe HaskellNone
LanguageHaskell2010

RPB.HER

Description

Hindsight Experience Replay

Synopsis

Documentation

data Strategy Source #

Hindsight Experience Replay Strategies for choosing Goals

Constructors

Final

Only Final States are additional targets

Random

Replay with k random states encountered so far (basically vanilla)

Episode

Replay with k random states from same episode.

Future

Replay with k random states from same episode, that were observed after

Instances

Instances details
Eq Strategy Source # 
Instance details

Defined in Lib

Read Strategy Source # 
Instance details

Defined in Lib

Show Strategy Source # 
Instance details

Defined in Lib

Generic Strategy Source # 
Instance details

Defined in Lib

Associated Types

type Rep Strategy :: Type -> Type #

Methods

from :: Strategy -> Rep Strategy x #

to :: Rep Strategy x -> Strategy #

ToJSON Strategy Source # 
Instance details

Defined in Lib

FromJSON Strategy Source # 
Instance details

Defined in Lib

type Rep Strategy Source # 
Instance details

Defined in Lib

type Rep Strategy = D1 ('MetaData "Strategy" "Lib" "acid-0.1.0.0-Kasfqr97FKi1MHFsFLmEZd" 'False) ((C1 ('MetaCons "Final" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Random" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Episode" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Future" 'PrefixI 'False) (U1 :: Type -> Type)))

data Buffer a Source #

Strict Simple/Naive Replay Buffer

Constructors

Buffer 

Fields

Instances

Instances details
Functor Buffer Source #

Hindsight Experience Replay Buffer is a implements Functor

Instance details

Defined in RPB.HER

Methods

fmap :: (a -> b) -> Buffer a -> Buffer b #

(<$) :: a -> Buffer b -> Buffer a #

Applicative Buffer Source #

This is badly defined and only so it can use liftA2.

Instance details

Defined in RPB.HER

Methods

pure :: a -> Buffer a #

(<*>) :: Buffer (a -> b) -> Buffer a -> Buffer b #

liftA2 :: (a -> b -> c) -> Buffer a -> Buffer b -> Buffer c #

(*>) :: Buffer a -> Buffer b -> Buffer b #

(<*) :: Buffer a -> Buffer b -> Buffer a #

ReplayBuffer Buffer Source #

Hindsight Experience Replay Buffer implements ReplayBuffer

Instance details

Defined in RPB.HER

Eq a => Eq (Buffer a) Source # 
Instance details

Defined in RPB.HER

Methods

(==) :: Buffer a -> Buffer a -> Bool #

(/=) :: Buffer a -> Buffer a -> Bool #

Show a => Show (Buffer a) Source # 
Instance details

Defined in RPB.HER

Methods

showsPrec :: Int -> Buffer a -> ShowS #

show :: Buffer a -> String #

showList :: [Buffer a] -> ShowS #

empty :: Buffer Tensor Source #

Construct an empty HER Buffer

envSplit :: Int -> Buffer Tensor -> [Buffer Tensor] Source #

Split buffer collected from pool by env

epsSplit :: Buffer Tensor -> [Buffer Tensor] Source #

Split a buffer into episodes, dropping the last unfinished

sampleGoals :: CircusUrl -> Strategy -> Int -> Buffer Tensor -> IO (Buffer Tensor) Source #

Sample Additional Goals according to Strategy (drop first). Random is basically the same as Episode you just have to give it the entire buffer, not just the episode.