LRP(
  Conv((3, 3), 3 => 64, relu, pad=1)     => ZBoxRule{Float32}(-3.0f0, 3.0f0),
  MaxPool((2, 2))                        => EpsilonRule{Float32}(1.0f-6),
  Conv((3, 3), 64 => 128, relu, pad=1)   => FlatRule(),
  MaxPool((2, 2))                        => EpsilonRule{Float32}(1.0f-5),
  Conv((3, 3), 128 => 256, relu, pad=1)  => FlatRule(),
  Conv((3, 3), 256 => 256, relu, pad=1)  => FlatRule(),
  MaxPool((2, 2))                        => EpsilonRule{Float32}(1.0f-5),
  Conv((3, 3), 256 => 512, relu, pad=1)  => AlphaBetaRule{Float32}(2.0f0, 1.0f0),
  Conv((3, 3), 512 => 512, relu, pad=1)  => AlphaBetaRule{Float32}(1.0f0, 0.0f0),
  MaxPool((2, 2))                        => EpsilonRule{Float32}(1.0f-5),
  Conv((3, 3), 512 => 512, relu, pad=1)  => AlphaBetaRule{Float32}(2.0f0, 1.0f0),
  Conv((3, 3), 512 => 512, relu, pad=1)  => AlphaBetaRule{Float32}(2.0f0, 1.0f0),
  MaxPool((2, 2))                        => EpsilonRule{Float32}(1.0f-6),
  Flux.flatten                           => PassRule(),
  Dense(25088 => 4096, relu)             => EpsilonRule{Float32}(1.0f-6),
  Dropout(0.5)                           => PassRule(),
  Dense(4096 => 4096, relu)              => EpsilonRule{Float32}(1.0f-7),
  Dropout(0.5)                           => ZeroRule(),
  Dense(4096 => 1000)                    => PassRule(),
)
