Create a gist now

Instantly share code, notes, and snippets.

@bjou /README.md
Last active Apr 4, 2017

Embed
X-ResNet-50 Best MT-VSO Model

Deep Cross Residual Learning for Multitask Visual Recognition

Authors: Brendan Jou and Shih-Fu Chang
Institution: Digital Video & Multimedia Lab @ Columbia University

Last verified compatible Caffe version: f28f5ae2f2453f42b5824723efc326a04dd16d85

Best published X-ResNet model on the Multitask-structured VSO dataset (from Table 2 in our paper):

Model
[Dropbox] https://www.dropbox.com/s/40rz31z5bux47d7/xresnet_xscale_mt-vso_best.caffemodel?dl=0
[Google Drive] https://drive.google.com/open?id=0B5BvKkkObXxvTEQzaTVkSTVOTWs
MD5: c6c834674488221b5e9c5a3391abfab6

Mean
[Dropbox] https://www.dropbox.com/s/ykt44d6b3vbegxh/mtvso_meanimage.binaryproto?dl=0
[Google Drive] https://drive.google.com/open?id=0B5BvKkkObXxvLWEybkl5LVNtUUE
MD5: 6c9297629545309b0be3a846e4c12fbf

Network Visualization:
https://ethereon.github.io/netscope/#/gist/547112cc41b831ec1905e75deae11104

License: Non-commercial
Users of this release must agree that 1) the use of the model and code is restricted to research or education purposes only, 2) all copyright and license restrictions associated with the model/code will be followed, and 3) the authors of the work and their affiliated organizations make no warranties regarding the database or software, including but not limited to non-infringement.

Description

This model corresponds to the best model, Xs-ResNet-50, presented in our paper "Deep Cross Residual Learning for Multitask Visual Recognition" for the Multitask-structured VSO dataset (cf. Table 2):
https://arxiv.org/abs/1604.01335

If you use this model in your research, please cite this publication:

Brendan Jou and Shih-Fu Chang. Deep Cross Residual Learning for Multitask Visual Recognition. ACM International Conference on Multimedia, Amsterdam, The Netherlands, 2016.

