Skip to contents

GoogLeNet architecture resolved to concrete shapes and exact params (hmgoog)

Usage

morie_geron_googlenet(
  n_classes = 1000,
  input_size = 224,
  in_channels = 3,
  dropout = 0.4
)

Arguments

n_classes, input_size, in_channels, dropout

Config.

Value

List with layers, modules, total_params, final_feature_map, total_reduction_saving.

Examples

morie_geron_googlenet()
#> $layers
#> $layers[[1]]
#> $layers[[1]]$kind
#> [1] "conv"
#> 
#> $layers[[1]]$name
#> [1] "conv1"
#> 
#> $layers[[1]]$out
#> [1] 112
#> 
#> $layers[[1]]$channels
#> [1] 64
#> 
#> $layers[[1]]$params
#> [1] 9472
#> 
#> 
#> $layers[[2]]
#> $layers[[2]]$kind
#> [1] "pool"
#> 
#> $layers[[2]]$name
#> [1] "pool1"
#> 
#> $layers[[2]]$out
#> [1] 56
#> 
#> $layers[[2]]$channels
#> [1] 64
#> 
#> $layers[[2]]$params
#> [1] 0
#> 
#> 
#> $layers[[3]]
#> $layers[[3]]$kind
#> [1] "conv"
#> 
#> $layers[[3]]$name
#> [1] "conv2"
#> 
#> $layers[[3]]$out
#> [1] 56
#> 
#> $layers[[3]]$channels
#> [1] 64
#> 
#> $layers[[3]]$params
#> [1] 4160
#> 
#> 
#> $layers[[4]]
#> $layers[[4]]$kind
#> [1] "conv"
#> 
#> $layers[[4]]$name
#> [1] "conv3"
#> 
#> $layers[[4]]$out
#> [1] 56
#> 
#> $layers[[4]]$channels
#> [1] 192
#> 
#> $layers[[4]]$params
#> [1] 110784
#> 
#> 
#> $layers[[5]]
#> $layers[[5]]$kind
#> [1] "pool"
#> 
#> $layers[[5]]$name
#> [1] "pool2"
#> 
#> $layers[[5]]$out
#> [1] 28
#> 
#> $layers[[5]]$channels
#> [1] 192
#> 
#> $layers[[5]]$params
#> [1] 0
#> 
#> 
#> $layers[[6]]
#> $layers[[6]]$kind
#> [1] "inception"
#> 
#> $layers[[6]]$name
#> [1] "3a"
#> 
#> $layers[[6]]$out
#> [1] 28
#> 
#> $layers[[6]]$channels
#> [1] 256
#> 
#> $layers[[6]]$params
#> [1] 163696
#> 
#> 
#> $layers[[7]]
#> $layers[[7]]$kind
#> [1] "inception"
#> 
#> $layers[[7]]$name
#> [1] "3b"
#> 
#> $layers[[7]]$out
#> [1] 28
#> 
#> $layers[[7]]$channels
#> [1] 480
#> 
#> $layers[[7]]$params
#> [1] 388736
#> 
#> 
#> $layers[[8]]
#> $layers[[8]]$kind
#> [1] "pool"
#> 
#> $layers[[8]]$name
#> [1] "pool_3b"
#> 
#> $layers[[8]]$out
#> [1] 14
#> 
#> $layers[[8]]$channels
#> [1] 480
#> 
#> $layers[[8]]$params
#> [1] 0
#> 
#> 
#> $layers[[9]]
#> $layers[[9]]$kind
#> [1] "inception"
#> 
#> $layers[[9]]$name
#> [1] "4a"
#> 
#> $layers[[9]]$out
#> [1] 14
#> 
#> $layers[[9]]$channels
#> [1] 512
#> 
#> $layers[[9]]$params
#> [1] 376176
#> 
#> 
#> $layers[[10]]
#> $layers[[10]]$kind
#> [1] "inception"
#> 
#> $layers[[10]]$name
#> [1] "4b"
#> 
#> $layers[[10]]$out
#> [1] 14
#> 
#> $layers[[10]]$channels
#> [1] 512
#> 
#> $layers[[10]]$params
#> [1] 449160
#> 
#> 
#> $layers[[11]]
#> $layers[[11]]$kind
#> [1] "inception"
#> 
#> $layers[[11]]$name
#> [1] "4c"
#> 
#> $layers[[11]]$out
#> [1] 14
#> 
#> $layers[[11]]$channels
#> [1] 512
#> 
#> $layers[[11]]$params
#> [1] 510104
#> 
#> 
#> $layers[[12]]
#> $layers[[12]]$kind
#> [1] "inception"
#> 
#> $layers[[12]]$name
#> [1] "4d"
#> 
#> $layers[[12]]$out
#> [1] 14
#> 
#> $layers[[12]]$channels
#> [1] 528
#> 
#> $layers[[12]]$params
#> [1] 605376
#> 
#> 
#> $layers[[13]]
#> $layers[[13]]$kind
#> [1] "inception"
#> 
#> $layers[[13]]$name
#> [1] "4e"
#> 
#> $layers[[13]]$out
#> [1] 14
#> 
#> $layers[[13]]$channels
#> [1] 832
#> 
#> $layers[[13]]$params
#> [1] 868352
#> 
#> 
#> $layers[[14]]
#> $layers[[14]]$kind
#> [1] "pool"
#> 
#> $layers[[14]]$name
#> [1] "pool_4e"
#> 
#> $layers[[14]]$out
#> [1] 7
#> 
#> $layers[[14]]$channels
#> [1] 832
#> 
#> $layers[[14]]$params
#> [1] 0
#> 
#> 
#> $layers[[15]]
#> $layers[[15]]$kind
#> [1] "inception"
#> 
#> $layers[[15]]$name
#> [1] "5a"
#> 
#> $layers[[15]]$out
#> [1] 7
#> 
#> $layers[[15]]$channels
#> [1] 832
#> 
#> $layers[[15]]$params
#> [1] 1043456
#> 
#> 
#> $layers[[16]]
#> $layers[[16]]$kind
#> [1] "inception"
#> 
#> $layers[[16]]$name
#> [1] "5b"
#> 
#> $layers[[16]]$out
#> [1] 7
#> 
#> $layers[[16]]$channels
#> [1] 1024
#> 
#> $layers[[16]]$params
#> [1] 1444080
#> 
#> 
#> $layers[[17]]
#> $layers[[17]]$kind
#> [1] "gap"
#> 
#> $layers[[17]]$name
#> [1] "global_avg_pool"
#> 
#> $layers[[17]]$out
#> [1] 1
#> 
#> $layers[[17]]$channels
#> [1] 1024
#> 
#> $layers[[17]]$params
#> [1] 0
#> 
#> 
#> $layers[[18]]
#> $layers[[18]]$kind
#> [1] "fc"
#> 
#> $layers[[18]]$name
#> [1] "classifier"
#> 
#> $layers[[18]]$out
#> [1] 1000
#> 
#> $layers[[18]]$channels
#> [1] 1000
#> 
#> $layers[[18]]$params
#> [1] 1025000
#> 
#> $layers[[18]]$dropout
#> [1] 0.4
#> 
#> 
#> 
#> $modules
#> $modules[[1]]
#> $modules[[1]]$branch_1x1
#> [1] 12352
#> 
#> $modules[[1]]$branch_3x3
#> [1] 129248
#> 
#> $modules[[1]]$branch_5x5
#> [1] 15920
#> 
#> $modules[[1]]$branch_pool
#> [1] 6176
#> 
#> $modules[[1]]$out_channels
#> [1] 256
#> 
#> $modules[[1]]$params
#> [1] 163696
#> 
#> $modules[[1]]$naive_5x5_params
#> [1] 153632
#> 
#> $modules[[1]]$reduction_saving
#> [1] 137712
#> 
#> $modules[[1]]$name
#> [1] "3a"
#> 
#> $modules[[1]]$in_channels
#> [1] 192
#> 
#> $modules[[1]]$out
#> [1] 28
#> 
#> 
#> $modules[[2]]
#> $modules[[2]]$branch_1x1
#> [1] 32896
#> 
#> $modules[[2]]$branch_3x3
#> [1] 254272
#> 
#> $modules[[2]]$branch_5x5
#> [1] 85120
#> 
#> $modules[[2]]$branch_pool
#> [1] 16448
#> 
#> $modules[[2]]$out_channels
#> [1] 480
#> 
#> $modules[[2]]$params
#> [1] 388736
#> 
#> $modules[[2]]$naive_5x5_params
#> [1] 614496
#> 
#> $modules[[2]]$reduction_saving
#> [1] 529376
#> 
#> $modules[[2]]$name
#> [1] "3b"
#> 
#> $modules[[2]]$in_channels
#> [1] 256
#> 
#> $modules[[2]]$out
#> [1] 28
#> 
#> 
#> $modules[[3]]
#> $modules[[3]]$branch_1x1
#> [1] 92352
#> 
#> $modules[[3]]$branch_3x3
#> [1] 226096
#> 
#> $modules[[3]]$branch_5x5
#> [1] 26944
#> 
#> $modules[[3]]$branch_pool
#> [1] 30784
#> 
#> $modules[[3]]$out_channels
#> [1] 512
#> 
#> $modules[[3]]$params
#> [1] 376176
#> 
#> $modules[[3]]$naive_5x5_params
#> [1] 576048
#> 
#> $modules[[3]]$reduction_saving
#> [1] 549104
#> 
#> $modules[[3]]$name
#> [1] "4a"
#> 
#> $modules[[3]]$in_channels
#> [1] 480
#> 
#> $modules[[3]]$out
#> [1] 14
#> 
#> 
#> $modules[[4]]
#> $modules[[4]]$branch_1x1
#> [1] 82080
#> 
#> $modules[[4]]$branch_3x3
#> [1] 283472
#> 
#> $modules[[4]]$branch_5x5
#> [1] 50776
#> 
#> $modules[[4]]$branch_pool
#> [1] 32832
#> 
#> $modules[[4]]$out_channels
#> [1] 512
#> 
#> $modules[[4]]$params
#> [1] 449160
#> 
#> $modules[[4]]$naive_5x5_params
#> [1] 819264
#> 
#> $modules[[4]]$reduction_saving
#> [1] 768488
#> 
#> $modules[[4]]$name
#> [1] "4b"
#> 
#> $modules[[4]]$in_channels
#> [1] 512
#> 
#> $modules[[4]]$out
#> [1] 14
#> 
#> 
#> $modules[[5]]
#> $modules[[5]]$branch_1x1
#> [1] 65664
#> 
#> $modules[[5]]$branch_3x3
#> [1] 360832
#> 
#> $modules[[5]]$branch_5x5
#> [1] 50776
#> 
#> $modules[[5]]$branch_pool
#> [1] 32832
#> 
#> $modules[[5]]$out_channels
#> [1] 512
#> 
#> $modules[[5]]$params
#> [1] 510104
#> 
#> $modules[[5]]$naive_5x5_params
#> [1] 819264
#> 
#> $modules[[5]]$reduction_saving
#> [1] 768488
#> 
#> $modules[[5]]$name
#> [1] "4c"
#> 
#> $modules[[5]]$in_channels
#> [1] 512
#> 
#> $modules[[5]]$out
#> [1] 14
#> 
#> 
#> $modules[[6]]
#> $modules[[6]]$branch_1x1
#> [1] 57456
#> 
#> $modules[[6]]$branch_3x3
#> [1] 447408
#> 
#> $modules[[6]]$branch_5x5
#> [1] 67680
#> 
#> $modules[[6]]$branch_pool
#> [1] 32832
#> 
#> $modules[[6]]$out_channels
#> [1] 528
#> 
#> $modules[[6]]$params
#> [1] 605376
#> 
#> $modules[[6]]$naive_5x5_params
#> [1] 819264
#> 
#> $modules[[6]]$reduction_saving
#> [1] 751584
#> 
#> $modules[[6]]$name
#> [1] "4d"
#> 
#> $modules[[6]]$in_channels
#> [1] 512
#> 
#> $modules[[6]]$out
#> [1] 14
#> 
#> 
#> $modules[[7]]
#> $modules[[7]]$branch_1x1
#> [1] 135424
#> 
#> $modules[[7]]$branch_3x3
#> [1] 545760
#> 
#> $modules[[7]]$branch_5x5
#> [1] 119456
#> 
#> $modules[[7]]$branch_pool
#> [1] 67712
#> 
#> $modules[[7]]$out_channels
#> [1] 832
#> 
#> $modules[[7]]$params
#> [1] 868352
#> 
#> $modules[[7]]$naive_5x5_params
#> [1] 1689728
#> 
#> $modules[[7]]$reduction_saving
#> [1] 1570272
#> 
#> $modules[[7]]$name
#> [1] "4e"
#> 
#> $modules[[7]]$in_channels
#> [1] 528
#> 
#> $modules[[7]]$out
#> [1] 14
#> 
#> 
#> $modules[[8]]
#> $modules[[8]]$branch_1x1
#> [1] 213248
#> 
#> $modules[[8]]$branch_3x3
#> [1] 594400
#> 
#> $modules[[8]]$branch_5x5
#> [1] 129184
#> 
#> $modules[[8]]$branch_pool
#> [1] 106624
#> 
#> $modules[[8]]$out_channels
#> [1] 832
#> 
#> $modules[[8]]$params
#> [1] 1043456
#> 
#> $modules[[8]]$naive_5x5_params
#> [1] 2662528
#> 
#> $modules[[8]]$reduction_saving
#> [1] 2533344
#> 
#> $modules[[8]]$name
#> [1] "5a"
#> 
#> $modules[[8]]$in_channels
#> [1] 832
#> 
#> $modules[[8]]$out
#> [1] 7
#> 
#> 
#> $modules[[9]]
#> $modules[[9]]$branch_1x1
#> [1] 319872
#> 
#> $modules[[9]]$branch_3x3
#> [1] 823872
#> 
#> $modules[[9]]$branch_5x5
#> [1] 193712
#> 
#> $modules[[9]]$branch_pool
#> [1] 106624
#> 
#> $modules[[9]]$out_channels
#> [1] 1024
#> 
#> $modules[[9]]$params
#> [1] 1444080
#> 
#> $modules[[9]]$naive_5x5_params
#> [1] 2662528
#> 
#> $modules[[9]]$reduction_saving
#> [1] 2468816
#> 
#> $modules[[9]]$name
#> [1] "5b"
#> 
#> $modules[[9]]$in_channels
#> [1] 832
#> 
#> $modules[[9]]$out
#> [1] 7
#> 
#> 
#> 
#> $total_params
#> [1] 6998552
#> 
#> $conv_params
#> [1] 124416
#> 
#> $inception_params
#> [1] 5849136
#> 
#> $fc_params
#> [1] 1025000
#> 
#> $output_shape
#> [1] 1000
#> 
#> $final_feature_map
#> [1] 1024    7    7
#> 
#> $total_reduction_saving
#> [1] 10077184
#> 
#> $dropout
#> [1] 0.4
#> 
#> $estimate
#> [1] 6998552
#> 
#> $n
#> [1] 18
#> 
#> $method
#> [1] "GoogLeNet architecture resolved to concrete shapes and exact per-branch parameter counts"
#>