Giter Club home page Giter Club logo

textboxes_plusplus's People

Contributors

mdbenito avatar mhliao avatar sbalk avatar stevenschmatz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

textboxes_plusplus's Issues

Can I disable CRNN?

I see that I don't need the crnn for my problem. Can I disable it? And if yes, Pls help me how.

Undefined symbol when running demo.py

I'm facing this issue when trying to run python examples/text/demo.py. I've run build_cpp.sh without error......someone please help!

  • Ubuntu 16.04

recognition begin
/home/localuser/torch/install/bin/luajit: /home/localuser/torch/install/share/lua/5.1/trepl/init.lua:389: error loading module 'crnn/src/libcrnn' from file './crnn/src/libcrnn.so':
./crnn/src/libcrnn.so: undefined symbol: _ZN6google10LogMessage6streamEv
stack traceback:
[C]: in function 'error'
/home/localuser/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'
crnn/src/demo.lua:9: in main chunk
[C]: in function 'dofile'
...user/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
[C]: at 0x00405d50
Traceback (most recent call last):
File "examples/text/demo.py", line 202, in
'-dicPath', config['lexicon_path']])
File "/usr/lib/python2.7/subprocess.py", line 541, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['th', 'crnn/src/demo.lua', '-imgDir', './demo_images/', '-imgName', 'demo.jpg', '-cropDir', './demo_images/crops/', '-resultDir', './demo_images/recognition_result/', '-dicPath', './crnn/data/icdar_generic_lexicon.txt']' returned non-zero exit status 1

How many default boxes?

@MhLiao
Hello! It seems 7 default boxes in paper, but seems 20 in demo.py result. Is there smoe vetrical offset make 7 to 20?
I0313 17:27:55.352600 9088 layer_factory.hpp:77] Creating layer conv9_2_mbox_conf
I0313 17:27:55.352625 9088 net.cpp:100] Creating Layer conv9_2_mbox_conf
I0313 17:27:55.352638 9088 net.cpp:434] conv9_2_mbox_conf <- conv9_2_conv9_2_relu_0_split_1
I0313 17:27:55.352658 9088 net.cpp:408] conv9_2_mbox_conf -> conv9_2_mbox_conf
I0313 17:27:55.354022 9088 net.cpp:150] Setting up conv9_2_mbox_conf
I0313 17:27:55.354037 9088 net.cpp:157] Top shape: 1 40 8 8 (2560)
I think 40 is 2 classes times 20 default boxes, is it true?

CRNN compile error with latest fblualib and thpp

Hi, I am running into a problem compiling TB++:

[ 50%] Building CXX object CMakeFiles/crnn.dir/ctc.cpp.o
/home/john/TextBoxes_plusplus/crnn/src/cpp/ctc.cpp: In instantiation of ‘int {anonymous}::forwardBackward(lua_State*) [with T =                float; lua_State = lua_State]’:
/home/john/TextBoxes_plusplus/crnn/src/cpp/ctc.cpp:200:16:   required from ‘const luaL_Reg {anonymous}::Registerer<float>::funct               ions_ [3]’
/home/john/TextBoxes_plusplus/crnn/src/cpp/ctc.cpp:209:24:   required from ‘static void {anonymous}::Registerer<T>::registerFunc               tions(lua_State*) [with T = float; lua_State = lua_State]’
/home/john/TextBoxes_plusplus/crnn/src/cpp/ctc.cpp:216:24:   required from here
/home/john/TextBoxes_plusplus/crnn/src/cpp/ctc.cpp:22:76: error: conversion from ‘thpp::TensorBase<float, thpp::Storage<float>,                thpp::Tensor<float> >::Ptr {aka thpp::TensorPtr<thpp::Tensor<float> >}’ to non-scalar type ‘const thpp::Tensor<float>’ requested
     const thpp::Tensor<T> input     = fblualib::luaGetTensorChecked<T>(L, 1);

This error is referenced here as well. I believe you have modified the CRNN code so I don't think I can use the latest version of CRNN that resolves this. One way that someone got it to compile (see reference) was by downgrading fblualib and thpp. Is this the route you would take or do you know of a cleaner way?

Thanks in advance and appreciate you sharing your software.

Caffe error when building

I'm trying to build custom caffe on Textboxes++ but I'm getting an error. Please help!

Rash-MacBook-Pro:TextBoxes++ rashmendis$ make -j8
CXX src/caffe/common.cpp
CXX src/caffe/data_transformer.cpp
CXX src/caffe/layers/ctc_decoder_layer.cpp
CXX src/caffe/layers/tanh_layer.cpp
CXX src/caffe/layers/smooth_L1_loss_layer.cpp
CXX src/caffe/layers/bnll_layer.cpp
CXX src/caffe/layers/relu_layer.cpp
CXX src/caffe/layers/spp_layer.cpp
CXX src/caffe/layers/argmax_layer.cpp
CXX src/caffe/layers/sigmoid_layer.cpp
CXX src/caffe/layers/crop_layer.cpp
CXX src/caffe/layers/cudnn_pooling_layer.cpp
CXX src/caffe/layers/prior_box_layer.cpp
CXX src/caffe/layers/multinomial_logistic_loss_layer.cpp
CXX src/caffe/layers/cudnn_lcn_layer.cpp
CXX src/caffe/layers/exp_layer.cpp
CXX src/caffe/layers/cudnn_conv_layer.cpp
CXX src/caffe/layers/log_layer.cpp
CXX src/caffe/layers/deconv_layer.cpp
CXX src/caffe/layers/euclidean_loss_layer.cpp
CXX src/caffe/layers/inner_product_layer.cpp
CXX src/caffe/layers/reduction_layer.cpp
CXX src/caffe/layers/mvn_layer.cpp
CXX src/caffe/layers/batch_reindex_layer.cpp
CXX src/caffe/layers/recurrent_layer.cpp
CXX src/caffe/layers/input_layer.cpp
CXX src/caffe/layers/image_data_layer.cpp
CXX src/caffe/layers/conv_layer.cpp
CXX src/caffe/layers/roi_pooling_layer.cpp
CXX src/caffe/layers/normalize_layer.cpp
CXX src/caffe/layers/detection_evaluate_layer.cpp
CXX src/caffe/layers/lrn_layer.cpp
CXX src/caffe/layers/prelu_layer.cpp
CXX src/caffe/layers/permute_layer.cpp
CXX src/caffe/layers/base_conv_layer.cpp
CXX src/caffe/layers/cudnn_tanh_layer.cpp
CXX src/caffe/layers/absval_layer.cpp
CXX src/caffe/layers/batch_norm_layer.cpp
CXX src/caffe/layers/cudnn_softmax_layer.cpp
CXX src/caffe/layers/eltwise_layer.cpp
CXX src/caffe/layers/threshold_layer.cpp
CXX src/caffe/layers/cudnn_relu_layer.cpp
CXX src/caffe/layers/cudnn_lrn_layer.cpp
CXX src/caffe/layers/hdf5_output_layer.cpp
CXX src/caffe/layers/accuracy_layer.cpp
CXX src/caffe/layers/window_data_layer.cpp
CXX src/caffe/layers/bias_layer.cpp
CXX src/caffe/layers/silence_layer.cpp
CXX src/caffe/layers/rnn_layer.cpp
CXX src/caffe/layers/scale_layer.cpp
CXX src/caffe/layers/base_data_layer.cpp
CXX src/caffe/layers/neuron_layer.cpp
CXX src/caffe/layers/filter_layer.cpp
CXX src/caffe/layers/parameter_layer.cpp
CXX src/caffe/layers/data_layer.cpp
CXX src/caffe/layers/memory_data_layer.cpp
CXX src/caffe/layers/softmax_loss_layer.cpp
CXX src/caffe/layers/elu_layer.cpp
CXX src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp
CXX src/caffe/layers/lstm_unit_layer.cpp
CXX src/caffe/layers/embed_layer.cpp
CXX src/caffe/layers/reverse_layer.cpp
CXX src/caffe/layers/multibox_loss_layer.cpp
CXX src/caffe/layers/im2col_layer.cpp
CXX src/caffe/layers/softmax_layer.cpp
CXX src/caffe/layers/loss_layer.cpp
CXX src/caffe/layers/contrastive_loss_layer.cpp
CXX src/caffe/layers/dummy_data_layer.cpp
CXX src/caffe/layers/hinge_loss_layer.cpp
CXX src/caffe/layers/dropout_layer.cpp
CXX src/caffe/layers/concat_layer.cpp
CXX src/caffe/layers/flatten_layer.cpp
CXX src/caffe/layers/split_layer.cpp
CXX src/caffe/layers/infogain_loss_layer.cpp
CXX src/caffe/layers/cudnn_sigmoid_layer.cpp
CXX src/caffe/layers/detection_output_layer.cpp
CXX src/caffe/layers/hdf5_data_layer.cpp
CXX src/caffe/layers/video_data_layer.cpp
CXX src/caffe/layers/pooling_layer.cpp
CXX src/caffe/layers/power_layer.cpp
CXX src/caffe/layers/reshape_layer.cpp
CXX src/caffe/layers/ctc_loss_layer.cpp
CXX src/caffe/layers/tile_layer.cpp
CXX src/caffe/layers/annotated_data_layer.cpp
CXX src/caffe/layers/lstm_layer.cpp
CXX src/caffe/layers/slice_layer.cpp
CXX src/caffe/parallel.cpp
CXX src/caffe/util/im2col.cpp
CXX src/caffe/util/db_lmdb.cpp
CXX src/caffe/util/im_transforms.cpp
CXX src/caffe/util/bbox_util.cpp
CXX src/caffe/util/db.cpp
CXX src/caffe/util/upgrade_proto.cpp
CXX src/caffe/util/benchmark.cpp
CXX src/caffe/util/cudnn.cpp
CXX src/caffe/util/math_functions.cpp
CXX src/caffe/util/sampler.cpp
src/caffe/util/im_transforms.cpp:28:13: warning: unused variable 'prob_eps' [-Wunused-const-variable]
const float prob_eps = 0.01;
            ^
1 warning generated.
CXX src/caffe/util/hdf5.cpp
CXX src/caffe/util/signal_handler.cpp
CXX src/caffe/util/blocking_queue.cpp
CXX src/caffe/util/io.cpp
CXX src/caffe/util/db_leveldb.cpp
CXX src/caffe/util/insert_splits.cpp
CXX src/caffe/layer_factory.cpp
CXX src/caffe/blob.cpp
CXX src/caffe/layer.cpp
CXX src/caffe/solvers/nesterov_solver.cpp
src/caffe/util/bbox_util.cpp:723:30: error: no member named 'format' in namespace 'boost'
  std::string s = str(boost::format("POLYGON((%1% %2%, %3% %4%, %5% %6%, %7% %8%, %9% %10%))") % x1 % y1 % x2 % y2 % x3 % y3 % x4 % y4 % x1 % y1);
                      ~~~~~~~^
src/caffe/util/bbox_util.cpp:743:30: error: no member named 'format' in namespace 'boost'
  std::string s = str(boost::format("POLYGON((%1% %2%, %3% %4%, %5% %6%, %7% %8%, %9% %10%))") % x1 % y1 % x2 % y2 % x3 % y3 % x4 % y4 % x1 % y1);
                      ~~~~~~~^
src/caffe/util/bbox_util.cpp:836:3: error: no matching function for call to 'RboxToPolygon'
  RboxToPolygon(rbox1, polygon1);
  ^~~~~~~~~~~~~
src/caffe/util/bbox_util.cpp:850:16: note: in instantiation of function template specialization 'caffe::RboxOverlap<float>' requested here
template float RboxOverlap(const float* rbox1, const float* rbox2);
               ^