@InProceedings{mm16:xresidual,
   Author = {Jou, Brendan and Chang, Shih-Fu},
   Title = {Deep Cross Residual Learning for Multitask Visual Recognition},
   Booktitle = {ACM Multimedia},
   Address = {Amsterdam, The Netherlands},
   Year = {2016}
} 
cute
outdoor
sleepy
playful
bright
smiling
busy
yummy
stormy
young
pretty
wet
derelict
friendly
lonely
colorful
sunny
dark
famous
haunted
cold
lost
shy
cloudy
bad
stupid
laughing
scenic
heavy
tired
fluffy
magnificent
dead
elegant
curious
rough
rotten
icy
falling
adorable
christian
broken
sexy
strong
super
dry
scary
great
healthy
favorite
quiet
creepy
amazing
weird
shiny
muddy
golden
sweet
powerful
fancy
delicious
chubby
expensive
little
ancient
angry
tiny
calm
peaceful
lovely
empty
happy
innocent
holy
gorgeous
charming
warm
excellent
comfortable
misty
abandoned
dangerous
smooth
ugly
stunning
silly
dirty
wild
dusty
beautiful
crazy
classic
awesome
sad
gentle
tasty
tranquil
funny
damaged
dying
incredible
hot
strange
nice
serene
rainy
evil
mad
natural
crowded
clear
proud
magical
traditional
clean
fresh
grumpy
dry_leaves
tiny_dog
golden_flower
wild_water
traditional_architecture
outdoor_party
lost_cat
beautiful_paintings
misty_trees
elegant_wedding
fluffy_dog
warm_hat
lost_shoes
broken_wings
beautiful_clouds
pretty_eyes
weird_food
dark_tree
famous_castle
sexy_lips
great_night
colorful_sunset
natural_hair
magical_sunset
misty_hills
funny_glasses
smiling_baby
hot_food
friendly_dog
dark_woods
angry_cat
great_hall
happy_baby
tiny_mushrooms
lovely_autumn
charming_places
healthy_food
dying_flower
curious_bird
icy_tree
sad_eyes
clear_morning
cloudy_evening
dark_night
colorful_bird
abandoned_factory
wild_mushrooms
sunny_garden
wild_horse
cloudy_sunrise
favorite_band
heavy_clouds
shiny_eyes
magnificent_church
pretty_hair
damaged_car
famous_painting
bad_view
dangerous_road
dying_rose
ancient_sculpture
peaceful_lake
proud_father
cute_cat
bright_moon
awesome_clouds
cute_shoes
rainy_night
tranquil_lake
wet_grass
natural_reserve
hot_body
calm_sea
adorable_girls
young_deer
lonely_night
stunning_sunset
ancient_castle
outdoor_concert
empty_train
quiet_street
awesome_cake
lost_places
abandoned_hotel
weird_plant
derelict_farm
chubby_baby
stormy_clouds
sexy_model
bad_sign
quiet_lake
lonely_dog
nice_scene
traditional_house
pretty_sky
silly_cat
awesome_cars
broken_ice
traditional_food
weird_building
laughing_baby
lonely_boat
creepy_eyes
misty_morning
mad_hair
misty_field
outdoor_festival
amazing_sky
pretty_lights
sleepy_baby
happy_dog
tasty_food
lost_coast
dirty_wall
natural_wonder
creepy_tree
crazy_storm
fresh_rose
tiny_bathroom
clean_room
golden_sunset
bright_lights
sleepy_cat
amazing_cake
cold_mountains
sad_cat
fluffy_snow
dark_clouds
powerful_waterfall
awesome_food
famous_car
cute_dog
mad_king
smooth_water
beautiful_smile
magical_forest
damaged_building
dark_eyes
friendly_smile
sexy_legs
abandoned_hospitals
little_house
dirty_glass
rainy_river
mad_cat
amazing_trees
natural_sculpture
innocent_eyes
cold_room
wet_window
dark_room
holy_island
rough_sketch
abandoned_school
lonely_street
rainy_windows
cloudy_moon
clean_car
shy_smile
bad_cat
silly_hat
traditional_dance
broken_chair
amazing_sunset
dead_fish
great_street
cute_baby
lost_lake
gorgeous_morning
famous_bridge
proud_parents
expensive_house
ancient_city
rainy_city
christian_church
little_flower
clear_lake
colorful_lights
ugly_building
ancient_street
super_cars
fancy_shoes
comfortable_room
stunning_flower
wet_leaves
natural_food
hot_model
traditional_tattoo
broken_window
expensive_car
great_sky
strange_tree
misty_sunrise
strange_building
calm_lake
fresh_snow
dry_forest
wild_cat
fluffy_cat
weird_bug
lovely_home
yummy_food
classic_cars
derelict_house
misty_mountains
calm_water
derelict_factory
scary_halloween
bright_sun
misty_lake
strange_house
bright_sky
tasty_cake
golden_sun
lonely_mountain
amazing_food
abandoned_building
tired_girls
crazy_horse
hot_legs
shy_dog
excellent_food
hot_drink
fresh_baby
playful_dog
friendly_cat
gorgeous_eyes
famous_church
muddy_dog
evil_queen
incredible_sunset
gentle_river
icy_lake
natural_bridge
ugly_fish
bad_storm
colorful_building
amazing_race
colorful_leaves
misty_autumn
wild_deer
little_doll
dry_river
tiny_spider
dirty_shoes
little_island
excellent_book
abandoned_house
adorable_cat
grumpy_cat
dead_bug
dead_fly
outdoor_pool
warm_lights
delicious_chocolate
haunted_hotel
beautiful_autumn
golden_leaves
silly_girls
wet_hair
rotten_tree
tiny_boat
dirty_car
wet_road
icy_road
cloudy_bay
excellent_view
beautiful_sunset
tiny_flower
golden_sunlight
sweet_smile
heavy_rain
wild_waves
magnificent_garden
scary_house
wild_bird
beautiful_city
angry_bull
ancient_church
awesome_shoes
traditional_festival
little_church
dry_landscape
dark_places
fancy_dress
golden_hair
holy_child
outdoor_wedding
creepy_spider
awesome_hair
ancient_forest
lonely_chair
tranquil_scene
lonely_car
dry_tree
abandoned_boat
rotten_wood
misty_valley
empty_glass
rainy_street
derelict_building
creepy_house
falling_leaves
pretty_shoes
abandoned_asylum
classic_castle
golden_pond
fancy_food
empty_office
gorgeous_autumn
weird_clouds
shy_cat
beautiful_flower
natural_mirror
busy_city
great_view
sleepy_dog
wet_sand
strange_clouds
christian_cross
crazy_hat
lovely_view
dead_horse
stormy_night
happy_mother
empty_room
smooth_skin
traditional_home
wet_dog
shiny_hair
ancient_bridge
incredible_view
dying_tree
wet_snow
stupid_hat
nice_clouds
super_moon
scary_tree
little_baby
strong_hands
awesome_night
heavy_storm
golden_bay
tired_eyes
beautiful_beach
clear_sea
crowded_street
famous_street
broken_fence
heavy_snow
hot_girls
smiling_dog
clear_water
amazing_cars
lost_pets
lovely_clouds
ugly_doll
cold_night
dead_leaves
nice_cup
adorable_dog
sexy_body
natural_spring
traditional_dress
great_food
empty_pool
magnificent_view
strange_flower
dirty_dog
amazing_view
colorful_sky
yummy_cake
misty_rain
pretty_rose
rough_road
tired_dog
dead_tree
wild_hair
awesome_view
beautiful_eyes
famous_lighthouse
crazy_hair
bad_road
lonely_road
stupid_cat
tired_cat
traditional_boat
adorable_baby
icy_grass
beautiful_girl
derelict_boat
busy_street
colorful_clouds
serene_scene
traditional_market
crazy_car
bright_autumn
wild_animals
broken_glass
golden_statue
dirty_window
bright_eyes
beautiful_landscape
scenic_road
ancient_architecture
cute_animals
fancy_car
young_driver
young_tree
weird_tree
stunning_architecture
quiet_night
ancient_building
falling_star
tiny_house
funny_dog
stunning_building
cloudy_view
icy_river
pretty_tree
fresh_grass
quiet_river
empty_chair
outdoor_lights
stupid_girls
holy_city
gentle_waves
beautiful_view
lonely_house
cloudy_mountains
peaceful_places
beautiful_sky
wild_rose
broken_tree
tranquil_water
great_sunset
expensive_hotel
nice_street
peaceful_morning
tiny_bug
curious_cat
lonely_island
amazing_hair
abandoned_car
bright_angel
rainy_lake
hot_pool
wild_coast
lovely_beach
bad_hair
gorgeous_dress
tired_feet
dry_flower
fancy_hair
evil_cat
funny_sign
haunted_forest
ancient_monument
natural_pool
tiny_book
tiny_hands
silly_baby
cloudy_morning
nice_beach
dirty_snow
haunted_woods
dry_grass
tiny_insect
amazing_clouds
empty_street
muddy_river
icy_snow
fresh_meat
falling_snow
golden_sunrise
empty_building
dirty_feet
dusty_road
tiny_feet
famous_beach
traditional_wedding
sad_dog
awesome_sunset
ugly_bug
golden_autumn
wild_garden
clear_mountain
beautiful_earth
dirty_streets
nice_building
abandoned_places
lovely_church
cloudy_night
ancient_trees
natural_beach
little_beauty
pretty_dress
funny_hair
super_food
colorful_trees
funny_cat
famous_monument
cute_girls
rotten_apple
angry_eyes
tiny_car
famous_statue
dark_street
clean_baby
crazy_clouds
delicious_food
young_lady
dry_lake
shiny_toy
dark_forest
awesome_blossom
great_ocean
abandoned_train
outdoor_market
empty_house
shiny_cars
crowded_beach
little_boat
tiny_fly
clear_night
clear_sky
sunny_autumn
stunning_view
warm_bath
lovely_city
delicious_cake
hot_blonde
sexy_girls
misty_road
abandoned_vehicle
serene_lake
strong_beer
stupid_sign
famous_hotel
lost_river
lovely_smile
wild_grass
fluffy_clouds
shiny_shoes
famous_building
wild_party
traditional_fishing
amazing_architecture
young_fan
stunning_landscape
young_friends
empty_space
sexy_dress
shoes
office
dance
hands
queen
cross
woods
fishing
skin
earth
chair
asylum
hills
cup
rose
lighthouse
sky
lake
wings
window
wood
parents
smile
hat
vehicle
evening
garden
food
trees
coast
band
fan
wedding
lady
hall
feet
school
clouds
meat
morning
sand
race
architecture
night
river
view
sketch
concert
fence
doll
house
fish
streets
spider
sign
hair
lips
street
sea
mirror
home
girl
bay
sunrise
wonder
flower
paintings
space
sun
factory
ice
moon
lights
landscape
pets
bird
body
cars
bathroom
water
market
island
leaves
blossom
castle
glasses
road
apple
wall
father
child
scene
bath
mushrooms
church
blonde
boat
city
horse
toy
festival
girls
sunlight
beer
storm
spring
legs
mountains
eyes
halloween
hotel
chocolate
glass
train
bull
baby
bug
fly
king
valley
animals
room
places
car
tree
cat
monument
cake
grass
sculpture
bridge
angel
deer
autumn
pond
hospitals
tattoo
dress
snow
field
book
forest
party
beach
plant
star
beauty
mountain
farm
drink
driver
rain
insect
waterfall
statue
waves
friends
pool
building
windows
dog
ocean
sunset
mother
model
painting
reserve
name: "MultitaskXResNet-50"
layer {
name: "data"
type: "Data"
top: "data"
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 224
mean_file: "mtvso_meanimage.binaryproto"
}
data_param {
source: "train_data_lmdb"
batch_size: 24
backend: LMDB
}
}
layer {
name: "nounlabel"
type: "Data"
top: "nounlabel"
include {
phase: TRAIN
}
data_param {
source: "train_nounlabel_lmdb"
batch_size: 24
backend: LMDB
}
}
layer {
name: "adjlabel"
type: "Data"
top: "adjlabel"
include {
phase: TRAIN
}
data_param {
source: "train_adjlabel_lmdb"
batch_size: 24
backend: LMDB
}
}
layer {
name: "anplabel"
type: "Data"
top: "anplabel"
include {
phase: TRAIN
}
data_param {
source: "train_anplabel_lmdb"
batch_size: 24
backend: LMDB
}
}
layer {
name: "data"
type: "Data"
top: "data"
include {
phase: TEST
}
transform_param {
mirror: false
crop_size: 224
mean_file: "mtvso_meanimage.binaryproto"
}
data_param {
source: "test_data_lmdb"
batch_size: 3
backend: LMDB
}
}
layer {
name: "nounlabel"
type: "Data"
top: "nounlabel"
include {
phase: TEST
}
data_param {
source: "test_nounlabel_lmdb"
batch_size: 3
backend: LMDB
}
}
layer {
name: "adjlabel"
type: "Data"
top: "adjlabel"
include {
phase: TEST
}
data_param {
source: "test_adjlabel_lmdb"
batch_size: 3
backend: LMDB
}
}
layer {
name: "anplabel"
type: "Data"
top: "anplabel"
include {
phase: TEST
}
data_param {
source: "test_anplabel_lmdb"
batch_size: 3
backend: LMDB
}
}
layer {
bottom: "data"
top: "conv1"
name: "conv1"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 64
kernel_size: 7
pad: 3
stride: 2
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "conv1"
top: "conv1"
name: "bn_conv1"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "conv1"
top: "conv1"
name: "scale_conv1"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "conv1"
top: "conv1"
name: "conv1_relu"
type: "ReLU"
}
layer {
bottom: "conv1"
top: "pool1"
name: "pool1"
type: "Pooling"
pooling_param {
kernel_size: 3
stride: 2
pool: MAX
}
}
layer {
bottom: "pool1"
top: "res2a_branch1"
name: "res2a_branch1"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2a_branch1"
top: "res2a_branch1"
name: "bn2a_branch1"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2a_branch1"
top: "res2a_branch1"
name: "scale2a_branch1"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "pool1"
top: "res2a_branch2a"
name: "res2a_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2a_branch2a"
top: "res2a_branch2a"
name: "bn2a_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2a_branch2a"
top: "res2a_branch2a"
name: "scale2a_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2a_branch2a"
top: "res2a_branch2a"
name: "res2a_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res2a_branch2a"
top: "res2a_branch2b"
name: "res2a_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2a_branch2b"
top: "res2a_branch2b"
name: "bn2a_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2a_branch2b"
top: "res2a_branch2b"
name: "scale2a_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2a_branch2b"
top: "res2a_branch2b"
name: "res2a_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res2a_branch2b"
top: "res2a_branch2c"
name: "res2a_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2a_branch2c"
top: "res2a_branch2c"
name: "bn2a_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2a_branch2c"
top: "res2a_branch2c"
name: "scale2a_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2a_branch1"
bottom: "res2a_branch2c"
top: "res2a"
name: "res2a"
type: "Eltwise"
}
layer {
bottom: "res2a"
top: "res2a"
name: "res2a_relu"
type: "ReLU"
}
layer {
bottom: "res2a"
top: "res2b_branch2a"
name: "res2b_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2b_branch2a"
top: "res2b_branch2a"
name: "bn2b_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2b_branch2a"
top: "res2b_branch2a"
name: "scale2b_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2b_branch2a"
top: "res2b_branch2a"
name: "res2b_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res2b_branch2a"
top: "res2b_branch2b"
name: "res2b_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "bn2b_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "scale2b_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "res2b_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res2b_branch2b"
top: "res2b_branch2c"
name: "res2b_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2b_branch2c"
top: "res2b_branch2c"
name: "bn2b_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2b_branch2c"
top: "res2b_branch2c"
name: "scale2b_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2a"
bottom: "res2b_branch2c"
top: "res2b"
name: "res2b"
type: "Eltwise"
}
layer {
bottom: "res2b"
top: "res2b"
name: "res2b_relu"
type: "ReLU"
}
layer {
bottom: "res2b"
top: "res2c_branch2a"
name: "res2c_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2c_branch2a"
top: "res2c_branch2a"
name: "bn2c_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2c_branch2a"
top: "res2c_branch2a"
name: "scale2c_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2c_branch2a"
top: "res2c_branch2a"
name: "res2c_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res2c_branch2a"
top: "res2c_branch2b"
name: "res2c_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2c_branch2b"
top: "res2c_branch2b"
name: "bn2c_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2c_branch2b"
top: "res2c_branch2b"
name: "scale2c_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2c_branch2b"
top: "res2c_branch2b"
name: "res2c_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res2c_branch2b"
top: "res2c_branch2c"
name: "res2c_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res2c_branch2c"
top: "res2c_branch2c"
name: "bn2c_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res2c_branch2c"
top: "res2c_branch2c"
name: "scale2c_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2b"
bottom: "res2c_branch2c"
top: "res2c"
name: "res2c"
type: "Eltwise"
}
layer {
bottom: "res2c"
top: "res2c"
name: "res2c_relu"
type: "ReLU"
}
layer {
bottom: "res2c"
top: "res3a_branch1"
name: "res3a_branch1"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 2
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3a_branch1"
top: "res3a_branch1"
name: "bn3a_branch1"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3a_branch1"
top: "res3a_branch1"
name: "scale3a_branch1"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res2c"
top: "res3a_branch2a"
name: "res3a_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 2
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3a_branch2a"
top: "res3a_branch2a"
name: "bn3a_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3a_branch2a"
top: "res3a_branch2a"
name: "scale3a_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3a_branch2a"
top: "res3a_branch2a"
name: "res3a_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res3a_branch2a"
top: "res3a_branch2b"
name: "res3a_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3a_branch2b"
top: "res3a_branch2b"
name: "bn3a_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3a_branch2b"
top: "res3a_branch2b"
name: "scale3a_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3a_branch2b"
top: "res3a_branch2b"
name: "res3a_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res3a_branch2b"
top: "res3a_branch2c"
name: "res3a_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3a_branch2c"
top: "res3a_branch2c"
name: "bn3a_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3a_branch2c"
top: "res3a_branch2c"
name: "scale3a_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3a_branch1"
bottom: "res3a_branch2c"
top: "res3a"
name: "res3a"
type: "Eltwise"
}
layer {
bottom: "res3a"
top: "res3a"
name: "res3a_relu"
type: "ReLU"
}
layer {
bottom: "res3a"
top: "res3b_branch2a"
name: "res3b_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3b_branch2a"
top: "res3b_branch2a"
name: "bn3b_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3b_branch2a"
top: "res3b_branch2a"
name: "scale3b_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3b_branch2a"
top: "res3b_branch2a"
name: "res3b_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res3b_branch2a"
top: "res3b_branch2b"
name: "res3b_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3b_branch2b"
top: "res3b_branch2b"
name: "bn3b_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3b_branch2b"
top: "res3b_branch2b"
name: "scale3b_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3b_branch2b"
top: "res3b_branch2b"
name: "res3b_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res3b_branch2b"
top: "res3b_branch2c"
name: "res3b_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3b_branch2c"
top: "res3b_branch2c"
name: "bn3b_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3b_branch2c"
top: "res3b_branch2c"
name: "scale3b_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3a"
bottom: "res3b_branch2c"
top: "res3b"
name: "res3b"
type: "Eltwise"
}
layer {
bottom: "res3b"
top: "res3b"
name: "res3b_relu"
type: "ReLU"
}
layer {
bottom: "res3b"
top: "res3c_branch2a"
name: "res3c_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3c_branch2a"
top: "res3c_branch2a"
name: "bn3c_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3c_branch2a"
top: "res3c_branch2a"
name: "scale3c_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3c_branch2a"
top: "res3c_branch2a"
name: "res3c_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res3c_branch2a"
top: "res3c_branch2b"
name: "res3c_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3c_branch2b"
top: "res3c_branch2b"
name: "bn3c_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3c_branch2b"
top: "res3c_branch2b"
name: "scale3c_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3c_branch2b"
top: "res3c_branch2b"
name: "res3c_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res3c_branch2b"
top: "res3c_branch2c"
name: "res3c_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3c_branch2c"
top: "res3c_branch2c"
name: "bn3c_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3c_branch2c"
top: "res3c_branch2c"
name: "scale3c_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3b"
bottom: "res3c_branch2c"
top: "res3c"
name: "res3c"
type: "Eltwise"
}
layer {
bottom: "res3c"
top: "res3c"
name: "res3c_relu"
type: "ReLU"
}
layer {
bottom: "res3c"
top: "res3d_branch2a"
name: "res3d_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3d_branch2a"
top: "res3d_branch2a"
name: "bn3d_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3d_branch2a"
top: "res3d_branch2a"
name: "scale3d_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3d_branch2a"
top: "res3d_branch2a"
name: "res3d_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res3d_branch2a"
top: "res3d_branch2b"
name: "res3d_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3d_branch2b"
top: "res3d_branch2b"
name: "bn3d_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3d_branch2b"
top: "res3d_branch2b"
name: "scale3d_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3d_branch2b"
top: "res3d_branch2b"
name: "res3d_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res3d_branch2b"
top: "res3d_branch2c"
name: "res3d_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res3d_branch2c"
top: "res3d_branch2c"
name: "bn3d_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res3d_branch2c"
top: "res3d_branch2c"
name: "scale3d_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3c"
bottom: "res3d_branch2c"
top: "res3d"
name: "res3d"
type: "Eltwise"
}
layer {
bottom: "res3d"
top: "res3d"
name: "res3d_relu"
type: "ReLU"
}
layer {
bottom: "res3d"
top: "res4a_branch1"
name: "res4a_branch1"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 2
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4a_branch1"
top: "res4a_branch1"
name: "bn4a_branch1"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4a_branch1"
top: "res4a_branch1"
name: "scale4a_branch1"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res3d"
top: "res4a_branch2a"
name: "res4a_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 2
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4a_branch2a"
top: "res4a_branch2a"
name: "bn4a_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4a_branch2a"
top: "res4a_branch2a"
name: "scale4a_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4a_branch2a"
top: "res4a_branch2a"
name: "res4a_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res4a_branch2a"
top: "res4a_branch2b"
name: "res4a_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4a_branch2b"
top: "res4a_branch2b"
name: "bn4a_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4a_branch2b"
top: "res4a_branch2b"
name: "scale4a_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4a_branch2b"
top: "res4a_branch2b"
name: "res4a_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res4a_branch2b"
top: "res4a_branch2c"
name: "res4a_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4a_branch2c"
top: "res4a_branch2c"
name: "bn4a_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4a_branch2c"
top: "res4a_branch2c"
name: "scale4a_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4a_branch1"
bottom: "res4a_branch2c"
top: "res4a"
name: "res4a"
type: "Eltwise"
}
layer {
bottom: "res4a"
top: "res4a"
name: "res4a_relu"
type: "ReLU"
}
layer {
bottom: "res4a"
top: "res4b_branch2a"
name: "res4b_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4b_branch2a"
top: "res4b_branch2a"
name: "bn4b_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4b_branch2a"
top: "res4b_branch2a"
name: "scale4b_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4b_branch2a"
top: "res4b_branch2a"
name: "res4b_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res4b_branch2a"
top: "res4b_branch2b"
name: "res4b_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4b_branch2b"
top: "res4b_branch2b"
name: "bn4b_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4b_branch2b"
top: "res4b_branch2b"
name: "scale4b_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4b_branch2b"
top: "res4b_branch2b"
name: "res4b_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res4b_branch2b"
top: "res4b_branch2c"
name: "res4b_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4b_branch2c"
top: "res4b_branch2c"
name: "bn4b_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4b_branch2c"
top: "res4b_branch2c"
name: "scale4b_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4a"
bottom: "res4b_branch2c"
top: "res4b"
name: "res4b"
type: "Eltwise"
}
layer {
bottom: "res4b"
top: "res4b"
name: "res4b_relu"
type: "ReLU"
}
layer {
bottom: "res4b"
top: "res4c_branch2a"
name: "res4c_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4c_branch2a"
top: "res4c_branch2a"
name: "bn4c_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4c_branch2a"
top: "res4c_branch2a"
name: "scale4c_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4c_branch2a"
top: "res4c_branch2a"
name: "res4c_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res4c_branch2a"
top: "res4c_branch2b"
name: "res4c_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4c_branch2b"
top: "res4c_branch2b"
name: "bn4c_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4c_branch2b"
top: "res4c_branch2b"
name: "scale4c_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4c_branch2b"
top: "res4c_branch2b"
name: "res4c_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res4c_branch2b"
top: "res4c_branch2c"
name: "res4c_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4c_branch2c"
top: "res4c_branch2c"
name: "bn4c_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4c_branch2c"
top: "res4c_branch2c"
name: "scale4c_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4b"
bottom: "res4c_branch2c"
top: "res4c"
name: "res4c"
type: "Eltwise"
}
layer {
bottom: "res4c"
top: "res4c"
name: "res4c_relu"
type: "ReLU"
}
layer {
bottom: "res4c"
top: "res4d_branch2a"
name: "res4d_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4d_branch2a"
top: "res4d_branch2a"
name: "bn4d_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4d_branch2a"
top: "res4d_branch2a"
name: "scale4d_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4d_branch2a"
top: "res4d_branch2a"
name: "res4d_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res4d_branch2a"
top: "res4d_branch2b"
name: "res4d_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4d_branch2b"
top: "res4d_branch2b"
name: "bn4d_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4d_branch2b"
top: "res4d_branch2b"
name: "scale4d_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4d_branch2b"
top: "res4d_branch2b"
name: "res4d_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res4d_branch2b"
top: "res4d_branch2c"
name: "res4d_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4d_branch2c"
top: "res4d_branch2c"
name: "bn4d_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4d_branch2c"
top: "res4d_branch2c"
name: "scale4d_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4c"
bottom: "res4d_branch2c"
top: "res4d"
name: "res4d"
type: "Eltwise"
}
layer {
bottom: "res4d"
top: "res4d"
name: "res4d_relu"
type: "ReLU"
}
layer {
bottom: "res4d"
top: "res4e_branch2a"
name: "res4e_branch2a"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4e_branch2a"
top: "res4e_branch2a"
name: "bn4e_branch2a"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4e_branch2a"
top: "res4e_branch2a"
name: "scale4e_branch2a"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4e_branch2a"
top: "res4e_branch2a"
name: "res4e_branch2a_relu"
type: "ReLU"
}
layer {
bottom: "res4e_branch2a"
top: "res4e_branch2b"
name: "res4e_branch2b"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4e_branch2b"
top: "res4e_branch2b"
name: "bn4e_branch2b"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4e_branch2b"
top: "res4e_branch2b"
name: "scale4e_branch2b"
type: "Scale"
param {
lr_mult: 1.0
}
param {
lr_mult: 1.0
}
scale_param {
bias_term: true
bias_filler {
type: "constant"
value: 1.0
}
}
}
layer {
bottom: "res4e_branch2b"
top: "res4e_branch2b"
name: "res4e_branch2b_relu"
type: "ReLU"
}
layer {
bottom: "res4e_branch2b"
top: "res4e_branch2c"
name: "res4e_branch2c"
type: "Convolution"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
weight_filler {
type: "msra"
variance_norm: AVERAGE
}
}
}
layer {
bottom: "res4e_branch2c"
top: "res4e_branch2c"
name: "bn4e_branch2c"
type: "BatchNorm"
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
param {
lr_mult: 0.0
}
batch_norm_param {
use_global_stats: true
}
}
layer {
bottom: "res4e_branch2c"
top: "res4e_branch2c"
name: "scale4e_branch2c"
type: "Scale"
param {
lr_mult: 1.0
}