grenade-0.1.0: Practical Deep Learning in Haskell

Copyright(c) Huw Campbell 2016-2017
LicenseBSD2
Stabilityexperimental
Safe HaskellNone
LanguageHaskell98

Grenade.Layers.Crop

Description

 

Synopsis

Documentation

data Crop :: Nat -> Nat -> Nat -> Nat -> * where Source #

A cropping layer for a neural network.

Constructors

Crop :: Crop cropLeft cropTop cropRight cropBottom 

Instances

Show (Crop cropLeft cropTop cropRight cropBottom) Source # 

Methods

showsPrec :: Int -> Crop cropLeft cropTop cropRight cropBottom -> ShowS #

show :: Crop cropLeft cropTop cropRight cropBottom -> String #

showList :: [Crop cropLeft cropTop cropRight cropBottom] -> ShowS #

UpdateLayer (Crop l t r b) Source # 

Associated Types

type Gradient (Crop l t r b) :: * Source #

Methods

runUpdate :: LearningParameters -> Crop l t r b -> Gradient (Crop l t r b) -> Crop l t r b Source #

createRandom :: MonadRandom m => m (Crop l t r b) Source #

runUpdates :: LearningParameters -> Crop l t r b -> [Gradient (Crop l t r b)] -> Crop l t r b Source #

(KnownNat cropLeft, KnownNat cropTop, KnownNat cropRight, KnownNat cropBottom, KnownNat inputRows, KnownNat inputColumns, KnownNat outputRows, KnownNat outputColumns, (~) Nat ((-) ((-) inputRows cropTop) cropBottom) outputRows, (~) Nat ((-) ((-) inputColumns cropLeft) cropRight) outputColumns) => Layer (Crop cropLeft cropTop cropRight cropBottom) (D2 inputRows inputColumns) (D2 outputRows outputColumns) Source #

A two dimentional image can be cropped.

Associated Types

type Tape (Crop cropLeft cropTop cropRight cropBottom) (D2 inputRows inputColumns :: Shape) (D2 outputRows outputColumns :: Shape) :: * Source #

Methods

runForwards :: Crop cropLeft cropTop cropRight cropBottom -> S (D2 inputRows inputColumns) -> (Tape (Crop cropLeft cropTop cropRight cropBottom) (D2 inputRows inputColumns) (D2 outputRows outputColumns), S (D2 outputRows outputColumns)) Source #

runBackwards :: Crop cropLeft cropTop cropRight cropBottom -> Tape (Crop cropLeft cropTop cropRight cropBottom) (D2 inputRows inputColumns) (D2 outputRows outputColumns) -> S (D2 outputRows outputColumns) -> (Gradient (Crop cropLeft cropTop cropRight cropBottom), S (D2 inputRows inputColumns)) Source #

(KnownNat cropLeft, KnownNat cropTop, KnownNat cropRight, KnownNat cropBottom, KnownNat inputRows, KnownNat inputColumns, KnownNat outputRows, KnownNat outputColumns, KnownNat channels, KnownNat (* inputRows channels), KnownNat (* outputRows channels), (~) Nat ((+) ((+) outputRows cropTop) cropBottom) inputRows, (~) Nat ((+) ((+) outputColumns cropLeft) cropRight) inputColumns) => Layer (Crop cropLeft cropTop cropRight cropBottom) (D3 inputRows inputColumns channels) (D3 outputRows outputColumns channels) Source #

A two dimentional image can be cropped.

Associated Types

type Tape (Crop cropLeft cropTop cropRight cropBottom) (D3 inputRows inputColumns channels :: Shape) (D3 outputRows outputColumns channels :: Shape) :: * Source #

Methods

runForwards :: Crop cropLeft cropTop cropRight cropBottom -> S (D3 inputRows inputColumns channels) -> (Tape (Crop cropLeft cropTop cropRight cropBottom) (D3 inputRows inputColumns channels) (D3 outputRows outputColumns channels), S (D3 outputRows outputColumns channels)) Source #

runBackwards :: Crop cropLeft cropTop cropRight cropBottom -> Tape (Crop cropLeft cropTop cropRight cropBottom) (D3 inputRows inputColumns channels) (D3 outputRows outputColumns channels) -> S (D3 outputRows outputColumns channels) -> (Gradient (Crop cropLeft cropTop cropRight cropBottom), S (D3 inputRows inputColumns channels)) Source #

type Gradient (Crop l t r b) Source # 
type Gradient (Crop l t r b) = ()
type Tape (Crop cropLeft cropTop cropRight cropBottom) (D2 inputRows inputColumns) (D2 outputRows outputColumns) Source # 
type Tape (Crop cropLeft cropTop cropRight cropBottom) (D2 inputRows inputColumns) (D2 outputRows outputColumns) = ()
type Tape (Crop cropLeft cropTop cropRight cropBottom) (D3 inputRows inputColumns channels) (D3 outputRows outputColumns channels) Source # 
type Tape (Crop cropLeft cropTop cropRight cropBottom) (D3 inputRows inputColumns channels) (D3 outputRows outputColumns channels) = ()