src/caffe/util/bbox_util.cpp:708:6: note: candidate function not viable: no known conversion from 'const float *' to 'const caffe::NormalizedRBox' for 1st argument
void RboxToPolygon(const NormalizedRBox rbox, Polygon& polygon){
     ^
src/caffe/util/bbox_util.cpp:728:6: note: candidate template ignored: substitution failure [with Dtype = float]
void RboxToPolygon(const Dtype* rbox, Polygon& polygon){
     ^
src/caffe/util/bbox_util.cpp:837:3: error: no matching function for call to 'RboxToPolygon'
  RboxToPolygon(rbox2, polygon2);
  ^~~~~~~~~~~~~
src/caffe/util/bbox_util.cpp:708:6: note: candidate function not viable: no known conversion from 'const float *' to 'const caffe::NormalizedRBox' for 1st argument
void RboxToPolygon(const NormalizedRBox rbox, Polygon& polygon){
     ^
src/caffe/util/bbox_util.cpp:728:6: note: candidate template ignored: substitution failure [with Dtype = float]
void RboxToPolygon(const Dtype* rbox, Polygon& polygon){
     ^
src/caffe/util/bbox_util.cpp:836:3: error: no matching function for call to 'RboxToPolygon'
  RboxToPolygon(rbox1, polygon1);
  ^~~~~~~~~~~~~
src/caffe/util/bbox_util.cpp:851:17: note: in instantiation of function template specialization 'caffe::RboxOverlap<double>' requested here
template double RboxOverlap(const double* rbox1, const double* rbox2);
                ^
src/caffe/util/bbox_util.cpp:708:6: note: candidate function not viable: no known conversion from 'const double *' to 'const caffe::NormalizedRBox' for 1st argument
void RboxToPolygon(const NormalizedRBox rbox, Polygon& polygon){
     ^
src/caffe/util/bbox_util.cpp:728:6: note: candidate template ignored: substitution failure [with Dtype = double]
void RboxToPolygon(const Dtype* rbox, Polygon& polygon){
     ^
src/caffe/util/bbox_util.cpp:837:3: error: no matching function for call to 'RboxToPolygon'
  RboxToPolygon(rbox2, polygon2);
  ^~~~~~~~~~~~~
src/caffe/util/bbox_util.cpp:708:6: note: candidate function not viable: no known conversion from 'const double *' to 'const caffe::NormalizedRBox' for 1st argument
void RboxToPolygon(const NormalizedRBox rbox, Polygon& polygon){
     ^
src/caffe/util/bbox_util.cpp:728:6: note: candidate template ignored: substitution failure [with Dtype = double]
void RboxToPolygon(const Dtype* rbox, Polygon& polygon){
     ^
src/caffe/util/bbox_util.cpp:3627:25: error: no matching function for call to 'RboxOverlap'
        float overlap = RboxOverlap(rboxes + idx * 9, rboxes + kept_idx * 9);
                        ^~~~~~~~~~~
src/caffe/util/bbox_util.cpp:3644:6: note: in instantiation of function template specialization 'caffe::ApplyNMSFastRBox<float>' requested here
void ApplyNMSFastRBox(const float* rboxes, const float* scores, const int num,
     ^
src/caffe/util/bbox_util.cpp:750:7: note: candidate function not viable: no known conversion from 'const float *' to 'const caffe::NormalizedRBox' for 1st argument
float RboxOverlap(const NormalizedRBox& rbox1, const NormalizedRBox& rbox2) {
      ^
src/caffe/util/bbox_util.cpp:827:7: note: candidate template ignored: substitution failure [with Dtype = float]
Dtype RboxOverlap(const Dtype* rbox1, const Dtype* rbox2) {
      ^
src/caffe/util/bbox_util.cpp:3627:25: error: no matching function for call to 'RboxOverlap'
        float overlap = RboxOverlap(rboxes + idx * 9, rboxes + kept_idx * 9);
                        ^~~~~~~~~~~
src/caffe/util/bbox_util.cpp:3648:6: note: in instantiation of function template specialization 'caffe::ApplyNMSFastRBox<double>' requested here
void ApplyNMSFastRBox(const double* rboxes, const double* scores, const int num,
     ^
src/caffe/util/bbox_util.cpp:750:7: note: candidate function not viable: no known conversion from 'const double *' to 'const caffe::NormalizedRBox' for 1st argument
float RboxOverlap(const NormalizedRBox& rbox1, const NormalizedRBox& rbox2) {
      ^
src/caffe/util/bbox_util.cpp:827:7: note: candidate template ignored: substitution failure [with Dtype = double]
Dtype RboxOverlap(const Dtype* rbox1, const Dtype* rbox2) {
      ^
8 errors generated.
make: *** [.build_release/src/caffe/util/bbox_util.o] Error 1
make: *** Waiting for unfinished jobs....
src/caffe/util/blocking_queue.cpp:50:7: warning: unused typedef 'INVALID_REQUESTED_LOG_SEVERITY' [-Wunused-local-typedef]
      LOG_EVERY_N(INFO, 1000)<< log_on_wait;
      ^
/usr/local/include/glog/logging.h:943:30: note: expanded from macro 'LOG_EVERY_N'
                             INVALID_REQUESTED_LOG_SEVERITY);           \
                             ^
1 warning generated.
Rash-MacBook-Pro:TextBoxes++ rashmendis$ 

Test net output detection_eval

Hi,
I'm using your code to train on a new dataset.
The test net outputs a 'detection_eval' value, does this value larger means better? or it is a kind of loss, less means better?

Thanks

error with examples/text/train.py

image
hello, I'm getting this error when run train.py, Does anyone have the same problem as me?
I think my problem maybe relate to "boost filesystem". So, I input "ldd ./build/tools/caffe" to see some links, here the result.
image

Result not reproducible for ICDAR2015

Hi,
I'm trying to reproduce the result in the paper which are,
image
image
But it seems not reproducible.

Im using the pre-trained model downloaded from your link which is for ICDAR2015 (model_icdar15.caffemodel)

I've tested in 2 ways,
These are my parameters, and the rest is as is except the loops added for batch inference.

And for the evaluation,
I'm using the official evaluation code downloaded from ICDAR challenge

And below is the tested set link

Config 1

demo.py

'input_height' : 1024,
'input_width' : 1024,
'overlap_threshold' : 0.2,

deploy.prototxt

dim: 1024
dim: 1024

Result 1

Calculated!{"recall": 0.7448242657679345, "precision": 0.815068493150685, "hmean": 0.7783647798742138, "AP": 0}

Config 2

Same as Config 1 but,
demo.py

'overlap_threshold' : 0.5,

Result 2

Calculated!{"recall": 0.8078960038517092, "precision": 0.7198627198627199, "hmean": 0.7613430127041741, "AP": 0}

Both of the results does not seem to match the performance mentioned in the paper.

Please help if there are another parameters to be tuned.

It is not changed by parameter in config.lua!

I change this:
trainBatchSize = 1, -- origin 64
valBatchSize = 1, -- origin 256
maxIterations = 200, --origin 2000000
However, I still have the same error at the same place when running demo.py(Check failed: error == cudaSuccess (2 vs. 0) out of memory)
The log is also same.
How can I change the parameter in order to solve the OOM of GPU(Ubuntu16.04 4G memory of GPU)?
This is the log:

WARNING: Logging before InitGoogleLogging() is written to STDERR
W0407 18:39:39.171597 7609 _caffe.cpp:123] DEPRECATION WARNING - deprecated use of Python interface
W0407 18:39:39.171630 7609 _caffe.cpp:124] Use this instead (with the named "weights" parameter):
W0407 18:39:39.171634 7609 caffe.cpp:126] Net('./models/deploy.prototxt', 1, weights='./models/model_icdar15.caffemodel')
I0407 18:39:39.174464 7609 upgrade_proto.cpp:67] Attempting to upgrade input file specified using deprecated input fields: ./models/deploy.prototxt
I0407 18:39:39.174485 7609 upgrade_proto.cpp:70] Successfully upgraded file specified using deprecated input fields.
W0407 18:39:39.174489 7609 upgrade_proto.cpp:72] Note that future Caffe releases will only support input layers and not input fields.
I0407 18:39:39.174955 7609 net.cpp:58] Initializing net from parameters:
name: "VGG_text_text_polygon_ic15_fix_order_384x384_deploy"
state {
phase: TEST
level: 0
}
layer {
name: "input"
type: "Input"
top: "data"
input_param {
shape {
dim: 1
dim: 3
dim: 768
dim: 768
}
}
}
layer {
name: "conv1_1"
type: "Convolution"
bottom: "data"
top: "conv1_1"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu1_1"
type: "ReLU"
bottom: "conv1_1"
top: "conv1_1"
}
layer {
name: "conv1_2"
type: "Convolution"
bottom: "conv1_1"
top: "conv1_2"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu1_2"
type: "ReLU"
bottom: "conv1_2"
top: "conv1_2"
}
layer {
name: "pool1"
type: "Pooling"
bottom: "conv1_2"
top: "pool1"
pooling_param {
pool: MAX
kernel_size: 2
stride: 2
}
}
layer {
name: "conv2_1"
type: "Convolution"
bottom: "pool1"
top: "conv2_1"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu2_1"
type: "ReLU"
bottom: "conv2_1"
top: "conv2_1"
}
layer {
name: "conv2_2"
type: "Convolution"
bottom: "conv2_1"
top: "conv2_2"
param {
lr_mult: 0
decay_mult: 0
}
param {
lr_mult: 0
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu2_2"
type: "ReLU"
bottom: "conv2_2"
top: "conv2_2"
}
layer {
name: "pool2"
type: "Pooling"
bottom: "conv2_2"
top: "pool2"
pooling_param {
pool: MAX
kernel_size: 2
stride: 2
}
}
layer {
name: "conv3_1"
type: "Convolution"
bottom: "pool2"
top: "conv3_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu3_1"
type: "ReLU"
bottom: "conv3_1"
top: "conv3_1"
}
layer {
name: "conv3_2"
type: "Convolution"
bottom: "conv3_1"
top: "conv3_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu3_2"
type: "ReLU"
bottom: "conv3_2"
top: "conv3_2"
}
layer {
name: "conv3_3"
type: "Convolution"
bottom: "conv3_2"
top: "conv3_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu3_3"
type: "ReLU"
bottom: "conv3_3"
top: "conv3_3"
}
layer {
name: "pool3"
type: "Pooling"
bottom: "conv3_3"
top: "pool3"
pooling_param {
pool: MAX
kernel_size: 2
stride: 2
}
}
layer {
name: "conv4_1"
type: "Convolution"
bottom: "pool3"
top: "conv4_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu4_1"
type: "ReLU"
bottom: "conv4_1"
top: "conv4_1"
}
layer {
name: "conv4_2"
type: "Convolution"
bottom: "conv4_1"
top: "conv4_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu4_2"
type: "ReLU"
bottom: "conv4_2"
top: "conv4_2"
}
layer {
name: "conv4_3"
type: "Convolution"
bottom: "conv4_2"
top: "conv4_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu4_3"
type: "ReLU"
bottom: "conv4_3"
top: "conv4_3"
}
layer {
name: "pool4"
type: "Pooling"
bottom: "conv4_3"
top: "pool4"
pooling_param {
pool: MAX
kernel_size: 2
stride: 2
}
}
layer {
name: "conv5_1"
type: "Convolution"
bottom: "pool4"
top: "conv5_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
dilation: 1
}
}
layer {
name: "relu5_1"
type: "ReLU"
bottom: "conv5_1"
top: "conv5_1"
}
layer {
name: "conv5_2"
type: "Convolution"
bottom: "conv5_1"
top: "conv5_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
dilation: 1
}
}
layer {
name: "relu5_2"
type: "ReLU"
bottom: "conv5_2"
top: "conv5_2"
}
layer {
name: "conv5_3"
type: "Convolution"
bottom: "conv5_2"
top: "conv5_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
dilation: 1
}
}
layer {
name: "relu5_3"
type: "ReLU"
bottom: "conv5_3"
top: "conv5_3"
}
layer {
name: "pool5"
type: "Pooling"
bottom: "conv5_3"
top: "pool5"
pooling_param {
pool: MAX
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "fc6"
type: "Convolution"
bottom: "pool5"
top: "fc6"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
pad: 6
kernel_size: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
dilation: 6
}
}
layer {
name: "relu6"
type: "ReLU"
bottom: "fc6"
top: "fc6"
}
layer {
name: "fc7"
type: "Convolution"
bottom: "fc6"
top: "fc7"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "relu7"
type: "ReLU"
bottom: "fc7"
top: "fc7"
}
layer {
name: "conv6_1"
type: "Convolution"
bottom: "fc7"
top: "conv6_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv6_1_relu"
type: "ReLU"
bottom: "conv6_1"
top: "conv6_1"
}
layer {
name: "conv6_2"
type: "Convolution"
bottom: "conv6_1"
top: "conv6_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv6_2_relu"
type: "ReLU"
bottom: "conv6_2"
top: "conv6_2"
}
layer {
name: "conv7_1"
type: "Convolution"
bottom: "conv6_2"
top: "conv7_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv7_1_relu"
type: "ReLU"
bottom: "conv7_1"
top: "conv7_1"
}
layer {
name: "conv7_2"
type: "Convolution"
bottom: "conv7_1"
top: "conv7_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv7_2_relu"
type: "ReLU"
bottom: "conv7_2"
top: "conv7_2"
}
layer {
name: "conv8_1"
type: "Convolution"
bottom: "conv7_2"
top: "conv8_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv8_1_relu"
type: "ReLU"
bottom: "conv8_1"
top: "conv8_1"
}
layer {
name: "conv8_2"
type: "Convolution"
bottom: "conv8_1"
top: "conv8_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv8_2_relu"
type: "ReLU"
bottom: "conv8_2"
top: "conv8_2"
}
layer {
name: "conv9_1"
type: "Convolution"
bottom: "conv8_2"
top: "conv9_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv9_1_relu"
type: "ReLU"
bottom: "conv9_1"
top: "conv9_1"
}
layer {
name: "conv9_2"
type: "Convolution"
bottom: "conv9_1"
top: "conv9_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv9_2_relu"
type: "ReLU"
bottom: "conv9_2"
top: "conv9_2"
}
layer {
name: "conv4_3_norm"
type: "Normalize"
bottom: "conv4_3"
top: "conv4_3_norm"
norm_param {
across_spatial: false
scale_filler {
type: "constant"
value: 20
}
channel_shared: false
}
}
layer {
name: "conv4_3_norm_mbox_loc"
type: "Convolution"
bottom: "conv4_3_norm"
top: "conv4_3_norm_mbox_loc"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 240
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv4_3_norm_mbox_loc_perm"
type: "Permute"
bottom: "conv4_3_norm_mbox_loc"
top: "conv4_3_norm_mbox_loc_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv4_3_norm_mbox_loc_flat"
type: "Flatten"
bottom: "conv4_3_norm_mbox_loc_perm"
top: "conv4_3_norm_mbox_loc_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv4_3_norm_mbox_conf"
type: "Convolution"
bottom: "conv4_3_norm"
top: "conv4_3_norm_mbox_conf"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 40
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv4_3_norm_mbox_conf_perm"
type: "Permute"
bottom: "conv4_3_norm_mbox_conf"
top: "conv4_3_norm_mbox_conf_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv4_3_norm_mbox_conf_flat"
type: "Flatten"
bottom: "conv4_3_norm_mbox_conf_perm"
top: "conv4_3_norm_mbox_conf_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv4_3_norm_mbox_priorbox"
type: "PriorBox"
bottom: "conv4_3_norm"
bottom: "data"
top: "conv4_3_norm_mbox_priorbox"
prior_box_param {
min_size: 30
max_size: 60
aspect_ratio: 2
aspect_ratio: 3
aspect_ratio: 4
aspect_ratio: 5
flip: true
clip: false
variance: 0.1
variance: 0.1
variance: 0.2
variance: 0.2
step: 8
offset: 0.5
denser_prior_boxes: true
}
}
layer {
name: "fc7_mbox_loc"
type: "Convolution"
bottom: "fc7"
top: "fc7_mbox_loc"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 240
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "fc7_mbox_loc_perm"
type: "Permute"
bottom: "fc7_mbox_loc"
top: "fc7_mbox_loc_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fc7_mbox_loc_flat"
type: "Flatten"
bottom: "fc7_mbox_loc_perm"
top: "fc7_mbox_loc_flat"
flatten_param {
axis: 1
}
}
layer {
name: "fc7_mbox_conf"
type: "Convolution"
bottom: "fc7"
top: "fc7_mbox_conf"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 40
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "fc7_mbox_conf_perm"
type: "Permute"
bottom: "fc7_mbox_conf"
top: "fc7_mbox_conf_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fc7_mbox_conf_flat"
type: "Flatten"
bottom: "fc7_mbox_conf_perm"
top: "fc7_mbox_conf_flat"
flatten_param {
axis: 1
}
}
layer {
name: "fc7_mbox_priorbox"
type: "PriorBox"
bottom: "fc7"
bottom: "data"
top: "fc7_mbox_priorbox"
prior_box_param {
min_size: 30
max_size: 90
aspect_ratio: 2
aspect_ratio: 3
aspect_ratio: 4
aspect_ratio: 5
flip: true
clip: false
variance: 0.1
variance: 0.1
variance: 0.2
variance: 0.2
step: 16
offset: 0.5
denser_prior_boxes: true
}
}
layer {
name: "conv6_2_mbox_loc"
type: "Convolution"
bottom: "conv6_2"
top: "conv6_2_mbox_loc"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 240
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv6_2_mbox_loc_perm"
type: "Permute"
bottom: "conv6_2_mbox_loc"
top: "conv6_2_mbox_loc_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv6_2_mbox_loc_flat"
type: "Flatten"
bottom: "conv6_2_mbox_loc_perm"
top: "conv6_2_mbox_loc_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv6_2_mbox_conf"
type: "Convolution"
bottom: "conv6_2"
top: "conv6_2_mbox_conf"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 40
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv6_2_mbox_conf_perm"
type: "Permute"
bottom: "conv6_2_mbox_conf"
top: "conv6_2_mbox_conf_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv6_2_mbox_conf_flat"
type: "Flatten"
bottom: "conv6_2_mbox_conf_perm"
top: "conv6_2_mbox_conf_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv6_2_mbox_priorbox"
type: "PriorBox"
bottom: "conv6_2"
bottom: "data"
top: "conv6_2_mbox_priorbox"
prior_box_param {
min_size: 90
max_size: 150
aspect_ratio: 2
aspect_ratio: 3
aspect_ratio: 4
aspect_ratio: 5
flip: true
clip: false
variance: 0.1
variance: 0.1
variance: 0.2
variance: 0.2
step: 32
offset: 0.5
denser_prior_boxes: true
}
}
layer {
name: "conv7_2_mbox_loc"
type: "Convolution"
bottom: "conv7_2"
top: "conv7_2_mbox_loc"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 240
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv7_2_mbox_loc_perm"
type: "Permute"
bottom: "conv7_2_mbox_loc"
top: "conv7_2_mbox_loc_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv7_2_mbox_loc_flat"
type: "Flatten"
bottom: "conv7_2_mbox_loc_perm"
top: "conv7_2_mbox_loc_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv7_2_mbox_conf"
type: "Convolution"
bottom: "conv7_2"
top: "conv7_2_mbox_conf"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 40
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv7_2_mbox_conf_perm"
type: "Permute"
bottom: "conv7_2_mbox_conf"
top: "conv7_2_mbox_conf_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv7_2_mbox_conf_flat"
type: "Flatten"
bottom: "conv7_2_mbox_conf_perm"
top: "conv7_2_mbox_conf_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv7_2_mbox_priorbox"
type: "PriorBox"
bottom: "conv7_2"
bottom: "data"
top: "conv7_2_mbox_priorbox"
prior_box_param {
min_size: 150
max_size: 210
aspect_ratio: 2
aspect_ratio: 3
aspect_ratio: 4
aspect_ratio: 5
flip: true
clip: false
variance: 0.1
variance: 0.1
variance: 0.2
variance: 0.2
step: 64
offset: 0.5
denser_prior_boxes: true
}
}
layer {
name: "conv8_2_mbox_loc"
type: "Convolution"
bottom: "conv8_2"
top: "conv8_2_mbox_loc"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 240
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv8_2_mbox_loc_perm"
type: "Permute"
bottom: "conv8_2_mbox_loc"
top: "conv8_2_mbox_loc_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv8_2_mbox_loc_flat"
type: "Flatten"
bottom: "conv8_2_mbox_loc_perm"
top: "conv8_2_mbox_loc_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv8_2_mbox_conf"
type: "Convolution"
bottom: "conv8_2"
top: "conv8_2_mbox_conf"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 40
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv8_2_mbox_conf_perm"
type: "Permute"
bottom: "conv8_2_mbox_conf"
top: "conv8_2_mbox_conf_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv8_2_mbox_conf_flat"
type: "Flatten"
bottom: "conv8_2_mbox_conf_perm"
top: "conv8_2_mbox_conf_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv8_2_mbox_priorbox"
type: "PriorBox"
bottom: "conv8_2"
bottom: "data"
top: "conv8_2_mbox_priorbox"
prior_box_param {
min_size: 210
max_size: 270
aspect_ratio: 2
aspect_ratio: 3
aspect_ratio: 4
aspect_ratio: 5
flip: true
clip: false
variance: 0.1
variance: 0.1
variance: 0.2
variance: 0.2
step: 100
offset: 0.5
denser_prior_boxes: true
}
}
layer {
name: "conv9_2_mbox_loc"
type: "Convolution"
bottom: "conv9_2"
top: "conv9_2_mbox_loc"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 240
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv9_2_mbox_loc_perm"
type: "Permute"
bottom: "conv9_2_mbox_loc"
top: "conv9_2_mbox_loc_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv9_2_mbox_loc_flat"
type: "Flatten"
bottom: "conv9_2_mbox_loc_perm"
top: "conv9_2_mbox_loc_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv9_2_mbox_conf"
type: "Convolution"
bottom: "conv9_2"
top: "conv9_2_mbox_conf"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 40
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
pad_h: 1
pad_w: 2
kernel_h: 3
kernel_w: 5
stride_h: 1
stride_w: 1
}
}
layer {
name: "conv9_2_mbox_conf_perm"
type: "Permute"
bottom: "conv9_2_mbox_conf"
top: "conv9_2_mbox_conf_perm"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv9_2_mbox_conf_flat"
type: "Flatten"
bottom: "conv9_2_mbox_conf_perm"
top: "conv9_2_mbox_conf_flat"
flatten_param {
axis: 1
}
}
layer {
name: "conv9_2_mbox_priorbox"
type: "PriorBox"
bottom: "conv9_2"
bottom: "data"
top: "conv9_2_mbox_priorbox"
prior_box_param {
min_size: 270
max_size: 330
aspect_ratio: 2
aspect_ratio: 3
aspect_ratio: 4
aspect_ratio: 5
flip: true
clip: false
variance: 0.1
variance: 0.1
variance: 0.2
variance: 0.2
step: 300
offset: 0.5
denser_prior_boxes: true
}
}
layer {
name: "mbox_loc"
type: "Concat"
bottom: "conv4_3_norm_mbox_loc_flat"
bottom: "fc7_mbox_loc_flat"
bottom: "conv6_2_mbox_loc_flat"
bottom: "conv7_2_mbox_loc_flat"
bottom: "conv8_2_mbox_loc_flat"
bottom: "conv9_2_mbox_loc_flat"
top: "mbox_loc"
concat_param {
axis: 1
}
}
layer {
name: "mbox_conf"
type: "Concat"
bottom: "conv4_3_norm_mbox_conf_flat"
bottom: "fc7_mbox_conf_flat"
bottom: "conv6_2_mbox_conf_flat"
bottom: "conv7_2_mbox_conf_flat"
bottom: "conv8_2_mbox_conf_flat"
bottom: "conv9_2_mbox_conf_flat"
top: "mbox_conf"
concat_param {
axis: 1
}
}
layer {
name: "mbox_priorbox"
type: "Concat"
bottom: "conv4_3_norm_mbox_priorbox"
bottom: "fc7_mbox_priorbox"
bottom: "conv6_2_mbox_priorbox"
bottom: "conv7_2_mbox_priorbox"
bottom: "conv8_2_mbox_priorbox"
bottom: "conv9_2_mbox_priorbox"
top: "mbox_priorbox"
concat_param {
axis: 2
}
}
layer {
name: "mbox_conf_reshape"
type: "Reshape"
bottom: "mbox_conf"
top: "mbox_conf_reshape"
reshape_param {
shape {
dim: 0
dim: -1
dim: 2
}
}
}
layer {
name: "mbox_conf_softmax"
type: "Softmax"
bottom: "mbox_conf_reshape"
top: "mbox_conf_softmax"
softmax_param {
axis: 2
}
}
layer {
name: "mbox_conf_flatten"
type: "Flatten"
bottom: "mbox_conf_softmax"
top: "mbox_conf_flatten"
flatten_param {
axis: 1
}
}
layer {
name: "detection_out"
type: "DetectionOutput"
bottom: "mbox_loc"
bottom: "mbox_conf_flatten"
bottom: "mbox_priorbox"
top: "detection_out"
include {
phase: TEST
}
detection_output_param {
num_classes: 2
share_location: true
background_label_id: 0
nms_param {
nms_threshold: 0.45
top_k: 400
}
save_output_param {
output_directory: "./data/text/results/text/text_polygon_ic15_fix_order_384x384/Main"
output_name_prefix: "comp4_det_test
"
output_format: "VOC"
label_map_file: "data/text/labelmap_voc.prototxt"
num_test_image: 500
}
code_type: CENTER_SIZE
keep_top_k: 200
confidence_threshold: 0.01
use_polygon: true
}
}
I0407 18:39:39.175252 7609 layer_factory.hpp:77] Creating layer input
I0407 18:39:39.175262 7609 net.cpp:100] Creating Layer input
I0407 18:39:39.175266 7609 net.cpp:408] input -> data
I0407 18:39:39.409746 7609 net.cpp:150] Setting up input
I0407 18:39:39.409775 7609 net.cpp:157] Top shape: 1 3 768 768 (1769472)
I0407 18:39:39.409778 7609 net.cpp:165] Memory required for data: 7077888
I0407 18:39:39.409785 7609 layer_factory.hpp:77] Creating layer data_input_0_split
I0407 18:39:39.409796 7609 net.cpp:100] Creating Layer data_input_0_split
I0407 18:39:39.409801 7609 net.cpp:434] data_input_0_split <- data
I0407 18:39:39.409806 7609 net.cpp:408] data_input_0_split -> data_input_0_split_0
I0407 18:39:39.409814 7609 net.cpp:408] data_input_0_split -> data_input_0_split_1
I0407 18:39:39.409819 7609 net.cpp:408] data_input_0_split -> data_input_0_split_2
I0407 18:39:39.409823 7609 net.cpp:408] data_input_0_split -> data_input_0_split_3
I0407 18:39:39.409828 7609 net.cpp:408] data_input_0_split -> data_input_0_split_4
I0407 18:39:39.409832 7609 net.cpp:408] data_input_0_split -> data_input_0_split_5
I0407 18:39:39.409835 7609 net.cpp:408] data_input_0_split -> data_input_0_split_6
I0407 18:39:39.409893 7609 net.cpp:150] Setting up data_input_0_split
I0407 18:39:39.409898 7609 net.cpp:157] Top shape: 1 3 768 768 (1769472)
I0407 18:39:39.409901 7609 net.cpp:157] Top shape: 1 3 768 768 (1769472)
I0407 18:39:39.409904 7609 net.cpp:157] Top shape: 1 3 768 768 (1769472)
I0407 18:39:39.409907 7609 net.cpp:157] Top shape: 1 3 768 768 (1769472)
I0407 18:39:39.409910 7609 net.cpp:157] Top shape: 1 3 768 768 (1769472)
I0407 18:39:39.409914 7609 net.cpp:157] Top shape: 1 3 768 768 (1769472)
I0407 18:39:39.409916 7609 net.cpp:157] Top shape: 1 3 768 768 (1769472)
I0407 18:39:39.409919 7609 net.cpp:165] Memory required for data: 56623104
I0407 18:39:39.409927 7609 layer_factory.hpp:77] Creating layer conv1_1
I0407 18:39:39.409937 7609 net.cpp:100] Creating Layer conv1_1
I0407 18:39:39.409940 7609 net.cpp:434] conv1_1 <- data_input_0_split_0
I0407 18:39:39.409946 7609 net.cpp:408] conv1_1 -> conv1_1
I0407 18:39:39.411392 7609 net.cpp:150] Setting up conv1_1
I0407 18:39:39.411403 7609 net.cpp:157] Top shape: 1 64 768 768 (37748736)
I0407 18:39:39.411406 7609 net.cpp:165] Memory required for data: 207618048
I0407 18:39:39.411417 7609 layer_factory.hpp:77] Creating layer relu1_1
I0407 18:39:39.411422 7609 net.cpp:100] Creating Layer relu1_1
I0407 18:39:39.411424 7609 net.cpp:434] relu1_1 <- conv1_1
I0407 18:39:39.411428 7609 net.cpp:395] relu1_1 -> conv1_1 (in-place)
I0407 18:39:39.411434 7609 net.cpp:150] Setting up relu1_1
I0407 18:39:39.411437 7609 net.cpp:157] Top shape: 1 64 768 768 (37748736)
I0407 18:39:39.411440 7609 net.cpp:165] Memory required for data: 358612992
I0407 18:39:39.411442 7609 layer_factory.hpp:77] Creating layer conv1_2
I0407 18:39:39.411450 7609 net.cpp:100] Creating Layer conv1_2
I0407 18:39:39.411453 7609 net.cpp:434] conv1_2 <- conv1_1
I0407 18:39:39.411458 7609 net.cpp:408] conv1_2 -> conv1_2
I0407 18:39:39.412824 7609 net.cpp:150] Setting up conv1_2
I0407 18:39:39.412837 7609 net.cpp:157] Top shape: 1 64 768 768 (37748736)
I0407 18:39:39.412840 7609 net.cpp:165] Memory required for data: 509607936
I0407 18:39:39.412848 7609 layer_factory.hpp:77] Creating layer relu1_2
I0407 18:39:39.412854 7609 net.cpp:100] Creating Layer relu1_2
I0407 18:39:39.412858 7609 net.cpp:434] relu1_2 <- conv1_2
I0407 18:39:39.412863 7609 net.cpp:395] relu1_2 -> conv1_2 (in-place)
I0407 18:39:39.412868 7609 net.cpp:150] Setting up relu1_2
I0407 18:39:39.412871 7609 net.cpp:157] Top shape: 1 64 768 768 (37748736)
I0407 18:39:39.412873 7609 net.cpp:165] Memory required for data: 660602880
I0407 18:39:39.412876 7609 layer_factory.hpp:77] Creating layer pool1
I0407 18:39:39.412881 7609 net.cpp:100] Creating Layer pool1
I0407 18:39:39.412884 7609 net.cpp:434] pool1 <- conv1_2
I0407 18:39:39.412889 7609 net.cpp:408] pool1 -> pool1
I0407 18:39:39.412917 7609 net.cpp:150] Setting up pool1
I0407 18:39:39.412922 7609 net.cpp:157] Top shape: 1 64 384 384 (9437184)
I0407 18:39:39.412925 7609 net.cpp:165] Memory required for data: 698351616
I0407 18:39:39.412927 7609 layer_factory.hpp:77] Creating layer conv2_1
I0407 18:39:39.412935 7609 net.cpp:100] Creating Layer conv2_1
I0407 18:39:39.412937 7609 net.cpp:434] conv2_1 <- pool1
I0407 18:39:39.412943 7609 net.cpp:408] conv2_1 -> conv2_1
I0407 18:39:39.413689 7609 net.cpp:150] Setting up conv2_1
I0407 18:39:39.413698 7609 net.cpp:157] Top shape: 1 128 384 384 (18874368)
I0407 18:39:39.413702 7609 net.cpp:165] Memory required for data: 773849088
I0407 18:39:39.413709 7609 layer_factory.hpp:77] Creating layer relu2_1
I0407 18:39:39.413714 7609 net.cpp:100] Creating Layer relu2_1
I0407 18:39:39.413717 7609 net.cpp:434] relu2_1 <- conv2_1
I0407 18:39:39.413722 7609 net.cpp:395] relu2_1 -> conv2_1 (in-place)
I0407 18:39:39.413727 7609 net.cpp:150] Setting up relu2_1
I0407 18:39:39.413730 7609 net.cpp:157] Top shape: 1 128 384 384 (18874368)
I0407 18:39:39.413733 7609 net.cpp:165] Memory required for data: 849346560
I0407 18:39:39.413735 7609 layer_factory.hpp:77] Creating layer conv2_2
I0407 18:39:39.413743 7609 net.cpp:100] Creating Layer conv2_2
I0407 18:39:39.413745 7609 net.cpp:434] conv2_2 <- conv2_1
I0407 18:39:39.413749 7609 net.cpp:408] conv2_2 -> conv2_2
I0407 18:39:39.415038 7609 net.cpp:150] Setting up conv2_2
I0407 18:39:39.415050 7609 net.cpp:157] Top shape: 1 128 384 384 (18874368)
I0407 18:39:39.415052 7609 net.cpp:165] Memory required for data: 924844032
I0407 18:39:39.415057 7609 layer_factory.hpp:77] Creating layer relu2_2
I0407 18:39:39.415062 7609 net.cpp:100] Creating Layer relu2_2
I0407 18:39:39.415066 7609 net.cpp:434] relu2_2 <- conv2_2
I0407 18:39:39.415069 7609 net.cpp:395] relu2_2 -> conv2_2 (in-place)
I0407 18:39:39.415081 7609 net.cpp:150] Setting up relu2_2
I0407 18:39:39.415084 7609 net.cpp:157] Top shape: 1 128 384 384 (18874368)
I0407 18:39:39.415086 7609 net.cpp:165] Memory required for data: 1000341504
I0407 18:39:39.415089 7609 layer_factory.hpp:77] Creating layer pool2
I0407 18:39:39.415093 7609 net.cpp:100] Creating Layer pool2
I0407 18:39:39.415096 7609 net.cpp:434] pool2 <- conv2_2
I0407 18:39:39.415100 7609 net.cpp:408] pool2 -> pool2
I0407 18:39:39.415125 7609 net.cpp:150] Setting up pool2
I0407 18:39:39.415129 7609 net.cpp:157] Top shape: 1 128 192 192 (4718592)
I0407 18:39:39.415132 7609 net.cpp:165] Memory required for data: 1019215872
I0407 18:39:39.415134 7609 layer_factory.hpp:77] Creating layer conv3_1
I0407 18:39:39.415141 7609 net.cpp:100] Creating Layer conv3_1
I0407 18:39:39.415144 7609 net.cpp:434] conv3_1 <- pool2
I0407 18:39:39.415150 7609 net.cpp:408] conv3_1 -> conv3_1
I0407 18:39:39.416633 7609 net.cpp:150] Setting up conv3_1
I0407 18:39:39.416643 7609 net.cpp:157] Top shape: 1 256 192 192 (9437184)
I0407 18:39:39.416646 7609 net.cpp:165] Memory required for data: 1056964608
I0407 18:39:39.416654 7609 layer_factory.hpp:77] Creating layer relu3_1
I0407 18:39:39.416659 7609 net.cpp:100] Creating Layer relu3_1
I0407 18:39:39.416662 7609 net.cpp:434] relu3_1 <- conv3_1
I0407 18:39:39.416666 7609 net.cpp:395] relu3_1 -> conv3_1 (in-place)
I0407 18:39:39.416671 7609 net.cpp:150] Setting up relu3_1
I0407 18:39:39.416674 7609 net.cpp:157] Top shape: 1 256 192 192 (9437184)
I0407 18:39:39.416677 7609 net.cpp:165] Memory required for data: 1094713344
I0407 18:39:39.416680 7609 layer_factory.hpp:77] Creating layer conv3_2
I0407 18:39:39.416687 7609 net.cpp:100] Creating Layer conv3_2
I0407 18:39:39.416689 7609 net.cpp:434] conv3_2 <- conv3_1
I0407 18:39:39.416694 7609 net.cpp:408] conv3_2 -> conv3_2
I0407 18:39:39.419384 7609 net.cpp:150] Setting up conv3_2
I0407 18:39:39.419397 7609 net.cpp:157] Top shape: 1 256 192 192 (9437184)
I0407 18:39:39.419400 7609 net.cpp:165] Memory required for data: 1132462080
I0407 18:39:39.419404 7609 layer_factory.hpp:77] Creating layer relu3_2
I0407 18:39:39.419409 7609 net.cpp:100] Creating Layer relu3_2
I0407 18:39:39.419412 7609 net.cpp:434] relu3_2 <- conv3_2
I0407 18:39:39.419416 7609 net.cpp:395] relu3_2 -> conv3_2 (in-place)
I0407 18:39:39.419421 7609 net.cpp:150] Setting up relu3_2
I0407 18:39:39.419425 7609 net.cpp:157] Top shape: 1 256 192 192 (9437184)
I0407 18:39:39.419427 7609 net.cpp:165] Memory required for data: 1170210816
I0407 18:39:39.419430 7609 layer_factory.hpp:77] Creating layer conv3_3
I0407 18:39:39.419438 7609 net.cpp:100] Creating Layer conv3_3
I0407 18:39:39.419441 7609 net.cpp:434] conv3_3 <- conv3_2
I0407 18:39:39.419446 7609 net.cpp:408] conv3_3 -> conv3_3
I0407 18:39:39.422170 7609 net.cpp:150] Setting up conv3_3
I0407 18:39:39.422199 7609 net.cpp:157] Top shape: 1 256 192 192 (9437184)
I0407 18:39:39.422202 7609 net.cpp:165] Memory required for data: 1207959552
I0407 18:39:39.422207 7609 layer_factory.hpp:77] Creating layer relu3_3
I0407 18:39:39.422214 7609 net.cpp:100] Creating Layer relu3_3
I0407 18:39:39.422216 7609 net.cpp:434] relu3_3 <- conv3_3
I0407 18:39:39.422221 7609 net.cpp:395] relu3_3 -> conv3_3 (in-place)
I0407 18:39:39.422227 7609 net.cpp:150] Setting up relu3_3
I0407 18:39:39.422240 7609 net.cpp:157] Top shape: 1 256 192 192 (9437184)
I0407 18:39:39.422243 7609 net.cpp:165] Memory required for data: 1245708288
I0407 18:39:39.422245 7609 layer_factory.hpp:77] Creating layer pool3
I0407 18:39:39.422251 7609 net.cpp:100] Creating Layer pool3
I0407 18:39:39.422255 7609 net.cpp:434] pool3 <- conv3_3
I0407 18:39:39.422258 7609 net.cpp:408] pool3 -> pool3
I0407 18:39:39.422296 7609 net.cpp:150] Setting up pool3
I0407 18:39:39.422300 7609 net.cpp:157] Top shape: 1 256 96 96 (2359296)
I0407 18:39:39.422302 7609 net.cpp:165] Memory required for data: 1255145472
I0407 18:39:39.422305 7609 layer_factory.hpp:77] Creating layer conv4_1
I0407 18:39:39.422312 7609 net.cpp:100] Creating Layer conv4_1
I0407 18:39:39.422320 7609 net.cpp:434] conv4_1 <- pool3
I0407 18:39:39.422325 7609 net.cpp:408] conv4_1 -> conv4_1
I0407 18:39:39.428215 7609 net.cpp:150] Setting up conv4_1
I0407 18:39:39.428236 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.428239 7609 net.cpp:165] Memory required for data: 1274019840
I0407 18:39:39.428247 7609 layer_factory.hpp:77] Creating layer relu4_1
I0407 18:39:39.428256 7609 net.cpp:100] Creating Layer relu4_1
I0407 18:39:39.428259 7609 net.cpp:434] relu4_1 <- conv4_1
I0407 18:39:39.428266 7609 net.cpp:395] relu4_1 -> conv4_1 (in-place)
I0407 18:39:39.428273 7609 net.cpp:150] Setting up relu4_1
I0407 18:39:39.428277 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.428279 7609 net.cpp:165] Memory required for data: 1292894208
I0407 18:39:39.428282 7609 layer_factory.hpp:77] Creating layer conv4_2
I0407 18:39:39.428290 7609 net.cpp:100] Creating Layer conv4_2
I0407 18:39:39.428292 7609 net.cpp:434] conv4_2 <- conv4_1
I0407 18:39:39.428297 7609 net.cpp:408] conv4_2 -> conv4_2
I0407 18:39:39.439558 7609 net.cpp:150] Setting up conv4_2
I0407 18:39:39.439590 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.439594 7609 net.cpp:165] Memory required for data: 1311768576
I0407 18:39:39.439606 7609 layer_factory.hpp:77] Creating layer relu4_2
I0407 18:39:39.439615 7609 net.cpp:100] Creating Layer relu4_2
I0407 18:39:39.439620 7609 net.cpp:434] relu4_2 <- conv4_2
I0407 18:39:39.439625 7609 net.cpp:395] relu4_2 -> conv4_2 (in-place)
I0407 18:39:39.439632 7609 net.cpp:150] Setting up relu4_2
I0407 18:39:39.439636 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.439640 7609 net.cpp:165] Memory required for data: 1330642944
I0407 18:39:39.439641 7609 layer_factory.hpp:77] Creating layer conv4_3
I0407 18:39:39.439649 7609 net.cpp:100] Creating Layer conv4_3
I0407 18:39:39.439652 7609 net.cpp:434] conv4_3 <- conv4_2
I0407 18:39:39.439657 7609 net.cpp:408] conv4_3 -> conv4_3
I0407 18:39:39.451179 7609 net.cpp:150] Setting up conv4_3
I0407 18:39:39.451221 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.451225 7609 net.cpp:165] Memory required for data: 1349517312
I0407 18:39:39.451233 7609 layer_factory.hpp:77] Creating layer relu4_3
I0407 18:39:39.451241 7609 net.cpp:100] Creating Layer relu4_3
I0407 18:39:39.451246 7609 net.cpp:434] relu4_3 <- conv4_3
I0407 18:39:39.451261 7609 net.cpp:395] relu4_3 -> conv4_3 (in-place)
I0407 18:39:39.451269 7609 net.cpp:150] Setting up relu4_3
I0407 18:39:39.451273 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.451275 7609 net.cpp:165] Memory required for data: 1368391680
I0407 18:39:39.451278 7609 layer_factory.hpp:77] Creating layer conv4_3_relu4_3_0_split
I0407 18:39:39.451282 7609 net.cpp:100] Creating Layer conv4_3_relu4_3_0_split
I0407 18:39:39.451285 7609 net.cpp:434] conv4_3_relu4_3_0_split <- conv4_3
I0407 18:39:39.451290 7609 net.cpp:408] conv4_3_relu4_3_0_split -> conv4_3_relu4_3_0_split_0
I0407 18:39:39.451295 7609 net.cpp:408] conv4_3_relu4_3_0_split -> conv4_3_relu4_3_0_split_1
I0407 18:39:39.451318 7609 net.cpp:150] Setting up conv4_3_relu4_3_0_split
I0407 18:39:39.451323 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.451328 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.451330 7609 net.cpp:165] Memory required for data: 1406140416
I0407 18:39:39.451333 7609 layer_factory.hpp:77] Creating layer pool4
I0407 18:39:39.451337 7609 net.cpp:100] Creating Layer pool4
I0407 18:39:39.451340 7609 net.cpp:434] pool4 <- conv4_3_relu4_3_0_split_0
I0407 18:39:39.451344 7609 net.cpp:408] pool4 -> pool4
I0407 18:39:39.451370 7609 net.cpp:150] Setting up pool4
I0407 18:39:39.451375 7609 net.cpp:157] Top shape: 1 512 48 48 (1179648)
I0407 18:39:39.451376 7609 net.cpp:165] Memory required for data: 1410859008
I0407 18:39:39.451380 7609 layer_factory.hpp:77] Creating layer conv5_1
I0407 18:39:39.451387 7609 net.cpp:100] Creating Layer conv5_1
I0407 18:39:39.451390 7609 net.cpp:434] conv5_1 <- pool4
I0407 18:39:39.451401 7609 net.cpp:408] conv5_1 -> conv5_1
I0407 18:39:39.462666 7609 net.cpp:150] Setting up conv5_1
I0407 18:39:39.462709 7609 net.cpp:157] Top shape: 1 512 48 48 (1179648)
I0407 18:39:39.462714 7609 net.cpp:165] Memory required for data: 1415577600
I0407 18:39:39.462723 7609 layer_factory.hpp:77] Creating layer relu5_1
I0407 18:39:39.462730 7609 net.cpp:100] Creating Layer relu5_1
I0407 18:39:39.462744 7609 net.cpp:434] relu5_1 <- conv5_1
I0407 18:39:39.462751 7609 net.cpp:395] relu5_1 -> conv5_1 (in-place)
I0407 18:39:39.462759 7609 net.cpp:150] Setting up relu5_1
I0407 18:39:39.462762 7609 net.cpp:157] Top shape: 1 512 48 48 (1179648)
I0407 18:39:39.462765 7609 net.cpp:165] Memory required for data: 1420296192
I0407 18:39:39.462767 7609 layer_factory.hpp:77] Creating layer conv5_2
I0407 18:39:39.462776 7609 net.cpp:100] Creating Layer conv5_2
I0407 18:39:39.462780 7609 net.cpp:434] conv5_2 <- conv5_1
I0407 18:39:39.462785 7609 net.cpp:408] conv5_2 -> conv5_2
I0407 18:39:39.474028 7609 net.cpp:150] Setting up conv5_2
I0407 18:39:39.474061 7609 net.cpp:157] Top shape: 1 512 48 48 (1179648)
I0407 18:39:39.474066 7609 net.cpp:165] Memory required for data: 1425014784
I0407 18:39:39.474073 7609 layer_factory.hpp:77] Creating layer relu5_2
I0407 18:39:39.474083 7609 net.cpp:100] Creating Layer relu5_2
I0407 18:39:39.474088 7609 net.cpp:434] relu5_2 <- conv5_2
I0407 18:39:39.474095 7609 net.cpp:395] relu5_2 -> conv5_2 (in-place)
I0407 18:39:39.474103 7609 net.cpp:150] Setting up relu5_2
I0407 18:39:39.474108 7609 net.cpp:157] Top shape: 1 512 48 48 (1179648)
I0407 18:39:39.474110 7609 net.cpp:165] Memory required for data: 1429733376
I0407 18:39:39.474113 7609 layer_factory.hpp:77] Creating layer conv5_3
I0407 18:39:39.474123 7609 net.cpp:100] Creating Layer conv5_3
I0407 18:39:39.474126 7609 net.cpp:434] conv5_3 <- conv5_2
I0407 18:39:39.474131 7609 net.cpp:408] conv5_3 -> conv5_3
I0407 18:39:39.485481 7609 net.cpp:150] Setting up conv5_3
I0407 18:39:39.485522 7609 net.cpp:157] Top shape: 1 512 48 48 (1179648)
I0407 18:39:39.485527 7609 net.cpp:165] Memory required for data: 1434451968
I0407 18:39:39.485534 7609 layer_factory.hpp:77] Creating layer relu5_3
I0407 18:39:39.485546 7609 net.cpp:100] Creating Layer relu5_3
I0407 18:39:39.485561 7609 net.cpp:434] relu5_3 <- conv5_3
I0407 18:39:39.485568 7609 net.cpp:395] relu5_3 -> conv5_3 (in-place)
I0407 18:39:39.485575 7609 net.cpp:150] Setting up relu5_3
I0407 18:39:39.485579 7609 net.cpp:157] Top shape: 1 512 48 48 (1179648)
I0407 18:39:39.485581 7609 net.cpp:165] Memory required for data: 1439170560
I0407 18:39:39.485584 7609 layer_factory.hpp:77] Creating layer pool5
I0407 18:39:39.485590 7609 net.cpp:100] Creating Layer pool5
I0407 18:39:39.485594 7609 net.cpp:434] pool5 <- conv5_3
I0407 18:39:39.485599 7609 net.cpp:408] pool5 -> pool5
I0407 18:39:39.485628 7609 net.cpp:150] Setting up pool5
I0407 18:39:39.485633 7609 net.cpp:157] Top shape: 1 512 48 48 (1179648)
I0407 18:39:39.485636 7609 net.cpp:165] Memory required for data: 1443889152
I0407 18:39:39.485638 7609 layer_factory.hpp:77] Creating layer fc6
I0407 18:39:39.485649 7609 net.cpp:100] Creating Layer fc6
I0407 18:39:39.485652 7609 net.cpp:434] fc6 <- pool5
I0407 18:39:39.485657 7609 net.cpp:408] fc6 -> fc6
I0407 18:39:39.507652 7609 net.cpp:150] Setting up fc6
I0407 18:39:39.507684 7609 net.cpp:157] Top shape: 1 1024 48 48 (2359296)
I0407 18:39:39.507688 7609 net.cpp:165] Memory required for data: 1453326336
I0407 18:39:39.507699 7609 layer_factory.hpp:77] Creating layer relu6
I0407 18:39:39.507709 7609 net.cpp:100] Creating Layer relu6
I0407 18:39:39.507715 7609 net.cpp:434] relu6 <- fc6
I0407 18:39:39.507724 7609 net.cpp:395] relu6 -> fc6 (in-place)
I0407 18:39:39.507732 7609 net.cpp:150] Setting up relu6
I0407 18:39:39.507736 7609 net.cpp:157] Top shape: 1 1024 48 48 (2359296)
I0407 18:39:39.507740 7609 net.cpp:165] Memory required for data: 1462763520
I0407 18:39:39.507742 7609 layer_factory.hpp:77] Creating layer fc7
I0407 18:39:39.507757 7609 net.cpp:100] Creating Layer fc7
I0407 18:39:39.507761 7609 net.cpp:434] fc7 <- fc6
I0407 18:39:39.507766 7609 net.cpp:408] fc7 -> fc7
I0407 18:39:39.512918 7609 net.cpp:150] Setting up fc7
I0407 18:39:39.512933 7609 net.cpp:157] Top shape: 1 1024 48 48 (2359296)
I0407 18:39:39.512935 7609 net.cpp:165] Memory required for data: 1472200704
I0407 18:39:39.512941 7609 layer_factory.hpp:77] Creating layer relu7
I0407 18:39:39.512946 7609 net.cpp:100] Creating Layer relu7
I0407 18:39:39.512949 7609 net.cpp:434] relu7 <- fc7
I0407 18:39:39.512954 7609 net.cpp:395] relu7 -> fc7 (in-place)
I0407 18:39:39.512959 7609 net.cpp:150] Setting up relu7
I0407 18:39:39.512964 7609 net.cpp:157] Top shape: 1 1024 48 48 (2359296)
I0407 18:39:39.512966 7609 net.cpp:165] Memory required for data: 1481637888
I0407 18:39:39.512969 7609 layer_factory.hpp:77] Creating layer fc7_relu7_0_split
I0407 18:39:39.512974 7609 net.cpp:100] Creating Layer fc7_relu7_0_split
I0407 18:39:39.512976 7609 net.cpp:434] fc7_relu7_0_split <- fc7
I0407 18:39:39.512980 7609 net.cpp:408] fc7_relu7_0_split -> fc7_relu7_0_split_0
I0407 18:39:39.512985 7609 net.cpp:408] fc7_relu7_0_split -> fc7_relu7_0_split_1
I0407 18:39:39.512990 7609 net.cpp:408] fc7_relu7_0_split -> fc7_relu7_0_split_2
I0407 18:39:39.512998 7609 net.cpp:408] fc7_relu7_0_split -> fc7_relu7_0_split_3
I0407 18:39:39.513037 7609 net.cpp:150] Setting up fc7_relu7_0_split
I0407 18:39:39.513042 7609 net.cpp:157] Top shape: 1 1024 48 48 (2359296)
I0407 18:39:39.513046 7609 net.cpp:157] Top shape: 1 1024 48 48 (2359296)
I0407 18:39:39.513049 7609 net.cpp:157] Top shape: 1 1024 48 48 (2359296)
I0407 18:39:39.513053 7609 net.cpp:157] Top shape: 1 1024 48 48 (2359296)
I0407 18:39:39.513056 7609 net.cpp:165] Memory required for data: 1519386624
I0407 18:39:39.513058 7609 layer_factory.hpp:77] Creating layer conv6_1
I0407 18:39:39.513064 7609 net.cpp:100] Creating Layer conv6_1
I0407 18:39:39.513067 7609 net.cpp:434] conv6_1 <- fc7_relu7_0_split_0
I0407 18:39:39.513073 7609 net.cpp:408] conv6_1 -> conv6_1
I0407 18:39:39.514622 7609 net.cpp:150] Setting up conv6_1
I0407 18:39:39.514633 7609 net.cpp:157] Top shape: 1 256 48 48 (589824)
I0407 18:39:39.514636 7609 net.cpp:165] Memory required for data: 1521745920
I0407 18:39:39.514642 7609 layer_factory.hpp:77] Creating layer conv6_1_relu
I0407 18:39:39.514648 7609 net.cpp:100] Creating Layer conv6_1_relu
I0407 18:39:39.514652 7609 net.cpp:434] conv6_1_relu <- conv6_1
I0407 18:39:39.514655 7609 net.cpp:395] conv6_1_relu -> conv6_1 (in-place)
I0407 18:39:39.514662 7609 net.cpp:150] Setting up conv6_1_relu
I0407 18:39:39.514664 7609 net.cpp:157] Top shape: 1 256 48 48 (589824)
I0407 18:39:39.514667 7609 net.cpp:165] Memory required for data: 1524105216
I0407 18:39:39.514669 7609 layer_factory.hpp:77] Creating layer conv6_2
I0407 18:39:39.514677 7609 net.cpp:100] Creating Layer conv6_2
I0407 18:39:39.514679 7609 net.cpp:434] conv6_2 <- conv6_1
I0407 18:39:39.514685 7609 net.cpp:408] conv6_2 -> conv6_2
I0407 18:39:39.520328 7609 net.cpp:150] Setting up conv6_2
I0407 18:39:39.520345 7609 net.cpp:157] Top shape: 1 512 24 24 (294912)
I0407 18:39:39.520349 7609 net.cpp:165] Memory required for data: 1525284864
I0407 18:39:39.520360 7609 layer_factory.hpp:77] Creating layer conv6_2_relu
I0407 18:39:39.520366 7609 net.cpp:100] Creating Layer conv6_2_relu
I0407 18:39:39.520370 7609 net.cpp:434] conv6_2_relu <- conv6_2
I0407 18:39:39.520375 7609 net.cpp:395] conv6_2_relu -> conv6_2 (in-place)
I0407 18:39:39.520380 7609 net.cpp:150] Setting up conv6_2_relu
I0407 18:39:39.520383 7609 net.cpp:157] Top shape: 1 512 24 24 (294912)
I0407 18:39:39.520386 7609 net.cpp:165] Memory required for data: 1526464512
I0407 18:39:39.520388 7609 layer_factory.hpp:77] Creating layer conv6_2_conv6_2_relu_0_split
I0407 18:39:39.520393 7609 net.cpp:100] Creating Layer conv6_2_conv6_2_relu_0_split
I0407 18:39:39.520396 7609 net.cpp:434] conv6_2_conv6_2_relu_0_split <- conv6_2
I0407 18:39:39.520402 7609 net.cpp:408] conv6_2_conv6_2_relu_0_split -> conv6_2_conv6_2_relu_0_split_0
I0407 18:39:39.520413 7609 net.cpp:408] conv6_2_conv6_2_relu_0_split -> conv6_2_conv6_2_relu_0_split_1
I0407 18:39:39.520418 7609 net.cpp:408] conv6_2_conv6_2_relu_0_split -> conv6_2_conv6_2_relu_0_split_2
I0407 18:39:39.520422 7609 net.cpp:408] conv6_2_conv6_2_relu_0_split -> conv6_2_conv6_2_relu_0_split_3
I0407 18:39:39.520460 7609 net.cpp:150] Setting up conv6_2_conv6_2_relu_0_split
I0407 18:39:39.520467 7609 net.cpp:157] Top shape: 1 512 24 24 (294912)
I0407 18:39:39.520469 7609 net.cpp:157] Top shape: 1 512 24 24 (294912)
I0407 18:39:39.520473 7609 net.cpp:157] Top shape: 1 512 24 24 (294912)
I0407 18:39:39.520475 7609 net.cpp:157] Top shape: 1 512 24 24 (294912)
I0407 18:39:39.520478 7609 net.cpp:165] Memory required for data: 1531183104
I0407 18:39:39.520480 7609 layer_factory.hpp:77] Creating layer conv7_1
I0407 18:39:39.520489 7609 net.cpp:100] Creating Layer conv7_1
I0407 18:39:39.520493 7609 net.cpp:434] conv7_1 <- conv6_2_conv6_2_relu_0_split_0
I0407 18:39:39.520498 7609 net.cpp:408] conv7_1 -> conv7_1
I0407 18:39:39.520902 7609 net.cpp:150] Setting up conv7_1
I0407 18:39:39.520910 7609 net.cpp:157] Top shape: 1 128 24 24 (73728)
I0407 18:39:39.520912 7609 net.cpp:165] Memory required for data: 1531478016
I0407 18:39:39.520917 7609 layer_factory.hpp:77] Creating layer conv7_1_relu
I0407 18:39:39.520921 7609 net.cpp:100] Creating Layer conv7_1_relu
I0407 18:39:39.520925 7609 net.cpp:434] conv7_1_relu <- conv7_1
I0407 18:39:39.520928 7609 net.cpp:395] conv7_1_relu -> conv7_1 (in-place)
I0407 18:39:39.520933 7609 net.cpp:150] Setting up conv7_1_relu
I0407 18:39:39.520936 7609 net.cpp:157] Top shape: 1 128 24 24 (73728)
I0407 18:39:39.520939 7609 net.cpp:165] Memory required for data: 1531772928
I0407 18:39:39.520941 7609 layer_factory.hpp:77] Creating layer conv7_2
I0407 18:39:39.520948 7609 net.cpp:100] Creating Layer conv7_2
I0407 18:39:39.520951 7609 net.cpp:434] conv7_2 <- conv7_1
I0407 18:39:39.520956 7609 net.cpp:408] conv7_2 -> conv7_2
I0407 18:39:39.522501 7609 net.cpp:150] Setting up conv7_2
I0407 18:39:39.522512 7609 net.cpp:157] Top shape: 1 256 12 12 (36864)
I0407 18:39:39.522516 7609 net.cpp:165] Memory required for data: 1531920384
I0407 18:39:39.522531 7609 layer_factory.hpp:77] Creating layer conv7_2_relu
I0407 18:39:39.522536 7609 net.cpp:100] Creating Layer conv7_2_relu
I0407 18:39:39.522538 7609 net.cpp:434] conv7_2_relu <- conv7_2
I0407 18:39:39.522542 7609 net.cpp:395] conv7_2_relu -> conv7_2 (in-place)
I0407 18:39:39.522557 7609 net.cpp:150] Setting up conv7_2_relu
I0407 18:39:39.522560 7609 net.cpp:157] Top shape: 1 256 12 12 (36864)
I0407 18:39:39.522563 7609 net.cpp:165] Memory required for data: 1532067840
I0407 18:39:39.522565 7609 layer_factory.hpp:77] Creating layer conv7_2_conv7_2_relu_0_split
I0407 18:39:39.522570 7609 net.cpp:100] Creating Layer conv7_2_conv7_2_relu_0_split
I0407 18:39:39.522572 7609 net.cpp:434] conv7_2_conv7_2_relu_0_split <- conv7_2
I0407 18:39:39.522578 7609 net.cpp:408] conv7_2_conv7_2_relu_0_split -> conv7_2_conv7_2_relu_0_split_0
I0407 18:39:39.522583 7609 net.cpp:408] conv7_2_conv7_2_relu_0_split -> conv7_2_conv7_2_relu_0_split_1
I0407 18:39:39.522588 7609 net.cpp:408] conv7_2_conv7_2_relu_0_split -> conv7_2_conv7_2_relu_0_split_2
I0407 18:39:39.522591 7609 net.cpp:408] conv7_2_conv7_2_relu_0_split -> conv7_2_conv7_2_relu_0_split_3
I0407 18:39:39.522652 7609 net.cpp:150] Setting up conv7_2_conv7_2_relu_0_split
I0407 18:39:39.522657 7609 net.cpp:157] Top shape: 1 256 12 12 (36864)
I0407 18:39:39.522661 7609 net.cpp:157] Top shape: 1 256 12 12 (36864)
I0407 18:39:39.522665 7609 net.cpp:157] Top shape: 1 256 12 12 (36864)
I0407 18:39:39.522667 7609 net.cpp:157] Top shape: 1 256 12 12 (36864)
I0407 18:39:39.522670 7609 net.cpp:165] Memory required for data: 1532657664
I0407 18:39:39.522672 7609 layer_factory.hpp:77] Creating layer conv8_1
I0407 18:39:39.522680 7609 net.cpp:100] Creating Layer conv8_1
I0407 18:39:39.522682 7609 net.cpp:434] conv8_1 <- conv7_2_conv7_2_relu_0_split_0
I0407 18:39:39.522691 7609 net.cpp:408] conv8_1 -> conv8_1
I0407 18:39:39.522956 7609 net.cpp:150] Setting up conv8_1
I0407 18:39:39.522964 7609 net.cpp:157] Top shape: 1 128 12 12 (18432)
I0407 18:39:39.522965 7609 net.cpp:165] Memory required for data: 1532731392
I0407 18:39:39.522970 7609 layer_factory.hpp:77] Creating layer conv8_1_relu
I0407 18:39:39.522974 7609 net.cpp:100] Creating Layer conv8_1_relu
I0407 18:39:39.522977 7609 net.cpp:434] conv8_1_relu <- conv8_1
I0407 18:39:39.522980 7609 net.cpp:395] conv8_1_relu -> conv8_1 (in-place)
I0407 18:39:39.522985 7609 net.cpp:150] Setting up conv8_1_relu
I0407 18:39:39.522989 7609 net.cpp:157] Top shape: 1 128 12 12 (18432)
I0407 18:39:39.522990 7609 net.cpp:165] Memory required for data: 1532805120
I0407 18:39:39.522994 7609 layer_factory.hpp:77] Creating layer conv8_2
I0407 18:39:39.523000 7609 net.cpp:100] Creating Layer conv8_2
I0407 18:39:39.523002 7609 net.cpp:434] conv8_2 <- conv8_1
I0407 18:39:39.523007 7609 net.cpp:408] conv8_2 -> conv8_2
I0407 18:39:39.524451 7609 net.cpp:150] Setting up conv8_2
I0407 18:39:39.524461 7609 net.cpp:157] Top shape: 1 256 10 10 (25600)
I0407 18:39:39.524463 7609 net.cpp:165] Memory required for data: 1532907520
I0407 18:39:39.524467 7609 layer_factory.hpp:77] Creating layer conv8_2_relu
I0407 18:39:39.524472 7609 net.cpp:100] Creating Layer conv8_2_relu
I0407 18:39:39.524475 7609 net.cpp:434] conv8_2_relu <- conv8_2
I0407 18:39:39.524479 7609 net.cpp:395] conv8_2_relu -> conv8_2 (in-place)
I0407 18:39:39.524484 7609 net.cpp:150] Setting up conv8_2_relu
I0407 18:39:39.524487 7609 net.cpp:157] Top shape: 1 256 10 10 (25600)
I0407 18:39:39.524490 7609 net.cpp:165] Memory required for data: 1533009920
I0407 18:39:39.524492 7609 layer_factory.hpp:77] Creating layer conv8_2_conv8_2_relu_0_split
I0407 18:39:39.524497 7609 net.cpp:100] Creating Layer conv8_2_conv8_2_relu_0_split
I0407 18:39:39.524499 7609 net.cpp:434] conv8_2_conv8_2_relu_0_split <- conv8_2
I0407 18:39:39.524504 7609 net.cpp:408] conv8_2_conv8_2_relu_0_split -> conv8_2_conv8_2_relu_0_split_0
I0407 18:39:39.524509 7609 net.cpp:408] conv8_2_conv8_2_relu_0_split -> conv8_2_conv8_2_relu_0_split_1
I0407 18:39:39.524513 7609 net.cpp:408] conv8_2_conv8_2_relu_0_split -> conv8_2_conv8_2_relu_0_split_2
I0407 18:39:39.524518 7609 net.cpp:408] conv8_2_conv8_2_relu_0_split -> conv8_2_conv8_2_relu_0_split_3
I0407 18:39:39.524560 7609 net.cpp:150] Setting up conv8_2_conv8_2_relu_0_split
I0407 18:39:39.524565 7609 net.cpp:157] Top shape: 1 256 10 10 (25600)
I0407 18:39:39.524569 7609 net.cpp:157] Top shape: 1 256 10 10 (25600)
I0407 18:39:39.524571 7609 net.cpp:157] Top shape: 1 256 10 10 (25600)
I0407 18:39:39.524574 7609 net.cpp:157] Top shape: 1 256 10 10 (25600)
I0407 18:39:39.524576 7609 net.cpp:165] Memory required for data: 1533419520
I0407 18:39:39.524580 7609 layer_factory.hpp:77] Creating layer conv9_1
I0407 18:39:39.524586 7609 net.cpp:100] Creating Layer conv9_1
I0407 18:39:39.524590 7609 net.cpp:434] conv9_1 <- conv8_2_conv8_2_relu_0_split_0
I0407 18:39:39.524595 7609 net.cpp:408] conv9_1 -> conv9_1
I0407 18:39:39.525141 7609 net.cpp:150] Setting up conv9_1
I0407 18:39:39.525151 7609 net.cpp:157] Top shape: 1 128 10 10 (12800)
I0407 18:39:39.525153 7609 net.cpp:165] Memory required for data: 1533470720
I0407 18:39:39.525158 7609 layer_factory.hpp:77] Creating layer conv9_1_relu
I0407 18:39:39.525163 7609 net.cpp:100] Creating Layer conv9_1_relu
I0407 18:39:39.525166 7609 net.cpp:434] conv9_1_relu <- conv9_1
I0407 18:39:39.525171 7609 net.cpp:395] conv9_1_relu -> conv9_1 (in-place)
I0407 18:39:39.525177 7609 net.cpp:150] Setting up conv9_1_relu
I0407 18:39:39.525179 7609 net.cpp:157] Top shape: 1 128 10 10 (12800)
I0407 18:39:39.525182 7609 net.cpp:165] Memory required for data: 1533521920
I0407 18:39:39.525184 7609 layer_factory.hpp:77] Creating layer conv9_2
I0407 18:39:39.525192 7609 net.cpp:100] Creating Layer conv9_2
I0407 18:39:39.525194 7609 net.cpp:434] conv9_2 <- conv9_1
I0407 18:39:39.525202 7609 net.cpp:408] conv9_2 -> conv9_2
I0407 18:39:39.526652 7609 net.cpp:150] Setting up conv9_2
I0407 18:39:39.526662 7609 net.cpp:157] Top shape: 1 256 8 8 (16384)
I0407 18:39:39.526665 7609 net.cpp:165] Memory required for data: 1533587456
I0407 18:39:39.526670 7609 layer_factory.hpp:77] Creating layer conv9_2_relu
I0407 18:39:39.526674 7609 net.cpp:100] Creating Layer conv9_2_relu
I0407 18:39:39.526677 7609 net.cpp:434] conv9_2_relu <- conv9_2
I0407 18:39:39.526681 7609 net.cpp:395] conv9_2_relu -> conv9_2 (in-place)
I0407 18:39:39.526687 7609 net.cpp:150] Setting up conv9_2_relu
I0407 18:39:39.526691 7609 net.cpp:157] Top shape: 1 256 8 8 (16384)
I0407 18:39:39.526695 7609 net.cpp:165] Memory required for data: 1533652992
I0407 18:39:39.526696 7609 layer_factory.hpp:77] Creating layer conv9_2_conv9_2_relu_0_split
I0407 18:39:39.526700 7609 net.cpp:100] Creating Layer conv9_2_conv9_2_relu_0_split
I0407 18:39:39.526703 7609 net.cpp:434] conv9_2_conv9_2_relu_0_split <- conv9_2
I0407 18:39:39.526707 7609 net.cpp:408] conv9_2_conv9_2_relu_0_split -> conv9_2_conv9_2_relu_0_split_0
I0407 18:39:39.526712 7609 net.cpp:408] conv9_2_conv9_2_relu_0_split -> conv9_2_conv9_2_relu_0_split_1
I0407 18:39:39.526716 7609 net.cpp:408] conv9_2_conv9_2_relu_0_split -> conv9_2_conv9_2_relu_0_split_2
I0407 18:39:39.526747 7609 net.cpp:150] Setting up conv9_2_conv9_2_relu_0_split
I0407 18:39:39.526751 7609 net.cpp:157] Top shape: 1 256 8 8 (16384)
I0407 18:39:39.526756 7609 net.cpp:157] Top shape: 1 256 8 8 (16384)
I0407 18:39:39.526758 7609 net.cpp:157] Top shape: 1 256 8 8 (16384)
I0407 18:39:39.526760 7609 net.cpp:165] Memory required for data: 1533849600
I0407 18:39:39.526763 7609 layer_factory.hpp:77] Creating layer conv4_3_norm
I0407 18:39:39.526769 7609 net.cpp:100] Creating Layer conv4_3_norm
I0407 18:39:39.526772 7609 net.cpp:434] conv4_3_norm <- conv4_3_relu4_3_0_split_1
I0407 18:39:39.526777 7609 net.cpp:408] conv4_3_norm -> conv4_3_norm
I0407 18:39:39.526876 7609 net.cpp:150] Setting up conv4_3_norm
I0407 18:39:39.526881 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.526885 7609 net.cpp:165] Memory required for data: 1552723968
I0407 18:39:39.526888 7609 layer_factory.hpp:77] Creating layer conv4_3_norm_conv4_3_norm_0_split
I0407 18:39:39.526892 7609 net.cpp:100] Creating Layer conv4_3_norm_conv4_3_norm_0_split
I0407 18:39:39.526895 7609 net.cpp:434] conv4_3_norm_conv4_3_norm_0_split <- conv4_3_norm
I0407 18:39:39.526899 7609 net.cpp:408] conv4_3_norm_conv4_3_norm_0_split -> conv4_3_norm_conv4_3_norm_0_split_0
I0407 18:39:39.526904 7609 net.cpp:408] conv4_3_norm_conv4_3_norm_0_split -> conv4_3_norm_conv4_3_norm_0_split_1
I0407 18:39:39.526909 7609 net.cpp:408] conv4_3_norm_conv4_3_norm_0_split -> conv4_3_norm_conv4_3_norm_0_split_2
I0407 18:39:39.526937 7609 net.cpp:150] Setting up conv4_3_norm_conv4_3_norm_0_split
I0407 18:39:39.526942 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.526945 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.526948 7609 net.cpp:157] Top shape: 1 512 96 96 (4718592)
I0407 18:39:39.526950 7609 net.cpp:165] Memory required for data: 1609347072
I0407 18:39:39.526953 7609 layer_factory.hpp:77] Creating layer conv4_3_norm_mbox_loc
I0407 18:39:39.526958 7609 net.cpp:100] Creating Layer conv4_3_norm_mbox_loc
I0407 18:39:39.526962 7609 net.cpp:434] conv4_3_norm_mbox_loc <- conv4_3_norm_conv4_3_norm_0_split_0
I0407 18:39:39.526968 7609 net.cpp:408] conv4_3_norm_mbox_loc -> conv4_3_norm_mbox_loc
I0407 18:39:39.537379 7609 net.cpp:150] Setting up conv4_3_norm_mbox_loc
I0407 18:39:39.537411 7609 net.cpp:157] Top shape: 1 240 96 96 (2211840)
I0407 18:39:39.537415 7609 net.cpp:165] Memory required for data: 1618194432
I0407 18:39:39.537423 7609 layer_factory.hpp:77] Creating layer conv4_3_norm_mbox_loc_perm
I0407 18:39:39.537444 7609 net.cpp:100] Creating Layer conv4_3_norm_mbox_loc_perm
I0407 18:39:39.537449 7609 net.cpp:434] conv4_3_norm_mbox_loc_perm <- conv4_3_norm_mbox_loc
I0407 18:39:39.537461 7609 net.cpp:408] conv4_3_norm_mbox_loc_perm -> conv4_3_norm_mbox_loc_perm
I0407 18:39:39.537531 7609 net.cpp:150] Setting up conv4_3_norm_mbox_loc_perm
I0407 18:39:39.537537 7609 net.cpp:157] Top shape: 1 96 96 240 (2211840)
I0407 18:39:39.537540 7609 net.cpp:165] Memory required for data: 1627041792
I0407 18:39:39.537544 7609 layer_factory.hpp:77] Creating layer conv4_3_norm_mbox_loc_flat
I0407 18:39:39.537549 7609 net.cpp:100] Creating Layer conv4_3_norm_mbox_loc_flat
I0407 18:39:39.537551 7609 net.cpp:434] conv4_3_norm_mbox_loc_flat <- conv4_3_norm_mbox_loc_perm
I0407 18:39:39.537555 7609 net.cpp:408] conv4_3_norm_mbox_loc_flat -> conv4_3_norm_mbox_loc_flat
I0407 18:39:39.537572 7609 net.cpp:150] Setting up conv4_3_norm_mbox_loc_flat
I0407 18:39:39.537576 7609 net.cpp:157] Top shape: 1 2211840 (2211840)
I0407 18:39:39.537580 7609 net.cpp:165] Memory required for data: 1635889152
I0407 18:39:39.537581 7609 layer_factory.hpp:77] Creating layer conv4_3_norm_mbox_conf
I0407 18:39:39.537595 7609 net.cpp:100] Creating Layer conv4_3_norm_mbox_conf
I0407 18:39:39.537598 7609 net.cpp:434] conv4_3_norm_mbox_conf <- conv4_3_norm_conv4_3_norm_0_split_1
I0407 18:39:39.537606 7609 net.cpp:408] conv4_3_norm_mbox_conf -> conv4_3_norm_mbox_conf
I0407 18:39:39.539510 7609 net.cpp:150] Setting up conv4_3_norm_mbox_conf
I0407 18:39:39.539530 7609 net.cpp:157] Top shape: 1 40 96 96 (368640)
I0407 18:39:39.539532 7609 net.cpp:165] Memory required for data: 1637363712
I0407 18:39:39.539539 7609 layer_factory.hpp:77] Creating layer conv4_3_norm_mbox_conf_perm
I0407 18:39:39.539546 7609 net.cpp:100] Creating Layer conv4_3_norm_mbox_conf_perm
I0407 18:39:39.539549 7609 net.cpp:434] conv4_3_norm_mbox_conf_perm <- conv4_3_norm_mbox_conf
I0407 18:39:39.539556 7609 net.cpp:408] conv4_3_norm_mbox_conf_perm -> conv4_3_norm_mbox_conf_perm
I0407 18:39:39.539641 7609 net.cpp:150] Setting up conv4_3_norm_mbox_conf_perm
I0407 18:39:39.539662 7609 net.cpp:157] Top shape: 1 96 96 40 (368640)
I0407 18:39:39.539666 7609 net.cpp:165] Memory required for data: 1638838272
I0407 18:39:39.539670 7609 layer_factory.hpp:77] Creating layer conv4_3_norm_mbox_conf_flat
I0407 18:39:39.539677 7609 net.cpp:100] Creating Layer conv4_3_norm_mbox_conf_flat
I0407 18:39:39.539683 7609 net.cpp:434] conv4_3_norm_mbox_conf_flat <- conv4_3_norm_mbox_conf_perm
I0407 18:39:39.539690 7609 net.cpp:408] conv4_3_norm_mbox_conf_flat -> conv4_3_norm_mbox_conf_flat
I0407 18:39:39.539727 7609 net.cpp:150] Setting up conv4_3_norm_mbox_conf_flat
I0407 18:39:39.539734 7609 net.cpp:157] Top shape: 1 368640 (368640)
I0407 18:39:39.539738 7609 net.cpp:165] Memory required for data: 1640312832
I0407 18:39:39.539743 7609 layer_factory.hpp:77] Creating layer conv4_3_norm_mbox_priorbox
I0407 18:39:39.539753 7609 net.cpp:100] Creating Layer conv4_3_norm_mbox_priorbox
I0407 18:39:39.539759 7609 net.cpp:434] conv4_3_norm_mbox_priorbox <- conv4_3_norm_conv4_3_norm_0_split_2
I0407 18:39:39.539767 7609 net.cpp:434] conv4_3_norm_mbox_priorbox <- data_input_0_split_1
I0407 18:39:39.539775 7609 net.cpp:408] conv4_3_norm_mbox_priorbox -> conv4_3_norm_mbox_priorbox
I0407 18:39:39.539808 7609 net.cpp:150] Setting up conv4_3_norm_mbox_priorbox
I0407 18:39:39.539816 7609 net.cpp:157] Top shape: 1 2 737280 (1474560)
I0407 18:39:39.539820 7609 net.cpp:165] Memory required for data: 1646211072
I0407 18:39:39.539825 7609 layer_factory.hpp:77] Creating layer fc7_mbox_loc
I0407 18:39:39.539837 7609 net.cpp:100] Creating Layer fc7_mbox_loc
I0407 18:39:39.539842 7609 net.cpp:434] fc7_mbox_loc <- fc7_relu7_0_split_1
I0407 18:39:39.539851 7609 net.cpp:408] fc7_mbox_loc -> fc7_mbox_loc
I0407 18:39:39.558524 7609 net.cpp:150] Setting up fc7_mbox_loc
I0407 18:39:39.558557 7609 net.cpp:157] Top shape: 1 240 48 48 (552960)
I0407 18:39:39.558559 7609 net.cpp:165] Memory required for data: 1648422912
I0407 18:39:39.558568 7609 layer_factory.hpp:77] Creating layer fc7_mbox_loc_perm
I0407 18:39:39.558576 7609 net.cpp:100] Creating Layer fc7_mbox_loc_perm
I0407 18:39:39.558588 7609 net.cpp:434] fc7_mbox_loc_perm <- fc7_mbox_loc
I0407 18:39:39.558595 7609 net.cpp:408] fc7_mbox_loc_perm -> fc7_mbox_loc_perm
I0407 18:39:39.558676 7609 net.cpp:150] Setting up fc7_mbox_loc_perm
I0407 18:39:39.558681 7609 net.cpp:157] Top shape: 1 48 48 240 (552960)
I0407 18:39:39.558683 7609 net.cpp:165] Memory required for data: 1650634752
I0407 18:39:39.558686 7609 layer_factory.hpp:77] Creating layer fc7_mbox_loc_flat
I0407 18:39:39.558691 7609 net.cpp:100] Creating Layer fc7_mbox_loc_flat
I0407 18:39:39.558694 7609 net.cpp:434] fc7_mbox_loc_flat <- fc7_mbox_loc_perm
I0407 18:39:39.558699 7609 net.cpp:408] fc7_mbox_loc_flat -> fc7_mbox_loc_flat
I0407 18:39:39.558715 7609 net.cpp:150] Setting up fc7_mbox_loc_flat
I0407 18:39:39.558722 7609 net.cpp:157] Top shape: 1 552960 (552960)
I0407 18:39:39.558723 7609 net.cpp:165] Memory required for data: 1652846592
I0407 18:39:39.558727 7609 layer_factory.hpp:77] Creating layer fc7_mbox_conf
I0407 18:39:39.558733 7609 net.cpp:100] Creating Layer fc7_mbox_conf
I0407 18:39:39.558737 7609 net.cpp:434] fc7_mbox_conf <- fc7_relu7_0_split_2
I0407 18:39:39.558743 7609 net.cpp:408] fc7_mbox_conf -> fc7_mbox_conf
I0407 18:39:39.561655 7609 net.cpp:150] Setting up fc7_mbox_conf
I0407 18:39:39.561666 7609 net.cpp:157] Top shape: 1 40 48 48 (92160)
I0407 18:39:39.561669 7609 net.cpp:165] Memory required for data: 1653215232
I0407 18:39:39.561676 7609 layer_factory.hpp:77] Creating layer fc7_mbox_conf_perm
I0407 18:39:39.561679 7609 net.cpp:100] Creating Layer fc7_mbox_conf_perm
I0407 18:39:39.561683 7609 net.cpp:434] fc7_mbox_conf_perm <- fc7_mbox_conf
I0407 18:39:39.561688 7609 net.cpp:408] fc7_mbox_conf_perm -> fc7_mbox_conf_perm
I0407 18:39:39.561760 7609 net.cpp:150] Setting up fc7_mbox_conf_perm
I0407 18:39:39.561766 7609 net.cpp:157] Top shape: 1 48 48 40 (92160)
I0407 18:39:39.561769 7609 net.cpp:165] Memory required for data: 1653583872
I0407 18:39:39.561772 7609 layer_factory.hpp:77] Creating layer fc7_mbox_conf_flat
I0407 18:39:39.561776 7609 net.cpp:100] Creating Layer fc7_mbox_conf_flat
I0407 18:39:39.561779 7609 net.cpp:434] fc7_mbox_conf_flat <- fc7_mbox_conf_perm
I0407 18:39:39.561784 7609 net.cpp:408] fc7_mbox_conf_flat -> fc7_mbox_conf_flat
I0407 18:39:39.561800 7609 net.cpp:150] Setting up fc7_mbox_conf_flat
I0407 18:39:39.561805 7609 net.cpp:157] Top shape: 1 92160 (92160)
I0407 18:39:39.561808 7609 net.cpp:165] Memory required for data: 1653952512
I0407 18:39:39.561810 7609 layer_factory.hpp:77] Creating layer fc7_mbox_priorbox
I0407 18:39:39.561816 7609 net.cpp:100] Creating Layer fc7_mbox_priorbox
I0407 18:39:39.561820 7609 net.cpp:434] fc7_mbox_priorbox <- fc7_relu7_0_split_3
I0407 18:39:39.561825 7609 net.cpp:434] fc7_mbox_priorbox <- data_input_0_split_2
I0407 18:39:39.561828 7609 net.cpp:408] fc7_mbox_priorbox -> fc7_mbox_priorbox
I0407 18:39:39.561847 7609 net.cpp:150] Setting up fc7_mbox_priorbox
I0407 18:39:39.561851 7609 net.cpp:157] Top shape: 1 2 184320 (368640)
I0407 18:39:39.561854 7609 net.cpp:165] Memory required for data: 1655427072
I0407 18:39:39.561856 7609 layer_factory.hpp:77] Creating layer conv6_2_mbox_loc
I0407 18:39:39.561863 7609 net.cpp:100] Creating Layer conv6_2_mbox_loc
I0407 18:39:39.561866 7609 net.cpp:434] conv6_2_mbox_loc <- conv6_2_conv6_2_relu_0_split_1
I0407 18:39:39.561872 7609 net.cpp:408] conv6_2_mbox_loc -> conv6_2_mbox_loc
I0407 18:39:39.570233 7609 net.cpp:150] Setting up conv6_2_mbox_loc
I0407 18:39:39.570273 7609 net.cpp:157] Top shape: 1 240 24 24 (138240)
I0407 18:39:39.570276 7609 net.cpp:165] Memory required for data: 1655980032
I0407 18:39:39.570283 7609 layer_factory.hpp:77] Creating layer conv6_2_mbox_loc_perm
I0407 18:39:39.570291 7609 net.cpp:100] Creating Layer conv6_2_mbox_loc_perm
I0407 18:39:39.570297 7609 net.cpp:434] conv6_2_mbox_loc_perm <- conv6_2_mbox_loc
I0407 18:39:39.570304 7609 net.cpp:408] conv6_2_mbox_loc_perm -> conv6_2_mbox_loc_perm
I0407 18:39:39.570374 7609 net.cpp:150] Setting up conv6_2_mbox_loc_perm
I0407 18:39:39.570380 7609 net.cpp:157] Top shape: 1 24 24 240 (138240)
I0407 18:39:39.570389 7609 net.cpp:165] Memory required for data: 1656532992
I0407 18:39:39.570392 7609 layer_factory.hpp:77] Creating layer conv6_2_mbox_loc_flat
I0407 18:39:39.570397 7609 net.cpp:100] Creating Layer conv6_2_mbox_loc_flat
I0407 18:39:39.570400 7609 net.cpp:434] conv6_2_mbox_loc_flat <- conv6_2_mbox_loc_perm
I0407 18:39:39.570405 7609 net.cpp:408] conv6_2_mbox_loc_flat -> conv6_2_mbox_loc_flat
I0407 18:39:39.570421 7609 net.cpp:150] Setting up conv6_2_mbox_loc_flat
I0407 18:39:39.570432 7609 net.cpp:157] Top shape: 1 138240 (138240)
I0407 18:39:39.570436 7609 net.cpp:165] Memory required for data: 1657085952
I0407 18:39:39.570438 7609 layer_factory.hpp:77] Creating layer conv6_2_mbox_conf
I0407 18:39:39.570446 7609 net.cpp:100] Creating Layer conv6_2_mbox_conf
I0407 18:39:39.570459 7609 net.cpp:434] conv6_2_mbox_conf <- conv6_2_conv6_2_relu_0_split_2
I0407 18:39:39.570464 7609 net.cpp:408] conv6_2_mbox_conf -> conv6_2_mbox_conf
I0407 18:39:39.572188 7609 net.cpp:150] Setting up conv6_2_mbox_conf
I0407 18:39:39.572198 7609 net.cpp:157] Top shape: 1 40 24 24 (23040)
I0407 18:39:39.572201 7609 net.cpp:165] Memory required for data: 1657178112
I0407 18:39:39.572216 7609 layer_factory.hpp:77] Creating layer conv6_2_mbox_conf_perm
I0407 18:39:39.572222 7609 net.cpp:100] Creating Layer conv6_2_mbox_conf_perm
I0407 18:39:39.572226 7609 net.cpp:434] conv6_2_mbox_conf_perm <- conv6_2_mbox_conf
I0407 18:39:39.572230 7609 net.cpp:408] conv6_2_mbox_conf_perm -> conv6_2_mbox_conf_perm
I0407 18:39:39.572314 7609 net.cpp:150] Setting up conv6_2_mbox_conf_perm
I0407 18:39:39.572319 7609 net.cpp:157] Top shape: 1 24 24 40 (23040)
I0407 18:39:39.572322 7609 net.cpp:165] Memory required for data: 1657270272
I0407 18:39:39.572324 7609 layer_factory.hpp:77] Creating layer conv6_2_mbox_conf_flat
I0407 18:39:39.572329 7609 net.cpp:100] Creating Layer conv6_2_mbox_conf_flat
I0407 18:39:39.572333 7609 net.cpp:434] conv6_2_mbox_conf_flat <- conv6_2_mbox_conf_perm
I0407 18:39:39.572337 7609 net.cpp:408] conv6_2_mbox_conf_flat -> conv6_2_mbox_conf_flat
I0407 18:39:39.572353 7609 net.cpp:150] Setting up conv6_2_mbox_conf_flat
I0407 18:39:39.572357 7609 net.cpp:157] Top shape: 1 23040 (23040)
I0407 18:39:39.572360 7609 net.cpp:165] Memory required for data: 1657362432
I0407 18:39:39.572362 7609 layer_factory.hpp:77] Creating layer conv6_2_mbox_priorbox
I0407 18:39:39.572368 7609 net.cpp:100] Creating Layer conv6_2_mbox_priorbox
I0407 18:39:39.572372 7609 net.cpp:434] conv6_2_mbox_priorbox <- conv6_2_conv6_2_relu_0_split_3
I0407 18:39:39.572377 7609 net.cpp:434] conv6_2_mbox_priorbox <- data_input_0_split_3
I0407 18:39:39.572381 7609 net.cpp:408] conv6_2_mbox_priorbox -> conv6_2_mbox_priorbox
I0407 18:39:39.572401 7609 net.cpp:150] Setting up conv6_2_mbox_priorbox
I0407 18:39:39.572404 7609 net.cpp:157] Top shape: 1 2 46080 (92160)
I0407 18:39:39.572407 7609 net.cpp:165] Memory required for data: 1657731072
I0407 18:39:39.572409 7609 layer_factory.hpp:77] Creating layer conv7_2_mbox_loc
I0407 18:39:39.572417 7609 net.cpp:100] Creating Layer conv7_2_mbox_loc
I0407 18:39:39.572419 7609 net.cpp:434] conv7_2_mbox_loc <- conv7_2_conv7_2_relu_0_split_1
I0407 18:39:39.572424 7609 net.cpp:408] conv7_2_mbox_loc -> conv7_2_mbox_loc
I0407 18:39:39.577085 7609 net.cpp:150] Setting up conv7_2_mbox_loc
I0407 18:39:39.577102 7609 net.cpp:157] Top shape: 1 240 12 12 (34560)
I0407 18:39:39.577105 7609 net.cpp:165] Memory required for data: 1657869312
I0407 18:39:39.577111 7609 layer_factory.hpp:77] Creating layer conv7_2_mbox_loc_perm
I0407 18:39:39.577117 7609 net.cpp:100] Creating Layer conv7_2_mbox_loc_perm
I0407 18:39:39.577121 7609 net.cpp:434] conv7_2_mbox_loc_perm <- conv7_2_mbox_loc
I0407 18:39:39.577127 7609 net.cpp:408] conv7_2_mbox_loc_perm -> conv7_2_mbox_loc_perm
I0407 18:39:39.577194 7609 net.cpp:150] Setting up conv7_2_mbox_loc_perm
I0407 18:39:39.577199 7609 net.cpp:157] Top shape: 1 12 12 240 (34560)
I0407 18:39:39.577203 7609 net.cpp:165] Memory required for data: 1658007552
I0407 18:39:39.577209 7609 layer_factory.hpp:77] Creating layer conv7_2_mbox_loc_flat
I0407 18:39:39.577214 7609 net.cpp:100] Creating Layer conv7_2_mbox_loc_flat
I0407 18:39:39.577217 7609 net.cpp:434] conv7_2_mbox_loc_flat <- conv7_2_mbox_loc_perm
I0407 18:39:39.577222 7609 net.cpp:408] conv7_2_mbox_loc_flat -> conv7_2_mbox_loc_flat
I0407 18:39:39.577239 7609 net.cpp:150] Setting up conv7_2_mbox_loc_flat
I0407 18:39:39.577244 7609 net.cpp:157] Top shape: 1 34560 (34560)
I0407 18:39:39.577246 7609 net.cpp:165] Memory required for data: 1658145792
I0407 18:39:39.577249 7609 layer_factory.hpp:77] Creating layer conv7_2_mbox_conf
I0407 18:39:39.577255 7609 net.cpp:100] Creating Layer conv7_2_mbox_conf
I0407 18:39:39.577257 7609 net.cpp:434] conv7_2_mbox_conf <- conv7_2_conv7_2_relu_0_split_2
I0407 18:39:39.577265 7609 net.cpp:408] conv7_2_mbox_conf -> conv7_2_mbox_conf
I0407 18:39:39.578275 7609 net.cpp:150] Setting up conv7_2_mbox_conf
I0407 18:39:39.578285 7609 net.cpp:157] Top shape: 1 40 12 12 (5760)
I0407 18:39:39.578289 7609 net.cpp:165] Memory required for data: 1658168832
I0407 18:39:39.578294 7609 layer_factory.hpp:77] Creating layer conv7_2_mbox_conf_perm
I0407 18:39:39.578299 7609 net.cpp:100] Creating Layer conv7_2_mbox_conf_perm
I0407 18:39:39.578301 7609 net.cpp:434] conv7_2_mbox_conf_perm <- conv7_2_mbox_conf
I0407 18:39:39.578307 7609 net.cpp:408] conv7_2_mbox_conf_perm -> conv7_2_mbox_conf_perm
I0407 18:39:39.578373 7609 net.cpp:150] Setting up conv7_2_mbox_conf_perm
I0407 18:39:39.578380 7609 net.cpp:157] Top shape: 1 12 12 40 (5760)
I0407 18:39:39.578382 7609 net.cpp:165] Memory required for data: 1658191872
I0407 18:39:39.578385 7609 layer_factory.hpp:77] Creating layer conv7_2_mbox_conf_flat
I0407 18:39:39.578389 7609 net.cpp:100] Creating Layer conv7_2_mbox_conf_flat
I0407 18:39:39.578393 7609 net.cpp:434] conv7_2_mbox_conf_flat <- conv7_2_mbox_conf_perm
I0407 18:39:39.578397 7609 net.cpp:408] conv7_2_mbox_conf_flat -> conv7_2_mbox_conf_flat
I0407 18:39:39.578413 7609 net.cpp:150] Setting up conv7_2_mbox_conf_flat
I0407 18:39:39.578416 7609 net.cpp:157] Top shape: 1 5760 (5760)
I0407 18:39:39.578419 7609 net.cpp:165] Memory required for data: 1658214912
I0407 18:39:39.578423 7609 layer_factory.hpp:77] Creating layer conv7_2_mbox_priorbox
I0407 18:39:39.578431 7609 net.cpp:100] Creating Layer conv7_2_mbox_priorbox
I0407 18:39:39.578434 7609 net.cpp:434] conv7_2_mbox_priorbox <- conv7_2_conv7_2_relu_0_split_3
I0407 18:39:39.578439 7609 net.cpp:434] conv7_2_mbox_priorbox <- data_input_0_split_4
I0407 18:39:39.578444 7609 net.cpp:408] conv7_2_mbox_priorbox -> conv7_2_mbox_priorbox
I0407 18:39:39.578462 7609 net.cpp:150] Setting up conv7_2_mbox_priorbox
I0407 18:39:39.578467 7609 net.cpp:157] Top shape: 1 2 11520 (23040)
I0407 18:39:39.578469 7609 net.cpp:165] Memory required for data: 1658307072
I0407 18:39:39.578472 7609 layer_factory.hpp:77] Creating layer conv8_2_mbox_loc
I0407 18:39:39.578478 7609 net.cpp:100] Creating Layer conv8_2_mbox_loc
I0407 18:39:39.578482 7609 net.cpp:434] conv8_2_mbox_loc <- conv8_2_conv8_2_relu_0_split_1
I0407 18:39:39.578487 7609 net.cpp:408] conv8_2_mbox_loc -> conv8_2_mbox_loc
I0407 18:39:39.582593 7609 net.cpp:150] Setting up conv8_2_mbox_loc
I0407 18:39:39.582607 7609 net.cpp:157] Top shape: 1 240 10 10 (24000)
I0407 18:39:39.582610 7609 net.cpp:165] Memory required for data: 1658403072
I0407 18:39:39.582625 7609 layer_factory.hpp:77] Creating layer conv8_2_mbox_loc_perm
I0407 18:39:39.582633 7609 net.cpp:100] Creating Layer conv8_2_mbox_loc_perm
I0407 18:39:39.582636 7609 net.cpp:434] conv8_2_mbox_loc_perm <- conv8_2_mbox_loc
I0407 18:39:39.582641 7609 net.cpp:408] conv8_2_mbox_loc_perm -> conv8_2_mbox_loc_perm
I0407 18:39:39.582710 7609 net.cpp:150] Setting up conv8_2_mbox_loc_perm
I0407 18:39:39.582715 7609 net.cpp:157] Top shape: 1 10 10 240 (24000)
I0407 18:39:39.582717 7609 net.cpp:165] Memory required for data: 1658499072
I0407 18:39:39.582720 7609 layer_factory.hpp:77] Creating layer conv8_2_mbox_loc_flat
I0407 18:39:39.582729 7609 net.cpp:100] Creating Layer conv8_2_mbox_loc_flat
I0407 18:39:39.582732 7609 net.cpp:434] conv8_2_mbox_loc_flat <- conv8_2_mbox_loc_perm
I0407 18:39:39.582737 7609 net.cpp:408] conv8_2_mbox_loc_flat -> conv8_2_mbox_loc_flat
I0407 18:39:39.582753 7609 net.cpp:150] Setting up conv8_2_mbox_loc_flat
I0407 18:39:39.582758 7609 net.cpp:157] Top shape: 1 24000 (24000)
I0407 18:39:39.582762 7609 net.cpp:165] Memory required for data: 1658595072
I0407 18:39:39.582763 7609 layer_factory.hpp:77] Creating layer conv8_2_mbox_conf
I0407 18:39:39.582769 7609 net.cpp:100] Creating Layer conv8_2_mbox_conf
I0407 18:39:39.582773 7609 net.cpp:434] conv8_2_mbox_conf <- conv8_2_conv8_2_relu_0_split_2
I0407 18:39:39.582777 7609 net.cpp:408] conv8_2_mbox_conf -> conv8_2_mbox_conf
I0407 18:39:39.583755 7609 net.cpp:150] Setting up conv8_2_mbox_conf
I0407 18:39:39.583765 7609 net.cpp:157] Top shape: 1 40 10 10 (4000)
I0407 18:39:39.583767 7609 net.cpp:165] Memory required for data: 1658611072
I0407 18:39:39.583772 7609 layer_factory.hpp:77] Creating layer conv8_2_mbox_conf_perm
I0407 18:39:39.583777 7609 net.cpp:100] Creating Layer conv8_2_mbox_conf_perm
I0407 18:39:39.583781 7609 net.cpp:434] conv8_2_mbox_conf_perm <- conv8_2_mbox_conf
I0407 18:39:39.583787 7609 net.cpp:408] conv8_2_mbox_conf_perm -> conv8_2_mbox_conf_perm
I0407 18:39:39.583853 7609 net.cpp:150] Setting up conv8_2_mbox_conf_perm
I0407 18:39:39.583858 7609 net.cpp:157] Top shape: 1 10 10 40 (4000)
I0407 18:39:39.583860 7609 net.cpp:165] Memory required for data: 1658627072
I0407 18:39:39.583863 7609 layer_factory.hpp:77] Creating layer conv8_2_mbox_conf_flat
I0407 18:39:39.583868 7609 net.cpp:100] Creating Layer conv8_2_mbox_conf_flat
I0407 18:39:39.583870 7609 net.cpp:434] conv8_2_mbox_conf_flat <- conv8_2_mbox_conf_perm
I0407 18:39:39.583874 7609 net.cpp:408] conv8_2_mbox_conf_flat -> conv8_2_mbox_conf_flat
I0407 18:39:39.583890 7609 net.cpp:150] Setting up conv8_2_mbox_conf_flat
I0407 18:39:39.583894 7609 net.cpp:157] Top shape: 1 4000 (4000)
I0407 18:39:39.583897 7609 net.cpp:165] Memory required for data: 1658643072
I0407 18:39:39.583899 7609 layer_factory.hpp:77] Creating layer conv8_2_mbox_priorbox
I0407 18:39:39.583905 7609 net.cpp:100] Creating Layer conv8_2_mbox_priorbox
I0407 18:39:39.583909 7609 net.cpp:434] conv8_2_mbox_priorbox <- conv8_2_conv8_2_relu_0_split_3
I0407 18:39:39.583912 7609 net.cpp:434] conv8_2_mbox_priorbox <- data_input_0_split_5
I0407 18:39:39.583916 7609 net.cpp:408] conv8_2_mbox_priorbox -> conv8_2_mbox_priorbox
I0407 18:39:39.583935 7609 net.cpp:150] Setting up conv8_2_mbox_priorbox
I0407 18:39:39.583940 7609 net.cpp:157] Top shape: 1 2 8000 (16000)
I0407 18:39:39.583941 7609 net.cpp:165] Memory required for data: 1658707072
I0407 18:39:39.583945 7609 layer_factory.hpp:77] Creating layer conv9_2_mbox_loc
I0407 18:39:39.583950 7609 net.cpp:100] Creating Layer conv9_2_mbox_loc
I0407 18:39:39.583953 7609 net.cpp:434] conv9_2_mbox_loc <- conv9_2_conv9_2_relu_0_split_0
I0407 18:39:39.583958 7609 net.cpp:408] conv9_2_mbox_loc -> conv9_2_mbox_loc
I0407 18:39:39.588014 7609 net.cpp:150] Setting up conv9_2_mbox_loc
I0407 18:39:39.588028 7609 net.cpp:157] Top shape: 1 240 8 8 (15360)
I0407 18:39:39.588032 7609 net.cpp:165] Memory required for data: 1658768512
I0407 18:39:39.588037 7609 layer_factory.hpp:77] Creating layer conv9_2_mbox_loc_perm
I0407 18:39:39.588042 7609 net.cpp:100] Creating Layer conv9_2_mbox_loc_perm
I0407 18:39:39.588045 7609 net.cpp:434] conv9_2_mbox_loc_perm <- conv9_2_mbox_loc
I0407 18:39:39.588050 7609 net.cpp:408] conv9_2_mbox_loc_perm -> conv9_2_mbox_loc_perm
I0407 18:39:39.588115 7609 net.cpp:150] Setting up conv9_2_mbox_loc_perm
I0407 18:39:39.588120 7609 net.cpp:157] Top shape: 1 8 8 240 (15360)
I0407 18:39:39.588122 7609 net.cpp:165] Memory required for data: 1658829952
I0407 18:39:39.588125 7609 layer_factory.hpp:77] Creating layer conv9_2_mbox_loc_flat
I0407 18:39:39.588129 7609 net.cpp:100] Creating Layer conv9_2_mbox_loc_flat
I0407 18:39:39.588136 7609 net.cpp:434] conv9_2_mbox_loc_flat <- conv9_2_mbox_loc_perm
I0407 18:39:39.588141 7609 net.cpp:408] conv9_2_mbox_loc_flat -> conv9_2_mbox_loc_flat
I0407 18:39:39.588158 7609 net.cpp:150] Setting up conv9_2_mbox_loc_flat
I0407 18:39:39.588162 7609 net.cpp:157] Top shape: 1 15360 (15360)
I0407 18:39:39.588165 7609 net.cpp:165] Memory required for data: 1658891392
I0407 18:39:39.588167 7609 layer_factory.hpp:77] Creating layer conv9_2_mbox_conf
I0407 18:39:39.588174 7609 net.cpp:100] Creating Layer conv9_2_mbox_conf
I0407 18:39:39.588177 7609 net.cpp:434] conv9_2_mbox_conf <- conv9_2_conv9_2_relu_0_split_1
I0407 18:39:39.588181 7609 net.cpp:408] conv9_2_mbox_conf -> conv9_2_mbox_conf
I0407 18:39:39.589174 7609 net.cpp:150] Setting up conv9_2_mbox_conf
I0407 18:39:39.589182 7609 net.cpp:157] Top shape: 1 40 8 8 (2560)
I0407 18:39:39.589185 7609 net.cpp:165] Memory required for data: 1658901632
I0407 18:39:39.589190 7609 layer_factory.hpp:77] Creating layer conv9_2_mbox_conf_perm
I0407 18:39:39.589195 7609 net.cpp:100] Creating Layer conv9_2_mbox_conf_perm
I0407 18:39:39.589198 7609 net.cpp:434] conv9_2_mbox_conf_perm <- conv9_2_mbox_conf
I0407 18:39:39.589205 7609 net.cpp:408] conv9_2_mbox_conf_perm -> conv9_2_mbox_conf_perm
I0407 18:39:39.589269 7609 net.cpp:150] Setting up conv9_2_mbox_conf_perm
I0407 18:39:39.589274 7609 net.cpp:157] Top shape: 1 8 8 40 (2560)
I0407 18:39:39.589277 7609 net.cpp:165] Memory required for data: 1658911872
I0407 18:39:39.589279 7609 layer_factory.hpp:77] Creating layer conv9_2_mbox_conf_flat
I0407 18:39:39.589283 7609 net.cpp:100] Creating Layer conv9_2_mbox_conf_flat
I0407 18:39:39.589287 7609 net.cpp:434] conv9_2_mbox_conf_flat <- conv9_2_mbox_conf_perm
I0407 18:39:39.589292 7609 net.cpp:408] conv9_2_mbox_conf_flat -> conv9_2_mbox_conf_flat
I0407 18:39:39.589306 7609 net.cpp:150] Setting up conv9_2_mbox_conf_flat
I0407 18:39:39.589310 7609 net.cpp:157] Top shape: 1 2560 (2560)
I0407 18:39:39.589313 7609 net.cpp:165] Memory required for data: 1658922112
I0407 18:39:39.589315 7609 layer_factory.hpp:77] Creating layer conv9_2_mbox_priorbox
I0407 18:39:39.589321 7609 net.cpp:100] Creating Layer conv9_2_mbox_priorbox
I0407 18:39:39.589324 7609 net.cpp:434] conv9_2_mbox_priorbox <- conv9_2_conv9_2_relu_0_split_2
I0407 18:39:39.589329 7609 net.cpp:434] conv9_2_mbox_priorbox <- data_input_0_split_6
I0407 18:39:39.589334 7609 net.cpp:408] conv9_2_mbox_priorbox -> conv9_2_mbox_priorbox
I0407 18:39:39.589351 7609 net.cpp:150] Setting up conv9_2_mbox_priorbox
I0407 18:39:39.589355 7609 net.cpp:157] Top shape: 1 2 5120 (10240)
I0407 18:39:39.589359 7609 net.cpp:165] Memory required for data: 1658963072
I0407 18:39:39.589360 7609 layer_factory.hpp:77] Creating layer mbox_loc
I0407 18:39:39.589366 7609 net.cpp:100] Creating Layer mbox_loc
I0407 18:39:39.589370 7609 net.cpp:434] mbox_loc <- conv4_3_norm_mbox_loc_flat
I0407 18:39:39.589375 7609 net.cpp:434] mbox_loc <- fc7_mbox_loc_flat
I0407 18:39:39.589380 7609 net.cpp:434] mbox_loc <- conv6_2_mbox_loc_flat
I0407 18:39:39.589383 7609 net.cpp:434] mbox_loc <- conv7_2_mbox_loc_flat
I0407 18:39:39.589387 7609 net.cpp:434] mbox_loc <- conv8_2_mbox_loc_flat
I0407 18:39:39.589391 7609 net.cpp:434] mbox_loc <- conv9_2_mbox_loc_flat
I0407 18:39:39.589395 7609 net.cpp:408] mbox_loc -> mbox_loc
I0407 18:39:39.589412 7609 net.cpp:150] Setting up mbox_loc
I0407 18:39:39.589416 7609 net.cpp:157] Top shape: 1 2976960 (2976960)
I0407 18:39:39.589418 7609 net.cpp:165] Memory required for data: 1670870912
I0407 18:39:39.589421 7609 layer_factory.hpp:77] Creating layer mbox_conf
I0407 18:39:39.589426 7609 net.cpp:100] Creating Layer mbox_conf
I0407 18:39:39.589428 7609 net.cpp:434] mbox_conf <- conv4_3_norm_mbox_conf_flat
I0407 18:39:39.589433 7609 net.cpp:434] mbox_conf <- fc7_mbox_conf_flat
I0407 18:39:39.589437 7609 net.cpp:434] mbox_conf <- conv6_2_mbox_conf_flat
I0407 18:39:39.589442 7609 net.cpp:434] mbox_conf <- conv7_2_mbox_conf_flat
I0407 18:39:39.589444 7609 net.cpp:434] mbox_conf <- conv8_2_mbox_conf_flat
I0407 18:39:39.589450 7609 net.cpp:434] mbox_conf <- conv9_2_mbox_conf_flat
I0407 18:39:39.589455 7609 net.cpp:408] mbox_conf -> mbox_conf
I0407 18:39:39.589470 7609 net.cpp:150] Setting up mbox_conf
I0407 18:39:39.589474 7609 net.cpp:157] Top shape: 1 496160 (496160)
I0407 18:39:39.589478 7609 net.cpp:165] Memory required for data: 1672855552
I0407 18:39:39.589479 7609 layer_factory.hpp:77] Creating layer mbox_priorbox
I0407 18:39:39.589483 7609 net.cpp:100] Creating Layer mbox_priorbox
I0407 18:39:39.589486 7609 net.cpp:434] mbox_priorbox <- conv4_3_norm_mbox_priorbox
I0407 18:39:39.589490 7609 net.cpp:434] mbox_priorbox <- fc7_mbox_priorbox
I0407 18:39:39.589494 7609 net.cpp:434] mbox_priorbox <- conv6_2_mbox_priorbox
I0407 18:39:39.589498 7609 net.cpp:434] mbox_priorbox <- conv7_2_mbox_priorbox
I0407 18:39:39.589500 7609 net.cpp:434] mbox_priorbox <- conv8_2_mbox_priorbox
I0407 18:39:39.589504 7609 net.cpp:434] mbox_priorbox <- conv9_2_mbox_priorbox
I0407 18:39:39.589509 7609 net.cpp:408] mbox_priorbox -> mbox_priorbox
I0407 18:39:39.589524 7609 net.cpp:150] Setting up mbox_priorbox
I0407 18:39:39.589527 7609 net.cpp:157] Top shape: 1 2 992320 (1984640)
I0407 18:39:39.589530 7609 net.cpp:165] Memory required for data: 1680794112
I0407 18:39:39.589532 7609 layer_factory.hpp:77] Creating layer mbox_conf_reshape
I0407 18:39:39.589537 7609 net.cpp:100] Creating Layer mbox_conf_reshape
I0407 18:39:39.589540 7609 net.cpp:434] mbox_conf_reshape <- mbox_conf
I0407 18:39:39.589545 7609 net.cpp:408] mbox_conf_reshape -> mbox_conf_reshape
I0407 18:39:39.589562 7609 net.cpp:150] Setting up mbox_conf_reshape
I0407 18:39:39.589567 7609 net.cpp:157] Top shape: 1 248080 2 (496160)
I0407 18:39:39.589570 7609 net.cpp:165] Memory required for data: 1682778752
I0407 18:39:39.589572 7609 layer_factory.hpp:77] Creating layer mbox_conf_softmax
I0407 18:39:39.589577 7609 net.cpp:100] Creating Layer mbox_conf_softmax
I0407 18:39:39.589581 7609 net.cpp:434] mbox_conf_softmax <- mbox_conf_reshape
I0407 18:39:39.589584 7609 net.cpp:408] mbox_conf_softmax -> mbox_conf_softmax
I0407 18:39:39.589623 7609 net.cpp:150] Setting up mbox_conf_softmax
I0407 18:39:39.589628 7609 net.cpp:157] Top shape: 1 248080 2 (496160)
I0407 18:39:39.589630 7609 net.cpp:165] Memory required for data: 1684763392
I0407 18:39:39.589633 7609 layer_factory.hpp:77] Creating layer mbox_conf_flatten
I0407 18:39:39.589637 7609 net.cpp:100] Creating Layer mbox_conf_flatten
I0407 18:39:39.589639 7609 net.cpp:434] mbox_conf_flatten <- mbox_conf_softmax
I0407 18:39:39.589643 7609 net.cpp:408] mbox_conf_flatten -> mbox_conf_flatten
I0407 18:39:39.589658 7609 net.cpp:150] Setting up mbox_conf_flatten
I0407 18:39:39.589663 7609 net.cpp:157] Top shape: 1 496160 (496160)
I0407 18:39:39.589665 7609 net.cpp:165] Memory required for data: 1686748032
I0407 18:39:39.589668 7609 layer_factory.hpp:77] Creating layer detection_out
I0407 18:39:39.589675 7609 net.cpp:100] Creating Layer detection_out
I0407 18:39:39.589679 7609 net.cpp:434] detection_out <- mbox_loc
I0407 18:39:39.589682 7609 net.cpp:434] detection_out <- mbox_conf_flatten
I0407 18:39:39.589685 7609 net.cpp:434] detection_out <- mbox_priorbox
I0407 18:39:39.589690 7609 net.cpp:408] detection_out -> detection_out
I0407 18:39:39.589872 7609 net.cpp:150] Setting up detection_out
I0407 18:39:39.589880 7609 net.cpp:157] Top shape: 1 1 1 15 (15)
I0407 18:39:39.589884 7609 net.cpp:165] Memory required for data: 1686748092
I0407 18:39:39.589886 7609 net.cpp:228] detection_out does not need backward computation.
I0407 18:39:39.589890 7609 net.cpp:228] mbox_conf_flatten does not need backward computation.
I0407 18:39:39.589892 7609 net.cpp:228] mbox_conf_softmax does not need backward computation.
I0407 18:39:39.589895 7609 net.cpp:228] mbox_conf_reshape does not need backward computation.
I0407 18:39:39.589898 7609 net.cpp:228] mbox_priorbox does not need backward computation.
I0407 18:39:39.589902 7609 net.cpp:228] mbox_conf does not need backward computation.
I0407 18:39:39.589910 7609 net.cpp:228] mbox_loc does not need backward computation.
I0407 18:39:39.589913 7609 net.cpp:228] conv9_2_mbox_priorbox does not need backward computation.
I0407 18:39:39.589916 7609 net.cpp:228] conv9_2_mbox_conf_flat does not need backward computation.
I0407 18:39:39.589918 7609 net.cpp:228] conv9_2_mbox_conf_perm does not need backward computation.
I0407 18:39:39.589921 7609 net.cpp:228] conv9_2_mbox_conf does not need backward computation.
I0407 18:39:39.589924 7609 net.cpp:228] conv9_2_mbox_loc_flat does not need backward computation.
I0407 18:39:39.589926 7609 net.cpp:228] conv9_2_mbox_loc_perm does not need backward computation.
I0407 18:39:39.589929 7609 net.cpp:228] conv9_2_mbox_loc does not need backward computation.
I0407 18:39:39.589932 7609 net.cpp:228] conv8_2_mbox_priorbox does not need backward computation.
I0407 18:39:39.589936 7609 net.cpp:228] conv8_2_mbox_conf_flat does not need backward computation.
I0407 18:39:39.589937 7609 net.cpp:228] conv8_2_mbox_conf_perm does not need backward computation.
I0407 18:39:39.589941 7609 net.cpp:228] conv8_2_mbox_conf does not need backward computation.
I0407 18:39:39.589943 7609 net.cpp:228] conv8_2_mbox_loc_flat does not need backward computation.
I0407 18:39:39.589946 7609 net.cpp:228] conv8_2_mbox_loc_perm does not need backward computation.
I0407 18:39:39.589949 7609 net.cpp:228] conv8_2_mbox_loc does not need backward computation.
I0407 18:39:39.589952 7609 net.cpp:228] conv7_2_mbox_priorbox does not need backward computation.
I0407 18:39:39.589956 7609 net.cpp:228] conv7_2_mbox_conf_flat does not need backward computation.
I0407 18:39:39.589958 7609 net.cpp:228] conv7_2_mbox_conf_perm does not need backward computation.
I0407 18:39:39.589962 7609 net.cpp:228] conv7_2_mbox_conf does not need backward computation.
I0407 18:39:39.589964 7609 net.cpp:228] conv7_2_mbox_loc_flat does not need backward computation.
I0407 18:39:39.589967 7609 net.cpp:228] conv7_2_mbox_loc_perm does not need backward computation.
I0407 18:39:39.589970 7609 net.cpp:228] conv7_2_mbox_loc does not need backward computation.
I0407 18:39:39.589973 7609 net.cpp:228] conv6_2_mbox_priorbox does not need backward computation.
I0407 18:39:39.589977 7609 net.cpp:228] conv6_2_mbox_conf_flat does not need backward computation.
I0407 18:39:39.589979 7609 net.cpp:228] conv6_2_mbox_conf_perm does not need backward computation.
I0407 18:39:39.589982 7609 net.cpp:228] conv6_2_mbox_conf does not need backward computation.
I0407 18:39:39.589985 7609 net.cpp:228] conv6_2_mbox_loc_flat does not need backward computation.
I0407 18:39:39.589987 7609 net.cpp:228] conv6_2_mbox_loc_perm does not need backward computation.
I0407 18:39:39.589990 7609 net.cpp:228] conv6_2_mbox_loc does not need backward computation.
I0407 18:39:39.589994 7609 net.cpp:228] fc7_mbox_priorbox does not need backward computation.
I0407 18:39:39.589998 7609 net.cpp:228] fc7_mbox_conf_flat does not need backward computation.
I0407 18:39:39.590000 7609 net.cpp:228] fc7_mbox_conf_perm does not need backward computation.
I0407 18:39:39.590003 7609 net.cpp:228] fc7_mbox_conf does not need backward computation.
I0407 18:39:39.590006 7609 net.cpp:228] fc7_mbox_loc_flat does not need backward computation.
I0407 18:39:39.590009 7609 net.cpp:228] fc7_mbox_loc_perm does not need backward computation.
I0407 18:39:39.590013 7609 net.cpp:228] fc7_mbox_loc does not need backward computation.
I0407 18:39:39.590015 7609 net.cpp:228] conv4_3_norm_mbox_priorbox does not need backward computation.
I0407 18:39:39.590018 7609 net.cpp:228] conv4_3_norm_mbox_conf_flat does not need backward computation.
I0407 18:39:39.590021 7609 net.cpp:228] conv4_3_norm_mbox_conf_perm does not need backward computation.
I0407 18:39:39.590024 7609 net.cpp:228] conv4_3_norm_mbox_conf does not need backward computation.
I0407 18:39:39.590028 7609 net.cpp:228] conv4_3_norm_mbox_loc_flat does not need backward computation.
I0407 18:39:39.590030 7609 net.cpp:228] conv4_3_norm_mbox_loc_perm does not need backward computation.
I0407 18:39:39.590035 7609 net.cpp:228] conv4_3_norm_mbox_loc does not need backward computation.
I0407 18:39:39.590039 7609 net.cpp:228] conv4_3_norm_conv4_3_norm_0_split does not need backward computation.
I0407 18:39:39.590041 7609 net.cpp:228] conv4_3_norm does not need backward computation.
I0407 18:39:39.590044 7609 net.cpp:228] conv9_2_conv9_2_relu_0_split does not need backward computation.
I0407 18:39:39.590049 7609 net.cpp:228] conv9_2_relu does not need backward computation.
I0407 18:39:39.590050 7609 net.cpp:228] conv9_2 does not need backward computation.
I0407 18:39:39.590054 7609 net.cpp:228] conv9_1_relu does not need backward computation.
I0407 18:39:39.590056 7609 net.cpp:228] conv9_1 does not need backward computation.
I0407 18:39:39.590059 7609 net.cpp:228] conv8_2_conv8_2_relu_0_split does not need backward computation.
I0407 18:39:39.590062 7609 net.cpp:228] conv8_2_relu does not need backward computation.
I0407 18:39:39.590065 7609 net.cpp:228] conv8_2 does not need backward computation.
I0407 18:39:39.590068 7609 net.cpp:228] conv8_1_relu does not need backward computation.
I0407 18:39:39.590070 7609 net.cpp:228] conv8_1 does not need backward computation.
I0407 18:39:39.590075 7609 net.cpp:228] conv7_2_conv7_2_relu_0_split does not need backward computation.
I0407 18:39:39.590077 7609 net.cpp:228] conv7_2_relu does not need backward computation.
I0407 18:39:39.590080 7609 net.cpp:228] conv7_2 does not need backward computation.
I0407 18:39:39.590082 7609 net.cpp:228] conv7_1_relu does not need backward computation.
I0407 18:39:39.590085 7609 net.cpp:228] conv7_1 does not need backward computation.
I0407 18:39:39.590088 7609 net.cpp:228] conv6_2_conv6_2_relu_0_split does not need backward computation.
I0407 18:39:39.590091 7609 net.cpp:228] conv6_2_relu does not need backward computation.
I0407 18:39:39.590095 7609 net.cpp:228] conv6_2 does not need backward computation.
I0407 18:39:39.590097 7609 net.cpp:228] conv6_1_relu does not need backward computation.
I0407 18:39:39.590101 7609 net.cpp:228] conv6_1 does not need backward computation.
I0407 18:39:39.590103 7609 net.cpp:228] fc7_relu7_0_split does not need backward computation.
I0407 18:39:39.590107 7609 net.cpp:228] relu7 does not need backward computation.
I0407 18:39:39.590111 7609 net.cpp:228] fc7 does not need backward computation.
I0407 18:39:39.590113 7609 net.cpp:228] relu6 does not need backward computation.
I0407 18:39:39.590116 7609 net.cpp:228] fc6 does not need backward computation.
I0407 18:39:39.590119 7609 net.cpp:228] pool5 does not need backward computation.
I0407 18:39:39.590121 7609 net.cpp:228] relu5_3 does not need backward computation.
I0407 18:39:39.590124 7609 net.cpp:228] conv5_3 does not need backward computation.
I0407 18:39:39.590127 7609 net.cpp:228] relu5_2 does not need backward computation.
I0407 18:39:39.590131 7609 net.cpp:228] conv5_2 does not need backward computation.
I0407 18:39:39.590133 7609 net.cpp:228] relu5_1 does not need backward computation.
I0407 18:39:39.590135 7609 net.cpp:228] conv5_1 does not need backward computation.
I0407 18:39:39.590138 7609 net.cpp:228] pool4 does not need backward computation.
I0407 18:39:39.590142 7609 net.cpp:228] conv4_3_relu4_3_0_split does not need backward computation.
I0407 18:39:39.590144 7609 net.cpp:228] relu4_3 does not need backward computation.
I0407 18:39:39.590147 7609 net.cpp:228] conv4_3 does not need backward computation.
I0407 18:39:39.590150 7609 net.cpp:228] relu4_2 does not need backward computation.
I0407 18:39:39.590153 7609 net.cpp:228] conv4_2 does not need backward computation.
I0407 18:39:39.590155 7609 net.cpp:228] relu4_1 does not need backward computation.
I0407 18:39:39.590158 7609 net.cpp:228] conv4_1 does not need backward computation.
I0407 18:39:39.590162 7609 net.cpp:228] pool3 does not need backward computation.
I0407 18:39:39.590164 7609 net.cpp:228] relu3_3 does not need backward computation.
I0407 18:39:39.590167 7609 net.cpp:228] conv3_3 does not need backward computation.
I0407 18:39:39.590173 7609 net.cpp:228] relu3_2 does not need backward computation.
I0407 18:39:39.590175 7609 net.cpp:228] conv3_2 does not need backward computation.
I0407 18:39:39.590178 7609 net.cpp:228] relu3_1 does not need backward computation.
I0407 18:39:39.590181 7609 net.cpp:228] conv3_1 does not need backward computation.
I0407 18:39:39.590184 7609 net.cpp:228] pool2 does not need backward computation.
I0407 18:39:39.590188 7609 net.cpp:228] relu2_2 does not need backward computation.
I0407 18:39:39.590189 7609 net.cpp:228] conv2_2 does not need backward computation.
I0407 18:39:39.590193 7609 net.cpp:228] relu2_1 does not need backward computation.
I0407 18:39:39.590195 7609 net.cpp:228] conv2_1 does not need backward computation.
I0407 18:39:39.590198 7609 net.cpp:228] pool1 does not need backward computation.
I0407 18:39:39.590201 7609 net.cpp:228] relu1_2 does not need backward computation.
I0407 18:39:39.590204 7609 net.cpp:228] conv1_2 does not need backward computation.
I0407 18:39:39.590206 7609 net.cpp:228] relu1_1 does not need backward computation.
I0407 18:39:39.590209 7609 net.cpp:228] conv1_1 does not need backward computation.
I0407 18:39:39.590212 7609 net.cpp:228] data_input_0_split does not need backward computation.
I0407 18:39:39.590215 7609 net.cpp:228] input does not need backward computation.
I0407 18:39:39.590219 7609 net.cpp:270] This network produces output detection_out
I0407 18:39:39.590265 7609 net.cpp:283] Network initialization done.
I0407 18:39:39.688652 7609 net.cpp:761] Ignoring source layer data
I0407 18:39:39.688701 7609 net.cpp:761] Ignoring source layer data_data_0_split
I0407 18:39:39.726020 7609 net.cpp:761] Ignoring source layer mbox_loss
/usr/local/lib/python2.7/dist-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15.
warn("The default mode, 'constant', will be changed to 'reflect' in "
F0407 18:39:40.093356 7609 syncedmem.cpp:56] Check failed: error == cudaSuccess (2 vs. 0) out of memory
*** Check failure stack trace: ***

