how to change the AlexNet into FCNs ?
How to change the AlexNet into FCNs ?
FCNs is a network that only contain convolution layers and no fc layer at all. It's structure can be shown as the following figures:
This image from the paper : <Fully Convolutional Networks for Semantic Segmentation> CVPR 2015.
It could locate the location of object target perfectly as shown in above images and it doesn't need to resize the resolution of input images, which is the mostly different from traditional CNNs. First, Let's review some related network parameters about AlexNet, related structure can be shown as following:
As we can see from the above figure, the input of images must be resized into a fixed resolution, like 224*224, due to the existance of fc_layer. The specific pipeline could be found in this blog, web link: http://blog.csdn.net/sunbaigui/article/details/39938097
The output of Conv 5 is: 6*6*256, we want to obtain the final results: 1*1*1000 (take the 1k classes for an example). How could we use the middle Conv 6, Conv 7, Conv 8 layers to bridge the two results ? Do we need the pool layers added ? How to set the middle parameters in each layers ? Does it really work ?
Let's do it now. We just add 3 Convolution layers for an example. The function used for change the width*height*channel (actually, it only about the width, due to width == height, and the channel only related to the output of each layer.) is :
(W- F + 2P)/S + 1
where W denotes the width of images from bottom layer, F denotes the size of Convolution filter, P means the padding you want to add, this mainly contribute to the same resolution of input and output, S denotes the stride.
Thus, the following layers needed to add to the prototxt files:
from: 6*6*256 ---> 3*3*4096 ---> 1*1*4096 ---> 1*1*43 (take my experiments for an example.)
####################################################################
## the output of Pool 5 is **
####################################################################
layer {
name: "conv6"
type: "Convolution"
bottom: "pool5"
top: "conv6"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
# group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu6"
type: "ReLU"
bottom: "conv6"
top: "conv6"
} layer {
name: "conv7"
type: "Convolution"
bottom: "conv6"
top: "conv7"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
# group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu7"
type: "ReLU"
bottom: "conv7"
top: "conv7"
} layer {
name: "conv8"
type: "Convolution"
bottom: "conv7"
top: "conv8"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
# group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu8"
type: "ReLU"
bottom: "conv8"
top: "conv8"
}
Then, make your caffe file and waiting for something amazing happens...
Actually, at first, I always run a wrong result, i.e. 2*2*43 ... It really confused me, the function is wrong ? It does not make scene. Because it really worked at the begining of the Network. Lastly, I found I make a stupid mistake, due to I add the Conv 6 from Conv 5, not Pool 5. Thus, it is really important for us to be careful and more careful.
Ok, the all pipeline has done, and due to my ACER lap-top only have a GTX960M, it warning me out of memory. The results running on the terminal are here :
I0423 ::24.421512 caffe.cpp:] Using GPUs
I0423 ::24.431041 caffe.cpp:] GPU : GeForce GTX 960M
I0423 ::24.565281 solver.cpp:] Initializing solver from parameters:
test_iter:
test_interval:
base_lr: 0.001
display:
max_iter:
lr_policy: "step"
gamma: 0.1
momentum: 0.9
weight_decay: 0.0005
stepsize:
snapshot:
snapshot_prefix: "/media/wangxiao/Acer/caffe_models_/"
solver_mode: GPU
device_id:
net: "/home/wangxiao/Downloads/fcn-caffe-master/wangxiao/train_val.prototxt"
test_initialization: false
I0423 ::24.621829 solver.cpp:] Creating training net from net file: /home/wangxiao/Downloads/fcn-caffe-master/wangxiao/train_val.prototxt
I0423 ::24.622601 net.cpp:] The NetState phase () differed from the phase () specified by a rule in layer data
I0423 ::24.622632 net.cpp:] The NetState phase () differed from the phase () specified by a rule in layer accuracy
I0423 ::24.622828 net.cpp:] Initializing net from parameters:
name: "AlexNet"
state {
phase: TRAIN
}
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mirror: false
}
image_data_param {
source: "/media/wangxiao/247317a3-e6b5-45d4-81d1-956930526746/---------------/new_born_data/train_data/newAdd_attribute_label.txt"
batch_size:
root_folder: "/media/wangxiao/247317a3-e6b5-45d4-81d1-956930526746/---------------/new_born_data/train_data/227_227_images/"
}
}
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value:
}
}
}
layer {
name: "relu1"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "norm1"
type: "LRN"
bottom: "conv1"
top: "norm1"
lrn_param {
local_size:
alpha: 0.0001
beta: 0.75
}
}
layer {
name: "pool1"
type: "Pooling"
bottom: "norm1"
top: "pool1"
pooling_param {
pool: MAX
kernel_size:
stride:
}
}
layer {
name: "conv2"
type: "Convolution"
bottom: "pool1"
top: "conv2"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu2"
type: "ReLU"
bottom: "conv2"
top: "conv2"
}
layer {
name: "norm2"
type: "LRN"
bottom: "conv2"
top: "norm2"
lrn_param {
local_size:
alpha: 0.0001
beta: 0.75
}
}
layer {
name: "pool2"
type: "Pooling"
bottom: "norm2"
top: "pool2"
pooling_param {
pool: MAX
kernel_size:
stride:
}
}
layer {
name: "conv3"
type: "Convolution"
bottom: "pool2"
top: "conv3"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value:
}
}
}
layer {
name: "relu3"
type: "ReLU"
bottom: "conv3"
top: "conv3"
}
layer {
name: "conv4"
type: "Convolution"
bottom: "conv3"
top: "conv4"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu4"
type: "ReLU"
bottom: "conv4"
top: "conv4"
}
layer {
name: "conv5"
type: "Convolution"
bottom: "conv4"
top: "conv5"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu5"
type: "ReLU"
bottom: "conv5"
top: "conv5"
}
layer {
name: "pool5"
type: "Pooling"
bottom: "conv5"
top: "pool5"
pooling_param {
pool: MAX
kernel_size:
stride:
}
}
layer {
name: "conv6"
type: "Convolution"
bottom: "pool5"
top: "conv6"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu6"
type: "ReLU"
bottom: "conv6"
top: "conv6"
}
layer {
name: "conv7"
type: "Convolution"
bottom: "conv6"
top: "conv7"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu7"
type: "ReLU"
bottom: "conv7"
top: "conv7"
}
layer {
name: "conv8"
type: "Convolution"
bottom: "conv7"
top: "conv8"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu8"
type: "ReLU"
bottom: "conv8"
top: "conv8"
}
layer {
name: "sigmoid"
type: "Sigmoid"
bottom: "conv8"
top: "conv8"
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv8"
bottom: "label"
top: "loss"
}
I0423 ::24.622962 layer_factory.hpp:] Creating layer data
I0423 ::24.623002 net.cpp:] Creating Layer data
I0423 ::24.623009 net.cpp:] data -> data
I0423 ::24.623034 net.cpp:] data -> label
I0423 ::24.623051 image_data_layer.cpp:] Opening file /media/wangxiao/247317a3-e6b5-45d4-81d1-/---------------/new_born_data/train_data/newAdd_attribute_label.txt
I0423 ::25.535037 image_data_layer.cpp:] A total of images.
I0423 ::25.543112 image_data_layer.cpp:] output data size: ,,,
I0423 ::25.554397 net.cpp:] Setting up data
I0423 ::25.554425 net.cpp:] Top shape: ()
I0423 ::25.554431 net.cpp:] Top shape: ()
I0423 ::25.554435 net.cpp:] Memory required for data:
I0423 ::25.554451 layer_factory.hpp:] Creating layer conv1
I0423 ::25.554476 net.cpp:] Creating Layer conv1
I0423 ::25.554481 net.cpp:] conv1 <- data
I0423 ::25.554492 net.cpp:] conv1 -> conv1
I0423 ::25.556519 net.cpp:] Setting up conv1
I0423 ::25.556534 net.cpp:] Top shape: ()
I0423 ::25.556537 net.cpp:] Memory required for data:
I0423 ::25.556556 layer_factory.hpp:] Creating layer relu1
I0423 ::25.556565 net.cpp:] Creating Layer relu1
I0423 ::25.556568 net.cpp:] relu1 <- conv1
I0423 ::25.556573 net.cpp:] relu1 -> conv1 (in-place)
I0423 ::25.556583 net.cpp:] Setting up relu1
I0423 ::25.556587 net.cpp:] Top shape: ()
I0423 ::25.556591 net.cpp:] Memory required for data:
I0423 ::25.556594 layer_factory.hpp:] Creating layer norm1
I0423 ::25.556602 net.cpp:] Creating Layer norm1
I0423 ::25.556604 net.cpp:] norm1 <- conv1
I0423 ::25.556609 net.cpp:] norm1 -> norm1
I0423 ::25.556646 net.cpp:] Setting up norm1
I0423 ::25.556653 net.cpp:] Top shape: ()
I0423 ::25.556689 net.cpp:] Memory required for data:
I0423 ::25.556692 layer_factory.hpp:] Creating layer pool1
I0423 ::25.556700 net.cpp:] Creating Layer pool1
I0423 ::25.556704 net.cpp:] pool1 <- norm1
I0423 ::25.556710 net.cpp:] pool1 -> pool1
I0423 ::25.556749 net.cpp:] Setting up pool1
I0423 ::25.556766 net.cpp:] Top shape: ()
I0423 ::25.556769 net.cpp:] Memory required for data:
I0423 ::25.556772 layer_factory.hpp:] Creating layer conv2
I0423 ::25.556792 net.cpp:] Creating Layer conv2
I0423 ::25.556795 net.cpp:] conv2 <- pool1
I0423 ::25.556802 net.cpp:] conv2 -> conv2
I0423 ::25.565610 net.cpp:] Setting up conv2
I0423 ::25.565634 net.cpp:] Top shape: ()
I0423 ::25.565637 net.cpp:] Memory required for data:
I0423 ::25.565651 layer_factory.hpp:] Creating layer relu2
I0423 ::25.565660 net.cpp:] Creating Layer relu2
I0423 ::25.565665 net.cpp:] relu2 <- conv2
I0423 ::25.565672 net.cpp:] relu2 -> conv2 (in-place)
I0423 ::25.565681 net.cpp:] Setting up relu2
I0423 ::25.565686 net.cpp:] Top shape: ()
I0423 ::25.565690 net.cpp:] Memory required for data:
I0423 ::25.565692 layer_factory.hpp:] Creating layer norm2
I0423 ::25.565699 net.cpp:] Creating Layer norm2
I0423 ::25.565702 net.cpp:] norm2 <- conv2
I0423 ::25.565708 net.cpp:] norm2 -> norm2
I0423 ::25.565742 net.cpp:] Setting up norm2
I0423 ::25.565747 net.cpp:] Top shape: ()
I0423 ::25.565750 net.cpp:] Memory required for data:
I0423 ::25.565753 layer_factory.hpp:] Creating layer pool2
I0423 ::25.565762 net.cpp:] Creating Layer pool2
I0423 ::25.565764 net.cpp:] pool2 <- norm2
I0423 ::25.565769 net.cpp:] pool2 -> pool2
I0423 ::25.565798 net.cpp:] Setting up pool2
I0423 ::25.565804 net.cpp:] Top shape: ()
I0423 ::25.565809 net.cpp:] Memory required for data:
I0423 ::25.565811 layer_factory.hpp:] Creating layer conv3
I0423 ::25.565821 net.cpp:] Creating Layer conv3
I0423 ::25.565824 net.cpp:] conv3 <- pool2
I0423 ::25.565831 net.cpp:] conv3 -> conv3
I0423 ::25.590066 net.cpp:] Setting up conv3
I0423 ::25.590090 net.cpp:] Top shape: ()
I0423 ::25.590092 net.cpp:] Memory required for data:
I0423 ::25.590116 layer_factory.hpp:] Creating layer relu3
I0423 ::25.590126 net.cpp:] Creating Layer relu3
I0423 ::25.590131 net.cpp:] relu3 <- conv3
I0423 ::25.590137 net.cpp:] relu3 -> conv3 (in-place)
I0423 ::25.590145 net.cpp:] Setting up relu3
I0423 ::25.590149 net.cpp:] Top shape: ()
I0423 ::25.590152 net.cpp:] Memory required for data:
I0423 ::25.590155 layer_factory.hpp:] Creating layer conv4
I0423 ::25.590167 net.cpp:] Creating Layer conv4
I0423 ::25.590169 net.cpp:] conv4 <- conv3
I0423 ::25.590176 net.cpp:] conv4 -> conv4
I0423 ::25.608953 net.cpp:] Setting up conv4
I0423 ::25.608975 net.cpp:] Top shape: ()
I0423 ::25.608979 net.cpp:] Memory required for data:
I0423 ::25.608989 layer_factory.hpp:] Creating layer relu4
I0423 ::25.609007 net.cpp:] Creating Layer relu4
I0423 ::25.609011 net.cpp:] relu4 <- conv4
I0423 ::25.609019 net.cpp:] relu4 -> conv4 (in-place)
I0423 ::25.609027 net.cpp:] Setting up relu4
I0423 ::25.609031 net.cpp:] Top shape: ()
I0423 ::25.609047 net.cpp:] Memory required for data:
I0423 ::25.609050 layer_factory.hpp:] Creating layer conv5
I0423 ::25.609061 net.cpp:] Creating Layer conv5
I0423 ::25.609066 net.cpp:] conv5 <- conv4
I0423 ::25.609071 net.cpp:] conv5 -> conv5
I0423 ::25.621208 net.cpp:] Setting up conv5
I0423 ::25.621229 net.cpp:] Top shape: ()
I0423 ::25.621233 net.cpp:] Memory required for data:
I0423 ::25.621258 layer_factory.hpp:] Creating layer relu5
I0423 ::25.621268 net.cpp:] Creating Layer relu5
I0423 ::25.621273 net.cpp:] relu5 <- conv5
I0423 ::25.621279 net.cpp:] relu5 -> conv5 (in-place)
I0423 ::25.621286 net.cpp:] Setting up relu5
I0423 ::25.621290 net.cpp:] Top shape: ()
I0423 ::25.621294 net.cpp:] Memory required for data:
I0423 ::25.621297 layer_factory.hpp:] Creating layer pool5
I0423 ::25.621304 net.cpp:] Creating Layer pool5
I0423 ::25.621306 net.cpp:] pool5 <- conv5
I0423 ::25.621314 net.cpp:] pool5 -> pool5
I0423 ::25.621347 net.cpp:] Setting up pool5
I0423 ::25.621354 net.cpp:] Top shape: ()
I0423 ::25.621357 net.cpp:] Memory required for data:
I0423 ::25.621361 layer_factory.hpp:] Creating layer conv6
I0423 ::25.621373 net.cpp:] Creating Layer conv6
I0423 ::25.621377 net.cpp:] conv6 <- pool5
I0423 ::25.621384 net.cpp:] conv6 -> conv6
I0423 ::25.731640 net.cpp:] Setting up conv6
I0423 ::25.731675 net.cpp:] Top shape: ()
I0423 ::25.731679 net.cpp:] Memory required for data:
I0423 ::25.731688 layer_factory.hpp:] Creating layer relu6
I0423 ::25.731709 net.cpp:] Creating Layer relu6
I0423 ::25.731714 net.cpp:] relu6 <- conv6
I0423 ::25.731721 net.cpp:] relu6 -> conv6 (in-place)
I0423 ::25.731731 net.cpp:] Setting up relu6
I0423 ::25.731735 net.cpp:] Top shape: ()
I0423 ::25.731739 net.cpp:] Memory required for data:
I0423 ::25.731741 layer_factory.hpp:] Creating layer conv7
I0423 ::25.731752 net.cpp:] Creating Layer conv7
I0423 ::25.731757 net.cpp:] conv7 <- conv6
I0423 ::25.731765 net.cpp:] conv7 -> conv7
I0423 ::29.661667 net.cpp:] Setting up conv7
I0423 ::29.661705 net.cpp:] Top shape: ()
I0423 ::29.661710 net.cpp:] Memory required for data:
I0423 ::29.661720 layer_factory.hpp:] Creating layer relu7
I0423 ::29.661741 net.cpp:] Creating Layer relu7
I0423 ::29.661746 net.cpp:] relu7 <- conv7
I0423 ::29.661752 net.cpp:] relu7 -> conv7 (in-place)
I0423 ::29.661761 net.cpp:] Setting up relu7
I0423 ::29.661767 net.cpp:] Top shape: ()
I0423 ::29.661769 net.cpp:] Memory required for data:
I0423 ::29.661772 layer_factory.hpp:] Creating layer conv8
I0423 ::29.661783 net.cpp:] Creating Layer conv8
I0423 ::29.661788 net.cpp:] conv8 <- conv7
I0423 ::29.661795 net.cpp:] conv8 -> conv8
I0423 ::29.666793 net.cpp:] Setting up conv8
I0423 ::29.666815 net.cpp:] Top shape: ()
I0423 ::29.666818 net.cpp:] Memory required for data:
I0423 ::29.666826 layer_factory.hpp:] Creating layer relu8
I0423 ::29.666841 net.cpp:] Creating Layer relu8
I0423 ::29.666844 net.cpp:] relu8 <- conv8
I0423 ::29.666849 net.cpp:] relu8 -> conv8 (in-place)
I0423 ::29.666856 net.cpp:] Setting up relu8
I0423 ::29.666860 net.cpp:] Top shape: ()
I0423 ::29.666877 net.cpp:] Memory required for data:
I0423 ::29.666882 layer_factory.hpp:] Creating layer sigmoid
I0423 ::29.666888 net.cpp:] Creating Layer sigmoid
I0423 ::29.666892 net.cpp:] sigmoid <- conv8
I0423 ::29.666895 net.cpp:] sigmoid -> conv8 (in-place)
I0423 ::29.666901 net.cpp:] Setting up sigmoid
I0423 ::29.666905 net.cpp:] Top shape: ()
I0423 ::29.666908 net.cpp:] Memory required for data:
I0423 ::29.666911 layer_factory.hpp:] Creating layer loss
I0423 ::29.666918 net.cpp:] Creating Layer loss
I0423 ::29.666920 net.cpp:] loss <- conv8
I0423 ::29.666924 net.cpp:] loss <- label
I0423 ::29.666931 net.cpp:] loss -> loss
I0423 ::29.666975 net.cpp:] Setting up loss
I0423 ::29.666990 net.cpp:] Top shape: ()
I0423 ::29.666992 net.cpp:] with loss weight
I0423 ::29.667017 net.cpp:] Memory required for data:
I0423 ::29.667031 net.cpp:] loss needs backward computation.
I0423 ::29.667034 net.cpp:] sigmoid needs backward computation.
I0423 ::29.667038 net.cpp:] relu8 needs backward computation.
I0423 ::29.667040 net.cpp:] conv8 needs backward computation.
I0423 ::29.667043 net.cpp:] relu7 needs backward computation.
I0423 ::29.667047 net.cpp:] conv7 needs backward computation.
I0423 ::29.667050 net.cpp:] relu6 needs backward computation.
I0423 ::29.667053 net.cpp:] conv6 needs backward computation.
I0423 ::29.667057 net.cpp:] pool5 needs backward computation.
I0423 ::29.667060 net.cpp:] relu5 needs backward computation.
I0423 ::29.667063 net.cpp:] conv5 needs backward computation.
I0423 ::29.667068 net.cpp:] relu4 needs backward computation.
I0423 ::29.667070 net.cpp:] conv4 needs backward computation.
I0423 ::29.667073 net.cpp:] relu3 needs backward computation.
I0423 ::29.667076 net.cpp:] conv3 needs backward computation.
I0423 ::29.667080 net.cpp:] pool2 needs backward computation.
I0423 ::29.667084 net.cpp:] norm2 needs backward computation.
I0423 ::29.667088 net.cpp:] relu2 needs backward computation.
I0423 ::29.667091 net.cpp:] conv2 needs backward computation.
I0423 ::29.667094 net.cpp:] pool1 needs backward computation.
I0423 ::29.667098 net.cpp:] norm1 needs backward computation.
I0423 ::29.667101 net.cpp:] relu1 needs backward computation.
I0423 ::29.667104 net.cpp:] conv1 needs backward computation.
I0423 ::29.667109 net.cpp:] data does not need backward computation.
I0423 ::29.667111 net.cpp:] This network produces output loss
I0423 ::29.667127 net.cpp:] Network initialization done.
I0423 ::29.667804 solver.cpp:] Creating test net (#) specified by net file: /home/wangxiao/Downloads/fcn-caffe-master/wangxiao/train_val.prototxt
I0423 ::29.667937 net.cpp:] The NetState phase () differed from the phase () specified by a rule in layer data
I0423 ::29.668148 net.cpp:] Initializing net from parameters:
name: "AlexNet"
state {
phase: TEST
}
layer {
name: "data"
type: "ImageData"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mirror: false
}
image_data_param {
source: "/media/wangxiao/247317a3-e6b5-45d4-81d1-956930526746/---------------/new_born_data/test_data/newAdd_attribute_label_test.txt"
batch_size:
root_folder: "/media/wangxiao/247317a3-e6b5-45d4-81d1-956930526746/---------------/new_born_data/test_data/227_227_test_images/"
}
}
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value:
}
}
}
layer {
name: "relu1"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "norm1"
type: "LRN"
bottom: "conv1"
top: "norm1"
lrn_param {
local_size:
alpha: 0.0001
beta: 0.75
}
}
layer {
name: "pool1"
type: "Pooling"
bottom: "norm1"
top: "pool1"
pooling_param {
pool: MAX
kernel_size:
stride:
}
}
layer {
name: "conv2"
type: "Convolution"
bottom: "pool1"
top: "conv2"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu2"
type: "ReLU"
bottom: "conv2"
top: "conv2"
}
layer {
name: "norm2"
type: "LRN"
bottom: "conv2"
top: "norm2"
lrn_param {
local_size:
alpha: 0.0001
beta: 0.75
}
}
layer {
name: "pool2"
type: "Pooling"
bottom: "norm2"
top: "pool2"
pooling_param {
pool: MAX
kernel_size:
stride:
}
}
layer {
name: "conv3"
type: "Convolution"
bottom: "pool2"
top: "conv3"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value:
}
}
}
layer {
name: "relu3"
type: "ReLU"
bottom: "conv3"
top: "conv3"
}
layer {
name: "conv4"
type: "Convolution"
bottom: "conv3"
top: "conv4"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu4"
type: "ReLU"
bottom: "conv4"
top: "conv4"
}
layer {
name: "conv5"
type: "Convolution"
bottom: "conv4"
top: "conv5"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
pad:
kernel_size:
group:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu5"
type: "ReLU"
bottom: "conv5"
top: "conv5"
}
layer {
name: "pool5"
type: "Pooling"
bottom: "conv5"
top: "pool5"
pooling_param {
pool: MAX
kernel_size:
stride:
}
}
layer {
name: "conv6"
type: "Convolution"
bottom: "pool5"
top: "conv6"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu6"
type: "ReLU"
bottom: "conv6"
top: "conv6"
}
layer {
name: "conv7"
type: "Convolution"
bottom: "conv6"
top: "conv7"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu7"
type: "ReLU"
bottom: "conv7"
top: "conv7"
}
layer {
name: "conv8"
type: "Convolution"
bottom: "conv7"
top: "conv8"
param {
lr_mult:
decay_mult:
}
param {
lr_mult:
decay_mult:
}
convolution_param {
num_output:
kernel_size:
stride:
weight_filler {
type: "gaussian"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.1
}
}
}
layer {
name: "relu8"
type: "ReLU"
bottom: "conv8"
top: "conv8"
}
layer {
name: "sigmoid"
type: "Sigmoid"
bottom: "conv8"
top: "conv8"
}
layer {
name: "accuracy"
type: "Accuracy"
bottom: "conv8"
bottom: "label"
top: "accuracy"
include {
phase: TEST
}
}
layer {
name: "loss"
type: "EuclideanLoss"
bottom: "conv8"
bottom: "label"
top: "loss"
}
I0423 ::29.668323 layer_factory.hpp:] Creating layer data
I0423 ::29.668349 net.cpp:] Creating Layer data
I0423 ::29.668355 net.cpp:] data -> data
I0423 ::29.668373 net.cpp:] data -> label
I0423 ::29.668382 image_data_layer.cpp:] Opening file /media/wangxiao/247317a3-e6b5-45d4-81d1-/---------------/new_born_data/test_data/newAdd_attribute_label_test.txt
I0423 ::29.696005 image_data_layer.cpp:] A total of images.
I0423 ::29.697830 image_data_layer.cpp:] output data size: ,,,
I0423 ::29.699980 net.cpp:] Setting up data
I0423 ::29.700013 net.cpp:] Top shape: ()
I0423 ::29.700019 net.cpp:] Top shape: ()
I0423 ::29.700022 net.cpp:] Memory required for data:
I0423 ::29.700028 layer_factory.hpp:] Creating layer label_data_1_split
I0423 ::29.700040 net.cpp:] Creating Layer label_data_1_split
I0423 ::29.700048 net.cpp:] label_data_1_split <- label
I0423 ::29.700060 net.cpp:] label_data_1_split -> label_data_1_split_0
I0423 ::29.700075 net.cpp:] label_data_1_split -> label_data_1_split_1
I0423 ::29.700141 net.cpp:] Setting up label_data_1_split
I0423 ::29.700151 net.cpp:] Top shape: ()
I0423 ::29.700160 net.cpp:] Top shape: ()
I0423 ::29.700176 net.cpp:] Memory required for data:
I0423 ::29.700181 layer_factory.hpp:] Creating layer conv1
I0423 ::29.700196 net.cpp:] Creating Layer conv1
I0423 ::29.700199 net.cpp:] conv1 <- data
I0423 ::29.700206 net.cpp:] conv1 -> conv1
I0423 ::29.701347 net.cpp:] Setting up conv1
I0423 ::29.701369 net.cpp:] Top shape: ()
I0423 ::29.701372 net.cpp:] Memory required for data:
I0423 ::29.701383 layer_factory.hpp:] Creating layer relu1
I0423 ::29.701390 net.cpp:] Creating Layer relu1
I0423 ::29.701395 net.cpp:] relu1 <- conv1
I0423 ::29.701400 net.cpp:] relu1 -> conv1 (in-place)
I0423 ::29.701406 net.cpp:] Setting up relu1
I0423 ::29.701412 net.cpp:] Top shape: ()
I0423 ::29.701416 net.cpp:] Memory required for data:
I0423 ::29.701418 layer_factory.hpp:] Creating layer norm1
I0423 ::29.701426 net.cpp:] Creating Layer norm1
I0423 ::29.701429 net.cpp:] norm1 <- conv1
I0423 ::29.701434 net.cpp:] norm1 -> norm1
I0423 ::29.701464 net.cpp:] Setting up norm1
I0423 ::29.701479 net.cpp:] Top shape: ()
I0423 ::29.701483 net.cpp:] Memory required for data:
I0423 ::29.701486 layer_factory.hpp:] Creating layer pool1
I0423 ::29.701503 net.cpp:] Creating Layer pool1
I0423 ::29.701505 net.cpp:] pool1 <- norm1
I0423 ::29.701510 net.cpp:] pool1 -> pool1
I0423 ::29.701537 net.cpp:] Setting up pool1
I0423 ::29.701544 net.cpp:] Top shape: ()
I0423 ::29.701545 net.cpp:] Memory required for data:
I0423 ::29.701550 layer_factory.hpp:] Creating layer conv2
I0423 ::29.701557 net.cpp:] Creating Layer conv2
I0423 ::29.701561 net.cpp:] conv2 <- pool1
I0423 ::29.701566 net.cpp:] conv2 -> conv2
I0423 ::29.709951 net.cpp:] Setting up conv2
I0423 ::29.709987 net.cpp:] Top shape: ()
I0423 ::29.709992 net.cpp:] Memory required for data:
I0423 ::29.710005 layer_factory.hpp:] Creating layer relu2
I0423 ::29.710014 net.cpp:] Creating Layer relu2
I0423 ::29.710018 net.cpp:] relu2 <- conv2
I0423 ::29.710026 net.cpp:] relu2 -> conv2 (in-place)
I0423 ::29.710033 net.cpp:] Setting up relu2
I0423 ::29.710039 net.cpp:] Top shape: ()
I0423 ::29.710042 net.cpp:] Memory required for data:
I0423 ::29.710046 layer_factory.hpp:] Creating layer norm2
I0423 ::29.710057 net.cpp:] Creating Layer norm2
I0423 ::29.710060 net.cpp:] norm2 <- conv2
I0423 ::29.710067 net.cpp:] norm2 -> norm2
I0423 ::29.710100 net.cpp:] Setting up norm2
I0423 ::29.710108 net.cpp:] Top shape: ()
I0423 ::29.710110 net.cpp:] Memory required for data:
I0423 ::29.710114 layer_factory.hpp:] Creating layer pool2
I0423 ::29.710120 net.cpp:] Creating Layer pool2
I0423 ::29.710124 net.cpp:] pool2 <- norm2
I0423 ::29.710129 net.cpp:] pool2 -> pool2
I0423 ::29.710155 net.cpp:] Setting up pool2
I0423 ::29.710171 net.cpp:] Top shape: ()
I0423 ::29.710175 net.cpp:] Memory required for data:
I0423 ::29.710187 layer_factory.hpp:] Creating layer conv3
I0423 ::29.710197 net.cpp:] Creating Layer conv3
I0423 ::29.710201 net.cpp:] conv3 <- pool2
I0423 ::29.710207 net.cpp:] conv3 -> conv3
I0423 ::29.733366 net.cpp:] Setting up conv3
I0423 ::29.733403 net.cpp:] Top shape: ()
I0423 ::29.733407 net.cpp:] Memory required for data:
I0423 ::29.733420 layer_factory.hpp:] Creating layer relu3
I0423 ::29.733439 net.cpp:] Creating Layer relu3
I0423 ::29.733444 net.cpp:] relu3 <- conv3
I0423 ::29.733453 net.cpp:] relu3 -> conv3 (in-place)
I0423 ::29.733461 net.cpp:] Setting up relu3
I0423 ::29.733466 net.cpp:] Top shape: ()
I0423 ::29.733469 net.cpp:] Memory required for data:
I0423 ::29.733472 layer_factory.hpp:] Creating layer conv4
I0423 ::29.733484 net.cpp:] Creating Layer conv4
I0423 ::29.733489 net.cpp:] conv4 <- conv3
I0423 ::29.733494 net.cpp:] conv4 -> conv4
I0423 ::29.750310 net.cpp:] Setting up conv4
I0423 ::29.750344 net.cpp:] Top shape: ()
I0423 ::29.750349 net.cpp:] Memory required for data:
I0423 ::29.750357 layer_factory.hpp:] Creating layer relu4
I0423 ::29.750366 net.cpp:] Creating Layer relu4
I0423 ::29.750370 net.cpp:] relu4 <- conv4
I0423 ::29.750376 net.cpp:] relu4 -> conv4 (in-place)
I0423 ::29.750393 net.cpp:] Setting up relu4
I0423 ::29.750397 net.cpp:] Top shape: ()
I0423 ::29.750401 net.cpp:] Memory required for data:
I0423 ::29.750403 layer_factory.hpp:] Creating layer conv5
I0423 ::29.750414 net.cpp:] Creating Layer conv5
I0423 ::29.750418 net.cpp:] conv5 <- conv4
I0423 ::29.750423 net.cpp:] conv5 -> conv5
I0423 ::29.762544 net.cpp:] Setting up conv5
I0423 ::29.762580 net.cpp:] Top shape: ()
I0423 ::29.762584 net.cpp:] Memory required for data:
I0423 ::29.762598 layer_factory.hpp:] Creating layer relu5
I0423 ::29.762609 net.cpp:] Creating Layer relu5
I0423 ::29.762614 net.cpp:] relu5 <- conv5
I0423 ::29.762619 net.cpp:] relu5 -> conv5 (in-place)
I0423 ::29.762629 net.cpp:] Setting up relu5
I0423 ::29.762646 net.cpp:] Top shape: ()
I0423 ::29.762650 net.cpp:] Memory required for data:
I0423 ::29.762653 layer_factory.hpp:] Creating layer pool5
I0423 ::29.762662 net.cpp:] Creating Layer pool5
I0423 ::29.762665 net.cpp:] pool5 <- conv5
I0423 ::29.762671 net.cpp:] pool5 -> pool5
I0423 ::29.762707 net.cpp:] Setting up pool5
I0423 ::29.762724 net.cpp:] Top shape: ()
I0423 ::29.762727 net.cpp:] Memory required for data:
I0423 ::29.762740 layer_factory.hpp:] Creating layer conv6
I0423 ::29.762753 net.cpp:] Creating Layer conv6
I0423 ::29.762755 net.cpp:] conv6 <- pool5
I0423 ::29.762761 net.cpp:] conv6 -> conv6
I0423 ::29.868270 net.cpp:] Setting up conv6
I0423 ::29.868306 net.cpp:] Top shape: ()
I0423 ::29.868311 net.cpp:] Memory required for data:
I0423 ::29.868320 layer_factory.hpp:] Creating layer relu6
I0423 ::29.868330 net.cpp:] Creating Layer relu6
I0423 ::29.868335 net.cpp:] relu6 <- conv6
I0423 ::29.868342 net.cpp:] relu6 -> conv6 (in-place)
I0423 ::29.868350 net.cpp:] Setting up relu6
I0423 ::29.868355 net.cpp:] Top shape: ()
I0423 ::29.868358 net.cpp:] Memory required for data:
I0423 ::29.868361 layer_factory.hpp:] Creating layer conv7
I0423 ::29.868372 net.cpp:] Creating Layer conv7
I0423 ::29.868376 net.cpp:] conv7 <- conv6
I0423 ::29.868381 net.cpp:] conv7 -> conv7
I0423 ::33.773138 net.cpp:] Setting up conv7
I0423 ::33.773177 net.cpp:] Top shape: ()
I0423 ::33.773182 net.cpp:] Memory required for data:
I0423 ::33.773192 layer_factory.hpp:] Creating layer relu7
I0423 ::33.773203 net.cpp:] Creating Layer relu7
I0423 ::33.773219 net.cpp:] relu7 <- conv7
I0423 ::33.773232 net.cpp:] relu7 -> conv7 (in-place)
I0423 ::33.773247 net.cpp:] Setting up relu7
I0423 ::33.773257 net.cpp:] Top shape: ()
I0423 ::33.773265 net.cpp:] Memory required for data:
I0423 ::33.773269 layer_factory.hpp:] Creating layer conv8
I0423 ::33.773283 net.cpp:] Creating Layer conv8
I0423 ::33.773286 net.cpp:] conv8 <- conv7
I0423 ::33.773293 net.cpp:] conv8 -> conv8
I0423 ::33.778169 net.cpp:] Setting up conv8
I0423 ::33.778193 net.cpp:] Top shape: ()
I0423 ::33.778198 net.cpp:] Memory required for data:
I0423 ::33.778203 layer_factory.hpp:] Creating layer relu8
I0423 ::33.778221 net.cpp:] Creating Layer relu8
I0423 ::33.778226 net.cpp:] relu8 <- conv8
I0423 ::33.778233 net.cpp:] relu8 -> conv8 (in-place)
I0423 ::33.778239 net.cpp:] Setting up relu8
I0423 ::33.778244 net.cpp:] Top shape: ()
I0423 ::33.778246 net.cpp:] Memory required for data:
I0423 ::33.778249 layer_factory.hpp:] Creating layer sigmoid
I0423 ::33.778255 net.cpp:] Creating Layer sigmoid
I0423 ::33.778260 net.cpp:] sigmoid <- conv8
I0423 ::33.778265 net.cpp:] sigmoid -> conv8 (in-place)
I0423 ::33.778270 net.cpp:] Setting up sigmoid
I0423 ::33.778275 net.cpp:] Top shape: ()
I0423 ::33.778277 net.cpp:] Memory required for data:
I0423 ::33.778295 layer_factory.hpp:] Creating layer conv8_sigmoid_0_split
I0423 ::33.778301 net.cpp:] Creating Layer conv8_sigmoid_0_split
I0423 ::33.778303 net.cpp:] conv8_sigmoid_0_split <- conv8
I0423 ::33.778318 net.cpp:] conv8_sigmoid_0_split -> conv8_sigmoid_0_split_0
I0423 ::33.778339 net.cpp:] conv8_sigmoid_0_split -> conv8_sigmoid_0_split_1
I0423 ::33.778373 net.cpp:] Setting up conv8_sigmoid_0_split
I0423 ::33.778389 net.cpp:] Top shape: ()
I0423 ::33.778393 net.cpp:] Top shape: ()
I0423 ::33.778408 net.cpp:] Memory required for data:
I0423 ::33.778411 layer_factory.hpp:] Creating layer accuracy
I0423 ::33.778419 net.cpp:] Creating Layer accuracy
I0423 ::33.778422 net.cpp:] accuracy <- conv8_sigmoid_0_split_0
I0423 ::33.778426 net.cpp:] accuracy <- label_data_1_split_0
I0423 ::33.778432 net.cpp:] accuracy -> accuracy
I0423 ::33.778439 net.cpp:] Setting up accuracy
I0423 ::33.778446 net.cpp:] Top shape: ()
I0423 ::33.778452 net.cpp:] Memory required for data:
I0423 ::33.778457 layer_factory.hpp:] Creating layer loss
I0423 ::33.778477 net.cpp:] Creating Layer loss
I0423 ::33.778496 net.cpp:] loss <- conv8_sigmoid_0_split_1
I0423 ::33.778503 net.cpp:] loss <- label_data_1_split_1
I0423 ::33.778513 net.cpp:] loss -> loss
I0423 ::33.778563 net.cpp:] Setting up loss
I0423 ::33.778573 net.cpp:] Top shape: ()
I0423 ::33.778578 net.cpp:] with loss weight
I0423 ::33.778602 net.cpp:] Memory required for data:
I0423 ::33.778609 net.cpp:] loss needs backward computation.
I0423 ::33.778616 net.cpp:] accuracy does not need backward computation.
I0423 ::33.778621 net.cpp:] conv8_sigmoid_0_split needs backward computation.
I0423 ::33.778625 net.cpp:] sigmoid needs backward computation.
I0423 ::33.778627 net.cpp:] relu8 needs backward computation.
I0423 ::33.778630 net.cpp:] conv8 needs backward computation.
I0423 ::33.778633 net.cpp:] relu7 needs backward computation.
I0423 ::33.778636 net.cpp:] conv7 needs backward computation.
I0423 ::33.778640 net.cpp:] relu6 needs backward computation.
I0423 ::33.778642 net.cpp:] conv6 needs backward computation.
I0423 ::33.778646 net.cpp:] pool5 needs backward computation.
I0423 ::33.778651 net.cpp:] relu5 needs backward computation.
I0423 ::33.778655 net.cpp:] conv5 needs backward computation.
I0423 ::33.778657 net.cpp:] relu4 needs backward computation.
I0423 ::33.778661 net.cpp:] conv4 needs backward computation.
I0423 ::33.778664 net.cpp:] relu3 needs backward computation.
I0423 ::33.778666 net.cpp:] conv3 needs backward computation.
I0423 ::33.778671 net.cpp:] pool2 needs backward computation.
I0423 ::33.778673 net.cpp:] norm2 needs backward computation.
I0423 ::33.778677 net.cpp:] relu2 needs backward computation.
I0423 ::33.778681 net.cpp:] conv2 needs backward computation.
I0423 ::33.778684 net.cpp:] pool1 needs backward computation.
I0423 ::33.778687 net.cpp:] norm1 needs backward computation.
I0423 ::33.778692 net.cpp:] relu1 needs backward computation.
I0423 ::33.778694 net.cpp:] conv1 needs backward computation.
I0423 ::33.778698 net.cpp:] label_data_1_split does not need backward computation.
I0423 ::33.778702 net.cpp:] data does not need backward computation.
I0423 ::33.778705 net.cpp:] This network produces output accuracy
I0423 ::33.778709 net.cpp:] This network produces output loss
I0423 ::33.778728 net.cpp:] Network initialization done.
I0423 ::33.778976 solver.cpp:] Solver scaffolding done.
I0423 ::33.779458 caffe.cpp:] Finetuning from /home/wangxiao/Downloads/fcn-caffe-master/wangxiao/bvlc_alexnet.caffemodel
I0423 ::34.067591 upgrade_proto.cpp:] Attempting to upgrade input file specified using deprecated transformation parameters: /home/wangxiao/Downloads/fcn-caffe-master/wangxiao/bvlc_alexnet.caffemodel
I0423 ::34.067654 upgrade_proto.cpp:] Successfully upgraded file specified using deprecated data transformation parameters.
W0423 ::34.067659 upgrade_proto.cpp:] Note that future Caffe releases will only support transform_param messages for transformation fields.
I0423 ::34.067752 upgrade_proto.cpp:] Attempting to upgrade input file specified using deprecated V1LayerParameter: /home/wangxiao/Downloads/fcn-caffe-master/wangxiao/bvlc_alexnet.caffemodel
I0423 ::34.193063 upgrade_proto.cpp:] Successfully upgraded file specified using deprecated V1LayerParameter
I0423 ::34.196166 net.cpp:] Ignoring source layer fc6
I0423 ::34.196195 net.cpp:] Ignoring source layer drop6
I0423 ::34.196199 net.cpp:] Ignoring source layer fc7
I0423 ::34.196203 net.cpp:] Ignoring source layer drop7
I0423 ::34.196207 net.cpp:] Ignoring source layer fc8
I0423 ::34.491250 upgrade_proto.cpp:] Attempting to upgrade input file specified using deprecated transformation parameters: /home/wangxiao/Downloads/fcn-caffe-master/wangxiao/bvlc_alexnet.caffemodel
I0423 ::34.491279 upgrade_proto.cpp:] Successfully upgraded file specified using deprecated data transformation parameters.
W0423 ::34.491284 upgrade_proto.cpp:] Note that future Caffe releases will only support transform_param messages for transformation fields.
I0423 ::34.491298 upgrade_proto.cpp:] Attempting to upgrade input file specified using deprecated V1LayerParameter: /home/wangxiao/Downloads/fcn-caffe-master/wangxiao/bvlc_alexnet.caffemodel
I0423 ::34.615309 upgrade_proto.cpp:] Successfully upgraded file specified using deprecated V1LayerParameter
I0423 ::34.617781 net.cpp:] Ignoring source layer fc6
I0423 ::34.617805 net.cpp:] Ignoring source layer drop6
I0423 ::34.617808 net.cpp:] Ignoring source layer fc7
I0423 ::34.617812 net.cpp:] Ignoring source layer drop7
I0423 ::34.617815 net.cpp:] Ignoring source layer fc8
I0423 ::34.619755 caffe.cpp:] Starting Optimization
I0423 ::34.619771 solver.cpp:] Solving AlexNet
I0423 ::34.619776 solver.cpp:] Learning Rate Policy: step
I0423 ::35.070583 solver.cpp:] Iteration , loss = 7.51117
I0423 ::35.070628 sgd_solver.cpp:] Iteration , lr = 0.001
F0423 ::35.071538 syncedmem.cpp:] Check failed: error == cudaSuccess ( vs. ) out of memory
*** Check failure stack trace: ***
@ 0x7f3d97747daa (unknown)
@ 0x7f3d97747ce4 (unknown)
@ 0x7f3d977476e6 (unknown)
@ 0x7f3d9774a687 (unknown)
@ 0x7f3d97e0fbd1 caffe::SyncedMemory::to_gpu()
@ 0x7f3d97e0ef39 caffe::SyncedMemory::mutable_gpu_data()
@ 0x7f3d97e76c02 caffe::Blob<>::mutable_gpu_data()
@ 0x7f3d97e8857c caffe::SGDSolver<>::ComputeUpdateValue()
@ 0x7f3d97e88f73 caffe::SGDSolver<>::ApplyUpdate()
@ 0x7f3d97e2827c caffe::Solver<>::Step()
@ 0x7f3d97e288c9 caffe::Solver<>::Solve()
@ 0x408abe train()
@ 0x405f8c main
@ 0x7f3d96a55ec5 (unknown)
@ 0x4066c1 (unknown)
@ (nil) (unknown)
Later, we will concentrate on how to locate the target object and shown us the feature from each Convolution layers.
Waiting and Continuing ...
All right, the terminal shown me this, oh, my god ... Wrong ! Wrong ! Wrong !!!
The loss = nan , fuck, how it possible ???
Due to the base_lr = 0.001, and change into base_lr = 0.000001, the loss become normal.
how to change the AlexNet into FCNs ?的更多相关文章
- 经典卷积神经网络(LeNet、AlexNet、VGG、GoogleNet、ResNet)的实现(MXNet版本)
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现. 其中 文章 详解卷 ...
- [Model] AlexNet
CaffeNet - a variant of AlexNet Ref: Classification: Instant Recognition with Caffe This is caffeNet ...
- (转)ResNet, AlexNet, VGG, Inception: Understanding various architectures of Convolutional Networks
ResNet, AlexNet, VGG, Inception: Understanding various architectures of Convolutional Networks by KO ...
- 从PyTorch到ONNX的端到端AlexNet
从PyTorch到ONNX的端到端AlexNet 这是一个简单的脚本,可将Torchvision中定义的经过预训练的AlexNet导出到ONNX中.运行一轮推理Inference,然后将生成的跟踪模型 ...
- AlexNet: ImageNet Classification with Deep Convolutional Neural Networks
目录 激活函数 防止过拟合 增加数据 Dropout 细节 代码 AlexNet 上图是论文的网络的结构图,包括5个卷积层和3个全连接层,作者还特别强调,depth的重要性,少一层结果就会变差,所以这 ...
- 代码的坏味道(10)——发散式变化(Divergent Change)
坏味道--发散式变化(Divergent Change) 发散式变化(Divergent Change) 类似于 霰弹式修改(Shotgun Surgery) ,但实际上完全不同.发散式变化(Dive ...
- [LeetCode] Coin Change 硬币找零
You are given coins of different denominations and a total amount of money amount. Write a function ...
- input事件与change事件
输入框的change事件: 必须等到输入框失去焦点的时候才会触发,鼠标在空白的地方点一下: 输入框的input事件: 在输入内容变化的同时,实时的触发,不需要等到失去焦点.
- Change the Target Recovery Time of a Database (SQL Server) 间接-checkpoints flushcache flushcache-message
Change the Target Recovery Time of a Database (SQL Server) 间接checkpoints flushcache flushcache-mes ...
随机推荐
- 命令行BASH
shell 壳,把用户的指令翻译给内核kernel,真正工作的是内核 shell分为cli(command line interface)和gui(graphical user interface) ...
- Mahout0.9的安装与测试
最近想实协同过滤的MR算法,但是网上查了一下,发现hadoop的生态系统中的Mahout的项目已经实现了相应的算法,因此想先尝试着实时这个mahout的使用及效果.要想用mahout必须要部署到had ...
- jstl表达式替换某些字符
转自:http://www.yiibai.com/jsp/jstl_function_replace.html fn:replace() 函数替换一个字符串与另一个字符串的所有匹配. 语法 fn:re ...
- 国产单机RPG游戏的情怀
最近在玩儿仙剑奇侠传5,这个游戏从小时候玩儿到现在,也算是见证了一代人的成长,小时候没少玩盗版,现在自己工作了,有了固定的收入,也能体会到游戏开发者的不容易,尤其是单机游戏这个圈子,现在国内几乎没有人 ...
- R函数是对A方法的封装
$user = new UserController; === $user=A("User"); $user = new UserController; $user-& ...
- Python的魔法方法 .
基本行为和属性 __init__(self[,....])构造函数 . 在实例化对象的时候会自动运行 __del__(self)析构函数 . 在对象被回收机制回收的时候会被调用 __str__(sel ...
- BZOJ 1271 秦腾与教学评估
二分. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> ...
- Saving structured data with json
Strings can easily be written to and read from a file. Numbers take a bit more effort, since the rea ...
- ++index 与 index++
摘自:C++标准程序库
- 如何从oc中去获取一个私有的变量.....
运行时 的用法 1.定义的一个类,里面有一个私有变量mt_,并且在初始化值为"HaHa Ha ".@interface Mobj : NSObject {@privateNSStr ...