tensor-safe-0.1.0.0: src/TensorSafe/Layer.hs
{-| This module defines the Layer class from which all Layers should have instances of. -}
module TensorSafe.Layer (
InputShape,
Layer,
compile,
layer
) where
import Data.Maybe ()
import TensorSafe.Compile.Expr
-- | Auxiliary type for Input Shape parameter
type InputShape = Maybe String
-- | Defines that a type is a Layer
-- Each layer can be compilated into a specific CNetwork expression which can later be used
-- to generate code to a specific backend.
class Layer x where
-- | The layer type
layer :: x
-- | Given the layer and a optional inputShape generates a CNetwork structure
compile :: x -> InputShape -> CNetwork
{-# MINIMAL compile, layer #-}