Safe Haskell | None |
---|---|
Language | Haskell2010 |
Hindsight Experience Replay
Synopsis
- data Strategy
- data Buffer a = Buffer {}
- mkBuffer :: Buffer Tensor
- empty :: Buffer Tensor
- size :: Buffer Tensor -> Int
- push :: Int -> Tensor -> Buffer Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Buffer Tensor
- push' :: Int -> Buffer Tensor -> Buffer Tensor -> Buffer Tensor
- push'' :: Int -> Buffer Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Buffer Tensor
- drop' :: Buffer Tensor -> Buffer Tensor
- drop :: Int -> Buffer Tensor -> Buffer Tensor
- envSplit :: Int -> Buffer Tensor -> [Buffer Tensor]
- epsSplit :: Buffer Tensor -> [Buffer Tensor]
- sample :: Tensor -> Buffer Tensor -> Buffer Tensor
- sampleTargets :: Strategy -> Int -> Tensor -> Buffer Tensor -> IO (Buffer Tensor)
- asRPB :: Buffer Tensor -> Buffer Tensor
- targetCriterion :: Map String Bool -> Tensor
Documentation
Hindsight Experience Replay Strategies for choosing Goals
Strict Simple/Naive Replay Buffer
push :: Int -> Tensor -> Buffer Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Buffer Tensor Source #
Calculate reward and done and Push new memories into Buffer
push' :: Int -> Buffer Tensor -> Buffer Tensor -> Buffer Tensor Source #
Push one buffer into another one
push'' :: Int -> Buffer Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Tensor -> Buffer Tensor Source #
Alternative Push if tensors are not in a buffer yet
drop' :: Buffer Tensor -> Buffer Tensor Source #
Drop everything after last done (used for single episode)
drop :: Int -> Buffer Tensor -> Buffer Tensor Source #
Drop number of entries from the beginning of the Buffer
epsSplit :: Buffer Tensor -> [Buffer Tensor] Source #
Split a buffer into episodes, dropping the last unfinished