HuwCampbell / grenade

Deep Learning in Haskell
BSD 2-Clause "Simplified" License
1.44k stars 84 forks source link

dropout serialization missing #71

Open theedge456 opened 5 years ago

theedge456 commented 5 years ago

I noticed that the serialisation of the type Dropout was missing on the release 0.1.0, preventing from saving and loading a trained network. The workaround is to apply the trick described here. The problem is that it works only for ghc>=7.2.1. Tell me if you prefer to add a fix for any ghc release or if I may pull my fix.

HuwCampbell commented 5 years ago

Thanks for the issue, sorry I didn't notice it earlier.

The dropout layers themselves aren't actually fully implemented, so I wasn't super worried that they weren't persisted.

I'll add a serialisation instance for them and actually try to get them going properly. The difficulty is that there's implicit randomness in a dropout layer, and I didn't want to put effects in which would pollute the purity of system.