@@ -6,7 +6,7 @@ on_CI = haskey(ENV, "GITHUB_ACTIONS")
6
6
7
7
include (" ../test/vgg11.jl" )
8
8
vgg11 = VGG11 (; pretrain= false )
9
- model = flatten_model (strip_softmax (vgg19 . layers))
9
+ model = flatten_model (strip_softmax (vgg11 . layers))
10
10
img = rand (MersenneTwister (123 ), Float32, (224 , 224 , 3 , 1 ))
11
11
12
12
# Benchmark custom LRP composite
@@ -23,11 +23,13 @@ algs = Dict(
23
23
)
24
24
25
25
# Define benchmark
26
+ contruct_analyzer (alg, model) = alg (model) # for use with @benchmarkable macro
27
+
26
28
SUITE = BenchmarkGroup ()
27
29
SUITE[" VGG" ] = BenchmarkGroup ([k for k in keys (algs)])
28
30
for (name, alg) in algs
29
31
SUITE[" VGG" ][name] = BenchmarkGroup ([" construct analyzer" , " analyze" ])
30
- SUITE[" VGG" ][name][" construct analyzer" ] = @benchmarkable alg ( $ (model))
32
+ SUITE[" VGG" ][name][" construct analyzer" ] = @benchmarkable contruct_analyzer ( $ (alg), $ (model))
31
33
32
34
analyzer = alg (model)
33
35
SUITE[" VGG" ][name][" analyze" ] = @benchmarkable analyze ($ (img), $ (analyzer))
@@ -58,15 +60,15 @@ rules = Dict(
58
60
)
59
61
rulenames = [k for k in keys (rules)]
60
62
63
+ test_rule (rule, layer, aₖ, Rₖ₊₁) = rule (layer, aₖ, Rₖ₊₁) # for use with @benchmarkable macro
64
+
61
65
for (layername, (layer, aₖ)) in layers
62
66
SUITE[layername] = BenchmarkGroup (rulenames)
67
+ Rₖ₊₁ = layer (aₖ)
63
68
64
- for (rulename, ruletype) in rules
65
- Rₖ₊₁ = layer (aₖ)
69
+ for (rulename, rule) in rules
66
70
SUITE[layername][rulename] = BenchmarkGroup ([" dispatch" , " AD fallback" ])
67
- SUITE[layername][rulename][" dispatch" ] = @benchmarkable rule ($ layer, $ aₖ, $ Rₖ₊₁)
68
- SUITE[layername][rulename][" AD fallback" ] = @benchmarkable rule (
69
- $ TestWrapper (layer), $ aₖ, $ Rₖ₊₁
70
- )
71
+ SUITE[layername][rulename][" dispatch" ] = @benchmarkable test_rule ($ (rule), $ (layer), $ (aₖ), $ (Rₖ₊₁))
72
+ SUITE[layername][rulename][" AD fallback" ] = @benchmarkable test_rule ($ (rule), $ (TestWrapper (layer)), $ (aₖ), $ (Rₖ₊₁))
71
73
end
72
74
end
0 commit comments