├── LICENSE ├── README.md ├── cat.jpg ├── eval_image.py ├── mobilenet.caffemodel ├── mobilenet_deploy.prototxt ├── mobilenet_v2.caffemodel ├── mobilenet_v2_deploy.prototxt └── synset.txt /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2017-, Shicai Yang 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | * Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | * Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | * Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MobileNet-Caffe 2 | 3 | ### Introduction 4 | 5 | This is a Caffe implementation of Google's MobileNets (v1 and v2). For details, please read the following papers: 6 | - [v1] [MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications](https://arxiv.org/abs/1704.04861) 7 | - [v2] [Inverted Residuals and Linear Bottlenecks: Mobile Networks for Classification, Detection and Segmentation](https://arxiv.org/abs/1801.04381) 8 | 9 | 10 | ### Pretrained Models on ImageNet 11 | 12 | We provide pretrained MobileNet models on ImageNet, which achieve slightly better accuracy rates than the original ones reported in the paper. 13 | 14 | The top-1/5 accuracy rates by using single center crop (crop size: 224x224, image size: 256xN): 15 | 16 | Network|Top-1|Top-5|sha256sum|Architecture 17 | :---:|:---:|:---:|:---:|:---: 18 | MobileNet v1| 70.81| 89.85| 8d6edcd3 (16.2 MB) | [netscope](http://ethereon.github.io/netscope/#/gist/2883d142ae486d4237e50f392f32994e), [netron](http://lutzroeder.github.io/netron?gist=2883d142ae486d4237e50f392f32994e) 19 | MobileNet v2| 71.90| 90.49| a3124ce7 (13.5 MB)| [netscope](http://ethereon.github.io/netscope/#/gist/d01b5b8783b4582a42fe07bd46243986), [netron](http://lutzroeder.github.io/netron?gist=d01b5b8783b4582a42fe07bd46243986) 20 | 21 | 22 | ### Evaluate Models with a single image 23 | 24 | Evaluate MobileNet v1: 25 | 26 | `python eval_image.py --proto mobilenet_deploy.prototxt --model mobilenet.caffemodel --image ./cat.jpg` 27 | 28 | Expected Outputs: 29 | 30 | ``` 31 | 0.42 - 'n02123159 tiger cat' 32 | 0.08 - 'n02119022 red fox, Vulpes vulpes' 33 | 0.07 - 'n02119789 kit fox, Vulpes macrotis' 34 | 0.06 - 'n02113023 Pembroke, Pembroke Welsh corgi' 35 | 0.06 - 'n02123045 tabby, tabby cat' 36 | ``` 37 | 38 | Evaluate MobileNet v2: 39 | 40 | `python eval_image.py --proto mobilenet_v2_deploy.prototxt --model mobilenet_v2.caffemodel --image ./cat.jpg` 41 | 42 | Expected Outputs: 43 | 44 | ``` 45 | 0.26 - 'n02123159 tiger cat' 46 | 0.22 - 'n02124075 Egyptian cat' 47 | 0.15 - 'n02123045 tabby, tabby cat' 48 | 0.04 - 'n02119022 red fox, Vulpes vulpes' 49 | 0.02 - 'n02326432 hare' 50 | ``` 51 | 52 | ### Finetuning on your own data 53 | Modify `deploy.prototxt` and save it as your `train.prototxt` as follows: 54 | Remove the first 5 `input`/`input_dim` lines, and add `Image Data` layer in the beginning like this: 55 | ``` 56 | layer { 57 | name: "data" 58 | type: "ImageData" 59 | top: "data" 60 | top: "label" 61 | include { 62 | phase: TRAIN 63 | } 64 | transform_param { 65 | scale: 0.017 66 | mirror: true 67 | crop_size: 224 68 | mean_value: [103.94, 116.78, 123.68] 69 | } 70 | image_data_param { 71 | source: "your_list_train_txt" 72 | batch_size: 32 # your batch size 73 | new_height: 256 74 | new_width: 256 75 | root_folder: "your_path_to_training_data_folder" 76 | } 77 | } 78 | 79 | ``` 80 | 81 | Remove the last `prob` layer, and add `Loss` and `Accuracy` layers in the end like this: 82 | ``` 83 | layer { 84 | name: "loss" 85 | type: "SoftmaxWithLoss" 86 | bottom: "fc7" 87 | bottom: "label" 88 | top: "loss" 89 | } 90 | layer { 91 | name: "top1/acc" 92 | type: "Accuracy" 93 | bottom: "fc7" 94 | bottom: "label" 95 | top: "top1/acc" 96 | include { 97 | phase: TEST 98 | } 99 | } 100 | layer { 101 | name: "top5/acc" 102 | type: "Accuracy" 103 | bottom: "fc7" 104 | bottom: "label" 105 | top: "top5/acc" 106 | include { 107 | phase: TEST 108 | } 109 | accuracy_param { 110 | top_k: 5 111 | } 112 | } 113 | ``` 114 | ### Related Projects 115 | MobileNet in this repo has been used in the following projects, we recommend you to take a look: 116 | - The MobileNet neural network using Apple's new CoreML framework 117 | [hollance/MobileNet-CoreML](https://github.com/hollance/MobileNet-CoreML) 118 | - Mobile-deep-learning [baidu/mobile-deep-learning](https://github.com/baidu/mobile-deep-learning) 119 | - Receptive Field Block Net for Accurate and Fast Object Detection [ruinmessi/RFBNet](https://github.com/ruinmessi/RFBNet) 120 | - Depthwise Convolutional Layer [yonghenglh6/DepthwiseConvolution](https://github.com/yonghenglh6/DepthwiseConvolution) 121 | - MobileNet-MXNet [KeyKy/mobilenet-mxnet](https://github.com/KeyKy/mobilenet-mxnet) 122 | - Caffe2-MobileNet [camel007/caffe2-mobilenet](https://github.com/camel007/caffe2-mobilenet) 123 | 124 | 125 | ### Updates (Feb. 5, 2018) 126 | 127 | - Add pretrained MobileNet v2 models (including deploy.prototxt and weights) 128 | - Hold pretrained weights in this repo 129 | - Add sha256sum code for pretrained weights 130 | - Add some code snippets for single image evaluation 131 | - Uncomment **engine: CAFFE** used in `mobilenet_deploy.prototxt` 132 | - Add params (`lr_mult` and `decay_mult`) for `Scale` layers of `mobilenet_deploy.prototxt` 133 | - Add `prob` layer for `mobilenet_deploy.prototxt` 134 | -------------------------------------------------------------------------------- /cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shicai/MobileNet-Caffe/a0b0c46152e658559956158d7c2bf42bb029c09e/cat.jpg -------------------------------------------------------------------------------- /eval_image.py: -------------------------------------------------------------------------------- 1 | from __future__ import print_function 2 | import argparse 3 | import numpy as np 4 | import caffe 5 | 6 | 7 | def parse_args(): 8 | parser = argparse.ArgumentParser( 9 | description='evaluate pretrained mobilenet models') 10 | parser.add_argument('--proto', dest='proto', 11 | help="path to deploy prototxt.", type=str) 12 | parser.add_argument('--model', dest='model', 13 | help='path to pretrained weights', type=str) 14 | parser.add_argument('--image', dest='image', 15 | help='path to color image', type=str) 16 | 17 | args = parser.parse_args() 18 | return args, parser 19 | 20 | 21 | global args, parser 22 | args, parser = parse_args() 23 | 24 | 25 | def eval(): 26 | nh, nw = 224, 224 27 | img_mean = np.array([103.94, 116.78, 123.68], dtype=np.float32) 28 | 29 | caffe.set_mode_cpu() 30 | net = caffe.Net(args.proto, args.model, caffe.TEST) 31 | 32 | im = caffe.io.load_image(args.image) 33 | h, w, _ = im.shape 34 | if h < w: 35 | off = (w - h) / 2 36 | im = im[:, off:off + h] 37 | else: 38 | off = (h - w) / 2 39 | im = im[off:off + h, :] 40 | im = caffe.io.resize_image(im, [nh, nw]) 41 | 42 | transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape}) 43 | transformer.set_transpose('data', (2, 0, 1)) # row to col 44 | transformer.set_channel_swap('data', (2, 1, 0)) # RGB to BGR 45 | transformer.set_raw_scale('data', 255) # [0,1] to [0,255] 46 | transformer.set_mean('data', img_mean) 47 | transformer.set_input_scale('data', 0.017) 48 | 49 | net.blobs['data'].reshape(1, 3, nh, nw) 50 | net.blobs['data'].data[...] = transformer.preprocess('data', im) 51 | out = net.forward() 52 | prob = out['prob'] 53 | prob = np.squeeze(prob) 54 | idx = np.argsort(-prob) 55 | 56 | label_names = np.loadtxt('synset.txt', str, delimiter='\t') 57 | for i in range(5): 58 | label = idx[i] 59 | print('%.2f - %s' % (prob[label], label_names[label])) 60 | return 61 | 62 | 63 | if __name__ == '__main__': 64 | eval() 65 | -------------------------------------------------------------------------------- /mobilenet.caffemodel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shicai/MobileNet-Caffe/a0b0c46152e658559956158d7c2bf42bb029c09e/mobilenet.caffemodel -------------------------------------------------------------------------------- /mobilenet_deploy.prototxt: -------------------------------------------------------------------------------- 1 | name: "MOBILENET" 2 | # transform_param { 3 | # scale: 0.017 4 | # mirror: false 5 | # crop_size: 224 6 | # mean_value: [103.94,116.78,123.68] 7 | # } 8 | input: "data" 9 | input_dim: 1 10 | input_dim: 3 11 | input_dim: 224 12 | input_dim: 224 13 | layer { 14 | name: "conv1" 15 | type: "Convolution" 16 | bottom: "data" 17 | top: "conv1" 18 | param { 19 | lr_mult: 1 20 | decay_mult: 1 21 | } 22 | convolution_param { 23 | num_output: 32 24 | bias_term: false 25 | pad: 1 26 | kernel_size: 3 27 | stride: 2 28 | weight_filler { 29 | type: "msra" 30 | } 31 | } 32 | } 33 | layer { 34 | name: "conv1/bn" 35 | type: "BatchNorm" 36 | bottom: "conv1" 37 | top: "conv1" 38 | param { 39 | lr_mult: 0 40 | decay_mult: 0 41 | } 42 | param { 43 | lr_mult: 0 44 | decay_mult: 0 45 | } 46 | param { 47 | lr_mult: 0 48 | decay_mult: 0 49 | } 50 | batch_norm_param { 51 | use_global_stats: true 52 | eps: 1e-5 53 | } 54 | } 55 | layer { 56 | name: "conv1/scale" 57 | type: "Scale" 58 | bottom: "conv1" 59 | top: "conv1" 60 | param { 61 | lr_mult: 1 62 | decay_mult: 0 63 | } 64 | param { 65 | lr_mult: 1 66 | decay_mult: 0 67 | } 68 | scale_param { 69 | filler { 70 | value: 1 71 | } 72 | bias_term: true 73 | bias_filler { 74 | value: 0 75 | } 76 | } 77 | } 78 | layer { 79 | name: "relu1" 80 | type: "ReLU" 81 | bottom: "conv1" 82 | top: "conv1" 83 | } 84 | layer { 85 | name: "conv2_1/dw" 86 | type: "Convolution" 87 | bottom: "conv1" 88 | top: "conv2_1/dw" 89 | param { 90 | lr_mult: 1 91 | decay_mult: 1 92 | } 93 | convolution_param { 94 | num_output: 32 95 | bias_term: false 96 | pad: 1 97 | kernel_size: 3 98 | group: 32 99 | engine: CAFFE 100 | stride: 1 101 | weight_filler { 102 | type: "msra" 103 | } 104 | } 105 | } 106 | layer { 107 | name: "conv2_1/dw/bn" 108 | type: "BatchNorm" 109 | bottom: "conv2_1/dw" 110 | top: "conv2_1/dw" 111 | param { 112 | lr_mult: 0 113 | decay_mult: 0 114 | } 115 | param { 116 | lr_mult: 0 117 | decay_mult: 0 118 | } 119 | param { 120 | lr_mult: 0 121 | decay_mult: 0 122 | } 123 | batch_norm_param { 124 | use_global_stats: true 125 | eps: 1e-5 126 | } 127 | } 128 | layer { 129 | name: "conv2_1/dw/scale" 130 | type: "Scale" 131 | bottom: "conv2_1/dw" 132 | top: "conv2_1/dw" 133 | param { 134 | lr_mult: 1 135 | decay_mult: 0 136 | } 137 | param { 138 | lr_mult: 1 139 | decay_mult: 0 140 | } 141 | scale_param { 142 | filler { 143 | value: 1 144 | } 145 | bias_term: true 146 | bias_filler { 147 | value: 0 148 | } 149 | } 150 | } 151 | layer { 152 | name: "relu2_1/dw" 153 | type: "ReLU" 154 | bottom: "conv2_1/dw" 155 | top: "conv2_1/dw" 156 | } 157 | layer { 158 | name: "conv2_1/sep" 159 | type: "Convolution" 160 | bottom: "conv2_1/dw" 161 | top: "conv2_1/sep" 162 | param { 163 | lr_mult: 1 164 | decay_mult: 1 165 | } 166 | convolution_param { 167 | num_output: 64 168 | bias_term: false 169 | pad: 0 170 | kernel_size: 1 171 | stride: 1 172 | weight_filler { 173 | type: "msra" 174 | } 175 | } 176 | } 177 | layer { 178 | name: "conv2_1/sep/bn" 179 | type: "BatchNorm" 180 | bottom: "conv2_1/sep" 181 | top: "conv2_1/sep" 182 | param { 183 | lr_mult: 0 184 | decay_mult: 0 185 | } 186 | param { 187 | lr_mult: 0 188 | decay_mult: 0 189 | } 190 | param { 191 | lr_mult: 0 192 | decay_mult: 0 193 | } 194 | batch_norm_param { 195 | use_global_stats: true 196 | eps: 1e-5 197 | } 198 | } 199 | layer { 200 | name: "conv2_1/sep/scale" 201 | type: "Scale" 202 | bottom: "conv2_1/sep" 203 | top: "conv2_1/sep" 204 | param { 205 | lr_mult: 1 206 | decay_mult: 0 207 | } 208 | param { 209 | lr_mult: 1 210 | decay_mult: 0 211 | } 212 | scale_param { 213 | filler { 214 | value: 1 215 | } 216 | bias_term: true 217 | bias_filler { 218 | value: 0 219 | } 220 | } 221 | } 222 | layer { 223 | name: "relu2_1/sep" 224 | type: "ReLU" 225 | bottom: "conv2_1/sep" 226 | top: "conv2_1/sep" 227 | } 228 | layer { 229 | name: "conv2_2/dw" 230 | type: "Convolution" 231 | bottom: "conv2_1/sep" 232 | top: "conv2_2/dw" 233 | param { 234 | lr_mult: 1 235 | decay_mult: 1 236 | } 237 | convolution_param { 238 | num_output: 64 239 | bias_term: false 240 | pad: 1 241 | kernel_size: 3 242 | group: 64 243 | engine: CAFFE 244 | stride: 2 245 | weight_filler { 246 | type: "msra" 247 | } 248 | } 249 | } 250 | layer { 251 | name: "conv2_2/dw/bn" 252 | type: "BatchNorm" 253 | bottom: "conv2_2/dw" 254 | top: "conv2_2/dw" 255 | param { 256 | lr_mult: 0 257 | decay_mult: 0 258 | } 259 | param { 260 | lr_mult: 0 261 | decay_mult: 0 262 | } 263 | param { 264 | lr_mult: 0 265 | decay_mult: 0 266 | } 267 | batch_norm_param { 268 | use_global_stats: true 269 | eps: 1e-5 270 | } 271 | } 272 | layer { 273 | name: "conv2_2/dw/scale" 274 | type: "Scale" 275 | bottom: "conv2_2/dw" 276 | top: "conv2_2/dw" 277 | param { 278 | lr_mult: 1 279 | decay_mult: 0 280 | } 281 | param { 282 | lr_mult: 1 283 | decay_mult: 0 284 | } 285 | scale_param { 286 | filler { 287 | value: 1 288 | } 289 | bias_term: true 290 | bias_filler { 291 | value: 0 292 | } 293 | } 294 | } 295 | layer { 296 | name: "relu2_2/dw" 297 | type: "ReLU" 298 | bottom: "conv2_2/dw" 299 | top: "conv2_2/dw" 300 | } 301 | layer { 302 | name: "conv2_2/sep" 303 | type: "Convolution" 304 | bottom: "conv2_2/dw" 305 | top: "conv2_2/sep" 306 | param { 307 | lr_mult: 1 308 | decay_mult: 1 309 | } 310 | convolution_param { 311 | num_output: 128 312 | bias_term: false 313 | pad: 0 314 | kernel_size: 1 315 | stride: 1 316 | weight_filler { 317 | type: "msra" 318 | } 319 | } 320 | } 321 | layer { 322 | name: "conv2_2/sep/bn" 323 | type: "BatchNorm" 324 | bottom: "conv2_2/sep" 325 | top: "conv2_2/sep" 326 | param { 327 | lr_mult: 0 328 | decay_mult: 0 329 | } 330 | param { 331 | lr_mult: 0 332 | decay_mult: 0 333 | } 334 | param { 335 | lr_mult: 0 336 | decay_mult: 0 337 | } 338 | batch_norm_param { 339 | use_global_stats: true 340 | eps: 1e-5 341 | } 342 | } 343 | layer { 344 | name: "conv2_2/sep/scale" 345 | type: "Scale" 346 | bottom: "conv2_2/sep" 347 | top: "conv2_2/sep" 348 | param { 349 | lr_mult: 1 350 | decay_mult: 0 351 | } 352 | param { 353 | lr_mult: 1 354 | decay_mult: 0 355 | } 356 | scale_param { 357 | filler { 358 | value: 1 359 | } 360 | bias_term: true 361 | bias_filler { 362 | value: 0 363 | } 364 | } 365 | } 366 | layer { 367 | name: "relu2_2/sep" 368 | type: "ReLU" 369 | bottom: "conv2_2/sep" 370 | top: "conv2_2/sep" 371 | } 372 | layer { 373 | name: "conv3_1/dw" 374 | type: "Convolution" 375 | bottom: "conv2_2/sep" 376 | top: "conv3_1/dw" 377 | param { 378 | lr_mult: 1 379 | decay_mult: 1 380 | } 381 | convolution_param { 382 | num_output: 128 383 | bias_term: false 384 | pad: 1 385 | kernel_size: 3 386 | group: 128 387 | engine: CAFFE 388 | stride: 1 389 | weight_filler { 390 | type: "msra" 391 | } 392 | } 393 | } 394 | layer { 395 | name: "conv3_1/dw/bn" 396 | type: "BatchNorm" 397 | bottom: "conv3_1/dw" 398 | top: "conv3_1/dw" 399 | param { 400 | lr_mult: 0 401 | decay_mult: 0 402 | } 403 | param { 404 | lr_mult: 0 405 | decay_mult: 0 406 | } 407 | param { 408 | lr_mult: 0 409 | decay_mult: 0 410 | } 411 | batch_norm_param { 412 | use_global_stats: true 413 | eps: 1e-5 414 | } 415 | } 416 | layer { 417 | name: "conv3_1/dw/scale" 418 | type: "Scale" 419 | bottom: "conv3_1/dw" 420 | top: "conv3_1/dw" 421 | param { 422 | lr_mult: 1 423 | decay_mult: 0 424 | } 425 | param { 426 | lr_mult: 1 427 | decay_mult: 0 428 | } 429 | scale_param { 430 | filler { 431 | value: 1 432 | } 433 | bias_term: true 434 | bias_filler { 435 | value: 0 436 | } 437 | } 438 | } 439 | layer { 440 | name: "relu3_1/dw" 441 | type: "ReLU" 442 | bottom: "conv3_1/dw" 443 | top: "conv3_1/dw" 444 | } 445 | layer { 446 | name: "conv3_1/sep" 447 | type: "Convolution" 448 | bottom: "conv3_1/dw" 449 | top: "conv3_1/sep" 450 | param { 451 | lr_mult: 1 452 | decay_mult: 1 453 | } 454 | convolution_param { 455 | num_output: 128 456 | bias_term: false 457 | pad: 0 458 | kernel_size: 1 459 | stride: 1 460 | weight_filler { 461 | type: "msra" 462 | } 463 | } 464 | } 465 | layer { 466 | name: "conv3_1/sep/bn" 467 | type: "BatchNorm" 468 | bottom: "conv3_1/sep" 469 | top: "conv3_1/sep" 470 | param { 471 | lr_mult: 0 472 | decay_mult: 0 473 | } 474 | param { 475 | lr_mult: 0 476 | decay_mult: 0 477 | } 478 | param { 479 | lr_mult: 0 480 | decay_mult: 0 481 | } 482 | batch_norm_param { 483 | use_global_stats: true 484 | eps: 1e-5 485 | } 486 | } 487 | layer { 488 | name: "conv3_1/sep/scale" 489 | type: "Scale" 490 | bottom: "conv3_1/sep" 491 | top: "conv3_1/sep" 492 | param { 493 | lr_mult: 1 494 | decay_mult: 0 495 | } 496 | param { 497 | lr_mult: 1 498 | decay_mult: 0 499 | } 500 | scale_param { 501 | filler { 502 | value: 1 503 | } 504 | bias_term: true 505 | bias_filler { 506 | value: 0 507 | } 508 | } 509 | } 510 | layer { 511 | name: "relu3_1/sep" 512 | type: "ReLU" 513 | bottom: "conv3_1/sep" 514 | top: "conv3_1/sep" 515 | } 516 | layer { 517 | name: "conv3_2/dw" 518 | type: "Convolution" 519 | bottom: "conv3_1/sep" 520 | top: "conv3_2/dw" 521 | param { 522 | lr_mult: 1 523 | decay_mult: 1 524 | } 525 | convolution_param { 526 | num_output: 128 527 | bias_term: false 528 | pad: 1 529 | kernel_size: 3 530 | group: 128 531 | engine: CAFFE 532 | stride: 2 533 | weight_filler { 534 | type: "msra" 535 | } 536 | } 537 | } 538 | layer { 539 | name: "conv3_2/dw/bn" 540 | type: "BatchNorm" 541 | bottom: "conv3_2/dw" 542 | top: "conv3_2/dw" 543 | param { 544 | lr_mult: 0 545 | decay_mult: 0 546 | } 547 | param { 548 | lr_mult: 0 549 | decay_mult: 0 550 | } 551 | param { 552 | lr_mult: 0 553 | decay_mult: 0 554 | } 555 | batch_norm_param { 556 | use_global_stats: true 557 | eps: 1e-5 558 | } 559 | } 560 | layer { 561 | name: "conv3_2/dw/scale" 562 | type: "Scale" 563 | bottom: "conv3_2/dw" 564 | top: "conv3_2/dw" 565 | param { 566 | lr_mult: 1 567 | decay_mult: 0 568 | } 569 | param { 570 | lr_mult: 1 571 | decay_mult: 0 572 | } 573 | scale_param { 574 | filler { 575 | value: 1 576 | } 577 | bias_term: true 578 | bias_filler { 579 | value: 0 580 | } 581 | } 582 | } 583 | layer { 584 | name: "relu3_2/dw" 585 | type: "ReLU" 586 | bottom: "conv3_2/dw" 587 | top: "conv3_2/dw" 588 | } 589 | layer { 590 | name: "conv3_2/sep" 591 | type: "Convolution" 592 | bottom: "conv3_2/dw" 593 | top: "conv3_2/sep" 594 | param { 595 | lr_mult: 1 596 | decay_mult: 1 597 | } 598 | convolution_param { 599 | num_output: 256 600 | bias_term: false 601 | pad: 0 602 | kernel_size: 1 603 | stride: 1 604 | weight_filler { 605 | type: "msra" 606 | } 607 | } 608 | } 609 | layer { 610 | name: "conv3_2/sep/bn" 611 | type: "BatchNorm" 612 | bottom: "conv3_2/sep" 613 | top: "conv3_2/sep" 614 | param { 615 | lr_mult: 0 616 | decay_mult: 0 617 | } 618 | param { 619 | lr_mult: 0 620 | decay_mult: 0 621 | } 622 | param { 623 | lr_mult: 0 624 | decay_mult: 0 625 | } 626 | batch_norm_param { 627 | use_global_stats: true 628 | eps: 1e-5 629 | } 630 | } 631 | layer { 632 | name: "conv3_2/sep/scale" 633 | type: "Scale" 634 | bottom: "conv3_2/sep" 635 | top: "conv3_2/sep" 636 | param { 637 | lr_mult: 1 638 | decay_mult: 0 639 | } 640 | param { 641 | lr_mult: 1 642 | decay_mult: 0 643 | } 644 | scale_param { 645 | filler { 646 | value: 1 647 | } 648 | bias_term: true 649 | bias_filler { 650 | value: 0 651 | } 652 | } 653 | } 654 | layer { 655 | name: "relu3_2/sep" 656 | type: "ReLU" 657 | bottom: "conv3_2/sep" 658 | top: "conv3_2/sep" 659 | } 660 | layer { 661 | name: "conv4_1/dw" 662 | type: "Convolution" 663 | bottom: "conv3_2/sep" 664 | top: "conv4_1/dw" 665 | param { 666 | lr_mult: 1 667 | decay_mult: 1 668 | } 669 | convolution_param { 670 | num_output: 256 671 | bias_term: false 672 | pad: 1 673 | kernel_size: 3 674 | group: 256 675 | engine: CAFFE 676 | stride: 1 677 | weight_filler { 678 | type: "msra" 679 | } 680 | } 681 | } 682 | layer { 683 | name: "conv4_1/dw/bn" 684 | type: "BatchNorm" 685 | bottom: "conv4_1/dw" 686 | top: "conv4_1/dw" 687 | param { 688 | lr_mult: 0 689 | decay_mult: 0 690 | } 691 | param { 692 | lr_mult: 0 693 | decay_mult: 0 694 | } 695 | param { 696 | lr_mult: 0 697 | decay_mult: 0 698 | } 699 | batch_norm_param { 700 | use_global_stats: true 701 | eps: 1e-5 702 | } 703 | } 704 | layer { 705 | name: "conv4_1/dw/scale" 706 | type: "Scale" 707 | bottom: "conv4_1/dw" 708 | top: "conv4_1/dw" 709 | param { 710 | lr_mult: 1 711 | decay_mult: 0 712 | } 713 | param { 714 | lr_mult: 1 715 | decay_mult: 0 716 | } 717 | scale_param { 718 | filler { 719 | value: 1 720 | } 721 | bias_term: true 722 | bias_filler { 723 | value: 0 724 | } 725 | } 726 | } 727 | layer { 728 | name: "relu4_1/dw" 729 | type: "ReLU" 730 | bottom: "conv4_1/dw" 731 | top: "conv4_1/dw" 732 | } 733 | layer { 734 | name: "conv4_1/sep" 735 | type: "Convolution" 736 | bottom: "conv4_1/dw" 737 | top: "conv4_1/sep" 738 | param { 739 | lr_mult: 1 740 | decay_mult: 1 741 | } 742 | convolution_param { 743 | num_output: 256 744 | bias_term: false 745 | pad: 0 746 | kernel_size: 1 747 | stride: 1 748 | weight_filler { 749 | type: "msra" 750 | } 751 | } 752 | } 753 | layer { 754 | name: "conv4_1/sep/bn" 755 | type: "BatchNorm" 756 | bottom: "conv4_1/sep" 757 | top: "conv4_1/sep" 758 | param { 759 | lr_mult: 0 760 | decay_mult: 0 761 | } 762 | param { 763 | lr_mult: 0 764 | decay_mult: 0 765 | } 766 | param { 767 | lr_mult: 0 768 | decay_mult: 0 769 | } 770 | batch_norm_param { 771 | use_global_stats: true 772 | eps: 1e-5 773 | } 774 | } 775 | layer { 776 | name: "conv4_1/sep/scale" 777 | type: "Scale" 778 | bottom: "conv4_1/sep" 779 | top: "conv4_1/sep" 780 | param { 781 | lr_mult: 1 782 | decay_mult: 0 783 | } 784 | param { 785 | lr_mult: 1 786 | decay_mult: 0 787 | } 788 | scale_param { 789 | filler { 790 | value: 1 791 | } 792 | bias_term: true 793 | bias_filler { 794 | value: 0 795 | } 796 | } 797 | } 798 | layer { 799 | name: "relu4_1/sep" 800 | type: "ReLU" 801 | bottom: "conv4_1/sep" 802 | top: "conv4_1/sep" 803 | } 804 | layer { 805 | name: "conv4_2/dw" 806 | type: "Convolution" 807 | bottom: "conv4_1/sep" 808 | top: "conv4_2/dw" 809 | param { 810 | lr_mult: 1 811 | decay_mult: 1 812 | } 813 | convolution_param { 814 | num_output: 256 815 | bias_term: false 816 | pad: 1 817 | kernel_size: 3 818 | group: 256 819 | engine: CAFFE 820 | stride: 2 821 | weight_filler { 822 | type: "msra" 823 | } 824 | } 825 | } 826 | layer { 827 | name: "conv4_2/dw/bn" 828 | type: "BatchNorm" 829 | bottom: "conv4_2/dw" 830 | top: "conv4_2/dw" 831 | param { 832 | lr_mult: 0 833 | decay_mult: 0 834 | } 835 | param { 836 | lr_mult: 0 837 | decay_mult: 0 838 | } 839 | param { 840 | lr_mult: 0 841 | decay_mult: 0 842 | } 843 | batch_norm_param { 844 | use_global_stats: true 845 | eps: 1e-5 846 | } 847 | } 848 | layer { 849 | name: "conv4_2/dw/scale" 850 | type: "Scale" 851 | bottom: "conv4_2/dw" 852 | top: "conv4_2/dw" 853 | param { 854 | lr_mult: 1 855 | decay_mult: 0 856 | } 857 | param { 858 | lr_mult: 1 859 | decay_mult: 0 860 | } 861 | scale_param { 862 | filler { 863 | value: 1 864 | } 865 | bias_term: true 866 | bias_filler { 867 | value: 0 868 | } 869 | } 870 | } 871 | layer { 872 | name: "relu4_2/dw" 873 | type: "ReLU" 874 | bottom: "conv4_2/dw" 875 | top: "conv4_2/dw" 876 | } 877 | layer { 878 | name: "conv4_2/sep" 879 | type: "Convolution" 880 | bottom: "conv4_2/dw" 881 | top: "conv4_2/sep" 882 | param { 883 | lr_mult: 1 884 | decay_mult: 1 885 | } 886 | convolution_param { 887 | num_output: 512 888 | bias_term: false 889 | pad: 0 890 | kernel_size: 1 891 | stride: 1 892 | weight_filler { 893 | type: "msra" 894 | } 895 | } 896 | } 897 | layer { 898 | name: "conv4_2/sep/bn" 899 | type: "BatchNorm" 900 | bottom: "conv4_2/sep" 901 | top: "conv4_2/sep" 902 | param { 903 | lr_mult: 0 904 | decay_mult: 0 905 | } 906 | param { 907 | lr_mult: 0 908 | decay_mult: 0 909 | } 910 | param { 911 | lr_mult: 0 912 | decay_mult: 0 913 | } 914 | batch_norm_param { 915 | use_global_stats: true 916 | eps: 1e-5 917 | } 918 | } 919 | layer { 920 | name: "conv4_2/sep/scale" 921 | type: "Scale" 922 | bottom: "conv4_2/sep" 923 | top: "conv4_2/sep" 924 | param { 925 | lr_mult: 1 926 | decay_mult: 0 927 | } 928 | param { 929 | lr_mult: 1 930 | decay_mult: 0 931 | } 932 | scale_param { 933 | filler { 934 | value: 1 935 | } 936 | bias_term: true 937 | bias_filler { 938 | value: 0 939 | } 940 | } 941 | } 942 | layer { 943 | name: "relu4_2/sep" 944 | type: "ReLU" 945 | bottom: "conv4_2/sep" 946 | top: "conv4_2/sep" 947 | } 948 | layer { 949 | name: "conv5_1/dw" 950 | type: "Convolution" 951 | bottom: "conv4_2/sep" 952 | top: "conv5_1/dw" 953 | param { 954 | lr_mult: 1 955 | decay_mult: 1 956 | } 957 | convolution_param { 958 | num_output: 512 959 | bias_term: false 960 | pad: 1 961 | kernel_size: 3 962 | group: 512 963 | engine: CAFFE 964 | stride: 1 965 | weight_filler { 966 | type: "msra" 967 | } 968 | } 969 | } 970 | layer { 971 | name: "conv5_1/dw/bn" 972 | type: "BatchNorm" 973 | bottom: "conv5_1/dw" 974 | top: "conv5_1/dw" 975 | param { 976 | lr_mult: 0 977 | decay_mult: 0 978 | } 979 | param { 980 | lr_mult: 0 981 | decay_mult: 0 982 | } 983 | param { 984 | lr_mult: 0 985 | decay_mult: 0 986 | } 987 | batch_norm_param { 988 | use_global_stats: true 989 | eps: 1e-5 990 | } 991 | } 992 | layer { 993 | name: "conv5_1/dw/scale" 994 | type: "Scale" 995 | bottom: "conv5_1/dw" 996 | top: "conv5_1/dw" 997 | param { 998 | lr_mult: 1 999 | decay_mult: 0 1000 | } 1001 | param { 1002 | lr_mult: 1 1003 | decay_mult: 0 1004 | } 1005 | scale_param { 1006 | filler { 1007 | value: 1 1008 | } 1009 | bias_term: true 1010 | bias_filler { 1011 | value: 0 1012 | } 1013 | } 1014 | } 1015 | layer { 1016 | name: "relu5_1/dw" 1017 | type: "ReLU" 1018 | bottom: "conv5_1/dw" 1019 | top: "conv5_1/dw" 1020 | } 1021 | layer { 1022 | name: "conv5_1/sep" 1023 | type: "Convolution" 1024 | bottom: "conv5_1/dw" 1025 | top: "conv5_1/sep" 1026 | param { 1027 | lr_mult: 1 1028 | decay_mult: 1 1029 | } 1030 | convolution_param { 1031 | num_output: 512 1032 | bias_term: false 1033 | pad: 0 1034 | kernel_size: 1 1035 | stride: 1 1036 | weight_filler { 1037 | type: "msra" 1038 | } 1039 | } 1040 | } 1041 | layer { 1042 | name: "conv5_1/sep/bn" 1043 | type: "BatchNorm" 1044 | bottom: "conv5_1/sep" 1045 | top: "conv5_1/sep" 1046 | param { 1047 | lr_mult: 0 1048 | decay_mult: 0 1049 | } 1050 | param { 1051 | lr_mult: 0 1052 | decay_mult: 0 1053 | } 1054 | param { 1055 | lr_mult: 0 1056 | decay_mult: 0 1057 | } 1058 | batch_norm_param { 1059 | use_global_stats: true 1060 | eps: 1e-5 1061 | } 1062 | } 1063 | layer { 1064 | name: "conv5_1/sep/scale" 1065 | type: "Scale" 1066 | bottom: "conv5_1/sep" 1067 | top: "conv5_1/sep" 1068 | param { 1069 | lr_mult: 1 1070 | decay_mult: 0 1071 | } 1072 | param { 1073 | lr_mult: 1 1074 | decay_mult: 0 1075 | } 1076 | scale_param { 1077 | filler { 1078 | value: 1 1079 | } 1080 | bias_term: true 1081 | bias_filler { 1082 | value: 0 1083 | } 1084 | } 1085 | } 1086 | layer { 1087 | name: "relu5_1/sep" 1088 | type: "ReLU" 1089 | bottom: "conv5_1/sep" 1090 | top: "conv5_1/sep" 1091 | } 1092 | layer { 1093 | name: "conv5_2/dw" 1094 | type: "Convolution" 1095 | bottom: "conv5_1/sep" 1096 | top: "conv5_2/dw" 1097 | param { 1098 | lr_mult: 1 1099 | decay_mult: 1 1100 | } 1101 | convolution_param { 1102 | num_output: 512 1103 | bias_term: false 1104 | pad: 1 1105 | kernel_size: 3 1106 | group: 512 1107 | engine: CAFFE 1108 | stride: 1 1109 | weight_filler { 1110 | type: "msra" 1111 | } 1112 | } 1113 | } 1114 | layer { 1115 | name: "conv5_2/dw/bn" 1116 | type: "BatchNorm" 1117 | bottom: "conv5_2/dw" 1118 | top: "conv5_2/dw" 1119 | param { 1120 | lr_mult: 0 1121 | decay_mult: 0 1122 | } 1123 | param { 1124 | lr_mult: 0 1125 | decay_mult: 0 1126 | } 1127 | param { 1128 | lr_mult: 0 1129 | decay_mult: 0 1130 | } 1131 | batch_norm_param { 1132 | use_global_stats: true 1133 | eps: 1e-5 1134 | } 1135 | } 1136 | layer { 1137 | name: "conv5_2/dw/scale" 1138 | type: "Scale" 1139 | bottom: "conv5_2/dw" 1140 | top: "conv5_2/dw" 1141 | param { 1142 | lr_mult: 1 1143 | decay_mult: 0 1144 | } 1145 | param { 1146 | lr_mult: 1 1147 | decay_mult: 0 1148 | } 1149 | scale_param { 1150 | filler { 1151 | value: 1 1152 | } 1153 | bias_term: true 1154 | bias_filler { 1155 | value: 0 1156 | } 1157 | } 1158 | } 1159 | layer { 1160 | name: "relu5_2/dw" 1161 | type: "ReLU" 1162 | bottom: "conv5_2/dw" 1163 | top: "conv5_2/dw" 1164 | } 1165 | layer { 1166 | name: "conv5_2/sep" 1167 | type: "Convolution" 1168 | bottom: "conv5_2/dw" 1169 | top: "conv5_2/sep" 1170 | param { 1171 | lr_mult: 1 1172 | decay_mult: 1 1173 | } 1174 | convolution_param { 1175 | num_output: 512 1176 | bias_term: false 1177 | pad: 0 1178 | kernel_size: 1 1179 | stride: 1 1180 | weight_filler { 1181 | type: "msra" 1182 | } 1183 | } 1184 | } 1185 | layer { 1186 | name: "conv5_2/sep/bn" 1187 | type: "BatchNorm" 1188 | bottom: "conv5_2/sep" 1189 | top: "conv5_2/sep" 1190 | param { 1191 | lr_mult: 0 1192 | decay_mult: 0 1193 | } 1194 | param { 1195 | lr_mult: 0 1196 | decay_mult: 0 1197 | } 1198 | param { 1199 | lr_mult: 0 1200 | decay_mult: 0 1201 | } 1202 | batch_norm_param { 1203 | use_global_stats: true 1204 | eps: 1e-5 1205 | } 1206 | } 1207 | layer { 1208 | name: "conv5_2/sep/scale" 1209 | type: "Scale" 1210 | bottom: "conv5_2/sep" 1211 | top: "conv5_2/sep" 1212 | param { 1213 | lr_mult: 1 1214 | decay_mult: 0 1215 | } 1216 | param { 1217 | lr_mult: 1 1218 | decay_mult: 0 1219 | } 1220 | scale_param { 1221 | filler { 1222 | value: 1 1223 | } 1224 | bias_term: true 1225 | bias_filler { 1226 | value: 0 1227 | } 1228 | } 1229 | } 1230 | layer { 1231 | name: "relu5_2/sep" 1232 | type: "ReLU" 1233 | bottom: "conv5_2/sep" 1234 | top: "conv5_2/sep" 1235 | } 1236 | layer { 1237 | name: "conv5_3/dw" 1238 | type: "Convolution" 1239 | bottom: "conv5_2/sep" 1240 | top: "conv5_3/dw" 1241 | param { 1242 | lr_mult: 1 1243 | decay_mult: 1 1244 | } 1245 | convolution_param { 1246 | num_output: 512 1247 | bias_term: false 1248 | pad: 1 1249 | kernel_size: 3 1250 | group: 512 1251 | engine: CAFFE 1252 | stride: 1 1253 | weight_filler { 1254 | type: "msra" 1255 | } 1256 | } 1257 | } 1258 | layer { 1259 | name: "conv5_3/dw/bn" 1260 | type: "BatchNorm" 1261 | bottom: "conv5_3/dw" 1262 | top: "conv5_3/dw" 1263 | param { 1264 | lr_mult: 0 1265 | decay_mult: 0 1266 | } 1267 | param { 1268 | lr_mult: 0 1269 | decay_mult: 0 1270 | } 1271 | param { 1272 | lr_mult: 0 1273 | decay_mult: 0 1274 | } 1275 | batch_norm_param { 1276 | use_global_stats: true 1277 | eps: 1e-5 1278 | } 1279 | } 1280 | layer { 1281 | name: "conv5_3/dw/scale" 1282 | type: "Scale" 1283 | bottom: "conv5_3/dw" 1284 | top: "conv5_3/dw" 1285 | param { 1286 | lr_mult: 1 1287 | decay_mult: 0 1288 | } 1289 | param { 1290 | lr_mult: 1 1291 | decay_mult: 0 1292 | } 1293 | scale_param { 1294 | filler { 1295 | value: 1 1296 | } 1297 | bias_term: true 1298 | bias_filler { 1299 | value: 0 1300 | } 1301 | } 1302 | } 1303 | layer { 1304 | name: "relu5_3/dw" 1305 | type: "ReLU" 1306 | bottom: "conv5_3/dw" 1307 | top: "conv5_3/dw" 1308 | } 1309 | layer { 1310 | name: "conv5_3/sep" 1311 | type: "Convolution" 1312 | bottom: "conv5_3/dw" 1313 | top: "conv5_3/sep" 1314 | param { 1315 | lr_mult: 1 1316 | decay_mult: 1 1317 | } 1318 | convolution_param { 1319 | num_output: 512 1320 | bias_term: false 1321 | pad: 0 1322 | kernel_size: 1 1323 | stride: 1 1324 | weight_filler { 1325 | type: "msra" 1326 | } 1327 | } 1328 | } 1329 | layer { 1330 | name: "conv5_3/sep/bn" 1331 | type: "BatchNorm" 1332 | bottom: "conv5_3/sep" 1333 | top: "conv5_3/sep" 1334 | param { 1335 | lr_mult: 0 1336 | decay_mult: 0 1337 | } 1338 | param { 1339 | lr_mult: 0 1340 | decay_mult: 0 1341 | } 1342 | param { 1343 | lr_mult: 0 1344 | decay_mult: 0 1345 | } 1346 | batch_norm_param { 1347 | use_global_stats: true 1348 | eps: 1e-5 1349 | } 1350 | } 1351 | layer { 1352 | name: "conv5_3/sep/scale" 1353 | type: "Scale" 1354 | bottom: "conv5_3/sep" 1355 | top: "conv5_3/sep" 1356 | param { 1357 | lr_mult: 1 1358 | decay_mult: 0 1359 | } 1360 | param { 1361 | lr_mult: 1 1362 | decay_mult: 0 1363 | } 1364 | scale_param { 1365 | filler { 1366 | value: 1 1367 | } 1368 | bias_term: true 1369 | bias_filler { 1370 | value: 0 1371 | } 1372 | } 1373 | } 1374 | layer { 1375 | name: "relu5_3/sep" 1376 | type: "ReLU" 1377 | bottom: "conv5_3/sep" 1378 | top: "conv5_3/sep" 1379 | } 1380 | layer { 1381 | name: "conv5_4/dw" 1382 | type: "Convolution" 1383 | bottom: "conv5_3/sep" 1384 | top: "conv5_4/dw" 1385 | param { 1386 | lr_mult: 1 1387 | decay_mult: 1 1388 | } 1389 | convolution_param { 1390 | num_output: 512 1391 | bias_term: false 1392 | pad: 1 1393 | kernel_size: 3 1394 | group: 512 1395 | engine: CAFFE 1396 | stride: 1 1397 | weight_filler { 1398 | type: "msra" 1399 | } 1400 | } 1401 | } 1402 | layer { 1403 | name: "conv5_4/dw/bn" 1404 | type: "BatchNorm" 1405 | bottom: "conv5_4/dw" 1406 | top: "conv5_4/dw" 1407 | param { 1408 | lr_mult: 0 1409 | decay_mult: 0 1410 | } 1411 | param { 1412 | lr_mult: 0 1413 | decay_mult: 0 1414 | } 1415 | param { 1416 | lr_mult: 0 1417 | decay_mult: 0 1418 | } 1419 | batch_norm_param { 1420 | use_global_stats: true 1421 | eps: 1e-5 1422 | } 1423 | } 1424 | layer { 1425 | name: "conv5_4/dw/scale" 1426 | type: "Scale" 1427 | bottom: "conv5_4/dw" 1428 | top: "conv5_4/dw" 1429 | param { 1430 | lr_mult: 1 1431 | decay_mult: 0 1432 | } 1433 | param { 1434 | lr_mult: 1 1435 | decay_mult: 0 1436 | } 1437 | scale_param { 1438 | filler { 1439 | value: 1 1440 | } 1441 | bias_term: true 1442 | bias_filler { 1443 | value: 0 1444 | } 1445 | } 1446 | } 1447 | layer { 1448 | name: "relu5_4/dw" 1449 | type: "ReLU" 1450 | bottom: "conv5_4/dw" 1451 | top: "conv5_4/dw" 1452 | } 1453 | layer { 1454 | name: "conv5_4/sep" 1455 | type: "Convolution" 1456 | bottom: "conv5_4/dw" 1457 | top: "conv5_4/sep" 1458 | param { 1459 | lr_mult: 1 1460 | decay_mult: 1 1461 | } 1462 | convolution_param { 1463 | num_output: 512 1464 | bias_term: false 1465 | pad: 0 1466 | kernel_size: 1 1467 | stride: 1 1468 | weight_filler { 1469 | type: "msra" 1470 | } 1471 | } 1472 | } 1473 | layer { 1474 | name: "conv5_4/sep/bn" 1475 | type: "BatchNorm" 1476 | bottom: "conv5_4/sep" 1477 | top: "conv5_4/sep" 1478 | param { 1479 | lr_mult: 0 1480 | decay_mult: 0 1481 | } 1482 | param { 1483 | lr_mult: 0 1484 | decay_mult: 0 1485 | } 1486 | param { 1487 | lr_mult: 0 1488 | decay_mult: 0 1489 | } 1490 | batch_norm_param { 1491 | use_global_stats: true 1492 | eps: 1e-5 1493 | } 1494 | } 1495 | layer { 1496 | name: "conv5_4/sep/scale" 1497 | type: "Scale" 1498 | bottom: "conv5_4/sep" 1499 | top: "conv5_4/sep" 1500 | param { 1501 | lr_mult: 1 1502 | decay_mult: 0 1503 | } 1504 | param { 1505 | lr_mult: 1 1506 | decay_mult: 0 1507 | } 1508 | scale_param { 1509 | filler { 1510 | value: 1 1511 | } 1512 | bias_term: true 1513 | bias_filler { 1514 | value: 0 1515 | } 1516 | } 1517 | } 1518 | layer { 1519 | name: "relu5_4/sep" 1520 | type: "ReLU" 1521 | bottom: "conv5_4/sep" 1522 | top: "conv5_4/sep" 1523 | } 1524 | layer { 1525 | name: "conv5_5/dw" 1526 | type: "Convolution" 1527 | bottom: "conv5_4/sep" 1528 | top: "conv5_5/dw" 1529 | param { 1530 | lr_mult: 1 1531 | decay_mult: 1 1532 | } 1533 | convolution_param { 1534 | num_output: 512 1535 | bias_term: false 1536 | pad: 1 1537 | kernel_size: 3 1538 | group: 512 1539 | engine: CAFFE 1540 | stride: 1 1541 | weight_filler { 1542 | type: "msra" 1543 | } 1544 | } 1545 | } 1546 | layer { 1547 | name: "conv5_5/dw/bn" 1548 | type: "BatchNorm" 1549 | bottom: "conv5_5/dw" 1550 | top: "conv5_5/dw" 1551 | param { 1552 | lr_mult: 0 1553 | decay_mult: 0 1554 | } 1555 | param { 1556 | lr_mult: 0 1557 | decay_mult: 0 1558 | } 1559 | param { 1560 | lr_mult: 0 1561 | decay_mult: 0 1562 | } 1563 | batch_norm_param { 1564 | use_global_stats: true 1565 | eps: 1e-5 1566 | } 1567 | } 1568 | layer { 1569 | name: "conv5_5/dw/scale" 1570 | type: "Scale" 1571 | bottom: "conv5_5/dw" 1572 | top: "conv5_5/dw" 1573 | param { 1574 | lr_mult: 1 1575 | decay_mult: 0 1576 | } 1577 | param { 1578 | lr_mult: 1 1579 | decay_mult: 0 1580 | } 1581 | scale_param { 1582 | filler { 1583 | value: 1 1584 | } 1585 | bias_term: true 1586 | bias_filler { 1587 | value: 0 1588 | } 1589 | } 1590 | } 1591 | layer { 1592 | name: "relu5_5/dw" 1593 | type: "ReLU" 1594 | bottom: "conv5_5/dw" 1595 | top: "conv5_5/dw" 1596 | } 1597 | layer { 1598 | name: "conv5_5/sep" 1599 | type: "Convolution" 1600 | bottom: "conv5_5/dw" 1601 | top: "conv5_5/sep" 1602 | param { 1603 | lr_mult: 1 1604 | decay_mult: 1 1605 | } 1606 | convolution_param { 1607 | num_output: 512 1608 | bias_term: false 1609 | pad: 0 1610 | kernel_size: 1 1611 | stride: 1 1612 | weight_filler { 1613 | type: "msra" 1614 | } 1615 | } 1616 | } 1617 | layer { 1618 | name: "conv5_5/sep/bn" 1619 | type: "BatchNorm" 1620 | bottom: "conv5_5/sep" 1621 | top: "conv5_5/sep" 1622 | param { 1623 | lr_mult: 0 1624 | decay_mult: 0 1625 | } 1626 | param { 1627 | lr_mult: 0 1628 | decay_mult: 0 1629 | } 1630 | param { 1631 | lr_mult: 0 1632 | decay_mult: 0 1633 | } 1634 | batch_norm_param { 1635 | use_global_stats: true 1636 | eps: 1e-5 1637 | } 1638 | } 1639 | layer { 1640 | name: "conv5_5/sep/scale" 1641 | type: "Scale" 1642 | bottom: "conv5_5/sep" 1643 | top: "conv5_5/sep" 1644 | param { 1645 | lr_mult: 1 1646 | decay_mult: 0 1647 | } 1648 | param { 1649 | lr_mult: 1 1650 | decay_mult: 0 1651 | } 1652 | scale_param { 1653 | filler { 1654 | value: 1 1655 | } 1656 | bias_term: true 1657 | bias_filler { 1658 | value: 0 1659 | } 1660 | } 1661 | } 1662 | layer { 1663 | name: "relu5_5/sep" 1664 | type: "ReLU" 1665 | bottom: "conv5_5/sep" 1666 | top: "conv5_5/sep" 1667 | } 1668 | layer { 1669 | name: "conv5_6/dw" 1670 | type: "Convolution" 1671 | bottom: "conv5_5/sep" 1672 | top: "conv5_6/dw" 1673 | param { 1674 | lr_mult: 1 1675 | decay_mult: 1 1676 | } 1677 | convolution_param { 1678 | num_output: 512 1679 | bias_term: false 1680 | pad: 1 1681 | kernel_size: 3 1682 | group: 512 1683 | engine: CAFFE 1684 | stride: 2 1685 | weight_filler { 1686 | type: "msra" 1687 | } 1688 | } 1689 | } 1690 | layer { 1691 | name: "conv5_6/dw/bn" 1692 | type: "BatchNorm" 1693 | bottom: "conv5_6/dw" 1694 | top: "conv5_6/dw" 1695 | param { 1696 | lr_mult: 0 1697 | decay_mult: 0 1698 | } 1699 | param { 1700 | lr_mult: 0 1701 | decay_mult: 0 1702 | } 1703 | param { 1704 | lr_mult: 0 1705 | decay_mult: 0 1706 | } 1707 | batch_norm_param { 1708 | use_global_stats: true 1709 | eps: 1e-5 1710 | } 1711 | } 1712 | layer { 1713 | name: "conv5_6/dw/scale" 1714 | type: "Scale" 1715 | bottom: "conv5_6/dw" 1716 | top: "conv5_6/dw" 1717 | param { 1718 | lr_mult: 1 1719 | decay_mult: 0 1720 | } 1721 | param { 1722 | lr_mult: 1 1723 | decay_mult: 0 1724 | } 1725 | scale_param { 1726 | filler { 1727 | value: 1 1728 | } 1729 | bias_term: true 1730 | bias_filler { 1731 | value: 0 1732 | } 1733 | } 1734 | } 1735 | layer { 1736 | name: "relu5_6/dw" 1737 | type: "ReLU" 1738 | bottom: "conv5_6/dw" 1739 | top: "conv5_6/dw" 1740 | } 1741 | layer { 1742 | name: "conv5_6/sep" 1743 | type: "Convolution" 1744 | bottom: "conv5_6/dw" 1745 | top: "conv5_6/sep" 1746 | param { 1747 | lr_mult: 1 1748 | decay_mult: 1 1749 | } 1750 | convolution_param { 1751 | num_output: 1024 1752 | bias_term: false 1753 | pad: 0 1754 | kernel_size: 1 1755 | stride: 1 1756 | weight_filler { 1757 | type: "msra" 1758 | } 1759 | } 1760 | } 1761 | layer { 1762 | name: "conv5_6/sep/bn" 1763 | type: "BatchNorm" 1764 | bottom: "conv5_6/sep" 1765 | top: "conv5_6/sep" 1766 | param { 1767 | lr_mult: 0 1768 | decay_mult: 0 1769 | } 1770 | param { 1771 | lr_mult: 0 1772 | decay_mult: 0 1773 | } 1774 | param { 1775 | lr_mult: 0 1776 | decay_mult: 0 1777 | } 1778 | batch_norm_param { 1779 | use_global_stats: true 1780 | eps: 1e-5 1781 | } 1782 | } 1783 | layer { 1784 | name: "conv5_6/sep/scale" 1785 | type: "Scale" 1786 | bottom: "conv5_6/sep" 1787 | top: "conv5_6/sep" 1788 | param { 1789 | lr_mult: 1 1790 | decay_mult: 0 1791 | } 1792 | param { 1793 | lr_mult: 1 1794 | decay_mult: 0 1795 | } 1796 | scale_param { 1797 | filler { 1798 | value: 1 1799 | } 1800 | bias_term: true 1801 | bias_filler { 1802 | value: 0 1803 | } 1804 | } 1805 | } 1806 | layer { 1807 | name: "relu5_6/sep" 1808 | type: "ReLU" 1809 | bottom: "conv5_6/sep" 1810 | top: "conv5_6/sep" 1811 | } 1812 | layer { 1813 | name: "conv6/dw" 1814 | type: "Convolution" 1815 | bottom: "conv5_6/sep" 1816 | top: "conv6/dw" 1817 | param { 1818 | lr_mult: 1 1819 | decay_mult: 1 1820 | } 1821 | convolution_param { 1822 | num_output: 1024 1823 | bias_term: false 1824 | pad: 1 1825 | kernel_size: 3 1826 | group: 1024 1827 | engine: CAFFE 1828 | stride: 1 1829 | weight_filler { 1830 | type: "msra" 1831 | } 1832 | } 1833 | } 1834 | layer { 1835 | name: "conv6/dw/bn" 1836 | type: "BatchNorm" 1837 | bottom: "conv6/dw" 1838 | top: "conv6/dw" 1839 | param { 1840 | lr_mult: 0 1841 | decay_mult: 0 1842 | } 1843 | param { 1844 | lr_mult: 0 1845 | decay_mult: 0 1846 | } 1847 | param { 1848 | lr_mult: 0 1849 | decay_mult: 0 1850 | } 1851 | batch_norm_param { 1852 | use_global_stats: true 1853 | eps: 1e-5 1854 | } 1855 | } 1856 | layer { 1857 | name: "conv6/dw/scale" 1858 | type: "Scale" 1859 | bottom: "conv6/dw" 1860 | top: "conv6/dw" 1861 | param { 1862 | lr_mult: 1 1863 | decay_mult: 0 1864 | } 1865 | param { 1866 | lr_mult: 1 1867 | decay_mult: 0 1868 | } 1869 | scale_param { 1870 | filler { 1871 | value: 1 1872 | } 1873 | bias_term: true 1874 | bias_filler { 1875 | value: 0 1876 | } 1877 | } 1878 | } 1879 | layer { 1880 | name: "relu6/dw" 1881 | type: "ReLU" 1882 | bottom: "conv6/dw" 1883 | top: "conv6/dw" 1884 | } 1885 | layer { 1886 | name: "conv6/sep" 1887 | type: "Convolution" 1888 | bottom: "conv6/dw" 1889 | top: "conv6/sep" 1890 | param { 1891 | lr_mult: 1 1892 | decay_mult: 1 1893 | } 1894 | convolution_param { 1895 | num_output: 1024 1896 | bias_term: false 1897 | pad: 0 1898 | kernel_size: 1 1899 | stride: 1 1900 | weight_filler { 1901 | type: "msra" 1902 | } 1903 | } 1904 | } 1905 | layer { 1906 | name: "conv6/sep/bn" 1907 | type: "BatchNorm" 1908 | bottom: "conv6/sep" 1909 | top: "conv6/sep" 1910 | param { 1911 | lr_mult: 0 1912 | decay_mult: 0 1913 | } 1914 | param { 1915 | lr_mult: 0 1916 | decay_mult: 0 1917 | } 1918 | param { 1919 | lr_mult: 0 1920 | decay_mult: 0 1921 | } 1922 | batch_norm_param { 1923 | use_global_stats: true 1924 | eps: 1e-5 1925 | } 1926 | } 1927 | layer { 1928 | name: "conv6/sep/scale" 1929 | type: "Scale" 1930 | bottom: "conv6/sep" 1931 | top: "conv6/sep" 1932 | param { 1933 | lr_mult: 1 1934 | decay_mult: 0 1935 | } 1936 | param { 1937 | lr_mult: 1 1938 | decay_mult: 0 1939 | } 1940 | scale_param { 1941 | filler { 1942 | value: 1 1943 | } 1944 | bias_term: true 1945 | bias_filler { 1946 | value: 0 1947 | } 1948 | } 1949 | } 1950 | layer { 1951 | name: "relu6/sep" 1952 | type: "ReLU" 1953 | bottom: "conv6/sep" 1954 | top: "conv6/sep" 1955 | } 1956 | layer { 1957 | name: "pool6" 1958 | type: "Pooling" 1959 | bottom: "conv6/sep" 1960 | top: "pool6" 1961 | pooling_param { 1962 | pool: AVE 1963 | global_pooling: true 1964 | } 1965 | } 1966 | layer { 1967 | name: "fc7" 1968 | type: "Convolution" 1969 | bottom: "pool6" 1970 | top: "fc7" 1971 | param { 1972 | lr_mult: 1 1973 | decay_mult: 1 1974 | } 1975 | param { 1976 | lr_mult: 2 1977 | decay_mult: 0 1978 | } 1979 | convolution_param { 1980 | num_output: 1000 1981 | kernel_size: 1 1982 | weight_filler { 1983 | type: "msra" 1984 | } 1985 | bias_filler { 1986 | type: "constant" 1987 | value: 0 1988 | } 1989 | } 1990 | } 1991 | layer { 1992 | name: "prob" 1993 | type: "Softmax" 1994 | bottom: "fc7" 1995 | top: "prob" 1996 | } 1997 | -------------------------------------------------------------------------------- /mobilenet_v2.caffemodel: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shicai/MobileNet-Caffe/a0b0c46152e658559956158d7c2bf42bb029c09e/mobilenet_v2.caffemodel -------------------------------------------------------------------------------- /mobilenet_v2_deploy.prototxt: -------------------------------------------------------------------------------- 1 | name: "MOBILENET_V2" 2 | # transform_param { 3 | # scale: 0.017 4 | # mirror: false 5 | # crop_size: 224 6 | # mean_value: [103.94,116.78,123.68] 7 | # } 8 | input: "data" 9 | input_dim: 1 10 | input_dim: 3 11 | input_dim: 224 12 | input_dim: 224 13 | layer { 14 | name: "conv1" 15 | type: "Convolution" 16 | bottom: "data" 17 | top: "conv1" 18 | param { 19 | lr_mult: 1 20 | decay_mult: 1 21 | } 22 | convolution_param { 23 | num_output: 32 24 | bias_term: false 25 | pad: 1 26 | kernel_size: 3 27 | stride: 2 28 | weight_filler { 29 | type: "msra" 30 | } 31 | } 32 | } 33 | layer { 34 | name: "conv1/bn" 35 | type: "BatchNorm" 36 | bottom: "conv1" 37 | top: "conv1/bn" 38 | param { 39 | lr_mult: 0 40 | decay_mult: 0 41 | } 42 | param { 43 | lr_mult: 0 44 | decay_mult: 0 45 | } 46 | param { 47 | lr_mult: 0 48 | decay_mult: 0 49 | } 50 | batch_norm_param { 51 | use_global_stats: true 52 | eps: 1e-5 53 | } 54 | } 55 | layer { 56 | name: "conv1/scale" 57 | type: "Scale" 58 | bottom: "conv1/bn" 59 | top: "conv1/bn" 60 | param { 61 | lr_mult: 1 62 | decay_mult: 0 63 | } 64 | param { 65 | lr_mult: 1 66 | decay_mult: 0 67 | } 68 | scale_param { 69 | bias_term: true 70 | } 71 | } 72 | layer { 73 | name: "relu1" 74 | type: "ReLU" 75 | bottom: "conv1/bn" 76 | top: "conv1/bn" 77 | } 78 | layer { 79 | name: "conv2_1/expand" 80 | type: "Convolution" 81 | bottom: "conv1/bn" 82 | top: "conv2_1/expand" 83 | param { 84 | lr_mult: 1 85 | decay_mult: 1 86 | } 87 | convolution_param { 88 | num_output: 32 89 | bias_term: false 90 | kernel_size: 1 91 | weight_filler { 92 | type: "msra" 93 | } 94 | } 95 | } 96 | layer { 97 | name: "conv2_1/expand/bn" 98 | type: "BatchNorm" 99 | bottom: "conv2_1/expand" 100 | top: "conv2_1/expand/bn" 101 | param { 102 | lr_mult: 0 103 | decay_mult: 0 104 | } 105 | param { 106 | lr_mult: 0 107 | decay_mult: 0 108 | } 109 | param { 110 | lr_mult: 0 111 | decay_mult: 0 112 | } 113 | batch_norm_param { 114 | use_global_stats: true 115 | eps: 1e-5 116 | } 117 | } 118 | layer { 119 | name: "conv2_1/expand/scale" 120 | type: "Scale" 121 | bottom: "conv2_1/expand/bn" 122 | top: "conv2_1/expand/bn" 123 | param { 124 | lr_mult: 1 125 | decay_mult: 0 126 | } 127 | param { 128 | lr_mult: 1 129 | decay_mult: 0 130 | } 131 | scale_param { 132 | bias_term: true 133 | } 134 | } 135 | layer { 136 | name: "relu2_1/expand" 137 | type: "ReLU" 138 | bottom: "conv2_1/expand/bn" 139 | top: "conv2_1/expand/bn" 140 | } 141 | layer { 142 | name: "conv2_1/dwise" 143 | type: "Convolution" 144 | bottom: "conv2_1/expand/bn" 145 | top: "conv2_1/dwise" 146 | param { 147 | lr_mult: 1 148 | decay_mult: 1 149 | } 150 | convolution_param { 151 | num_output: 32 152 | bias_term: false 153 | pad: 1 154 | kernel_size: 3 155 | group: 32 156 | weight_filler { 157 | type: "msra" 158 | } 159 | engine: CAFFE 160 | } 161 | } 162 | layer { 163 | name: "conv2_1/dwise/bn" 164 | type: "BatchNorm" 165 | bottom: "conv2_1/dwise" 166 | top: "conv2_1/dwise/bn" 167 | param { 168 | lr_mult: 0 169 | decay_mult: 0 170 | } 171 | param { 172 | lr_mult: 0 173 | decay_mult: 0 174 | } 175 | param { 176 | lr_mult: 0 177 | decay_mult: 0 178 | } 179 | batch_norm_param { 180 | use_global_stats: true 181 | eps: 1e-5 182 | } 183 | } 184 | layer { 185 | name: "conv2_1/dwise/scale" 186 | type: "Scale" 187 | bottom: "conv2_1/dwise/bn" 188 | top: "conv2_1/dwise/bn" 189 | param { 190 | lr_mult: 1 191 | decay_mult: 0 192 | } 193 | param { 194 | lr_mult: 1 195 | decay_mult: 0 196 | } 197 | scale_param { 198 | bias_term: true 199 | } 200 | } 201 | layer { 202 | name: "relu2_1/dwise" 203 | type: "ReLU" 204 | bottom: "conv2_1/dwise/bn" 205 | top: "conv2_1/dwise/bn" 206 | } 207 | layer { 208 | name: "conv2_1/linear" 209 | type: "Convolution" 210 | bottom: "conv2_1/dwise/bn" 211 | top: "conv2_1/linear" 212 | param { 213 | lr_mult: 1 214 | decay_mult: 1 215 | } 216 | convolution_param { 217 | num_output: 16 218 | bias_term: false 219 | kernel_size: 1 220 | weight_filler { 221 | type: "msra" 222 | } 223 | } 224 | } 225 | layer { 226 | name: "conv2_1/linear/bn" 227 | type: "BatchNorm" 228 | bottom: "conv2_1/linear" 229 | top: "conv2_1/linear/bn" 230 | param { 231 | lr_mult: 0 232 | decay_mult: 0 233 | } 234 | param { 235 | lr_mult: 0 236 | decay_mult: 0 237 | } 238 | param { 239 | lr_mult: 0 240 | decay_mult: 0 241 | } 242 | batch_norm_param { 243 | use_global_stats: true 244 | eps: 1e-5 245 | } 246 | } 247 | layer { 248 | name: "conv2_1/linear/scale" 249 | type: "Scale" 250 | bottom: "conv2_1/linear/bn" 251 | top: "conv2_1/linear/bn" 252 | param { 253 | lr_mult: 1 254 | decay_mult: 0 255 | } 256 | param { 257 | lr_mult: 1 258 | decay_mult: 0 259 | } 260 | scale_param { 261 | bias_term: true 262 | } 263 | } 264 | layer { 265 | name: "conv2_2/expand" 266 | type: "Convolution" 267 | bottom: "conv2_1/linear/bn" 268 | top: "conv2_2/expand" 269 | param { 270 | lr_mult: 1 271 | decay_mult: 1 272 | } 273 | convolution_param { 274 | num_output: 96 275 | bias_term: false 276 | kernel_size: 1 277 | weight_filler { 278 | type: "msra" 279 | } 280 | } 281 | } 282 | layer { 283 | name: "conv2_2/expand/bn" 284 | type: "BatchNorm" 285 | bottom: "conv2_2/expand" 286 | top: "conv2_2/expand/bn" 287 | param { 288 | lr_mult: 0 289 | decay_mult: 0 290 | } 291 | param { 292 | lr_mult: 0 293 | decay_mult: 0 294 | } 295 | param { 296 | lr_mult: 0 297 | decay_mult: 0 298 | } 299 | batch_norm_param { 300 | use_global_stats: true 301 | eps: 1e-5 302 | } 303 | } 304 | layer { 305 | name: "conv2_2/expand/scale" 306 | type: "Scale" 307 | bottom: "conv2_2/expand/bn" 308 | top: "conv2_2/expand/bn" 309 | param { 310 | lr_mult: 1 311 | decay_mult: 0 312 | } 313 | param { 314 | lr_mult: 1 315 | decay_mult: 0 316 | } 317 | scale_param { 318 | bias_term: true 319 | } 320 | } 321 | layer { 322 | name: "relu2_2/expand" 323 | type: "ReLU" 324 | bottom: "conv2_2/expand/bn" 325 | top: "conv2_2/expand/bn" 326 | } 327 | layer { 328 | name: "conv2_2/dwise" 329 | type: "Convolution" 330 | bottom: "conv2_2/expand/bn" 331 | top: "conv2_2/dwise" 332 | param { 333 | lr_mult: 1 334 | decay_mult: 1 335 | } 336 | convolution_param { 337 | num_output: 96 338 | bias_term: false 339 | pad: 1 340 | kernel_size: 3 341 | group: 96 342 | stride: 2 343 | weight_filler { 344 | type: "msra" 345 | } 346 | engine: CAFFE 347 | } 348 | } 349 | layer { 350 | name: "conv2_2/dwise/bn" 351 | type: "BatchNorm" 352 | bottom: "conv2_2/dwise" 353 | top: "conv2_2/dwise/bn" 354 | param { 355 | lr_mult: 0 356 | decay_mult: 0 357 | } 358 | param { 359 | lr_mult: 0 360 | decay_mult: 0 361 | } 362 | param { 363 | lr_mult: 0 364 | decay_mult: 0 365 | } 366 | batch_norm_param { 367 | use_global_stats: true 368 | eps: 1e-5 369 | } 370 | } 371 | layer { 372 | name: "conv2_2/dwise/scale" 373 | type: "Scale" 374 | bottom: "conv2_2/dwise/bn" 375 | top: "conv2_2/dwise/bn" 376 | param { 377 | lr_mult: 1 378 | decay_mult: 0 379 | } 380 | param { 381 | lr_mult: 1 382 | decay_mult: 0 383 | } 384 | scale_param { 385 | bias_term: true 386 | } 387 | } 388 | layer { 389 | name: "relu2_2/dwise" 390 | type: "ReLU" 391 | bottom: "conv2_2/dwise/bn" 392 | top: "conv2_2/dwise/bn" 393 | } 394 | layer { 395 | name: "conv2_2/linear" 396 | type: "Convolution" 397 | bottom: "conv2_2/dwise/bn" 398 | top: "conv2_2/linear" 399 | param { 400 | lr_mult: 1 401 | decay_mult: 1 402 | } 403 | convolution_param { 404 | num_output: 24 405 | bias_term: false 406 | kernel_size: 1 407 | weight_filler { 408 | type: "msra" 409 | } 410 | } 411 | } 412 | layer { 413 | name: "conv2_2/linear/bn" 414 | type: "BatchNorm" 415 | bottom: "conv2_2/linear" 416 | top: "conv2_2/linear/bn" 417 | param { 418 | lr_mult: 0 419 | decay_mult: 0 420 | } 421 | param { 422 | lr_mult: 0 423 | decay_mult: 0 424 | } 425 | param { 426 | lr_mult: 0 427 | decay_mult: 0 428 | } 429 | batch_norm_param { 430 | use_global_stats: true 431 | eps: 1e-5 432 | } 433 | } 434 | layer { 435 | name: "conv2_2/linear/scale" 436 | type: "Scale" 437 | bottom: "conv2_2/linear/bn" 438 | top: "conv2_2/linear/bn" 439 | param { 440 | lr_mult: 1 441 | decay_mult: 0 442 | } 443 | param { 444 | lr_mult: 1 445 | decay_mult: 0 446 | } 447 | scale_param { 448 | bias_term: true 449 | } 450 | } 451 | layer { 452 | name: "conv3_1/expand" 453 | type: "Convolution" 454 | bottom: "conv2_2/linear/bn" 455 | top: "conv3_1/expand" 456 | param { 457 | lr_mult: 1 458 | decay_mult: 1 459 | } 460 | convolution_param { 461 | num_output: 144 462 | bias_term: false 463 | kernel_size: 1 464 | weight_filler { 465 | type: "msra" 466 | } 467 | } 468 | } 469 | layer { 470 | name: "conv3_1/expand/bn" 471 | type: "BatchNorm" 472 | bottom: "conv3_1/expand" 473 | top: "conv3_1/expand/bn" 474 | param { 475 | lr_mult: 0 476 | decay_mult: 0 477 | } 478 | param { 479 | lr_mult: 0 480 | decay_mult: 0 481 | } 482 | param { 483 | lr_mult: 0 484 | decay_mult: 0 485 | } 486 | batch_norm_param { 487 | use_global_stats: true 488 | eps: 1e-5 489 | } 490 | } 491 | layer { 492 | name: "conv3_1/expand/scale" 493 | type: "Scale" 494 | bottom: "conv3_1/expand/bn" 495 | top: "conv3_1/expand/bn" 496 | param { 497 | lr_mult: 1 498 | decay_mult: 0 499 | } 500 | param { 501 | lr_mult: 1 502 | decay_mult: 0 503 | } 504 | scale_param { 505 | bias_term: true 506 | } 507 | } 508 | layer { 509 | name: "relu3_1/expand" 510 | type: "ReLU" 511 | bottom: "conv3_1/expand/bn" 512 | top: "conv3_1/expand/bn" 513 | } 514 | layer { 515 | name: "conv3_1/dwise" 516 | type: "Convolution" 517 | bottom: "conv3_1/expand/bn" 518 | top: "conv3_1/dwise" 519 | param { 520 | lr_mult: 1 521 | decay_mult: 1 522 | } 523 | convolution_param { 524 | num_output: 144 525 | bias_term: false 526 | pad: 1 527 | kernel_size: 3 528 | group: 144 529 | weight_filler { 530 | type: "msra" 531 | } 532 | engine: CAFFE 533 | } 534 | } 535 | layer { 536 | name: "conv3_1/dwise/bn" 537 | type: "BatchNorm" 538 | bottom: "conv3_1/dwise" 539 | top: "conv3_1/dwise/bn" 540 | param { 541 | lr_mult: 0 542 | decay_mult: 0 543 | } 544 | param { 545 | lr_mult: 0 546 | decay_mult: 0 547 | } 548 | param { 549 | lr_mult: 0 550 | decay_mult: 0 551 | } 552 | batch_norm_param { 553 | use_global_stats: true 554 | eps: 1e-5 555 | } 556 | } 557 | layer { 558 | name: "conv3_1/dwise/scale" 559 | type: "Scale" 560 | bottom: "conv3_1/dwise/bn" 561 | top: "conv3_1/dwise/bn" 562 | param { 563 | lr_mult: 1 564 | decay_mult: 0 565 | } 566 | param { 567 | lr_mult: 1 568 | decay_mult: 0 569 | } 570 | scale_param { 571 | bias_term: true 572 | } 573 | } 574 | layer { 575 | name: "relu3_1/dwise" 576 | type: "ReLU" 577 | bottom: "conv3_1/dwise/bn" 578 | top: "conv3_1/dwise/bn" 579 | } 580 | layer { 581 | name: "conv3_1/linear" 582 | type: "Convolution" 583 | bottom: "conv3_1/dwise/bn" 584 | top: "conv3_1/linear" 585 | param { 586 | lr_mult: 1 587 | decay_mult: 1 588 | } 589 | convolution_param { 590 | num_output: 24 591 | bias_term: false 592 | kernel_size: 1 593 | weight_filler { 594 | type: "msra" 595 | } 596 | } 597 | } 598 | layer { 599 | name: "conv3_1/linear/bn" 600 | type: "BatchNorm" 601 | bottom: "conv3_1/linear" 602 | top: "conv3_1/linear/bn" 603 | param { 604 | lr_mult: 0 605 | decay_mult: 0 606 | } 607 | param { 608 | lr_mult: 0 609 | decay_mult: 0 610 | } 611 | param { 612 | lr_mult: 0 613 | decay_mult: 0 614 | } 615 | batch_norm_param { 616 | use_global_stats: true 617 | eps: 1e-5 618 | } 619 | } 620 | layer { 621 | name: "conv3_1/linear/scale" 622 | type: "Scale" 623 | bottom: "conv3_1/linear/bn" 624 | top: "conv3_1/linear/bn" 625 | param { 626 | lr_mult: 1 627 | decay_mult: 0 628 | } 629 | param { 630 | lr_mult: 1 631 | decay_mult: 0 632 | } 633 | scale_param { 634 | bias_term: true 635 | } 636 | } 637 | layer { 638 | name: "block_3_1" 639 | type: "Eltwise" 640 | bottom: "conv2_2/linear/bn" 641 | bottom: "conv3_1/linear/bn" 642 | top: "block_3_1" 643 | } 644 | layer { 645 | name: "conv3_2/expand" 646 | type: "Convolution" 647 | bottom: "block_3_1" 648 | top: "conv3_2/expand" 649 | param { 650 | lr_mult: 1 651 | decay_mult: 1 652 | } 653 | convolution_param { 654 | num_output: 144 655 | bias_term: false 656 | kernel_size: 1 657 | weight_filler { 658 | type: "msra" 659 | } 660 | } 661 | } 662 | layer { 663 | name: "conv3_2/expand/bn" 664 | type: "BatchNorm" 665 | bottom: "conv3_2/expand" 666 | top: "conv3_2/expand/bn" 667 | param { 668 | lr_mult: 0 669 | decay_mult: 0 670 | } 671 | param { 672 | lr_mult: 0 673 | decay_mult: 0 674 | } 675 | param { 676 | lr_mult: 0 677 | decay_mult: 0 678 | } 679 | batch_norm_param { 680 | use_global_stats: true 681 | eps: 1e-5 682 | } 683 | } 684 | layer { 685 | name: "conv3_2/expand/scale" 686 | type: "Scale" 687 | bottom: "conv3_2/expand/bn" 688 | top: "conv3_2/expand/bn" 689 | param { 690 | lr_mult: 1 691 | decay_mult: 0 692 | } 693 | param { 694 | lr_mult: 1 695 | decay_mult: 0 696 | } 697 | scale_param { 698 | bias_term: true 699 | } 700 | } 701 | layer { 702 | name: "relu3_2/expand" 703 | type: "ReLU" 704 | bottom: "conv3_2/expand/bn" 705 | top: "conv3_2/expand/bn" 706 | } 707 | layer { 708 | name: "conv3_2/dwise" 709 | type: "Convolution" 710 | bottom: "conv3_2/expand/bn" 711 | top: "conv3_2/dwise" 712 | param { 713 | lr_mult: 1 714 | decay_mult: 1 715 | } 716 | convolution_param { 717 | num_output: 144 718 | bias_term: false 719 | pad: 1 720 | kernel_size: 3 721 | group: 144 722 | stride: 2 723 | weight_filler { 724 | type: "msra" 725 | } 726 | engine: CAFFE 727 | } 728 | } 729 | layer { 730 | name: "conv3_2/dwise/bn" 731 | type: "BatchNorm" 732 | bottom: "conv3_2/dwise" 733 | top: "conv3_2/dwise/bn" 734 | param { 735 | lr_mult: 0 736 | decay_mult: 0 737 | } 738 | param { 739 | lr_mult: 0 740 | decay_mult: 0 741 | } 742 | param { 743 | lr_mult: 0 744 | decay_mult: 0 745 | } 746 | batch_norm_param { 747 | use_global_stats: true 748 | eps: 1e-5 749 | } 750 | } 751 | layer { 752 | name: "conv3_2/dwise/scale" 753 | type: "Scale" 754 | bottom: "conv3_2/dwise/bn" 755 | top: "conv3_2/dwise/bn" 756 | param { 757 | lr_mult: 1 758 | decay_mult: 0 759 | } 760 | param { 761 | lr_mult: 1 762 | decay_mult: 0 763 | } 764 | scale_param { 765 | bias_term: true 766 | } 767 | } 768 | layer { 769 | name: "relu3_2/dwise" 770 | type: "ReLU" 771 | bottom: "conv3_2/dwise/bn" 772 | top: "conv3_2/dwise/bn" 773 | } 774 | layer { 775 | name: "conv3_2/linear" 776 | type: "Convolution" 777 | bottom: "conv3_2/dwise/bn" 778 | top: "conv3_2/linear" 779 | param { 780 | lr_mult: 1 781 | decay_mult: 1 782 | } 783 | convolution_param { 784 | num_output: 32 785 | bias_term: false 786 | kernel_size: 1 787 | weight_filler { 788 | type: "msra" 789 | } 790 | } 791 | } 792 | layer { 793 | name: "conv3_2/linear/bn" 794 | type: "BatchNorm" 795 | bottom: "conv3_2/linear" 796 | top: "conv3_2/linear/bn" 797 | param { 798 | lr_mult: 0 799 | decay_mult: 0 800 | } 801 | param { 802 | lr_mult: 0 803 | decay_mult: 0 804 | } 805 | param { 806 | lr_mult: 0 807 | decay_mult: 0 808 | } 809 | batch_norm_param { 810 | use_global_stats: true 811 | eps: 1e-5 812 | } 813 | } 814 | layer { 815 | name: "conv3_2/linear/scale" 816 | type: "Scale" 817 | bottom: "conv3_2/linear/bn" 818 | top: "conv3_2/linear/bn" 819 | param { 820 | lr_mult: 1 821 | decay_mult: 0 822 | } 823 | param { 824 | lr_mult: 1 825 | decay_mult: 0 826 | } 827 | scale_param { 828 | bias_term: true 829 | } 830 | } 831 | layer { 832 | name: "conv4_1/expand" 833 | type: "Convolution" 834 | bottom: "conv3_2/linear/bn" 835 | top: "conv4_1/expand" 836 | param { 837 | lr_mult: 1 838 | decay_mult: 1 839 | } 840 | convolution_param { 841 | num_output: 192 842 | bias_term: false 843 | kernel_size: 1 844 | weight_filler { 845 | type: "msra" 846 | } 847 | } 848 | } 849 | layer { 850 | name: "conv4_1/expand/bn" 851 | type: "BatchNorm" 852 | bottom: "conv4_1/expand" 853 | top: "conv4_1/expand/bn" 854 | param { 855 | lr_mult: 0 856 | decay_mult: 0 857 | } 858 | param { 859 | lr_mult: 0 860 | decay_mult: 0 861 | } 862 | param { 863 | lr_mult: 0 864 | decay_mult: 0 865 | } 866 | batch_norm_param { 867 | use_global_stats: true 868 | eps: 1e-5 869 | } 870 | } 871 | layer { 872 | name: "conv4_1/expand/scale" 873 | type: "Scale" 874 | bottom: "conv4_1/expand/bn" 875 | top: "conv4_1/expand/bn" 876 | param { 877 | lr_mult: 1 878 | decay_mult: 0 879 | } 880 | param { 881 | lr_mult: 1 882 | decay_mult: 0 883 | } 884 | scale_param { 885 | bias_term: true 886 | } 887 | } 888 | layer { 889 | name: "relu4_1/expand" 890 | type: "ReLU" 891 | bottom: "conv4_1/expand/bn" 892 | top: "conv4_1/expand/bn" 893 | } 894 | layer { 895 | name: "conv4_1/dwise" 896 | type: "Convolution" 897 | bottom: "conv4_1/expand/bn" 898 | top: "conv4_1/dwise" 899 | param { 900 | lr_mult: 1 901 | decay_mult: 1 902 | } 903 | convolution_param { 904 | num_output: 192 905 | bias_term: false 906 | pad: 1 907 | kernel_size: 3 908 | group: 192 909 | weight_filler { 910 | type: "msra" 911 | } 912 | engine: CAFFE 913 | } 914 | } 915 | layer { 916 | name: "conv4_1/dwise/bn" 917 | type: "BatchNorm" 918 | bottom: "conv4_1/dwise" 919 | top: "conv4_1/dwise/bn" 920 | param { 921 | lr_mult: 0 922 | decay_mult: 0 923 | } 924 | param { 925 | lr_mult: 0 926 | decay_mult: 0 927 | } 928 | param { 929 | lr_mult: 0 930 | decay_mult: 0 931 | } 932 | batch_norm_param { 933 | use_global_stats: true 934 | eps: 1e-5 935 | } 936 | } 937 | layer { 938 | name: "conv4_1/dwise/scale" 939 | type: "Scale" 940 | bottom: "conv4_1/dwise/bn" 941 | top: "conv4_1/dwise/bn" 942 | param { 943 | lr_mult: 1 944 | decay_mult: 0 945 | } 946 | param { 947 | lr_mult: 1 948 | decay_mult: 0 949 | } 950 | scale_param { 951 | bias_term: true 952 | } 953 | } 954 | layer { 955 | name: "relu4_1/dwise" 956 | type: "ReLU" 957 | bottom: "conv4_1/dwise/bn" 958 | top: "conv4_1/dwise/bn" 959 | } 960 | layer { 961 | name: "conv4_1/linear" 962 | type: "Convolution" 963 | bottom: "conv4_1/dwise/bn" 964 | top: "conv4_1/linear" 965 | param { 966 | lr_mult: 1 967 | decay_mult: 1 968 | } 969 | convolution_param { 970 | num_output: 32 971 | bias_term: false 972 | kernel_size: 1 973 | weight_filler { 974 | type: "msra" 975 | } 976 | } 977 | } 978 | layer { 979 | name: "conv4_1/linear/bn" 980 | type: "BatchNorm" 981 | bottom: "conv4_1/linear" 982 | top: "conv4_1/linear/bn" 983 | param { 984 | lr_mult: 0 985 | decay_mult: 0 986 | } 987 | param { 988 | lr_mult: 0 989 | decay_mult: 0 990 | } 991 | param { 992 | lr_mult: 0 993 | decay_mult: 0 994 | } 995 | batch_norm_param { 996 | use_global_stats: true 997 | eps: 1e-5 998 | } 999 | } 1000 | layer { 1001 | name: "conv4_1/linear/scale" 1002 | type: "Scale" 1003 | bottom: "conv4_1/linear/bn" 1004 | top: "conv4_1/linear/bn" 1005 | param { 1006 | lr_mult: 1 1007 | decay_mult: 0 1008 | } 1009 | param { 1010 | lr_mult: 1 1011 | decay_mult: 0 1012 | } 1013 | scale_param { 1014 | bias_term: true 1015 | } 1016 | } 1017 | layer { 1018 | name: "block_4_1" 1019 | type: "Eltwise" 1020 | bottom: "conv3_2/linear/bn" 1021 | bottom: "conv4_1/linear/bn" 1022 | top: "block_4_1" 1023 | } 1024 | layer { 1025 | name: "conv4_2/expand" 1026 | type: "Convolution" 1027 | bottom: "block_4_1" 1028 | top: "conv4_2/expand" 1029 | param { 1030 | lr_mult: 1 1031 | decay_mult: 1 1032 | } 1033 | convolution_param { 1034 | num_output: 192 1035 | bias_term: false 1036 | kernel_size: 1 1037 | weight_filler { 1038 | type: "msra" 1039 | } 1040 | } 1041 | } 1042 | layer { 1043 | name: "conv4_2/expand/bn" 1044 | type: "BatchNorm" 1045 | bottom: "conv4_2/expand" 1046 | top: "conv4_2/expand/bn" 1047 | param { 1048 | lr_mult: 0 1049 | decay_mult: 0 1050 | } 1051 | param { 1052 | lr_mult: 0 1053 | decay_mult: 0 1054 | } 1055 | param { 1056 | lr_mult: 0 1057 | decay_mult: 0 1058 | } 1059 | batch_norm_param { 1060 | use_global_stats: true 1061 | eps: 1e-5 1062 | } 1063 | } 1064 | layer { 1065 | name: "conv4_2/expand/scale" 1066 | type: "Scale" 1067 | bottom: "conv4_2/expand/bn" 1068 | top: "conv4_2/expand/bn" 1069 | param { 1070 | lr_mult: 1 1071 | decay_mult: 0 1072 | } 1073 | param { 1074 | lr_mult: 1 1075 | decay_mult: 0 1076 | } 1077 | scale_param { 1078 | bias_term: true 1079 | } 1080 | } 1081 | layer { 1082 | name: "relu4_2/expand" 1083 | type: "ReLU" 1084 | bottom: "conv4_2/expand/bn" 1085 | top: "conv4_2/expand/bn" 1086 | } 1087 | layer { 1088 | name: "conv4_2/dwise" 1089 | type: "Convolution" 1090 | bottom: "conv4_2/expand/bn" 1091 | top: "conv4_2/dwise" 1092 | param { 1093 | lr_mult: 1 1094 | decay_mult: 1 1095 | } 1096 | convolution_param { 1097 | num_output: 192 1098 | bias_term: false 1099 | pad: 1 1100 | kernel_size: 3 1101 | group: 192 1102 | weight_filler { 1103 | type: "msra" 1104 | } 1105 | engine: CAFFE 1106 | } 1107 | } 1108 | layer { 1109 | name: "conv4_2/dwise/bn" 1110 | type: "BatchNorm" 1111 | bottom: "conv4_2/dwise" 1112 | top: "conv4_2/dwise/bn" 1113 | param { 1114 | lr_mult: 0 1115 | decay_mult: 0 1116 | } 1117 | param { 1118 | lr_mult: 0 1119 | decay_mult: 0 1120 | } 1121 | param { 1122 | lr_mult: 0 1123 | decay_mult: 0 1124 | } 1125 | batch_norm_param { 1126 | use_global_stats: true 1127 | eps: 1e-5 1128 | } 1129 | } 1130 | layer { 1131 | name: "conv4_2/dwise/scale" 1132 | type: "Scale" 1133 | bottom: "conv4_2/dwise/bn" 1134 | top: "conv4_2/dwise/bn" 1135 | param { 1136 | lr_mult: 1 1137 | decay_mult: 0 1138 | } 1139 | param { 1140 | lr_mult: 1 1141 | decay_mult: 0 1142 | } 1143 | scale_param { 1144 | bias_term: true 1145 | } 1146 | } 1147 | layer { 1148 | name: "relu4_2/dwise" 1149 | type: "ReLU" 1150 | bottom: "conv4_2/dwise/bn" 1151 | top: "conv4_2/dwise/bn" 1152 | } 1153 | layer { 1154 | name: "conv4_2/linear" 1155 | type: "Convolution" 1156 | bottom: "conv4_2/dwise/bn" 1157 | top: "conv4_2/linear" 1158 | param { 1159 | lr_mult: 1 1160 | decay_mult: 1 1161 | } 1162 | convolution_param { 1163 | num_output: 32 1164 | bias_term: false 1165 | kernel_size: 1 1166 | weight_filler { 1167 | type: "msra" 1168 | } 1169 | } 1170 | } 1171 | layer { 1172 | name: "conv4_2/linear/bn" 1173 | type: "BatchNorm" 1174 | bottom: "conv4_2/linear" 1175 | top: "conv4_2/linear/bn" 1176 | param { 1177 | lr_mult: 0 1178 | decay_mult: 0 1179 | } 1180 | param { 1181 | lr_mult: 0 1182 | decay_mult: 0 1183 | } 1184 | param { 1185 | lr_mult: 0 1186 | decay_mult: 0 1187 | } 1188 | batch_norm_param { 1189 | use_global_stats: true 1190 | eps: 1e-5 1191 | } 1192 | } 1193 | layer { 1194 | name: "conv4_2/linear/scale" 1195 | type: "Scale" 1196 | bottom: "conv4_2/linear/bn" 1197 | top: "conv4_2/linear/bn" 1198 | param { 1199 | lr_mult: 1 1200 | decay_mult: 0 1201 | } 1202 | param { 1203 | lr_mult: 1 1204 | decay_mult: 0 1205 | } 1206 | scale_param { 1207 | bias_term: true 1208 | } 1209 | } 1210 | layer { 1211 | name: "block_4_2" 1212 | type: "Eltwise" 1213 | bottom: "block_4_1" 1214 | bottom: "conv4_2/linear/bn" 1215 | top: "block_4_2" 1216 | } 1217 | layer { 1218 | name: "conv4_3/expand" 1219 | type: "Convolution" 1220 | bottom: "block_4_2" 1221 | top: "conv4_3/expand" 1222 | param { 1223 | lr_mult: 1 1224 | decay_mult: 1 1225 | } 1226 | convolution_param { 1227 | num_output: 192 1228 | bias_term: false 1229 | kernel_size: 1 1230 | weight_filler { 1231 | type: "msra" 1232 | } 1233 | } 1234 | } 1235 | layer { 1236 | name: "conv4_3/expand/bn" 1237 | type: "BatchNorm" 1238 | bottom: "conv4_3/expand" 1239 | top: "conv4_3/expand/bn" 1240 | param { 1241 | lr_mult: 0 1242 | decay_mult: 0 1243 | } 1244 | param { 1245 | lr_mult: 0 1246 | decay_mult: 0 1247 | } 1248 | param { 1249 | lr_mult: 0 1250 | decay_mult: 0 1251 | } 1252 | batch_norm_param { 1253 | use_global_stats: true 1254 | eps: 1e-5 1255 | } 1256 | } 1257 | layer { 1258 | name: "conv4_3/expand/scale" 1259 | type: "Scale" 1260 | bottom: "conv4_3/expand/bn" 1261 | top: "conv4_3/expand/bn" 1262 | param { 1263 | lr_mult: 1 1264 | decay_mult: 0 1265 | } 1266 | param { 1267 | lr_mult: 1 1268 | decay_mult: 0 1269 | } 1270 | scale_param { 1271 | bias_term: true 1272 | } 1273 | } 1274 | layer { 1275 | name: "relu4_3/expand" 1276 | type: "ReLU" 1277 | bottom: "conv4_3/expand/bn" 1278 | top: "conv4_3/expand/bn" 1279 | } 1280 | layer { 1281 | name: "conv4_3/dwise" 1282 | type: "Convolution" 1283 | bottom: "conv4_3/expand/bn" 1284 | top: "conv4_3/dwise" 1285 | param { 1286 | lr_mult: 1 1287 | decay_mult: 1 1288 | } 1289 | convolution_param { 1290 | num_output: 192 1291 | bias_term: false 1292 | pad: 1 1293 | kernel_size: 3 1294 | group: 192 1295 | weight_filler { 1296 | type: "msra" 1297 | } 1298 | engine: CAFFE 1299 | } 1300 | } 1301 | layer { 1302 | name: "conv4_3/dwise/bn" 1303 | type: "BatchNorm" 1304 | bottom: "conv4_3/dwise" 1305 | top: "conv4_3/dwise/bn" 1306 | param { 1307 | lr_mult: 0 1308 | decay_mult: 0 1309 | } 1310 | param { 1311 | lr_mult: 0 1312 | decay_mult: 0 1313 | } 1314 | param { 1315 | lr_mult: 0 1316 | decay_mult: 0 1317 | } 1318 | batch_norm_param { 1319 | use_global_stats: true 1320 | eps: 1e-5 1321 | } 1322 | } 1323 | layer { 1324 | name: "conv4_3/dwise/scale" 1325 | type: "Scale" 1326 | bottom: "conv4_3/dwise/bn" 1327 | top: "conv4_3/dwise/bn" 1328 | param { 1329 | lr_mult: 1 1330 | decay_mult: 0 1331 | } 1332 | param { 1333 | lr_mult: 1 1334 | decay_mult: 0 1335 | } 1336 | scale_param { 1337 | bias_term: true 1338 | } 1339 | } 1340 | layer { 1341 | name: "relu4_3/dwise" 1342 | type: "ReLU" 1343 | bottom: "conv4_3/dwise/bn" 1344 | top: "conv4_3/dwise/bn" 1345 | } 1346 | layer { 1347 | name: "conv4_3/linear" 1348 | type: "Convolution" 1349 | bottom: "conv4_3/dwise/bn" 1350 | top: "conv4_3/linear" 1351 | param { 1352 | lr_mult: 1 1353 | decay_mult: 1 1354 | } 1355 | convolution_param { 1356 | num_output: 64 1357 | bias_term: false 1358 | kernel_size: 1 1359 | weight_filler { 1360 | type: "msra" 1361 | } 1362 | } 1363 | } 1364 | layer { 1365 | name: "conv4_3/linear/bn" 1366 | type: "BatchNorm" 1367 | bottom: "conv4_3/linear" 1368 | top: "conv4_3/linear/bn" 1369 | param { 1370 | lr_mult: 0 1371 | decay_mult: 0 1372 | } 1373 | param { 1374 | lr_mult: 0 1375 | decay_mult: 0 1376 | } 1377 | param { 1378 | lr_mult: 0 1379 | decay_mult: 0 1380 | } 1381 | batch_norm_param { 1382 | use_global_stats: true 1383 | eps: 1e-5 1384 | } 1385 | } 1386 | layer { 1387 | name: "conv4_3/linear/scale" 1388 | type: "Scale" 1389 | bottom: "conv4_3/linear/bn" 1390 | top: "conv4_3/linear/bn" 1391 | param { 1392 | lr_mult: 1 1393 | decay_mult: 0 1394 | } 1395 | param { 1396 | lr_mult: 1 1397 | decay_mult: 0 1398 | } 1399 | scale_param { 1400 | bias_term: true 1401 | } 1402 | } 1403 | layer { 1404 | name: "conv4_4/expand" 1405 | type: "Convolution" 1406 | bottom: "conv4_3/linear/bn" 1407 | top: "conv4_4/expand" 1408 | param { 1409 | lr_mult: 1 1410 | decay_mult: 1 1411 | } 1412 | convolution_param { 1413 | num_output: 384 1414 | bias_term: false 1415 | kernel_size: 1 1416 | weight_filler { 1417 | type: "msra" 1418 | } 1419 | } 1420 | } 1421 | layer { 1422 | name: "conv4_4/expand/bn" 1423 | type: "BatchNorm" 1424 | bottom: "conv4_4/expand" 1425 | top: "conv4_4/expand/bn" 1426 | param { 1427 | lr_mult: 0 1428 | decay_mult: 0 1429 | } 1430 | param { 1431 | lr_mult: 0 1432 | decay_mult: 0 1433 | } 1434 | param { 1435 | lr_mult: 0 1436 | decay_mult: 0 1437 | } 1438 | batch_norm_param { 1439 | use_global_stats: true 1440 | eps: 1e-5 1441 | } 1442 | } 1443 | layer { 1444 | name: "conv4_4/expand/scale" 1445 | type: "Scale" 1446 | bottom: "conv4_4/expand/bn" 1447 | top: "conv4_4/expand/bn" 1448 | param { 1449 | lr_mult: 1 1450 | decay_mult: 0 1451 | } 1452 | param { 1453 | lr_mult: 1 1454 | decay_mult: 0 1455 | } 1456 | scale_param { 1457 | bias_term: true 1458 | } 1459 | } 1460 | layer { 1461 | name: "relu4_4/expand" 1462 | type: "ReLU" 1463 | bottom: "conv4_4/expand/bn" 1464 | top: "conv4_4/expand/bn" 1465 | } 1466 | layer { 1467 | name: "conv4_4/dwise" 1468 | type: "Convolution" 1469 | bottom: "conv4_4/expand/bn" 1470 | top: "conv4_4/dwise" 1471 | param { 1472 | lr_mult: 1 1473 | decay_mult: 1 1474 | } 1475 | convolution_param { 1476 | num_output: 384 1477 | bias_term: false 1478 | pad: 1 1479 | kernel_size: 3 1480 | group: 384 1481 | weight_filler { 1482 | type: "msra" 1483 | } 1484 | engine: CAFFE 1485 | } 1486 | } 1487 | layer { 1488 | name: "conv4_4/dwise/bn" 1489 | type: "BatchNorm" 1490 | bottom: "conv4_4/dwise" 1491 | top: "conv4_4/dwise/bn" 1492 | param { 1493 | lr_mult: 0 1494 | decay_mult: 0 1495 | } 1496 | param { 1497 | lr_mult: 0 1498 | decay_mult: 0 1499 | } 1500 | param { 1501 | lr_mult: 0 1502 | decay_mult: 0 1503 | } 1504 | batch_norm_param { 1505 | use_global_stats: true 1506 | eps: 1e-5 1507 | } 1508 | } 1509 | layer { 1510 | name: "conv4_4/dwise/scale" 1511 | type: "Scale" 1512 | bottom: "conv4_4/dwise/bn" 1513 | top: "conv4_4/dwise/bn" 1514 | param { 1515 | lr_mult: 1 1516 | decay_mult: 0 1517 | } 1518 | param { 1519 | lr_mult: 1 1520 | decay_mult: 0 1521 | } 1522 | scale_param { 1523 | bias_term: true 1524 | } 1525 | } 1526 | layer { 1527 | name: "relu4_4/dwise" 1528 | type: "ReLU" 1529 | bottom: "conv4_4/dwise/bn" 1530 | top: "conv4_4/dwise/bn" 1531 | } 1532 | layer { 1533 | name: "conv4_4/linear" 1534 | type: "Convolution" 1535 | bottom: "conv4_4/dwise/bn" 1536 | top: "conv4_4/linear" 1537 | param { 1538 | lr_mult: 1 1539 | decay_mult: 1 1540 | } 1541 | convolution_param { 1542 | num_output: 64 1543 | bias_term: false 1544 | kernel_size: 1 1545 | weight_filler { 1546 | type: "msra" 1547 | } 1548 | } 1549 | } 1550 | layer { 1551 | name: "conv4_4/linear/bn" 1552 | type: "BatchNorm" 1553 | bottom: "conv4_4/linear" 1554 | top: "conv4_4/linear/bn" 1555 | param { 1556 | lr_mult: 0 1557 | decay_mult: 0 1558 | } 1559 | param { 1560 | lr_mult: 0 1561 | decay_mult: 0 1562 | } 1563 | param { 1564 | lr_mult: 0 1565 | decay_mult: 0 1566 | } 1567 | batch_norm_param { 1568 | use_global_stats: true 1569 | eps: 1e-5 1570 | } 1571 | } 1572 | layer { 1573 | name: "conv4_4/linear/scale" 1574 | type: "Scale" 1575 | bottom: "conv4_4/linear/bn" 1576 | top: "conv4_4/linear/bn" 1577 | param { 1578 | lr_mult: 1 1579 | decay_mult: 0 1580 | } 1581 | param { 1582 | lr_mult: 1 1583 | decay_mult: 0 1584 | } 1585 | scale_param { 1586 | bias_term: true 1587 | } 1588 | } 1589 | layer { 1590 | name: "block_4_4" 1591 | type: "Eltwise" 1592 | bottom: "conv4_3/linear/bn" 1593 | bottom: "conv4_4/linear/bn" 1594 | top: "block_4_4" 1595 | } 1596 | layer { 1597 | name: "conv4_5/expand" 1598 | type: "Convolution" 1599 | bottom: "block_4_4" 1600 | top: "conv4_5/expand" 1601 | param { 1602 | lr_mult: 1 1603 | decay_mult: 1 1604 | } 1605 | convolution_param { 1606 | num_output: 384 1607 | bias_term: false 1608 | kernel_size: 1 1609 | weight_filler { 1610 | type: "msra" 1611 | } 1612 | } 1613 | } 1614 | layer { 1615 | name: "conv4_5/expand/bn" 1616 | type: "BatchNorm" 1617 | bottom: "conv4_5/expand" 1618 | top: "conv4_5/expand/bn" 1619 | param { 1620 | lr_mult: 0 1621 | decay_mult: 0 1622 | } 1623 | param { 1624 | lr_mult: 0 1625 | decay_mult: 0 1626 | } 1627 | param { 1628 | lr_mult: 0 1629 | decay_mult: 0 1630 | } 1631 | batch_norm_param { 1632 | use_global_stats: true 1633 | eps: 1e-5 1634 | } 1635 | } 1636 | layer { 1637 | name: "conv4_5/expand/scale" 1638 | type: "Scale" 1639 | bottom: "conv4_5/expand/bn" 1640 | top: "conv4_5/expand/bn" 1641 | param { 1642 | lr_mult: 1 1643 | decay_mult: 0 1644 | } 1645 | param { 1646 | lr_mult: 1 1647 | decay_mult: 0 1648 | } 1649 | scale_param { 1650 | bias_term: true 1651 | } 1652 | } 1653 | layer { 1654 | name: "relu4_5/expand" 1655 | type: "ReLU" 1656 | bottom: "conv4_5/expand/bn" 1657 | top: "conv4_5/expand/bn" 1658 | } 1659 | layer { 1660 | name: "conv4_5/dwise" 1661 | type: "Convolution" 1662 | bottom: "conv4_5/expand/bn" 1663 | top: "conv4_5/dwise" 1664 | param { 1665 | lr_mult: 1 1666 | decay_mult: 1 1667 | } 1668 | convolution_param { 1669 | num_output: 384 1670 | bias_term: false 1671 | pad: 1 1672 | kernel_size: 3 1673 | group: 384 1674 | weight_filler { 1675 | type: "msra" 1676 | } 1677 | engine: CAFFE 1678 | } 1679 | } 1680 | layer { 1681 | name: "conv4_5/dwise/bn" 1682 | type: "BatchNorm" 1683 | bottom: "conv4_5/dwise" 1684 | top: "conv4_5/dwise/bn" 1685 | param { 1686 | lr_mult: 0 1687 | decay_mult: 0 1688 | } 1689 | param { 1690 | lr_mult: 0 1691 | decay_mult: 0 1692 | } 1693 | param { 1694 | lr_mult: 0 1695 | decay_mult: 0 1696 | } 1697 | batch_norm_param { 1698 | use_global_stats: true 1699 | eps: 1e-5 1700 | } 1701 | } 1702 | layer { 1703 | name: "conv4_5/dwise/scale" 1704 | type: "Scale" 1705 | bottom: "conv4_5/dwise/bn" 1706 | top: "conv4_5/dwise/bn" 1707 | param { 1708 | lr_mult: 1 1709 | decay_mult: 0 1710 | } 1711 | param { 1712 | lr_mult: 1 1713 | decay_mult: 0 1714 | } 1715 | scale_param { 1716 | bias_term: true 1717 | } 1718 | } 1719 | layer { 1720 | name: "relu4_5/dwise" 1721 | type: "ReLU" 1722 | bottom: "conv4_5/dwise/bn" 1723 | top: "conv4_5/dwise/bn" 1724 | } 1725 | layer { 1726 | name: "conv4_5/linear" 1727 | type: "Convolution" 1728 | bottom: "conv4_5/dwise/bn" 1729 | top: "conv4_5/linear" 1730 | param { 1731 | lr_mult: 1 1732 | decay_mult: 1 1733 | } 1734 | convolution_param { 1735 | num_output: 64 1736 | bias_term: false 1737 | kernel_size: 1 1738 | weight_filler { 1739 | type: "msra" 1740 | } 1741 | } 1742 | } 1743 | layer { 1744 | name: "conv4_5/linear/bn" 1745 | type: "BatchNorm" 1746 | bottom: "conv4_5/linear" 1747 | top: "conv4_5/linear/bn" 1748 | param { 1749 | lr_mult: 0 1750 | decay_mult: 0 1751 | } 1752 | param { 1753 | lr_mult: 0 1754 | decay_mult: 0 1755 | } 1756 | param { 1757 | lr_mult: 0 1758 | decay_mult: 0 1759 | } 1760 | batch_norm_param { 1761 | use_global_stats: true 1762 | eps: 1e-5 1763 | } 1764 | } 1765 | layer { 1766 | name: "conv4_5/linear/scale" 1767 | type: "Scale" 1768 | bottom: "conv4_5/linear/bn" 1769 | top: "conv4_5/linear/bn" 1770 | param { 1771 | lr_mult: 1 1772 | decay_mult: 0 1773 | } 1774 | param { 1775 | lr_mult: 1 1776 | decay_mult: 0 1777 | } 1778 | scale_param { 1779 | bias_term: true 1780 | } 1781 | } 1782 | layer { 1783 | name: "block_4_5" 1784 | type: "Eltwise" 1785 | bottom: "block_4_4" 1786 | bottom: "conv4_5/linear/bn" 1787 | top: "block_4_5" 1788 | } 1789 | layer { 1790 | name: "conv4_6/expand" 1791 | type: "Convolution" 1792 | bottom: "block_4_5" 1793 | top: "conv4_6/expand" 1794 | param { 1795 | lr_mult: 1 1796 | decay_mult: 1 1797 | } 1798 | convolution_param { 1799 | num_output: 384 1800 | bias_term: false 1801 | kernel_size: 1 1802 | weight_filler { 1803 | type: "msra" 1804 | } 1805 | } 1806 | } 1807 | layer { 1808 | name: "conv4_6/expand/bn" 1809 | type: "BatchNorm" 1810 | bottom: "conv4_6/expand" 1811 | top: "conv4_6/expand/bn" 1812 | param { 1813 | lr_mult: 0 1814 | decay_mult: 0 1815 | } 1816 | param { 1817 | lr_mult: 0 1818 | decay_mult: 0 1819 | } 1820 | param { 1821 | lr_mult: 0 1822 | decay_mult: 0 1823 | } 1824 | batch_norm_param { 1825 | use_global_stats: true 1826 | eps: 1e-5 1827 | } 1828 | } 1829 | layer { 1830 | name: "conv4_6/expand/scale" 1831 | type: "Scale" 1832 | bottom: "conv4_6/expand/bn" 1833 | top: "conv4_6/expand/bn" 1834 | param { 1835 | lr_mult: 1 1836 | decay_mult: 0 1837 | } 1838 | param { 1839 | lr_mult: 1 1840 | decay_mult: 0 1841 | } 1842 | scale_param { 1843 | bias_term: true 1844 | } 1845 | } 1846 | layer { 1847 | name: "relu4_6/expand" 1848 | type: "ReLU" 1849 | bottom: "conv4_6/expand/bn" 1850 | top: "conv4_6/expand/bn" 1851 | } 1852 | layer { 1853 | name: "conv4_6/dwise" 1854 | type: "Convolution" 1855 | bottom: "conv4_6/expand/bn" 1856 | top: "conv4_6/dwise" 1857 | param { 1858 | lr_mult: 1 1859 | decay_mult: 1 1860 | } 1861 | convolution_param { 1862 | num_output: 384 1863 | bias_term: false 1864 | pad: 1 1865 | kernel_size: 3 1866 | group: 384 1867 | weight_filler { 1868 | type: "msra" 1869 | } 1870 | engine: CAFFE 1871 | } 1872 | } 1873 | layer { 1874 | name: "conv4_6/dwise/bn" 1875 | type: "BatchNorm" 1876 | bottom: "conv4_6/dwise" 1877 | top: "conv4_6/dwise/bn" 1878 | param { 1879 | lr_mult: 0 1880 | decay_mult: 0 1881 | } 1882 | param { 1883 | lr_mult: 0 1884 | decay_mult: 0 1885 | } 1886 | param { 1887 | lr_mult: 0 1888 | decay_mult: 0 1889 | } 1890 | batch_norm_param { 1891 | use_global_stats: true 1892 | eps: 1e-5 1893 | } 1894 | } 1895 | layer { 1896 | name: "conv4_6/dwise/scale" 1897 | type: "Scale" 1898 | bottom: "conv4_6/dwise/bn" 1899 | top: "conv4_6/dwise/bn" 1900 | param { 1901 | lr_mult: 1 1902 | decay_mult: 0 1903 | } 1904 | param { 1905 | lr_mult: 1 1906 | decay_mult: 0 1907 | } 1908 | scale_param { 1909 | bias_term: true 1910 | } 1911 | } 1912 | layer { 1913 | name: "relu4_6/dwise" 1914 | type: "ReLU" 1915 | bottom: "conv4_6/dwise/bn" 1916 | top: "conv4_6/dwise/bn" 1917 | } 1918 | layer { 1919 | name: "conv4_6/linear" 1920 | type: "Convolution" 1921 | bottom: "conv4_6/dwise/bn" 1922 | top: "conv4_6/linear" 1923 | param { 1924 | lr_mult: 1 1925 | decay_mult: 1 1926 | } 1927 | convolution_param { 1928 | num_output: 64 1929 | bias_term: false 1930 | kernel_size: 1 1931 | weight_filler { 1932 | type: "msra" 1933 | } 1934 | } 1935 | } 1936 | layer { 1937 | name: "conv4_6/linear/bn" 1938 | type: "BatchNorm" 1939 | bottom: "conv4_6/linear" 1940 | top: "conv4_6/linear/bn" 1941 | param { 1942 | lr_mult: 0 1943 | decay_mult: 0 1944 | } 1945 | param { 1946 | lr_mult: 0 1947 | decay_mult: 0 1948 | } 1949 | param { 1950 | lr_mult: 0 1951 | decay_mult: 0 1952 | } 1953 | batch_norm_param { 1954 | use_global_stats: true 1955 | eps: 1e-5 1956 | } 1957 | } 1958 | layer { 1959 | name: "conv4_6/linear/scale" 1960 | type: "Scale" 1961 | bottom: "conv4_6/linear/bn" 1962 | top: "conv4_6/linear/bn" 1963 | param { 1964 | lr_mult: 1 1965 | decay_mult: 0 1966 | } 1967 | param { 1968 | lr_mult: 1 1969 | decay_mult: 0 1970 | } 1971 | scale_param { 1972 | bias_term: true 1973 | } 1974 | } 1975 | layer { 1976 | name: "block_4_6" 1977 | type: "Eltwise" 1978 | bottom: "block_4_5" 1979 | bottom: "conv4_6/linear/bn" 1980 | top: "block_4_6" 1981 | } 1982 | layer { 1983 | name: "conv4_7/expand" 1984 | type: "Convolution" 1985 | bottom: "block_4_6" 1986 | top: "conv4_7/expand" 1987 | param { 1988 | lr_mult: 1 1989 | decay_mult: 1 1990 | } 1991 | convolution_param { 1992 | num_output: 384 1993 | bias_term: false 1994 | kernel_size: 1 1995 | weight_filler { 1996 | type: "msra" 1997 | } 1998 | } 1999 | } 2000 | layer { 2001 | name: "conv4_7/expand/bn" 2002 | type: "BatchNorm" 2003 | bottom: "conv4_7/expand" 2004 | top: "conv4_7/expand/bn" 2005 | param { 2006 | lr_mult: 0 2007 | decay_mult: 0 2008 | } 2009 | param { 2010 | lr_mult: 0 2011 | decay_mult: 0 2012 | } 2013 | param { 2014 | lr_mult: 0 2015 | decay_mult: 0 2016 | } 2017 | batch_norm_param { 2018 | use_global_stats: true 2019 | eps: 1e-5 2020 | } 2021 | } 2022 | layer { 2023 | name: "conv4_7/expand/scale" 2024 | type: "Scale" 2025 | bottom: "conv4_7/expand/bn" 2026 | top: "conv4_7/expand/bn" 2027 | param { 2028 | lr_mult: 1 2029 | decay_mult: 0 2030 | } 2031 | param { 2032 | lr_mult: 1 2033 | decay_mult: 0 2034 | } 2035 | scale_param { 2036 | bias_term: true 2037 | } 2038 | } 2039 | layer { 2040 | name: "relu4_7/expand" 2041 | type: "ReLU" 2042 | bottom: "conv4_7/expand/bn" 2043 | top: "conv4_7/expand/bn" 2044 | } 2045 | layer { 2046 | name: "conv4_7/dwise" 2047 | type: "Convolution" 2048 | bottom: "conv4_7/expand/bn" 2049 | top: "conv4_7/dwise" 2050 | param { 2051 | lr_mult: 1 2052 | decay_mult: 1 2053 | } 2054 | convolution_param { 2055 | num_output: 384 2056 | bias_term: false 2057 | pad: 1 2058 | kernel_size: 3 2059 | group: 384 2060 | stride: 2 2061 | weight_filler { 2062 | type: "msra" 2063 | } 2064 | engine: CAFFE 2065 | } 2066 | } 2067 | layer { 2068 | name: "conv4_7/dwise/bn" 2069 | type: "BatchNorm" 2070 | bottom: "conv4_7/dwise" 2071 | top: "conv4_7/dwise/bn" 2072 | param { 2073 | lr_mult: 0 2074 | decay_mult: 0 2075 | } 2076 | param { 2077 | lr_mult: 0 2078 | decay_mult: 0 2079 | } 2080 | param { 2081 | lr_mult: 0 2082 | decay_mult: 0 2083 | } 2084 | batch_norm_param { 2085 | use_global_stats: true 2086 | eps: 1e-5 2087 | } 2088 | } 2089 | layer { 2090 | name: "conv4_7/dwise/scale" 2091 | type: "Scale" 2092 | bottom: "conv4_7/dwise/bn" 2093 | top: "conv4_7/dwise/bn" 2094 | param { 2095 | lr_mult: 1 2096 | decay_mult: 0 2097 | } 2098 | param { 2099 | lr_mult: 1 2100 | decay_mult: 0 2101 | } 2102 | scale_param { 2103 | bias_term: true 2104 | } 2105 | } 2106 | layer { 2107 | name: "relu4_7/dwise" 2108 | type: "ReLU" 2109 | bottom: "conv4_7/dwise/bn" 2110 | top: "conv4_7/dwise/bn" 2111 | } 2112 | layer { 2113 | name: "conv4_7/linear" 2114 | type: "Convolution" 2115 | bottom: "conv4_7/dwise/bn" 2116 | top: "conv4_7/linear" 2117 | param { 2118 | lr_mult: 1 2119 | decay_mult: 1 2120 | } 2121 | convolution_param { 2122 | num_output: 96 2123 | bias_term: false 2124 | kernel_size: 1 2125 | weight_filler { 2126 | type: "msra" 2127 | } 2128 | } 2129 | } 2130 | layer { 2131 | name: "conv4_7/linear/bn" 2132 | type: "BatchNorm" 2133 | bottom: "conv4_7/linear" 2134 | top: "conv4_7/linear/bn" 2135 | param { 2136 | lr_mult: 0 2137 | decay_mult: 0 2138 | } 2139 | param { 2140 | lr_mult: 0 2141 | decay_mult: 0 2142 | } 2143 | param { 2144 | lr_mult: 0 2145 | decay_mult: 0 2146 | } 2147 | batch_norm_param { 2148 | use_global_stats: true 2149 | eps: 1e-5 2150 | } 2151 | } 2152 | layer { 2153 | name: "conv4_7/linear/scale" 2154 | type: "Scale" 2155 | bottom: "conv4_7/linear/bn" 2156 | top: "conv4_7/linear/bn" 2157 | param { 2158 | lr_mult: 1 2159 | decay_mult: 0 2160 | } 2161 | param { 2162 | lr_mult: 1 2163 | decay_mult: 0 2164 | } 2165 | scale_param { 2166 | bias_term: true 2167 | } 2168 | } 2169 | layer { 2170 | name: "conv5_1/expand" 2171 | type: "Convolution" 2172 | bottom: "conv4_7/linear/bn" 2173 | top: "conv5_1/expand" 2174 | param { 2175 | lr_mult: 1 2176 | decay_mult: 1 2177 | } 2178 | convolution_param { 2179 | num_output: 576 2180 | bias_term: false 2181 | kernel_size: 1 2182 | weight_filler { 2183 | type: "msra" 2184 | } 2185 | } 2186 | } 2187 | layer { 2188 | name: "conv5_1/expand/bn" 2189 | type: "BatchNorm" 2190 | bottom: "conv5_1/expand" 2191 | top: "conv5_1/expand/bn" 2192 | param { 2193 | lr_mult: 0 2194 | decay_mult: 0 2195 | } 2196 | param { 2197 | lr_mult: 0 2198 | decay_mult: 0 2199 | } 2200 | param { 2201 | lr_mult: 0 2202 | decay_mult: 0 2203 | } 2204 | batch_norm_param { 2205 | use_global_stats: true 2206 | eps: 1e-5 2207 | } 2208 | } 2209 | layer { 2210 | name: "conv5_1/expand/scale" 2211 | type: "Scale" 2212 | bottom: "conv5_1/expand/bn" 2213 | top: "conv5_1/expand/bn" 2214 | param { 2215 | lr_mult: 1 2216 | decay_mult: 0 2217 | } 2218 | param { 2219 | lr_mult: 1 2220 | decay_mult: 0 2221 | } 2222 | scale_param { 2223 | bias_term: true 2224 | } 2225 | } 2226 | layer { 2227 | name: "relu5_1/expand" 2228 | type: "ReLU" 2229 | bottom: "conv5_1/expand/bn" 2230 | top: "conv5_1/expand/bn" 2231 | } 2232 | layer { 2233 | name: "conv5_1/dwise" 2234 | type: "Convolution" 2235 | bottom: "conv5_1/expand/bn" 2236 | top: "conv5_1/dwise" 2237 | param { 2238 | lr_mult: 1 2239 | decay_mult: 1 2240 | } 2241 | convolution_param { 2242 | num_output: 576 2243 | bias_term: false 2244 | pad: 1 2245 | kernel_size: 3 2246 | group: 576 2247 | weight_filler { 2248 | type: "msra" 2249 | } 2250 | engine: CAFFE 2251 | } 2252 | } 2253 | layer { 2254 | name: "conv5_1/dwise/bn" 2255 | type: "BatchNorm" 2256 | bottom: "conv5_1/dwise" 2257 | top: "conv5_1/dwise/bn" 2258 | param { 2259 | lr_mult: 0 2260 | decay_mult: 0 2261 | } 2262 | param { 2263 | lr_mult: 0 2264 | decay_mult: 0 2265 | } 2266 | param { 2267 | lr_mult: 0 2268 | decay_mult: 0 2269 | } 2270 | batch_norm_param { 2271 | use_global_stats: true 2272 | eps: 1e-5 2273 | } 2274 | } 2275 | layer { 2276 | name: "conv5_1/dwise/scale" 2277 | type: "Scale" 2278 | bottom: "conv5_1/dwise/bn" 2279 | top: "conv5_1/dwise/bn" 2280 | param { 2281 | lr_mult: 1 2282 | decay_mult: 0 2283 | } 2284 | param { 2285 | lr_mult: 1 2286 | decay_mult: 0 2287 | } 2288 | scale_param { 2289 | bias_term: true 2290 | } 2291 | } 2292 | layer { 2293 | name: "relu5_1/dwise" 2294 | type: "ReLU" 2295 | bottom: "conv5_1/dwise/bn" 2296 | top: "conv5_1/dwise/bn" 2297 | } 2298 | layer { 2299 | name: "conv5_1/linear" 2300 | type: "Convolution" 2301 | bottom: "conv5_1/dwise/bn" 2302 | top: "conv5_1/linear" 2303 | param { 2304 | lr_mult: 1 2305 | decay_mult: 1 2306 | } 2307 | convolution_param { 2308 | num_output: 96 2309 | bias_term: false 2310 | kernel_size: 1 2311 | weight_filler { 2312 | type: "msra" 2313 | } 2314 | } 2315 | } 2316 | layer { 2317 | name: "conv5_1/linear/bn" 2318 | type: "BatchNorm" 2319 | bottom: "conv5_1/linear" 2320 | top: "conv5_1/linear/bn" 2321 | param { 2322 | lr_mult: 0 2323 | decay_mult: 0 2324 | } 2325 | param { 2326 | lr_mult: 0 2327 | decay_mult: 0 2328 | } 2329 | param { 2330 | lr_mult: 0 2331 | decay_mult: 0 2332 | } 2333 | batch_norm_param { 2334 | use_global_stats: true 2335 | eps: 1e-5 2336 | } 2337 | } 2338 | layer { 2339 | name: "conv5_1/linear/scale" 2340 | type: "Scale" 2341 | bottom: "conv5_1/linear/bn" 2342 | top: "conv5_1/linear/bn" 2343 | param { 2344 | lr_mult: 1 2345 | decay_mult: 0 2346 | } 2347 | param { 2348 | lr_mult: 1 2349 | decay_mult: 0 2350 | } 2351 | scale_param { 2352 | bias_term: true 2353 | } 2354 | } 2355 | layer { 2356 | name: "block_5_1" 2357 | type: "Eltwise" 2358 | bottom: "conv4_7/linear/bn" 2359 | bottom: "conv5_1/linear/bn" 2360 | top: "block_5_1" 2361 | } 2362 | layer { 2363 | name: "conv5_2/expand" 2364 | type: "Convolution" 2365 | bottom: "block_5_1" 2366 | top: "conv5_2/expand" 2367 | param { 2368 | lr_mult: 1 2369 | decay_mult: 1 2370 | } 2371 | convolution_param { 2372 | num_output: 576 2373 | bias_term: false 2374 | kernel_size: 1 2375 | weight_filler { 2376 | type: "msra" 2377 | } 2378 | } 2379 | } 2380 | layer { 2381 | name: "conv5_2/expand/bn" 2382 | type: "BatchNorm" 2383 | bottom: "conv5_2/expand" 2384 | top: "conv5_2/expand/bn" 2385 | param { 2386 | lr_mult: 0 2387 | decay_mult: 0 2388 | } 2389 | param { 2390 | lr_mult: 0 2391 | decay_mult: 0 2392 | } 2393 | param { 2394 | lr_mult: 0 2395 | decay_mult: 0 2396 | } 2397 | batch_norm_param { 2398 | use_global_stats: true 2399 | eps: 1e-5 2400 | } 2401 | } 2402 | layer { 2403 | name: "conv5_2/expand/scale" 2404 | type: "Scale" 2405 | bottom: "conv5_2/expand/bn" 2406 | top: "conv5_2/expand/bn" 2407 | param { 2408 | lr_mult: 1 2409 | decay_mult: 0 2410 | } 2411 | param { 2412 | lr_mult: 1 2413 | decay_mult: 0 2414 | } 2415 | scale_param { 2416 | bias_term: true 2417 | } 2418 | } 2419 | layer { 2420 | name: "relu5_2/expand" 2421 | type: "ReLU" 2422 | bottom: "conv5_2/expand/bn" 2423 | top: "conv5_2/expand/bn" 2424 | } 2425 | layer { 2426 | name: "conv5_2/dwise" 2427 | type: "Convolution" 2428 | bottom: "conv5_2/expand/bn" 2429 | top: "conv5_2/dwise" 2430 | param { 2431 | lr_mult: 1 2432 | decay_mult: 1 2433 | } 2434 | convolution_param { 2435 | num_output: 576 2436 | bias_term: false 2437 | pad: 1 2438 | kernel_size: 3 2439 | group: 576 2440 | weight_filler { 2441 | type: "msra" 2442 | } 2443 | engine: CAFFE 2444 | } 2445 | } 2446 | layer { 2447 | name: "conv5_2/dwise/bn" 2448 | type: "BatchNorm" 2449 | bottom: "conv5_2/dwise" 2450 | top: "conv5_2/dwise/bn" 2451 | param { 2452 | lr_mult: 0 2453 | decay_mult: 0 2454 | } 2455 | param { 2456 | lr_mult: 0 2457 | decay_mult: 0 2458 | } 2459 | param { 2460 | lr_mult: 0 2461 | decay_mult: 0 2462 | } 2463 | batch_norm_param { 2464 | use_global_stats: true 2465 | eps: 1e-5 2466 | } 2467 | } 2468 | layer { 2469 | name: "conv5_2/dwise/scale" 2470 | type: "Scale" 2471 | bottom: "conv5_2/dwise/bn" 2472 | top: "conv5_2/dwise/bn" 2473 | param { 2474 | lr_mult: 1 2475 | decay_mult: 0 2476 | } 2477 | param { 2478 | lr_mult: 1 2479 | decay_mult: 0 2480 | } 2481 | scale_param { 2482 | bias_term: true 2483 | } 2484 | } 2485 | layer { 2486 | name: "relu5_2/dwise" 2487 | type: "ReLU" 2488 | bottom: "conv5_2/dwise/bn" 2489 | top: "conv5_2/dwise/bn" 2490 | } 2491 | layer { 2492 | name: "conv5_2/linear" 2493 | type: "Convolution" 2494 | bottom: "conv5_2/dwise/bn" 2495 | top: "conv5_2/linear" 2496 | param { 2497 | lr_mult: 1 2498 | decay_mult: 1 2499 | } 2500 | convolution_param { 2501 | num_output: 96 2502 | bias_term: false 2503 | kernel_size: 1 2504 | weight_filler { 2505 | type: "msra" 2506 | } 2507 | } 2508 | } 2509 | layer { 2510 | name: "conv5_2/linear/bn" 2511 | type: "BatchNorm" 2512 | bottom: "conv5_2/linear" 2513 | top: "conv5_2/linear/bn" 2514 | param { 2515 | lr_mult: 0 2516 | decay_mult: 0 2517 | } 2518 | param { 2519 | lr_mult: 0 2520 | decay_mult: 0 2521 | } 2522 | param { 2523 | lr_mult: 0 2524 | decay_mult: 0 2525 | } 2526 | batch_norm_param { 2527 | use_global_stats: true 2528 | eps: 1e-5 2529 | } 2530 | } 2531 | layer { 2532 | name: "conv5_2/linear/scale" 2533 | type: "Scale" 2534 | bottom: "conv5_2/linear/bn" 2535 | top: "conv5_2/linear/bn" 2536 | param { 2537 | lr_mult: 1 2538 | decay_mult: 0 2539 | } 2540 | param { 2541 | lr_mult: 1 2542 | decay_mult: 0 2543 | } 2544 | scale_param { 2545 | bias_term: true 2546 | } 2547 | } 2548 | layer { 2549 | name: "block_5_2" 2550 | type: "Eltwise" 2551 | bottom: "block_5_1" 2552 | bottom: "conv5_2/linear/bn" 2553 | top: "block_5_2" 2554 | } 2555 | layer { 2556 | name: "conv5_3/expand" 2557 | type: "Convolution" 2558 | bottom: "block_5_2" 2559 | top: "conv5_3/expand" 2560 | param { 2561 | lr_mult: 1 2562 | decay_mult: 1 2563 | } 2564 | convolution_param { 2565 | num_output: 576 2566 | bias_term: false 2567 | kernel_size: 1 2568 | weight_filler { 2569 | type: "msra" 2570 | } 2571 | } 2572 | } 2573 | layer { 2574 | name: "conv5_3/expand/bn" 2575 | type: "BatchNorm" 2576 | bottom: "conv5_3/expand" 2577 | top: "conv5_3/expand/bn" 2578 | param { 2579 | lr_mult: 0 2580 | decay_mult: 0 2581 | } 2582 | param { 2583 | lr_mult: 0 2584 | decay_mult: 0 2585 | } 2586 | param { 2587 | lr_mult: 0 2588 | decay_mult: 0 2589 | } 2590 | batch_norm_param { 2591 | use_global_stats: true 2592 | eps: 1e-5 2593 | } 2594 | } 2595 | layer { 2596 | name: "conv5_3/expand/scale" 2597 | type: "Scale" 2598 | bottom: "conv5_3/expand/bn" 2599 | top: "conv5_3/expand/bn" 2600 | param { 2601 | lr_mult: 1 2602 | decay_mult: 0 2603 | } 2604 | param { 2605 | lr_mult: 1 2606 | decay_mult: 0 2607 | } 2608 | scale_param { 2609 | bias_term: true 2610 | } 2611 | } 2612 | layer { 2613 | name: "relu5_3/expand" 2614 | type: "ReLU" 2615 | bottom: "conv5_3/expand/bn" 2616 | top: "conv5_3/expand/bn" 2617 | } 2618 | layer { 2619 | name: "conv5_3/dwise" 2620 | type: "Convolution" 2621 | bottom: "conv5_3/expand/bn" 2622 | top: "conv5_3/dwise" 2623 | param { 2624 | lr_mult: 1 2625 | decay_mult: 1 2626 | } 2627 | convolution_param { 2628 | num_output: 576 2629 | bias_term: false 2630 | pad: 1 2631 | kernel_size: 3 2632 | group: 576 2633 | stride: 2 2634 | weight_filler { 2635 | type: "msra" 2636 | } 2637 | engine: CAFFE 2638 | } 2639 | } 2640 | layer { 2641 | name: "conv5_3/dwise/bn" 2642 | type: "BatchNorm" 2643 | bottom: "conv5_3/dwise" 2644 | top: "conv5_3/dwise/bn" 2645 | param { 2646 | lr_mult: 0 2647 | decay_mult: 0 2648 | } 2649 | param { 2650 | lr_mult: 0 2651 | decay_mult: 0 2652 | } 2653 | param { 2654 | lr_mult: 0 2655 | decay_mult: 0 2656 | } 2657 | batch_norm_param { 2658 | use_global_stats: true 2659 | eps: 1e-5 2660 | } 2661 | } 2662 | layer { 2663 | name: "conv5_3/dwise/scale" 2664 | type: "Scale" 2665 | bottom: "conv5_3/dwise/bn" 2666 | top: "conv5_3/dwise/bn" 2667 | param { 2668 | lr_mult: 1 2669 | decay_mult: 0 2670 | } 2671 | param { 2672 | lr_mult: 1 2673 | decay_mult: 0 2674 | } 2675 | scale_param { 2676 | bias_term: true 2677 | } 2678 | } 2679 | layer { 2680 | name: "relu5_3/dwise" 2681 | type: "ReLU" 2682 | bottom: "conv5_3/dwise/bn" 2683 | top: "conv5_3/dwise/bn" 2684 | } 2685 | layer { 2686 | name: "conv5_3/linear" 2687 | type: "Convolution" 2688 | bottom: "conv5_3/dwise/bn" 2689 | top: "conv5_3/linear" 2690 | param { 2691 | lr_mult: 1 2692 | decay_mult: 1 2693 | } 2694 | convolution_param { 2695 | num_output: 160 2696 | bias_term: false 2697 | kernel_size: 1 2698 | weight_filler { 2699 | type: "msra" 2700 | } 2701 | } 2702 | } 2703 | layer { 2704 | name: "conv5_3/linear/bn" 2705 | type: "BatchNorm" 2706 | bottom: "conv5_3/linear" 2707 | top: "conv5_3/linear/bn" 2708 | param { 2709 | lr_mult: 0 2710 | decay_mult: 0 2711 | } 2712 | param { 2713 | lr_mult: 0 2714 | decay_mult: 0 2715 | } 2716 | param { 2717 | lr_mult: 0 2718 | decay_mult: 0 2719 | } 2720 | batch_norm_param { 2721 | use_global_stats: true 2722 | eps: 1e-5 2723 | } 2724 | } 2725 | layer { 2726 | name: "conv5_3/linear/scale" 2727 | type: "Scale" 2728 | bottom: "conv5_3/linear/bn" 2729 | top: "conv5_3/linear/bn" 2730 | param { 2731 | lr_mult: 1 2732 | decay_mult: 0 2733 | } 2734 | param { 2735 | lr_mult: 1 2736 | decay_mult: 0 2737 | } 2738 | scale_param { 2739 | bias_term: true 2740 | } 2741 | } 2742 | layer { 2743 | name: "conv6_1/expand" 2744 | type: "Convolution" 2745 | bottom: "conv5_3/linear/bn" 2746 | top: "conv6_1/expand" 2747 | param { 2748 | lr_mult: 1 2749 | decay_mult: 1 2750 | } 2751 | convolution_param { 2752 | num_output: 960 2753 | bias_term: false 2754 | kernel_size: 1 2755 | weight_filler { 2756 | type: "msra" 2757 | } 2758 | } 2759 | } 2760 | layer { 2761 | name: "conv6_1/expand/bn" 2762 | type: "BatchNorm" 2763 | bottom: "conv6_1/expand" 2764 | top: "conv6_1/expand/bn" 2765 | param { 2766 | lr_mult: 0 2767 | decay_mult: 0 2768 | } 2769 | param { 2770 | lr_mult: 0 2771 | decay_mult: 0 2772 | } 2773 | param { 2774 | lr_mult: 0 2775 | decay_mult: 0 2776 | } 2777 | batch_norm_param { 2778 | use_global_stats: true 2779 | eps: 1e-5 2780 | } 2781 | } 2782 | layer { 2783 | name: "conv6_1/expand/scale" 2784 | type: "Scale" 2785 | bottom: "conv6_1/expand/bn" 2786 | top: "conv6_1/expand/bn" 2787 | param { 2788 | lr_mult: 1 2789 | decay_mult: 0 2790 | } 2791 | param { 2792 | lr_mult: 1 2793 | decay_mult: 0 2794 | } 2795 | scale_param { 2796 | bias_term: true 2797 | } 2798 | } 2799 | layer { 2800 | name: "relu6_1/expand" 2801 | type: "ReLU" 2802 | bottom: "conv6_1/expand/bn" 2803 | top: "conv6_1/expand/bn" 2804 | } 2805 | layer { 2806 | name: "conv6_1/dwise" 2807 | type: "Convolution" 2808 | bottom: "conv6_1/expand/bn" 2809 | top: "conv6_1/dwise" 2810 | param { 2811 | lr_mult: 1 2812 | decay_mult: 1 2813 | } 2814 | convolution_param { 2815 | num_output: 960 2816 | bias_term: false 2817 | pad: 1 2818 | kernel_size: 3 2819 | group: 960 2820 | weight_filler { 2821 | type: "msra" 2822 | } 2823 | engine: CAFFE 2824 | } 2825 | } 2826 | layer { 2827 | name: "conv6_1/dwise/bn" 2828 | type: "BatchNorm" 2829 | bottom: "conv6_1/dwise" 2830 | top: "conv6_1/dwise/bn" 2831 | param { 2832 | lr_mult: 0 2833 | decay_mult: 0 2834 | } 2835 | param { 2836 | lr_mult: 0 2837 | decay_mult: 0 2838 | } 2839 | param { 2840 | lr_mult: 0 2841 | decay_mult: 0 2842 | } 2843 | batch_norm_param { 2844 | use_global_stats: true 2845 | eps: 1e-5 2846 | } 2847 | } 2848 | layer { 2849 | name: "conv6_1/dwise/scale" 2850 | type: "Scale" 2851 | bottom: "conv6_1/dwise/bn" 2852 | top: "conv6_1/dwise/bn" 2853 | param { 2854 | lr_mult: 1 2855 | decay_mult: 0 2856 | } 2857 | param { 2858 | lr_mult: 1 2859 | decay_mult: 0 2860 | } 2861 | scale_param { 2862 | bias_term: true 2863 | } 2864 | } 2865 | layer { 2866 | name: "relu6_1/dwise" 2867 | type: "ReLU" 2868 | bottom: "conv6_1/dwise/bn" 2869 | top: "conv6_1/dwise/bn" 2870 | } 2871 | layer { 2872 | name: "conv6_1/linear" 2873 | type: "Convolution" 2874 | bottom: "conv6_1/dwise/bn" 2875 | top: "conv6_1/linear" 2876 | param { 2877 | lr_mult: 1 2878 | decay_mult: 1 2879 | } 2880 | convolution_param { 2881 | num_output: 160 2882 | bias_term: false 2883 | kernel_size: 1 2884 | weight_filler { 2885 | type: "msra" 2886 | } 2887 | } 2888 | } 2889 | layer { 2890 | name: "conv6_1/linear/bn" 2891 | type: "BatchNorm" 2892 | bottom: "conv6_1/linear" 2893 | top: "conv6_1/linear/bn" 2894 | param { 2895 | lr_mult: 0 2896 | decay_mult: 0 2897 | } 2898 | param { 2899 | lr_mult: 0 2900 | decay_mult: 0 2901 | } 2902 | param { 2903 | lr_mult: 0 2904 | decay_mult: 0 2905 | } 2906 | batch_norm_param { 2907 | use_global_stats: true 2908 | eps: 1e-5 2909 | } 2910 | } 2911 | layer { 2912 | name: "conv6_1/linear/scale" 2913 | type: "Scale" 2914 | bottom: "conv6_1/linear/bn" 2915 | top: "conv6_1/linear/bn" 2916 | param { 2917 | lr_mult: 1 2918 | decay_mult: 0 2919 | } 2920 | param { 2921 | lr_mult: 1 2922 | decay_mult: 0 2923 | } 2924 | scale_param { 2925 | bias_term: true 2926 | } 2927 | } 2928 | layer { 2929 | name: "block_6_1" 2930 | type: "Eltwise" 2931 | bottom: "conv5_3/linear/bn" 2932 | bottom: "conv6_1/linear/bn" 2933 | top: "block_6_1" 2934 | } 2935 | layer { 2936 | name: "conv6_2/expand" 2937 | type: "Convolution" 2938 | bottom: "block_6_1" 2939 | top: "conv6_2/expand" 2940 | param { 2941 | lr_mult: 1 2942 | decay_mult: 1 2943 | } 2944 | convolution_param { 2945 | num_output: 960 2946 | bias_term: false 2947 | kernel_size: 1 2948 | weight_filler { 2949 | type: "msra" 2950 | } 2951 | } 2952 | } 2953 | layer { 2954 | name: "conv6_2/expand/bn" 2955 | type: "BatchNorm" 2956 | bottom: "conv6_2/expand" 2957 | top: "conv6_2/expand/bn" 2958 | param { 2959 | lr_mult: 0 2960 | decay_mult: 0 2961 | } 2962 | param { 2963 | lr_mult: 0 2964 | decay_mult: 0 2965 | } 2966 | param { 2967 | lr_mult: 0 2968 | decay_mult: 0 2969 | } 2970 | batch_norm_param { 2971 | use_global_stats: true 2972 | eps: 1e-5 2973 | } 2974 | } 2975 | layer { 2976 | name: "conv6_2/expand/scale" 2977 | type: "Scale" 2978 | bottom: "conv6_2/expand/bn" 2979 | top: "conv6_2/expand/bn" 2980 | param { 2981 | lr_mult: 1 2982 | decay_mult: 0 2983 | } 2984 | param { 2985 | lr_mult: 1 2986 | decay_mult: 0 2987 | } 2988 | scale_param { 2989 | bias_term: true 2990 | } 2991 | } 2992 | layer { 2993 | name: "relu6_2/expand" 2994 | type: "ReLU" 2995 | bottom: "conv6_2/expand/bn" 2996 | top: "conv6_2/expand/bn" 2997 | } 2998 | layer { 2999 | name: "conv6_2/dwise" 3000 | type: "Convolution" 3001 | bottom: "conv6_2/expand/bn" 3002 | top: "conv6_2/dwise" 3003 | param { 3004 | lr_mult: 1 3005 | decay_mult: 1 3006 | } 3007 | convolution_param { 3008 | num_output: 960 3009 | bias_term: false 3010 | pad: 1 3011 | kernel_size: 3 3012 | group: 960 3013 | weight_filler { 3014 | type: "msra" 3015 | } 3016 | engine: CAFFE 3017 | } 3018 | } 3019 | layer { 3020 | name: "conv6_2/dwise/bn" 3021 | type: "BatchNorm" 3022 | bottom: "conv6_2/dwise" 3023 | top: "conv6_2/dwise/bn" 3024 | param { 3025 | lr_mult: 0 3026 | decay_mult: 0 3027 | } 3028 | param { 3029 | lr_mult: 0 3030 | decay_mult: 0 3031 | } 3032 | param { 3033 | lr_mult: 0 3034 | decay_mult: 0 3035 | } 3036 | batch_norm_param { 3037 | use_global_stats: true 3038 | eps: 1e-5 3039 | } 3040 | } 3041 | layer { 3042 | name: "conv6_2/dwise/scale" 3043 | type: "Scale" 3044 | bottom: "conv6_2/dwise/bn" 3045 | top: "conv6_2/dwise/bn" 3046 | param { 3047 | lr_mult: 1 3048 | decay_mult: 0 3049 | } 3050 | param { 3051 | lr_mult: 1 3052 | decay_mult: 0 3053 | } 3054 | scale_param { 3055 | bias_term: true 3056 | } 3057 | } 3058 | layer { 3059 | name: "relu6_2/dwise" 3060 | type: "ReLU" 3061 | bottom: "conv6_2/dwise/bn" 3062 | top: "conv6_2/dwise/bn" 3063 | } 3064 | layer { 3065 | name: "conv6_2/linear" 3066 | type: "Convolution" 3067 | bottom: "conv6_2/dwise/bn" 3068 | top: "conv6_2/linear" 3069 | param { 3070 | lr_mult: 1 3071 | decay_mult: 1 3072 | } 3073 | convolution_param { 3074 | num_output: 160 3075 | bias_term: false 3076 | kernel_size: 1 3077 | weight_filler { 3078 | type: "msra" 3079 | } 3080 | } 3081 | } 3082 | layer { 3083 | name: "conv6_2/linear/bn" 3084 | type: "BatchNorm" 3085 | bottom: "conv6_2/linear" 3086 | top: "conv6_2/linear/bn" 3087 | param { 3088 | lr_mult: 0 3089 | decay_mult: 0 3090 | } 3091 | param { 3092 | lr_mult: 0 3093 | decay_mult: 0 3094 | } 3095 | param { 3096 | lr_mult: 0 3097 | decay_mult: 0 3098 | } 3099 | batch_norm_param { 3100 | use_global_stats: true 3101 | eps: 1e-5 3102 | } 3103 | } 3104 | layer { 3105 | name: "conv6_2/linear/scale" 3106 | type: "Scale" 3107 | bottom: "conv6_2/linear/bn" 3108 | top: "conv6_2/linear/bn" 3109 | param { 3110 | lr_mult: 1 3111 | decay_mult: 0 3112 | } 3113 | param { 3114 | lr_mult: 1 3115 | decay_mult: 0 3116 | } 3117 | scale_param { 3118 | bias_term: true 3119 | } 3120 | } 3121 | layer { 3122 | name: "block_6_2" 3123 | type: "Eltwise" 3124 | bottom: "block_6_1" 3125 | bottom: "conv6_2/linear/bn" 3126 | top: "block_6_2" 3127 | } 3128 | layer { 3129 | name: "conv6_3/expand" 3130 | type: "Convolution" 3131 | bottom: "block_6_2" 3132 | top: "conv6_3/expand" 3133 | param { 3134 | lr_mult: 1 3135 | decay_mult: 1 3136 | } 3137 | convolution_param { 3138 | num_output: 960 3139 | bias_term: false 3140 | kernel_size: 1 3141 | weight_filler { 3142 | type: "msra" 3143 | } 3144 | } 3145 | } 3146 | layer { 3147 | name: "conv6_3/expand/bn" 3148 | type: "BatchNorm" 3149 | bottom: "conv6_3/expand" 3150 | top: "conv6_3/expand/bn" 3151 | param { 3152 | lr_mult: 0 3153 | decay_mult: 0 3154 | } 3155 | param { 3156 | lr_mult: 0 3157 | decay_mult: 0 3158 | } 3159 | param { 3160 | lr_mult: 0 3161 | decay_mult: 0 3162 | } 3163 | batch_norm_param { 3164 | use_global_stats: true 3165 | eps: 1e-5 3166 | } 3167 | } 3168 | layer { 3169 | name: "conv6_3/expand/scale" 3170 | type: "Scale" 3171 | bottom: "conv6_3/expand/bn" 3172 | top: "conv6_3/expand/bn" 3173 | param { 3174 | lr_mult: 1 3175 | decay_mult: 0 3176 | } 3177 | param { 3178 | lr_mult: 1 3179 | decay_mult: 0 3180 | } 3181 | scale_param { 3182 | bias_term: true 3183 | } 3184 | } 3185 | layer { 3186 | name: "relu6_3/expand" 3187 | type: "ReLU" 3188 | bottom: "conv6_3/expand/bn" 3189 | top: "conv6_3/expand/bn" 3190 | } 3191 | layer { 3192 | name: "conv6_3/dwise" 3193 | type: "Convolution" 3194 | bottom: "conv6_3/expand/bn" 3195 | top: "conv6_3/dwise" 3196 | param { 3197 | lr_mult: 1 3198 | decay_mult: 1 3199 | } 3200 | convolution_param { 3201 | num_output: 960 3202 | bias_term: false 3203 | pad: 1 3204 | kernel_size: 3 3205 | group: 960 3206 | weight_filler { 3207 | type: "msra" 3208 | } 3209 | engine: CAFFE 3210 | } 3211 | } 3212 | layer { 3213 | name: "conv6_3/dwise/bn" 3214 | type: "BatchNorm" 3215 | bottom: "conv6_3/dwise" 3216 | top: "conv6_3/dwise/bn" 3217 | param { 3218 | lr_mult: 0 3219 | decay_mult: 0 3220 | } 3221 | param { 3222 | lr_mult: 0 3223 | decay_mult: 0 3224 | } 3225 | param { 3226 | lr_mult: 0 3227 | decay_mult: 0 3228 | } 3229 | batch_norm_param { 3230 | use_global_stats: true 3231 | eps: 1e-5 3232 | } 3233 | } 3234 | layer { 3235 | name: "conv6_3/dwise/scale" 3236 | type: "Scale" 3237 | bottom: "conv6_3/dwise/bn" 3238 | top: "conv6_3/dwise/bn" 3239 | param { 3240 | lr_mult: 1 3241 | decay_mult: 0 3242 | } 3243 | param { 3244 | lr_mult: 1 3245 | decay_mult: 0 3246 | } 3247 | scale_param { 3248 | bias_term: true 3249 | } 3250 | } 3251 | layer { 3252 | name: "relu6_3/dwise" 3253 | type: "ReLU" 3254 | bottom: "conv6_3/dwise/bn" 3255 | top: "conv6_3/dwise/bn" 3256 | } 3257 | layer { 3258 | name: "conv6_3/linear" 3259 | type: "Convolution" 3260 | bottom: "conv6_3/dwise/bn" 3261 | top: "conv6_3/linear" 3262 | param { 3263 | lr_mult: 1 3264 | decay_mult: 1 3265 | } 3266 | convolution_param { 3267 | num_output: 320 3268 | bias_term: false 3269 | kernel_size: 1 3270 | weight_filler { 3271 | type: "msra" 3272 | } 3273 | } 3274 | } 3275 | layer { 3276 | name: "conv6_3/linear/bn" 3277 | type: "BatchNorm" 3278 | bottom: "conv6_3/linear" 3279 | top: "conv6_3/linear/bn" 3280 | param { 3281 | lr_mult: 0 3282 | decay_mult: 0 3283 | } 3284 | param { 3285 | lr_mult: 0 3286 | decay_mult: 0 3287 | } 3288 | param { 3289 | lr_mult: 0 3290 | decay_mult: 0 3291 | } 3292 | batch_norm_param { 3293 | use_global_stats: true 3294 | eps: 1e-5 3295 | } 3296 | } 3297 | layer { 3298 | name: "conv6_3/linear/scale" 3299 | type: "Scale" 3300 | bottom: "conv6_3/linear/bn" 3301 | top: "conv6_3/linear/bn" 3302 | param { 3303 | lr_mult: 1 3304 | decay_mult: 0 3305 | } 3306 | param { 3307 | lr_mult: 1 3308 | decay_mult: 0 3309 | } 3310 | scale_param { 3311 | bias_term: true 3312 | } 3313 | } 3314 | layer { 3315 | name: "conv6_4" 3316 | type: "Convolution" 3317 | bottom: "conv6_3/linear/bn" 3318 | top: "conv6_4" 3319 | param { 3320 | lr_mult: 1 3321 | decay_mult: 1 3322 | } 3323 | convolution_param { 3324 | num_output: 1280 3325 | bias_term: false 3326 | kernel_size: 1 3327 | weight_filler { 3328 | type: "msra" 3329 | } 3330 | } 3331 | } 3332 | layer { 3333 | name: "conv6_4/bn" 3334 | type: "BatchNorm" 3335 | bottom: "conv6_4" 3336 | top: "conv6_4/bn" 3337 | param { 3338 | lr_mult: 0 3339 | decay_mult: 0 3340 | } 3341 | param { 3342 | lr_mult: 0 3343 | decay_mult: 0 3344 | } 3345 | param { 3346 | lr_mult: 0 3347 | decay_mult: 0 3348 | } 3349 | batch_norm_param { 3350 | use_global_stats: true 3351 | eps: 1e-5 3352 | } 3353 | } 3354 | layer { 3355 | name: "conv6_4/scale" 3356 | type: "Scale" 3357 | bottom: "conv6_4/bn" 3358 | top: "conv6_4/bn" 3359 | param { 3360 | lr_mult: 1 3361 | decay_mult: 0 3362 | } 3363 | param { 3364 | lr_mult: 1 3365 | decay_mult: 0 3366 | } 3367 | scale_param { 3368 | bias_term: true 3369 | } 3370 | } 3371 | layer { 3372 | name: "relu6_4" 3373 | type: "ReLU" 3374 | bottom: "conv6_4/bn" 3375 | top: "conv6_4/bn" 3376 | } 3377 | layer { 3378 | name: "pool6" 3379 | type: "Pooling" 3380 | bottom: "conv6_4/bn" 3381 | top: "pool6" 3382 | pooling_param { 3383 | pool: AVE 3384 | global_pooling: true 3385 | } 3386 | } 3387 | layer { 3388 | name: "fc7" 3389 | type: "Convolution" 3390 | bottom: "pool6" 3391 | top: "fc7" 3392 | param { 3393 | lr_mult: 1 3394 | decay_mult: 1 3395 | } 3396 | param { 3397 | lr_mult: 2 3398 | decay_mult: 0 3399 | } 3400 | convolution_param { 3401 | num_output: 1000 3402 | kernel_size: 1 3403 | weight_filler { 3404 | type: "msra" 3405 | } 3406 | bias_filler { 3407 | type: "constant" 3408 | value: 0 3409 | } 3410 | } 3411 | } 3412 | layer { 3413 | name: "prob" 3414 | type: "Softmax" 3415 | bottom: "fc7" 3416 | top: "prob" 3417 | } -------------------------------------------------------------------------------- /synset.txt: -------------------------------------------------------------------------------- 1 | 'n01440764 tench, Tinca tinca' 2 | 'n01443537 goldfish, Carassius auratus' 3 | 'n01484850 great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias' 4 | 'n01491361 tiger shark, Galeocerdo cuvieri' 5 | 'n01494475 hammerhead, hammerhead shark' 6 | 'n01496331 electric ray, crampfish, numbfish, torpedo' 7 | 'n01498041 stingray' 8 | 'n01514668 cock' 9 | 'n01514859 hen' 10 | 'n01518878 ostrich, Struthio camelus' 11 | 'n01530575 brambling, Fringilla montifringilla' 12 | 'n01531178 goldfinch, Carduelis carduelis' 13 | 'n01532829 house finch, linnet, Carpodacus mexicanus' 14 | 'n01534433 junco, snowbird' 15 | 'n01537544 indigo bunting, indigo finch, indigo bird, Passerina cyanea' 16 | 'n01558993 robin, American robin, Turdus migratorius' 17 | 'n01560419 bulbul' 18 | 'n01580077 jay' 19 | 'n01582220 magpie' 20 | 'n01592084 chickadee' 21 | 'n01601694 water ouzel, dipper' 22 | 'n01608432 kite' 23 | 'n01614925 bald eagle, American eagle, Haliaeetus leucocephalus' 24 | 'n01616318 vulture' 25 | 'n01622779 great grey owl, great gray owl, Strix nebulosa' 26 | 'n01629819 European fire salamander, Salamandra salamandra' 27 | 'n01630670 common newt, Triturus vulgaris' 28 | 'n01631663 eft' 29 | 'n01632458 spotted salamander, Ambystoma maculatum' 30 | 'n01632777 axolotl, mud puppy, Ambystoma mexicanum' 31 | 'n01641577 bullfrog, Rana catesbeiana' 32 | 'n01644373 tree frog, tree-frog' 33 | 'n01644900 tailed frog, bell toad, ribbed toad, tailed toad, Ascaphus trui' 34 | 'n01664065 loggerhead, loggerhead turtle, Caretta caretta' 35 | 'n01665541 leatherback turtle, leatherback, leathery turtle, Dermochelys coriacea' 36 | 'n01667114 mud turtle' 37 | 'n01667778 terrapin' 38 | 'n01669191 box turtle, box tortoise' 39 | 'n01675722 banded gecko' 40 | 'n01677366 common iguana, iguana, Iguana iguana' 41 | 'n01682714 American chameleon, anole, Anolis carolinensis' 42 | 'n01685808 whiptail, whiptail lizard' 43 | 'n01687978 agama' 44 | 'n01688243 frilled lizard, Chlamydosaurus kingi' 45 | 'n01689811 alligator lizard' 46 | 'n01692333 Gila monster, Heloderma suspectum' 47 | 'n01693334 green lizard, Lacerta viridis' 48 | 'n01694178 African chameleon, Chamaeleo chamaeleon' 49 | 'n01695060 Komodo dragon, Komodo lizard, dragon lizard, giant lizard, Varanus komodoensis' 50 | 'n01697457 African crocodile, Nile crocodile, Crocodylus niloticus' 51 | 'n01698640 American alligator, Alligator mississipiensis' 52 | 'n01704323 triceratops' 53 | 'n01728572 thunder snake, worm snake, Carphophis amoenus' 54 | 'n01728920 ringneck snake, ring-necked snake, ring snake' 55 | 'n01729322 hognose snake, puff adder, sand viper' 56 | 'n01729977 green snake, grass snake' 57 | 'n01734418 king snake, kingsnake' 58 | 'n01735189 garter snake, grass snake' 59 | 'n01737021 water snake' 60 | 'n01739381 vine snake' 61 | 'n01740131 night snake, Hypsiglena torquata' 62 | 'n01742172 boa constrictor, Constrictor constrictor' 63 | 'n01744401 rock python, rock snake, Python sebae' 64 | 'n01748264 Indian cobra, Naja naja' 65 | 'n01749939 green mamba' 66 | 'n01751748 sea snake' 67 | 'n01753488 horned viper, cerastes, sand viper, horned asp, Cerastes cornutus' 68 | 'n01755581 diamondback, diamondback rattlesnake, Crotalus adamanteus' 69 | 'n01756291 sidewinder, horned rattlesnake, Crotalus cerastes' 70 | 'n01768244 trilobite' 71 | 'n01770081 harvestman, daddy longlegs, Phalangium opilio' 72 | 'n01770393 scorpion' 73 | 'n01773157 black and gold garden spider, Argiope aurantia' 74 | 'n01773549 barn spider, Araneus cavaticus' 75 | 'n01773797 garden spider, Aranea diademata' 76 | 'n01774384 black widow, Latrodectus mactans' 77 | 'n01774750 tarantula' 78 | 'n01775062 wolf spider, hunting spider' 79 | 'n01776313 tick' 80 | 'n01784675 centipede' 81 | 'n01795545 black grouse' 82 | 'n01796340 ptarmigan' 83 | 'n01797886 ruffed grouse, partridge, Bonasa umbellus' 84 | 'n01798484 prairie chicken, prairie grouse, prairie fowl' 85 | 'n01806143 peacock' 86 | 'n01806567 quail' 87 | 'n01807496 partridge' 88 | 'n01817953 African grey, African gray, Psittacus erithacus' 89 | 'n01818515 macaw' 90 | 'n01819313 sulphur-crested cockatoo, Kakatoe galerita, Cacatua galerita' 91 | 'n01820546 lorikeet' 92 | 'n01824575 coucal' 93 | 'n01828970 bee eater' 94 | 'n01829413 hornbill' 95 | 'n01833805 hummingbird' 96 | 'n01843065 jacamar' 97 | 'n01843383 toucan' 98 | 'n01847000 drake' 99 | 'n01855032 red-breasted merganser, Mergus serrator' 100 | 'n01855672 goose' 101 | 'n01860187 black swan, Cygnus atratus' 102 | 'n01871265 tusker' 103 | 'n01872401 echidna, spiny anteater, anteater' 104 | 'n01873310 platypus, duckbill, duckbilled platypus, duck-billed platypus, Ornithorhynchus anatinus' 105 | 'n01877812 wallaby, brush kangaroo' 106 | 'n01882714 koala, koala bear, kangaroo bear, native bear, Phascolarctos cinereus' 107 | 'n01883070 wombat' 108 | 'n01910747 jellyfish' 109 | 'n01914609 sea anemone, anemone' 110 | 'n01917289 brain coral' 111 | 'n01924916 flatworm, platyhelminth' 112 | 'n01930112 nematode, nematode worm, roundworm' 113 | 'n01943899 conch' 114 | 'n01944390 snail' 115 | 'n01945685 slug' 116 | 'n01950731 sea slug, nudibranch' 117 | 'n01955084 chiton, coat-of-mail shell, sea cradle, polyplacophore' 118 | 'n01968897 chambered nautilus, pearly nautilus, nautilus' 119 | 'n01978287 Dungeness crab, Cancer magister' 120 | 'n01978455 rock crab, Cancer irroratus' 121 | 'n01980166 fiddler crab' 122 | 'n01981276 king crab, Alaska crab, Alaskan king crab, Alaska king crab, Paralithodes camtschatica' 123 | 'n01983481 American lobster, Northern lobster, Maine lobster, Homarus americanus' 124 | 'n01984695 spiny lobster, langouste, rock lobster, crawfish, crayfish, sea crawfish' 125 | 'n01985128 crayfish, crawfish, crawdad, crawdaddy' 126 | 'n01986214 hermit crab' 127 | 'n01990800 isopod' 128 | 'n02002556 white stork, Ciconia ciconia' 129 | 'n02002724 black stork, Ciconia nigra' 130 | 'n02006656 spoonbill' 131 | 'n02007558 flamingo' 132 | 'n02009229 little blue heron, Egretta caerulea' 133 | 'n02009912 American egret, great white heron, Egretta albus' 134 | 'n02011460 bittern' 135 | 'n02012849 crane' 136 | 'n02013706 limpkin, Aramus pictus' 137 | 'n02017213 European gallinule, Porphyrio porphyrio' 138 | 'n02018207 American coot, marsh hen, mud hen, water hen, Fulica americana' 139 | 'n02018795 bustard' 140 | 'n02025239 ruddy turnstone, Arenaria interpres' 141 | 'n02027492 red-backed sandpiper, dunlin, Erolia alpina' 142 | 'n02028035 redshank, Tringa totanus' 143 | 'n02033041 dowitcher' 144 | 'n02037110 oystercatcher, oyster catcher' 145 | 'n02051845 pelican' 146 | 'n02056570 king penguin, Aptenodytes patagonica' 147 | 'n02058221 albatross, mollymawk' 148 | 'n02066245 grey whale, gray whale, devilfish, Eschrichtius gibbosus, Eschrichtius robustus' 149 | 'n02071294 killer whale, killer, orca, grampus, sea wolf, Orcinus orca' 150 | 'n02074367 dugong, Dugong dugon' 151 | 'n02077923 sea lion' 152 | 'n02085620 Chihuahua' 153 | 'n02085782 Japanese spaniel' 154 | 'n02085936 Maltese dog, Maltese terrier, Maltese' 155 | 'n02086079 Pekinese, Pekingese, Peke' 156 | 'n02086240 Shih-Tzu' 157 | 'n02086646 Blenheim spaniel' 158 | 'n02086910 papillon' 159 | 'n02087046 toy terrier' 160 | 'n02087394 Rhodesian ridgeback' 161 | 'n02088094 Afghan hound, Afghan' 162 | 'n02088238 basset, basset hound' 163 | 'n02088364 beagle' 164 | 'n02088466 bloodhound, sleuthhound' 165 | 'n02088632 bluetick' 166 | 'n02089078 black-and-tan coonhound' 167 | 'n02089867 Walker hound, Walker foxhound' 168 | 'n02089973 English foxhound' 169 | 'n02090379 redbone' 170 | 'n02090622 borzoi, Russian wolfhound' 171 | 'n02090721 Irish wolfhound' 172 | 'n02091032 Italian greyhound' 173 | 'n02091134 whippet' 174 | 'n02091244 Ibizan hound, Ibizan Podenco' 175 | 'n02091467 Norwegian elkhound, elkhound' 176 | 'n02091635 otterhound, otter hound' 177 | 'n02091831 Saluki, gazelle hound' 178 | 'n02092002 Scottish deerhound, deerhound' 179 | 'n02092339 Weimaraner' 180 | 'n02093256 Staffordshire bullterrier, Staffordshire bull terrier' 181 | 'n02093428 American Staffordshire terrier, Staffordshire terrier, American pit bull terrier, pit bull terrier' 182 | 'n02093647 Bedlington terrier' 183 | 'n02093754 Border terrier' 184 | 'n02093859 Kerry blue terrier' 185 | 'n02093991 Irish terrier' 186 | 'n02094114 Norfolk terrier' 187 | 'n02094258 Norwich terrier' 188 | 'n02094433 Yorkshire terrier' 189 | 'n02095314 wire-haired fox terrier' 190 | 'n02095570 Lakeland terrier' 191 | 'n02095889 Sealyham terrier, Sealyham' 192 | 'n02096051 Airedale, Airedale terrier' 193 | 'n02096177 cairn, cairn terrier' 194 | 'n02096294 Australian terrier' 195 | 'n02096437 Dandie Dinmont, Dandie Dinmont terrier' 196 | 'n02096585 Boston bull, Boston terrier' 197 | 'n02097047 miniature schnauzer' 198 | 'n02097130 giant schnauzer' 199 | 'n02097209 standard schnauzer' 200 | 'n02097298 Scotch terrier, Scottish terrier, Scottie' 201 | 'n02097474 Tibetan terrier, chrysanthemum dog' 202 | 'n02097658 silky terrier, Sydney silky' 203 | 'n02098105 soft-coated wheaten terrier' 204 | 'n02098286 West Highland white terrier' 205 | 'n02098413 Lhasa, Lhasa apso' 206 | 'n02099267 flat-coated retriever' 207 | 'n02099429 curly-coated retriever' 208 | 'n02099601 golden retriever' 209 | 'n02099712 Labrador retriever' 210 | 'n02099849 Chesapeake Bay retriever' 211 | 'n02100236 German short-haired pointer' 212 | 'n02100583 vizsla, Hungarian pointer' 213 | 'n02100735 English setter' 214 | 'n02100877 Irish setter, red setter' 215 | 'n02101006 Gordon setter' 216 | 'n02101388 Brittany spaniel' 217 | 'n02101556 clumber, clumber spaniel' 218 | 'n02102040 English springer, English springer spaniel' 219 | 'n02102177 Welsh springer spaniel' 220 | 'n02102318 cocker spaniel, English cocker spaniel, cocker' 221 | 'n02102480 Sussex spaniel' 222 | 'n02102973 Irish water spaniel' 223 | 'n02104029 kuvasz' 224 | 'n02104365 schipperke' 225 | 'n02105056 groenendael' 226 | 'n02105162 malinois' 227 | 'n02105251 briard' 228 | 'n02105412 kelpie' 229 | 'n02105505 komondor' 230 | 'n02105641 Old English sheepdog, bobtail' 231 | 'n02105855 Shetland sheepdog, Shetland sheep dog, Shetland' 232 | 'n02106030 collie' 233 | 'n02106166 Border collie' 234 | 'n02106382 Bouvier des Flandres, Bouviers des Flandres' 235 | 'n02106550 Rottweiler' 236 | 'n02106662 German shepherd, German shepherd dog, German police dog, alsatian' 237 | 'n02107142 Doberman, Doberman pinscher' 238 | 'n02107312 miniature pinscher' 239 | 'n02107574 Greater Swiss Mountain dog' 240 | 'n02107683 Bernese mountain dog' 241 | 'n02107908 Appenzeller' 242 | 'n02108000 EntleBucher' 243 | 'n02108089 boxer' 244 | 'n02108422 bull mastiff' 245 | 'n02108551 Tibetan mastiff' 246 | 'n02108915 French bulldog' 247 | 'n02109047 Great Dane' 248 | 'n02109525 Saint Bernard, St Bernard' 249 | 'n02109961 Eskimo dog, husky' 250 | 'n02110063 malamute, malemute, Alaskan malamute' 251 | 'n02110185 Siberian husky' 252 | 'n02110341 dalmatian, coach dog, carriage dog' 253 | 'n02110627 affenpinscher, monkey pinscher, monkey dog' 254 | 'n02110806 basenji' 255 | 'n02110958 pug, pug-dog' 256 | 'n02111129 Leonberg' 257 | 'n02111277 Newfoundland, Newfoundland dog' 258 | 'n02111500 Great Pyrenees' 259 | 'n02111889 Samoyed, Samoyede' 260 | 'n02112018 Pomeranian' 261 | 'n02112137 chow, chow chow' 262 | 'n02112350 keeshond' 263 | 'n02112706 Brabancon griffon' 264 | 'n02113023 Pembroke, Pembroke Welsh corgi' 265 | 'n02113186 Cardigan, Cardigan Welsh corgi' 266 | 'n02113624 toy poodle' 267 | 'n02113712 miniature poodle' 268 | 'n02113799 standard poodle' 269 | 'n02113978 Mexican hairless' 270 | 'n02114367 timber wolf, grey wolf, gray wolf, Canis lupus' 271 | 'n02114548 white wolf, Arctic wolf, Canis lupus tundrarum' 272 | 'n02114712 red wolf, maned wolf, Canis rufus, Canis niger' 273 | 'n02114855 coyote, prairie wolf, brush wolf, Canis latrans' 274 | 'n02115641 dingo, warrigal, warragal, Canis dingo' 275 | 'n02115913 dhole, Cuon alpinus' 276 | 'n02116738 African hunting dog, hyena dog, Cape hunting dog, Lycaon pictus' 277 | 'n02117135 hyena, hyaena' 278 | 'n02119022 red fox, Vulpes vulpes' 279 | 'n02119789 kit fox, Vulpes macrotis' 280 | 'n02120079 Arctic fox, white fox, Alopex lagopus' 281 | 'n02120505 grey fox, gray fox, Urocyon cinereoargenteus' 282 | 'n02123045 tabby, tabby cat' 283 | 'n02123159 tiger cat' 284 | 'n02123394 Persian cat' 285 | 'n02123597 Siamese cat, Siamese' 286 | 'n02124075 Egyptian cat' 287 | 'n02125311 cougar, puma, catamount, mountain lion, painter, panther, Felis concolor' 288 | 'n02127052 lynx, catamount' 289 | 'n02128385 leopard, Panthera pardus' 290 | 'n02128757 snow leopard, ounce, Panthera uncia' 291 | 'n02128925 jaguar, panther, Panthera onca, Felis onca' 292 | 'n02129165 lion, king of beasts, Panthera leo' 293 | 'n02129604 tiger, Panthera tigris' 294 | 'n02130308 cheetah, chetah, Acinonyx jubatus' 295 | 'n02132136 brown bear, bruin, Ursus arctos' 296 | 'n02133161 American black bear, black bear, Ursus americanus, Euarctos americanus' 297 | 'n02134084 ice bear, polar bear, Ursus Maritimus, Thalarctos maritimus' 298 | 'n02134418 sloth bear, Melursus ursinus, Ursus ursinus' 299 | 'n02137549 mongoose' 300 | 'n02138441 meerkat, mierkat' 301 | 'n02165105 tiger beetle' 302 | 'n02165456 ladybug, ladybeetle, lady beetle, ladybird, ladybird beetle' 303 | 'n02167151 ground beetle, carabid beetle' 304 | 'n02168699 long-horned beetle, longicorn, longicorn beetle' 305 | 'n02169497 leaf beetle, chrysomelid' 306 | 'n02172182 dung beetle' 307 | 'n02174001 rhinoceros beetle' 308 | 'n02177972 weevil' 309 | 'n02190166 fly' 310 | 'n02206856 bee' 311 | 'n02219486 ant, emmet, pismire' 312 | 'n02226429 grasshopper, hopper' 313 | 'n02229544 cricket' 314 | 'n02231487 walking stick, walkingstick, stick insect' 315 | 'n02233338 cockroach, roach' 316 | 'n02236044 mantis, mantid' 317 | 'n02256656 cicada, cicala' 318 | 'n02259212 leafhopper' 319 | 'n02264363 lacewing, lacewing fly' 320 | 'n02268443 dragonfly, darning needle, devil''s darning needle, sewing needle, snake feeder, snake doctor, mosquito hawk, skeeter hawk' 321 | 'n02268853 damselfly' 322 | 'n02276258 admiral' 323 | 'n02277742 ringlet, ringlet butterfly' 324 | 'n02279972 monarch, monarch butterfly, milkweed butterfly, Danaus plexippus' 325 | 'n02280649 cabbage butterfly' 326 | 'n02281406 sulphur butterfly, sulfur butterfly' 327 | 'n02281787 lycaenid, lycaenid butterfly' 328 | 'n02317335 starfish, sea star' 329 | 'n02319095 sea urchin' 330 | 'n02321529 sea cucumber, holothurian' 331 | 'n02325366 wood rabbit, cottontail, cottontail rabbit' 332 | 'n02326432 hare' 333 | 'n02328150 Angora, Angora rabbit' 334 | 'n02342885 hamster' 335 | 'n02346627 porcupine, hedgehog' 336 | 'n02356798 fox squirrel, eastern fox squirrel, Sciurus niger' 337 | 'n02361337 marmot' 338 | 'n02363005 beaver' 339 | 'n02364673 guinea pig, Cavia cobaya' 340 | 'n02389026 sorrel' 341 | 'n02391049 zebra' 342 | 'n02395406 hog, pig, grunter, squealer, Sus scrofa' 343 | 'n02396427 wild boar, boar, Sus scrofa' 344 | 'n02397096 warthog' 345 | 'n02398521 hippopotamus, hippo, river horse, Hippopotamus amphibius' 346 | 'n02403003 ox' 347 | 'n02408429 water buffalo, water ox, Asiatic buffalo, Bubalus bubalis' 348 | 'n02410509 bison' 349 | 'n02412080 ram, tup' 350 | 'n02415577 bighorn, bighorn sheep, cimarron, Rocky Mountain bighorn, Rocky Mountain sheep, Ovis canadensis' 351 | 'n02417914 ibex, Capra ibex' 352 | 'n02422106 hartebeest' 353 | 'n02422699 impala, Aepyceros melampus' 354 | 'n02423022 gazelle' 355 | 'n02437312 Arabian camel, dromedary, Camelus dromedarius' 356 | 'n02437616 llama' 357 | 'n02441942 weasel' 358 | 'n02442845 mink' 359 | 'n02443114 polecat, fitch, foulmart, foumart, Mustela putorius' 360 | 'n02443484 black-footed ferret, ferret, Mustela nigripes' 361 | 'n02444819 otter' 362 | 'n02445715 skunk, polecat, wood pussy' 363 | 'n02447366 badger' 364 | 'n02454379 armadillo' 365 | 'n02457408 three-toed sloth, ai, Bradypus tridactylus' 366 | 'n02480495 orangutan, orang, orangutang, Pongo pygmaeus' 367 | 'n02480855 gorilla, Gorilla gorilla' 368 | 'n02481823 chimpanzee, chimp, Pan troglodytes' 369 | 'n02483362 gibbon, Hylobates lar' 370 | 'n02483708 siamang, Hylobates syndactylus, Symphalangus syndactylus' 371 | 'n02484975 guenon, guenon monkey' 372 | 'n02486261 patas, hussar monkey, Erythrocebus patas' 373 | 'n02486410 baboon' 374 | 'n02487347 macaque' 375 | 'n02488291 langur' 376 | 'n02488702 colobus, colobus monkey' 377 | 'n02489166 proboscis monkey, Nasalis larvatus' 378 | 'n02490219 marmoset' 379 | 'n02492035 capuchin, ringtail, Cebus capucinus' 380 | 'n02492660 howler monkey, howler' 381 | 'n02493509 titi, titi monkey' 382 | 'n02493793 spider monkey, Ateles geoffroyi' 383 | 'n02494079 squirrel monkey, Saimiri sciureus' 384 | 'n02497673 Madagascar cat, ring-tailed lemur, Lemur catta' 385 | 'n02500267 indri, indris, Indri indri, Indri brevicaudatus' 386 | 'n02504013 Indian elephant, Elephas maximus' 387 | 'n02504458 African elephant, Loxodonta africana' 388 | 'n02509815 lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens' 389 | 'n02510455 giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca' 390 | 'n02514041 barracouta, snoek' 391 | 'n02526121 eel' 392 | 'n02536864 coho, cohoe, coho salmon, blue jack, silver salmon, Oncorhynchus kisutch' 393 | 'n02606052 rock beauty, Holocanthus tricolor' 394 | 'n02607072 anemone fish' 395 | 'n02640242 sturgeon' 396 | 'n02641379 gar, garfish, garpike, billfish, Lepisosteus osseus' 397 | 'n02643566 lionfish' 398 | 'n02655020 puffer, pufferfish, blowfish, globefish' 399 | 'n02666196 abacus' 400 | 'n02667093 abaya' 401 | 'n02669723 academic gown, academic robe, judge''s robe' 402 | 'n02672831 accordion, piano accordion, squeeze box' 403 | 'n02676566 acoustic guitar' 404 | 'n02687172 aircraft carrier, carrier, flattop, attack aircraft carrier' 405 | 'n02690373 airliner' 406 | 'n02692877 airship, dirigible' 407 | 'n02699494 altar' 408 | 'n02701002 ambulance' 409 | 'n02704792 amphibian, amphibious vehicle' 410 | 'n02708093 analog clock' 411 | 'n02727426 apiary, bee house' 412 | 'n02730930 apron' 413 | 'n02747177 ashcan, trash can, garbage can, wastebin, ash bin, ash-bin, ashbin, dustbin, trash barrel, trash bin' 414 | 'n02749479 assault rifle, assault gun' 415 | 'n02769748 backpack, back pack, knapsack, packsack, rucksack, haversack' 416 | 'n02776631 bakery, bakeshop, bakehouse' 417 | 'n02777292 balance beam, beam' 418 | 'n02782093 balloon' 419 | 'n02783161 ballpoint, ballpoint pen, ballpen, Biro' 420 | 'n02786058 Band Aid' 421 | 'n02787622 banjo' 422 | 'n02788148 bannister, banister, balustrade, balusters, handrail' 423 | 'n02790996 barbell' 424 | 'n02791124 barber chair' 425 | 'n02791270 barbershop' 426 | 'n02793495 barn' 427 | 'n02794156 barometer' 428 | 'n02795169 barrel, cask' 429 | 'n02797295 barrow, garden cart, lawn cart, wheelbarrow' 430 | 'n02799071 baseball' 431 | 'n02802426 basketball' 432 | 'n02804414 bassinet' 433 | 'n02804610 bassoon' 434 | 'n02807133 bathing cap, swimming cap' 435 | 'n02808304 bath towel' 436 | 'n02808440 bathtub, bathing tub, bath, tub' 437 | 'n02814533 beach wagon, station wagon, wagon, estate car, beach waggon, station waggon, waggon' 438 | 'n02814860 beacon, lighthouse, beacon light, pharos' 439 | 'n02815834 beaker' 440 | 'n02817516 bearskin, busby, shako' 441 | 'n02823428 beer bottle' 442 | 'n02823750 beer glass' 443 | 'n02825657 bell cote, bell cot' 444 | 'n02834397 bib' 445 | 'n02835271 bicycle-built-for-two, tandem bicycle, tandem' 446 | 'n02837789 bikini, two-piece' 447 | 'n02840245 binder, ring-binder' 448 | 'n02841315 binoculars, field glasses, opera glasses' 449 | 'n02843684 birdhouse' 450 | 'n02859443 boathouse' 451 | 'n02860847 bobsled, bobsleigh, bob' 452 | 'n02865351 bolo tie, bolo, bola tie, bola' 453 | 'n02869837 bonnet, poke bonnet' 454 | 'n02870880 bookcase' 455 | 'n02871525 bookshop, bookstore, bookstall' 456 | 'n02877765 bottlecap' 457 | 'n02879718 bow' 458 | 'n02883205 bow tie, bow-tie, bowtie' 459 | 'n02892201 brass, memorial tablet, plaque' 460 | 'n02892767 brassiere, bra, bandeau' 461 | 'n02894605 breakwater, groin, groyne, mole, bulwark, seawall, jetty' 462 | 'n02895154 breastplate, aegis, egis' 463 | 'n02906734 broom' 464 | 'n02909870 bucket, pail' 465 | 'n02910353 buckle' 466 | 'n02916936 bulletproof vest' 467 | 'n02917067 bullet train, bullet' 468 | 'n02927161 butcher shop, meat market' 469 | 'n02930766 cab, hack, taxi, taxicab' 470 | 'n02939185 caldron, cauldron' 471 | 'n02948072 candle, taper, wax light' 472 | 'n02950826 cannon' 473 | 'n02951358 canoe' 474 | 'n02951585 can opener, tin opener' 475 | 'n02963159 cardigan' 476 | 'n02965783 car mirror' 477 | 'n02966193 carousel, carrousel, merry-go-round, roundabout, whirligig' 478 | 'n02966687 carpenter''s kit, tool kit' 479 | 'n02971356 carton' 480 | 'n02974003 car wheel' 481 | 'n02977058 cash machine, cash dispenser, automated teller machine, automatic teller machine, automated teller, automatic teller, ATM' 482 | 'n02978881 cassette' 483 | 'n02979186 cassette player' 484 | 'n02980441 castle' 485 | 'n02981792 catamaran' 486 | 'n02988304 CD player' 487 | 'n02992211 cello, violoncello' 488 | 'n02992529 cellular telephone, cellular phone, cellphone, cell, mobile phone' 489 | 'n02999410 chain' 490 | 'n03000134 chainlink fence' 491 | 'n03000247 chain mail, ring mail, mail, chain armor, chain armour, ring armor, ring armour' 492 | 'n03000684 chain saw, chainsaw' 493 | 'n03014705 chest' 494 | 'n03016953 chiffonier, commode' 495 | 'n03017168 chime, bell, gong' 496 | 'n03018349 china cabinet, china closet' 497 | 'n03026506 Christmas stocking' 498 | 'n03028079 church, church building' 499 | 'n03032252 cinema, movie theater, movie theatre, movie house, picture palace' 500 | 'n03041632 cleaver, meat cleaver, chopper' 501 | 'n03042490 cliff dwelling' 502 | 'n03045698 cloak' 503 | 'n03047690 clog, geta, patten, sabot' 504 | 'n03062245 cocktail shaker' 505 | 'n03063599 coffee mug' 506 | 'n03063689 coffeepot' 507 | 'n03065424 coil, spiral, volute, whorl, helix' 508 | 'n03075370 combination lock' 509 | 'n03085013 computer keyboard, keypad' 510 | 'n03089624 confectionery, confectionary, candy store' 511 | 'n03095699 container ship, containership, container vessel' 512 | 'n03100240 convertible' 513 | 'n03109150 corkscrew, bottle screw' 514 | 'n03110669 cornet, horn, trumpet, trump' 515 | 'n03124043 cowboy boot' 516 | 'n03124170 cowboy hat, ten-gallon hat' 517 | 'n03125729 cradle' 518 | 'n03126707 crane' 519 | 'n03127747 crash helmet' 520 | 'n03127925 crate' 521 | 'n03131574 crib, cot' 522 | 'n03133878 Crock Pot' 523 | 'n03134739 croquet ball' 524 | 'n03141823 crutch' 525 | 'n03146219 cuirass' 526 | 'n03160309 dam, dike, dyke' 527 | 'n03179701 desk' 528 | 'n03180011 desktop computer' 529 | 'n03187595 dial telephone, dial phone' 530 | 'n03188531 diaper, nappy, napkin' 531 | 'n03196217 digital clock' 532 | 'n03197337 digital watch' 533 | 'n03201208 dining table, board' 534 | 'n03207743 dishrag, dishcloth' 535 | 'n03207941 dishwasher, dish washer, dishwashing machine' 536 | 'n03208938 disk brake, disc brake' 537 | 'n03216828 dock, dockage, docking facility' 538 | 'n03218198 dogsled, dog sled, dog sleigh' 539 | 'n03220513 dome' 540 | 'n03223299 doormat, welcome mat' 541 | 'n03240683 drilling platform, offshore rig' 542 | 'n03249569 drum, membranophone, tympan' 543 | 'n03250847 drumstick' 544 | 'n03255030 dumbbell' 545 | 'n03259280 Dutch oven' 546 | 'n03271574 electric fan, blower' 547 | 'n03272010 electric guitar' 548 | 'n03272562 electric locomotive' 549 | 'n03290653 entertainment center' 550 | 'n03291819 envelope' 551 | 'n03297495 espresso maker' 552 | 'n03314780 face powder' 553 | 'n03325584 feather boa, boa' 554 | 'n03337140 file, file cabinet, filing cabinet' 555 | 'n03344393 fireboat' 556 | 'n03345487 fire engine, fire truck' 557 | 'n03347037 fire screen, fireguard' 558 | 'n03355925 flagpole, flagstaff' 559 | 'n03372029 flute, transverse flute' 560 | 'n03376595 folding chair' 561 | 'n03379051 football helmet' 562 | 'n03384352 forklift' 563 | 'n03388043 fountain' 564 | 'n03388183 fountain pen' 565 | 'n03388549 four-poster' 566 | 'n03393912 freight car' 567 | 'n03394916 French horn, horn' 568 | 'n03400231 frying pan, frypan, skillet' 569 | 'n03404251 fur coat' 570 | 'n03417042 garbage truck, dustcart' 571 | 'n03424325 gasmask, respirator, gas helmet' 572 | 'n03425413 gas pump, gasoline pump, petrol pump, island dispenser' 573 | 'n03443371 goblet' 574 | 'n03444034 go-kart' 575 | 'n03445777 golf ball' 576 | 'n03445924 golfcart, golf cart' 577 | 'n03447447 gondola' 578 | 'n03447721 gong, tam-tam' 579 | 'n03450230 gown' 580 | 'n03452741 grand piano, grand' 581 | 'n03457902 greenhouse, nursery, glasshouse' 582 | 'n03459775 grille, radiator grille' 583 | 'n03461385 grocery store, grocery, food market, market' 584 | 'n03467068 guillotine' 585 | 'n03476684 hair slide' 586 | 'n03476991 hair spray' 587 | 'n03478589 half track' 588 | 'n03481172 hammer' 589 | 'n03482405 hamper' 590 | 'n03483316 hand blower, blow dryer, blow drier, hair dryer, hair drier' 591 | 'n03485407 hand-held computer, hand-held microcomputer' 592 | 'n03485794 handkerchief, hankie, hanky, hankey' 593 | 'n03492542 hard disc, hard disk, fixed disk' 594 | 'n03494278 harmonica, mouth organ, harp, mouth harp' 595 | 'n03495258 harp' 596 | 'n03496892 harvester, reaper' 597 | 'n03498962 hatchet' 598 | 'n03527444 holster' 599 | 'n03529860 home theater, home theatre' 600 | 'n03530642 honeycomb' 601 | 'n03532672 hook, claw' 602 | 'n03534580 hoopskirt, crinoline' 603 | 'n03535780 horizontal bar, high bar' 604 | 'n03538406 horse cart, horse-cart' 605 | 'n03544143 hourglass' 606 | 'n03584254 iPod' 607 | 'n03584829 iron, smoothing iron' 608 | 'n03590841 jack-o''-lantern' 609 | 'n03594734 jean, blue jean, denim' 610 | 'n03594945 jeep, landrover' 611 | 'n03595614 jersey, T-shirt, tee shirt' 612 | 'n03598930 jigsaw puzzle' 613 | 'n03599486 jinrikisha, ricksha, rickshaw' 614 | 'n03602883 joystick' 615 | 'n03617480 kimono' 616 | 'n03623198 knee pad' 617 | 'n03627232 knot' 618 | 'n03630383 lab coat, laboratory coat' 619 | 'n03633091 ladle' 620 | 'n03637318 lampshade, lamp shade' 621 | 'n03642806 laptop, laptop computer' 622 | 'n03649909 lawn mower, mower' 623 | 'n03657121 lens cap, lens cover' 624 | 'n03658185 letter opener, paper knife, paperknife' 625 | 'n03661043 library' 626 | 'n03662601 lifeboat' 627 | 'n03666591 lighter, light, igniter, ignitor' 628 | 'n03670208 limousine, limo' 629 | 'n03673027 liner, ocean liner' 630 | 'n03676483 lipstick, lip rouge' 631 | 'n03680355 Loafer' 632 | 'n03690938 lotion' 633 | 'n03691459 loudspeaker, speaker, speaker unit, loudspeaker system, speaker system' 634 | 'n03692522 loupe, jeweler''s loupe' 635 | 'n03697007 lumbermill, sawmill' 636 | 'n03706229 magnetic compass' 637 | 'n03709823 mailbag, postbag' 638 | 'n03710193 mailbox, letter box' 639 | 'n03710637 maillot' 640 | 'n03710721 maillot, tank suit' 641 | 'n03717622 manhole cover' 642 | 'n03720891 maraca' 643 | 'n03721384 marimba, xylophone' 644 | 'n03724870 mask' 645 | 'n03729826 matchstick' 646 | 'n03733131 maypole' 647 | 'n03733281 maze, labyrinth' 648 | 'n03733805 measuring cup' 649 | 'n03742115 medicine chest, medicine cabinet' 650 | 'n03743016 megalith, megalithic structure' 651 | 'n03759954 microphone, mike' 652 | 'n03761084 microwave, microwave oven' 653 | 'n03763968 military uniform' 654 | 'n03764736 milk can' 655 | 'n03769881 minibus' 656 | 'n03770439 miniskirt, mini' 657 | 'n03770679 minivan' 658 | 'n03773504 missile' 659 | 'n03775071 mitten' 660 | 'n03775546 mixing bowl' 661 | 'n03776460 mobile home, manufactured home' 662 | 'n03777568 Model T' 663 | 'n03777754 modem' 664 | 'n03781244 monastery' 665 | 'n03782006 monitor' 666 | 'n03785016 moped' 667 | 'n03786901 mortar' 668 | 'n03787032 mortarboard' 669 | 'n03788195 mosque' 670 | 'n03788365 mosquito net' 671 | 'n03791053 motor scooter, scooter' 672 | 'n03792782 mountain bike, all-terrain bike, off-roader' 673 | 'n03792972 mountain tent' 674 | 'n03793489 mouse, computer mouse' 675 | 'n03794056 mousetrap' 676 | 'n03796401 moving van' 677 | 'n03803284 muzzle' 678 | 'n03804744 nail' 679 | 'n03814639 neck brace' 680 | 'n03814906 necklace' 681 | 'n03825788 nipple' 682 | 'n03832673 notebook, notebook computer' 683 | 'n03837869 obelisk' 684 | 'n03838899 oboe, hautboy, hautbois' 685 | 'n03840681 ocarina, sweet potato' 686 | 'n03841143 odometer, hodometer, mileometer, milometer' 687 | 'n03843555 oil filter' 688 | 'n03854065 organ, pipe organ' 689 | 'n03857828 oscilloscope, scope, cathode-ray oscilloscope, CRO' 690 | 'n03866082 overskirt' 691 | 'n03868242 oxcart' 692 | 'n03868863 oxygen mask' 693 | 'n03871628 packet' 694 | 'n03873416 paddle, boat paddle' 695 | 'n03874293 paddlewheel, paddle wheel' 696 | 'n03874599 padlock' 697 | 'n03876231 paintbrush' 698 | 'n03877472 pajama, pyjama, pj''s, jammies' 699 | 'n03877845 palace' 700 | 'n03884397 panpipe, pandean pipe, syrinx' 701 | 'n03887697 paper towel' 702 | 'n03888257 parachute, chute' 703 | 'n03888605 parallel bars, bars' 704 | 'n03891251 park bench' 705 | 'n03891332 parking meter' 706 | 'n03895866 passenger car, coach, carriage' 707 | 'n03899768 patio, terrace' 708 | 'n03902125 pay-phone, pay-station' 709 | 'n03903868 pedestal, plinth, footstall' 710 | 'n03908618 pencil box, pencil case' 711 | 'n03908714 pencil sharpener' 712 | 'n03916031 perfume, essence' 713 | 'n03920288 Petri dish' 714 | 'n03924679 photocopier' 715 | 'n03929660 pick, plectrum, plectron' 716 | 'n03929855 pickelhaube' 717 | 'n03930313 picket fence, paling' 718 | 'n03930630 pickup, pickup truck' 719 | 'n03933933 pier' 720 | 'n03935335 piggy bank, penny bank' 721 | 'n03937543 pill bottle' 722 | 'n03938244 pillow' 723 | 'n03942813 ping-pong ball' 724 | 'n03944341 pinwheel' 725 | 'n03947888 pirate, pirate ship' 726 | 'n03950228 pitcher, ewer' 727 | 'n03954731 plane, carpenter''s plane, woodworking plane' 728 | 'n03956157 planetarium' 729 | 'n03958227 plastic bag' 730 | 'n03961711 plate rack' 731 | 'n03967562 plow, plough' 732 | 'n03970156 plunger, plumber''s helper' 733 | 'n03976467 Polaroid camera, Polaroid Land camera' 734 | 'n03976657 pole' 735 | 'n03977966 police van, police wagon, paddy wagon, patrol wagon, wagon, black Maria' 736 | 'n03980874 poncho' 737 | 'n03982430 pool table, billiard table, snooker table' 738 | 'n03983396 pop bottle, soda bottle' 739 | 'n03991062 pot, flowerpot' 740 | 'n03992509 potter''s wheel' 741 | 'n03995372 power drill' 742 | 'n03998194 prayer rug, prayer mat' 743 | 'n04004767 printer' 744 | 'n04005630 prison, prison house' 745 | 'n04008634 projectile, missile' 746 | 'n04009552 projector' 747 | 'n04019541 puck, hockey puck' 748 | 'n04023962 punching bag, punch bag, punching ball, punchball' 749 | 'n04026417 purse' 750 | 'n04033901 quill, quill pen' 751 | 'n04033995 quilt, comforter, comfort, puff' 752 | 'n04037443 racer, race car, racing car' 753 | 'n04039381 racket, racquet' 754 | 'n04040759 radiator' 755 | 'n04041544 radio, wireless' 756 | 'n04044716 radio telescope, radio reflector' 757 | 'n04049303 rain barrel' 758 | 'n04065272 recreational vehicle, RV, R.V.' 759 | 'n04067472 reel' 760 | 'n04069434 reflex camera' 761 | 'n04070727 refrigerator, icebox' 762 | 'n04074963 remote control, remote' 763 | 'n04081281 restaurant, eating house, eating place, eatery' 764 | 'n04086273 revolver, six-gun, six-shooter' 765 | 'n04090263 rifle' 766 | 'n04099969 rocking chair, rocker' 767 | 'n04111531 rotisserie' 768 | 'n04116512 rubber eraser, rubber, pencil eraser' 769 | 'n04118538 rugby ball' 770 | 'n04118776 rule, ruler' 771 | 'n04120489 running shoe' 772 | 'n04125021 safe' 773 | 'n04127249 safety pin' 774 | 'n04131690 saltshaker, salt shaker' 775 | 'n04133789 sandal' 776 | 'n04136333 sarong' 777 | 'n04141076 sax, saxophone' 778 | 'n04141327 scabbard' 779 | 'n04141975 scale, weighing machine' 780 | 'n04146614 school bus' 781 | 'n04147183 schooner' 782 | 'n04149813 scoreboard' 783 | 'n04152593 screen, CRT screen' 784 | 'n04153751 screw' 785 | 'n04154565 screwdriver' 786 | 'n04162706 seat belt, seatbelt' 787 | 'n04179913 sewing machine' 788 | 'n04192698 shield, buckler' 789 | 'n04200800 shoe shop, shoe-shop, shoe store' 790 | 'n04201297 shoji' 791 | 'n04204238 shopping basket' 792 | 'n04204347 shopping cart' 793 | 'n04208210 shovel' 794 | 'n04209133 shower cap' 795 | 'n04209239 shower curtain' 796 | 'n04228054 ski' 797 | 'n04229816 ski mask' 798 | 'n04235860 sleeping bag' 799 | 'n04238763 slide rule, slipstick' 800 | 'n04239074 sliding door' 801 | 'n04243546 slot, one-armed bandit' 802 | 'n04251144 snorkel' 803 | 'n04252077 snowmobile' 804 | 'n04252225 snowplow, snowplough' 805 | 'n04254120 soap dispenser' 806 | 'n04254680 soccer ball' 807 | 'n04254777 sock' 808 | 'n04258138 solar dish, solar collector, solar furnace' 809 | 'n04259630 sombrero' 810 | 'n04263257 soup bowl' 811 | 'n04264628 space bar' 812 | 'n04265275 space heater' 813 | 'n04266014 space shuttle' 814 | 'n04270147 spatula' 815 | 'n04273569 speedboat' 816 | 'n04275548 spider web, spider''s web' 817 | 'n04277352 spindle' 818 | 'n04285008 sports car, sport car' 819 | 'n04286575 spotlight, spot' 820 | 'n04296562 stage' 821 | 'n04310018 steam locomotive' 822 | 'n04311004 steel arch bridge' 823 | 'n04311174 steel drum' 824 | 'n04317175 stethoscope' 825 | 'n04325704 stole' 826 | 'n04326547 stone wall' 827 | 'n04328186 stopwatch, stop watch' 828 | 'n04330267 stove' 829 | 'n04332243 strainer' 830 | 'n04335435 streetcar, tram, tramcar, trolley, trolley car' 831 | 'n04336792 stretcher' 832 | 'n04344873 studio couch, day bed' 833 | 'n04346328 stupa, tope' 834 | 'n04347754 submarine, pigboat, sub, U-boat' 835 | 'n04350905 suit, suit of clothes' 836 | 'n04355338 sundial' 837 | 'n04355933 sunglass' 838 | 'n04356056 sunglasses, dark glasses, shades' 839 | 'n04357314 sunscreen, sunblock, sun blocker' 840 | 'n04366367 suspension bridge' 841 | 'n04367480 swab, swob, mop' 842 | 'n04370456 sweatshirt' 843 | 'n04371430 swimming trunks, bathing trunks' 844 | 'n04371774 swing' 845 | 'n04372370 switch, electric switch, electrical switch' 846 | 'n04376876 syringe' 847 | 'n04380533 table lamp' 848 | 'n04389033 tank, army tank, armored combat vehicle, armoured combat vehicle' 849 | 'n04392985 tape player' 850 | 'n04398044 teapot' 851 | 'n04399382 teddy, teddy bear' 852 | 'n04404412 television, television system' 853 | 'n04409515 tennis ball' 854 | 'n04417672 thatch, thatched roof' 855 | 'n04418357 theater curtain, theatre curtain' 856 | 'n04423845 thimble' 857 | 'n04428191 thresher, thrasher, threshing machine' 858 | 'n04429376 throne' 859 | 'n04435653 tile roof' 860 | 'n04442312 toaster' 861 | 'n04443257 tobacco shop, tobacconist shop, tobacconist' 862 | 'n04447861 toilet seat' 863 | 'n04456115 torch' 864 | 'n04458633 totem pole' 865 | 'n04461696 tow truck, tow car, wrecker' 866 | 'n04462240 toyshop' 867 | 'n04465501 tractor' 868 | 'n04467665 trailer truck, tractor trailer, trucking rig, rig, articulated lorry, semi' 869 | 'n04476259 tray' 870 | 'n04479046 trench coat' 871 | 'n04482393 tricycle, trike, velocipede' 872 | 'n04483307 trimaran' 873 | 'n04485082 tripod' 874 | 'n04486054 triumphal arch' 875 | 'n04487081 trolleybus, trolley coach, trackless trolley' 876 | 'n04487394 trombone' 877 | 'n04493381 tub, vat' 878 | 'n04501370 turnstile' 879 | 'n04505470 typewriter keyboard' 880 | 'n04507155 umbrella' 881 | 'n04509417 unicycle, monocycle' 882 | 'n04515003 upright, upright piano' 883 | 'n04517823 vacuum, vacuum cleaner' 884 | 'n04522168 vase' 885 | 'n04523525 vault' 886 | 'n04525038 velvet' 887 | 'n04525305 vending machine' 888 | 'n04532106 vestment' 889 | 'n04532670 viaduct' 890 | 'n04536866 violin, fiddle' 891 | 'n04540053 volleyball' 892 | 'n04542943 waffle iron' 893 | 'n04548280 wall clock' 894 | 'n04548362 wallet, billfold, notecase, pocketbook' 895 | 'n04550184 wardrobe, closet, press' 896 | 'n04552348 warplane, military plane' 897 | 'n04553703 washbasin, handbasin, washbowl, lavabo, wash-hand basin' 898 | 'n04554684 washer, automatic washer, washing machine' 899 | 'n04557648 water bottle' 900 | 'n04560804 water jug' 901 | 'n04562935 water tower' 902 | 'n04579145 whiskey jug' 903 | 'n04579432 whistle' 904 | 'n04584207 wig' 905 | 'n04589890 window screen' 906 | 'n04590129 window shade' 907 | 'n04591157 Windsor tie' 908 | 'n04591713 wine bottle' 909 | 'n04592741 wing' 910 | 'n04596742 wok' 911 | 'n04597913 wooden spoon' 912 | 'n04599235 wool, woolen, woollen' 913 | 'n04604644 worm fence, snake fence, snake-rail fence, Virginia fence' 914 | 'n04606251 wreck' 915 | 'n04612504 yawl' 916 | 'n04613696 yurt' 917 | 'n06359193 web site, website, internet site, site' 918 | 'n06596364 comic book' 919 | 'n06785654 crossword puzzle, crossword' 920 | 'n06794110 street sign' 921 | 'n06874185 traffic light, traffic signal, stoplight' 922 | 'n07248320 book jacket, dust cover, dust jacket, dust wrapper' 923 | 'n07565083 menu' 924 | 'n07579787 plate' 925 | 'n07583066 guacamole' 926 | 'n07584110 consomme' 927 | 'n07590611 hot pot, hotpot' 928 | 'n07613480 trifle' 929 | 'n07614500 ice cream, icecream' 930 | 'n07615774 ice lolly, lolly, lollipop, popsicle' 931 | 'n07684084 French loaf' 932 | 'n07693725 bagel, beigel' 933 | 'n07695742 pretzel' 934 | 'n07697313 cheeseburger' 935 | 'n07697537 hotdog, hot dog, red hot' 936 | 'n07711569 mashed potato' 937 | 'n07714571 head cabbage' 938 | 'n07714990 broccoli' 939 | 'n07715103 cauliflower' 940 | 'n07716358 zucchini, courgette' 941 | 'n07716906 spaghetti squash' 942 | 'n07717410 acorn squash' 943 | 'n07717556 butternut squash' 944 | 'n07718472 cucumber, cuke' 945 | 'n07718747 artichoke, globe artichoke' 946 | 'n07720875 bell pepper' 947 | 'n07730033 cardoon' 948 | 'n07734744 mushroom' 949 | 'n07742313 Granny Smith' 950 | 'n07745940 strawberry' 951 | 'n07747607 orange' 952 | 'n07749582 lemon' 953 | 'n07753113 fig' 954 | 'n07753275 pineapple, ananas' 955 | 'n07753592 banana' 956 | 'n07754684 jackfruit, jak, jack' 957 | 'n07760859 custard apple' 958 | 'n07768694 pomegranate' 959 | 'n07802026 hay' 960 | 'n07831146 carbonara' 961 | 'n07836838 chocolate sauce, chocolate syrup' 962 | 'n07860988 dough' 963 | 'n07871810 meat loaf, meatloaf' 964 | 'n07873807 pizza, pizza pie' 965 | 'n07875152 potpie' 966 | 'n07880968 burrito' 967 | 'n07892512 red wine' 968 | 'n07920052 espresso' 969 | 'n07930864 cup' 970 | 'n07932039 eggnog' 971 | 'n09193705 alp' 972 | 'n09229709 bubble' 973 | 'n09246464 cliff, drop, drop-off' 974 | 'n09256479 coral reef' 975 | 'n09288635 geyser' 976 | 'n09332890 lakeside, lakeshore' 977 | 'n09399592 promontory, headland, head, foreland' 978 | 'n09421951 sandbar, sand bar' 979 | 'n09428293 seashore, coast, seacoast, sea-coast' 980 | 'n09468604 valley, vale' 981 | 'n09472597 volcano' 982 | 'n09835506 ballplayer, baseball player' 983 | 'n10148035 groom, bridegroom' 984 | 'n10565667 scuba diver' 985 | 'n11879895 rapeseed' 986 | 'n11939491 daisy' 987 | 'n12057211 yellow lady''s slipper, yellow lady-slipper, Cypripedium calceolus, Cypripedium parviflorum' 988 | 'n12144580 corn' 989 | 'n12267677 acorn' 990 | 'n12620546 hip, rose hip, rosehip' 991 | 'n12768682 buckeye, horse chestnut, conker' 992 | 'n12985857 coral fungus' 993 | 'n12998815 agaric' 994 | 'n13037406 gyromitra' 995 | 'n13040303 stinkhorn, carrion fungus' 996 | 'n13044778 earthstar' 997 | 'n13052670 hen-of-the-woods, hen of the woods, Polyporus frondosus, Grifola frondosa' 998 | 'n13054560 bolete' 999 | 'n13133613 ear, spike, capitulum' 1000 | 'n15075141 toilet tissue, toilet paper, bathroom tissue' --------------------------------------------------------------------------------