ParseNet: Looking Wider to See Better
ICLR2016
https://github.com/weiliu89/caffe/tree/fcn
本文主要在语义分割问题中引入 global context 信息来提升分割精度
首先指出 FCN 丢弃了全局信息
FCN disregards global information about an image, thus ignoring potentially useful scene-level semantic context
其他方法尝试引入更多的 context 信息,但是都比较复杂,计算量也比较大。
这里我们首先想到了 global context,毕竟在整体中看待局部问题更清晰
As for semantic segmentation, per pixel classification, is often ambiguous in the presence of only local information. However, the task becomes much simpler if contextual information, from the whole image, is available.
尽管在理论上网络的顶层特征具有很大的感受野,例如使用 VGG特征的 FCN 的 fc7 有 404 × 404 感受野。但是我们发现实际的感受野比这个小很多。这里我们使用了一个滑动随机噪声块的方法来确定合适的感受野。
To identify the effective receptive field, we slide a small patch of random noise across the input image, and measure the change in the activation of the desired layer. If the activation does not vary significantly, that suggests the given random patch is outside of the empirical receptive field
实际中我们是使用全局均值池化来得到 global context
Specifically, we use global average pooling and pool the context features from the last layer or any
layer if that is desired
有了 global context feature 和 FCN 中的 local feature map,这里需要把这两个特征融合,有两个选择:early fusion,late fusion,对应分类前融合,分类后融合。early fusion 相对简单一些。
考虑到将多个不同的 scale and norm 特征向量融合起来,这里需要做归一化,我们采用了 L2 norm layer
实验结果对比:
有帮助的情况
有负作用的情况
VGG 网络对应的实现
I0728 09:33:23.666250 9633 layer_factory.hpp:74] Creating layer data
I0728 09:33:23.666260 9633 net.cpp:91] Creating Layer data
I0728 09:33:23.666263 9633 net.cpp:369] data -> data
I0728 09:33:23.666270 9633 net.cpp:121] Setting up data
I0728 09:33:23.666308 9633 db.cpp:34] Opened lmdb examples/VOC2012ext/VOC2012ext_val_img_lmdb
I0728 09:33:23.666638 9633 data_layer.cpp:79] output data size: 1,3,500,375
I0728 09:33:23.666998 9633 net.cpp:128] Top shape: 1 3 500 375 (562500)
I0728 09:33:23.667004 9633 layer_factory.hpp:74] Creating layer data_data_0_split
I0728 09:33:23.667009 9633 net.cpp:91] Creating Layer data_data_0_split
I0728 09:33:23.667012 9633 net.cpp:411] data_data_0_split <- data
I0728 09:33:23.667016 9633 net.cpp:369] data_data_0_split -> data_data_0_split_0
I0728 09:33:23.667021 9633 net.cpp:369] data_data_0_split -> data_data_0_split_1
I0728 09:33:23.667026 9633 net.cpp:121] Setting up data_data_0_split
I0728 09:33:23.667032 9633 net.cpp:128] Top shape: 1 3 500 375 (562500)
I0728 09:33:23.667040 9633 net.cpp:128] Top shape: 1 3 500 375 (562500)
I0728 09:33:23.667042 9633 layer_factory.hpp:74] Creating layer label
I0728 09:33:23.667048 9633 net.cpp:91] Creating Layer label
I0728 09:33:23.667052 9633 net.cpp:369] label -> label
I0728 09:33:23.667057 9633 net.cpp:121] Setting up label
I0728 09:33:23.667083 9633 db.cpp:34] Opened lmdb examples/VOC2012ext/VOC2012ext_val_label_lmdb
I0728 09:33:23.667201 9633 data_layer.cpp:79] output data size: 1,1,500,375
I0728 09:33:23.667306 9633 net.cpp:128] Top shape: 1 1 500 375 (187500)
I0728 09:33:23.667320 9633 layer_factory.hpp:74] Creating layer conv1_1
I0728 09:33:23.667328 9633 net.cpp:91] Creating Layer conv1_1
I0728 09:33:23.667332 9633 net.cpp:411] conv1_1 <- data_data_0_split_0
I0728 09:33:23.667345 9633 net.cpp:369] conv1_1 -> conv1_1
I0728 09:33:23.667351 9633 net.cpp:121] Setting up conv1_1
I0728 09:33:23.667574 9633 net.cpp:128] Top shape: 1 64 500 375 (12000000)
I0728 09:33:23.667583 9633 layer_factory.hpp:74] Creating layer relu1_1
I0728 09:33:23.667588 9633 net.cpp:91] Creating Layer relu1_1
I0728 09:33:23.667592 9633 net.cpp:411] relu1_1 <- conv1_1
I0728 09:33:23.667598 9633 net.cpp:358] relu1_1 -> conv1_1 (in-place)
I0728 09:33:23.667601 9633 net.cpp:121] Setting up relu1_1
I0728 09:33:23.667604 9633 net.cpp:128] Top shape: 1 64 500 375 (12000000)
I0728 09:33:23.667606 9633 layer_factory.hpp:74] Creating layer conv1_2
I0728 09:33:23.667610 9633 net.cpp:91] Creating Layer conv1_2
I0728 09:33:23.667613 9633 net.cpp:411] conv1_2 <- conv1_1
I0728 09:33:23.667616 9633 net.cpp:369] conv1_2 -> conv1_2
I0728 09:33:23.667619 9633 net.cpp:121] Setting up conv1_2
I0728 09:33:23.667858 9633 net.cpp:128] Top shape: 1 64 500 375 (12000000)
I0728 09:33:23.667865 9633 layer_factory.hpp:74] Creating layer relu1_2
I0728 09:33:23.667867 9633 net.cpp:91] Creating Layer relu1_2
I0728 09:33:23.667870 9633 net.cpp:411] relu1_2 <- conv1_2
I0728 09:33:23.667874 9633 net.cpp:358] relu1_2 -> conv1_2 (in-place)
I0728 09:33:23.667878 9633 net.cpp:121] Setting up relu1_2
I0728 09:33:23.667882 9633 net.cpp:128] Top shape: 1 64 500 375 (12000000)
I0728 09:33:23.667887 9633 layer_factory.hpp:74] Creating layer pool1
I0728 09:33:23.667892 9633 net.cpp:91] Creating Layer pool1
I0728 09:33:23.667894 9633 net.cpp:411] pool1 <- conv1_2
I0728 09:33:23.667897 9633 net.cpp:369] pool1 -> pool1
I0728 09:33:23.667901 9633 net.cpp:121] Setting up pool1
I0728 09:33:23.667906 9633 net.cpp:128] Top shape: 1 64 250 188 (3008000)
I0728 09:33:23.667909 9633 layer_factory.hpp:74] Creating layer conv2_1
I0728 09:33:23.667914 9633 net.cpp:91] Creating Layer conv2_1
I0728 09:33:23.667917 9633 net.cpp:411] conv2_1 <- pool1
I0728 09:33:23.667929 9633 net.cpp:369] conv2_1 -> conv2_1
I0728 09:33:23.667932 9633 net.cpp:121] Setting up conv2_1
I0728 09:33:23.668062 9633 net.cpp:128] Top shape: 1 128 250 188 (6016000)
I0728 09:33:23.668067 9633 layer_factory.hpp:74] Creating layer relu2_1
I0728 09:33:23.668071 9633 net.cpp:91] Creating Layer relu2_1
I0728 09:33:23.668072 9633 net.cpp:411] relu2_1 <- conv2_1
I0728 09:33:23.668076 9633 net.cpp:358] relu2_1 -> conv2_1 (in-place)
I0728 09:33:23.668078 9633 net.cpp:121] Setting up relu2_1
I0728 09:33:23.668081 9633 net.cpp:128] Top shape: 1 128 250 188 (6016000)
I0728 09:33:23.668083 9633 layer_factory.hpp:74] Creating layer conv2_2
I0728 09:33:23.668087 9633 net.cpp:91] Creating Layer conv2_2
I0728 09:33:23.668089 9633 net.cpp:411] conv2_2 <- conv2_1
I0728 09:33:23.668092 9633 net.cpp:369] conv2_2 -> conv2_2
I0728 09:33:23.668097 9633 net.cpp:121] Setting up conv2_2
I0728 09:33:23.668298 9633 net.cpp:128] Top shape: 1 128 250 188 (6016000)
I0728 09:33:23.668303 9633 layer_factory.hpp:74] Creating layer relu2_2
I0728 09:33:23.668306 9633 net.cpp:91] Creating Layer relu2_2
I0728 09:33:23.668308 9633 net.cpp:411] relu2_2 <- conv2_2
I0728 09:33:23.668311 9633 net.cpp:358] relu2_2 -> conv2_2 (in-place)
I0728 09:33:23.668314 9633 net.cpp:121] Setting up relu2_2
I0728 09:33:23.668328 9633 net.cpp:128] Top shape: 1 128 250 188 (6016000)
I0728 09:33:23.668329 9633 layer_factory.hpp:74] Creating layer pool2
I0728 09:33:23.668334 9633 net.cpp:91] Creating Layer pool2
I0728 09:33:23.668335 9633 net.cpp:411] pool2 <- conv2_2
I0728 09:33:23.668339 9633 net.cpp:369] pool2 -> pool2
I0728 09:33:23.668342 9633 net.cpp:121] Setting up pool2
I0728 09:33:23.668346 9633 net.cpp:128] Top shape: 1 128 125 94 (1504000)
I0728 09:33:23.668349 9633 layer_factory.hpp:74] Creating layer conv3_1
I0728 09:33:23.668352 9633 net.cpp:91] Creating Layer conv3_1
I0728 09:33:23.668354 9633 net.cpp:411] conv3_1 <- pool2
I0728 09:33:23.668359 9633 net.cpp:369] conv3_1 -> conv3_1
I0728 09:33:23.668361 9633 net.cpp:121] Setting up conv3_1
I0728 09:33:23.668678 9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.668685 9633 layer_factory.hpp:74] Creating layer relu3_1
I0728 09:33:23.668689 9633 net.cpp:91] Creating Layer relu3_1
I0728 09:33:23.668691 9633 net.cpp:411] relu3_1 <- conv3_1
I0728 09:33:23.668695 9633 net.cpp:358] relu3_1 -> conv3_1 (in-place)
I0728 09:33:23.668699 9633 net.cpp:121] Setting up relu3_1
I0728 09:33:23.668701 9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.668704 9633 layer_factory.hpp:74] Creating layer conv3_2
I0728 09:33:23.668706 9633 net.cpp:91] Creating Layer conv3_2
I0728 09:33:23.668709 9633 net.cpp:411] conv3_2 <- conv3_1
I0728 09:33:23.668711 9633 net.cpp:369] conv3_2 -> conv3_2
I0728 09:33:23.668715 9633 net.cpp:121] Setting up conv3_2
I0728 09:33:23.669340 9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.669347 9633 layer_factory.hpp:74] Creating layer relu3_2
I0728 09:33:23.669351 9633 net.cpp:91] Creating Layer relu3_2
I0728 09:33:23.669353 9633 net.cpp:411] relu3_2 <- conv3_2
I0728 09:33:23.669356 9633 net.cpp:358] relu3_2 -> conv3_2 (in-place)
I0728 09:33:23.669359 9633 net.cpp:121] Setting up relu3_2
I0728 09:33:23.669363 9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.669364 9633 layer_factory.hpp:74] Creating layer conv3_3
I0728 09:33:23.669368 9633 net.cpp:91] Creating Layer conv3_3
I0728 09:33:23.669370 9633 net.cpp:411] conv3_3 <- conv3_2
I0728 09:33:23.669373 9633 net.cpp:369] conv3_3 -> conv3_3
I0728 09:33:23.669376 9633 net.cpp:121] Setting up conv3_3
I0728 09:33:23.669988 9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.669992 9633 layer_factory.hpp:74] Creating layer relu3_3
I0728 09:33:23.669996 9633 net.cpp:91] Creating Layer relu3_3
I0728 09:33:23.669998 9633 net.cpp:411] relu3_3 <- conv3_3
I0728 09:33:23.670001 9633 net.cpp:358] relu3_3 -> conv3_3 (in-place)
I0728 09:33:23.670003 9633 net.cpp:121] Setting up relu3_3
I0728 09:33:23.670006 9633 net.cpp:128] Top shape: 1 256 125 94 (3008000)
I0728 09:33:23.670008 9633 layer_factory.hpp:74] Creating layer pool3
I0728 09:33:23.670012 9633 net.cpp:91] Creating Layer pool3
I0728 09:33:23.670014 9633 net.cpp:411] pool3 <- conv3_3
I0728 09:33:23.670018 9633 net.cpp:369] pool3 -> pool3
I0728 09:33:23.670022 9633 net.cpp:121] Setting up pool3
I0728 09:33:23.670027 9633 net.cpp:128] Top shape: 1 256 63 47 (758016)
I0728 09:33:23.670028 9633 layer_factory.hpp:74] Creating layer conv4_1
I0728 09:33:23.670032 9633 net.cpp:91] Creating Layer conv4_1
I0728 09:33:23.670034 9633 net.cpp:411] conv4_1 <- pool3
I0728 09:33:23.670037 9633 net.cpp:369] conv4_1 -> conv4_1
I0728 09:33:23.670040 9633 net.cpp:121] Setting up conv4_1
I0728 09:33:23.671077 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.671087 9633 layer_factory.hpp:74] Creating layer relu4_1
I0728 09:33:23.671092 9633 net.cpp:91] Creating Layer relu4_1
I0728 09:33:23.671093 9633 net.cpp:411] relu4_1 <- conv4_1
I0728 09:33:23.671097 9633 net.cpp:358] relu4_1 -> conv4_1 (in-place)
I0728 09:33:23.671099 9633 net.cpp:121] Setting up relu4_1
I0728 09:33:23.671103 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.671104 9633 layer_factory.hpp:74] Creating layer conv4_2
I0728 09:33:23.671108 9633 net.cpp:91] Creating Layer conv4_2
I0728 09:33:23.671124 9633 net.cpp:411] conv4_2 <- conv4_1
I0728 09:33:23.671128 9633 net.cpp:369] conv4_2 -> conv4_2
I0728 09:33:23.671131 9633 net.cpp:121] Setting up conv4_2
I0728 09:33:23.672897 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.672919 9633 layer_factory.hpp:74] Creating layer relu4_2
I0728 09:33:23.672926 9633 net.cpp:91] Creating Layer relu4_2
I0728 09:33:23.672930 9633 net.cpp:411] relu4_2 <- conv4_2
I0728 09:33:23.672935 9633 net.cpp:358] relu4_2 -> conv4_2 (in-place)
I0728 09:33:23.672940 9633 net.cpp:121] Setting up relu4_2
I0728 09:33:23.672945 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.672946 9633 layer_factory.hpp:74] Creating layer conv4_3
I0728 09:33:23.672952 9633 net.cpp:91] Creating Layer conv4_3
I0728 09:33:23.672955 9633 net.cpp:411] conv4_3 <- conv4_2
I0728 09:33:23.672957 9633 net.cpp:369] conv4_3 -> conv4_3
I0728 09:33:23.672963 9633 net.cpp:121] Setting up conv4_3
I0728 09:33:23.675709 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.675727 9633 layer_factory.hpp:74] Creating layer relu4_3
I0728 09:33:23.675734 9633 net.cpp:91] Creating Layer relu4_3
I0728 09:33:23.675736 9633 net.cpp:411] relu4_3 <- conv4_3
I0728 09:33:23.675741 9633 net.cpp:358] relu4_3 -> conv4_3 (in-place)
I0728 09:33:23.675745 9633 net.cpp:121] Setting up relu4_3
I0728 09:33:23.675750 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.675751 9633 layer_factory.hpp:74] Creating layer pool4
I0728 09:33:23.675756 9633 net.cpp:91] Creating Layer pool4
I0728 09:33:23.675758 9633 net.cpp:411] pool4 <- conv4_3
I0728 09:33:23.675762 9633 net.cpp:369] pool4 -> pool4
I0728 09:33:23.675766 9633 net.cpp:121] Setting up pool4
I0728 09:33:23.675771 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.675773 9633 layer_factory.hpp:74] Creating layer conv5_1
I0728 09:33:23.675779 9633 net.cpp:91] Creating Layer conv5_1
I0728 09:33:23.675781 9633 net.cpp:411] conv5_1 <- pool4
I0728 09:33:23.675784 9633 net.cpp:369] conv5_1 -> conv5_1
I0728 09:33:23.675788 9633 net.cpp:121] Setting up conv5_1
I0728 09:33:23.677517 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.677533 9633 layer_factory.hpp:74] Creating layer relu5_1
I0728 09:33:23.677539 9633 net.cpp:91] Creating Layer relu5_1
I0728 09:33:23.677543 9633 net.cpp:411] relu5_1 <- conv5_1
I0728 09:33:23.677547 9633 net.cpp:358] relu5_1 -> conv5_1 (in-place)
I0728 09:33:23.677551 9633 net.cpp:121] Setting up relu5_1
I0728 09:33:23.677554 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.677556 9633 layer_factory.hpp:74] Creating layer conv5_2
I0728 09:33:23.677561 9633 net.cpp:91] Creating Layer conv5_2
I0728 09:33:23.677562 9633 net.cpp:411] conv5_2 <- conv5_1
I0728 09:33:23.677567 9633 net.cpp:369] conv5_2 -> conv5_2
I0728 09:33:23.677569 9633 net.cpp:121] Setting up conv5_2
I0728 09:33:23.680333 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.680363 9633 layer_factory.hpp:74] Creating layer relu5_2
I0728 09:33:23.680371 9633 net.cpp:91] Creating Layer relu5_2
I0728 09:33:23.680373 9633 net.cpp:411] relu5_2 <- conv5_2
I0728 09:33:23.680378 9633 net.cpp:358] relu5_2 -> conv5_2 (in-place)
I0728 09:33:23.680383 9633 net.cpp:121] Setting up relu5_2
I0728 09:33:23.680387 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.680389 9633 layer_factory.hpp:74] Creating layer conv5_3
I0728 09:33:23.680393 9633 net.cpp:91] Creating Layer conv5_3
I0728 09:33:23.680395 9633 net.cpp:411] conv5_3 <- conv5_2
I0728 09:33:23.680399 9633 net.cpp:369] conv5_3 -> conv5_3
I0728 09:33:23.680403 9633 net.cpp:121] Setting up conv5_3
I0728 09:33:23.682839 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.682864 9633 layer_factory.hpp:74] Creating layer relu5_3
I0728 09:33:23.682874 9633 net.cpp:91] Creating Layer relu5_3
I0728 09:33:23.682878 9633 net.cpp:411] relu5_3 <- conv5_3
I0728 09:33:23.682883 9633 net.cpp:358] relu5_3 -> conv5_3 (in-place)
I0728 09:33:23.682904 9633 net.cpp:121] Setting up relu5_3
I0728 09:33:23.682909 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.682911 9633 layer_factory.hpp:74] Creating layer pool5
I0728 09:33:23.682915 9633 net.cpp:91] Creating Layer pool5
I0728 09:33:23.682919 9633 net.cpp:411] pool5 <- conv5_3
I0728 09:33:23.682921 9633 net.cpp:369] pool5 -> pool5
I0728 09:33:23.682925 9633 net.cpp:121] Setting up pool5
I0728 09:33:23.682931 9633 net.cpp:128] Top shape: 1 512 63 47 (1516032)
I0728 09:33:23.682934 9633 layer_factory.hpp:74] Creating layer fc6
I0728 09:33:23.682938 9633 net.cpp:91] Creating Layer fc6
I0728 09:33:23.682941 9633 net.cpp:411] fc6 <- pool5
I0728 09:33:23.682945 9633 net.cpp:369] fc6 -> fc6
I0728 09:33:23.682950 9633 net.cpp:121] Setting up fc6
I0728 09:33:23.687371 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.687388 9633 layer_factory.hpp:74] Creating layer relu6
I0728 09:33:23.687394 9633 net.cpp:91] Creating Layer relu6
I0728 09:33:23.687397 9633 net.cpp:411] relu6 <- fc6
I0728 09:33:23.687402 9633 net.cpp:358] relu6 -> fc6 (in-place)
I0728 09:33:23.687407 9633 net.cpp:121] Setting up relu6
I0728 09:33:23.687410 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.687412 9633 layer_factory.hpp:74] Creating layer drop6
I0728 09:33:23.687417 9633 net.cpp:91] Creating Layer drop6
I0728 09:33:23.687419 9633 net.cpp:411] drop6 <- fc6
I0728 09:33:23.687422 9633 net.cpp:358] drop6 -> fc6 (in-place)
I0728 09:33:23.687425 9633 net.cpp:121] Setting up drop6
I0728 09:33:23.687429 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.687432 9633 layer_factory.hpp:74] Creating layer fc7
I0728 09:33:23.687436 9633 net.cpp:91] Creating Layer fc7
I0728 09:33:23.687438 9633 net.cpp:411] fc7 <- fc6
I0728 09:33:23.687441 9633 net.cpp:369] fc7 -> fc7
I0728 09:33:23.687444 9633 net.cpp:121] Setting up fc7
I0728 09:33:23.688313 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688318 9633 layer_factory.hpp:74] Creating layer relu7
I0728 09:33:23.688321 9633 net.cpp:91] Creating Layer relu7
I0728 09:33:23.688323 9633 net.cpp:411] relu7 <- fc7
I0728 09:33:23.688326 9633 net.cpp:358] relu7 -> fc7 (in-place)
I0728 09:33:23.688329 9633 net.cpp:121] Setting up relu7
I0728 09:33:23.688331 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688334 9633 layer_factory.hpp:74] Creating layer drop7
I0728 09:33:23.688338 9633 net.cpp:91] Creating Layer drop7
I0728 09:33:23.688339 9633 net.cpp:411] drop7 <- fc7
I0728 09:33:23.688344 9633 net.cpp:358] drop7 -> fc7 (in-place)
I0728 09:33:23.688345 9633 net.cpp:121] Setting up drop7
I0728 09:33:23.688349 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688351 9633 layer_factory.hpp:74] Creating layer fc7_drop7_0_split
I0728 09:33:23.688354 9633 net.cpp:91] Creating Layer fc7_drop7_0_split
I0728 09:33:23.688356 9633 net.cpp:411] fc7_drop7_0_split <- fc7
I0728 09:33:23.688359 9633 net.cpp:369] fc7_drop7_0_split -> fc7_drop7_0_split_0
I0728 09:33:23.688364 9633 net.cpp:369] fc7_drop7_0_split -> fc7_drop7_0_split_1
I0728 09:33:23.688367 9633 net.cpp:121] Setting up fc7_drop7_0_split
I0728 09:33:23.688370 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688374 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688375 9633 layer_factory.hpp:74] Creating layer fc7_norm
I0728 09:33:23.688381 9633 net.cpp:91] Creating Layer fc7_norm
I0728 09:33:23.688383 9633 net.cpp:411] fc7_norm <- fc7_drop7_0_split_0
I0728 09:33:23.688387 9633 net.cpp:369] fc7_norm -> fc7_norm
I0728 09:33:23.688391 9633 net.cpp:121] Setting up fc7_norm
I0728 09:33:23.688405 9633 net.cpp:128] Top shape: 1 1024 63 47 (3032064)
I0728 09:33:23.688407 9633 layer_factory.hpp:74] Creating layer pool6_1x1
I0728 09:33:23.688411 9633 net.cpp:91] Creating Layer pool6_1x1
I0728 09:33:23.688413 9633 net.cpp:411] pool6_1x1 <- fc7_drop7_0_split_1
I0728 09:33:23.688417 9633 net.cpp:369] pool6_1x1 -> pool6_1x1
I0728 09:33:23.688421 9633 net.cpp:121] Setting up pool6_1x1
I0728 09:33:23.688448 9633 net.cpp:128] Top shape: 1 1024 1 1 (1024)
I0728 09:33:23.688452 9633 layer_factory.hpp:74] Creating layer pool6_1x1_norm
I0728 09:33:23.688454 9633 net.cpp:91] Creating Layer pool6_1x1_norm
I0728 09:33:23.688457 9633 net.cpp:411] pool6_1x1_norm <- pool6_1x1
I0728 09:33:23.688460 9633 net.cpp:369] pool6_1x1_norm -> pool6_1x1_norm
I0728 09:33:23.688464 9633 net.cpp:121] Setting up pool6_1x1_norm
I0728 09:33:23.688473 9633 net.cpp:128] Top shape: 1 1024 1 1 (1024)
I0728 09:33:23.688477 9633 layer_factory.hpp:74] Creating layer pool6_1x1_norm_drop
I0728 09:33:23.688480 9633 net.cpp:91] Creating Layer pool6_1x1_norm_drop
I0728 09:33:23.688483 9633 net.cpp:411] pool6_1x1_norm_drop <- pool6_1x1_norm
I0728 09:33:23.688485 9633 net.cpp:358] pool6_1x1_norm_drop -> pool6_1x1_norm (in-place)
I0728 09:33:23.688489 9633 net.cpp:121] Setting up pool6_1x1_norm_drop
I0728 09:33:23.688493 9633 net.cpp:128] Top shape: 1 1024 1 1 (1024)
I0728 09:33:23.688495 9633 layer_factory.hpp:74] Creating layer fc7_norm_score21
I0728 09:33:23.688500 9633 net.cpp:91] Creating Layer fc7_norm_score21
I0728 09:33:23.688503 9633 net.cpp:411] fc7_norm_score21 <- fc7_norm
I0728 09:33:23.688505 9633 net.cpp:369] fc7_norm_score21 -> fc7_norm_score21
I0728 09:33:23.688509 9633 net.cpp:121] Setting up fc7_norm_score21
I0728 09:33:23.688671 9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688679 9633 layer_factory.hpp:74] Creating layer fc7_norm_score21_fc7_norm_score21_0_split
I0728 09:33:23.688683 9633 net.cpp:91] Creating Layer fc7_norm_score21_fc7_norm_score21_0_split
I0728 09:33:23.688685 9633 net.cpp:411] fc7_norm_score21_fc7_norm_score21_0_split <- fc7_norm_score21
I0728 09:33:23.688688 9633 net.cpp:369] fc7_norm_score21_fc7_norm_score21_0_split -> fc7_norm_score21_fc7_norm_score21_0_split_0
I0728 09:33:23.688693 9633 net.cpp:369] fc7_norm_score21_fc7_norm_score21_0_split -> fc7_norm_score21_fc7_norm_score21_0_split_1
I0728 09:33:23.688695 9633 net.cpp:121] Setting up fc7_norm_score21_fc7_norm_score21_0_split
I0728 09:33:23.688699 9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688702 9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688704 9633 layer_factory.hpp:74] Creating layer pool6_1x1_norm_score21
I0728 09:33:23.688709 9633 net.cpp:91] Creating Layer pool6_1x1_norm_score21
I0728 09:33:23.688712 9633 net.cpp:411] pool6_1x1_norm_score21 <- pool6_1x1_norm
I0728 09:33:23.688716 9633 net.cpp:369] pool6_1x1_norm_score21 -> pool6_1x1_norm_score21
I0728 09:33:23.688720 9633 net.cpp:121] Setting up pool6_1x1_norm_score21
I0728 09:33:23.688875 9633 net.cpp:128] Top shape: 1 21 1 1 (21)
I0728 09:33:23.688880 9633 layer_factory.hpp:74] Creating layer pool6_1x1_norm_upscore21
I0728 09:33:23.688885 9633 net.cpp:91] Creating Layer pool6_1x1_norm_upscore21
I0728 09:33:23.688889 9633 net.cpp:411] pool6_1x1_norm_upscore21 <- pool6_1x1_norm_score21
I0728 09:33:23.688890 9633 net.cpp:411] pool6_1x1_norm_upscore21 <- fc7_norm_score21_fc7_norm_score21_0_split_0
I0728 09:33:23.688894 9633 net.cpp:369] pool6_1x1_norm_upscore21 -> pool6_1x1_norm_upscore21
I0728 09:33:23.688897 9633 net.cpp:121] Setting up pool6_1x1_norm_upscore21
I0728 09:33:23.688910 9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688911 9633 layer_factory.hpp:74] Creating layer score21
I0728 09:33:23.688916 9633 net.cpp:91] Creating Layer score21
I0728 09:33:23.688918 9633 net.cpp:411] score21 <- pool6_1x1_norm_upscore21
I0728 09:33:23.688921 9633 net.cpp:411] score21 <- fc7_norm_score21_fc7_norm_score21_0_split_1
I0728 09:33:23.688925 9633 net.cpp:369] score21 -> score21
I0728 09:33:23.688930 9633 net.cpp:121] Setting up score21
I0728 09:33:23.688933 9633 net.cpp:128] Top shape: 1 21 63 47 (62181)
I0728 09:33:23.688935 9633 layer_factory.hpp:74] Creating layer upscore21
I0728 09:33:23.688940 9633 net.cpp:91] Creating Layer upscore21
I0728 09:33:23.688941 9633 net.cpp:411] upscore21 <- score21
I0728 09:33:23.688946 9633 net.cpp:369] upscore21 -> upscore21
I0728 09:33:23.688953 9633 net.cpp:121] Setting up upscore21
I0728 09:33:23.689322 9633 net.cpp:128] Top shape: 1 21 504 376 (3979584)
I0728 09:33:23.689327 9633 layer_factory.hpp:74] Creating layer score
I0728 09:33:23.689332 9633 net.cpp:91] Creating Layer score
I0728 09:33:23.689333 9633 net.cpp:411] score <- upscore21
I0728 09:33:23.689337 9633 net.cpp:411] score <- data_data_0_split_1
I0728 09:33:23.689340 9633 net.cpp:369] score -> score
I0728 09:33:23.689343 9633 net.cpp:121] Setting up score
I0728 09:33:23.689379 9633 net.cpp:128] Top shape: 1 21 500 375 (3937500)
I0728 09:33:23.689383 9633 layer_factory.hpp:74] Creating layer predlabel
I0728 09:33:23.689391 9633 net.cpp:91] Creating Layer predlabel
I0728 09:33:23.689393 9633 net.cpp:411] predlabel <- score
I0728 09:33:23.689396 9633 net.cpp:369] predlabel -> predlabel
I0728 09:33:23.689400 9633 net.cpp:121] Setting up predlabel
I0728 09:33:23.689405 9633 net.cpp:128] Top shape: 1 1 500 375 (187500)
I0728 09:33:23.689407 9633 layer_factory.hpp:74] Creating layer evaluation
I0728 09:33:23.689411 9633 net.cpp:91] Creating Layer evaluation
I0728 09:33:23.689414 9633 net.cpp:411] evaluation <- predlabel
I0728 09:33:23.689416 9633 net.cpp:411] evaluation <- label
I0728 09:33:23.689420 9633 net.cpp:369] evaluation -> evaluation
I0728 09:33:23.689424 9633 net.cpp:121] Setting up evaluation
I0728 09:33:23.689430 9633 net.cpp:128] Top shape: 1 21 1 3 (63)