Recognition issue

@MhLiao I just tried the demo.py and text detection part is working without any issue. But I'm getting below error when it starts recognition part. What could be the issue?

I0401 19:45:14.381743 17566 net.cpp:283] Network initialization done.
I0401 19:45:14.580938 17566 net.cpp:761] Ignoring source layer data
I0401 19:45:14.580970 17566 net.cpp:761] Ignoring source layer data_data_0_split
I0401 19:45:14.608633 17566 net.cpp:761] Ignoring source layer mbox_loss
detection finished
recognition begin
Traceback (most recent call last):
  File "examples/text/demo.py", line 202, in <module>
    '-dicPath', config['lexicon_path']])
  File "/usr/lib/python2.7/subprocess.py", line 535, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 522, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
rash@ubuntuPC:~/TextBoxes_plusplus$ 

mbox_loss is always 0

I always get mbox_loss = 0 with whatever training configurations. Could you provide some suggestions?

Should caffe be installed separately?

I would like to try the demo for this project on AWS p2.xlarge (1 GPU 4 CPUs 61 GB RAM) instance. I see that the project comes with its own python folder that contains caffe.

Should I install Caffe on AWS using the installation instructions found on Caffe website (http://caffe.berkeleyvision.org/install_apt.html) or should I be installing Caffe found in this project's github repo?

Would truly appreciate if you could clarify how to get started. Thanks!

Training on icdar2015-TRW

Nice work! Did you try to train the model on "ICDAR 2015 Competition on Text Reading in the Wild"(icdar2015-TRW) dataset? Is it good to use this method for long sentences? Would you kindly share the trained model on icdar2015-TRW? Thanks!

Help with opencv

Hello i'm trying to load this model with opencv

with

cv2.dnn.readNetFromCaffe( "TextBoxes_plusplus/models/deploy.prototxt","model_pre_train_syn.caffemodel")

but it get's a strange error :

cv2.error: OpenCV(3.4.1) /tmp/opencv-20180301-33803-1gyqk0j/opencv-3.4.1/modules/dnn/src/caffe/caffe_io.cpp:1145: error: (-2) FAILED: ReadProtoFromTextFile(param_file, param). Failed to parse NetParameter file: TextBoxes_plusplus/models/deploy.prototxt in function ReadNetParamsFromTextFileOrDie

Anyone has tried to ?

Thanks a lot

the loss declined so slowly!

i train the model on RCTW-17 and some doc pictures, but the loss declined so slowly. I have spent 12 hours, and the the model was trained only 3000 iterations. The loss is from 4.71 to 3.47 in 12 hours. TOO SLOW! Is there anything wrong?

below is the print.

I0320 18:24:14.414151 32854 blocking_queue.cpp:50] Data layer prefetch queue empty
I0320 18:46:59.492482 32854 solver.cpp:243] Iteration 100, loss = 4.71355
I0320 18:46:59.492624 32854 solver.cpp:259] Train net output #0: mbox_loss = 4.7507 (* 1 = 4.7507 loss)
I0320 18:47:18.494647 32854 sgd_solver.cpp:138] Iteration 100, lr = 0.0001
I0320 19:09:15.981941 32854 solver.cpp:243] Iteration 200, loss = 4.25057
I0320 19:09:15.982163 32854 solver.cpp:259] Train net output #0: mbox_loss = 4.12665 (* 1 = 4.12665 loss)
I0320 19:09:35.695390 32854 sgd_solver.cpp:138] Iteration 200, lr = 0.0001
I0320 19:28:36.370605 32854 solver.cpp:243] Iteration 300, loss = 4.06544
I0320 19:28:36.370846 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.81313 (* 1 = 3.81313 loss)
I0320 19:28:40.893465 32854 sgd_solver.cpp:138] Iteration 300, lr = 0.0001
I0320 19:45:51.642319 32854 solver.cpp:243] Iteration 400, loss = 4.00686
I0320 19:45:51.657042 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.86898 (* 1 = 3.86898 loss)
I0320 19:45:52.827033 32854 sgd_solver.cpp:138] Iteration 400, lr = 0.0001
I0320 20:09:07.978211 32854 solver.cpp:243] Iteration 500, loss = 4.04271
I0320 20:09:08.014988 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.87323 (* 1 = 3.87323 loss)
I0320 20:09:08.015076 32854 sgd_solver.cpp:138] Iteration 500, lr = 0.0001
I0320 20:40:22.733320 32854 solver.cpp:243] Iteration 600, loss = 3.8724
I0320 20:40:22.733603 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.91798 (* 1 = 3.91798 loss)
I0320 20:40:22.733654 32854 sgd_solver.cpp:138] Iteration 600, lr = 0.0001
I0320 21:14:05.252872 32854 solver.cpp:243] Iteration 700, loss = 3.91969
I0320 21:14:05.254623 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.73075 (* 1 = 3.73075 loss)
I0320 21:14:12.680538 32854 sgd_solver.cpp:138] Iteration 700, lr = 0.0001
I0320 21:49:44.001958 32854 solver.cpp:243] Iteration 800, loss = 3.86093
I0320 21:49:44.002271 32854 solver.cpp:259] Train net output #0: mbox_loss = 4.65883 (* 1 = 4.65883 loss)
I0320 21:49:49.958609 32854 sgd_solver.cpp:138] Iteration 800, lr = 0.0001
I0320 21:53:01.317153 33124 blocking_queue.cpp:50] Data layer prefetch queue empty
I0320 22:23:29.791314 32854 solver.cpp:243] Iteration 900, loss = 3.8187
I0320 22:23:29.791862 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.85123 (* 1 = 3.85123 loss)
I0320 22:23:47.945513 32854 sgd_solver.cpp:138] Iteration 900, lr = 0.0001
I0320 22:55:44.925760 32854 solver.cpp:243] Iteration 1000, loss = 3.7425
I0320 22:55:44.926020 32854 solver.cpp:259] Train net output #0: mbox_loss = 4.01863 (* 1 = 4.01863 loss)
I0320 22:55:50.410193 32854 sgd_solver.cpp:138] Iteration 1000, lr = 0.0001
I0320 23:28:20.539289 32854 solver.cpp:243] Iteration 1100, loss = 3.8035
I0320 23:28:20.548061 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.7838 (* 1 = 3.7838 loss)
I0320 23:28:25.631153 32854 sgd_solver.cpp:138] Iteration 1100, lr = 0.0001
I0320 23:56:49.150030 32854 solver.cpp:243] Iteration 1200, loss = 3.72246
I0320 23:56:49.150259 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.75223 (* 1 = 3.75223 loss)
I0320 23:57:11.602012 32854 sgd_solver.cpp:138] Iteration 1200, lr = 0.0001
I0321 00:26:45.537853 32854 solver.cpp:243] Iteration 1300, loss = 3.72136
I0321 00:26:45.538089 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.38236 (* 1 = 3.38236 loss)
I0321 00:26:45.538132 32854 sgd_solver.cpp:138] Iteration 1300, lr = 0.0001
I0321 00:55:09.132469 32854 solver.cpp:243] Iteration 1400, loss = 3.6804
I0321 00:55:09.132679 32854 solver.cpp:259] Train net output #0: mbox_loss = 2.87209 (* 1 = 2.87209 loss)
I0321 00:55:16.543397 32854 sgd_solver.cpp:138] Iteration 1400, lr = 0.0001
I0321 01:31:36.330186 32854 solver.cpp:243] Iteration 1500, loss = 3.64987
I0321 01:31:36.337105 32854 solver.cpp:259] Train net output #0: mbox_loss = 4.11438 (* 1 = 4.11438 loss)
I0321 01:32:01.195981 32854 sgd_solver.cpp:138] Iteration 1500, lr = 0.0001
I0321 02:03:18.576989 32854 solver.cpp:243] Iteration 1600, loss = 3.61781
I0321 02:03:18.622884 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.40459 (* 1 = 3.40459 loss)
I0321 02:03:18.634691 32854 sgd_solver.cpp:138] Iteration 1600, lr = 0.0001
I0321 02:21:28.850323 32854 blocking_queue.cpp:50] Data layer prefetch queue empty
I0321 02:31:13.534430 32854 solver.cpp:243] Iteration 1700, loss = 3.64082
I0321 02:31:13.539944 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.20621 (* 1 = 3.20621 loss)
I0321 02:31:35.534457 32854 sgd_solver.cpp:138] Iteration 1700, lr = 0.0001
I0321 03:02:24.651046 32854 solver.cpp:243] Iteration 1800, loss = 3.59635
I0321 03:02:24.651306 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.84726 (* 1 = 3.84726 loss)
I0321 03:02:35.240459 32854 sgd_solver.cpp:138] Iteration 1800, lr = 0.0001
I0321 03:28:55.246892 32854 solver.cpp:243] Iteration 1900, loss = 3.64389
I0321 03:28:55.247161 32854 solver.cpp:259] Train net output #0: mbox_loss = 4.57005 (* 1 = 4.57005 loss)
I0321 03:29:12.756068 32854 sgd_solver.cpp:138] Iteration 1900, lr = 0.0001
I0321 03:56:30.419265 32854 solver.cpp:243] Iteration 2000, loss = 3.64181
I0321 03:56:30.419488 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.22497 (* 1 = 3.22497 loss)
I0321 03:56:30.419528 32854 sgd_solver.cpp:138] Iteration 2000, lr = 0.0001
I0321 04:22:28.350476 32854 solver.cpp:243] Iteration 2100, loss = 3.6115
I0321 04:22:28.356010 32854 solver.cpp:259] Train net output #0: mbox_loss = 4.16131 (* 1 = 4.16131 loss)
I0321 04:22:28.356235 32854 sgd_solver.cpp:138] Iteration 2100, lr = 0.0001
I0321 04:48:44.036162 32854 solver.cpp:243] Iteration 2200, loss = 3.56413
I0321 04:48:44.036393 32854 solver.cpp:259] Train net output #0: mbox_loss = 2.78308 (* 1 = 2.78308 loss)
I0321 04:48:44.036433 32854 sgd_solver.cpp:138] Iteration 2200, lr = 0.0001
I0321 05:14:25.236363 32854 solver.cpp:243] Iteration 2300, loss = 3.6338
I0321 05:14:25.236584 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.5336 (* 1 = 3.5336 loss)
I0321 05:14:28.135422 32854 sgd_solver.cpp:138] Iteration 2300, lr = 0.0001
I0321 05:39:43.394588 32854 solver.cpp:243] Iteration 2400, loss = 3.59064
I0321 05:39:43.394793 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.53245 (* 1 = 3.53245 loss)
I0321 05:39:45.348371 32854 sgd_solver.cpp:138] Iteration 2400, lr = 0.0001
I0321 06:02:20.365394 33124 blocking_queue.cpp:50] Data layer prefetch queue empty
I0321 06:08:23.288305 32854 solver.cpp:243] Iteration 2500, loss = 3.58889
I0321 06:08:23.289111 32854 solver.cpp:259] Train net output #0: mbox_loss = 2.61665 (* 1 = 2.61665 loss)
I0321 06:08:28.295343 32854 sgd_solver.cpp:138] Iteration 2500, lr = 0.0001
I0321 06:43:53.267843 32854 solver.cpp:243] Iteration 2600, loss = 3.47278
I0321 06:43:53.268203 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.52838 (* 1 = 3.52838 loss)
I0321 06:44:07.155161 32854 sgd_solver.cpp:138] Iteration 2600, lr = 0.0001
I0321 07:21:03.146634 32854 solver.cpp:243] Iteration 2700, loss = 3.50657
I0321 07:21:03.146906 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.22891 (* 1 = 3.22891 loss)
I0321 07:21:30.132973 32854 sgd_solver.cpp:138] Iteration 2700, lr = 0.0001
I0321 07:52:57.703928 32854 solver.cpp:243] Iteration 2800, loss = 3.47005
I0321 07:52:57.704133 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.63058 (* 1 = 3.63058 loss)
I0321 07:52:57.704190 32854 sgd_solver.cpp:138] Iteration 2800, lr = 0.0001
I0321 08:19:26.086001 32854 solver.cpp:243] Iteration 2900, loss = 3.49502
I0321 08:19:26.086308 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.85055 (* 1 = 3.85055 loss)
I0321 08:19:26.086344 32854 sgd_solver.cpp:138] Iteration 2900, lr = 0.0001
I0321 08:48:30.159132 32854 solver.cpp:243] Iteration 3000, loss = 3.47565
I0321 08:48:30.159410 32854 solver.cpp:259] Train net output #0: mbox_loss = 3.78331 (* 1 = 3.78331 loss)
I0321 08:48:30.159449 32854 sgd_solver.cpp:138] Iteration 3000, lr = 0.0001

