on master help sign in
Simpler type
b01ef9fHuw Campbell
src/Grenade/Layers/Convolution.hs+1−9
@@ -119,15 +119,7 @@ randomConvolution = do
119 mm = konst 0
119 mm = konst 0
120 return $ Convolution wN mm
120 return $ Convolution wN mm
121
121
122−instance ( Monad m
123− , KnownNat kernelRows
124− , KnownNat kernelCols
125− , KnownNat channels
126− , KnownNat filters
127− , KnownNat strideRows
128− , KnownNat strideCols
129− , kernelFlattened ~ (kernelRows * kernelColumns * channels)
130− ) => UpdateLayer m (Convolution channels filters kernelRows kernelCols strideRows strideCols) where
122+instance ( Monad m ) => UpdateLayer m (Convolution channels filters kernelRows kernelCols strideRows strideCols) where
131 type Gradient (Convolution channels filters kernelRows kernelCols strideRows strideCols) = (Convolution' channels filters kernelRows kernelCols strideRows strideCols)
123 type Gradient (Convolution channels filters kernelRows kernelCols strideRows strideCols) = (Convolution' channels filters kernelRows kernelCols strideRows strideCols)
132 runUpdate LearningParameters {..} (Convolution oldKernel oldMomentum) (Convolution' kernelGradient) = do
124 runUpdate LearningParameters {..} (Convolution oldKernel oldMomentum) (Convolution' kernelGradient) = do
133 let newMomentum = konst learningMomentum * oldMomentum - konst learningRate * kernelGradient
125 let newMomentum = konst learningMomentum * oldMomentum - konst learningRate * kernelGradient