PetaVision / OpenPV

PetaVision is a C++ library for designing and deploying large-scale neurally-inspired computational models.
http://petavision.github.io
Eclipse Public License 1.0
40 stars 13 forks source link

DropoutLayer fix #313

Closed peteschultz closed 3 years ago

peteschultz commented 3 years ago

This pull request makes changes to DropoutLayer and DropoutLayerTest

DropoutLayer now uses the Random class instead of the stdlib rand function.

DropoutLayerTest now sets the integrationTime to infinity in the LeakyIntegrator (used as an accumulator), so that the layer reflects total counts instead of a weighted average with later time steps weighted more. In addition, it uses two standard deviations away from the expected value as the tolerance, instead of an arbitrarily chosen value. Previously, this arbitrary tolerance proved to be too small on some systems.