Unable to compile CRNN on ubuntu 17.04

Required torch utilities are supported till ubuntu 16.04 .
when you run this command you will figure out tit requires some other dependences and those dependences need tons of other dependences ,,, i guess it will never end up installing

model_English missing in ./crnn/src/demo.lua

I found that in the case I want to use lexicon (i.e. config.useLexicon=true) - the code fails
It fails because the model_English is missing

Is there any way to get the trained model_English model?

Create own dataset

Hi,

Is there any tool to recreate the XML in Pascal VOC format. I have found few on github but they are for Rectangles. Can u suggest any ?

train error

Hello,
I have try my best to solve the porblem.
the train loss is always 0.

I think that the code must have something wrong.

Could you reply me ?

thank you very much.

errors on training with new data

screen shot 2018-02-28 at 12 23 41 am

I'm trying to create new data I've created xml,path files like the format. then when i ran ./create_data.sh I get this error. Pls help me.

compile CRNN

hi.
in this directory : cd crnn/src/ ,
when i use sh build_cpp.sh , i faced with this error :

mm@mm:~/TextBoxes_plusplus/crnn/src$ sh build_cpp.sh
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
LUAT_LIBRARY
linked by target "crnn" in directory /home/mm/TextBoxes_plusplus/crnn/src/cpp
THC_LIBRARY
linked by target "crnn" in directory /home/mm/TextBoxes_plusplus/crnn/src/cpp
THPP_LIBRARY
linked by target "crnn" in directory /home/mm/TextBoxes_plusplus/crnn/src/cpp
TH_LIBRARY
linked by target "crnn" in directory /home/mm/TextBoxes_plusplus/crnn/src/cpp

