Safe Haskell | None |
---|---|
Language | Haskell2010 |
- konst :: (Tensor t, SingI n) => ElemT t -> t n
- map :: forall k o t. (SingI o, Tensor t) => (ElemT t -> ElemT t) -> t o -> t o
- zipN :: (SingI o, Tensor t) => (Vec n (ElemT t) -> ElemT t) -> Vec n (t o) -> t o
- zip :: (SingI o, Tensor t) => (ElemT t -> ElemT t -> ElemT t) -> t o -> t o -> t o
- zip3 :: (SingI o, Tensor t) => (ElemT t -> ElemT t -> ElemT t -> ElemT t) -> t o -> t o -> t o -> t o
- add :: (Tensor t, SingI o) => t o -> t o -> t o
- gradLift :: forall o n t. (Tensor t, RealFloat (ElemT t), SingI o) => VFunc n -> Vec n (t o) -> t o -> Vec n (t o)
- inner :: forall t ms ns o. (Tensor t, SingI (o ': ns), SingI (ms ++ ns)) => Length ms -> Length ns -> t (ms >: o) -> t (o ': ns) -> t (ms ++ ns)
- outer :: (Tensor t, SingI ns, SingI (ms ++ ns)) => Length ms -> Length ns -> t ms -> t ns -> t (ms ++ ns)
- outerV :: (Tensor t, SingI '[n], SingI '[m, n]) => t '[m] -> t '[n] -> t '[m, n]
- dot :: forall t m. (Tensor t, SingI '[m]) => t '[m] -> t '[m] -> t '[]
- matVec :: (Tensor t, SingI '[n], SingI '[m]) => t '[m, n] -> t '[n] -> t '[m]
- vecMat :: (Tensor t, SingI '[m, n], SingI '[n]) => t '[m] -> t '[m, n] -> t '[n]
- matMat :: (Tensor t, SingI '[n, o], SingI '[m, o]) => t '[m, n] -> t '[n, o] -> t '[m, o]
- fromList :: (Tensor t, SingI ns) => [ElemT t] -> Maybe (t ns)
- generate :: forall k t ns. (Tensor t, SingI ns) => (Prod (IndexN k) ns -> ElemT t) -> t ns
- rows :: (Tensor t, Applicative f, SingI (ms ++ os)) => Length ms -> Length os -> (t ns -> f (t os)) -> t (ms ++ ns) -> f (t (ms ++ os))
- toRows :: (Tensor t, SingI n) => t (n ': ns) -> [t ns]
- ixElems :: forall k f t ns. (Applicative f, Tensor t, SingI ns) => (Prod (IndexN k) ns -> ElemT t -> f (ElemT t)) -> t ns -> f (t ns)
- elems :: (Applicative f, Tensor t, SingI ns) => (ElemT t -> f (ElemT t)) -> t ns -> f (t ns)
- itoList :: forall k t ns. (Tensor t, SingI ns) => t ns -> [(Prod (IndexN k) ns, ElemT t)]
- toList :: (Tensor t, SingI ns) => t ns -> [ElemT t]
- unScalar :: forall t. Tensor t => t '[] -> ElemT t
- oneHot :: forall k t n. (Tensor t, Eq1 (IndexN k), SingI n) => ElemT t -> ElemT t -> IndexN k n -> t '[n]
- argMax :: forall k t n. (SingI n, Tensor t, Ord (ElemT t), NonZero n) => t '[n] -> IndexN k n
- argMin :: forall k t n. (SingI n, Tensor t, Ord (ElemT t), NonZero n) => t '[n] -> IndexN k n
Documentation
zip3 :: (SingI o, Tensor t) => (ElemT t -> ElemT t -> ElemT t -> ElemT t) -> t o -> t o -> t o -> t o Source #
:: (Tensor t, RealFloat (ElemT t), SingI o) | |
=> VFunc n | |
-> Vec n (t o) | inputs |
-> t o | d target / d outputs |
-> Vec n (t o) | d target / d inputs |
TODO: memoize vfGrad f x somehow?
inner :: forall t ms ns o. (Tensor t, SingI (o ': ns), SingI (ms ++ ns)) => Length ms -> Length ns -> t (ms >: o) -> t (o ': ns) -> t (ms ++ ns) Source #
outer :: (Tensor t, SingI ns, SingI (ms ++ ns)) => Length ms -> Length ns -> t ms -> t ns -> t (ms ++ ns) Source #
rows :: (Tensor t, Applicative f, SingI (ms ++ os)) => Length ms -> Length os -> (t ns -> f (t os)) -> t (ms ++ ns) -> f (t (ms ++ os)) Source #
ixElems :: forall k f t ns. (Applicative f, Tensor t, SingI ns) => (Prod (IndexN k) ns -> ElemT t -> f (ElemT t)) -> t ns -> f (t ns) Source #
elems :: (Applicative f, Tensor t, SingI ns) => (ElemT t -> f (ElemT t)) -> t ns -> f (t ns) Source #
oneHot :: forall k t n. (Tensor t, Eq1 (IndexN k), SingI n) => ElemT t -> ElemT t -> IndexN k n -> t '[n] Source #