testmode!
function
defined in module
Flux
testmode!(model, [mode]) -> model
Set a layer, or all layers in a model, to test mode. This disables the effect of
Dropout
and some other regularisation layers.
If you manually set a model into test mode, you need to manually place it back into train mode during training phase, using
trainmode!
.
There is an optional second argument, which takes a symbol
:auto
to reset all layers back to the default automatic mode.
julia> d = Dropout(0.3)
Dropout(0.3)
julia> testmode!(d) # dropout is now always disabled
Dropout(0.3, active=false)
julia> trainmode!(d) # dropout is now always enabled
Dropout(0.3, active=true)
julia> testmode!(d, :auto) # back to default
Dropout(0.3)
testmode!(model, inactive)
This two-argument method is largely internal. It recurses into the
model
, and until a method like
testmode!(d::Dropout, inactive)
alters the activity of a layer. Custom layers can support manual
testmode!
/
trainmode!
switching by defining such a method.
Possible values of
inactive
are:
true
for testing, i.e.
active=false
false
for training, same as
trainmode!
(m)
:auto
or
nothing
for Flux to detect training automatically.
This method may be removed in a future breaking change, to separate the user-facing
testmode!
from the internal recursion.
There are
7
methods for Flux.testmode!
:
The following pages link back here:
Flux.jl , deprecations.jl , functor.jl , layers/normalise.jl