-- Configuring incomplete, errors occurred!
See also "/home/mm/TextBoxes_plusplus/crnn/src/cpp/build/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found. Stop.
cp: cannot stat '*.so': No such file or directory

Document text / Better OCR?

Hi, is it possible to use TextBoxesplusplus on standard document text? Perhaps to improve accuracy of what is available from OCR engines?

About the prior_box_layer?

Hi @MhLiao, do you have the cuda code for the prior_box_layer?
The prior_box_layer code here is a cpu version. It may take some time for copying the data from GPU to CPU, and then copying to GPU for the next layer. It may be save much time by using the prior_box_layer code of a GPU version .

Thank you!

[SOLVED] - Compilation error: src/caffe/util/bbox_util.cpp:723:23: error: ‘format’ is not a member of ‘boost’

make

CXX src/caffe/util/bbox_util.cpp
src/caffe/util/bbox_util.cpp: In function ‘void caffe::RboxToPolygon(caffe::NormalizedRBox, caffe::Polygon&)’:
src/caffe/util/bbox_util.cpp:723:23: error: ‘format’ is not a member of ‘boost’
std::string s = str(boost::format("POLYGON((%1% %2%, %3% %4%, %5% %6%, %7% %8%, %9% %10%))") % x1 % y1 % x2 % y2 % x3 % y3 % x4 % y4 % x1 % y1);
^
src/caffe/util/bbox_util.cpp:723:23: note: suggested alternative:
In file included from /usr/include/opencv2/core.hpp:3214:0,
from /usr/include/opencv2/core/core.hpp:48,
from ./include/caffe/util/bbox_util.hpp:2,
from src/caffe/util/bbox_util.cpp:22:
/usr/include/opencv2/core/operations.hpp:371:16: note: ‘cv::format’
Ptr format(InputArray mtx, int fmt)
^
src/caffe/util/bbox_util.cpp:723:145: error: ‘str’ was not declared in this scope
std::string s = str(boost::format("POLYGON((%1% %2%, %3% %4%, %5% %6%, %7% %8%, %9% %10%))") % x1 % y1 % x2 % y2 % x3 % y3 % x4 % y4 % x1 % y1);
^
src/caffe/util/bbox_util.cpp: In function ‘void caffe::RboxToPolygon(const Dtype*, caffe::Polygon&)’:
src/caffe/util/bbox_util.cpp:743:23: error: ‘format’ is not a member of ‘boost’
std::string s = str(boost::format("POLYGON((%1% %2%, %3% %4%, %5% %6%, %7% %8%, %9% %10%))") % x1 % y1 % x2 % y2 % x3 % y3 % x4 % y4 % x1 % y1);
^
src/caffe/util/bbox_util.cpp:743:23: note: suggested alternative:
In file included from /usr/include/opencv2/core.hpp:3214:0,
from /usr/include/opencv2/core/core.hpp:48,
from ./include/caffe/util/bbox_util.hpp:2,
from src/caffe/util/bbox_util.cpp:22:
/usr/include/opencv2/core/operations.hpp:371:16: note: ‘cv::format’
Ptr format(InputArray mtx, int fmt)
^
src/caffe/util/bbox_util.cpp:743:145: error: there are no arguments to ‘str’ that depend on a template parameter, so a declaration of ‘str’ must be available [-fpermissive]
std::string s = str(boost::format("POLYGON((%1% %2%, %3% %4%, %5% %6%, %7% %8%, %9% %10%))") % x1 % y1 % x2 % y2 % x3 % y3 % x4 % y4 % x1 % y1);
^
src/caffe/util/bbox_util.cpp:743:145: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
src/caffe/util/bbox_util.cpp: In instantiation of ‘void caffe::RboxToPolygon(const Dtype*, caffe::Polygon&) [with Dtype = float; caffe::Polygon = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy >]’:
src/caffe/util/bbox_util.cpp:747:64: required from here
src/caffe/util/bbox_util.cpp:743:22: error: ‘str’ was not declared in this scope
std::string s = str(boost::format("POLYGON((%1% %2%, %3% %4%, %5% %6%, %7% %8%, %9% %10%))") % x1 % y1 % x2 % y2 % x3 % y3 % x4 % y4 % x1 % y1);
^
src/caffe/util/bbox_util.cpp: In instantiation of ‘void caffe::RboxToPolygon(const Dtype*, caffe::Polygon&) [with Dtype = double; caffe::Polygon = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy >]’:
src/caffe/util/bbox_util.cpp:748:65: required from here
src/caffe/util/bbox_util.cpp:743:22: error: ‘str’ was not declared in this scope
Makefile:575: recipe for target '.build_release/src/caffe/util/bbox_util.o' failed
make: *** [.build_release/src/caffe/util/bbox_util.o] Error 1

