I would like to create a network for Autoencoder with a deep grenade learning library written in Haskell. He must learn to represent 265 input bits with a 200 bit layer. So I declare a type:
type Auto =
Network
'[ FullyConnected 265 200, Relu, FullyConnected 200 265, Relu]
'[ 'D1 265, 'D1 200, 'D1 265]
However, when I try to create a random network for this type
randomAuto :: MonadRandom m => m Auto
randomAuto = randomNetwork
I get an error like type:
Could not deduce (Layer Relu ('D1 200) ('D1 265)) arising from a use of ‘randomNetwork’
This is certainly because a single instance of Reludimension 1 is declared as
KnownNat i => Layer Relu (D1 i) (D1 i)
the input and output are required to be the same size.
But how do you create an autocoder with this library?
source
share