strange demo.py detection result

I used the demo.py to run only the detection on the demo image, however I got some weird result:
681,232,604,233,1,1,1,1,0.9996038
658,94,615,93,1,1,1,1,0.9966356
662,160,620,160,1,1,1,1,0.996449
659,139,616,138,1,1,1,1,0.99529016
658,117,606,116,1,1,1,1,0.8200721

I am running on model_icdar15.caffemodel.
Does anyone have a clue?

model parameters

I am trying to understand the values in models/deploy.prototxt. Per your paper, for the first two phases of training, you train at 384x384 input resolution, and then increase to 768x768 during the last phase of training. It is my understanding that the step values for the priorboxes are essentially the 384/(width of input feature map). By my calculations, the feature map inputs for the priorbox layers for input resolution 384x384 are (48x48, 24x24, 12x12, 6x6, 4x4, 2x2). Accordingly, I would think the first four "step" sizes are (8, 16, 32, 64, 96, 192), but in deploy.prototxt they are (8, 16, 32, 64, 100, 300). Where did 100 and 300 come from?

Also, why is min_size 30 for both of the first two priorbox layers? I would think min_size for the second priorbox layer would be 60, following the pattern of the rest...

One final question: what parameters did you use for the Adam optimizer, in terms of beta1, beta2, and epsilon, when training on SynthText?

Thank you so much for your help!

Makefile:581: recipe for target '.build_release/tools/convert_annoset.o' failed

1- compile TextBoxes++ (Do not need to install the official caffe) , what's your mean ?
2- when i run make -j8 , i faced with this error :
########
Makefile:581: recipe for target '.build_release/tools/convert_annoset.o' failed
make: *** [.build_release/tools/convert_annoset.o] Error 1
make: *** Waiting for unfinished jobs....

my system ubuntu 16.04 , cuda 8 , cudnn 7 , opencv 3.1

Can not get a good performance on dataset RCTW-17.

I trained the model on dataset RCTW-17 for 5 days, but the det_eval is still about 0.6. The loss could not decrease any more. Any suggestion?

below is the print. I print the det_eval per 1000 iters.

I0404 17:52:12.688493 1306 solver.cpp:543] Test net output #0: detection_eval = 0.58883
I0404 17:52:17.242920 1306 solver.cpp:243] Iteration 34000, loss = 2.45406
I0404 17:52:17.242971 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.45406 (* 1 = 2.45406 loss)
I0404 17:52:17.683764 1306 sgd_solver.cpp:138] Iteration 34000, lr = 0.0001

I0404 21:02:53.277609 1306 solver.cpp:433] Iteration 35000, Testing net (#0)
I0404 21:02:53.277750 1306 net.cpp:693] Ignoring source layer mbox_loss
I0404 21:03:32.067988 1306 solver.cpp:543] Test net output #0: detection_eval = 0.635565
I0404 21:03:34.451148 1306 solver.cpp:243] Iteration 35000, loss = 2.24144
I0404 21:03:34.451225 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.9662 (* 1 = 1.9662 loss)
I0404 21:03:35.548418 1306 sgd_solver.cpp:138] Iteration 35000, lr = 0.0001

I0405 00:46:20.712731 1306 solver.cpp:433] Iteration 36000, Testing net (#0)
I0405 00:46:20.712879 1306 net.cpp:693] Ignoring source layer mbox_loss
I0405 00:46:37.906997 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0405 00:46:59.443310 1306 solver.cpp:543] Test net output #0: detection_eval = 0.611436
I0405 00:47:03.187078 1306 solver.cpp:243] Iteration 36000, loss = 2.218
I0405 00:47:03.187140 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.50099 (* 1 = 2.50099 loss)
I0405 00:47:03.717782 1306 sgd_solver.cpp:138] Iteration 36000, lr = 0.0001

I0405 04:28:44.928535 1306 solver.cpp:433] Iteration 37000, Testing net (#0)
I0405 04:28:44.928661 1306 net.cpp:693] Ignoring source layer mbox_loss
I0405 04:29:24.820894 1306 solver.cpp:543] Test net output #0: detection_eval = 0.604593
I0405 04:29:28.307677 1306 solver.cpp:243] Iteration 37000, loss = 2.17795
I0405 04:29:28.307729 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.18753 (* 1 = 2.18753 loss)
I0405 04:29:28.307762 1306 sgd_solver.cpp:138] Iteration 37000, lr = 0.0001

I0405 08:09:37.835278 1306 solver.cpp:433] Iteration 38000, Testing net (#0)
I0405 08:09:37.835407 1306 net.cpp:693] Ignoring source layer mbox_loss
I0405 08:10:10.449904 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0405 08:10:14.990397 1306 solver.cpp:543] Test net output #0: detection_eval = 0.627953
I0405 08:10:18.733402 1306 solver.cpp:243] Iteration 38000, loss = 2.21655
I0405 08:10:18.733454 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.35411 (* 1 = 2.35411 loss)
I0405 08:10:18.733497 1306 sgd_solver.cpp:138] Iteration 38000, lr = 0.0001

I0405 13:15:23.770017 1306 solver.cpp:433] Iteration 39000, Testing net (#0)
I0405 13:15:23.770084 1306 net.cpp:693] Ignoring source layer mbox_loss
I0405 13:16:04.455183 1306 solver.cpp:543] Test net output #0: detection_eval = 0.594352
I0405 13:16:07.660732 1306 solver.cpp:243] Iteration 39000, loss = 2.18507
I0405 13:16:07.660820 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.15974 (* 1 = 2.15974 loss)
I0405 13:16:07.660889 1306 sgd_solver.cpp:138] Iteration 39000, lr = 0.0001

I0405 17:02:08.661116 1306 solver.cpp:433] Iteration 40000, Testing net (#0)
I0405 17:02:08.661207 1306 net.cpp:693] Ignoring source layer mbox_loss
I0405 17:02:49.289695 1306 solver.cpp:543] Test net output #0: detection_eval = 0.588826
I0405 17:02:51.784826 1306 solver.cpp:243] Iteration 40000, loss = 2.19788
I0405 17:02:51.784868 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.65966 (* 1 = 2.65966 loss)
I0405 17:02:52.473186 1306 sgd_solver.cpp:47] MultiStep Status: Iteration 40000, step = 1
I0405 17:02:52.473227 1306 sgd_solver.cpp:138] Iteration 40000, lr = 1e-05

I0405 21:15:27.636586 1306 solver.cpp:433] Iteration 41000, Testing net (#0)
I0405 21:15:27.636674 1306 net.cpp:693] Ignoring source layer mbox_loss
I0405 21:15:33.403995 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0405 21:16:08.100375 1306 solver.cpp:543] Test net output #0: detection_eval = 0.607239
I0405 21:16:10.347666 1306 solver.cpp:243] Iteration 41000, loss = 2.05813
I0405 21:16:10.347721 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.09432 (* 1 = 2.09432 loss)
I0405 21:16:11.122637 1306 sgd_solver.cpp:138] Iteration 41000, lr = 1e-05

I0406 01:03:01.890405 1306 solver.cpp:433] Iteration 42000, Testing net (#0)
I0406 01:03:01.890519 1306 net.cpp:693] Ignoring source layer mbox_loss
I0406 01:03:40.885931 1306 solver.cpp:543] Test net output #0: detection_eval = 0.624692
I0406 01:03:44.217214 1306 solver.cpp:243] Iteration 42000, loss = 2.01631
I0406 01:03:44.217658 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.71339 (* 1 = 2.71339 loss)
I0406 01:03:44.217883 1306 sgd_solver.cpp:138] Iteration 42000, lr = 1e-05

I0406 05:10:18.305634 1306 solver.cpp:433] Iteration 43000, Testing net (#0)
I0406 05:10:18.305721 1306 net.cpp:693] Ignoring source layer mbox_loss
I0406 05:10:33.529862 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0406 05:10:57.730491 1306 solver.cpp:543] Test net output #0: detection_eval = 0.597785
I0406 05:11:00.188812 1306 solver.cpp:243] Iteration 43000, loss = 1.9701
I0406 05:11:00.188872 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.00485 (* 1 = 2.00485 loss)
I0406 05:11:00.853934 1306 sgd_solver.cpp:138] Iteration 43000, lr = 1e-05

I0406 08:45:31.997023 1306 solver.cpp:433] Iteration 44000, Testing net (#0)
I0406 08:45:31.997119 1306 net.cpp:693] Ignoring source layer mbox_loss
I0406 08:46:11.371773 1306 solver.cpp:543] Test net output #0: detection_eval = 0.60564
I0406 08:46:14.174206 1306 solver.cpp:243] Iteration 44000, loss = 2.0197
I0406 08:46:14.174255 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.05228 (* 1 = 2.05228 loss)
I0406 08:46:14.756858 1306 sgd_solver.cpp:138] Iteration 44000, lr = 1e-05

I0406 12:15:49.126451 1306 solver.cpp:433] Iteration 45000, Testing net (#0)
I0406 12:15:49.126693 1306 net.cpp:693] Ignoring source layer mbox_loss
I0406 12:16:22.482960 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0406 12:16:27.758494 1306 solver.cpp:543] Test net output #0: detection_eval = 0.584604
I0406 12:16:30.284601 1306 solver.cpp:243] Iteration 45000, loss = 1.96844
I0406 12:16:30.284667 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.69729 (* 1 = 1.69729 loss)
I0406 12:16:31.092077 1306 sgd_solver.cpp:138] Iteration 45000, lr = 1e-05

I0406 15:25:25.520157 1306 solver.cpp:433] Iteration 46000, Testing net (#0)
I0406 15:25:25.520244 1306 net.cpp:693] Ignoring source layer mbox_loss
I0406 15:26:05.611193 1306 solver.cpp:543] Test net output #0: detection_eval = 0.613347
I0406 15:26:08.824692 1306 solver.cpp:243] Iteration 46000, loss = 1.9416
I0406 15:26:08.824733 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.83413 (* 1 = 1.83413 loss)
I0406 15:26:08.824764 1306 sgd_solver.cpp:138] Iteration 46000, lr = 1e-05

I0406 18:27:18.800853 1306 solver.cpp:433] Iteration 47000, Testing net (#0)
I0406 18:27:18.800943 1306 net.cpp:693] Ignoring source layer mbox_loss
I0406 18:27:56.227263 1306 solver.cpp:543] Test net output #0: detection_eval = 0.627901
I0406 18:27:59.330350 1306 solver.cpp:243] Iteration 47000, loss = 1.93108
I0406 18:27:59.330410 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.17465 (* 1 = 2.17465 loss)
I0406 18:27:59.330467 1306 sgd_solver.cpp:138] Iteration 47000, lr = 1e-05

I0406 21:27:43.450727 1306 solver.cpp:433] Iteration 48000, Testing net (#0)
I0406 21:27:43.450819 1306 net.cpp:693] Ignoring source layer mbox_loss
I0406 21:28:22.387928 1306 solver.cpp:543] Test net output #0: detection_eval = 0.652113
I0406 21:28:24.734930 1306 solver.cpp:243] Iteration 48000, loss = 1.95157
I0406 21:28:24.735054 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.1868 (* 1 = 2.1868 loss)
I0406 21:28:25.480062 1306 sgd_solver.cpp:138] Iteration 48000, lr = 1e-05

I0407 00:30:41.377358 1306 solver.cpp:433] Iteration 49000, Testing net (#0)
I0407 00:30:41.377449 1306 net.cpp:693] Ignoring source layer mbox_loss
I0407 00:31:18.830639 1306 solver.cpp:543] Test net output #0: detection_eval = 0.617053
I0407 00:31:21.245787 1306 solver.cpp:243] Iteration 49000, loss = 1.9707
I0407 00:31:21.245849 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.75377 (* 1 = 1.75377 loss)
I0407 00:31:21.680156 1306 sgd_solver.cpp:138] Iteration 49000, lr = 1e-05

I0407 03:30:56.405927 1306 solver.cpp:433] Iteration 50000, Testing net (#0)
I0407 03:30:56.406105 1306 net.cpp:693] Ignoring source layer mbox_loss
I0407 03:31:01.051456 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0407 03:31:34.187222 1306 solver.cpp:543] Test net output #0: detection_eval = 0.596666
I0407 03:31:36.562472 1306 solver.cpp:243] Iteration 50000, loss = 1.93141
I0407 03:31:36.562527 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.87467 (* 1 = 1.87467 loss)
I0407 03:31:37.268019 1306 sgd_solver.cpp:138] Iteration 50000, lr = 1e-05

I0407 06:32:31.886972 1306 solver.cpp:433] Iteration 51000, Testing net (#0)
I0407 06:32:31.887068 1306 net.cpp:693] Ignoring source layer mbox_loss
I0407 06:33:11.281626 1306 solver.cpp:543] Test net output #0: detection_eval = 0.682606
I0407 06:33:13.594921 1306 solver.cpp:243] Iteration 51000, loss = 1.93064
I0407 06:33:13.594975 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.09862 (* 1 = 2.09862 loss)
I0407 06:33:14.407634 1306 sgd_solver.cpp:138] Iteration 51000, lr = 1e-05

I0407 09:35:26.773157 1306 solver.cpp:433] Iteration 52000, Testing net (#0)
I0407 09:35:26.773277 1306 net.cpp:693] Ignoring source layer mbox_loss
I0407 09:35:46.128684 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0407 09:36:05.563726 1306 solver.cpp:543] Test net output #0: detection_eval = 0.621031
I0407 09:36:08.164755 1306 solver.cpp:243] Iteration 52000, loss = 1.95618
I0407 09:36:08.164818 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.84878 (* 1 = 1.84878 loss)
I0407 09:36:08.665041 1306 sgd_solver.cpp:138] Iteration 52000, lr = 1e-05

I0407 12:39:53.927330 1306 solver.cpp:433] Iteration 53000, Testing net (#0)
I0407 12:39:53.927418 1306 net.cpp:693] Ignoring source layer mbox_loss
I0407 12:40:34.113943 1306 solver.cpp:543] Test net output #0: detection_eval = 0.624961
I0407 12:40:36.511904 1306 solver.cpp:243] Iteration 53000, loss = 1.92391
I0407 12:40:36.511981 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.79335 (* 1 = 1.79335 loss)
I0407 12:40:36.951359 1306 sgd_solver.cpp:138] Iteration 53000, lr = 1e-05

I0407 15:41:31.221352 1306 solver.cpp:433] Iteration 54000, Testing net (#0)
I0407 15:41:31.221436 1306 net.cpp:693] Ignoring source layer mbox_loss
I0407 15:42:00.742380 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0407 15:42:09.181475 1306 solver.cpp:543] Test net output #0: detection_eval = 0.647486
I0407 15:42:11.437472 1306 solver.cpp:243] Iteration 54000, loss = 1.90603
I0407 15:42:11.437587 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.02106 (* 1 = 2.02106 loss)
I0407 15:42:12.188097 1306 sgd_solver.cpp:138] Iteration 54000, lr = 1e-05

I0407 18:48:10.112860 1306 solver.cpp:433] Iteration 55000, Testing net (#0)
I0407 18:48:10.112948 1306 net.cpp:693] Ignoring source layer mbox_loss
I0407 18:48:49.613601 1306 solver.cpp:543] Test net output #0: detection_eval = 0.63675
I0407 18:48:52.417958 1306 solver.cpp:243] Iteration 55000, loss = 1.93508
I0407 18:48:52.418064 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.4041 (* 1 = 2.4041 loss)
I0407 18:48:53.797850 1306 sgd_solver.cpp:138] Iteration 55000, lr = 1e-05

I0407 21:55:46.550694 1306 solver.cpp:433] Iteration 56000, Testing net (#0)
I0407 21:55:46.550786 1306 net.cpp:693] Ignoring source layer mbox_loss
I0407 21:56:25.088029 1306 solver.cpp:543] Test net output #0: detection_eval = 0.611102
I0407 21:56:27.633196 1306 solver.cpp:243] Iteration 56000, loss = 1.87605
I0407 21:56:27.633272 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.78036 (* 1 = 1.78036 loss)
I0407 21:56:28.232192 1306 sgd_solver.cpp:138] Iteration 56000, lr = 1e-05

I0408 01:05:07.849153 1306 solver.cpp:433] Iteration 57000, Testing net (#0)
I0408 01:05:07.849238 1306 net.cpp:693] Ignoring source layer mbox_loss
I0408 01:05:08.027675 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0408 01:05:45.337280 1306 solver.cpp:543] Test net output #0: detection_eval = 0.61578
I0408 01:05:47.763682 1306 solver.cpp:243] Iteration 57000, loss = 1.87234
I0408 01:05:47.763732 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.73128 (* 1 = 1.73128 loss)
I0408 01:05:48.229641 1306 sgd_solver.cpp:138] Iteration 57000, lr = 1e-05

I0408 04:28:34.337592 1306 solver.cpp:433] Iteration 58000, Testing net (#0)
I0408 04:28:34.337704 1306 net.cpp:693] Ignoring source layer mbox_loss
I0408 04:29:14.902088 1306 solver.cpp:543] Test net output #0: detection_eval = 0.642386
I0408 04:29:17.686023 1306 solver.cpp:243] Iteration 58000, loss = 1.85526
I0408 04:29:17.686065 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.76768 (* 1 = 1.76768 loss)
I0408 04:29:18.140614 1306 sgd_solver.cpp:138] Iteration 58000, lr = 1e-05

I0408 08:14:14.440521 1306 solver.cpp:433] Iteration 59000, Testing net (#0)
I0408 08:14:14.440623 1306 net.cpp:693] Ignoring source layer mbox_loss
I0408 08:14:26.626003 1306 blocking_queue.cpp:50] Data layer prefetch queue empty
I0408 08:14:53.532229 1306 solver.cpp:543] Test net output #0: detection_eval = 0.614253
I0408 08:14:56.856050 1306 solver.cpp:243] Iteration 59000, loss = 1.92192
I0408 08:14:56.856138 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.69259 (* 1 = 1.69259 loss)
I0408 08:14:56.856176 1306 sgd_solver.cpp:138] Iteration 59000, lr = 1e-05

I0408 12:02:09.806546 1306 solver.cpp:433] Iteration 60000, Testing net (#0)
I0408 12:02:09.806643 1306 net.cpp:693] Ignoring source layer mbox_loss
I0408 12:02:57.607538 1306 solver.cpp:543] Test net output #0: detection_eval = 0.611193
I0408 12:03:03.562712 1306 solver.cpp:243] Iteration 60000, loss = 1.91013
I0408 12:03:03.562777 1306 solver.cpp:259] Train net output #0: mbox_loss = 2.27964 (* 1 = 2.27964 loss)
I0408 12:03:07.462204 1306 sgd_solver.cpp:138] Iteration 60000, lr = 1e-05
I0408 12:37:51.408920 1306 solver.cpp:243] Iteration 60100, loss = 1.8492
I0408 12:37:51.409126 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.80072 (* 1 = 1.80072 loss)
I0408 12:38:11.501283 1306 sgd_solver.cpp:138] Iteration 60100, lr = 1e-05
I0408 13:12:53.471482 1431 blocking_queue.cpp:50] Data layer prefetch queue empty
I0408 13:18:36.838145 1306 solver.cpp:243] Iteration 60200, loss = 1.91048
I0408 13:18:36.838371 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.98924 (* 1 = 1.98924 loss)
I0408 13:19:00.084318 1306 sgd_solver.cpp:138] Iteration 60200, lr = 1e-05
I0408 13:55:33.791471 1306 solver.cpp:243] Iteration 60300, loss = 1.87662
I0408 13:55:33.791700 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.9425 (* 1 = 1.9425 loss)
I0408 13:55:47.231323 1306 sgd_solver.cpp:138] Iteration 60300, lr = 1e-05
I0408 14:35:58.646726 1306 solver.cpp:243] Iteration 60400, loss = 1.87251
I0408 14:35:58.647043 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.55061 (* 1 = 1.55061 loss)
I0408 14:36:08.683598 1306 sgd_solver.cpp:138] Iteration 60400, lr = 1e-05
I0408 15:13:43.952873 1306 solver.cpp:243] Iteration 60500, loss = 1.91905
I0408 15:13:43.953128 1306 solver.cpp:259] Train net output #0: mbox_loss = 1.85035 (* 1 = 1.85035 loss)
I0408 15:14:05.191656 1306 sgd_solver.cpp:138] Iteration 60500, lr = 1e-05

f_score_threshold might be incompatible

The f_score_threshold is set to be 0.7 as default
But, the value of f_score (which is compared ti the threshold) must be in the range [1.0, e] - since Sd and Sr are in the range [0,1]
Have I missed anything?
see image attached

screenshot-2018-2-27 1801 02765 pdf

Install Instruction for Ubuntu 14.04

Finally got TB++ to compile and thought I would share how I did it. Hopefully, it will help someone:

# Install dependencies (everything but the kitchen sink)
sudo apt-get install -y ant autoconf autoconf-archive automake binutils-dev bison build-essential checkinstall cmake curl cython default-jdk doxygen $extra_packages flex g++ gfortran git libatlas-base-dev libatlas-dev libavcodec-dev libavformat-dev libboost-all-dev libdc1394-22 libdc1394-22-dev libdouble-conversion-dev libdwarf-dev libedit-dev libeigen3-dev libelf-dev libevent-dev libfaac-dev libgdal-dev libgflags-dev libgoogle-glog-dev libgphoto2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libgtk2.0-dev libhdf5-dev libhdf5-serial-dev libiberty-dev libjasper-dev libjemalloc-dev libjpeg8-dev libjpeg-dev libkrb5-dev liblapacke-dev libleveldb-dev liblmdb-dev liblz4-dev liblzma-dev libmatio-dev libmp3lame-dev libnuma-dev libopenblas-dev libopencore-amrnb-dev libopencore-amrwb-dev libopencv-dev libopenexr-dev libpng12-dev libpng-dev libprotobuf-dev libpthread-stubs0-dev libpython3-dev libpython-dev libqt4-dev libqt5opengl5 libqt5opengl5-dev libsasl2-dev libsnappy-dev libssl-dev libswscale-dev libtbb-dev libtheora-dev libtiff4-dev libtiff5-dev libtool libunwind8-dev libv4l-dev libvorbis-dev libvtk6-dev libwebp-dev libx264-dev libxine2-dev libxine-dev libxvidcore-dev make openssh-server pkg-config protobuf-compiler python3-dev python3-numpy python3-tk python-dev python-matplotlib python-numpy python-opencv python-pil python-pip python-protobuf python-scipy python-skimage python-tk qt5-default qtbase5-dev unzip v4l-utils wget x264 yasm zlib1g-dev

# Install Nvidia driver
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-390
sudo reboot
sudo lsmod | grep nvidia

# Install Cuda
cd ~/Downloads
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_8.0.61-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install -y cuda-8-0

# Install cuDNN - https://developer.nvidia.com/rdp/cudnn-download
# Download cuDNN v5.1 (Jan 20, 2017), for CUDA 8.0
mv "cudnn-8.0-linux-x64-v5.1.solitairetheme8" "cudnn-8.0-linux-x64-v5.1.tgz"
tar xvfz cudnn-8.0-linux-x64-v5.1.tgz
cd cuda
sudo cp -P lib64/* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include

# Install opencv 3.0.0
cd ~/Downloads
wget https://github.com/opencv/opencv/archive/3.0.0.zip
unzip 3.0.0.zip
mv opencv-3.0.0 OpenCV
cd OpenCV
vi  ./modules/cudalegacy/src/graphcuts.cpp
	change #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
	to #if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000)
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_OPENGL=ON -DFORCE_VTK=ON -D WITH_TBB=ON -D WITH_GDAL=ON -D WITH_XINE=ON -DBUILD_EXAMPLES=ON -D ENABLE_PRECOMPILED_HEADERS=OFF -D WITH_QT=ON -D WITH_V4L=ON ..
make -j8
sudo make install
sudo ldconfig


# Install Torch (need older version to play nice with CRNN dependencies)
cd ~
git clone https://github.com/torch/distro.git ~/torch --recursive
cd torch
git checkout e21ee70
rm -rf ~/torch/extra/moses
cd ~/torch; bash install-deps;
./install.sh
vi ~/.bashrc
	export PATH=$PATH:/home/john/torch/install/bin
. ~/.bashrc


# Install CRNN dependencies

# Install folly
cd ~/Downloads
git clone -b v0.35.0  --depth 1 https://github.com/facebook/folly
cd folly/folly
autoreconf -ivf
./configure
make
sudo make install
sudo ldconfig

# Install fbthrift
cd ~/Downloads
git clone -b v0.24.0  --depth 1 https://github.com/facebook/fbthrift
cd fbthrift/thrift
autoreconf -ivf
./configure
make
sudo make install

# Install thpp
cd ~/Downloads
git clone -b v1.0 https://github.com/facebook/thpp
cd thpp/thpp
rm -rf gtest-1.7.0 gtest-1.7.0.zip
curl -JLO https://github.com/google/googletest/archive/release-1.7.0.zip
unzip googletest-release-1.7.0.zip
mv googletest-release-1.7.0 gtest-1.7.0
unzip googletest-release-1.7.0.zip
mv googletest-release-1.7.0 gtest-1.7.0
cd ~/Downloads/thpp/thpp
mkdir -p build
cd build
export Torch_DIR=~/torch/install/share/cmake/torch
cmake ..
make
sudo make install

# fblualib
cd ~/Downloads
git clone -b v1.0 https://github.com/facebook/fblualib
cd fblualib/fblualib
./build.sh

# Install TextboxesPlusPlus
cd /usr/lib/x86_64-linux-gnu
sudo ln -s libhdf5.so.7.0.0 libhdf5_serial.so
sudo ln -s libhdf5_hl.so.7 libhdf5_serial_hl.so
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5 g++-5
cd ~
git clone https://github.com/MhLiao/TextBoxes_plusplus.git
cd TextBoxes_plusplus
cp Makefile.config.example Makefile.config
vi Makefile.config
	Uncomment USE_CUDNN
	Uncomment OPENCV_VERSION
	CUSTOM_CXX := /usr/bin/g++-5
make -j4
make py
cd crnn/src
sh build_cpp.sh
sudo pip install matplotlib
sudo pip install shapely
sudo pip install skimage.io

Bugs regarding Recognition functionality

@MhLiao :
I am currently trying out the dictionary function. There seem to be some bugs in demo.py, demo.lua and inference.lua:

  1. If apply_recognition=true : demo.lua gets called without useLexicon flag (demo.py).
  2. Value of lexicon_path does not get parsed correctly, which results in dicPath = NIL in demo.lua:102.

I worked around this by setting useLexicon and dicPath inside demo.lua manually, yet there should be another solution.

In inference.lua:30 and inference.lua:72, there are two FIXME comments. What's broken there?

Also I discovered that, if overlap_threshold is set to a small value, the recognition results get matched with wrong boxes on the recognition result output image.

What are your thoughts on these points?
Can we collaborate on the mentioned issues?

Demo is not working, but there is a fix

hi,
since in the file models/deploy.prototxt at line 1674, u hard coded your folder path, demo.py is not working.

if you change this to relative path, then i believe it will work.

Now there is this Error but i believe i can fix this:

IOError: cannot write mode RGBA as JPEG

For the last error one can change output extensions from .jpg to .png

Error with running examples/text/demo.py

/usr/local/lib/python2.7/dist-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15. warn("The default mode, 'constant', will be changed to 'reflect' in " detection finished recognition begin Traceback (most recent call last): File "examples/text/demo.py", line 202, in <module> '-dicPath', config['lexicon_path']]) File "/usr/lib/python2.7/subprocess.py", line 536, in check_call retcode = call(*popenargs, **kwargs) File "/usr/lib/python2.7/subprocess.py", line 523, in call return Popen(*popenargs, **kwargs).wait() File "/usr/lib/python2.7/subprocess.py", line 711, in __init__ errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory
I have tried running the demo.py attached after installing everything but got this error. But from what i see the lexicon_path is defined properly in the script and there is the lexicon.txt file in the directory as well. Am i missing another parameter that is making it not reading the file as it should? thanks

How to calculate recall,precision,F-measure?

阅读论文的时候有一个问题,我不太明白,在检测文本目标时,作者使用的是不规则的四边形,那么对于不规则的四边形,我们怎么求出其预测框与 ground truth的 IUO,并进而计算出recall,precision,F-measure等模型的评价指标呢?我在作者给的代码中也没有找到计算不规则四边形IOU,以及 recall,precision,F-measure相关的代码

test net wrong (run train.py)

Hello!The error is below, It seems dimensions don't match. I use cuda7.5, what should I do?

I0402 20:19:15.625514 14758 solver.cpp:433] Iteration 120000, Testing netI (#0)
I0402 20:19:15.648340 14758 net.cpp:693] Ignoring source layer mbox_loss
F0402 20:19:21.432915 14792 annotated_data_layer.cpp:205] Check failed: std::equal(top_shape.begin() + 1, top_shape.begin() + 4, shape.begin() + 1)
*** Check failure stack trace: ***
@ 0x7fb4b6064daa (unknown)
@ 0x7fb4b6064ce4 (unknown)
@ 0x7fb4b60646e6 (unknown)
@ 0x7fb4b6067687 (unknown)
@ 0x7fb4b67b4619 caffe::AnnotatedDataLayer<>::load_batch()
@ 0x7fb4b67c6b3c caffe::BasePrefetchingDataLayer<>::InternalThreadEntry()
@ 0x7fb4b679a3ef caffe::InternalThread::entry()
@ 0x7fb4ab69aa4a (unknown)
@ 0x7fb4a71ff184 start_thread
@ 0x7fb4b4997ffd (unknown)
@ (nil) (unknown)
Aborted (core dumped)

the model does not converge

i trained this model on icdar2015, but the loss is still about 2 and the model dose not converge.

anything wrong?

below is the print:

I0322 10:26:27.195602 34365 solver.cpp:243] Iteration 10000, loss = 2.25461
I0322 10:26:27.195647 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.25461 (* 1 = 2.25461 loss)
I0322 10:26:27.195674 34365 sgd_solver.cpp:138] Iteration 10000, lr = 5e-05
I0322 10:35:39.117563 34365 solver.cpp:243] Iteration 10100, loss = 2.57042
I0322 10:35:39.120899 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.69033 (* 1 = 2.69033 loss)
I0322 10:35:39.120955 34365 sgd_solver.cpp:138] Iteration 10100, lr = 5e-05
I0322 10:45:15.218400 34365 solver.cpp:243] Iteration 10200, loss = 2.48241
I0322 10:45:15.226205 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.52062 (* 1 = 2.52062 loss)
I0322 10:45:15.226236 34365 sgd_solver.cpp:138] Iteration 10200, lr = 5e-05
I0322 10:54:54.284951 34365 solver.cpp:243] Iteration 10300, loss = 2.47637
I0322 10:54:54.287142 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.45467 (* 1 = 2.45467 loss)
I0322 10:54:54.287153 34365 sgd_solver.cpp:138] Iteration 10300, lr = 5e-05
I0322 11:04:10.167562 34365 solver.cpp:243] Iteration 10400, loss = 2.44925
I0322 11:04:10.226392 34365 solver.cpp:259] Train net output #0: mbox_loss = 1.71287 (* 1 = 1.71287 loss)
I0322 11:04:10.226441 34365 sgd_solver.cpp:138] Iteration 10400, lr = 5e-05
I0322 11:13:35.929177 34365 solver.cpp:243] Iteration 10500, loss = 2.3995
I0322 11:13:35.930341 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.18376 (* 1 = 2.18376 loss)
I0322 11:13:35.930351 34365 sgd_solver.cpp:138] Iteration 10500, lr = 5e-05
I0322 11:22:45.384930 34365 solver.cpp:243] Iteration 10600, loss = 2.3046
I0322 11:22:45.385200 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.29681 (* 1 = 2.29681 loss)
I0322 11:22:45.385210 34365 sgd_solver.cpp:138] Iteration 10600, lr = 5e-05
I0322 11:30:44.026199 34365 solver.cpp:243] Iteration 10700, loss = 2.28321
I0322 11:30:44.026521 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.3693 (* 1 = 2.3693 loss)
I0322 11:30:44.026530 34365 sgd_solver.cpp:138] Iteration 10700, lr = 5e-05
I0322 11:38:26.737128 34365 solver.cpp:243] Iteration 10800, loss = 2.26945
I0322 11:38:26.754946 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.36171 (* 1 = 2.36171 loss)
I0322 11:38:26.754990 34365 sgd_solver.cpp:138] Iteration 10800, lr = 5e-05
I0322 11:46:07.016868 34365 solver.cpp:243] Iteration 10900, loss = 2.26229
I0322 11:46:07.018682 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.51168 (* 1 = 2.51168 loss)
I0322 11:46:07.018692 34365 sgd_solver.cpp:138] Iteration 10900, lr = 5e-05
I0322 11:47:52.859237 34365 blocking_queue.cpp:50] Data layer prefetch queue empty
I0322 11:54:49.258191 34365 solver.cpp:243] Iteration 11000, loss = 2.22473
I0322 11:54:49.259897 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.4543 (* 1 = 2.4543 loss)
I0322 11:54:49.259907 34365 sgd_solver.cpp:138] Iteration 11000, lr = 5e-05
I0322 12:03:11.798053 34365 solver.cpp:243] Iteration 11100, loss = 2.20064
I0322 12:03:11.799800 34365 solver.cpp:259] Train net output #0: mbox_loss = 1.77588 (* 1 = 1.77588 loss)
I0322 12:03:11.799813 34365 sgd_solver.cpp:138] Iteration 11100, lr = 5e-05
I0322 12:11:35.804178 34365 solver.cpp:243] Iteration 11200, loss = 2.20924
I0322 12:11:35.805752 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.09673 (* 1 = 2.09673 loss)
I0322 12:11:35.805763 34365 sgd_solver.cpp:138] Iteration 11200, lr = 5e-05
I0322 12:20:18.096740 34365 solver.cpp:243] Iteration 11300, loss = 2.21733
I0322 12:20:18.096981 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.88026 (* 1 = 2.88026 loss)
I0322 12:20:18.096990 34365 sgd_solver.cpp:138] Iteration 11300, lr = 5e-05
I0322 12:28:30.917421 34365 solver.cpp:243] Iteration 11400, loss = 2.17975
I0322 12:28:30.930032 34365 solver.cpp:259] Train net output #0: mbox_loss = 1.96478 (* 1 = 1.96478 loss)
I0322 12:28:30.930105 34365 sgd_solver.cpp:138] Iteration 11400, lr = 5e-05
I0322 12:37:02.980835 34365 solver.cpp:243] Iteration 11500, loss = 2.12864
I0322 12:37:02.981086 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.68564 (* 1 = 2.68564 loss)
I0322 12:37:02.981096 34365 sgd_solver.cpp:138] Iteration 11500, lr = 5e-05
I0322 12:45:51.920763 34365 solver.cpp:243] Iteration 11600, loss = 2.17097
I0322 12:45:51.932497 34365 solver.cpp:259] Train net output #0: mbox_loss = 1.92408 (* 1 = 1.92408 loss)
I0322 12:45:51.932554 34365 sgd_solver.cpp:138] Iteration 11600, lr = 5e-05
I0322 12:54:13.096737 34365 solver.cpp:243] Iteration 11700, loss = 2.16561
I0322 12:54:13.096983 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.31518 (* 1 = 2.31518 loss)
I0322 12:54:13.096993 34365 sgd_solver.cpp:138] Iteration 11700, lr = 5e-05
I0322 13:02:49.026772 34365 solver.cpp:243] Iteration 11800, loss = 2.16566
I0322 13:02:49.027006 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.26004 (* 1 = 2.26004 loss)
I0322 13:02:49.027016 34365 sgd_solver.cpp:138] Iteration 11800, lr = 5e-05
I0322 13:11:57.636726 34365 solver.cpp:243] Iteration 11900, loss = 2.17491
I0322 13:11:57.636976 34365 solver.cpp:259] Train net output #0: mbox_loss = 1.8108 (* 1 = 1.8108 loss)
I0322 13:11:57.636991 34365 sgd_solver.cpp:138] Iteration 11900, lr = 5e-05
I0322 13:16:56.752300 34365 blocking_queue.cpp:50] Data layer prefetch queue empty
I0322 13:21:02.483294 34365 solver.cpp:243] Iteration 12000, loss = 2.14385
I0322 13:21:02.483568 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.73836 (* 1 = 2.73836 loss)
I0322 13:21:02.483580 34365 sgd_solver.cpp:138] Iteration 12000, lr = 5e-05
I0322 13:29:42.016816 34365 solver.cpp:243] Iteration 12100, loss = 2.1218
I0322 13:29:42.018276 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.38685 (* 1 = 2.38685 loss)
I0322 13:29:42.018286 34365 sgd_solver.cpp:138] Iteration 12100, lr = 5e-05
I0322 13:38:40.395782 34365 solver.cpp:243] Iteration 12200, loss = 2.12648
I0322 13:38:40.396193 34365 solver.cpp:259] Train net output #0: mbox_loss = 1.80988 (* 1 = 1.80988 loss)
I0322 13:38:40.396208 34365 sgd_solver.cpp:138] Iteration 12200, lr = 5e-05
I0322 13:47:24.710381 34365 solver.cpp:243] Iteration 12300, loss = 2.10221
I0322 13:47:24.711777 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.23219 (* 1 = 2.23219 loss)
I0322 13:47:24.711788 34365 sgd_solver.cpp:138] Iteration 12300, lr = 5e-05
I0322 13:56:28.187919 34365 solver.cpp:243] Iteration 12400, loss = 2.13928
I0322 13:56:28.190034 34365 solver.cpp:259] Train net output #0: mbox_loss = 2.42755 (* 1 = 2.42755 loss)
I0322 13:56:28.190047 34365 sgd_solver.cpp:138] Iteration 12400, lr = 5e-05
I0322 14:05:10.886636 34365 solver.cpp:243] Iteration 12500, loss = 2.04594
I0322 14:05:10.886910 34365 solver.cpp:259] Train net output #0: mbox_loss = 1.95077 (* 1 = 1.95077 loss)
I0322 14:05:10.886921 34365 sgd_solver.cpp:138] Iteration 12500, lr = 5e-05

make error

./include/caffe/util/bbox_util.hpp:132:55: error: ‘NormalizedBBox’ does not name a type
float BBoxCoverage(const NormalizedBBox& bbox1, const NormalizedBBox& bbox2);

could you help me ?

thank you very much.

how long will textboxes++ takes for training?

I0209 09:00:36.055371 113790 blocking_queue.cpp:50] Data layer prefetch queue empty
I got this message when start train with rctw-2017 dataset

I train with p100 gpu
10 iteration takes 3 minutes

How long it takes to do 1 iteration when you do training ? Did I do something wrong? @MhLiao

this error ?

What's the problem?

-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
THPP_LIBRARY
linked by target "crnn" in directory /home/launchx-mask/TextBoxes_plusplus/crnn/src/cpp

-- Configuring incomplete, errors occurred!
See also "/home/launchx-mask/TextBoxes_plusplus/crnn/src/cpp/build/CMakeFiles/CMakeOutput.log"

thanks!!!

comparing ICDAR2013 results

Hi
Since the result from TextBoxes++ is quadrangle, how did you compare to ICDAR2013?
This is how I did it:

    x1 = result[0] # x is column    LEFT
    y1 = result[1] # y is row       TOP
    x2 = result[2] #                RIGHT
    y2 = result[3] #                 TOP
    x3 = result[4] #                RIGHT
    y3 = result[5] #                BOTTOM
    x4 = result[6] #                LEFT
    y4 = result[7] #                BOTTOMleft = int(.5*(x1+x4))
    rt = int(.5*(x2+x3))
    top = int(.5*(y2+y1))
    bot = int(.5*(y3+y4))

Am I correct?

the detection_eval cannot increase any more

I train the model on icdar2015. The loss reaches 1.1 and can not decline any more.
The detection_eval is only 8.9 and it is low on the training set.
My training dataset and testing dataset are the same, they are all the whole icdar2015 dataset.
Is any problem?

Below is the print content.

I0330 13:37:36.891244 10562 solver.cpp:259] Train net output #0: mbox_loss = 0.91194 (* 1 = 0.91194 loss)
I0330 13:37:36.891259 10562 sgd_solver.cpp:138] Iteration 63500, lr = 1e-05
I0330 13:44:41.892575 10562 solver.cpp:243] Iteration 63600, loss = 1.0592
I0330 13:44:41.933722 10562 solver.cpp:259] Train net output #0: mbox_loss = 1.26222 (* 1 = 1.26222 loss)
I0330 13:44:41.933746 10562 sgd_solver.cpp:138] Iteration 63600, lr = 1e-05
I0330 13:51:47.677556 10562 solver.cpp:243] Iteration 63700, loss = 1.08502
I0330 13:51:47.677860 10562 solver.cpp:259] Train net output #0: mbox_loss = 0.743075 (* 1 = 0.743075 loss)
I0330 13:51:47.677875 10562 sgd_solver.cpp:138] Iteration 63700, lr = 1e-05
I0330 13:58:52.916873 10562 solver.cpp:243] Iteration 63800, loss = 1.04121
I0330 13:58:52.917120 10562 solver.cpp:259] Train net output #0: mbox_loss = 0.70995 (* 1 = 0.70995 loss)
I0330 13:58:52.917130 10562 sgd_solver.cpp:138] Iteration 63800, lr = 1e-05
I0330 14:06:09.572183 10562 solver.cpp:243] Iteration 63900, loss = 1.0946
I0330 14:06:09.573016 10562 solver.cpp:259] Train net output #0: mbox_loss = 1.46517 (* 1 = 1.46517 loss)
I0330 14:06:09.573030 10562 sgd_solver.cpp:138] Iteration 63900, lr = 1e-05
I0330 14:13:15.293570 10562 solver.cpp:593] Snapshotting to binary proto file models/VGGNet_icdar2015/text/text_polygon_pre
cise_fix_order_384x384/VGG_text_text_polygon_precise_fix_order_384x384_iter_64000.caffemodel
I0330 14:13:16.178711 10562 sgd_solver.cpp:307] Snapshotting solver state to binary proto file models/VGGNet_icdar2015/text
/text_polygon_precise_fix_order_384x384/VGG_text_text_polygon_precise_fix_order_384x384_iter_64000.solverstate
I0330 14:13:16.435995 10562 solver.cpp:433] Iteration 64000, Testing net (#0)
I0330 14:13:16.436141 10562 net.cpp:693] Ignoring source layer mbox_loss
I0330 14:13:25.917605 10562 blocking_queue.cpp:50] Data layer prefetch queue empty
I0330 14:13:33.016362 10562 solver.cpp:543] Test net output #0: detection_eval = 0.895085
I0330 14:13:34.952975 10562 solver.cpp:243] Iteration 64000, loss = 1.04576
I0330 14:13:34.953037 10562 solver.cpp:259] Train net output #0: mbox_loss = 1.17127 (* 1 = 1.17127 loss)
I0330 14:13:34.953048 10562 sgd_solver.cpp:138] Iteration 64000, lr = 1e-05
I0330 14:20:57.065918 10562 solver.cpp:243] Iteration 64100, loss = 1.10268
I0330 14:20:57.066187 10562 solver.cpp:259] Train net output #0: mbox_loss = 0.987974 (* 1 = 0.987974 loss)
I0330 14:20:57.066200 10562 sgd_solver.cpp:138] Iteration 64100, lr = 1e-05
I0330 14:28:14.230305 10562 solver.cpp:243] Iteration 64200, loss = 1.08085
I0330 14:28:14.230576 10562 solver.cpp:259] Train net output #0: mbox_loss = 0.83759 (* 1 = 0.83759 loss)
I0330 14:28:14.230587 10562 sgd_solver.cpp:138] Iteration 64200, lr = 1e-05
I0330 14:35:39.323906 10562 solver.cpp:243] Iteration 64300, loss = 1.04889
I0330 14:35:39.324132 10562 solver.cpp:259] Train net output #0: mbox_loss = 1.06259 (* 1 = 1.06259 loss)
I0330 14:35:39.324146 10562 sgd_solver.cpp:138] Iteration 64300, lr = 1e-05
I0330 14:43:40.534621 10562 solver.cpp:243] Iteration 64400, loss = 1.10161
I0330 14:43:40.534920 10562 solver.cpp:259] Train net output #0: mbox_loss = 1.12481 (* 1 = 1.12481 loss)
I0330 14:43:40.534938 10562 sgd_solver.cpp:138] Iteration 64400, lr = 1e-05
I0330 14:51:23.179654 10562 solver.cpp:243] Iteration 64500, loss = 1.04438
I0330 14:51:23.179877 10562 solver.cpp:259] Train net output #0: mbox_loss = 0.88916 (* 1 = 0.88916 loss)
I0330 14:51:23.179889 10562 sgd_solver.cpp:138] Iteration 64500, lr = 1e-05
I0330 14:59:18.520834 10562 solver.cpp:243] Iteration 64600, loss = 1.06642
I0330 14:59:18.521076 10562 solver.cpp:259] Train net output #0: mbox_loss = 1.14982 (* 1 = 1.14982 loss)
I0330 14:59:18.521085 10562 sgd_solver.cpp:138] Iteration 64600, lr = 1e-05
I0330 15:08:24.289408 10562 solver.cpp:243] Iteration 64700, loss = 1.03248
I0330 15:08:24.289634 10562 solver.cpp:259] Train net output #0: mbox_loss = 1.22763 (* 1 = 1.22763 loss)
I0330 15:08:24.289647 10562 sgd_solver.cpp:138] Iteration 64700, lr = 1e-05
I0330 15:17:31.931952 10562 blocking_queue.cpp:50] Data layer prefetch queue empty

About training on new data

Hello, @MhLiao !

First of all, thanks for this model, it's really nice work.
But, actually, I want to clarify some details about training this model on new data.

  1. How to find out what difficult for bbox is?
  2. In "example.xml" your wrote only one block of annotation. It means that if I want to add one more image with bounding boxs I should add one more block of annotation. right? And I should again indicate about folder? Also, it will be cool, if you move section with filename, size, folder to the end or in the beginning of file, because, all of a sudden, put it between object.
  3. Can I write in content, for instance, 10-15 words? How many words are acceptable in your opinion?
    What is the upper bound for it?
  4. How to use background? Why did you label it in labelmap_voc.prototxt?
  5. Should I correct "labelmap_voc.prototxt" if I want to detect only text?
  6. If I have image in high quality (4000x3000, for example) then how can I train my dataset on your model (I see resize_width and resize_height, but I didn't want to do it, I lost my quality and won't see text:D)? Can I set resize_width=4000 and resize_height=3000 or model won't work? Then what are optimal resize_width and resize_height for high quality image in your opinion?
  7. Did you insert ability of cut image on parts and non-maximum suppression? (refer to 6)

Thanks in advance!

error with make py

screen shot 2018-02-03 at 9 17 16 pm

I'm getting this error when run make py.

And I wonder does successfully install make -j8 suppose to display like that?

Check failed: error == cudaSuccess (77 vs. 0) an illegal memory access was encountered

Hi @MhLiao, When I'm looping multiple images after some iterations(after 6 iterations) below error will occur, most people said to downgrade cuDNN to v4 but it is not compatible with Cuda 8. What could be the issue? Please help!

Cuda 8.0 with cuDNN 5.1

I0411 18:45:49.181143 12363 net.cpp:228] pool1 does not need backward computation.
I0411 18:45:49.181152 12363 net.cpp:228] relu1_2 does not need backward computation.
I0411 18:45:49.181162 12363 net.cpp:228] conv1_2 does not need backward computation.
I0411 18:45:49.181172 12363 net.cpp:228] relu1_1 does not need backward computation.
I0411 18:45:49.181181 12363 net.cpp:228] conv1_1 does not need backward computation.
I0411 18:45:49.181193 12363 net.cpp:228] data_input_0_split does not need backward computation.
I0411 18:45:49.181202 12363 net.cpp:228] input does not need backward computation.
I0411 18:45:49.181210 12363 net.cpp:270] This network produces output detection_out
I0411 18:45:49.181360 12363 net.cpp:283] Network initialization done.
I0411 18:45:49.425683 12363 net.cpp:761] Ignoring source layer data
I0411 18:45:49.425726 12363 net.cpp:761] Ignoring source layer data_data_0_split
I0411 18:45:49.455093 12363 net.cpp:761] Ignoring source layer mbox_loss
F0411 18:45:51.959846 12363 math_functions.cu:79] Check failed: error == cudaSuccess (77 vs. 0)  an illegal memory access was encountered
*** Check failure stack trace: ***
Aborted (core dumped)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.