From 65ef9ff7deadc63a873328b7ca4b827053f5f6d6 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 9 May 2014 19:51:26 -0700 Subject: [PATCH 001/408] specify NetParameters directly in the SolverParameter --- src/caffe/proto/caffe.proto | 12 ++++++++++-- src/caffe/solver.cpp | 26 ++++++++++++++++++++++---- 2 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index ab3c2fecc5c..eb086a15443 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -57,8 +57,16 @@ message NetParameter { } message SolverParameter { - optional string train_net = 1; // The proto file for the training net. - optional string test_net = 2; // The proto file for the testing net. + // {train,test}_net specify a path to a file containing the {train,test} net + // parameters; {train,test}_net_param specify the net parameters directly + // inside the SolverParameter. + // + // If {train,test}_net is specified, {train,test}_net_param should not be, + // and vice versa. + optional string train_net = 1; // The proto filename for the train net. + optional string test_net = 2; // The proto filename for the test net. + optional NetParameter train_net_param = 21; // Full params for the train net. + optional NetParameter test_net_param = 22; // Full params for the test net. // The number of iterations for each testing phase. optional int32 test_iter = 3 [default = 0]; // The number of iterations between two testing phases. diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 4932968d0b6..77782ac69fb 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -38,11 +38,29 @@ void Solver::Init(const SolverParameter& param) { Caffe::set_random_seed(param_.random_seed()); } // Scaffolding code - LOG(INFO) << "Creating training net."; - net_.reset(new Net(param_.train_net())); - if (param_.has_test_net()) { - LOG(INFO) << "Creating testing net."; + if (param_.has_train_net_param()) { + CHECK(!param_.has_train_net()) << "Either train_net_param or train_net may " + << "be specified, but not both."; + LOG(INFO) << "Creating training net specified in SolverParameter."; + net_.reset(new Net(param_.train_net_param())); + } else { + LOG(INFO) << "Creating training net from file: " << param_.train_net(); + net_.reset(new Net(param_.train_net())); + } + bool has_test_net = false; + NetParameter test_net_param; + if (param_.has_test_net_param()) { + CHECK(!param_.has_test_net()) << "Either test_net_param or test_net may be " + << "specified, but not both."; + LOG(INFO) << "Creating testing net specified in SolverParameter."; + test_net_.reset(new Net(param_.test_net_param())); + has_test_net = true; + } else if (param_.has_test_net()) { + LOG(INFO) << "Creating testing net from file: " << param_.test_net(); test_net_.reset(new Net(param_.test_net())); + has_test_net = true; + } + if (has_test_net) { CHECK_GT(param_.test_iter(), 0); CHECK_GT(param_.test_interval(), 0); } From bf66ac27539c63377d432006589bc43ea6203933 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 9 May 2014 19:51:59 -0700 Subject: [PATCH 002/408] log {Net,Solver}Parameters on Init --- src/caffe/net.cpp | 2 ++ src/caffe/solver.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 6f57d8d09ad..8eeff57efc0 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -33,6 +33,8 @@ Net::Net(const string& param_file) { template void Net::Init(const NetParameter& in_param) { + LOG(INFO) << "Initializing net from parameters: " << std::endl + << in_param.DebugString(); // Create a copy of in_param with splits added where necessary. NetParameter param; InsertSplits(in_param, ¶m); diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 77782ac69fb..9420ca3c9e1 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -33,6 +33,8 @@ Solver::Solver(const string& param_file) template void Solver::Init(const SolverParameter& param) { + LOG(INFO) << "Initializing solver from parameters: " << std::endl + << param.DebugString(); param_ = param; if (param_.random_seed() >= 0) { Caffe::set_random_seed(param_.random_seed()); From c97fff670299c8600ddd8b0ba54bbd7c325ee2f5 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 9 May 2014 20:28:55 -0700 Subject: [PATCH 003/408] allow multiple test nets --- include/caffe/solver.hpp | 5 ++-- src/caffe/proto/caffe.proto | 4 +-- src/caffe/solver.cpp | 55 ++++++++++++++++++++++--------------- 3 files changed, 38 insertions(+), 26 deletions(-) diff --git a/include/caffe/solver.hpp b/include/caffe/solver.hpp index aef9b22c44d..3112c59e0fc 100644 --- a/include/caffe/solver.hpp +++ b/include/caffe/solver.hpp @@ -33,7 +33,8 @@ class Solver { // written to disk together with the learned net. void Snapshot(); // The test routine - void Test(); + void TestAll(); + void Test(const int test_net_id = 0); virtual void SnapshotSolverState(SolverState* state) = 0; // The Restore function implements how one should restore the solver to a // previously snapshotted state. You should implement the RestoreSolverState() @@ -44,7 +45,7 @@ class Solver { SolverParameter param_; int iter_; shared_ptr > net_; - shared_ptr > test_net_; + vector > > test_nets_; DISABLE_COPY_AND_ASSIGN(Solver); }; diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index eb086a15443..cf3a9b76c54 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -64,9 +64,9 @@ message SolverParameter { // If {train,test}_net is specified, {train,test}_net_param should not be, // and vice versa. optional string train_net = 1; // The proto filename for the train net. - optional string test_net = 2; // The proto filename for the test net. + repeated string test_net = 2; // The proto filenames for the test nets. optional NetParameter train_net_param = 21; // Full params for the train net. - optional NetParameter test_net_param = 22; // Full params for the test net. + repeated NetParameter test_net_param = 22; // Full params for the test nets. // The number of iterations for each testing phase. optional int32 test_iter = 3 [default = 0]; // The number of iterations between two testing phases. diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 9420ca3c9e1..e3dc70546a0 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -19,13 +19,13 @@ namespace caffe { template Solver::Solver(const SolverParameter& param) - : net_(), test_net_() { + : net_() { Init(param); } template Solver::Solver(const string& param_file) - : net_(), test_net_() { + : net_() { SolverParameter param; ReadProtoFromTextFile(param_file, ¶m); Init(param); @@ -49,23 +49,25 @@ void Solver::Init(const SolverParameter& param) { LOG(INFO) << "Creating training net from file: " << param_.train_net(); net_.reset(new Net(param_.train_net())); } - bool has_test_net = false; - NetParameter test_net_param; - if (param_.has_test_net_param()) { - CHECK(!param_.has_test_net()) << "Either test_net_param or test_net may be " - << "specified, but not both."; - LOG(INFO) << "Creating testing net specified in SolverParameter."; - test_net_.reset(new Net(param_.test_net_param())); - has_test_net = true; - } else if (param_.has_test_net()) { - LOG(INFO) << "Creating testing net from file: " << param_.test_net(); - test_net_.reset(new Net(param_.test_net())); - has_test_net = true; - } - if (has_test_net) { + const int num_test_net_params = param_.test_net_param_size(); + const int num_test_net_files = param_.test_net_size(); + const int num_test_nets = num_test_net_params + num_test_net_files; + if (num_test_nets) { CHECK_GT(param_.test_iter(), 0); CHECK_GT(param_.test_interval(), 0); } + test_nets_.resize(num_test_nets); + for (int i = 0; i < num_test_net_params; ++i) { + LOG(INFO) << "Creating testing net (#" << i + << ") specified in SolverParameter."; + test_nets_[i].reset(new Net(param_.test_net_param(i))); + } + for (int i = 0, test_net_id = num_test_net_params; + i < num_test_net_files; ++i, ++test_net_id) { + LOG(INFO) << "Creating testing net (#" << test_net_id + << ") from file: " << param.test_net(i); + test_nets_[test_net_id].reset(new Net(param_.test_net(i))); + } LOG(INFO) << "Solver scaffolding done."; } @@ -92,7 +94,7 @@ void Solver::Solve(const char* resume_file) { // there's not enough memory to run the test net and crash, etc.; and to gauge // the effect of the first training iterations. if (param_.test_interval()) { - Test(); + TestAll(); } // For a network that is trained by the solver, no bottom or top vecs @@ -107,7 +109,7 @@ void Solver::Solve(const char* resume_file) { LOG(INFO) << "Iteration " << iter_ << ", loss = " << loss; } if (param_.test_interval() && iter_ % param_.test_interval() == 0) { - Test(); + TestAll(); } // Check if we need to do snapshot if (param_.snapshot() && iter_ % param_.snapshot() == 0) { @@ -122,18 +124,27 @@ void Solver::Solve(const char* resume_file) { template -void Solver::Test() { - LOG(INFO) << "Iteration " << iter_ << ", Testing net"; +void Solver::TestAll() { + for (int test_net_id = 0; test_net_id < test_nets_.size(); ++test_net_id) { + Test(test_net_id); + } +} + + +template +void Solver::Test(const int test_net_id) { + LOG(INFO) << "Iteration " << iter_ << ", Testing net (#" << test_net_id << ")"; // We need to set phase to test before running. Caffe::set_phase(Caffe::TEST); - CHECK_NOTNULL(test_net_.get())->ShareTrainedLayersWith(net_.get()); + CHECK_NOTNULL(test_nets_[test_net_id].get())-> + ShareTrainedLayersWith(net_.get()); vector test_score; vector*> bottom_vec; Dtype loss = 0; for (int i = 0; i < param_.test_iter(); ++i) { Dtype iter_loss; const vector*>& result = - test_net_->Forward(bottom_vec, &iter_loss); + test_nets_[test_net_id]->Forward(bottom_vec, &iter_loss); if (param_.test_compute_loss()) { loss += iter_loss; } From b64c597357c85ef1cd882831006a5d3227c613c9 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 9 May 2014 20:47:06 -0700 Subject: [PATCH 004/408] add a lenet example of specifying train/test net directly in solver; multiple test nets --- .../mnist/lenet_consolidated_solver.prototxt | 396 ++++++++++++++++++ 1 file changed, 396 insertions(+) create mode 100644 examples/mnist/lenet_consolidated_solver.prototxt diff --git a/examples/mnist/lenet_consolidated_solver.prototxt b/examples/mnist/lenet_consolidated_solver.prototxt new file mode 100644 index 00000000000..14a048a3664 --- /dev/null +++ b/examples/mnist/lenet_consolidated_solver.prototxt @@ -0,0 +1,396 @@ +# lenet_consolidated_solver.prototxt consolidates the lenet_solver, lenet_train, +# and lenet_test prototxts into a single file. It also adds an additional test +# net which runs on the training set, e.g., for the purpose of comparing +# train/test accuracy (accuracy is computed only on the test set in the included +# LeNet example. This is mainly included as an example of using these features +# (specify NetParameters directly in the solver, specify multiple test nets) +# if desired. +# +# test_iter specifies how many forward passes the test should carry out. +# In the case of MNIST, we have test batch size 100 and 100 test iterations, +# covering the full 10,000 testing images. +test_iter: 100 +# Carry out testing every 500 training iterations. +test_interval: 500 +# The base learning rate, momentum and the weight decay of the network. +base_lr: 0.01 +momentum: 0.9 +weight_decay: 0.0005 +# The learning rate policy +lr_policy: "inv" +gamma: 0.0001 +power: 0.75 +# Display every 100 iterations +display: 100 +# The maximum number of iterations +max_iter: 10000 +# snapshot intermediate results +snapshot: 5000 +snapshot_prefix: "lenet" +# Set a random_seed for repeatable results. +# (For results that vary due to random initialization, comment out the below +# line, or set to a negative integer -- e.g. "random_seed: -1") +random_seed: 1701 +# solver mode: CPU or GPU +solver_mode: GPU +# The training protocol buffer definition +train_net_param { + name: "LeNet" + layers { + name: "mnist" + type: DATA + top: "data" + top: "label" + data_param { + source: "mnist-train-leveldb" + scale: 0.00390625 + batch_size: 64 + } + } + layers { + name: "conv1" + type: CONVOLUTION + bottom: "data" + top: "conv1" + blobs_lr: 1 + blobs_lr: 2 + convolution_param { + num_output: 20 + kernel_size: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "pool1" + type: POOLING + bottom: "conv1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 2 + stride: 2 + } + } + layers { + name: "conv2" + type: CONVOLUTION + bottom: "pool1" + top: "conv2" + blobs_lr: 1 + blobs_lr: 2 + convolution_param { + num_output: 50 + kernel_size: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "pool2" + type: POOLING + bottom: "conv2" + top: "pool2" + pooling_param { + pool: MAX + kernel_size: 2 + stride: 2 + } + } + layers { + name: "ip1" + type: INNER_PRODUCT + bottom: "pool2" + top: "ip1" + blobs_lr: 1 + blobs_lr: 2 + inner_product_param { + num_output: 500 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "relu1" + type: RELU + bottom: "ip1" + top: "ip1" + } + layers { + name: "ip2" + type: INNER_PRODUCT + bottom: "ip1" + top: "ip2" + blobs_lr: 1 + blobs_lr: 2 + inner_product_param { + num_output: 10 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "ip2" + bottom: "label" + } +} +# The testing protocol buffer definition +test_net_param { + name: "LeNet-test" + layers { + name: "mnist" + type: DATA + top: "data" + top: "label" + data_param { + source: "mnist-test-leveldb" + scale: 0.00390625 + batch_size: 100 + } + } + layers { + name: "conv1" + type: CONVOLUTION + bottom: "data" + top: "conv1" + convolution_param { + num_output: 20 + kernel_size: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "pool1" + type: POOLING + bottom: "conv1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 2 + stride: 2 + } + } + layers { + name: "conv2" + type: CONVOLUTION + bottom: "pool1" + top: "conv2" + convolution_param { + num_output: 50 + kernel_size: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "pool2" + type: POOLING + bottom: "conv2" + top: "pool2" + pooling_param { + pool: MAX + kernel_size: 2 + stride: 2 + } + } + layers { + name: "ip1" + type: INNER_PRODUCT + bottom: "pool2" + top: "ip1" + inner_product_param { + num_output: 500 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "relu1" + type: RELU + bottom: "ip1" + top: "ip1" + } + layers { + name: "ip2" + type: INNER_PRODUCT + bottom: "ip1" + top: "ip2" + inner_product_param { + num_output: 10 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "prob" + type: SOFTMAX + bottom: "ip2" + top: "prob" + } + layers { + name: "accuracy" + type: ACCURACY + bottom: "prob" + bottom: "label" + top: "accuracy" + } +} +# The protocol buffer definition to test on the train set +test_net_param { + name: "LeNet-test-on-train" + layers { + name: "mnist" + type: DATA + top: "data" + top: "label" + data_param { + source: "mnist-train-leveldb" + scale: 0.00390625 + batch_size: 100 + } + } + layers { + name: "conv1" + type: CONVOLUTION + bottom: "data" + top: "conv1" + convolution_param { + num_output: 20 + kernel_size: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "pool1" + type: POOLING + bottom: "conv1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 2 + stride: 2 + } + } + layers { + name: "conv2" + type: CONVOLUTION + bottom: "pool1" + top: "conv2" + convolution_param { + num_output: 50 + kernel_size: 5 + stride: 1 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "pool2" + type: POOLING + bottom: "conv2" + top: "pool2" + pooling_param { + pool: MAX + kernel_size: 2 + stride: 2 + } + } + layers { + name: "ip1" + type: INNER_PRODUCT + bottom: "pool2" + top: "ip1" + inner_product_param { + num_output: 500 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "relu1" + type: RELU + bottom: "ip1" + top: "ip1" + } + layers { + name: "ip2" + type: INNER_PRODUCT + bottom: "ip1" + top: "ip2" + inner_product_param { + num_output: 10 + weight_filler { + type: "xavier" + } + bias_filler { + type: "constant" + } + } + } + layers { + name: "prob" + type: SOFTMAX + bottom: "ip2" + top: "prob" + } + layers { + name: "accuracy" + type: ACCURACY + bottom: "prob" + bottom: "label" + top: "accuracy" + } +} From 2cd46db70d7625968cbf232d70723825d74d5040 Mon Sep 17 00:00:00 2001 From: Tobias Domhan Date: Sat, 10 May 2014 18:41:05 +0200 Subject: [PATCH 005/408] multiple test_iter --- src/caffe/proto/caffe.proto | 2 +- src/caffe/solver.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index cf3a9b76c54..12c4dc6a8fb 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -68,7 +68,7 @@ message SolverParameter { optional NetParameter train_net_param = 21; // Full params for the train net. repeated NetParameter test_net_param = 22; // Full params for the test nets. // The number of iterations for each testing phase. - optional int32 test_iter = 3 [default = 0]; + repeated int32 test_iter = 3; // The number of iterations between two testing phases. optional int32 test_interval = 4 [default = 0]; optional bool test_compute_loss = 19 [default = false]; diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index e3dc70546a0..e68f7194a90 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -53,7 +53,7 @@ void Solver::Init(const SolverParameter& param) { const int num_test_net_files = param_.test_net_size(); const int num_test_nets = num_test_net_params + num_test_net_files; if (num_test_nets) { - CHECK_GT(param_.test_iter(), 0); + CHECK_EQ(param_.test_iter().size(), num_test_nets) << "you need to specify test_iter for each test network."; CHECK_GT(param_.test_interval(), 0); } test_nets_.resize(num_test_nets); @@ -141,7 +141,7 @@ void Solver::Test(const int test_net_id) { vector test_score; vector*> bottom_vec; Dtype loss = 0; - for (int i = 0; i < param_.test_iter(); ++i) { + for (int i = 0; i < param_.test_iter().Get(test_net_id); ++i) { Dtype iter_loss; const vector*>& result = test_nets_[test_net_id]->Forward(bottom_vec, &iter_loss); @@ -166,12 +166,12 @@ void Solver::Test(const int test_net_id) { } } if (param_.test_compute_loss()) { - loss /= param_.test_iter(); + loss /= param_.test_iter().Get(test_net_id); LOG(INFO) << "Test loss: " << loss; } for (int i = 0; i < test_score.size(); ++i) { LOG(INFO) << "Test score #" << i << ": " - << test_score[i] / param_.test_iter(); + << test_score[i] / param_.test_iter().Get(test_net_id); } Caffe::set_phase(Caffe::TRAIN); } From 0ec86f22d7689a7db98f799a910a7d1b03dab890 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 10 May 2014 11:46:19 -0700 Subject: [PATCH 006/408] lint and two test_iters in lenet_consolidated_solver --- examples/mnist/lenet_consolidated_solver.prototxt | 13 +++++++++---- src/caffe/solver.cpp | 12 +++++++----- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/examples/mnist/lenet_consolidated_solver.prototxt b/examples/mnist/lenet_consolidated_solver.prototxt index 14a048a3664..76ccbfcccb9 100644 --- a/examples/mnist/lenet_consolidated_solver.prototxt +++ b/examples/mnist/lenet_consolidated_solver.prototxt @@ -6,10 +6,6 @@ # (specify NetParameters directly in the solver, specify multiple test nets) # if desired. # -# test_iter specifies how many forward passes the test should carry out. -# In the case of MNIST, we have test batch size 100 and 100 test iterations, -# covering the full 10,000 testing images. -test_iter: 100 # Carry out testing every 500 training iterations. test_interval: 500 # The base learning rate, momentum and the weight decay of the network. @@ -33,6 +29,7 @@ snapshot_prefix: "lenet" random_seed: 1701 # solver mode: CPU or GPU solver_mode: GPU + # The training protocol buffer definition train_net_param { name: "LeNet" @@ -154,6 +151,11 @@ train_net_param { bottom: "label" } } + +# test_iter specifies how many forward passes the test should carry out. +# In the case of MNIST, we have test batch size 100 and 100 test iterations, +# covering the full 10,000 testing images. +test_iter: 100 # The testing protocol buffer definition test_net_param { name: "LeNet-test" @@ -274,6 +276,9 @@ test_net_param { top: "accuracy" } } + +# The train set has 60K images, so we run 600 test iters (600 * 100 = 60K). +test_iter: 600 # The protocol buffer definition to test on the train set test_net_param { name: "LeNet-test-on-train" diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index e68f7194a90..48434f4bc32 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -53,7 +53,8 @@ void Solver::Init(const SolverParameter& param) { const int num_test_net_files = param_.test_net_size(); const int num_test_nets = num_test_net_params + num_test_net_files; if (num_test_nets) { - CHECK_EQ(param_.test_iter().size(), num_test_nets) << "you need to specify test_iter for each test network."; + CHECK_EQ(param_.test_iter_size(), num_test_nets) + << "test_iter must be specified for each test network."; CHECK_GT(param_.test_interval(), 0); } test_nets_.resize(num_test_nets); @@ -133,7 +134,8 @@ void Solver::TestAll() { template void Solver::Test(const int test_net_id) { - LOG(INFO) << "Iteration " << iter_ << ", Testing net (#" << test_net_id << ")"; + LOG(INFO) << "Iteration " << iter_ + << ", Testing net (#" << test_net_id << ")"; // We need to set phase to test before running. Caffe::set_phase(Caffe::TEST); CHECK_NOTNULL(test_nets_[test_net_id].get())-> @@ -141,7 +143,7 @@ void Solver::Test(const int test_net_id) { vector test_score; vector*> bottom_vec; Dtype loss = 0; - for (int i = 0; i < param_.test_iter().Get(test_net_id); ++i) { + for (int i = 0; i < param_.test_iter(test_net_id); ++i) { Dtype iter_loss; const vector*>& result = test_nets_[test_net_id]->Forward(bottom_vec, &iter_loss); @@ -166,12 +168,12 @@ void Solver::Test(const int test_net_id) { } } if (param_.test_compute_loss()) { - loss /= param_.test_iter().Get(test_net_id); + loss /= param_.test_iter(test_net_id); LOG(INFO) << "Test loss: " << loss; } for (int i = 0; i < test_score.size(); ++i) { LOG(INFO) << "Test score #" << i << ": " - << test_score[i] / param_.test_iter().Get(test_net_id); + << test_score[i] / param_.test_iter(test_net_id); } Caffe::set_phase(Caffe::TRAIN); } From 511665931f9b31995987a67a1503a2fff81d5750 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 10 May 2014 12:12:28 -0700 Subject: [PATCH 007/408] add script to run lenet_consolidated_solver and add comment with results for first/last 500 iterations --- .../mnist/lenet_consolidated_solver.prototxt | 55 ++++++++++++++++++- examples/mnist/train_lenet_consolidated.sh | 5 ++ 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100755 examples/mnist/train_lenet_consolidated.sh diff --git a/examples/mnist/lenet_consolidated_solver.prototxt b/examples/mnist/lenet_consolidated_solver.prototxt index 76ccbfcccb9..07cbc211414 100644 --- a/examples/mnist/lenet_consolidated_solver.prototxt +++ b/examples/mnist/lenet_consolidated_solver.prototxt @@ -2,10 +2,10 @@ # and lenet_test prototxts into a single file. It also adds an additional test # net which runs on the training set, e.g., for the purpose of comparing # train/test accuracy (accuracy is computed only on the test set in the included -# LeNet example. This is mainly included as an example of using these features +# LeNet example). This is mainly included as an example of using these features # (specify NetParameters directly in the solver, specify multiple test nets) # if desired. -# +# # Carry out testing every 500 training iterations. test_interval: 500 # The base learning rate, momentum and the weight decay of the network. @@ -399,3 +399,54 @@ test_net_param { top: "accuracy" } } + +# Expected results for first and last 500 iterations: +# (with portions of log omitted for brevity) +# +# Iteration 0, Testing net (#0) +# Test score #0: 0.067 +# Test score #1: 2.30256 +# Iteration 0, Testing net (#1) +# Test score #0: 0.0670334 +# Test score #1: 2.30258 +# Iteration 100, lr = 0.00992565 +# Iteration 100, loss = 0.280585 +# Iteration 200, lr = 0.00985258 +# Iteration 200, loss = 0.345601 +# Iteration 300, lr = 0.00978075 +# Iteration 300, loss = 0.172217 +# Iteration 400, lr = 0.00971013 +# Iteration 400, loss = 0.261836 +# Iteration 500, lr = 0.00964069 +# Iteration 500, loss = 0.157803 +# Iteration 500, Testing net (#0) +# Test score #0: 0.968 +# Test score #1: 0.0993772 +# Iteration 500, Testing net (#1) +# Test score #0: 0.965883 +# Test score #1: 0.109374 +# +# [...] +# +# Iteration 9500, Testing net (#0) +# Test score #0: 0.9899 +# Test score #1: 0.0308299 +# Iteration 9500, Testing net (#1) +# Test score #0: 0.996816 +# Test score #1: 0.0118238 +# Iteration 9600, lr = 0.00603682 +# Iteration 9600, loss = 0.0126215 +# Iteration 9700, lr = 0.00601382 +# Iteration 9700, loss = 0.00579304 +# Iteration 9800, lr = 0.00599102 +# Iteration 9800, loss = 0.00500633 +# Iteration 9900, lr = 0.00596843 +# Iteration 9900, loss = 0.00796607 +# Iteration 10000, lr = 0.00594604 +# Iteration 10000, loss = 0.00271736 +# Iteration 10000, Testing net (#0) +# Test score #0: 0.9914 +# Test score #1: 0.0276671 +# Iteration 10000, Testing net (#1) +# Test score #0: 0.997782 +# Test score #1: 0.00908085 diff --git a/examples/mnist/train_lenet_consolidated.sh b/examples/mnist/train_lenet_consolidated.sh new file mode 100755 index 00000000000..ff6897e263d --- /dev/null +++ b/examples/mnist/train_lenet_consolidated.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh + +TOOLS=../../build/tools + +GLOG_logtostderr=1 $TOOLS/train_net.bin lenet_consolidated_solver.prototxt From 41da421e613f161174cd046205583f148998dfa5 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 10 May 2014 13:57:52 -0700 Subject: [PATCH 008/408] fix proto comment for multiple test nets --- src/caffe/proto/caffe.proto | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 12c4dc6a8fb..ce2f25b8db5 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -61,8 +61,11 @@ message SolverParameter { // parameters; {train,test}_net_param specify the net parameters directly // inside the SolverParameter. // - // If {train,test}_net is specified, {train,test}_net_param should not be, - // and vice versa. + // Only either train_net or train_net_param (not both) should be specified. + // You may specify 0 or more test_net and/or test_net_param. All + // nets specified using test_net_param will be tested first, followed by all + // nets specified using test_net (each processed in the order specified in + // the prototxt). optional string train_net = 1; // The proto filename for the train net. repeated string test_net = 2; // The proto filenames for the test nets. optional NetParameter train_net_param = 21; // Full params for the train net. From ba2875ba9416a5789cc8e6d18758ce87177495a8 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 10 May 2014 14:09:31 -0700 Subject: [PATCH 009/408] require either train_net or train_net_param to be specified --- src/caffe/solver.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 48434f4bc32..6a8f18f1331 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -46,6 +46,8 @@ void Solver::Init(const SolverParameter& param) { LOG(INFO) << "Creating training net specified in SolverParameter."; net_.reset(new Net(param_.train_net_param())); } else { + CHECK(param_.has_train_net()) + << "Neither train_net nor train_net_param were specified."; LOG(INFO) << "Creating training net from file: " << param_.train_net(); net_.reset(new Net(param_.train_net())); } From 20b447fe3a5e0f80aa598b712fd94d5097ef9e89 Mon Sep 17 00:00:00 2001 From: James Thewlis Date: Mon, 19 May 2014 19:33:42 +0100 Subject: [PATCH 010/408] Don't modify index in im2col kernel loop --- src/caffe/util/im2col.cu | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/caffe/util/im2col.cu b/src/caffe/util/im2col.cu index 6aecb0e5722..8f5c6b04820 100644 --- a/src/caffe/util/im2col.cu +++ b/src/caffe/util/im2col.cu @@ -17,9 +17,9 @@ __global__ void im2col_gpu_kernel(const int n, const Dtype* data_im, Dtype* data_col) { CUDA_KERNEL_LOOP(index, n) { int w_out = index % width_col; - index /= width_col; - int h_out = index % height_col; - int channel_in = index / height_col; + int h_index = index / width_col; + int h_out = h_index % height_col; + int channel_in = h_index / height_col; int channel_out = channel_in * ksize * ksize; int h_in = h_out * stride - pad; int w_in = w_out * stride - pad; From b6da40a57cbfa82829d5f520092257935291c0b3 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 20 May 2014 14:42:37 -0700 Subject: [PATCH 011/408] fix detection notebook link --- docs/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index bc1969f6329..2a23af04033 100644 --- a/docs/index.md +++ b/docs/index.md @@ -39,7 +39,7 @@ Even in CPU mode, computing predictions on an image takes only 20 ms when images * [Feature extraction with C++](/feature_extraction.html): feature extraction using pre-trained model. [imagenet_classification]: http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/imagenet_classification.ipynb -[detection]: http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/detection_search_demo.ipynb +[detection]: http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/detection.ipynb [visualizing_filters]: http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/filter_visualization.ipynb ## Citing Caffe From 5c982ee9c8bd6bedb70994fd267ed44c03a0aa2a Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 20 May 2014 14:44:47 -0700 Subject: [PATCH 012/408] link canonical bvlc site --- docs/_layouts/default.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html index bec2d83c1ce..29c7a081046 100644 --- a/docs/_layouts/default.html +++ b/docs/_layouts/default.html @@ -34,7 +34,7 @@

Caffe

  • Download TAR
  • -->
  • View On GitHub
  • -

    Maintained by
    BVLC

    +

    Maintained by
    BVLC

    Created by
    Yangqing Jia

    From 84788c61d79964b5508fba6022ee6f6a5926ccec Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 17:38:03 -0700 Subject: [PATCH 013/408] Added ArgMax Layer Conflicts: src/caffe/proto/caffe.proto --- include/caffe/vision_layers.hpp | 19 ++++++++++ src/caffe/layer_factory.cpp | 2 ++ src/caffe/layers/argmax_layer.cpp | 59 +++++++++++++++++++++++++++++++ src/caffe/proto/caffe.proto | 7 ++++ 4 files changed, 87 insertions(+) create mode 100644 src/caffe/layers/argmax_layer.cpp diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index de99bc3033f..21e3fd0126c 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -22,6 +22,25 @@ ConcatLayer Takes at least two blobs and concatenates them along either num or channel dim, outputting the result. */ +template +class ArgMaxLayer : public Layer { + public: + explicit ArgMaxLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + // For now ArgMax layer should not be used to compute backward operations. + virtual void Backward_cpu(const vector*>& top, + const bool propagate_down, vector*>* bottom) { + NOT_IMPLEMENTED; + } + bool out_max_val_; +}; + template class ConcatLayer : public Layer { public: diff --git a/src/caffe/layer_factory.cpp b/src/caffe/layer_factory.cpp index 2991c81f559..ae15ba5bb44 100644 --- a/src/caffe/layer_factory.cpp +++ b/src/caffe/layer_factory.cpp @@ -24,6 +24,8 @@ Layer* GetLayer(const LayerParameter& param) { switch (type) { case LayerParameter_LayerType_ACCURACY: return new AccuracyLayer(param); + case LayerParameter_LayerType_ARGMAX: + return new ArgMaxLayer(param); case LayerParameter_LayerType_BNLL: return new BNLLLayer(param); case LayerParameter_LayerType_CONCAT: diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp new file mode 100644 index 00000000000..b09fd7883e2 --- /dev/null +++ b/src/caffe/layers/argmax_layer.cpp @@ -0,0 +1,59 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include + +#include "caffe/layer.hpp" +#include "caffe/vision_layers.hpp" + +using std::max; + +namespace caffe { + +template +void ArgMaxLayer::SetUp(const vector*>& bottom, + vector*>* top) { + CHECK_EQ(bottom.size(), 1) << "ArgMaxLayer Layer takes 1 input."; + CHECK_EQ(top->size(), 1) << "ArgMaxLayer Layer takes 1 output."; + out_max_val_ = this->layer_param_.argmax_param().out_max_val(); + // Produces max_ind and max_val + if (out_max_val_) { + (*top)[0]->Reshape(bottom[0]->num(), 2, 1, 1); + } // Produces only max_ind + else { + (*top)[0]->Reshape(bottom[0]->num(), 1, 1, 1); + } +} + +template +Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, + vector*>* top) { + const Dtype* bottom_data = bottom[0]->cpu_data(); + Dtype* top_data = (*top)[0]->mutable_cpu_data(); + int num = bottom[0]->num(); + int dim = bottom[0]->count() / bottom[0]->num(); + for (int i = 0; i < num; ++i) { + // Accuracy + Dtype max_val = -FLT_MAX; + int max_ind = 0; + for (int j = 0; j < dim; ++j) { + if (bottom_data[i * dim + j] > max_val) { + max_val = bottom_data[i * dim + j]; + max_ind = j; + } + } + if (out_max_val_) { + top_data[i * 2] = max_ind; + top_data[i * 2 + 1] = max_val; + } + else { + top_data[i] = max_ind; + } + } + return Dtype(0); +} + +INSTANTIATE_CLASS(ArgMaxLayer); + + +} // namespace caffe diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index ce2f25b8db5..8d8b2144e96 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -160,6 +160,7 @@ message LayerParameter { SPLIT = 22; TANH = 23; WINDOW_DATA = 24; + ARGMAX = 30; } optional LayerType type = 5; // the layer type from the enum above @@ -186,6 +187,7 @@ message LayerParameter { optional PoolingParameter pooling_param = 19; optional PowerParameter power_param = 21; optional WindowDataParameter window_data_param = 20; + optional ArgMaxLayer argmax_param = 23; // DEPRECATED: The layer parameters specified as a V0LayerParameter. // This should never be used by any code except to upgrade to the new @@ -193,6 +195,11 @@ message LayerParameter { optional V0LayerParameter layer = 1; } +// Message that stores parameters used by ArgMaxLayer +message ArgMaxLayer { + // If true produce pairs (argmax, maxval) + optional bool out_max_val = 1 [default = false]; + // Message that stores parameters used by ConcatLayer message ConcatParameter { // Concat Layer needs to specify the dimension along the concat will happen, From cdebe7a617c83501ebeffc42239f8d89c0d71d7e Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 15 May 2014 09:49:36 -0700 Subject: [PATCH 014/408] Added Test for ArgMax Layer --- src/caffe/test/test_argmax_layer.cpp | 113 +++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100644 src/caffe/test/test_argmax_layer.cpp diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp new file mode 100644 index 00000000000..c99dc23021f --- /dev/null +++ b/src/caffe/test/test_argmax_layer.cpp @@ -0,0 +1,113 @@ +// Copyright 2014 BVLC and contributors. + +#include + +#include "cuda_runtime.h" +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/filler.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/test/test_gradient_check_util.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +namespace caffe { + +extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; + +template +class ArgMaxLayerTest : public ::testing::Test { + protected: + ArgMaxLayerTest() + : blob_bottom_(new Blob(20, 10, 1, 1)), + blob_top_(new Blob()) { + Caffe::set_random_seed(1701); + // fill the values + FillerParameter filler_param; + GaussianFiller filler(filler_param); + filler.Fill(this->blob_bottom_); + blob_bottom_vec_.push_back(blob_bottom_); + blob_top_vec_.push_back(blob_top_); + } + virtual ~ArgMaxLayerTest() { delete blob_bottom_; delete blob_top_; } + Blob* const blob_bottom_; + Blob* const blob_top_; + vector*> blob_bottom_vec_; + vector*> blob_top_vec_; +}; + +typedef ::testing::Types Dtypes; +TYPED_TEST_CASE(ArgMaxLayerTest, Dtypes); + + +TYPED_TEST(ArgMaxLayerTest, TestSetup) { + LayerParameter layer_param; + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + EXPECT_EQ(this->blob_top_->num(), this->bottom_top_->num()); + EXPECT_EQ(this->blob_top_->channels(), 1); +} + +TYPED_TEST(ArgMaxLayerTest, TestSetupMaxVal) { + LayerParameter layer_param; + ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); + argmax_param->set_out_max_val(true) + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + EXPECT_EQ(this->blob_top_->num(), this->bottom_top_->num()); + EXPECT_EQ(this->blob_top_->channels(), 2); +} + +TYPED_TEST(ArgMaxLayerTest, TestCPU) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + ArgMaxLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + int max_ind; + TypeParam max_val; + int num = this->blob_bottom_->num(); + int dim = this->blob_bottom_->count() / num; + for (int i = 0; i < num; ++i) { + EXPECT_GE(top_data[i], 0); + EXPECT_LE(top_data[i], dim); + max_ind = top_data[i]; + max_val = bottom_data[i * dim + max_ind]; + for (int j = 0; j < dim; ++j) { + EXPECT_LE(bottom_data[i * dim + j], max_val); + } + } +} + +TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); + argmax_param->set_out_max_val(true) + ArgMaxLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + int max_ind; + TypeParam max_val; + int num = this->blob_bottom_->num(); + int dim = this->blob_bottom_->count() / num; + for (int i = 0; i < num; ++i) { + EXPECT_GE(top_data[i], 0); + EXPECT_LE(top_data[i], dim); + max_ind = top_data[i * 2]; + max_val = top_data[i * 2 + 1]; + EXPECT_EQ(bottom_data[i * dim + max_ind],max_val); + for (int j = 0; j < dim; ++j) { + EXPECT_LE(bottom_data[i * dim + j], max_val); + } + } +} + +} // namespace caffe From 69dbbc2c045dcec996157875ea644c200b9d98c4 Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 17:39:52 -0700 Subject: [PATCH 015/408] Fixed numbers in proto and name of ArgMaxParameter Conflicts: src/caffe/proto/caffe.proto --- src/caffe/proto/caffe.proto | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 8d8b2144e96..b5bc26bb744 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -187,7 +187,8 @@ message LayerParameter { optional PoolingParameter pooling_param = 19; optional PowerParameter power_param = 21; optional WindowDataParameter window_data_param = 20; - optional ArgMaxLayer argmax_param = 23; + optional ArgMaxParameter argmax_param = 23; + // DEPRECATED: The layer parameters specified as a V0LayerParameter. // This should never be used by any code except to upgrade to the new @@ -196,9 +197,10 @@ message LayerParameter { } // Message that stores parameters used by ArgMaxLayer -message ArgMaxLayer { +message ArgMaxParameter { // If true produce pairs (argmax, maxval) optional bool out_max_val = 1 [default = false]; +} // Message that stores parameters used by ConcatLayer message ConcatParameter { From bdcd75e48746be0aab0d4c8b606eeb2aac6c9ae8 Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 17:42:38 -0700 Subject: [PATCH 016/408] Fix types of ArgMax Layers params Conflicts: include/caffe/vision_layers.hpp src/caffe/proto/caffe.proto --- src/caffe/proto/caffe.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index b5bc26bb744..d73357cb944 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -189,7 +189,6 @@ message LayerParameter { optional WindowDataParameter window_data_param = 20; optional ArgMaxParameter argmax_param = 23; - // DEPRECATED: The layer parameters specified as a V0LayerParameter. // This should never be used by any code except to upgrade to the new // LayerParameter specification. @@ -197,6 +196,7 @@ message LayerParameter { } // Message that stores parameters used by ArgMaxLayer + message ArgMaxParameter { // If true produce pairs (argmax, maxval) optional bool out_max_val = 1 [default = false]; From d19c18060134b7b409291cf7c9ffe815b1a9b0df Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 16:09:07 -0700 Subject: [PATCH 017/408] Added FLT_MAX to argmax layer --- src/caffe/layers/argmax_layer.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index b09fd7883e2..33ec1d34089 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -1,12 +1,11 @@ // Copyright 2014 BVLC and contributors. -#include #include +#include #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" -using std::max; namespace caffe { From aa57dfb84c763d20d46f449290b3d00a7870dc9d Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 16:43:01 -0700 Subject: [PATCH 018/408] Added missing ; --- src/caffe/test/test_argmax_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index c99dc23021f..bc3a8ecd1e0 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -52,7 +52,7 @@ TYPED_TEST(ArgMaxLayerTest, TestSetup) { TYPED_TEST(ArgMaxLayerTest, TestSetupMaxVal) { LayerParameter layer_param; ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); - argmax_param->set_out_max_val(true) + argmax_param->set_out_max_val(true); ThresholdLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->bottom_top_->num()); @@ -87,7 +87,7 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); - argmax_param->set_out_max_val(true) + argmax_param->set_out_max_val(true); ArgMaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); From d6748cb994e6e2fa082569cc10299f77e29aa60c Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 16:54:21 -0700 Subject: [PATCH 019/408] Fixed name of ArgMaxLayerParameter --- src/caffe/test/test_argmax_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index bc3a8ecd1e0..b30e7edbf66 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -51,7 +51,7 @@ TYPED_TEST(ArgMaxLayerTest, TestSetup) { TYPED_TEST(ArgMaxLayerTest, TestSetupMaxVal) { LayerParameter layer_param; - ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); + ArgMaxLayerParameter* argmax_param = layer_param.mutable_argmax_param(); argmax_param->set_out_max_val(true); ThresholdLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -86,7 +86,7 @@ TYPED_TEST(ArgMaxLayerTest, TestCPU) { TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); - ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); + ArgMaxLayerParameter* argmax_param = layer_param.mutable_argmax_param(); argmax_param->set_out_max_val(true); ArgMaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); From 91ab1f684c8ea03cb1bd0ffe223937dc9e5381cd Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 16:55:45 -0700 Subject: [PATCH 020/408] Fixed name of blob_bottom_ --- src/caffe/test/test_argmax_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index b30e7edbf66..0174e8988e1 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -45,7 +45,7 @@ TYPED_TEST(ArgMaxLayerTest, TestSetup) { LayerParameter layer_param; ThresholdLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - EXPECT_EQ(this->blob_top_->num(), this->bottom_top_->num()); + EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); EXPECT_EQ(this->blob_top_->channels(), 1); } @@ -55,7 +55,7 @@ TYPED_TEST(ArgMaxLayerTest, TestSetupMaxVal) { argmax_param->set_out_max_val(true); ThresholdLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - EXPECT_EQ(this->blob_top_->num(), this->bottom_top_->num()); + EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); EXPECT_EQ(this->blob_top_->channels(), 2); } From 766dd362db857171de45299fa75ecb8799f98289 Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 18:01:04 -0700 Subject: [PATCH 021/408] Change ThresholdLayer to ArgMaxLayer in test_argmax --- src/caffe/test/test_argmax_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index 0174e8988e1..f0754f0c1d2 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -43,7 +43,7 @@ TYPED_TEST_CASE(ArgMaxLayerTest, Dtypes); TYPED_TEST(ArgMaxLayerTest, TestSetup) { LayerParameter layer_param; - ThresholdLayer layer(layer_param); + ArgMaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); EXPECT_EQ(this->blob_top_->channels(), 1); @@ -53,7 +53,7 @@ TYPED_TEST(ArgMaxLayerTest, TestSetupMaxVal) { LayerParameter layer_param; ArgMaxLayerParameter* argmax_param = layer_param.mutable_argmax_param(); argmax_param->set_out_max_val(true); - ThresholdLayer layer(layer_param); + ArgMaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); EXPECT_EQ(this->blob_top_->channels(), 2); From f6c2d933c7c281379fd5bab5131a65856a54dec0 Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 18:02:08 -0700 Subject: [PATCH 022/408] Change ArgMaxLayerParam to ArgMaxParam for consitency --- src/caffe/test/test_argmax_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index f0754f0c1d2..627dd575904 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -51,7 +51,7 @@ TYPED_TEST(ArgMaxLayerTest, TestSetup) { TYPED_TEST(ArgMaxLayerTest, TestSetupMaxVal) { LayerParameter layer_param; - ArgMaxLayerParameter* argmax_param = layer_param.mutable_argmax_param(); + ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); argmax_param->set_out_max_val(true); ArgMaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -86,7 +86,7 @@ TYPED_TEST(ArgMaxLayerTest, TestCPU) { TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); - ArgMaxLayerParameter* argmax_param = layer_param.mutable_argmax_param(); + ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); argmax_param->set_out_max_val(true); ArgMaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); From a3fbe2d6669756c727a17bb082d3319d00b451f5 Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Tue, 20 May 2014 21:24:03 -0700 Subject: [PATCH 023/408] corrected the caffe.proto ids --- src/caffe/proto/caffe.proto | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index d73357cb944..2d9a1aa8519 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -112,26 +112,29 @@ message SolverState { repeated BlobProto history = 3; // The history for sgd solvers } +// NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available ID: 23 (last added: memory_data_param) +// LayerParameter next available ID: 24 (last added: argmax_param) message LayerParameter { repeated string bottom = 2; // the name of the bottom blobs repeated string top = 3; // the name of the top blobs optional string name = 4; // the layer name + // NOTE // Add new LayerTypes to the enum below in lexicographical order (other than // starting with NONE), starting with the next available ID in the comment // line above the enum. Update the next available ID when you add a new // LayerType. // - // LayerType next available ID: 30 (last added: MEMORY_DATA) + // LayerType next available ID: 31 (last added: ARGMAX) enum LayerType { // "NONE" layer type is 0th enum element so that we don't cause confusion // by defaulting to an existent LayerType (instead, should usually error if // the type is unspecified). NONE = 0; ACCURACY = 1; + ARGMAX = 30; BNLL = 2; CONCAT = 3; CONVOLUTION = 4; @@ -160,7 +163,6 @@ message LayerParameter { SPLIT = 22; TANH = 23; WINDOW_DATA = 24; - ARGMAX = 30; } optional LayerType type = 5; // the layer type from the enum above @@ -173,6 +175,7 @@ message LayerParameter { repeated float weight_decay = 8; // Parameters for particular layer types. + optional ArgMaxParameter argmax_param = 23; optional ConcatParameter concat_param = 9; optional ConvolutionParameter convolution_param = 10; optional DataParameter data_param = 11; @@ -187,7 +190,6 @@ message LayerParameter { optional PoolingParameter pooling_param = 19; optional PowerParameter power_param = 21; optional WindowDataParameter window_data_param = 20; - optional ArgMaxParameter argmax_param = 23; // DEPRECATED: The layer parameters specified as a V0LayerParameter. // This should never be used by any code except to upgrade to the new @@ -196,10 +198,9 @@ message LayerParameter { } // Message that stores parameters used by ArgMaxLayer - message ArgMaxParameter { - // If true produce pairs (argmax, maxval) - optional bool out_max_val = 1 [default = false]; + // If true produce pairs (argmax, maxval) + optional bool out_max_val = 1 [default = false]; } // Message that stores parameters used by ConcatLayer From a31dc6537e79f51ff6ad6f9d863af0d8ece8ee7a Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Tue, 20 May 2014 21:32:07 -0700 Subject: [PATCH 024/408] Documented ArgMax layer in vision_layers.hpp --- include/caffe/vision_layers.hpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 21e3fd0126c..29daf09f656 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -17,10 +17,14 @@ namespace caffe { -/* -ConcatLayer - Takes at least two blobs and concatenates them along either num or - channel dim, outputting the result. +/* ArgmaxLayer + Compute the index of the max value across all (channels x height x width). + [In the future, can take specific dimension.] + Intended for use after a classification layer to produce prediction. + If parameter out_max_val is set to true, then output is a vector of pairs + (max_ind, max_val) for each image. + + NOTE: does not implement Backwards operation. */ template class ArgMaxLayer : public Layer { @@ -33,7 +37,6 @@ class ArgMaxLayer : public Layer { protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); - // For now ArgMax layer should not be used to compute backward operations. virtual void Backward_cpu(const vector*>& top, const bool propagate_down, vector*>* bottom) { NOT_IMPLEMENTED; @@ -41,6 +44,10 @@ class ArgMaxLayer : public Layer { bool out_max_val_; }; +/* ConcatLayer + Takes at least two blobs and concatenates them along either num or + channel dim, outputting the result. +*/ template class ConcatLayer : public Layer { public: @@ -126,6 +133,8 @@ class EltwiseProductLayer : public Layer { const bool propagate_down, vector*>* bottom); }; +/* FlattenLayer +*/ template class FlattenLayer : public Layer { public: @@ -308,6 +317,8 @@ class MemoryDataLayer : public Layer { int pos_; }; +/* PoolingLayer +*/ template class PoolingLayer : public Layer { public: From 0033f9c607f7f5079f38e569b7949e3073d2fc01 Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Tue, 20 May 2014 21:32:19 -0700 Subject: [PATCH 025/408] Fixed lint errors due to ArgmaxLayer --- src/caffe/layers/argmax_layer.cpp | 11 +++++------ src/caffe/test/test_argmax_layer.cpp | 2 +- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index 33ec1d34089..e04588d4baa 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -15,11 +15,11 @@ void ArgMaxLayer::SetUp(const vector*>& bottom, CHECK_EQ(bottom.size(), 1) << "ArgMaxLayer Layer takes 1 input."; CHECK_EQ(top->size(), 1) << "ArgMaxLayer Layer takes 1 output."; out_max_val_ = this->layer_param_.argmax_param().out_max_val(); - // Produces max_ind and max_val - if (out_max_val_) { + if (out_max_val_) { + // Produces max_ind and max_val (*top)[0]->Reshape(bottom[0]->num(), 2, 1, 1); - } // Produces only max_ind - else { + } else { + // Produces only max_ind (*top)[0]->Reshape(bottom[0]->num(), 1, 1, 1); } } @@ -44,8 +44,7 @@ Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, if (out_max_val_) { top_data[i * 2] = max_ind; top_data[i * 2 + 1] = max_val; - } - else { + } else { top_data[i] = max_ind; } } diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index 627dd575904..c4150e5abe0 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -103,7 +103,7 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { EXPECT_LE(top_data[i], dim); max_ind = top_data[i * 2]; max_val = top_data[i * 2 + 1]; - EXPECT_EQ(bottom_data[i * dim + max_ind],max_val); + EXPECT_EQ(bottom_data[i * dim + max_ind], max_val); for (int j = 0; j < dim; ++j) { EXPECT_LE(bottom_data[i * dim + j], max_val); } From 4d52ca7df5283bea4ee0abf95039538387d007c0 Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Tue, 20 May 2014 21:48:23 -0700 Subject: [PATCH 026/408] setting canonical random seed --- src/caffe/test/test_argmax_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index c4150e5abe0..ab2d75b322c 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -22,7 +22,7 @@ class ArgMaxLayerTest : public ::testing::Test { ArgMaxLayerTest() : blob_bottom_(new Blob(20, 10, 1, 1)), blob_top_(new Blob()) { - Caffe::set_random_seed(1701); + Caffe::set_random_seed(this->seed_); // fill the values FillerParameter filler_param; GaussianFiller filler(filler_param); From a13e7ee43a4efaac058aaecd40d93d5e2b018a90 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 20 May 2014 22:33:29 -0700 Subject: [PATCH 027/408] Revert "setting canonical random seed" 1701 is the canonical random seed, and as this test makes only one call for seeding there's no need for a member var. --- src/caffe/test/test_argmax_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index ab2d75b322c..c4150e5abe0 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -22,7 +22,7 @@ class ArgMaxLayerTest : public ::testing::Test { ArgMaxLayerTest() : blob_bottom_(new Blob(20, 10, 1, 1)), blob_top_(new Blob()) { - Caffe::set_random_seed(this->seed_); + Caffe::set_random_seed(1701); // fill the values FillerParameter filler_param; GaussianFiller filler(filler_param); From ffedfa6bd92ed982cfbfbb7335c79c3eee4bcd3f Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 21 May 2014 18:38:19 -0700 Subject: [PATCH 028/408] EltwiseProductLayer -> EltwiseLayer for generality Reproduce elementwise product layer in more generality. Add elementwise operation parameter. Prepare for elementwise sum operation choice. --- include/caffe/vision_layers.hpp | 10 +++-- src/caffe/layer_factory.cpp | 4 +- ...se_product_layer.cpp => eltwise_layer.cpp} | 31 +++++++++---- ...wise_product_layer.cu => eltwise_layer.cu} | 28 ++++++++---- src/caffe/layers/lrn_layer.cpp | 4 +- src/caffe/proto/caffe.proto | 13 +++++- ...oduct_layer.cpp => test_eltwise_layer.cpp} | 44 ++++++++++++------- 7 files changed, 91 insertions(+), 43 deletions(-) rename src/caffe/layers/{eltwise_product_layer.cpp => eltwise_layer.cpp} (63%) rename src/caffe/layers/{eltwise_product_layer.cu => eltwise_layer.cu} (52%) rename src/caffe/test/{test_eltwise_product_layer.cpp => test_eltwise_layer.cpp} (69%) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 29daf09f656..1b5da11eea1 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -112,12 +112,12 @@ class ConvolutionLayer : public Layer { int N_; }; -/* EltwiseProductLayer +/* EltwiseLayer */ template -class EltwiseProductLayer : public Layer { +class EltwiseLayer : public Layer { public: - explicit EltwiseProductLayer(const LayerParameter& param) + explicit EltwiseLayer(const LayerParameter& param) : Layer(param) {} virtual void SetUp(const vector*>& bottom, vector*>* top); @@ -131,6 +131,8 @@ class EltwiseProductLayer : public Layer { const bool propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, const bool propagate_down, vector*>* bottom); + + EltwiseParameter_EltwiseOp op_; }; /* FlattenLayer @@ -276,7 +278,7 @@ class LRNLayer : public Layer { shared_ptr > power_layer_; Blob power_output_; vector*> power_top_vec_; - shared_ptr > product_layer_; + shared_ptr > product_layer_; Blob product_data_input_; vector*> product_bottom_vec_; }; diff --git a/src/caffe/layer_factory.cpp b/src/caffe/layer_factory.cpp index ae15ba5bb44..58c20b1f430 100644 --- a/src/caffe/layer_factory.cpp +++ b/src/caffe/layer_factory.cpp @@ -38,8 +38,8 @@ Layer* GetLayer(const LayerParameter& param) { return new DropoutLayer(param); case LayerParameter_LayerType_EUCLIDEAN_LOSS: return new EuclideanLossLayer(param); - case LayerParameter_LayerType_ELTWISE_PRODUCT: - return new EltwiseProductLayer(param); + case LayerParameter_LayerType_ELTWISE: + return new EltwiseLayer(param); case LayerParameter_LayerType_FLATTEN: return new FlattenLayer(param); case LayerParameter_LayerType_HDF5_DATA: diff --git a/src/caffe/layers/eltwise_product_layer.cpp b/src/caffe/layers/eltwise_layer.cpp similarity index 63% rename from src/caffe/layers/eltwise_product_layer.cpp rename to src/caffe/layers/eltwise_layer.cpp index b394450d6ae..dd466182877 100644 --- a/src/caffe/layers/eltwise_product_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -9,7 +9,7 @@ namespace caffe { template -void EltwiseProductLayer::SetUp(const vector*>& bottom, +void EltwiseLayer::SetUp(const vector*>& bottom, vector*>* top) { CHECK_GE(bottom.size(), 2) << "Eltwise Product Layer takes at least 2 blobs as input."; @@ -26,22 +26,29 @@ void EltwiseProductLayer::SetUp(const vector*>& bottom, CHECK_EQ(width, bottom[i]->width()); } (*top)[0]->Reshape(num, channels, height, width); + op_ = this->layer_param_.eltwise_param().operation(); } template -Dtype EltwiseProductLayer::Forward_cpu( +Dtype EltwiseLayer::Forward_cpu( const vector*>& bottom, vector*>* top) { const int count = (*top)[0]->count(); Dtype* top_data = (*top)[0]->mutable_cpu_data(); - caffe_mul(count, bottom[0]->cpu_data(), bottom[1]->cpu_data(), top_data); - for (int i = 2; i < bottom.size(); ++i) { - caffe_mul(count, top_data, bottom[i]->cpu_data(), top_data); + switch (op_) { + case EltwiseParameter_EltwiseOp_PROD: + caffe_mul(count, bottom[0]->cpu_data(), bottom[1]->cpu_data(), top_data); + for (int i = 2; i < bottom.size(); ++i) { + caffe_mul(count, top_data, bottom[i]->cpu_data(), top_data); + } + break; + default: + LOG(FATAL) << "Unknown elementwise operation."; } return Dtype(0.); } template -void EltwiseProductLayer::Backward_cpu(const vector*>& top, +void EltwiseLayer::Backward_cpu(const vector*>& top, const bool propagate_down, vector*>* bottom) { if (propagate_down) { const int count = top[0]->count(); @@ -50,13 +57,19 @@ void EltwiseProductLayer::Backward_cpu(const vector*>& top, for (int i = 0; i < bottom->size(); ++i) { const Dtype* bottom_data = (*bottom)[i]->cpu_data(); Dtype* bottom_diff = (*bottom)[i]->mutable_cpu_diff(); - caffe_div(count, top_data, bottom_data, bottom_diff); - caffe_mul(count, bottom_diff, top_diff, bottom_diff); + switch (op_) { + case EltwiseParameter_EltwiseOp_PROD: + caffe_div(count, top_data, bottom_data, bottom_diff); + caffe_mul(count, bottom_diff, top_diff, bottom_diff); + break; + default: + LOG(FATAL) << "Unknown elementwise operation."; + } } } } -INSTANTIATE_CLASS(EltwiseProductLayer); +INSTANTIATE_CLASS(EltwiseLayer); } // namespace caffe diff --git a/src/caffe/layers/eltwise_product_layer.cu b/src/caffe/layers/eltwise_layer.cu similarity index 52% rename from src/caffe/layers/eltwise_product_layer.cu rename to src/caffe/layers/eltwise_layer.cu index 9c66033c20f..9072f884b30 100644 --- a/src/caffe/layers/eltwise_product_layer.cu +++ b/src/caffe/layers/eltwise_layer.cu @@ -9,19 +9,25 @@ namespace caffe { template -Dtype EltwiseProductLayer::Forward_gpu( +Dtype EltwiseLayer::Forward_gpu( const vector*>& bottom, vector*>* top) { const int count = (*top)[0]->count(); Dtype* top_data = (*top)[0]->mutable_gpu_data(); - caffe_gpu_mul(count, bottom[0]->gpu_data(), bottom[1]->gpu_data(), top_data); - for (int i = 2; i < bottom.size(); ++i) { - caffe_gpu_mul(count, top_data, bottom[i]->gpu_data(), top_data); + switch (op_) { + case EltwiseParameter_EltwiseOp_PROD: + caffe_gpu_mul(count, bottom[0]->gpu_data(), bottom[1]->gpu_data(), top_data); + for (int i = 2; i < bottom.size(); ++i) { + caffe_gpu_mul(count, top_data, bottom[i]->gpu_data(), top_data); + } + break; + default: + LOG(FATAL) << "Unknown elementwise operation."; } return Dtype(0.); } template -void EltwiseProductLayer::Backward_gpu(const vector*>& top, +void EltwiseLayer::Backward_gpu(const vector*>& top, const bool propagate_down, vector*>* bottom) { if (propagate_down) { const int count = top[0]->count(); @@ -30,13 +36,19 @@ void EltwiseProductLayer::Backward_gpu(const vector*>& top, for (int i = 0; i < bottom->size(); ++i) { const Dtype* bottom_data = (*bottom)[i]->gpu_data(); Dtype* bottom_diff = (*bottom)[i]->mutable_gpu_diff(); - caffe_gpu_div(count, top_data, bottom_data, bottom_diff); - caffe_gpu_mul(count, bottom_diff, top_diff, bottom_diff); + switch (op_) { + case EltwiseParameter_EltwiseOp_PROD: + caffe_gpu_div(count, top_data, bottom_data, bottom_diff); + caffe_gpu_mul(count, bottom_diff, top_diff, bottom_diff); + break; + default: + LOG(FATAL) << "Unknown elementwise operation."; + } } } } -INSTANTIATE_CLASS(EltwiseProductLayer); +INSTANTIATE_CLASS(EltwiseLayer); } // namespace caffe diff --git a/src/caffe/layers/lrn_layer.cpp b/src/caffe/layers/lrn_layer.cpp index cfcc59c9feb..6f7af75957a 100644 --- a/src/caffe/layers/lrn_layer.cpp +++ b/src/caffe/layers/lrn_layer.cpp @@ -85,7 +85,9 @@ void LRNLayer::SetUp(const vector*>& bottom, product_bottom_vec_.push_back(bottom[0]); product_bottom_vec_.push_back(&power_output_); LayerParameter product_param; - product_layer_.reset(new EltwiseProductLayer(product_param)); + EltwiseParameter* eltwise_param = product_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); + product_layer_.reset(new EltwiseLayer(product_param)); product_layer_->SetUp(product_bottom_vec_, top); CHECK_EQ((*top)[0]->num(), num_); CHECK_EQ((*top)[0]->channels(), channels_); diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 2d9a1aa8519..a0a855e7e14 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -115,7 +115,7 @@ message SolverState { // NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available ID: 24 (last added: argmax_param) +// LayerParameter next available ID: 25 (last added: eltwise_param) message LayerParameter { repeated string bottom = 2; // the name of the bottom blobs repeated string top = 3; // the name of the top blobs @@ -141,7 +141,7 @@ message LayerParameter { DATA = 5; DROPOUT = 6; EUCLIDEAN_LOSS = 7; - ELTWISE_PRODUCT = 25; + ELTWISE = 25; FLATTEN = 8; HDF5_DATA = 9; HDF5_OUTPUT = 10; @@ -180,6 +180,7 @@ message LayerParameter { optional ConvolutionParameter convolution_param = 10; optional DataParameter data_param = 11; optional DropoutParameter dropout_param = 12; + optional EltwiseParameter eltwise_param = 24; optional HDF5DataParameter hdf5_data_param = 13; optional HDF5OutputParameter hdf5_output_param = 14; optional ImageDataParameter image_data_param = 15; @@ -250,6 +251,14 @@ message DropoutParameter { optional float dropout_ratio = 1 [default = 0.5]; // dropout ratio } +// Message that stores parameters used by EltwiseLayer +message EltwiseParameter { + enum EltwiseOp { + PROD = 0; + } + optional EltwiseOp operation = 1; // element-wise operation to compute +} + // Message that stores parameters used by HDF5DataLayer message HDF5DataParameter { // Specify the data source. diff --git a/src/caffe/test/test_eltwise_product_layer.cpp b/src/caffe/test/test_eltwise_layer.cpp similarity index 69% rename from src/caffe/test/test_eltwise_product_layer.cpp rename to src/caffe/test/test_eltwise_layer.cpp index 86d6fdc5334..86e47516ca7 100644 --- a/src/caffe/test/test_eltwise_product_layer.cpp +++ b/src/caffe/test/test_eltwise_layer.cpp @@ -17,9 +17,9 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; template -class EltwiseProductLayerTest : public ::testing::Test { +class EltwiseLayerTest : public ::testing::Test { protected: - EltwiseProductLayerTest() + EltwiseLayerTest() : blob_bottom_a_(new Blob(2, 3, 4, 5)), blob_bottom_b_(new Blob(2, 3, 4, 5)), blob_bottom_c_(new Blob(2, 3, 4, 5)), @@ -35,7 +35,7 @@ class EltwiseProductLayerTest : public ::testing::Test { blob_bottom_vec_.push_back(blob_bottom_c_); blob_top_vec_.push_back(blob_top_); } - virtual ~EltwiseProductLayerTest() { + virtual ~EltwiseLayerTest() { delete blob_bottom_a_; delete blob_bottom_b_; delete blob_bottom_c_; @@ -50,12 +50,14 @@ class EltwiseProductLayerTest : public ::testing::Test { }; typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(EltwiseProductLayerTest, Dtypes); +TYPED_TEST_CASE(EltwiseLayerTest, Dtypes); -TYPED_TEST(EltwiseProductLayerTest, TestSetUp) { +TYPED_TEST(EltwiseLayerTest, TestSetUp) { LayerParameter layer_param; - shared_ptr > layer( - new EltwiseProductLayer(layer_param)); + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); + shared_ptr > layer( + new EltwiseLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->channels(), 3); @@ -63,11 +65,13 @@ TYPED_TEST(EltwiseProductLayerTest, TestSetUp) { EXPECT_EQ(this->blob_top_->width(), 5); } -TYPED_TEST(EltwiseProductLayerTest, TestCPU) { +TYPED_TEST(EltwiseLayerTest, TestCPU) { Caffe::set_mode(Caffe::CPU); LayerParameter layer_param; - shared_ptr > layer( - new EltwiseProductLayer(layer_param)); + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); + shared_ptr > layer( + new EltwiseLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); const TypeParam* data = this->blob_top_->cpu_data(); @@ -80,11 +84,13 @@ TYPED_TEST(EltwiseProductLayerTest, TestCPU) { } } -TYPED_TEST(EltwiseProductLayerTest, TestGPU) { +TYPED_TEST(EltwiseLayerTest, TestGPU) { Caffe::set_mode(Caffe::GPU); LayerParameter layer_param; - shared_ptr > layer( - new EltwiseProductLayer(layer_param)); + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); + shared_ptr > layer( + new EltwiseLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); const TypeParam* data = this->blob_top_->cpu_data(); @@ -97,19 +103,23 @@ TYPED_TEST(EltwiseProductLayerTest, TestGPU) { } } -TYPED_TEST(EltwiseProductLayerTest, TestCPUGradient) { +TYPED_TEST(EltwiseLayerTest, TestCPUGradient) { Caffe::set_mode(Caffe::CPU); LayerParameter layer_param; - EltwiseProductLayer layer(layer_param); + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); + EltwiseLayer layer(layer_param); GradientChecker checker(1e-2, 1e-3); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } -TYPED_TEST(EltwiseProductLayerTest, TestGPUGradient) { +TYPED_TEST(EltwiseLayerTest, TestGPUGradient) { Caffe::set_mode(Caffe::GPU); LayerParameter layer_param; - EltwiseProductLayer layer(layer_param); + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); + EltwiseLayer layer(layer_param); GradientChecker checker(1e-2, 1e-2); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); From b23b2ee70cea10f5b0386cb3ea6be55b5effc95c Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 21 May 2014 18:57:33 -0700 Subject: [PATCH 029/408] add caffe_gpu_add() and caffe_gpu_sub() --- include/caffe/util/math_functions.hpp | 6 ++++ src/caffe/util/math_functions.cu | 48 +++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/include/caffe/util/math_functions.hpp b/include/caffe/util/math_functions.hpp index d9c78355b6f..25ed4705961 100644 --- a/include/caffe/util/math_functions.hpp +++ b/include/caffe/util/math_functions.hpp @@ -86,9 +86,15 @@ void caffe_sqr(const int N, const Dtype* a, Dtype* y); template void caffe_add(const int N, const Dtype* a, const Dtype* b, Dtype* y); +template +void caffe_gpu_add(const int N, const Dtype* a, const Dtype* b, Dtype* y); + template void caffe_sub(const int N, const Dtype* a, const Dtype* b, Dtype* y); +template +void caffe_gpu_sub(const int N, const Dtype* a, const Dtype* b, Dtype* y); + template void caffe_mul(const int N, const Dtype* a, const Dtype* b, Dtype* y); diff --git a/src/caffe/util/math_functions.cu b/src/caffe/util/math_functions.cu index 184613c0a84..63c8fac69c5 100644 --- a/src/caffe/util/math_functions.cu +++ b/src/caffe/util/math_functions.cu @@ -63,6 +63,54 @@ void caffe_gpu_add_scalar(const int N, const double alpha, double* Y) { N, alpha, Y); } +template +__global__ void add_kernel(const int n, const Dtype* a, + const Dtype* b, Dtype* y) { + CUDA_KERNEL_LOOP(index, n) { + y[index] = a[index] + b[index]; + } +} + +template <> +void caffe_gpu_add(const int N, const float* a, const float* b, + float* y) { + // NOLINT_NEXT_LINE(whitespace/operators) + add_kernel<<>>( + N, a, b, y); +} + +template <> +void caffe_gpu_add(const int N, const double* a, const double* b, + double* y) { + // NOLINT_NEXT_LINE(whitespace/operators) + add_kernel<<>>( + N, a, b, y); +} + +template +__global__ void sub_kernel(const int n, const Dtype* a, + const Dtype* b, Dtype* y) { + CUDA_KERNEL_LOOP(index, n) { + y[index] = a[index] - b[index]; + } +} + +template <> +void caffe_gpu_sub(const int N, const float* a, const float* b, + float* y) { + // NOLINT_NEXT_LINE(whitespace/operators) + sub_kernel<<>>( + N, a, b, y); +} + +template <> +void caffe_gpu_sub(const int N, const double* a, const double* b, + double* y) { + // NOLINT_NEXT_LINE(whitespace/operators) + sub_kernel<<>>( + N, a, b, y); +} + template __global__ void mul_kernel(const int n, const Dtype* a, const Dtype* b, Dtype* y) { From 9c539dcf1d31f5d2e4a06698377b5a8618591b97 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 21 May 2014 19:31:47 -0700 Subject: [PATCH 030/408] Elementwise layer learns summation --- src/caffe/layers/eltwise_layer.cpp | 9 ++++ src/caffe/layers/eltwise_layer.cu | 9 ++++ src/caffe/proto/caffe.proto | 1 + src/caffe/test/test_eltwise_layer.cpp | 59 ++++++++++++++++++++++++--- 4 files changed, 73 insertions(+), 5 deletions(-) diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index dd466182877..769d0157d44 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -41,6 +41,12 @@ Dtype EltwiseLayer::Forward_cpu( caffe_mul(count, top_data, bottom[i]->cpu_data(), top_data); } break; + case EltwiseParameter_EltwiseOp_SUM: + caffe_add(count, bottom[0]->cpu_data(), bottom[1]->cpu_data(), top_data); + for (int i = 2; i < bottom.size(); ++i) { + caffe_add(count, top_data, bottom[i]->cpu_data(), top_data); + } + break; default: LOG(FATAL) << "Unknown elementwise operation."; } @@ -62,6 +68,9 @@ void EltwiseLayer::Backward_cpu(const vector*>& top, caffe_div(count, top_data, bottom_data, bottom_diff); caffe_mul(count, bottom_diff, top_diff, bottom_diff); break; + case EltwiseParameter_EltwiseOp_SUM: + caffe_copy(count, top_diff, bottom_diff); + break; default: LOG(FATAL) << "Unknown elementwise operation."; } diff --git a/src/caffe/layers/eltwise_layer.cu b/src/caffe/layers/eltwise_layer.cu index 9072f884b30..8bdb6a3ca37 100644 --- a/src/caffe/layers/eltwise_layer.cu +++ b/src/caffe/layers/eltwise_layer.cu @@ -20,6 +20,12 @@ Dtype EltwiseLayer::Forward_gpu( caffe_gpu_mul(count, top_data, bottom[i]->gpu_data(), top_data); } break; + case EltwiseParameter_EltwiseOp_SUM: + caffe_gpu_add(count, bottom[0]->gpu_data(), bottom[1]->gpu_data(), top_data); + for (int i = 2; i < bottom.size(); ++i) { + caffe_gpu_add(count, top_data, bottom[i]->gpu_data(), top_data); + } + break; default: LOG(FATAL) << "Unknown elementwise operation."; } @@ -41,6 +47,9 @@ void EltwiseLayer::Backward_gpu(const vector*>& top, caffe_gpu_div(count, top_data, bottom_data, bottom_diff); caffe_gpu_mul(count, bottom_diff, top_diff, bottom_diff); break; + case EltwiseParameter_EltwiseOp_SUM: + caffe_gpu_copy(count, top_diff, bottom_diff); + break; default: LOG(FATAL) << "Unknown elementwise operation."; } diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index a0a855e7e14..a7fb37bb76b 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -255,6 +255,7 @@ message DropoutParameter { message EltwiseParameter { enum EltwiseOp { PROD = 0; + SUM = 1; } optional EltwiseOp operation = 1; // element-wise operation to compute } diff --git a/src/caffe/test/test_eltwise_layer.cpp b/src/caffe/test/test_eltwise_layer.cpp index 86e47516ca7..dbb77fcee2c 100644 --- a/src/caffe/test/test_eltwise_layer.cpp +++ b/src/caffe/test/test_eltwise_layer.cpp @@ -65,7 +65,7 @@ TYPED_TEST(EltwiseLayerTest, TestSetUp) { EXPECT_EQ(this->blob_top_->width(), 5); } -TYPED_TEST(EltwiseLayerTest, TestCPU) { +TYPED_TEST(EltwiseLayerTest, TestProdCPU) { Caffe::set_mode(Caffe::CPU); LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); @@ -84,7 +84,26 @@ TYPED_TEST(EltwiseLayerTest, TestCPU) { } } -TYPED_TEST(EltwiseLayerTest, TestGPU) { +TYPED_TEST(EltwiseLayerTest, TestSumCPU) { + Caffe::set_mode(Caffe::CPU); + LayerParameter layer_param; + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); + shared_ptr > layer( + new EltwiseLayer(layer_param)); + layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + const TypeParam* data = this->blob_top_->cpu_data(); + const int count = this->blob_top_->count(); + const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); + const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); + const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); + for (int i = 0; i < count; ++i) { + EXPECT_EQ(data[i], in_data_a[i] + in_data_b[i] + in_data_c[i]); + } +} + +TYPED_TEST(EltwiseLayerTest, TestProdGPU) { Caffe::set_mode(Caffe::GPU); LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); @@ -103,7 +122,26 @@ TYPED_TEST(EltwiseLayerTest, TestGPU) { } } -TYPED_TEST(EltwiseLayerTest, TestCPUGradient) { +TYPED_TEST(EltwiseLayerTest, TestSumGPU) { + Caffe::set_mode(Caffe::GPU); + LayerParameter layer_param; + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); + shared_ptr > layer( + new EltwiseLayer(layer_param)); + layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + const TypeParam* data = this->blob_top_->cpu_data(); + const int count = this->blob_top_->count(); + const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); + const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); + const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); + for (int i = 0; i < count; ++i) { + EXPECT_EQ(data[i], in_data_a[i] + in_data_b[i] + in_data_c[i]); + } +} + +TYPED_TEST(EltwiseLayerTest, TestProdCPUGradient) { Caffe::set_mode(Caffe::CPU); LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); @@ -114,11 +152,22 @@ TYPED_TEST(EltwiseLayerTest, TestCPUGradient) { &(this->blob_top_vec_)); } -TYPED_TEST(EltwiseLayerTest, TestGPUGradient) { +TYPED_TEST(EltwiseLayerTest, TestSumCPUGradient) { + Caffe::set_mode(Caffe::CPU); + LayerParameter layer_param; + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); + EltwiseLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); +} + +TYPED_TEST(EltwiseLayerTest, TestSumGPUGradient) { Caffe::set_mode(Caffe::GPU); LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); - eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); EltwiseLayer layer(layer_param); GradientChecker checker(1e-2, 1e-2); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), From a26094e356f2d089f8f402fbd71dedaee6b953b4 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 21 May 2014 19:47:15 -0700 Subject: [PATCH 031/408] add EltwiseLayer docstring --- include/caffe/vision_layers.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 1b5da11eea1..3acb8df6c27 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -113,6 +113,7 @@ class ConvolutionLayer : public Layer { }; /* EltwiseLayer + Compute elementwise operations like product or sum. */ template class EltwiseLayer : public Layer { From 2b0087194a46ce2f34626bdbfc781d289f24e9be Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 22 May 2014 00:30:12 -0700 Subject: [PATCH 032/408] reduce example image size --- examples/images/cat.jpg | Bin 642416 -> 140391 bytes src/caffe/test/test_image_data_layer.cpp | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/images/cat.jpg b/examples/images/cat.jpg index 5303803b1c12213f986fb30e0b91e9d0b82fce85..b4efc6c98b7e7bed698b10f4b7f06031267d52dd 100644 GIT binary patch literal 140391 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�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 literal 642416 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 Oi_lFgifCR1hNXC3%*ySq0D?!8yMwl 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 d3uJ>3>BgE69W=&cP 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�VKtT7FS;~ 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%0D} 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%0DLjKJZ+%R4zPA%FuEP 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%0AF9QRL-lIFUFZH+5v7C- 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%0A$wgV=A#pkr&iTV6kqg5KQ7xd5#V%ZF?AZ3VT0T3 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

    IJOMp5=uRAT>*#l@95iGBl;D+BE1@L%h*h%#S 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 Qkxax@yGH{}hX$zs*{<1Q!Tblob_bottom_vec_, &this->blob_top_vec_); EXPECT_EQ(this->blob_top_data_->num(), 5); EXPECT_EQ(this->blob_top_data_->channels(), 3); - EXPECT_EQ(this->blob_top_data_->height(), 1200); - EXPECT_EQ(this->blob_top_data_->width(), 1600); + EXPECT_EQ(this->blob_top_data_->height(), 360); + EXPECT_EQ(this->blob_top_data_->width(), 480); EXPECT_EQ(this->blob_top_label_->num(), 5); EXPECT_EQ(this->blob_top_label_->channels(), 1); EXPECT_EQ(this->blob_top_label_->height(), 1); @@ -122,8 +122,8 @@ TYPED_TEST(ImageDataLayerTest, TestShuffle) { layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); EXPECT_EQ(this->blob_top_data_->num(), 5); EXPECT_EQ(this->blob_top_data_->channels(), 3); - EXPECT_EQ(this->blob_top_data_->height(), 1200); - EXPECT_EQ(this->blob_top_data_->width(), 1600); + EXPECT_EQ(this->blob_top_data_->height(), 360); + EXPECT_EQ(this->blob_top_data_->width(), 480); EXPECT_EQ(this->blob_top_label_->num(), 5); EXPECT_EQ(this->blob_top_label_->channels(), 1); EXPECT_EQ(this->blob_top_label_->height(), 1); From 334b92474ccc1853fa92ba280bfff81312428ea5 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 22 May 2014 02:13:04 -0700 Subject: [PATCH 033/408] fix layer name in logging --- src/caffe/layers/eltwise_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index 769d0157d44..13cd34d0602 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -12,9 +12,9 @@ template void EltwiseLayer::SetUp(const vector*>& bottom, vector*>* top) { CHECK_GE(bottom.size(), 2) << - "Eltwise Product Layer takes at least 2 blobs as input."; + "Eltwise Layer takes at least 2 blobs as input."; CHECK_EQ(top->size(), 1) << - "Eltwise Product Layer takes a single blob as output."; + "Eltwise Layer takes a single blob as output."; const int num = bottom[0]->num(); const int channels = bottom[0]->channels(); const int height = bottom[0]->height(); From 385fc6c5a4be831f22675f0d84242ed57ee36010 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 22 May 2014 17:41:24 -0700 Subject: [PATCH 034/408] make sum the default eltwise operation --- src/caffe/proto/caffe.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index a7fb37bb76b..da07af08920 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -257,7 +257,7 @@ message EltwiseParameter { PROD = 0; SUM = 1; } - optional EltwiseOp operation = 1; // element-wise operation to compute + optional EltwiseOp operation = 1 [default = SUM]; // element-wise operation } // Message that stores parameters used by HDF5DataLayer From 2dd9b43a954a8b5be2a48f7b449e301800bcf728 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 22 May 2014 20:12:11 -0700 Subject: [PATCH 035/408] weight elementwise sum with per-blob coefficients --- include/caffe/vision_layers.hpp | 1 + src/caffe/layers/eltwise_layer.cpp | 29 +++++++++-- src/caffe/layers/eltwise_layer.cu | 13 +++-- src/caffe/proto/caffe.proto | 1 + src/caffe/test/test_eltwise_layer.cpp | 74 +++++++++++++++++++++++++++ 5 files changed, 110 insertions(+), 8 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 3acb8df6c27..07ab5779b66 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -134,6 +134,7 @@ class EltwiseLayer : public Layer { const bool propagate_down, vector*>* bottom); EltwiseParameter_EltwiseOp op_; + vector coeffs_; }; /* FlattenLayer diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index 13cd34d0602..77eae3042c3 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -6,6 +6,8 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +using std::fill; + namespace caffe { template @@ -15,6 +17,13 @@ void EltwiseLayer::SetUp(const vector*>& bottom, "Eltwise Layer takes at least 2 blobs as input."; CHECK_EQ(top->size(), 1) << "Eltwise Layer takes a single blob as output."; + CHECK(this->layer_param().eltwise_param().coeff_size() == 0 + || this->layer_param().eltwise_param().coeff_size() == bottom.size()) << + "Eltwise Layer takes one coefficient per bottom blob."; + CHECK(!(this->layer_param().eltwise_param().operation() + == EltwiseParameter_EltwiseOp_PROD + && this->layer_param().eltwise_param().coeff_size())) << + "Eltwise layer only takes coefficients for summation."; const int num = bottom[0]->num(); const int channels = bottom[0]->channels(); const int height = bottom[0]->height(); @@ -27,6 +36,13 @@ void EltwiseLayer::SetUp(const vector*>& bottom, } (*top)[0]->Reshape(num, channels, height, width); op_ = this->layer_param_.eltwise_param().operation(); + // Blob-wise coefficients for the elementwise operation. + coeffs_ = vector(bottom.size(), 1); + if (this->layer_param().eltwise_param().coeff_size()) { + for (int i = 0; i < bottom.size(); ++i) { + coeffs_[i] = this->layer_param().eltwise_param().coeff(i); + } + } } template @@ -42,9 +58,10 @@ Dtype EltwiseLayer::Forward_cpu( } break; case EltwiseParameter_EltwiseOp_SUM: - caffe_add(count, bottom[0]->cpu_data(), bottom[1]->cpu_data(), top_data); - for (int i = 2; i < bottom.size(); ++i) { - caffe_add(count, top_data, bottom[i]->cpu_data(), top_data); + caffe_set(count, Dtype(0), top_data); + // TODO(shelhamer) does BLAS optimize to sum for coeff = 1? + for (int i = 0; i < bottom.size(); ++i) { + caffe_axpy(count, coeffs_[i], bottom[i]->cpu_data(), top_data); } break; default: @@ -69,7 +86,11 @@ void EltwiseLayer::Backward_cpu(const vector*>& top, caffe_mul(count, bottom_diff, top_diff, bottom_diff); break; case EltwiseParameter_EltwiseOp_SUM: - caffe_copy(count, top_diff, bottom_diff); + if (coeffs_[i] == Dtype(1)) { + caffe_copy(count, top_diff, bottom_diff); + } else { + caffe_cpu_scale(count, coeffs_[i], top_diff, bottom_diff); + } break; default: LOG(FATAL) << "Unknown elementwise operation."; diff --git a/src/caffe/layers/eltwise_layer.cu b/src/caffe/layers/eltwise_layer.cu index 8bdb6a3ca37..e1b63b11177 100644 --- a/src/caffe/layers/eltwise_layer.cu +++ b/src/caffe/layers/eltwise_layer.cu @@ -21,9 +21,10 @@ Dtype EltwiseLayer::Forward_gpu( } break; case EltwiseParameter_EltwiseOp_SUM: - caffe_gpu_add(count, bottom[0]->gpu_data(), bottom[1]->gpu_data(), top_data); - for (int i = 2; i < bottom.size(); ++i) { - caffe_gpu_add(count, top_data, bottom[i]->gpu_data(), top_data); + caffe_gpu_set(count, Dtype(0.), top_data); + // TODO(shelhamer) does cuBLAS optimize to sum for coeff = 1? + for (int i = 0; i < bottom.size(); ++i) { + caffe_gpu_axpy(count, coeffs_[i], bottom[i]->gpu_data(), top_data); } break; default: @@ -48,7 +49,11 @@ void EltwiseLayer::Backward_gpu(const vector*>& top, caffe_gpu_mul(count, bottom_diff, top_diff, bottom_diff); break; case EltwiseParameter_EltwiseOp_SUM: - caffe_gpu_copy(count, top_diff, bottom_diff); + if (coeffs_[i] == Dtype(1.)) { + caffe_gpu_copy(count, top_diff, bottom_diff); + } else { + caffe_gpu_scale(count, coeffs_[i], top_diff, bottom_diff); + } break; default: LOG(FATAL) << "Unknown elementwise operation."; diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index da07af08920..b792972fc62 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -258,6 +258,7 @@ message EltwiseParameter { SUM = 1; } optional EltwiseOp operation = 1 [default = SUM]; // element-wise operation + repeated float coeff = 2; // blob-wise coefficient } // Message that stores parameters used by HDF5DataLayer diff --git a/src/caffe/test/test_eltwise_layer.cpp b/src/caffe/test/test_eltwise_layer.cpp index dbb77fcee2c..5f72f625da4 100644 --- a/src/caffe/test/test_eltwise_layer.cpp +++ b/src/caffe/test/test_eltwise_layer.cpp @@ -103,6 +103,29 @@ TYPED_TEST(EltwiseLayerTest, TestSumCPU) { } } +TYPED_TEST(EltwiseLayerTest, TestSumCoeffCPU) { + Caffe::set_mode(Caffe::CPU); + LayerParameter layer_param; + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); + eltwise_param->add_coeff(1); + eltwise_param->add_coeff(-0.5); + eltwise_param->add_coeff(2); + shared_ptr > layer( + new EltwiseLayer(layer_param)); + layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + const TypeParam* data = this->blob_top_->cpu_data(); + const int count = this->blob_top_->count(); + const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); + const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); + const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); + for (int i = 0; i < count; ++i) { + EXPECT_NEAR(data[i], in_data_a[i] - 0.5*in_data_b[i] + 2*in_data_c[i], + 1e-4); + } +} + TYPED_TEST(EltwiseLayerTest, TestProdGPU) { Caffe::set_mode(Caffe::GPU); LayerParameter layer_param; @@ -141,6 +164,29 @@ TYPED_TEST(EltwiseLayerTest, TestSumGPU) { } } +TYPED_TEST(EltwiseLayerTest, TestSumCoeffGPU) { + Caffe::set_mode(Caffe::GPU); + LayerParameter layer_param; + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); + eltwise_param->add_coeff(1); + eltwise_param->add_coeff(-0.5); + eltwise_param->add_coeff(2); + shared_ptr > layer( + new EltwiseLayer(layer_param)); + layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + const TypeParam* data = this->blob_top_->cpu_data(); + const int count = this->blob_top_->count(); + const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); + const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); + const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); + for (int i = 0; i < count; ++i) { + EXPECT_NEAR(data[i], in_data_a[i] - 0.5*in_data_b[i] + 2*in_data_c[i], + 1e-4); + } +} + TYPED_TEST(EltwiseLayerTest, TestProdCPUGradient) { Caffe::set_mode(Caffe::CPU); LayerParameter layer_param; @@ -163,6 +209,20 @@ TYPED_TEST(EltwiseLayerTest, TestSumCPUGradient) { &(this->blob_top_vec_)); } +TYPED_TEST(EltwiseLayerTest, TestSumCoeffCPUGradient) { + Caffe::set_mode(Caffe::CPU); + LayerParameter layer_param; + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); + eltwise_param->add_coeff(1); + eltwise_param->add_coeff(-0.5); + eltwise_param->add_coeff(2); + EltwiseLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); +} + TYPED_TEST(EltwiseLayerTest, TestSumGPUGradient) { Caffe::set_mode(Caffe::GPU); LayerParameter layer_param; @@ -174,4 +234,18 @@ TYPED_TEST(EltwiseLayerTest, TestSumGPUGradient) { &(this->blob_top_vec_)); } +TYPED_TEST(EltwiseLayerTest, TestSumCoeffGPUGradient) { + Caffe::set_mode(Caffe::GPU); + LayerParameter layer_param; + EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); + eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); + eltwise_param->add_coeff(1); + eltwise_param->add_coeff(-0.5); + eltwise_param->add_coeff(2); + EltwiseLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); +} + } // namespace caffe From b57d8f2eb740a8ceada56742c8125fd86476cf2d Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 22 May 2014 21:24:16 -0700 Subject: [PATCH 036/408] commment, lint --- src/caffe/layers/eltwise_layer.cpp | 2 -- src/caffe/layers/eltwise_layer.cu | 3 ++- src/caffe/proto/caffe.proto | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index 77eae3042c3..5d05124c4c8 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -6,8 +6,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::fill; - namespace caffe { template diff --git a/src/caffe/layers/eltwise_layer.cu b/src/caffe/layers/eltwise_layer.cu index e1b63b11177..75827badb80 100644 --- a/src/caffe/layers/eltwise_layer.cu +++ b/src/caffe/layers/eltwise_layer.cu @@ -15,7 +15,8 @@ Dtype EltwiseLayer::Forward_gpu( Dtype* top_data = (*top)[0]->mutable_gpu_data(); switch (op_) { case EltwiseParameter_EltwiseOp_PROD: - caffe_gpu_mul(count, bottom[0]->gpu_data(), bottom[1]->gpu_data(), top_data); + caffe_gpu_mul(count, bottom[0]->gpu_data(), + bottom[1]->gpu_data(), top_data); for (int i = 2; i < bottom.size(); ++i) { caffe_gpu_mul(count, top_data, bottom[i]->gpu_data(), top_data); } diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index b792972fc62..5e230a11482 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -258,7 +258,7 @@ message EltwiseParameter { SUM = 1; } optional EltwiseOp operation = 1 [default = SUM]; // element-wise operation - repeated float coeff = 2; // blob-wise coefficient + repeated float coeff = 2; // blob-wise coefficient for SUM operation } // Message that stores parameters used by HDF5DataLayer From f1a85a3a495b41f0c8ce9ee7e96cfb61cf44c908 Mon Sep 17 00:00:00 2001 From: James Thewlis Date: Fri, 23 May 2014 15:59:52 +0100 Subject: [PATCH 037/408] Correctly invert the swapping of colour channels In the 'deprocess' method, get back the image with the original channel order by inverting the original transform, rather than reversing the tuple which is incorrect. --- python/caffe/pycaffe.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index 537e737b5c0..4827300708c 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -284,7 +284,8 @@ def _Net_deprocess(self, input_name, input_): decaf_in += mean decaf_in = decaf_in.transpose((1,2,0)) if channel_order: - decaf_in = decaf_in[:, :, channel_order[::-1]] + channel_order_inverse = tuple([channel_order.index(i) for i in (0,1,2)]) + decaf_in = decaf_in[:, :, channel_order_inverse] if input_scale: decaf_in /= input_scale return decaf_in From f56f86a38bc990119f511a460f1c87bc39146f4c Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 23 May 2014 09:13:44 -0700 Subject: [PATCH 038/408] follow-up on #443 to invert k channels (instead of 3) --- python/caffe/pycaffe.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index 4827300708c..8bed7046cc8 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -284,7 +284,8 @@ def _Net_deprocess(self, input_name, input_): decaf_in += mean decaf_in = decaf_in.transpose((1,2,0)) if channel_order: - channel_order_inverse = tuple([channel_order.index(i) for i in (0,1,2)]) + channel_order_inverse = [channel_order.index(i) + for i in range(decaf_in.shape[2])] decaf_in = decaf_in[:, :, channel_order_inverse] if input_scale: decaf_in /= input_scale From 2e292c44a7a21d301210bcb724cd91e2108d649e Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 23 May 2014 14:57:02 -0700 Subject: [PATCH 039/408] add convert_imageset option to resize images; use in convert_imageset.cpp and document --- docs/imagenet_training.md | 4 +-- examples/imagenet/create_imagenet.sh | 42 ++++++++++++++++++++++++---- tools/convert_imageset.cpp | 19 +++++++++---- 3 files changed, 53 insertions(+), 12 deletions(-) diff --git a/docs/imagenet_training.md b/docs/imagenet_training.md index 9e0076cf65f..f628f795652 100644 --- a/docs/imagenet_training.md +++ b/docs/imagenet_training.md @@ -30,7 +30,7 @@ You will first need to prepare some auxiliary data for training. This data can b The training and validation input are described in `train.txt` and `val.txt` as text listing all the files and their labels. Note that we use a different indexing for labels than the ILSVRC devkit: we sort the synset names in their ASCII order, and then label them from 0 to 999. See `synset_words.txt` for the synset/name mapping. -You will also need to resize the images to 256x256: we do not explicitly do this because in a cluster environment, one may benefit from resizing images in a parallel fashion, using mapreduce. For example, Yangqing used his lightedweighted [mincepie](https://github.com/Yangqing/mincepie) package to do mapreduce on the Berkeley cluster. If you would things to be rather simple and straightforward, you can also use shell commands, something like: +You may want to resize the images to 256x256 in advance. By default, we do not explicitly do this because in a cluster environment, one may benefit from resizing images in a parallel fashion, using mapreduce. For example, Yangqing used his lightedweighted [mincepie](https://github.com/Yangqing/mincepie) package to do mapreduce on the Berkeley cluster. If you would things to be rather simple and straightforward, you can also use shell commands, something like: for name in /path/to/imagenet/val/*.JPEG; do convert -resize 256x256\! $name $name @@ -38,7 +38,7 @@ You will also need to resize the images to 256x256: we do not explicitly do this Go to `$CAFFE_ROOT/examples/imagenet/` for the rest of this guide. -Take a look at `create_imagenet.sh`. Set the paths to the train and val dirs as needed. Now simply create the leveldbs with `./create_imagenet.sh`. Note that `imagenet_train_leveldb` and `imagenet_val_leveldb` should not exist before this execution. It will be created by the script. `GLOG_logtostderr=1` simply dumps more information for you to inspect, and you can safely ignore it. +Take a look at `create_imagenet.sh`. Set the paths to the train and val dirs as needed, and set "RESIZE=true" to resize all images to 256x256 if you haven't resized the images in advance. Now simply create the leveldbs with `./create_imagenet.sh`. Note that `imagenet_train_leveldb` and `imagenet_val_leveldb` should not exist before this execution. It will be created by the script. `GLOG_logtostderr=1` simply dumps more information for you to inspect, and you can safely ignore it. Compute Image Mean ------------------ diff --git a/examples/imagenet/create_imagenet.sh b/examples/imagenet/create_imagenet.sh index a1bcb7bfc5a..8767f120a83 100755 --- a/examples/imagenet/create_imagenet.sh +++ b/examples/imagenet/create_imagenet.sh @@ -5,16 +5,48 @@ TOOLS=../../build/tools DATA=../../data/ilsvrc12 -echo "Creating leveldb..." +TRAIN_DATA_ROOT=/path/to/imagenet/train/ +VAL_DATA_ROOT=/path/to/imagenet/val/ + +# Set RESIZE=true to resize the images to 256x256. Leave as false if images have +# already been resized using another tool. +RESIZE=false +if $RESIZE; then + RESIZE_HEIGHT=256 + RESIZE_WIDTH=256 +else + RESIZE_HEIGHT=0 + RESIZE_WIDTH=0 +fi + +if [ ! -d "$TRAIN_DATA_ROOT" ]; then + echo "Error: TRAIN_DATA_ROOT is not a path to a directory: $TRAIN_DATA_ROOT" + echo "Set the TRAIN_DATA_ROOT variable in create_imagenet.sh to the path" \ + "where the ImageNet training data is stored." + exit 1 +fi + +if [ ! -d "$VAL_DATA_ROOT" ]; then + echo "Error: VAL_DATA_ROOT is not a path to a directory: $VAL_DATA_ROOT" + echo "Set the VAL_DATA_ROOT variable in create_imagenet.sh to the path" \ + "where the ImageNet validation data is stored." + exit 1 +fi + +echo "Creating train leveldb..." GLOG_logtostderr=1 $TOOLS/convert_imageset.bin \ - /path/to/imagenet/train/ \ + $TRAIN_DATA_ROOT \ $DATA/train.txt \ - imagenet_train_leveldb 1 + imagenet_train_leveldb 1 \ + $RESIZE_HEIGHT $RESIZE_WIDTH + +echo "Creating val leveldb..." GLOG_logtostderr=1 $TOOLS/convert_imageset.bin \ - /path/to/imagenet/val/ \ + $VAL_DATA_ROOT \ $DATA/val.txt \ - imagenet_val_leveldb 1 + imagenet_val_leveldb 1 \ + $RESIZE_HEIGHT $RESIZE_WIDTH echo "Done." diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index 2d4d4c77b52..900183a649b 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -2,7 +2,8 @@ // This program converts a set of images to a leveldb by storing them as Datum // proto buffers. // Usage: -// convert_imageset ROOTFOLDER/ LISTFILE DB_NAME [0/1] +// convert_imageset ROOTFOLDER/ LISTFILE DB_NAME [0/1] \ +// [resize_height] [resize_width] // where ROOTFOLDER is the root folder that holds all the images, and LISTFILE // should be a list of files as well as their labels, in the format as // subfolder1/file1.JPEG 7 @@ -29,12 +30,12 @@ using std::string; int main(int argc, char** argv) { ::google::InitGoogleLogging(argv[0]); - if (argc < 4 || argc > 5) { + if (argc < 4 || argc > 7) { printf("Convert a set of images to the leveldb format used\n" "as input for Caffe.\n" "Usage:\n" " convert_imageset ROOTFOLDER/ LISTFILE DB_NAME" - " RANDOM_SHUFFLE_DATA[0 or 1]\n" + " RANDOM_SHUFFLE_DATA[0 or 1] [resize_height] [resize_width]\n" "The ImageNet dataset for the training demo is at\n" " http://www.image-net.org/download-images\n"); return 1; @@ -46,12 +47,20 @@ int main(int argc, char** argv) { while (infile >> filename >> label) { lines.push_back(std::make_pair(filename, label)); } - if (argc == 5 && argv[4][0] == '1') { + if (argc >= 5 && argv[4][0] == '1') { // randomly shuffle data LOG(INFO) << "Shuffling data"; std::random_shuffle(lines.begin(), lines.end()); } LOG(INFO) << "A total of " << lines.size() << " images."; + int resize_height = 0; + int resize_width = 0; + if (argc >= 6) { + resize_height = atoi(argv[5]); + } + if (argc >= 7) { + resize_width = atoi(argv[6]); + } leveldb::DB* db; leveldb::Options options; @@ -73,7 +82,7 @@ int main(int argc, char** argv) { bool data_size_initialized = false; for (int line_id = 0; line_id < lines.size(); ++line_id) { if (!ReadImageToDatum(root_folder + lines[line_id].first, - lines[line_id].second, &datum)) { + lines[line_id].second, resize_height, resize_width, &datum)) { continue; } if (!data_size_initialized) { From 75aa8df452894de1107e9321cbd292e00ac2ce89 Mon Sep 17 00:00:00 2001 From: James Thewlis Date: Sat, 24 May 2014 17:53:13 +0100 Subject: [PATCH 040/408] Don't modify data pointers in im2col loop --- src/caffe/util/im2col.cu | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/caffe/util/im2col.cu b/src/caffe/util/im2col.cu index 8f5c6b04820..ec4465eff66 100644 --- a/src/caffe/util/im2col.cu +++ b/src/caffe/util/im2col.cu @@ -23,15 +23,17 @@ __global__ void im2col_gpu_kernel(const int n, const Dtype* data_im, int channel_out = channel_in * ksize * ksize; int h_in = h_out * stride - pad; int w_in = w_out * stride - pad; - data_col += (channel_out * height_col + h_out) * width_col + w_out; - data_im += (channel_in * height + h_in) * width + w_in; + Dtype* data_col_ptr = data_col; + data_col_ptr += (channel_out * height_col + h_out) * width_col + w_out; + const Dtype* data_im_ptr = data_im; + data_im_ptr += (channel_in * height + h_in) * width + w_in; for (int i = 0; i < ksize; ++i) { for (int j = 0; j < ksize; ++j) { int h = h_in + i; int w = w_in + j; - *data_col = (h >= 0 && w >= 0 && h < height && w < width) ? - data_im[i * width + j] : 0; - data_col += height_col * width_col; + *data_col_ptr = (h >= 0 && w >= 0 && h < height && w < width) ? + data_im_ptr[i * width + j] : 0; + data_col_ptr += height_col * width_col; } } } From 6b91c0aeab041cc84817ec37019bdad12b4e0bcf Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 19:49:02 -0700 Subject: [PATCH 041/408] Added max_idx to Pooling layer CPU --- include/caffe/vision_layers.hpp | 1 + src/caffe/layers/pooling_layer.cpp | 35 +++++++++++++++------------ src/caffe/test/test_pooling_layer.cpp | 27 +++++++++++++++++++++ 3 files changed, 47 insertions(+), 16 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 07ab5779b66..c0bbd370fce 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -350,6 +350,7 @@ class PoolingLayer : public Layer { int pooled_height_; int pooled_width_; Blob rand_idx_; + shared_ptr max_idx_; }; /* SoftmaxLayer diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 7e880a27b69..63ea12d9abc 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -4,8 +4,10 @@ #include #include +#include "caffe/common.hpp" #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" +#include "caffe/syncedmem.hpp" #include "caffe/util/math_functions.hpp" using std::max; @@ -35,6 +37,10 @@ void PoolingLayer::SetUp(const vector*>& bottom, width_ + 2 * pad_ - kernel_size_) / stride_)) + 1; (*top)[0]->Reshape(bottom[0]->num(), channels_, pooled_height_, pooled_width_); + // If max pooling, we will initialize the vector index part. + if (this->layer_param_.pool() == LayerParameter_PoolMethod_MAX) { + max_idx_.reset(new SyncedMemory((*top)[0]->count() * sizeof(int))); + } // If stochastic pooling, we will initialize the random index part. if (this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_STOCHASTIC) { @@ -53,11 +59,14 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, // Different pooling methods. We explicitly do the switch outside the for // loop to save time, although this results in more codes. int top_count = (*top)[0]->count(); + int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: - // Initialize + // Initialize + mask = (int*)max_idx_->mutable_cpu_data(); for (int i = 0; i < top_count; ++i) { top_data[i] = -FLT_MAX; + mask[i] = 0; } // The main loop for (int n = 0; n < bottom[0]->num(); ++n) { @@ -70,9 +79,10 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, int wend = min(wstart + kernel_size_, width_); for (int h = hstart; h < hend; ++h) { for (int w = wstart; w < wend; ++w) { - top_data[ph * pooled_width_ + pw] = - max(top_data[ph * pooled_width_ + pw], - bottom_data[h * width_ + w]); + if (bottom_data[h * width_ + w] > top_data[ph * pooled_width_ + pw]) { + top_data[ph * pooled_width_ + pw] = bottom_data[h * width_ + w]; + mask[ph * pooled_width_ + pw] = h * width_ + w; + } } } } @@ -80,6 +90,7 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, // compute offset bottom_data += bottom[0]->offset(0, 1); top_data += (*top)[0]->offset(0, 1); + mask += (*top)[0]->offset(0, 1); } } break; @@ -138,25 +149,16 @@ void PoolingLayer::Backward_cpu(const vector*>& top, // Different pooling methods. We explicitly do the switch outside the for // loop to save time, although this results in more codes. memset(bottom_diff, 0, (*bottom)[0]->count() * sizeof(Dtype)); + int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // The main loop + mask = (int*)max_idx_->cpu_data(); for (int n = 0; n < top[0]->num(); ++n) { for (int c = 0; c < channels_; ++c) { for (int ph = 0; ph < pooled_height_; ++ph) { for (int pw = 0; pw < pooled_width_; ++pw) { - int hstart = ph * stride_; - int wstart = pw * stride_; - int hend = min(hstart + kernel_size_, height_); - int wend = min(wstart + kernel_size_, width_); - for (int h = hstart; h < hend; ++h) { - for (int w = wstart; w < wend; ++w) { - bottom_diff[h * width_ + w] += - top_diff[ph * pooled_width_ + pw] * - (bottom_data[h * width_ + w] == - top_data[ph * pooled_width_ + pw]); - } - } + bottom_diff[mask[ph * pooled_width_ + pw]]+=top_diff[ph * pooled_width_ + pw]; } } // offset @@ -164,6 +166,7 @@ void PoolingLayer::Backward_cpu(const vector*>& top, top_data += top[0]->offset(0, 1); bottom_diff += (*bottom)[0]->offset(0, 1); top_diff += top[0]->offset(0, 1); + mask += top[0]->offset(0, 1); } } break; diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index 41d4841f444..11bbd14a5c4 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -99,6 +99,33 @@ TYPED_TEST(PoolingLayerTest, PrintGPUBackward) { } */ +/* +TYPED_TEST(PoolingLayerTest, PrintCPUBackward) { + LayerParameter layer_param; + layer_param.set_kernelsize(3); + layer_param.set_stride(2); + layer_param.set_pool(LayerParameter_PoolMethod_MAX); + Caffe::set_mode(Caffe::CPU); + PoolingLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + cout << "bottom data " << i << " " << this->blob_bottom_->cpu_data()[i] << endl; + } + for (int i = 0; i < this->blob_top_->count(); ++i) { + cout << "top data " << i << " " << this->blob_top_->cpu_data()[i] << endl; + } + + for (int i = 0; i < this->blob_top_->count(); ++i) { + this->blob_top_->mutable_cpu_diff()[i] = i; + } + layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + cout << "bottom diff " << i << " " << this->blob_bottom_->cpu_diff()[i] << endl; + } +} +*/ + TYPED_TEST(PoolingLayerTest, TestCPUGradientMax) { LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); From 134922c54f817ebe92e8499c91650b2671fafdad Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Mon, 24 Feb 2014 17:36:17 -0800 Subject: [PATCH 042/408] Default mask idx is -1 --- src/caffe/layers/pooling_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 63ea12d9abc..014f47bbd41 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -66,7 +66,7 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, mask = (int*)max_idx_->mutable_cpu_data(); for (int i = 0; i < top_count; ++i) { top_data[i] = -FLT_MAX; - mask[i] = 0; + mask[i] = -1; } // The main loop for (int n = 0; n < bottom[0]->num(); ++n) { From 22639018dcd23dc3d85297dd0dc1d2d3c0d486f8 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 19:58:05 -0700 Subject: [PATCH 043/408] Added max_idx to Pooling layer GPU --- src/caffe/layers/pooling_layer.cu | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 95bfaefc951..ff46109210c 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -17,7 +17,7 @@ template __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* top_data) { + const int kernel_size, const int stride, Dtype* top_data, int* mask) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; @@ -28,13 +28,19 @@ __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, int wstart = pw * stride; int wend = min(wstart + kernel_size, width); Dtype maxval = -FLT_MAX; + int maxidx = -1; bottom_data += (n * channels + c) * height * width; for (int h = hstart; h < hend; ++h) { for (int w = wstart; w < wend; ++w) { - maxval = max(maxval, bottom_data[h * width + w]); + if (bottom_data[h * width + w] > maxval) { + maxidx = h * width + w; + maxval = bottom_data[maxidx]; + } + } } top_data[index] = maxval; + mask[index] = maxidx; } } @@ -145,13 +151,15 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, const Dtype* bottom_data = bottom[0]->gpu_data(); Dtype* top_data = (*top)[0]->mutable_gpu_data(); int count = (*top)[0]->count(); + int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // NOLINT_NEXT_LINE(whitespace/operators) + mask = (int*)max_idx_->mutable_gpu_data(); MaxPoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, - top_data); + top_data, mask); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) @@ -192,7 +200,7 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* bottom_data, const Dtype* top_data, const Dtype* top_diff, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* bottom_diff) { + const int kernel_size, const int stride, Dtype* bottom_diff, int* mask) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset @@ -209,6 +217,7 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* bottom_data, bottom_data[((n * channels + c) * height + h) * width + w]; top_data += (n * channels + c) * pooled_height * pooled_width; top_diff += (n * channels + c) * pooled_height * pooled_width; + //bottom_diff[index] += top_diff[mask[index]]; for (int ph = phstart; ph < phend; ++ph) { for (int pw = pwstart; pw < pwend; ++pw) { gradient += top_diff[ph * pooled_width + pw] * @@ -295,13 +304,14 @@ void PoolingLayer::Backward_gpu(const vector*>& top, const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); int count = (*bottom)[0]->count(); + int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolBackward<<>>( count, (*bottom)[0]->gpu_data(), top[0]->gpu_data(), top_diff, top[0]->num(), channels_, height_, width_, pooled_height_, - pooled_width_, kernel_size_, stride_, bottom_diff); + pooled_width_, kernel_size_, stride_, bottom_diff, mask); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) From 75e11f5d2ef73d1e83ab93f4858dd314db51251f Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:02:34 -0700 Subject: [PATCH 044/408] Added test for Pooling layer GPU --- src/caffe/test/test_pooling_layer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index 11bbd14a5c4..d21fc8bc5e0 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -25,7 +25,7 @@ class PoolingLayerTest : public ::testing::Test { blob_top_(new Blob()) {} virtual void SetUp() { Caffe::set_random_seed(1701); - blob_bottom_->Reshape(2, 3, 6, 5); + blob_bottom_->Reshape(1, 1, 6, 5); // fill the values FillerParameter filler_param; GaussianFiller filler(filler_param); @@ -82,6 +82,7 @@ TYPED_TEST(PoolingLayerTest, PrintGPUBackward) { PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { cout << "bottom data " << i << " " << this->blob_bottom_->cpu_data()[i] << endl; } From 842af5e8659e64c8cd1c1a7210bfda81fc1c6c09 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:06:38 -0700 Subject: [PATCH 045/408] Use mask_idx to compute backward Max Pooling --- src/caffe/layers/pooling_layer.cpp | 7 ---- src/caffe/layers/pooling_layer.cu | 65 ++++++++++++++++++------------ 2 files changed, 40 insertions(+), 32 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 014f47bbd41..e052f78f8ca 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -143,8 +143,6 @@ void PoolingLayer::Backward_cpu(const vector*>& top, return; } const Dtype* top_diff = top[0]->cpu_diff(); - const Dtype* top_data = top[0]->cpu_data(); - const Dtype* bottom_data = (*bottom)[0]->cpu_data(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); // Different pooling methods. We explicitly do the switch outside the for // loop to save time, although this results in more codes. @@ -161,9 +159,6 @@ void PoolingLayer::Backward_cpu(const vector*>& top, bottom_diff[mask[ph * pooled_width_ + pw]]+=top_diff[ph * pooled_width_ + pw]; } } - // offset - bottom_data += (*bottom)[0]->offset(0, 1); - top_data += top[0]->offset(0, 1); bottom_diff += (*bottom)[0]->offset(0, 1); top_diff += top[0]->offset(0, 1); mask += top[0]->offset(0, 1); @@ -194,8 +189,6 @@ void PoolingLayer::Backward_cpu(const vector*>& top, } } // offset - bottom_data += (*bottom)[0]->offset(0, 1); - top_data += top[0]->offset(0, 1); bottom_diff += (*bottom)[0]->offset(0, 1); top_diff += top[0]->offset(0, 1); } diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index ff46109210c..b88b09721f1 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -195,40 +195,55 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, return Dtype(0.); } +// template +// __global__ void MaxPoolBackward(const int nthreads, const Dtype* bottom_data, +// const Dtype* top_data, const Dtype* top_diff, +// const int num, const int channels, const int height, +// const int width, const int pooled_height, const int pooled_width, +// const int ksize, const int stride, Dtype* bottom_diff, int* mask) { +// int index = threadIdx.x + blockIdx.x * blockDim.x; +// if (index < nthreads) { +// // find out the local index +// // find out the local offset +// int w = index % width; +// int h = (index / width) % height; +// int c = (index / width / height) % channels; +// int n = index / width / height / channels; +// int phstart = (h < ksize) ? 0 : (h - ksize) / stride + 1; +// int phend = min(h / stride + 1, pooled_height); +// int pwstart = (w < ksize) ? 0 : (w - ksize) / stride + 1; +// int pwend = min(w / stride + 1, pooled_width); +// Dtype gradient = 0; +// Dtype bottom_datum = +// bottom_data[((n * channels + c) * height + h) * width + w]; +// top_data += (n * channels + c) * pooled_height * pooled_width; +// top_diff += (n * channels + c) * pooled_height * pooled_width; +// //bottom_diff[index] += top_diff[mask[index]]; +// for (int ph = phstart; ph < phend; ++ph) { +// for (int pw = pwstart; pw < pwend; ++pw) { +// gradient += top_diff[ph * pooled_width + pw] * +// (bottom_datum == top_data[ph * pooled_width + pw]); +// } +// } +// bottom_diff[index] = gradient; +// } // (if index < nthreads) +// } + template -__global__ void MaxPoolBackward(const int nthreads, const Dtype* bottom_data, - const Dtype* top_data, const Dtype* top_diff, +__global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, const int kernel_size, const int stride, Dtype* bottom_diff, int* mask) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset - int w = index % width; - int h = (index / width) % height; - int c = (index / width / height) % channels; - int n = index / width / height / channels; - int phstart = (h < kernel_size) ? 0 : (h - kernel_size) / stride + 1; - int phend = min(h / stride + 1, pooled_height); - int pwstart = (w < kernel_size) ? 0 : (w - kernel_size) / stride + 1; - int pwend = min(w / stride + 1, pooled_width); - Dtype gradient = 0; - Dtype bottom_datum = - bottom_data[((n * channels + c) * height + h) * width + w]; - top_data += (n * channels + c) * pooled_height * pooled_width; - top_diff += (n * channels + c) * pooled_height * pooled_width; - //bottom_diff[index] += top_diff[mask[index]]; - for (int ph = phstart; ph < phend; ++ph) { - for (int pw = pwstart; pw < pwend; ++pw) { - gradient += top_diff[ph * pooled_width + pw] * - (bottom_datum == top_data[ph * pooled_width + pw]); - } - } - bottom_diff[index] = gradient; - } + int c = (index / pooled_width / pooled_height) % channels; + int n = index / pooled_width / pooled_height / channels; + bottom_diff += (n * channels + c) * height * width; + bottom_diff[mask[index]] += top_diff[index]; + } } - template __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, From c77737735ebced62f7d4d0d23996e14613d70ee1 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:10:10 -0700 Subject: [PATCH 046/408] Remove top_data from backward Max Pooling --- src/caffe/layers/pooling_layer.cu | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index b88b09721f1..95a754f4a17 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -320,13 +320,17 @@ void PoolingLayer::Backward_gpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); int count = (*bottom)[0]->count(); int* mask; + switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: + mask = (int*)max_idx_->gpu_data(); + // Since we have the mask we only need count top_diff + count = top[0]->count(); // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolBackward<<>>( - count, (*bottom)[0]->gpu_data(), top[0]->gpu_data(), top_diff, - top[0]->num(), channels_, height_, width_, pooled_height_, - pooled_width_, kernel_size_, stride_, bottom_diff, mask); + count, top_diff, top[0]->num(), channels_, + height_, width_, pooled_height_, pooled_width_, + kernel_size_, stride_, bottom_diff, mask); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) From a2b1785ac6df619ae7b6e47e31b988853729baa3 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:11:49 -0700 Subject: [PATCH 047/408] Set bottom_diff to 0 and remove Async memcopy --- src/caffe/layers/pooling_layer.cu | 1 + 1 file changed, 1 insertion(+) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 95a754f4a17..77126e6b120 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -327,6 +327,7 @@ void PoolingLayer::Backward_gpu(const vector*>& top, // Since we have the mask we only need count top_diff count = top[0]->count(); // NOLINT_NEXT_LINE(whitespace/operators) + caffe_gpu_memset(count,Dtype(0.),bottom_diff); MaxPoolBackward<<>>( count, top_diff, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, From 46b79e1cd71a3ce55ac58ef75ecd52421342a08e Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:13:05 -0700 Subject: [PATCH 048/408] Cleaned prints from test_pooling_layer.cpp --- src/caffe/test/test_pooling_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index d21fc8bc5e0..a26078ee5a2 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -25,7 +25,7 @@ class PoolingLayerTest : public ::testing::Test { blob_top_(new Blob()) {} virtual void SetUp() { Caffe::set_random_seed(1701); - blob_bottom_->Reshape(1, 1, 6, 5); + blob_bottom_->Reshape(2, 3, 6, 5); // fill the values FillerParameter filler_param; GaussianFiller filler(filler_param); From e08651da2c73be3a3803e86b812f545c17105b52 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:14:43 -0700 Subject: [PATCH 049/408] Fixed parameter order --- src/caffe/layers/pooling_layer.cu | 1 + 1 file changed, 1 insertion(+) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 77126e6b120..8be15211e54 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -319,6 +319,7 @@ void PoolingLayer::Backward_gpu(const vector*>& top, const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); int count = (*bottom)[0]->count(); + CUDA_CHECK(cudaMemset(bottom_diff, 0, sizeof(Dtype) * count)); int* mask; switch (this->layer_param_.pooling_param().pool()) { From 8f5448be12ae4df1a9bf4250183a4756733abfa9 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:21:15 -0700 Subject: [PATCH 050/408] Use loops in GPU again to avoid over-writting of bottom_diff --- src/caffe/layers/pooling_layer.cu | 74 +++++++++++++++---------------- 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 8be15211e54..e3d7546feb5 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -12,7 +12,7 @@ using std::max; using std::min; namespace caffe { - + template __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, @@ -195,40 +195,6 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, return Dtype(0.); } -// template -// __global__ void MaxPoolBackward(const int nthreads, const Dtype* bottom_data, -// const Dtype* top_data, const Dtype* top_diff, -// const int num, const int channels, const int height, -// const int width, const int pooled_height, const int pooled_width, -// const int ksize, const int stride, Dtype* bottom_diff, int* mask) { -// int index = threadIdx.x + blockIdx.x * blockDim.x; -// if (index < nthreads) { -// // find out the local index -// // find out the local offset -// int w = index % width; -// int h = (index / width) % height; -// int c = (index / width / height) % channels; -// int n = index / width / height / channels; -// int phstart = (h < ksize) ? 0 : (h - ksize) / stride + 1; -// int phend = min(h / stride + 1, pooled_height); -// int pwstart = (w < ksize) ? 0 : (w - ksize) / stride + 1; -// int pwend = min(w / stride + 1, pooled_width); -// Dtype gradient = 0; -// Dtype bottom_datum = -// bottom_data[((n * channels + c) * height + h) * width + w]; -// top_data += (n * channels + c) * pooled_height * pooled_width; -// top_diff += (n * channels + c) * pooled_height * pooled_width; -// //bottom_diff[index] += top_diff[mask[index]]; -// for (int ph = phstart; ph < phend; ++ph) { -// for (int pw = pwstart; pw < pwend; ++pw) { -// gradient += top_diff[ph * pooled_width + pw] * -// (bottom_datum == top_data[ph * pooled_width + pw]); -// } -// } -// bottom_diff[index] = gradient; -// } // (if index < nthreads) -// } - template __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, @@ -237,13 +203,43 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset - int c = (index / pooled_width / pooled_height) % channels; - int n = index / pooled_width / pooled_height / channels; - bottom_diff += (n * channels + c) * height * width; - bottom_diff[mask[index]] += top_diff[index]; + int w = index % width; + int h = (index / width) % height; + int c = (index / width / height) % channels; + int n = index / width / height / channels; + int phstart = (h < ksize) ? 0 : (h - ksize) / stride + 1; + int phend = min(h / stride + 1, pooled_height); + int pwstart = (w < ksize) ? 0 : (w - ksize) / stride + 1; + int pwend = min(w / stride + 1, pooled_width); + Dtype gradient = 0; + top_diff += (n * channels + c) * pooled_height * pooled_width; + mask += (n * channels + c) * pooled_height * pooled_width; + //bottom_diff[index] += top_diff[mask[index]]; + for (int ph = phstart; ph < phend; ++ph) { + for (int pw = pwstart; pw < pwend; ++pw) { + if (mask[ph * pooled_width + pw] == h * width + w) + gradient += top_diff[ph * pooled_width + pw]; + } + } + bottom_diff[index] = gradient; } } +// template +// __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, +// const int num, const int channels, const int height, +// const int width, const int pooled_height, const int pooled_width, +// const int ksize, const int stride, Dtype* bottom_diff, int* mask) { +// CUDA_KERNEL_LOOP(index, nthreads) { +// // find out the local index +// // find out the local offset +// int c = (index / pooled_width / pooled_height) % channels; +// int n = index / pooled_width / pooled_height / channels; +// bottom_diff += (n * channels + c) * height * width; +// bottom_diff[mask[index]] += top_diff[index]; +// } +// } + template __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, From 868677bcd7b3c73d1e061058f203d88b6507ffa4 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 25 Feb 2014 17:29:43 -0800 Subject: [PATCH 051/408] Added test for maxpool layer followed by dropout --- .../test/test_maxpool_dropout_layers.cpp | 181 ++++++++++++++++++ 1 file changed, 181 insertions(+) create mode 100644 src/caffe/test/test_maxpool_dropout_layers.cpp diff --git a/src/caffe/test/test_maxpool_dropout_layers.cpp b/src/caffe/test/test_maxpool_dropout_layers.cpp new file mode 100644 index 00000000000..7468d8e40ba --- /dev/null +++ b/src/caffe/test/test_maxpool_dropout_layers.cpp @@ -0,0 +1,181 @@ +// Copyright 2014 Sergio Guadarrama + +#include +#include + +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/filler.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/test/test_gradient_check_util.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +namespace caffe { + +template +class MaxPoolingDropoutTest : public ::testing::Test { + protected: + MaxPoolingDropoutTest() + : blob_bottom_(new Blob()), + blob_top_(new Blob()) {}; + virtual void SetUp() { + Caffe::set_random_seed(1703); + blob_bottom_->Reshape(2, 3, 6, 5); + // fill the values + FillerParameter filler_param; + filler_param.set_value(1.); + ConstantFiller filler(filler_param); + filler.Fill(this->blob_bottom_); + blob_bottom_vec_.push_back(blob_bottom_); + blob_top_vec_.push_back(blob_top_); + }; + virtual ~MaxPoolingDropoutTest() { delete blob_bottom_; delete blob_top_; } + Blob* const blob_bottom_; + Blob* const blob_top_; + vector*> blob_bottom_vec_; + vector*> blob_top_vec_; +}; + +typedef ::testing::Types Dtypes; +TYPED_TEST_CASE(MaxPoolingDropoutTest, Dtypes); + +TYPED_TEST(MaxPoolingDropoutTest, TestSetup) { + LayerParameter layer_param; + layer_param.set_kernelsize(3); + layer_param.set_stride(2); + PoolingLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + DropoutLayer dropout_layer(layer_param); + dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); + EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); + EXPECT_EQ(this->blob_top_->channels(), this->blob_bottom_->channels()); + EXPECT_EQ(this->blob_top_->height(), 3); + EXPECT_EQ(this->blob_top_->width(), 2); +} + + +TYPED_TEST(MaxPoolingDropoutTest, CPUForward) { + LayerParameter layer_param; + layer_param.set_kernelsize(3); + layer_param.set_stride(2); + Caffe::set_mode(Caffe::CPU); + PoolingLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + const TypeParam* top_data = this->blob_top_->cpu_data(); + TypeParam sum = 0.; + for (int i = 0; i < this->blob_top_->count(); ++i) { + sum += top_data[i]; + } + EXPECT_EQ(sum, this->blob_top_->count()); + // Dropout in-place + DropoutLayer dropout_layer(layer_param); + dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); + dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); + sum = 0.; + TypeParam scale = 1. / (1. - layer_param.dropout_ratio()); + top_data = this->blob_top_->cpu_data(); + for (int i = 0; i < this->blob_top_->count(); ++i) { + sum += top_data[i]; + } + EXPECT_GE(sum, 0); + EXPECT_LE(sum, this->blob_top_->count()*scale); +} + +TYPED_TEST(MaxPoolingDropoutTest, GPUForward) { + LayerParameter layer_param; + layer_param.set_kernelsize(3); + layer_param.set_stride(2); + Caffe::set_mode(Caffe::GPU); + PoolingLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + const TypeParam* top_data = this->blob_top_->cpu_data(); + TypeParam sum = 0.; + for (int i = 0; i < this->blob_top_->count(); ++i) { + sum += top_data[i]; + } + EXPECT_EQ(sum, this->blob_top_->count()); + + DropoutLayer dropout_layer(layer_param); + dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); + dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); + sum = 0.; + TypeParam scale = 1. / (1. - layer_param.dropout_ratio()); + top_data = this->blob_top_->cpu_data(); + for (int i = 0; i < this->blob_top_->count(); ++i) { + sum += top_data[i]; + } + EXPECT_GE(sum, 0); + EXPECT_LE(sum, this->blob_top_->count()*scale); +} + +TYPED_TEST(MaxPoolingDropoutTest, CPUBackward) { + LayerParameter layer_param; + layer_param.set_kernelsize(3); + layer_param.set_stride(2); + Caffe::set_mode(Caffe::CPU); + Caffe::set_phase(Caffe::TRAIN); + PoolingLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + for (int i = 0; i < this->blob_top_->count(); ++i) { + this->blob_top_->mutable_cpu_diff()[i] = 1.; + } + layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + const TypeParam* bottom_diff = this->blob_bottom_->cpu_diff(); + TypeParam sum = 0.; + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + sum += bottom_diff[i]; + } + EXPECT_EQ(sum, this->blob_top_->count()); + // Dropout in-place + DropoutLayer dropout_layer(layer_param); + dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); + dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); + dropout_layer.Backward(this->blob_top_vec_, true, &(this->blob_top_vec_)); + layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + TypeParam sum_with_dropout = 0.; + bottom_diff = this->blob_bottom_->cpu_diff(); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + sum_with_dropout += bottom_diff[i]; + } + EXPECT_GE(sum_with_dropout, sum); +} + +TYPED_TEST(MaxPoolingDropoutTest, GPUBackward) { + LayerParameter layer_param; + layer_param.set_kernelsize(3); + layer_param.set_stride(2); + Caffe::set_mode(Caffe::GPU); + Caffe::set_phase(Caffe::TRAIN); + PoolingLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + for (int i = 0; i < this->blob_top_->count(); ++i) { + this->blob_top_->mutable_cpu_diff()[i] = 1.; + } + layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + const TypeParam* bottom_diff = this->blob_bottom_->cpu_diff(); + TypeParam sum = 0.; + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + sum += bottom_diff[i]; + } + EXPECT_EQ(sum, this->blob_top_->count()); + // Dropout in-place + DropoutLayer dropout_layer(layer_param); + dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); + dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); + dropout_layer.Backward(this->blob_top_vec_, true, &(this->blob_top_vec_)); + layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + TypeParam sum_with_dropout = 0.; + bottom_diff = this->blob_bottom_->cpu_diff(); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + sum_with_dropout += bottom_diff[i]; + } + EXPECT_GE(sum_with_dropout, sum); +} + +} \ No newline at end of file From 418e459a263f49b77df22b885ec6c6056382fed0 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:27:16 -0700 Subject: [PATCH 052/408] Attempt to use AtomicAdd but it seems slower --- src/caffe/layers/pooling_layer.cu | 64 ++++++++++++++++++++++++------- 1 file changed, 50 insertions(+), 14 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index e3d7546feb5..cfcee5281a9 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -195,6 +195,7 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, return Dtype(0.); } +/* template __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, @@ -224,21 +225,56 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, bottom_diff[index] = gradient; } } +*/ -// template -// __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, -// const int num, const int channels, const int height, -// const int width, const int pooled_height, const int pooled_width, -// const int ksize, const int stride, Dtype* bottom_diff, int* mask) { -// CUDA_KERNEL_LOOP(index, nthreads) { -// // find out the local index -// // find out the local offset -// int c = (index / pooled_width / pooled_height) % channels; -// int n = index / pooled_width / pooled_height / channels; -// bottom_diff += (n * channels + c) * height * width; -// bottom_diff[mask[index]] += top_diff[index]; -// } -// } +__device__ double atomicAdd(double* address, double val) +{ + unsigned long long int* address_as_ull = + (unsigned long long int*)address; + unsigned long long int old = *address_as_ull, assumed; + do { + assumed = old; + old = atomicCAS(address_as_ull, assumed, + __double_as_longlong(val + + __longlong_as_double(assumed))); + } while (assumed != old); + return __longlong_as_double(old); +} + +__device__ float atomicAdd(float* address, float val) +{ + unsigned int* address_as_ull = (unsigned int*)address; + unsigned int old = *address_as_ull, assumed; + do { + assumed = old; + old = atomicCAS(address_as_ull, assumed, + __float_as_int(val + + __int_as_float(assumed))); + } while (assumed != old); + return __int_as_float(old); +} + +template +__global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, + const int num, const int channels, const int height, + const int width, const int pooled_height, const int pooled_width, + const int ksize, const int stride, Dtype* bottom_diff, int* mask) { + // __shared__ Dtype cache[CAFFE_CUDA_NUM_THREADS]; + // cache[threadIdx.x] = Dtype(0.); + CUDA_KERNEL_LOOP(index, nthreads) { + // find out the local index + // find out the local offset + int c = (index / pooled_width / pooled_height) % channels; + int n = index / pooled_width / pooled_height / channels; + bottom_diff += (n * channels + c) * height * width; + // read from global bottom_diff into cache + // atomicAdd(cache + mask[index],bottom_diff[mask[index]]); + atomicAdd(bottom_diff + mask[index],top_diff[index]); + // __syncthreads(); + // write from cache to global bottom_diff + // bottom_diff[mask[index]] = cache[mask[index]]; + } // (if index < nthreads) +} template __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, From 8764b296ab5bd5dec293a9dba0f3f3081b572f5a Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 20:29:26 -0700 Subject: [PATCH 053/408] Commented Atomic Add, back to loop in GPU MaxPoolBackward --- src/caffe/layers/pooling_layer.cu | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index cfcee5281a9..3b5b8ee31d8 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -195,7 +195,7 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, return Dtype(0.); } -/* + template __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, @@ -225,8 +225,8 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, bottom_diff[index] = gradient; } } -*/ +/* __device__ double atomicAdd(double* address, double val) { unsigned long long int* address_as_ull = @@ -275,6 +275,7 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, // bottom_diff[mask[index]] = cache[mask[index]]; } // (if index < nthreads) } +*/ template __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, From 4ef555eb5133d196651893bcb5d46c671d8d4562 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sun, 13 Apr 2014 21:03:06 -0700 Subject: [PATCH 054/408] Adapted to V1 proto definition, test don't pass --- src/caffe/layers/pooling_layer.cpp | 2 +- src/caffe/layers/pooling_layer.cu | 6 +-- .../test/test_maxpool_dropout_layers.cpp | 41 +++++++++++-------- 3 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index e052f78f8ca..97506cc6eb7 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -38,7 +38,7 @@ void PoolingLayer::SetUp(const vector*>& bottom, (*top)[0]->Reshape(bottom[0]->num(), channels_, pooled_height_, pooled_width_); // If max pooling, we will initialize the vector index part. - if (this->layer_param_.pool() == LayerParameter_PoolMethod_MAX) { + if (this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX) { max_idx_.reset(new SyncedMemory((*top)[0]->count() * sizeof(int))); } // If stochastic pooling, we will initialize the random index part. diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 3b5b8ee31d8..3bdb562867f 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -208,9 +208,9 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, int h = (index / width) % height; int c = (index / width / height) % channels; int n = index / width / height / channels; - int phstart = (h < ksize) ? 0 : (h - ksize) / stride + 1; + int phstart = (h < kernel_size) ? 0 : (h - kernel_size) / stride + 1; int phend = min(h / stride + 1, pooled_height); - int pwstart = (w < ksize) ? 0 : (w - ksize) / stride + 1; + int pwstart = (w < kernel_size) ? 0 : (w - kernel_size) / stride + 1; int pwend = min(w / stride + 1, pooled_width); Dtype gradient = 0; top_diff += (n * channels + c) * pooled_height * pooled_width; @@ -361,7 +361,7 @@ void PoolingLayer::Backward_gpu(const vector*>& top, // Since we have the mask we only need count top_diff count = top[0]->count(); // NOLINT_NEXT_LINE(whitespace/operators) - caffe_gpu_memset(count,Dtype(0.),bottom_diff); + caffe_gpu_set(count,Dtype(0.),bottom_diff); MaxPoolBackward<<>>( count, top_diff, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, diff --git a/src/caffe/test/test_maxpool_dropout_layers.cpp b/src/caffe/test/test_maxpool_dropout_layers.cpp index 7468d8e40ba..9d302633fef 100644 --- a/src/caffe/test/test_maxpool_dropout_layers.cpp +++ b/src/caffe/test/test_maxpool_dropout_layers.cpp @@ -43,10 +43,11 @@ TYPED_TEST_CASE(MaxPoolingDropoutTest, Dtypes); TYPED_TEST(MaxPoolingDropoutTest, TestSetup) { LayerParameter layer_param; - layer_param.set_kernelsize(3); - layer_param.set_stride(2); - PoolingLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); + PoolingLayer max_layer(layer_param); + max_layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); DropoutLayer dropout_layer(layer_param); dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); @@ -57,10 +58,11 @@ TYPED_TEST(MaxPoolingDropoutTest, TestSetup) { TYPED_TEST(MaxPoolingDropoutTest, CPUForward) { - LayerParameter layer_param; - layer_param.set_kernelsize(3); - layer_param.set_stride(2); Caffe::set_mode(Caffe::CPU); + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -75,7 +77,7 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUForward) { dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); sum = 0.; - TypeParam scale = 1. / (1. - layer_param.dropout_ratio()); + TypeParam scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_top_->count(); ++i) { sum += top_data[i]; @@ -85,10 +87,11 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUForward) { } TYPED_TEST(MaxPoolingDropoutTest, GPUForward) { - LayerParameter layer_param; - layer_param.set_kernelsize(3); - layer_param.set_stride(2); Caffe::set_mode(Caffe::GPU); + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -103,7 +106,7 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUForward) { dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); sum = 0.; - TypeParam scale = 1. / (1. - layer_param.dropout_ratio()); + TypeParam scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_top_->count(); ++i) { sum += top_data[i]; @@ -113,11 +116,12 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUForward) { } TYPED_TEST(MaxPoolingDropoutTest, CPUBackward) { - LayerParameter layer_param; - layer_param.set_kernelsize(3); - layer_param.set_stride(2); Caffe::set_mode(Caffe::CPU); Caffe::set_phase(Caffe::TRAIN); + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -146,11 +150,12 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUBackward) { } TYPED_TEST(MaxPoolingDropoutTest, GPUBackward) { - LayerParameter layer_param; - layer_param.set_kernelsize(3); - layer_param.set_stride(2); Caffe::set_mode(Caffe::GPU); Caffe::set_phase(Caffe::TRAIN); + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); From a1d97e0d6de696108762e46eb3719d2f69f688d5 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 15:29:35 -0700 Subject: [PATCH 055/408] lint and make compilable (using static_cast's found a couple bugs at compile time) --- src/caffe/layers/pooling_layer.cpp | 20 +++++++----- src/caffe/layers/pooling_layer.cu | 15 ++++----- .../test/test_maxpool_dropout_layers.cpp | 32 ++++++++++--------- 3 files changed, 35 insertions(+), 32 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 97506cc6eb7..5c740de4752 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -38,7 +38,8 @@ void PoolingLayer::SetUp(const vector*>& bottom, (*top)[0]->Reshape(bottom[0]->num(), channels_, pooled_height_, pooled_width_); // If max pooling, we will initialize the vector index part. - if (this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX) { + if (this->layer_param_.pooling_param().pool() == + PoolingParameter_PoolMethod_MAX) { max_idx_.reset(new SyncedMemory((*top)[0]->count() * sizeof(int))); } // If stochastic pooling, we will initialize the random index part. @@ -63,7 +64,7 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // Initialize - mask = (int*)max_idx_->mutable_cpu_data(); + mask = static_cast(max_idx_->mutable_cpu_data()); for (int i = 0; i < top_count; ++i) { top_data[i] = -FLT_MAX; mask[i] = -1; @@ -77,11 +78,13 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, int wstart = pw * stride_; int hend = min(hstart + kernel_size_, height_); int wend = min(wstart + kernel_size_, width_); + const int pool_index = ph * pooled_width_ + pw; for (int h = hstart; h < hend; ++h) { for (int w = wstart; w < wend; ++w) { - if (bottom_data[h * width_ + w] > top_data[ph * pooled_width_ + pw]) { - top_data[ph * pooled_width_ + pw] = bottom_data[h * width_ + w]; - mask[ph * pooled_width_ + pw] = h * width_ + w; + const int index = h * width_ + w; + if (bottom_data[index] > top_data[pool_index]) { + top_data[pool_index] = bottom_data[index]; + mask[pool_index] = index; } } } @@ -147,16 +150,17 @@ void PoolingLayer::Backward_cpu(const vector*>& top, // Different pooling methods. We explicitly do the switch outside the for // loop to save time, although this results in more codes. memset(bottom_diff, 0, (*bottom)[0]->count() * sizeof(Dtype)); - int* mask; + const int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // The main loop - mask = (int*)max_idx_->cpu_data(); + mask = static_cast(max_idx_->cpu_data()); for (int n = 0; n < top[0]->num(); ++n) { for (int c = 0; c < channels_; ++c) { for (int ph = 0; ph < pooled_height_; ++ph) { for (int pw = 0; pw < pooled_width_; ++pw) { - bottom_diff[mask[ph * pooled_width_ + pw]]+=top_diff[ph * pooled_width_ + pw]; + const int index = ph * pooled_width_ + pw; + bottom_diff[mask[index]] += top_diff[index]; } } bottom_diff += (*bottom)[0]->offset(0, 1); diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 3bdb562867f..60c52e32b00 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -12,7 +12,7 @@ using std::max; using std::min; namespace caffe { - + template __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, @@ -36,7 +36,6 @@ __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, maxidx = h * width + w; maxval = bottom_data[maxidx]; } - } } top_data[index] = maxval; @@ -154,8 +153,8 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: + mask = static_cast(max_idx_->mutable_gpu_data()); // NOLINT_NEXT_LINE(whitespace/operators) - mask = (int*)max_idx_->mutable_gpu_data(); MaxPoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, @@ -215,7 +214,6 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, Dtype gradient = 0; top_diff += (n * channels + c) * pooled_height * pooled_width; mask += (n * channels + c) * pooled_height * pooled_width; - //bottom_diff[index] += top_diff[mask[index]]; for (int ph = phstart; ph < phend; ++ph) { for (int pw = pwstart; pw < pwend; ++pw) { if (mask[ph * pooled_width + pw] == h * width + w) @@ -223,7 +221,7 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, } } bottom_diff[index] = gradient; - } + } } /* @@ -354,14 +352,13 @@ void PoolingLayer::Backward_gpu(const vector*>& top, int count = (*bottom)[0]->count(); CUDA_CHECK(cudaMemset(bottom_diff, 0, sizeof(Dtype) * count)); int* mask; - switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: - mask = (int*)max_idx_->gpu_data(); + mask = static_cast(max_idx_->mutable_gpu_data()); // Since we have the mask we only need count top_diff - count = top[0]->count(); + count = top[0]->count(); + caffe_gpu_set(count, Dtype(0.), bottom_diff); // NOLINT_NEXT_LINE(whitespace/operators) - caffe_gpu_set(count,Dtype(0.),bottom_diff); MaxPoolBackward<<>>( count, top_diff, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, diff --git a/src/caffe/test/test_maxpool_dropout_layers.cpp b/src/caffe/test/test_maxpool_dropout_layers.cpp index 9d302633fef..3862e12697b 100644 --- a/src/caffe/test/test_maxpool_dropout_layers.cpp +++ b/src/caffe/test/test_maxpool_dropout_layers.cpp @@ -1,7 +1,9 @@ -// Copyright 2014 Sergio Guadarrama +// Copyright 2014 BVLC and contributors. #include -#include +#include + +#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" @@ -19,7 +21,7 @@ class MaxPoolingDropoutTest : public ::testing::Test { protected: MaxPoolingDropoutTest() : blob_bottom_(new Blob()), - blob_top_(new Blob()) {}; + blob_top_(new Blob()) {} virtual void SetUp() { Caffe::set_random_seed(1703); blob_bottom_->Reshape(2, 3, 6, 5); @@ -30,7 +32,7 @@ class MaxPoolingDropoutTest : public ::testing::Test { filler.Fill(this->blob_bottom_); blob_bottom_vec_.push_back(blob_bottom_); blob_top_vec_.push_back(blob_top_); - }; + } virtual ~MaxPoolingDropoutTest() { delete blob_bottom_; delete blob_top_; } Blob* const blob_bottom_; Blob* const blob_top_; @@ -69,7 +71,7 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUForward) { const TypeParam* top_data = this->blob_top_->cpu_data(); TypeParam sum = 0.; for (int i = 0; i < this->blob_top_->count(); ++i) { - sum += top_data[i]; + sum += top_data[i]; } EXPECT_EQ(sum, this->blob_top_->count()); // Dropout in-place @@ -80,7 +82,7 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUForward) { TypeParam scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_top_->count(); ++i) { - sum += top_data[i]; + sum += top_data[i]; } EXPECT_GE(sum, 0); EXPECT_LE(sum, this->blob_top_->count()*scale); @@ -98,7 +100,7 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUForward) { const TypeParam* top_data = this->blob_top_->cpu_data(); TypeParam sum = 0.; for (int i = 0; i < this->blob_top_->count(); ++i) { - sum += top_data[i]; + sum += top_data[i]; } EXPECT_EQ(sum, this->blob_top_->count()); @@ -109,7 +111,7 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUForward) { TypeParam scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_top_->count(); ++i) { - sum += top_data[i]; + sum += top_data[i]; } EXPECT_GE(sum, 0); EXPECT_LE(sum, this->blob_top_->count()*scale); @@ -127,12 +129,12 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUBackward) { layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); for (int i = 0; i < this->blob_top_->count(); ++i) { this->blob_top_->mutable_cpu_diff()[i] = 1.; - } + } layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); const TypeParam* bottom_diff = this->blob_bottom_->cpu_diff(); TypeParam sum = 0.; for (int i = 0; i < this->blob_bottom_->count(); ++i) { - sum += bottom_diff[i]; + sum += bottom_diff[i]; } EXPECT_EQ(sum, this->blob_top_->count()); // Dropout in-place @@ -144,7 +146,7 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUBackward) { TypeParam sum_with_dropout = 0.; bottom_diff = this->blob_bottom_->cpu_diff(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { - sum_with_dropout += bottom_diff[i]; + sum_with_dropout += bottom_diff[i]; } EXPECT_GE(sum_with_dropout, sum); } @@ -161,12 +163,12 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUBackward) { layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); for (int i = 0; i < this->blob_top_->count(); ++i) { this->blob_top_->mutable_cpu_diff()[i] = 1.; - } + } layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); const TypeParam* bottom_diff = this->blob_bottom_->cpu_diff(); TypeParam sum = 0.; for (int i = 0; i < this->blob_bottom_->count(); ++i) { - sum += bottom_diff[i]; + sum += bottom_diff[i]; } EXPECT_EQ(sum, this->blob_top_->count()); // Dropout in-place @@ -178,9 +180,9 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUBackward) { TypeParam sum_with_dropout = 0.; bottom_diff = this->blob_bottom_->cpu_diff(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { - sum_with_dropout += bottom_diff[i]; + sum_with_dropout += bottom_diff[i]; } EXPECT_GE(sum_with_dropout, sum); } -} \ No newline at end of file +} // namespace caffe From 67f6034a8d87d5dad9925221ed71c49e0a03b597 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 16:10:23 -0700 Subject: [PATCH 056/408] remove commented out code --- src/caffe/layers/pooling_layer.cu | 51 ------------------------------- 1 file changed, 51 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 60c52e32b00..00c78466357 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -224,57 +224,6 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, } } -/* -__device__ double atomicAdd(double* address, double val) -{ - unsigned long long int* address_as_ull = - (unsigned long long int*)address; - unsigned long long int old = *address_as_ull, assumed; - do { - assumed = old; - old = atomicCAS(address_as_ull, assumed, - __double_as_longlong(val + - __longlong_as_double(assumed))); - } while (assumed != old); - return __longlong_as_double(old); -} - -__device__ float atomicAdd(float* address, float val) -{ - unsigned int* address_as_ull = (unsigned int*)address; - unsigned int old = *address_as_ull, assumed; - do { - assumed = old; - old = atomicCAS(address_as_ull, assumed, - __float_as_int(val + - __int_as_float(assumed))); - } while (assumed != old); - return __int_as_float(old); -} - -template -__global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, - const int num, const int channels, const int height, - const int width, const int pooled_height, const int pooled_width, - const int ksize, const int stride, Dtype* bottom_diff, int* mask) { - // __shared__ Dtype cache[CAFFE_CUDA_NUM_THREADS]; - // cache[threadIdx.x] = Dtype(0.); - CUDA_KERNEL_LOOP(index, nthreads) { - // find out the local index - // find out the local offset - int c = (index / pooled_width / pooled_height) % channels; - int n = index / pooled_width / pooled_height / channels; - bottom_diff += (n * channels + c) * height * width; - // read from global bottom_diff into cache - // atomicAdd(cache + mask[index],bottom_diff[mask[index]]); - atomicAdd(bottom_diff + mask[index],top_diff[index]); - // __syncthreads(); - // write from cache to global bottom_diff - // bottom_diff[mask[index]] = cache[mask[index]]; - } // (if index < nthreads) -} -*/ - template __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, From c85f9d2ed32be3c576f22a12961d8f648623dd54 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 16:14:04 -0700 Subject: [PATCH 057/408] mask should be const in backward pass --- src/caffe/layers/pooling_layer.cu | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 00c78466357..a91b1378cde 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -197,9 +197,9 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, template __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, - const int num, const int channels, const int height, + const int* mask, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* bottom_diff, int* mask) { + const int kernel_size, const int stride, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset @@ -300,18 +300,18 @@ void PoolingLayer::Backward_gpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); int count = (*bottom)[0]->count(); CUDA_CHECK(cudaMemset(bottom_diff, 0, sizeof(Dtype) * count)); - int* mask; + const int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: - mask = static_cast(max_idx_->mutable_gpu_data()); + mask = static_cast(max_idx_->gpu_data()); // Since we have the mask we only need count top_diff count = top[0]->count(); caffe_gpu_set(count, Dtype(0.), bottom_diff); // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolBackward<<>>( - count, top_diff, top[0]->num(), channels_, + count, top_diff, mask, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, - kernel_size_, stride_, bottom_diff, mask); + kernel_size_, stride_, bottom_diff); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) From cda3c3192646c8153bf4de8d2d712751d5fa98c7 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 16:14:44 -0700 Subject: [PATCH 058/408] bugfix: setting count to the top count in backward doesn't process all of the bottom (assuming the bottom is larger, which happens for nontrivial poolsize>1) --- src/caffe/layers/pooling_layer.cu | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index a91b1378cde..cb3bfabe4d4 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -304,8 +304,6 @@ void PoolingLayer::Backward_gpu(const vector*>& top, switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: mask = static_cast(max_idx_->gpu_data()); - // Since we have the mask we only need count top_diff - count = top[0]->count(); caffe_gpu_set(count, Dtype(0.), bottom_diff); // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolBackward<<>>( From 96d47af12882b3a43f9268f32fe3242634cf7d3a Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 16:27:38 -0700 Subject: [PATCH 059/408] use a Blob instead of a SyncedMemory to store max_idx_ --- include/caffe/vision_layers.hpp | 2 +- src/caffe/blob.cpp | 9 +++++++++ src/caffe/layers/pooling_layer.cpp | 7 ++++--- src/caffe/layers/pooling_layer.cu | 4 ++-- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index c0bbd370fce..a43f7f98c09 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -350,7 +350,7 @@ class PoolingLayer : public Layer { int pooled_height_; int pooled_width_; Blob rand_idx_; - shared_ptr max_idx_; + shared_ptr > max_idx_; }; /* SoftmaxLayer diff --git a/src/caffe/blob.cpp b/src/caffe/blob.cpp index 444e9cf4009..597e848c685 100644 --- a/src/caffe/blob.cpp +++ b/src/caffe/blob.cpp @@ -108,6 +108,14 @@ void Blob::ShareDiff(const Blob& other) { diff_ = other.diff(); } +template <> +void Blob::Update() { + // The "update" method is used for parameter blobs in a Net, which are stored + // as Blobs or Blobs -- hence we do not define it for + // Blobs. + NOT_IMPLEMENTED; +} + template void Blob::Update() { // We will perform update based on where the data is located. @@ -201,6 +209,7 @@ void Blob::ToProto(BlobProto* proto, bool write_diff) const { } INSTANTIATE_CLASS(Blob); +template class Blob; } // namespace caffe diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 5c740de4752..3d216de6ec5 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -40,7 +40,8 @@ void PoolingLayer::SetUp(const vector*>& bottom, // If max pooling, we will initialize the vector index part. if (this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX) { - max_idx_.reset(new SyncedMemory((*top)[0]->count() * sizeof(int))); + max_idx_.reset(new Blob(bottom[0]->num(), channels_, + pooled_height_, pooled_width_)); } // If stochastic pooling, we will initialize the random index part. if (this->layer_param_.pooling_param().pool() == @@ -64,7 +65,7 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // Initialize - mask = static_cast(max_idx_->mutable_cpu_data()); + mask = max_idx_->mutable_cpu_data(); for (int i = 0; i < top_count; ++i) { top_data[i] = -FLT_MAX; mask[i] = -1; @@ -154,7 +155,7 @@ void PoolingLayer::Backward_cpu(const vector*>& top, switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // The main loop - mask = static_cast(max_idx_->cpu_data()); + mask = max_idx_->cpu_data(); for (int n = 0; n < top[0]->num(); ++n) { for (int c = 0; c < channels_; ++c) { for (int ph = 0; ph < pooled_height_; ++ph) { diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index cb3bfabe4d4..49e5d7780ab 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -153,7 +153,7 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: - mask = static_cast(max_idx_->mutable_gpu_data()); + mask = max_idx_->mutable_gpu_data(); // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, @@ -303,7 +303,7 @@ void PoolingLayer::Backward_gpu(const vector*>& top, const int* mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: - mask = static_cast(max_idx_->gpu_data()); + mask = max_idx_->gpu_data(); caffe_gpu_set(count, Dtype(0.), bottom_diff); // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolBackward<<>>( From dcd5743b4b3b8133d54228418a47a9bc72a4031f Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 16:59:15 -0700 Subject: [PATCH 060/408] make a Blob and use in dropout layer --- include/caffe/neuron_layers.hpp | 2 +- include/caffe/util/math_functions.hpp | 3 +++ src/caffe/blob.cpp | 13 ++++++------- src/caffe/layers/dropout_layer.cpp | 7 ++++--- src/caffe/util/math_functions.cpp | 20 ++++++++++++++++++++ 5 files changed, 34 insertions(+), 11 deletions(-) diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index fb2347da436..4e67a29ace3 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -87,7 +87,7 @@ class DropoutLayer : public NeuronLayer { virtual void Backward_gpu(const vector*>& top, const bool propagate_down, vector*>* bottom); - shared_ptr rand_vec_; + shared_ptr > rand_vec_; Dtype threshold_; Dtype scale_; unsigned int uint_thres_; diff --git a/include/caffe/util/math_functions.hpp b/include/caffe/util/math_functions.hpp index 25ed4705961..99519974243 100644 --- a/include/caffe/util/math_functions.hpp +++ b/include/caffe/util/math_functions.hpp @@ -144,6 +144,9 @@ void caffe_gpu_rng_gaussian(const int n, const Dtype mu, const Dtype sigma, template void caffe_rng_bernoulli(const int n, const Dtype p, int* r); +template +void caffe_rng_bernoulli(const int n, const Dtype p, unsigned int* r); + template void caffe_gpu_rng_bernoulli(const int n, const Dtype p, int* r); diff --git a/src/caffe/blob.cpp b/src/caffe/blob.cpp index 597e848c685..e603712fd82 100644 --- a/src/caffe/blob.cpp +++ b/src/caffe/blob.cpp @@ -108,13 +108,11 @@ void Blob::ShareDiff(const Blob& other) { diff_ = other.diff(); } -template <> -void Blob::Update() { - // The "update" method is used for parameter blobs in a Net, which are stored - // as Blobs or Blobs -- hence we do not define it for - // Blobs. - NOT_IMPLEMENTED; -} +// The "update" method is used for parameter blobs in a Net, which are stored +// as Blob or Blob -- hence we do not define it for +// Blob or Blob. +template <> void Blob::Update() { NOT_IMPLEMENTED; } +template <> void Blob::Update() { NOT_IMPLEMENTED; } template void Blob::Update() { @@ -210,6 +208,7 @@ void Blob::ToProto(BlobProto* proto, bool write_diff) const { INSTANTIATE_CLASS(Blob); template class Blob; +template class Blob; } // namespace caffe diff --git a/src/caffe/layers/dropout_layer.cpp b/src/caffe/layers/dropout_layer.cpp index e1b69f363b4..f1e54112986 100644 --- a/src/caffe/layers/dropout_layer.cpp +++ b/src/caffe/layers/dropout_layer.cpp @@ -17,7 +17,8 @@ void DropoutLayer::SetUp(const vector*>& bottom, vector*>* top) { NeuronLayer::SetUp(bottom, top); // Set up the cache for random number generation - rand_vec_.reset(new SyncedMemory(bottom[0]->count() * sizeof(int))); + rand_vec_.reset(new Blob(bottom[0]->num(), + bottom[0]->channels(), bottom[0]->height(), bottom[0]->width())); threshold_ = this->layer_param_.dropout_param().dropout_ratio(); DCHECK(threshold_ > 0.); DCHECK(threshold_ < 1.); @@ -30,7 +31,7 @@ Dtype DropoutLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { const Dtype* bottom_data = bottom[0]->cpu_data(); Dtype* top_data = (*top)[0]->mutable_cpu_data(); - int* mask = reinterpret_cast(rand_vec_->mutable_cpu_data()); + unsigned int* mask = rand_vec_->mutable_cpu_data(); const int count = bottom[0]->count(); if (Caffe::phase() == Caffe::TRAIN) { // Create random numbers @@ -52,7 +53,7 @@ void DropoutLayer::Backward_cpu(const vector*>& top, if (propagate_down) { const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - const int* mask = reinterpret_cast(rand_vec_->cpu_data()); + const unsigned int* mask = rand_vec_->cpu_data(); const int count = (*bottom)[0]->count(); for (int i = 0; i < count; ++i) { bottom_diff[i] = top_diff[i] * mask[i] * scale_; diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index ba2492aa635..2196b44bf24 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -381,6 +381,26 @@ void caffe_rng_bernoulli(const int n, const double p, int* r); template void caffe_rng_bernoulli(const int n, const float p, int* r); +template +void caffe_rng_bernoulli(const int n, const Dtype p, unsigned int* r) { + CHECK_GE(n, 0); + CHECK(r); + CHECK_GE(p, 0); + CHECK_LE(p, 1); + boost::bernoulli_distribution random_distribution(p); + boost::variate_generator > + variate_generator(caffe_rng(), random_distribution); + for (int i = 0; i < n; ++i) { + r[i] = static_cast(variate_generator()); + } +} + +template +void caffe_rng_bernoulli(const int n, const double p, unsigned int* r); + +template +void caffe_rng_bernoulli(const int n, const float p, unsigned int* r); + template <> float caffe_cpu_dot(const int n, const float* x, const float* y) { return cblas_sdot(n, x, 1, y, 1); From 42a2a3fc09a8268cc9e5fac43472b38b7aaf1336 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 18:09:05 -0700 Subject: [PATCH 061/408] optionally output the mask to a top blob instead of storing internally --- src/caffe/layers/pooling_layer.cpp | 66 +++++++++++++++++++++++------ src/caffe/layers/pooling_layer.cu | 67 ++++++++++++++++++++++-------- 2 files changed, 103 insertions(+), 30 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 3d216de6ec5..928c8c7f42f 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -19,7 +19,15 @@ template void PoolingLayer::SetUp(const vector*>& bottom, vector*>* top) { CHECK_EQ(bottom.size(), 1) << "PoolingLayer takes a single blob as input."; - CHECK_EQ(top->size(), 1) << "PoolingLayer takes a single blob as output."; + if (this->layer_param_.pooling_param().pool() == + PoolingParameter_PoolMethod_MAX) { + CHECK_GE(top->size(), 1) + << "MaxPoolingLayer takes at least one blob as output."; + CHECK_LE(top->size(), 2) + << "MaxPoolingLayer takes at most two blobs as output."; + } else { + CHECK_EQ(top->size(), 1) << "PoolingLayer takes a single blob as output."; + } kernel_size_ = this->layer_param_.pooling_param().kernel_size(); stride_ = this->layer_param_.pooling_param().stride(); pad_ = this->layer_param_.pooling_param().pad(); @@ -37,9 +45,12 @@ void PoolingLayer::SetUp(const vector*>& bottom, width_ + 2 * pad_ - kernel_size_) / stride_)) + 1; (*top)[0]->Reshape(bottom[0]->num(), channels_, pooled_height_, pooled_width_); + if (top->size() > 1) { + (*top)[1]->ReshapeLike(*(*top)[0]); + } // If max pooling, we will initialize the vector index part. if (this->layer_param_.pooling_param().pool() == - PoolingParameter_PoolMethod_MAX) { + PoolingParameter_PoolMethod_MAX && top->size() == 1) { max_idx_.reset(new Blob(bottom[0]->num(), channels_, pooled_height_, pooled_width_)); } @@ -61,15 +72,23 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, // Different pooling methods. We explicitly do the switch outside the for // loop to save time, although this results in more codes. int top_count = (*top)[0]->count(); + // We'll output the mask to top[1] if it's of size >1. + const bool use_top_mask = top->size() > 1; int* mask; + Dtype* top_mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: - // Initialize - mask = max_idx_->mutable_cpu_data(); - for (int i = 0; i < top_count; ++i) { - top_data[i] = -FLT_MAX; - mask[i] = -1; + // Initialize + if (use_top_mask) { + top_mask = (*top)[1]->mutable_cpu_data(); + caffe_set(top_count, Dtype(-1), top_mask); + } else { + mask = max_idx_->mutable_cpu_data(); + for (int i = 0; i < top_count; ++i) { + mask[i] = -1; + } } + caffe_set(top_count, Dtype(-FLT_MAX), top_data); // The main loop for (int n = 0; n < bottom[0]->num(); ++n) { for (int c = 0; c < channels_; ++c) { @@ -85,7 +104,11 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, const int index = h * width_ + w; if (bottom_data[index] > top_data[pool_index]) { top_data[pool_index] = bottom_data[index]; - mask[pool_index] = index; + if (use_top_mask) { + top_mask[pool_index] = static_cast(index); + } else { + mask[pool_index] = index; + } } } } @@ -94,7 +117,11 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, // compute offset bottom_data += bottom[0]->offset(0, 1); top_data += (*top)[0]->offset(0, 1); - mask += (*top)[0]->offset(0, 1); + if (use_top_mask) { + top_mask += (*top)[0]->offset(0, 1); + } else { + mask += (*top)[0]->offset(0, 1); + } } } break; @@ -150,23 +177,36 @@ void PoolingLayer::Backward_cpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); // Different pooling methods. We explicitly do the switch outside the for // loop to save time, although this results in more codes. - memset(bottom_diff, 0, (*bottom)[0]->count() * sizeof(Dtype)); + caffe_set((*bottom)[0]->count(), Dtype(0), bottom_diff); + // We'll output the mask to top[1] if it's of size >1. + const bool use_top_mask = top.size() > 1; const int* mask; + const Dtype* top_mask; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // The main loop - mask = max_idx_->cpu_data(); + if (use_top_mask) { + top_mask = top[1]->cpu_data(); + } else { + mask = max_idx_->cpu_data(); + } for (int n = 0; n < top[0]->num(); ++n) { for (int c = 0; c < channels_; ++c) { for (int ph = 0; ph < pooled_height_; ++ph) { for (int pw = 0; pw < pooled_width_; ++pw) { const int index = ph * pooled_width_ + pw; - bottom_diff[mask[index]] += top_diff[index]; + const int bottom_index = + use_top_mask ? top_mask[index] : mask[index]; + bottom_diff[bottom_index] += top_diff[index]; } } bottom_diff += (*bottom)[0]->offset(0, 1); top_diff += top[0]->offset(0, 1); - mask += top[0]->offset(0, 1); + if (use_top_mask) { + top_mask += top[0]->offset(0, 1); + } else { + mask += top[0]->offset(0, 1); + } } } break; diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 49e5d7780ab..31be47efc0c 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -17,7 +17,8 @@ template __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* top_data, int* mask) { + const int kernel_size, const int stride, Dtype* top_data, + int* mask, Dtype* top_mask) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; @@ -39,7 +40,11 @@ __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, } } top_data[index] = maxval; - mask[index] = maxidx; + if (mask) { + mask[index] = maxidx; + } else { + top_mask[index] = maxidx; + } } } @@ -150,15 +155,22 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, const Dtype* bottom_data = bottom[0]->gpu_data(); Dtype* top_data = (*top)[0]->mutable_gpu_data(); int count = (*top)[0]->count(); - int* mask; + // We'll output the mask to top[1] if it's of size >1. + const bool use_top_mask = top->size() > 1; + int* mask = NULL; + Dtype* top_mask = NULL; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: - mask = max_idx_->mutable_gpu_data(); + if (use_top_mask) { + top_mask = (*top)[1]->mutable_gpu_data(); + } else { + mask = max_idx_->mutable_gpu_data(); + } // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, - top_data, mask); + top_data, mask, top_mask); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) @@ -197,9 +209,10 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, template __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, - const int* mask, const int num, const int channels, const int height, - const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* bottom_diff) { + const int* mask, const Dtype* top_mask, const int num, const int channels, + const int height, const int width, const int pooled_height, + const int pooled_width, const int kernel_size, const int stride, + Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset @@ -212,12 +225,25 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, int pwstart = (w < kernel_size) ? 0 : (w - kernel_size) / stride + 1; int pwend = min(w / stride + 1, pooled_width); Dtype gradient = 0; - top_diff += (n * channels + c) * pooled_height * pooled_width; - mask += (n * channels + c) * pooled_height * pooled_width; - for (int ph = phstart; ph < phend; ++ph) { - for (int pw = pwstart; pw < pwend; ++pw) { - if (mask[ph * pooled_width + pw] == h * width + w) - gradient += top_diff[ph * pooled_width + pw]; + int offset = (n * channels + c) * pooled_height * pooled_width; + top_diff += offset; + if (mask) { + mask += offset; + for (int ph = phstart; ph < phend; ++ph) { + for (int pw = pwstart; pw < pwend; ++pw) { + if (mask[ph * pooled_width + pw] == h * width + w) { + gradient += top_diff[ph * pooled_width + pw]; + } + } + } + } else { + top_mask += offset; + for (int ph = phstart; ph < phend; ++ph) { + for (int pw = pwstart; pw < pwend; ++pw) { + if (top_mask[ph * pooled_width + pw] == h * width + w) { + gradient += top_diff[ph * pooled_width + pw]; + } + } } } bottom_diff[index] = gradient; @@ -300,14 +326,21 @@ void PoolingLayer::Backward_gpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); int count = (*bottom)[0]->count(); CUDA_CHECK(cudaMemset(bottom_diff, 0, sizeof(Dtype) * count)); - const int* mask; + // We'll output the mask to top[1] if it's of size >1. + const bool use_top_mask = top.size() > 1; + const int* mask = NULL; + const Dtype* top_mask = NULL; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: - mask = max_idx_->gpu_data(); + if (use_top_mask) { + top_mask = top[1]->gpu_data(); + } else { + mask = max_idx_->gpu_data(); + } caffe_gpu_set(count, Dtype(0.), bottom_diff); // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolBackward<<>>( - count, top_diff, mask, top[0]->num(), channels_, + count, top_diff, mask, top_mask, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, bottom_diff); break; From 48534870710ae828ed5388827f277ed5882f764b Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 18:40:03 -0700 Subject: [PATCH 062/408] add tests for maxpooling layer forward, and for maxpooling with top mask --- src/caffe/test/test_pooling_layer.cpp | 132 +++++++++++++++++++++++++- 1 file changed, 130 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index a26078ee5a2..6628fc5dfc6 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -22,7 +22,8 @@ class PoolingLayerTest : public ::testing::Test { protected: PoolingLayerTest() : blob_bottom_(new Blob()), - blob_top_(new Blob()) {} + blob_top_(new Blob()), + blob_top_mask_(new Blob()) {} virtual void SetUp() { Caffe::set_random_seed(1701); blob_bottom_->Reshape(2, 3, 6, 5); @@ -33,11 +34,88 @@ class PoolingLayerTest : public ::testing::Test { blob_bottom_vec_.push_back(blob_bottom_); blob_top_vec_.push_back(blob_top_); } - virtual ~PoolingLayerTest() { delete blob_bottom_; delete blob_top_; } + virtual ~PoolingLayerTest() { + delete blob_bottom_; + delete blob_top_; + delete blob_top_mask_; + } Blob* const blob_bottom_; Blob* const blob_top_; + Blob* const blob_top_mask_; vector*> blob_bottom_vec_; vector*> blob_top_vec_; + + void TestForward() { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + const int num = 2; + const int channels = 2; + blob_bottom_->Reshape(num, channels, 3, 5); + // Input: 2x 2 channels of: + // [1 2 5 2 3] + // [9 4 1 4 8] + // [1 2 5 2 3] + for (int i = 0; i < 15 * num * channels; i += 15) { + blob_bottom_->mutable_cpu_data()[i + 0] = 1; + blob_bottom_->mutable_cpu_data()[i + 1] = 2; + blob_bottom_->mutable_cpu_data()[i + 2] = 5; + blob_bottom_->mutable_cpu_data()[i + 3] = 2; + blob_bottom_->mutable_cpu_data()[i + 4] = 3; + blob_bottom_->mutable_cpu_data()[i + 5] = 9; + blob_bottom_->mutable_cpu_data()[i + 6] = 4; + blob_bottom_->mutable_cpu_data()[i + 7] = 1; + blob_bottom_->mutable_cpu_data()[i + 8] = 4; + blob_bottom_->mutable_cpu_data()[i + 9] = 8; + blob_bottom_->mutable_cpu_data()[i + 10] = 1; + blob_bottom_->mutable_cpu_data()[i + 11] = 2; + blob_bottom_->mutable_cpu_data()[i + 12] = 5; + blob_bottom_->mutable_cpu_data()[i + 13] = 2; + blob_bottom_->mutable_cpu_data()[i + 14] = 3; + } + PoolingLayer layer(layer_param); + layer.SetUp(blob_bottom_vec_, &blob_top_vec_); + EXPECT_EQ(blob_top_->num(), num); + EXPECT_EQ(blob_top_->channels(), channels); + EXPECT_EQ(blob_top_->height(), 2); + EXPECT_EQ(blob_top_->width(), 4); + if (blob_top_vec_.size() > 1) { + EXPECT_EQ(blob_top_mask_->num(), num); + EXPECT_EQ(blob_top_mask_->channels(), channels); + EXPECT_EQ(blob_top_mask_->height(), 2); + EXPECT_EQ(blob_top_mask_->width(), 4); + } + layer.Forward(blob_bottom_vec_, &blob_top_vec_); + // Expected output: 2x 2 channels of: + // [9 5 5 8] + // [9 5 5 8] + for (int i = 0; i < 8 * num * channels; i += 8) { + EXPECT_EQ(blob_top_->cpu_data()[i + 0], 9); + EXPECT_EQ(blob_top_->cpu_data()[i + 1], 5); + EXPECT_EQ(blob_top_->cpu_data()[i + 2], 5); + EXPECT_EQ(blob_top_->cpu_data()[i + 3], 8); + EXPECT_EQ(blob_top_->cpu_data()[i + 4], 9); + EXPECT_EQ(blob_top_->cpu_data()[i + 5], 5); + EXPECT_EQ(blob_top_->cpu_data()[i + 6], 5); + EXPECT_EQ(blob_top_->cpu_data()[i + 7], 8); + } + if (blob_top_vec_.size() > 1) { + // Expected mask output: 2x 2 channels of: + // [5 2 2 9] + // [5 12 12 9] + for (int i = 0; i < 8 * num * channels; i += 8) { + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 0], 5); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 1], 2); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 2], 2); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 3], 9); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 4], 5); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 5], 12); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 6], 12); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 7], 9); + } + } + } }; typedef ::testing::Types Dtypes; @@ -127,6 +205,28 @@ TYPED_TEST(PoolingLayerTest, PrintCPUBackward) { } */ +TYPED_TEST(PoolingLayerTest, TestCPUForwardMax) { + Caffe::set_mode(Caffe::CPU); + this->TestForward(); +} + +TYPED_TEST(PoolingLayerTest, TestGPUForwardMax) { + Caffe::set_mode(Caffe::GPU); + this->TestForward(); +} + +TYPED_TEST(PoolingLayerTest, TestCPUForwardMaxTopMask) { + Caffe::set_mode(Caffe::CPU); + this->blob_top_vec_.push_back(this->blob_top_mask_); + this->TestForward(); +} + +TYPED_TEST(PoolingLayerTest, TestGPUForwardMaxTopMask) { + Caffe::set_mode(Caffe::GPU); + this->blob_top_vec_.push_back(this->blob_top_mask_); + this->TestForward(); +} + TYPED_TEST(PoolingLayerTest, TestCPUGradientMax) { LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); @@ -153,6 +253,34 @@ TYPED_TEST(PoolingLayerTest, TestGPUGradientMax) { &(this->blob_top_vec_)); } +TYPED_TEST(PoolingLayerTest, TestCPUGradientMaxTopMask) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + this->blob_top_vec_.push_back(this->blob_top_mask_); + Caffe::set_mode(Caffe::CPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-4, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); +} + +TYPED_TEST(PoolingLayerTest, TestGPUGradientMaxTopMask) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + this->blob_top_vec_.push_back(this->blob_top_mask_); + Caffe::set_mode(Caffe::GPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-4, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); +} + TYPED_TEST(PoolingLayerTest, TestCPUForwardAve) { LayerParameter layer_param; From 0a0f9be2fe60a66472c36838f38940e05827d259 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 24 May 2014 19:02:51 -0700 Subject: [PATCH 063/408] merge caffe_set definitions; define for int as well --- src/caffe/layers/pooling_layer.cpp | 4 +--- src/caffe/util/math_functions.cpp | 19 ++++++------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 928c8c7f42f..5d6921f1da8 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -84,9 +84,7 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, caffe_set(top_count, Dtype(-1), top_mask); } else { mask = max_idx_->mutable_cpu_data(); - for (int i = 0; i < top_count; ++i) { - mask[i] = -1; - } + caffe_set(top_count, -1, mask); } caffe_set(top_count, Dtype(-FLT_MAX), top_data); // The main loop diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index 2196b44bf24..67274ef73cc 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -120,10 +120,10 @@ void caffe_gpu_axpy(const int N, const double alpha, const double* X, CUBLAS_CHECK(cublasDaxpy(Caffe::cublas_handle(), N, &alpha, X, 1, Y, 1)); } -template <> -void caffe_set(const int N, const float alpha, float* Y) { +template +void caffe_set(const int N, const Dtype alpha, Dtype* Y) { if (alpha == 0) { - memset(Y, 0, sizeof(float) * N); + memset(Y, 0, sizeof(Dtype) * N); return; } for (int i = 0; i < N; ++i) { @@ -131,16 +131,9 @@ void caffe_set(const int N, const float alpha, float* Y) { } } -template <> -void caffe_set(const int N, const double alpha, double* Y) { - if (alpha == 0) { - memset(Y, 0, sizeof(double) * N); - return; - } - for (int i = 0; i < N; ++i) { - Y[i] = alpha; - } -} +template void caffe_set(const int N, const int alpha, int* Y); +template void caffe_set(const int N, const float alpha, float* Y); +template void caffe_set(const int N, const double alpha, double* Y); template <> void caffe_add_scalar(const int N, const float alpha, float* Y) { From 07ba3fd9cfabf39dcbae460ade9aee7c2874d9e8 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sun, 25 May 2014 16:19:14 -0700 Subject: [PATCH 064/408] 10.9 install doc formatting --- docs/installation.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 5ad6c6cb8cb..1210bfc615e 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -124,16 +124,14 @@ The prerequisite homebrew formulae are For each of these formulas, `brew edit FORMULA`, and add the ENV definitions as shown: -``` - def install - # ADD THE FOLLOWING: - ENV.append "CXXFLAGS", "-stdlib=libstdc++" - ENV.append "CFLAGS", "-stdlib=libstdc++" - ENV.append "LDFLAGS", "-stdlib=libstdc++ -lstdc++" - # The following is necessary because libtool likes to strip LDFLAGS: - ENV["CXX"] = "/usr/bin/clang -stdlib=libstdc++" - ... -``` + def install + # ADD THE FOLLOWING: + ENV.append "CXXFLAGS", "-stdlib=libstdc++" + ENV.append "CFLAGS", "-stdlib=libstdc++" + ENV.append "LDFLAGS", "-stdlib=libstdc++ -lstdc++" + # The following is necessary because libtool likes to strip LDFLAGS: + ENV["CXX"] = "/usr/bin/clang -stdlib=libstdc++" + ... To edit the formulae in turn, run From 608abe267ff8f5628ef3e097526fec8e3db30faa Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Mon, 26 May 2014 01:34:32 -0700 Subject: [PATCH 065/408] don't pass LDFLAGS when only compiling --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 3863fbfdcfb..a092ac890fc 100644 --- a/Makefile +++ b/Makefile @@ -341,12 +341,12 @@ $(UTIL_BUILD_DIR)/%.cuo: src/$(PROJECT)/util/%.cu | $(UTIL_BUILD_DIR) @ echo $(TOOL_BUILD_DIR)/%.o: tools/%.cpp $(PROTO_GEN_HEADER) | $(TOOL_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ $(LDFLAGS) + $(CXX) $< $(CXXFLAGS) -c -o $@ @ echo $(EXAMPLE_BUILD_DIR)/%.o: examples/%.cpp $(PROTO_GEN_HEADER) \ | $(EXAMPLE_BUILD_DIRS) - $(CXX) $< $(CXXFLAGS) -c -o $@ $(LDFLAGS) + $(CXX) $< $(CXXFLAGS) -c -o $@ @ echo $(BUILD_DIR)/src/$(PROJECT)/%.o: src/$(PROJECT)/%.cpp $(HXX_SRCS) From a53978d2b045dbab198b28fe38fd75e1ce5ddec0 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 26 May 2014 10:50:00 -0700 Subject: [PATCH 066/408] convert imageset comment fixup --- tools/convert_imageset.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index 900183a649b..2420f9538fb 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -2,13 +2,13 @@ // This program converts a set of images to a leveldb by storing them as Datum // proto buffers. // Usage: -// convert_imageset ROOTFOLDER/ LISTFILE DB_NAME [0/1] \ +// convert_imageset ROOTFOLDER/ LISTFILE DB_NAME RANDOM_SHUFFLE[0 or 1] \ // [resize_height] [resize_width] // where ROOTFOLDER is the root folder that holds all the images, and LISTFILE // should be a list of files as well as their labels, in the format as // subfolder1/file1.JPEG 7 // .... -// if the last argument is 1, a random shuffle will be carried out before we +// if RANDOM_SHUFFLE is 1, a random shuffle will be carried out before we // process the file lines. #include From 8c609da73666bba762a50ba39e23ca82724fbad4 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 26 May 2014 21:50:39 -0700 Subject: [PATCH 067/408] caffe.Net preprocessing members belong to object, not class --- python/caffe/pycaffe.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index 8bed7046cc8..5c1512cd8b9 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -14,11 +14,6 @@ # inheritance) so that nets created by caffe (e.g., by SGDSolver) will # automatically have the improved interface. -# Input preprocessing -Net.mean = {} # input mean (ndarray, input dimensional or broadcastable) -Net.input_scale = {} # for a model that expects data = input * input_scale -Net.channel_swap = {} # for RGB -> BGR and the like - @property def _Net_blobs(self): @@ -187,10 +182,12 @@ def _Net_set_mean(self, input_, mean_f, mode='elementwise'): Take input_: which input to assign this mean. - mean_f: path to mean .npy + mean_f: path to mean .npy with ndarray (input dimensional or broadcastable) mode: elementwise = use the whole mean (and check dimensions) channel = channel constant (e.g. mean pixel instead of mean image) """ + if not hasattr(self, 'mean'): + self.mean = {} if input_ not in self.inputs: raise Exception('Input not in {}'.format(self.inputs)) in_shape = self.blobs[input_].data.shape @@ -218,6 +215,8 @@ def _Net_set_input_scale(self, input_, scale): input_: which input to assign this scale factor scale: scale coefficient """ + if not hasattr(self, 'input_scale'): + self.input_scale = {} if input_ not in self.inputs: raise Exception('Input not in {}'.format(self.inputs)) self.input_scale[input_] = scale @@ -233,6 +232,8 @@ def _Net_set_channel_swap(self, input_, order): order: the order to take the channels. (2,1,0) maps RGB to BGR for example. """ + if not hasattr(self, 'channel_swap'): + self.channel_swap = {} if input_ not in self.inputs: raise Exception('Input not in {}'.format(self.inputs)) self.channel_swap[input_] = order From 2fb868cbd32b542f4f77912e92bf105421fb9c0c Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 15 May 2014 09:30:07 -0700 Subject: [PATCH 068/408] Test for Threshold layer --- src/caffe/test/test_threshold_layer.cpp | 71 +++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/caffe/test/test_threshold_layer.cpp diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp new file mode 100644 index 00000000000..c475f669445 --- /dev/null +++ b/src/caffe/test/test_threshold_layer.cpp @@ -0,0 +1,71 @@ +// Copyright 2014 BVLC and contributors. + +#include + +#include "cuda_runtime.h" +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/filler.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/test/test_gradient_check_util.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +namespace caffe { + +extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; + +template +class ThresholdLayerTest : public ::testing::Test { + protected: + ThresholdLayerTest() + : blob_bottom_(new Blob(2, 3, 6, 5)), + blob_top_(new Blob()) { + Caffe::set_random_seed(1701); + // fill the values + FillerParameter filler_param; + GaussianFiller filler(filler_param); + filler.Fill(this->blob_bottom_); + blob_bottom_vec_.push_back(blob_bottom_); + blob_top_vec_.push_back(blob_top_); + } + virtual ~ThresholdLayerTest() { delete blob_bottom_; delete blob_top_; } + Blob* const blob_bottom_; + Blob* const blob_top_; + vector*> blob_bottom_vec_; + vector*> blob_top_vec_; +}; + +typedef ::testing::Types Dtypes; +TYPED_TEST_CASE(ThresholdLayerTest, Dtypes); + + +TYPED_TEST(ThresholdLayerTest, TestSetup) { + LayerParameter layer_param; + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + EXPECT_EQ(this->blob_top_->num(), this->bottom_top_->num()); + EXPECT_EQ(this->blob_top_->channels(), this->bottom_top_->channels()); + EXPECT_EQ(this->blob_top_->height(), this->bottom_top_->height()); + EXPECT_EQ(this->blob_top_->width(), this->bottom_top_->width()); +} +TYPED_TEST(ThresholdLayerTest, TestCPU) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + const TypeParam threshold_ = layer.theshold_; + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + EXPECT_GE(top_data[i], 0.); + EXPECT_LE(top_data[i], 1.); + EXPECT_TRUE(top_data[i] == 0 && bottom_data[i] <= threshold_); + EXPECT_TRUE(top_data[i] == 1 && bottom_data[i] > threshold_); + } +} + +} // namespace caffe From 07c764488e6ec2dd1cc56fd8545f6cf2baa79597 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 10:32:11 -0700 Subject: [PATCH 069/408] Fixed ThresholdParam Conflicts: src/caffe/proto/caffe.proto Conflicts: src/caffe/proto/caffe.proto Conflicts: src/caffe/proto/caffe.proto --- src/caffe/proto/caffe.proto | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 5e230a11482..7d44085b118 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -127,7 +127,7 @@ message LayerParameter { // line above the enum. Update the next available ID when you add a new // LayerType. // - // LayerType next available ID: 31 (last added: ARGMAX) + // LayerType next available ID: 32 (last added: THRESHOLD) enum LayerType { // "NONE" layer type is 0th enum element so that we don't cause confusion // by defaulting to an existent LayerType (instead, should usually error if @@ -163,6 +163,7 @@ message LayerParameter { SPLIT = 22; TANH = 23; WINDOW_DATA = 24; + THRESHOLD = 31; } optional LayerType type = 5; // the layer type from the enum above @@ -175,6 +176,7 @@ message LayerParameter { repeated float weight_decay = 8; // Parameters for particular layer types. + // Parameters next available ID: 26 (last added: ThresholdParameter) optional ArgMaxParameter argmax_param = 23; optional ConcatParameter concat_param = 9; optional ConvolutionParameter convolution_param = 10; @@ -191,6 +193,7 @@ message LayerParameter { optional PoolingParameter pooling_param = 19; optional PowerParameter power_param = 21; optional WindowDataParameter window_data_param = 20; + optional ThresholdParameter threshold_param = 25; // DEPRECATED: The layer parameters specified as a V0LayerParameter. // This should never be used by any code except to upgrade to the new @@ -261,6 +264,11 @@ message EltwiseParameter { repeated float coeff = 2; // blob-wise coefficient for SUM operation } +// Message that stores parameters used by ThresholdLayer +message ThresholdParameter { + optional float threshold = 1 [default = 0]; // Strictly Positive values +} + // Message that stores parameters used by HDF5DataLayer message HDF5DataParameter { // Specify the data source. From 59096b9471ab8e4eb59103449d98b2abc150a115 Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 16:57:50 -0700 Subject: [PATCH 070/408] Fixed name of threshold_ var --- src/caffe/test/test_threshold_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index c475f669445..454b3cb7550 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -59,7 +59,7 @@ TYPED_TEST(ThresholdLayerTest, TestCPU) { // Now, check values const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); const TypeParam* top_data = this->blob_top_->cpu_data(); - const TypeParam threshold_ = layer.theshold_; + const TypeParam threshold_ = layer.threshold_; for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); From 3e13081b7b622a0da7666359c84539f55703379b Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 16:58:27 -0700 Subject: [PATCH 071/408] Fixed name of blob_bottom_ --- src/caffe/test/test_threshold_layer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 454b3cb7550..628500eb986 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -45,10 +45,10 @@ TYPED_TEST(ThresholdLayerTest, TestSetup) { LayerParameter layer_param; ThresholdLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - EXPECT_EQ(this->blob_top_->num(), this->bottom_top_->num()); - EXPECT_EQ(this->blob_top_->channels(), this->bottom_top_->channels()); - EXPECT_EQ(this->blob_top_->height(), this->bottom_top_->height()); - EXPECT_EQ(this->blob_top_->width(), this->bottom_top_->width()); + EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); + EXPECT_EQ(this->blob_top_->channels(), this->blob_bottom_->channels()); + EXPECT_EQ(this->blob_top_->height(), this->blob_bottom_->height()); + EXPECT_EQ(this->blob_top_->width(), this->blob_bottom_->width()); } TYPED_TEST(ThresholdLayerTest, TestCPU) { LayerParameter layer_param; From 37d5113d9f3cff1f9bf34da750a49fdfcdeaea5c Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 17:01:50 -0700 Subject: [PATCH 072/408] Added threshold setting test --- src/caffe/test/test_threshold_layer.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 628500eb986..7191bb29513 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -50,6 +50,7 @@ TYPED_TEST(ThresholdLayerTest, TestSetup) { EXPECT_EQ(this->blob_top_->height(), this->blob_bottom_->height()); EXPECT_EQ(this->blob_top_->width(), this->blob_bottom_->width()); } + TYPED_TEST(ThresholdLayerTest, TestCPU) { LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); @@ -59,7 +60,7 @@ TYPED_TEST(ThresholdLayerTest, TestCPU) { // Now, check values const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); const TypeParam* top_data = this->blob_top_->cpu_data(); - const TypeParam threshold_ = layer.threshold_; + const TypeParam threshold_ = layer_param.threshold_param().threshold(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); @@ -68,4 +69,24 @@ TYPED_TEST(ThresholdLayerTest, TestCPU) { } } +TYPED_TEST(ThresholdLayerTest, TestCPU2) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + ThresholdLayerParameter* threshold_param = + layer_param.mutable_threshold_param(); + threshold_param->set_threshold(0.5); + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + const TypeParam threshold_ = layer_param.threshold_param().threshold(); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + EXPECT_GE(top_data[i], 0.); + EXPECT_LE(top_data[i], 1.); + EXPECT_TRUE(top_data[i] == 0 && bottom_data[i] <= threshold_); + EXPECT_TRUE(top_data[i] == 1 && bottom_data[i] > threshold_); + } +} } // namespace caffe From 0c8f32e51d8e89afe4d09c6ce1001bcc8639b33f Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 17:14:00 -0700 Subject: [PATCH 073/408] Added NeuronLayer::SetUp(bottom, top) to ThresholdLayer --- src/caffe/test/test_threshold_layer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 7191bb29513..6232d0c2c6d 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -89,4 +89,5 @@ TYPED_TEST(ThresholdLayerTest, TestCPU2) { EXPECT_TRUE(top_data[i] == 1 && bottom_data[i] > threshold_); } } + } // namespace caffe From 876766bce609acaa4a668c6d4eab2bfba7d03a5f Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 18:42:50 -0700 Subject: [PATCH 074/408] Added the code for threshold_layer to the repo --- src/caffe/layers/threshold_layer.cpp | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/caffe/layers/threshold_layer.cpp diff --git a/src/caffe/layers/threshold_layer.cpp b/src/caffe/layers/threshold_layer.cpp new file mode 100644 index 00000000000..bec89cde63a --- /dev/null +++ b/src/caffe/layers/threshold_layer.cpp @@ -0,0 +1,32 @@ +// Copyright 2014 BVLC and contributors. + +#include + +#include "caffe/layer.hpp" +#include "caffe/vision_layers.hpp" + + +namespace caffe { + +template +void ThresholdLayer::SetUp(const vector*>& bottom, + vector*>* top) { + NeuronLayer::SetUp(bottom, top); + threshold_ = this->layer_param_.threshold_param().threshold(); +} + +template +Dtype ThresholdLayer::Forward_cpu(const vector*>& bottom, + vector*>* top) { + const Dtype* bottom_data = bottom[0]->cpu_data(); + Dtype* top_data = (*top)[0]->mutable_cpu_data(); + const int count = bottom[0]->count(); + for (int i = 0; i < count; ++i) { + top_data[i] = ( bottom_data[i] > threshold_) ? Dtype(1) : Dtype(0); + } + return Dtype(0); +} + +INSTANTIATE_CLASS(ThresholdLayer); + +} // namespace caffe From 01d582b6d11f7965cd54fe3c0d32f7b12ac7c56f Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 18:47:57 -0700 Subject: [PATCH 075/408] Fix typo in test_threshold ThresholdParameter --- src/caffe/test/test_threshold_layer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 6232d0c2c6d..25e9f0222cb 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -72,7 +72,7 @@ TYPED_TEST(ThresholdLayerTest, TestCPU) { TYPED_TEST(ThresholdLayerTest, TestCPU2) { LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); - ThresholdLayerParameter* threshold_param = + ThresholdParameter* threshold_param = layer_param.mutable_threshold_param(); threshold_param->set_threshold(0.5); ThresholdLayer layer(layer_param); @@ -82,6 +82,7 @@ TYPED_TEST(ThresholdLayerTest, TestCPU2) { const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); const TypeParam* top_data = this->blob_top_->cpu_data(); const TypeParam threshold_ = layer_param.threshold_param().threshold(); + EXPECT_FLOAT_EQ(threshold_,0.5); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); From c5c41884323dab271547457dcefd36caa18b523f Mon Sep 17 00:00:00 2001 From: Sergio Guadarrama Date: Thu, 15 May 2014 18:58:04 -0700 Subject: [PATCH 076/408] Corrected conditions in test_threshold --- src/caffe/test/test_threshold_layer.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 25e9f0222cb..4f87d0d03dd 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -64,8 +64,12 @@ TYPED_TEST(ThresholdLayerTest, TestCPU) { for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); - EXPECT_TRUE(top_data[i] == 0 && bottom_data[i] <= threshold_); - EXPECT_TRUE(top_data[i] == 1 && bottom_data[i] > threshold_); + if (top_data[i] == 0) { + EXPECT_LE(bottom_data[i],threshold_); + } + if (top_data[i] == 1) { + EXPECT_GT(bottom_data[i],threshold_); + } } } @@ -86,8 +90,12 @@ TYPED_TEST(ThresholdLayerTest, TestCPU2) { for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); - EXPECT_TRUE(top_data[i] == 0 && bottom_data[i] <= threshold_); - EXPECT_TRUE(top_data[i] == 1 && bottom_data[i] > threshold_); + if (top_data[i] == 0) { + EXPECT_LE(bottom_data[i],threshold_); + } + if (top_data[i] == 1) { + EXPECT_TRUE(bottom_data[i] > threshold_); + } } } From 27d53249d1479c62548ba95d0ed3929ed0cfb57e Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 10:54:21 -0700 Subject: [PATCH 077/408] Added Threshold layer to neuron_layers.hpp --- include/caffe/neuron_layers.hpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index 4e67a29ace3..85d5a1607fd 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -202,6 +202,34 @@ class TanHLayer : public NeuronLayer { const bool propagate_down, vector*>* bottom); }; +/* ThresholdLayer + Outputs 1 if value in input is above threshold, 0 otherwise. + The defult threshold = 0, which means positive values would become 1 and + negative or 0, would become 0 + + y = 1 if x > threshold + y = 0 if x <= threshold + y' = don't have +*/ +template +class ThresholdLayer : public NeuronLayer { + public: + explicit DropoutLayer(const LayerParameter& param) + : NeuronLayer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const bool propagate_down, vector*>* bottom) { + NOT_IMPLEMENTED; + } + + Dtype threshold_; +}; + } // namespace caffe #endif // CAFFE_NEURON_LAYERS_HPP_ From 868dd61449a85dfed2f2807b9178584098473166 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 10:57:26 -0700 Subject: [PATCH 078/408] Added ForwardGPU to ThresholdLayer and to the tests --- include/caffe/neuron_layers.hpp | 7 ++-- src/caffe/layers/threshold_layer.cu | 38 ++++++++++++++++++++ src/caffe/test/test_threshold_layer.cpp | 48 +++++++++++++++++++++++++ 3 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 src/caffe/layers/threshold_layer.cu diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index 85d5a1607fd..180ce7a2b97 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -209,7 +209,8 @@ class TanHLayer : public NeuronLayer { y = 1 if x > threshold y = 0 if x <= threshold - y' = don't have + + y' = don't differenciable */ template class ThresholdLayer : public NeuronLayer { @@ -222,11 +223,13 @@ class ThresholdLayer : public NeuronLayer { protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); virtual void Backward_cpu(const vector*>& top, const bool propagate_down, vector*>* bottom) { NOT_IMPLEMENTED; } - + Dtype threshold_; }; diff --git a/src/caffe/layers/threshold_layer.cu b/src/caffe/layers/threshold_layer.cu new file mode 100644 index 00000000000..0497507655b --- /dev/null +++ b/src/caffe/layers/threshold_layer.cu @@ -0,0 +1,38 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include + +#include "caffe/layer.hpp" +#include "caffe/vision_layers.hpp" + +using std::max; + +namespace caffe { + +template +__global__ void ThresholdForward(const int n, const, threshold, const Dtype* in, Dtype* out) { + CUDA_KERNEL_LOOP(index, n) { + out[index] = in[index] > threshold ? 1 : 0; + } +} + +template +Dtype ThresholdLayer::Forward_gpu(const vector*>& bottom, + vector*>* top) { + const Dtype* bottom_data = bottom[0]->gpu_data(); + Dtype* top_data = (*top)[0]->mutable_gpu_data(); + const int count = bottom[0]->count(); + // NOLINT_NEXT_LINE(whitespace/operators) + ReLUForward<<>>( + count, threshold_, bottom_data, top_data); + CUDA_POST_KERNEL_CHECK; + + return Dtype(0); +} + + +INSTANTIATE_CLASS(ReLULayer); + + +} // namespace caffe diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 4f87d0d03dd..b8f9d9697ec 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -99,4 +99,52 @@ TYPED_TEST(ThresholdLayerTest, TestCPU2) { } } +TYPED_TEST(ThresholdLayerTest, TestGPU) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::GPU); + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + const TypeParam threshold_ = layer_param.threshold_param().threshold(); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + EXPECT_GE(top_data[i], 0.); + EXPECT_LE(top_data[i], 1.); + if (top_data[i] == 0) { + EXPECT_LE(bottom_data[i],threshold_); + } + if (top_data[i] == 1) { + EXPECT_GT(bottom_data[i],threshold_); + } + } +} + +TYPED_TEST(ThresholdLayerTest, TestGPU2) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::GPU); + ThresholdParameter* threshold_param = + layer_param.mutable_threshold_param(); + threshold_param->set_threshold(0.5); + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + const TypeParam threshold_ = layer_param.threshold_param().threshold(); + EXPECT_FLOAT_EQ(threshold_,0.5); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + EXPECT_GE(top_data[i], 0.); + EXPECT_LE(top_data[i], 1.); + if (top_data[i] == 0) { + EXPECT_LE(bottom_data[i],threshold_); + } + if (top_data[i] == 1) { + EXPECT_TRUE(bottom_data[i] > threshold_); + } + } +} + } // namespace caffe From 1e87c20e2e7ca22f8848ea27f23959f6f6dc28a3 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 10:59:36 -0700 Subject: [PATCH 079/408] Fixed typo in Threshold Layer definition --- include/caffe/neuron_layers.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index 180ce7a2b97..5118e8a5225 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -215,7 +215,7 @@ class TanHLayer : public NeuronLayer { template class ThresholdLayer : public NeuronLayer { public: - explicit DropoutLayer(const LayerParameter& param) + explicit ThresholdLayer(const LayerParameter& param) : NeuronLayer(param) {} virtual void SetUp(const vector*>& bottom, vector*>* top); From 6f9de3e7c5a0979c7d26db2056fff5741c2b374d Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 11:01:19 -0700 Subject: [PATCH 080/408] Fixed type in ThresholdLayer.cu --- src/caffe/layers/threshold_layer.cu | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/caffe/layers/threshold_layer.cu b/src/caffe/layers/threshold_layer.cu index 0497507655b..624a8221486 100644 --- a/src/caffe/layers/threshold_layer.cu +++ b/src/caffe/layers/threshold_layer.cu @@ -11,7 +11,8 @@ using std::max; namespace caffe { template -__global__ void ThresholdForward(const int n, const, threshold, const Dtype* in, Dtype* out) { +__global__ void ThresholdForward(const int n, const Dtype threshold, + const Dtype* in, Dtype* out) { CUDA_KERNEL_LOOP(index, n) { out[index] = in[index] > threshold ? 1 : 0; } From 8cb4e45fb7301b02e36df40827f8fc56eaf8e2f6 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 11:02:20 -0700 Subject: [PATCH 081/408] Fixed call to ThresholdForward in ThresholdLayer.cu --- src/caffe/layers/threshold_layer.cu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/layers/threshold_layer.cu b/src/caffe/layers/threshold_layer.cu index 624a8221486..61b1eca81d3 100644 --- a/src/caffe/layers/threshold_layer.cu +++ b/src/caffe/layers/threshold_layer.cu @@ -25,7 +25,7 @@ Dtype ThresholdLayer::Forward_gpu(const vector*>& bottom, Dtype* top_data = (*top)[0]->mutable_gpu_data(); const int count = bottom[0]->count(); // NOLINT_NEXT_LINE(whitespace/operators) - ReLUForward<<>>( + ThresholdForward<<>>( count, threshold_, bottom_data, top_data); CUDA_POST_KERNEL_CHECK; From 8c405388f4f028f5f802c3622fd5b6bdfd0591b7 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 11:06:56 -0700 Subject: [PATCH 082/408] Make lint happy --- src/caffe/layers/threshold_layer.cpp | 2 +- src/caffe/test/test_threshold_layer.cpp | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/caffe/layers/threshold_layer.cpp b/src/caffe/layers/threshold_layer.cpp index bec89cde63a..e6ed8a6b40e 100644 --- a/src/caffe/layers/threshold_layer.cpp +++ b/src/caffe/layers/threshold_layer.cpp @@ -22,7 +22,7 @@ Dtype ThresholdLayer::Forward_cpu(const vector*>& bottom, Dtype* top_data = (*top)[0]->mutable_cpu_data(); const int count = bottom[0]->count(); for (int i = 0; i < count; ++i) { - top_data[i] = ( bottom_data[i] > threshold_) ? Dtype(1) : Dtype(0); + top_data[i] = (bottom_data[i] > threshold_) ? Dtype(1) : Dtype(0); } return Dtype(0); } diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index b8f9d9697ec..8303e442007 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -65,10 +65,10 @@ TYPED_TEST(ThresholdLayerTest, TestCPU) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); if (top_data[i] == 0) { - EXPECT_LE(bottom_data[i],threshold_); + EXPECT_LE(bottom_data[i], threshold_); } if (top_data[i] == 1) { - EXPECT_GT(bottom_data[i],threshold_); + EXPECT_GT(bottom_data[i], threshold_); } } } @@ -86,15 +86,15 @@ TYPED_TEST(ThresholdLayerTest, TestCPU2) { const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); const TypeParam* top_data = this->blob_top_->cpu_data(); const TypeParam threshold_ = layer_param.threshold_param().threshold(); - EXPECT_FLOAT_EQ(threshold_,0.5); + EXPECT_FLOAT_EQ(threshold_, 0.5); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); if (top_data[i] == 0) { - EXPECT_LE(bottom_data[i],threshold_); + EXPECT_LE(bottom_data[i], threshold_); } if (top_data[i] == 1) { - EXPECT_TRUE(bottom_data[i] > threshold_); + EXPECT_GT(bottom_data[i], threshold_); } } } @@ -113,10 +113,10 @@ TYPED_TEST(ThresholdLayerTest, TestGPU) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); if (top_data[i] == 0) { - EXPECT_LE(bottom_data[i],threshold_); + EXPECT_LE(bottom_data[i], threshold_); } if (top_data[i] == 1) { - EXPECT_GT(bottom_data[i],threshold_); + EXPECT_GT(bottom_data[i], threshold_); } } } @@ -134,15 +134,15 @@ TYPED_TEST(ThresholdLayerTest, TestGPU2) { const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); const TypeParam* top_data = this->blob_top_->cpu_data(); const TypeParam threshold_ = layer_param.threshold_param().threshold(); - EXPECT_FLOAT_EQ(threshold_,0.5); + EXPECT_FLOAT_EQ(threshold_, 0.5); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); if (top_data[i] == 0) { - EXPECT_LE(bottom_data[i],threshold_); + EXPECT_LE(bottom_data[i], threshold_); } if (top_data[i] == 1) { - EXPECT_TRUE(bottom_data[i] > threshold_); + EXPECT_GT(bottom_data[i], threshold_); } } } From c4e4ca82e47c37ed1ef09cf94a43153bd5a0c374 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 11:44:17 -0700 Subject: [PATCH 083/408] Comment Test GPUs cases --- src/caffe/test/test_threshold_layer.cpp | 92 ++++++++++++------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 8303e442007..a34972ef575 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -99,52 +99,52 @@ TYPED_TEST(ThresholdLayerTest, TestCPU2) { } } -TYPED_TEST(ThresholdLayerTest, TestGPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - ThresholdLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - const TypeParam threshold_ = layer_param.threshold_param().threshold(); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_GE(top_data[i], 0.); - EXPECT_LE(top_data[i], 1.); - if (top_data[i] == 0) { - EXPECT_LE(bottom_data[i], threshold_); - } - if (top_data[i] == 1) { - EXPECT_GT(bottom_data[i], threshold_); - } - } -} +// TYPED_TEST(ThresholdLayerTest, TestGPU) { +// LayerParameter layer_param; +// Caffe::set_mode(Caffe::GPU); +// ThresholdLayer layer(layer_param); +// layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); +// layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); +// // Now, check values +// const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); +// const TypeParam* top_data = this->blob_top_->cpu_data(); +// const TypeParam threshold_ = layer_param.threshold_param().threshold(); +// for (int i = 0; i < this->blob_bottom_->count(); ++i) { +// EXPECT_GE(top_data[i], 0.); +// EXPECT_LE(top_data[i], 1.); +// if (top_data[i] == 0) { +// EXPECT_LE(bottom_data[i], threshold_); +// } +// if (top_data[i] == 1) { +// EXPECT_GT(bottom_data[i], threshold_); +// } +// } +// } -TYPED_TEST(ThresholdLayerTest, TestGPU2) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - ThresholdParameter* threshold_param = - layer_param.mutable_threshold_param(); - threshold_param->set_threshold(0.5); - ThresholdLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - const TypeParam threshold_ = layer_param.threshold_param().threshold(); - EXPECT_FLOAT_EQ(threshold_, 0.5); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_GE(top_data[i], 0.); - EXPECT_LE(top_data[i], 1.); - if (top_data[i] == 0) { - EXPECT_LE(bottom_data[i], threshold_); - } - if (top_data[i] == 1) { - EXPECT_GT(bottom_data[i], threshold_); - } - } -} +// TYPED_TEST(ThresholdLayerTest, TestGPU2) { +// LayerParameter layer_param; +// Caffe::set_mode(Caffe::GPU); +// ThresholdParameter* threshold_param = +// layer_param.mutable_threshold_param(); +// threshold_param->set_threshold(0.5); +// ThresholdLayer layer(layer_param); +// layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); +// layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); +// // Now, check values +// const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); +// const TypeParam* top_data = this->blob_top_->cpu_data(); +// const TypeParam threshold_ = layer_param.threshold_param().threshold(); +// EXPECT_FLOAT_EQ(threshold_, 0.5); +// for (int i = 0; i < this->blob_bottom_->count(); ++i) { +// EXPECT_GE(top_data[i], 0.); +// EXPECT_LE(top_data[i], 1.); +// if (top_data[i] == 0) { +// EXPECT_LE(bottom_data[i], threshold_); +// } +// if (top_data[i] == 1) { +// EXPECT_GT(bottom_data[i], threshold_); +// } +// } +// } } // namespace caffe From 5a4c9bcdfc4f08faa34bda22ce6a364b7095821a Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 27 May 2014 11:54:53 -0700 Subject: [PATCH 084/408] Un comment Test GPUs cases, fixed ThresholdLayer.cu --- src/caffe/layers/threshold_layer.cu | 2 +- src/caffe/test/test_threshold_layer.cpp | 92 ++++++++++++------------- 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/src/caffe/layers/threshold_layer.cu b/src/caffe/layers/threshold_layer.cu index 61b1eca81d3..03eb3f32d49 100644 --- a/src/caffe/layers/threshold_layer.cu +++ b/src/caffe/layers/threshold_layer.cu @@ -33,7 +33,7 @@ Dtype ThresholdLayer::Forward_gpu(const vector*>& bottom, } -INSTANTIATE_CLASS(ReLULayer); +INSTANTIATE_CLASS(ThresholdLayer); } // namespace caffe diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index a34972ef575..8303e442007 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -99,52 +99,52 @@ TYPED_TEST(ThresholdLayerTest, TestCPU2) { } } -// TYPED_TEST(ThresholdLayerTest, TestGPU) { -// LayerParameter layer_param; -// Caffe::set_mode(Caffe::GPU); -// ThresholdLayer layer(layer_param); -// layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); -// layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); -// // Now, check values -// const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); -// const TypeParam* top_data = this->blob_top_->cpu_data(); -// const TypeParam threshold_ = layer_param.threshold_param().threshold(); -// for (int i = 0; i < this->blob_bottom_->count(); ++i) { -// EXPECT_GE(top_data[i], 0.); -// EXPECT_LE(top_data[i], 1.); -// if (top_data[i] == 0) { -// EXPECT_LE(bottom_data[i], threshold_); -// } -// if (top_data[i] == 1) { -// EXPECT_GT(bottom_data[i], threshold_); -// } -// } -// } +TYPED_TEST(ThresholdLayerTest, TestGPU) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::GPU); + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + const TypeParam threshold_ = layer_param.threshold_param().threshold(); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + EXPECT_GE(top_data[i], 0.); + EXPECT_LE(top_data[i], 1.); + if (top_data[i] == 0) { + EXPECT_LE(bottom_data[i], threshold_); + } + if (top_data[i] == 1) { + EXPECT_GT(bottom_data[i], threshold_); + } + } +} -// TYPED_TEST(ThresholdLayerTest, TestGPU2) { -// LayerParameter layer_param; -// Caffe::set_mode(Caffe::GPU); -// ThresholdParameter* threshold_param = -// layer_param.mutable_threshold_param(); -// threshold_param->set_threshold(0.5); -// ThresholdLayer layer(layer_param); -// layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); -// layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); -// // Now, check values -// const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); -// const TypeParam* top_data = this->blob_top_->cpu_data(); -// const TypeParam threshold_ = layer_param.threshold_param().threshold(); -// EXPECT_FLOAT_EQ(threshold_, 0.5); -// for (int i = 0; i < this->blob_bottom_->count(); ++i) { -// EXPECT_GE(top_data[i], 0.); -// EXPECT_LE(top_data[i], 1.); -// if (top_data[i] == 0) { -// EXPECT_LE(bottom_data[i], threshold_); -// } -// if (top_data[i] == 1) { -// EXPECT_GT(bottom_data[i], threshold_); -// } -// } -// } +TYPED_TEST(ThresholdLayerTest, TestGPU2) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::GPU); + ThresholdParameter* threshold_param = + layer_param.mutable_threshold_param(); + threshold_param->set_threshold(0.5); + ThresholdLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + const TypeParam threshold_ = layer_param.threshold_param().threshold(); + EXPECT_FLOAT_EQ(threshold_, 0.5); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + EXPECT_GE(top_data[i], 0.); + EXPECT_LE(top_data[i], 1.); + if (top_data[i] == 0) { + EXPECT_LE(bottom_data[i], threshold_); + } + if (top_data[i] == 1) { + EXPECT_GT(bottom_data[i], threshold_); + } + } +} } // namespace caffe From ec84febd9c69b5c1f6cda58cba73d48c1064e89b Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 28 May 2014 17:18:22 -0700 Subject: [PATCH 085/408] fix OSX 10.9 homebrew CXX doc clang++ and not clang as accidentally committed in 2dcbcd9. --- docs/installation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 1210bfc615e..a6f9f137027 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -111,7 +111,7 @@ If you're not using Anaconda, include `hdf5` in the list above. #### 10.9-specific Instructions -In OS X 10.9, clang is the default compiler and uses `libc++` as the standard library. +In OS X 10.9, clang++ is the default C++ compiler and uses `libc++` as the standard library. However, NVIDIA CUDA (even version 6.0) currently links only with `libstdc++`. This makes it necessary to change the compilation settings for each of the dependencies. @@ -130,7 +130,7 @@ For each of these formulas, `brew edit FORMULA`, and add the ENV definitions as ENV.append "CFLAGS", "-stdlib=libstdc++" ENV.append "LDFLAGS", "-stdlib=libstdc++ -lstdc++" # The following is necessary because libtool likes to strip LDFLAGS: - ENV["CXX"] = "/usr/bin/clang -stdlib=libstdc++" + ENV["CXX"] = "/usr/bin/clang++ -stdlib=libstdc++" ... To edit the formulae in turn, run From cc30340f0150f5c58c410b981a4fbd7eed0bd932 Mon Sep 17 00:00:00 2001 From: Rob Currie Date: Thu, 29 May 2014 14:46:29 -0700 Subject: [PATCH 086/408] Update docs on building boost on OSX for the python wrappers --- docs/installation.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/installation.md b/docs/installation.md index a6f9f137027..b84ae3b83e4 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -144,6 +144,10 @@ After this, run **Note** that the HDF5 dependency is provided by Anaconda Python in this case. If you're not using Anaconda, include `hdf5` in the list above. +**Note** that in order to build the caffe python wrappers you must install boost using the --with-python option: + + brew install --build-from-source --with-python --fresh -vd boost + #### Windows There is an unofficial Windows port of Caffe at [niuzhiheng/caffe:windows](https://github.com/niuzhiheng/caffe). Thanks [@niuzhiheng](https://github.com/niuzhiheng). From d21da02474a0f5be28ce62517de017be761ac8e0 Mon Sep 17 00:00:00 2001 From: Jerod Weinman Date: Mon, 2 Jun 2014 15:54:25 -0500 Subject: [PATCH 087/408] Added an iscolor flag to io.cpp method ReadImageToDatum to handle grayscale images and a corresponding commandline flag [-g] to convert_imageset.cpp. --- include/caffe/util/io.hpp | 8 +++++++- src/caffe/util/io.cpp | 25 ++++++++++++++++++------- tools/convert_imageset.cpp | 35 +++++++++++++++++++++-------------- 3 files changed, 46 insertions(+), 22 deletions(-) diff --git a/include/caffe/util/io.hpp b/include/caffe/util/io.hpp index 056b573db4c..829293ecaef 100644 --- a/include/caffe/util/io.hpp +++ b/include/caffe/util/io.hpp @@ -61,13 +61,19 @@ inline void WriteProtoToBinaryFile( } bool ReadImageToDatum(const string& filename, const int label, - const int height, const int width, Datum* datum); + const int height, const int width, const bool iscolor, Datum* datum); + +inline bool ReadImageToDatum(const string& filename, const int label, + const int height, const int width, Datum* datum) { + return ReadImageToDatum(filename, label, height, width, true, datum); +} inline bool ReadImageToDatum(const string& filename, const int label, Datum* datum) { return ReadImageToDatum(filename, label, 0, 0, datum); } + template void hdf5_load_nd_dataset_helper( hid_t file_id, const char* dataset_name_, int min_dim, int max_dim, diff --git a/src/caffe/util/io.cpp b/src/caffe/util/io.cpp index 44858f48a36..f2650e9a22a 100644 --- a/src/caffe/util/io.cpp +++ b/src/caffe/util/io.cpp @@ -72,32 +72,43 @@ void WriteProtoToBinaryFile(const Message& proto, const char* filename) { } bool ReadImageToDatum(const string& filename, const int label, - const int height, const int width, Datum* datum) { + const int height, const int width, const bool iscolor, Datum* datum) { cv::Mat cv_img; + int cv_read_flag = (iscolor ? CV_LOAD_IMAGE_COLOR : CV_LOAD_IMAGE_GRAYSCALE); if (height > 0 && width > 0) { - cv::Mat cv_img_origin = cv::imread(filename, CV_LOAD_IMAGE_COLOR); + cv::Mat cv_img_origin = cv::imread(filename, cv_read_flag); cv::resize(cv_img_origin, cv_img, cv::Size(height, width)); } else { - cv_img = cv::imread(filename, CV_LOAD_IMAGE_COLOR); + cv_img = cv::imread(filename, cv_read_flag); } if (!cv_img.data) { LOG(ERROR) << "Could not open or find file " << filename; return false; } - datum->set_channels(3); + int num_channels = (iscolor ? 3 : 1); + datum->set_channels(num_channels); datum->set_height(cv_img.rows); datum->set_width(cv_img.cols); datum->set_label(label); datum->clear_data(); datum->clear_float_data(); string* datum_string = datum->mutable_data(); - for (int c = 0; c < 3; ++c) { + if (iscolor) { + for (int c = 0; c < num_channels; ++c) { + for (int h = 0; h < cv_img.rows; ++h) { + for (int w = 0; w < cv_img.cols; ++w) { + datum_string->push_back( + static_cast(cv_img.at(h, w)[c])); + } + } + } + } else { // Faster than repeatedly testing iscolor for each pixel w/i loop for (int h = 0; h < cv_img.rows; ++h) { for (int w = 0; w < cv_img.cols; ++w) { datum_string->push_back( - static_cast(cv_img.at(h, w)[c])); + static_cast(cv_img.at(h, w))); + } } - } } return true; } diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index 2420f9538fb..bbf848adc8a 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -2,7 +2,7 @@ // This program converts a set of images to a leveldb by storing them as Datum // proto buffers. // Usage: -// convert_imageset ROOTFOLDER/ LISTFILE DB_NAME RANDOM_SHUFFLE[0 or 1] \ +// convert_imageset [-g] ROOTFOLDER/ LISTFILE DB_NAME RANDOM_SHUFFLE[0 or 1] \ // [resize_height] [resize_width] // where ROOTFOLDER is the root folder that holds all the images, and LISTFILE // should be a list of files as well as their labels, in the format as @@ -10,6 +10,9 @@ // .... // if RANDOM_SHUFFLE is 1, a random shuffle will be carried out before we // process the file lines. +// Optional flag -g indicates the images should be read as +// single-channel grayscale. If omitted, grayscale images will be +// converted to color. #include #include @@ -30,24 +33,28 @@ using std::string; int main(int argc, char** argv) { ::google::InitGoogleLogging(argv[0]); - if (argc < 4 || argc > 7) { + if (argc < 4 || argc > 8) { printf("Convert a set of images to the leveldb format used\n" "as input for Caffe.\n" "Usage:\n" - " convert_imageset ROOTFOLDER/ LISTFILE DB_NAME" + " convert_imageset [-g] ROOTFOLDER/ LISTFILE DB_NAME" " RANDOM_SHUFFLE_DATA[0 or 1] [resize_height] [resize_width]\n" "The ImageNet dataset for the training demo is at\n" " http://www.image-net.org/download-images\n"); return 1; } - std::ifstream infile(argv[2]); + + // Test whether argv[1] == "-g" + bool iscolor= !(string("-g") == string(argv[1])); + int arg_offset = (iscolor ? 0 : 1); + std::ifstream infile(argv[arg_offset+2]); std::vector > lines; string filename; int label; while (infile >> filename >> label) { lines.push_back(std::make_pair(filename, label)); } - if (argc >= 5 && argv[4][0] == '1') { + if (argc >= (arg_offset+5) && argv[arg_offset+4][0] == '1') { // randomly shuffle data LOG(INFO) << "Shuffling data"; std::random_shuffle(lines.begin(), lines.end()); @@ -55,11 +62,11 @@ int main(int argc, char** argv) { LOG(INFO) << "A total of " << lines.size() << " images."; int resize_height = 0; int resize_width = 0; - if (argc >= 6) { - resize_height = atoi(argv[5]); + if (argc >= (arg_offset+6)) { + resize_height = atoi(argv[arg_offset+5]); } - if (argc >= 7) { - resize_width = atoi(argv[6]); + if (argc >= (arg_offset+7)) { + resize_width = atoi(argv[arg_offset+6]); } leveldb::DB* db; @@ -67,12 +74,12 @@ int main(int argc, char** argv) { options.error_if_exists = true; options.create_if_missing = true; options.write_buffer_size = 268435456; - LOG(INFO) << "Opening leveldb " << argv[3]; + LOG(INFO) << "Opening leveldb " << argv[arg_offset+3]; leveldb::Status status = leveldb::DB::Open( - options, argv[3], &db); - CHECK(status.ok()) << "Failed to open leveldb " << argv[3]; + options, argv[arg_offset+3], &db); + CHECK(status.ok()) << "Failed to open leveldb " << argv[arg_offset+3]; - string root_folder(argv[1]); + string root_folder(argv[arg_offset+1]); Datum datum; int count = 0; const int kMaxKeyLength = 256; @@ -82,7 +89,7 @@ int main(int argc, char** argv) { bool data_size_initialized = false; for (int line_id = 0; line_id < lines.size(); ++line_id) { if (!ReadImageToDatum(root_folder + lines[line_id].first, - lines[line_id].second, resize_height, resize_width, &datum)) { + lines[line_id].second, resize_height, resize_width, iscolor, &datum)) { continue; } if (!data_size_initialized) { From a8dfed49e36d2d90a9be8633514a350936e2f5ee Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 2 Jun 2014 23:47:09 -0700 Subject: [PATCH 088/408] compile debug/release into separate directories so you don't have to rebuild the whole thing to switch back and forth --- Makefile | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index a092ac890fc..2c42516cebf 100644 --- a/Makefile +++ b/Makefile @@ -4,6 +4,19 @@ PROJECT := caffe CONFIG_FILE := Makefile.config include $(CONFIG_FILE) +BUILD_DIR_LINK := $(BUILD_DIR) +RELEASE_BUILD_DIR := .$(BUILD_DIR)_release +DEBUG_BUILD_DIR := .$(BUILD_DIR)_debug + +DEBUG ?= 0 +ifeq ($(DEBUG), 1) + BUILD_DIR := $(DEBUG_BUILD_DIR) + OTHER_BUILD_DIR := $(RELEASE_BUILD_DIR) +else + BUILD_DIR := $(RELEASE_BUILD_DIR) + OTHER_BUILD_DIR := $(DEBUG_BUILD_DIR) +endif + # The target static library and shared library name LIB_BUILD_DIR := $(BUILD_DIR)/lib NAME := $(LIB_BUILD_DIR)/lib$(PROJECT).so @@ -167,7 +180,6 @@ ifeq ($(OSX), 1) endif # Debugging -DEBUG ?= 0 ifeq ($(DEBUG), 1) COMMON_FLAGS := -DDEBUG -g -O0 else @@ -277,7 +289,19 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) runtest: $(TEST_ALL_BIN) $(TEST_ALL_BIN) $(TEST_GPUID) --gtest_shuffle -$(ALL_BUILD_DIRS): +$(BUILD_DIR_LINK): $(BUILD_DIR)/.linked + +# Create a target ".linked" in this BUILD_DIR to tell Make that the "build" link +# is currently correct, then delete the one in the OTHER_BUILD_DIR in case it +# exists and $(DEBUG) is toggled later. +$(BUILD_DIR)/.linked: + @ mkdir -p $(BUILD_DIR) + @ $(RM) $(OTHER_BUILD_DIR)/.linked + @ $(RM) $(BUILD_DIR_LINK) + @ ln -s $(BUILD_DIR) $(BUILD_DIR_LINK) + @ touch $@ + +$(ALL_BUILD_DIRS): | $(BUILD_DIR_LINK) @ mkdir -p $@ $(NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) @@ -357,7 +381,7 @@ proto: $(PROTO_GEN_CC) $(PROTO_GEN_HEADER) $(PROTO_BUILD_DIR)/%.pb.cc $(PROTO_BUILD_DIR)/%.pb.h : \ $(PROTO_SRC_DIR)/%.proto | $(PROTO_BUILD_DIR) - protoc --proto_path=src --cpp_out=build/src $< + protoc --proto_path=src --cpp_out=$(BUILD_DIR)/src $< @ echo $(PY_PROTO_BUILD_DIR)/%_pb2.py : $(PROTO_SRC_DIR)/%.proto \ @@ -370,6 +394,8 @@ $(PY_PROTO_INIT): | $(PY_PROTO_BUILD_DIR) clean: @- $(RM) -rf $(ALL_BUILD_DIRS) + @- $(RM) -rf $(OTHER_BUILD_DIR) + @- $(RM) -rf $(BUILD_DIR_LINK) @- $(RM) -rf $(DISTRIBUTE_DIR) @- $(RM) $(PY$(PROJECT)_SO) @- $(RM) $(MAT$(PROJECT)_SO) From add82f97ce3eec3b8fec55457eea8f4a6dd7daad Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 2 Jun 2014 23:57:37 -0700 Subject: [PATCH 089/408] update .gitignore appropriately for separate debug/release build dirs --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index fee9a6baac1..292716666f1 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,9 @@ *.mex* # build, distribute, and bins -build/* +build +.build_debug/* +.build_release/* distribute/* *.testbin *.bin From 713c873a0a7651a4c7ac0e91438757ab90bddc72 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 5 Jun 2014 17:20:30 -0700 Subject: [PATCH 090/408] Make TanH cleaner, more efficient, and possible to use in-place --- src/caffe/layers/tanh_layer.cpp | 11 +++++------ src/caffe/layers/tanh_layer.cu | 20 +++++++------------- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/caffe/layers/tanh_layer.cpp b/src/caffe/layers/tanh_layer.cpp index 46d11d0a17a..66f530f82d5 100644 --- a/src/caffe/layers/tanh_layer.cpp +++ b/src/caffe/layers/tanh_layer.cpp @@ -18,8 +18,8 @@ Dtype TanHLayer::Forward_cpu(const vector*>& bottom, Dtype exp2x; const int count = bottom[0]->count(); for (int i = 0; i < count; ++i) { - exp2x = exp(2*bottom_data[i]); - top_data[i] = (exp2x - Dtype(1))/(exp2x + Dtype(1)); + exp2x = exp(2 * bottom_data[i]); + top_data[i] = (exp2x - Dtype(1)) / (exp2x + Dtype(1)); } return Dtype(0); } @@ -29,16 +29,15 @@ void TanHLayer::Backward_cpu(const vector*>& top, const bool propagate_down, vector*>* bottom) { if (propagate_down) { - const Dtype* bottom_data = (*bottom)[0]->cpu_data(); + const Dtype* top_data = top[0]->cpu_data(); const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); const int count = (*bottom)[0]->count(); Dtype exp2x; Dtype tanhx; for (int i = 0; i < count; ++i) { - exp2x = exp(2*bottom_data[i]); - tanhx = (exp2x - Dtype(1))/(exp2x + Dtype(1)); - bottom_diff[i] = top_diff[i] * (1 - tanhx*tanhx); + tanhx = top_data[i]; + bottom_diff[i] = top_diff[i] * (1 - tanhx * tanhx); } } } diff --git a/src/caffe/layers/tanh_layer.cu b/src/caffe/layers/tanh_layer.cu index 13bb001ffc0..aa822d84f38 100644 --- a/src/caffe/layers/tanh_layer.cu +++ b/src/caffe/layers/tanh_layer.cu @@ -13,8 +13,8 @@ namespace caffe { template __global__ void TanHForward(const int n, const Dtype* in, Dtype* out) { CUDA_KERNEL_LOOP(index, n) { - Dtype exp2x = exp(2*in[index]); - out[index] = (exp2x - Dtype(1))/(exp2x + Dtype(1)); + Dtype exp2x = exp(2 * in[index]); + out[index] = (exp2x - Dtype(1)) / (exp2x + Dtype(1)); } } @@ -28,21 +28,15 @@ Dtype TanHLayer::Forward_gpu(const vector*>& bottom, TanHForward<<>>( count, bottom_data, top_data); CUDA_POST_KERNEL_CHECK; - // << " count: " << count << " bottom_data: " - // << (unsigned long)bottom_data - // << " top_data: " << (unsigned long)top_data - // << " blocks: " << CAFFE_GET_BLOCKS(count) - // << " threads: " << CAFFE_CUDA_NUM_THREADS; return Dtype(0); } template __global__ void TanHBackward(const int n, const Dtype* in_diff, - const Dtype* in_data, Dtype* out_diff) { + const Dtype* out_data, Dtype* out_diff) { CUDA_KERNEL_LOOP(index, n) { - Dtype exp2x = exp(2*in_data[index]); - Dtype tanhx = (exp2x - Dtype(1))/(exp2x + Dtype(1)); - out_diff[index] = in_diff[index] * (1 - tanhx*tanhx); + Dtype tanhx = out_data[index]; + out_diff[index] = in_diff[index] * (1 - tanhx * tanhx); } } @@ -51,13 +45,13 @@ void TanHLayer::Backward_gpu(const vector*>& top, const bool propagate_down, vector*>* bottom) { if (propagate_down) { - const Dtype* bottom_data = (*bottom)[0]->gpu_data(); + const Dtype* top_data = top[0]->gpu_data(); const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); const int count = (*bottom)[0]->count(); // NOLINT_NEXT_LINE(whitespace/operators) TanHBackward<<>>( - count, top_diff, bottom_data, bottom_diff); + count, top_diff, top_data, bottom_diff); CUDA_POST_KERNEL_CHECK; } } From 0d257e431404ad11df48816b85a94898bc86bf13 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 5 Jun 2014 10:53:42 -0700 Subject: [PATCH 091/408] padding for max pooling Max pooling pads by -inf if the padding parameter is set. Padding for pooling, like padding for convolution, can preserve the dimensions of the bottom at the top. By setting the padding to floor(kernel_size / 2) the top output is the "same" instead of the "valid" part of the bottom input. --- src/caffe/layers/pooling_layer.cpp | 14 +++++++++----- src/caffe/layers/pooling_layer.cu | 24 ++++++++++++++---------- src/caffe/proto/caffe.proto | 3 ++- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 5d6921f1da8..80ce4df6d29 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -32,9 +32,11 @@ void PoolingLayer::SetUp(const vector*>& bottom, stride_ = this->layer_param_.pooling_param().stride(); pad_ = this->layer_param_.pooling_param().pad(); if (pad_ != 0) { - CHECK_EQ(this->layer_param_.pooling_param().pool(), - PoolingParameter_PoolMethod_AVE) - << "Padding implemented only for average pooling."; + CHECK(this->layer_param_.pooling_param().pool() + == PoolingParameter_PoolMethod_AVE + || this->layer_param_.pooling_param().pool() + == PoolingParameter_PoolMethod_MAX) + << "Padding implemented only for average and max pooling."; } channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); @@ -92,10 +94,12 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, for (int c = 0; c < channels_; ++c) { for (int ph = 0; ph < pooled_height_; ++ph) { for (int pw = 0; pw < pooled_width_; ++pw) { - int hstart = ph * stride_; - int wstart = pw * stride_; + int hstart = ph * stride_ - pad_; + int wstart = pw * stride_ - pad_; int hend = min(hstart + kernel_size_, height_); int wend = min(wstart + kernel_size_, width_); + hstart = max(hstart, 0); + wstart = max(wstart, 0); const int pool_index = ph * pooled_width_ + pw; for (int h = hstart; h < hend; ++h) { for (int w = wstart; w < wend; ++w) { diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 31be47efc0c..7bb397bba47 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -17,17 +17,19 @@ template __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* top_data, + const int kernel_size, const int stride, const int pad, Dtype* top_data, int* mask, Dtype* top_mask) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int c = (index / pooled_width / pooled_height) % channels; int n = index / pooled_width / pooled_height / channels; - int hstart = ph * stride; + int hstart = ph * stride - pad; + int wstart = pw * stride - pad; int hend = min(hstart + kernel_size, height); - int wstart = pw * stride; int wend = min(wstart + kernel_size, width); + hstart = max(hstart, 0); + wstart = max(wstart, 0); Dtype maxval = -FLT_MAX; int maxidx = -1; bottom_data += (n * channels + c) * height * width; @@ -170,7 +172,7 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, MaxPoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, - top_data, mask, top_mask); + pad_, top_data, mask, top_mask); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) @@ -212,7 +214,7 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, const int* mask, const Dtype* top_mask, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, const int kernel_size, const int stride, - Dtype* bottom_diff) { + const int pad, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset @@ -220,10 +222,12 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, int h = (index / width) % height; int c = (index / width / height) % channels; int n = index / width / height / channels; - int phstart = (h < kernel_size) ? 0 : (h - kernel_size) / stride + 1; - int phend = min(h / stride + 1, pooled_height); - int pwstart = (w < kernel_size) ? 0 : (w - kernel_size) / stride + 1; - int pwend = min(w / stride + 1, pooled_width); + int phstart = + (h + pad < kernel_size) ? 0 : (h + pad - kernel_size) / stride + 1; + int phend = min((h + pad) / stride + 1, pooled_height); + int pwstart = + (w + pad < kernel_size) ? 0 : (w + pad - kernel_size) / stride + 1; + int pwend = min((w + pad) / stride + 1, pooled_width); Dtype gradient = 0; int offset = (n * channels + c) * pooled_height * pooled_width; top_diff += offset; @@ -342,7 +346,7 @@ void PoolingLayer::Backward_gpu(const vector*>& top, MaxPoolBackward<<>>( count, top_diff, mask, top_mask, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, - kernel_size_, stride_, bottom_diff); + kernel_size_, stride_, pad_, bottom_diff); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 7d44085b118..e540a95a921 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -353,7 +353,8 @@ message PoolingParameter { optional PoolMethod pool = 1 [default = MAX]; // The pooling method optional uint32 kernel_size = 2; // The kernel size optional uint32 stride = 3 [default = 1]; // The stride - // The padding size -- currently implemented only for average pooling. + // The padding size -- currently implemented only for average and max pooling. + // average pooling zero pads. max pooling -inf pads. optional uint32 pad = 4 [default = 0]; } From 223918825e12e3e1147cc196d8527147fad8c675 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 6 Jun 2014 13:59:19 -0700 Subject: [PATCH 092/408] check the last pooling in padding and add padded max pooling test [Adapted from a commit by @jeffdonahue by @shelhamer.] --- src/caffe/layers/pooling_layer.cpp | 19 +++++- src/caffe/layers/pooling_layer.cu | 5 +- src/caffe/test/test_pooling_layer.cpp | 94 +++++++++++++++++++++++++++ 3 files changed, 112 insertions(+), 6 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 80ce4df6d29..929d7dfaa02 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -37,6 +37,7 @@ void PoolingLayer::SetUp(const vector*>& bottom, || this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX) << "Padding implemented only for average and max pooling."; + CHECK_LT(pad_, kernel_size_); } channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); @@ -45,6 +46,18 @@ void PoolingLayer::SetUp(const vector*>& bottom, height_ + 2 * pad_ - kernel_size_) / stride_)) + 1; pooled_width_ = static_cast(ceil(static_cast( width_ + 2 * pad_ - kernel_size_) / stride_)) + 1; + if (pad_) { + // If we have padding, ensure that the last pooling starts strictly + // inside the image (instead of at the padding); otherwise clip the last. + if ((pooled_height_ - 1) * stride_ >= height_ + pad_) { + --pooled_height_; + } + if ((pooled_width_ - 1) * stride_ >= width_ + pad_) { + --pooled_width_; + } + CHECK_LT((pooled_height_ - 1) * stride_, height_ + pad_); + CHECK_LT((pooled_width_ - 1) * stride_, width_ + pad_); + } (*top)[0]->Reshape(bottom[0]->num(), channels_, pooled_height_, pooled_width_); if (top->size() > 1) { @@ -71,13 +84,13 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { const Dtype* bottom_data = bottom[0]->cpu_data(); Dtype* top_data = (*top)[0]->mutable_cpu_data(); - // Different pooling methods. We explicitly do the switch outside the for - // loop to save time, although this results in more codes. - int top_count = (*top)[0]->count(); + const int top_count = (*top)[0]->count(); // We'll output the mask to top[1] if it's of size >1. const bool use_top_mask = top->size() > 1; int* mask; Dtype* top_mask; + // Different pooling methods. We explicitly do the switch outside the for + // loop to save time, although this results in more code. switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // Initialize diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 7bb397bba47..abba6252cc6 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -328,8 +328,8 @@ void PoolingLayer::Backward_gpu(const vector*>& top, } const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); - int count = (*bottom)[0]->count(); - CUDA_CHECK(cudaMemset(bottom_diff, 0, sizeof(Dtype) * count)); + const int count = (*bottom)[0]->count(); + caffe_gpu_set(count, Dtype(0.), bottom_diff); // We'll output the mask to top[1] if it's of size >1. const bool use_top_mask = top.size() > 1; const int* mask = NULL; @@ -341,7 +341,6 @@ void PoolingLayer::Backward_gpu(const vector*>& top, } else { mask = max_idx_->gpu_data(); } - caffe_gpu_set(count, Dtype(0.), bottom_diff); // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolBackward<<>>( count, top_diff, mask, top_mask, top[0]->num(), channels_, diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index 6628fc5dfc6..b13d11f6c6d 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -232,6 +232,7 @@ TYPED_TEST(PoolingLayerTest, TestCPUGradientMax) { PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(2); + pooling_param->set_pad(1); pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); Caffe::set_mode(Caffe::CPU); PoolingLayer layer(layer_param); @@ -245,6 +246,7 @@ TYPED_TEST(PoolingLayerTest, TestGPUGradientMax) { PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(2); + pooling_param->set_pad(1); pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); Caffe::set_mode(Caffe::GPU); PoolingLayer layer(layer_param); @@ -253,6 +255,98 @@ TYPED_TEST(PoolingLayerTest, TestGPUGradientMax) { &(this->blob_top_vec_)); } +TYPED_TEST(PoolingLayerTest, TestCPUForwardMaxPadded) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); + pooling_param->set_pad(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + Caffe::set_mode(Caffe::CPU); + this->blob_bottom_->Reshape(1, 1, 3, 3); + // Input: + // [ 1 2 4 ] + // [ 2 3 2 ] + // [ 4 2 1 ] + this->blob_bottom_->mutable_cpu_data()[0] = 1; + this->blob_bottom_->mutable_cpu_data()[1] = 2; + this->blob_bottom_->mutable_cpu_data()[2] = 4; + this->blob_bottom_->mutable_cpu_data()[3] = 2; + this->blob_bottom_->mutable_cpu_data()[4] = 3; + this->blob_bottom_->mutable_cpu_data()[5] = 2; + this->blob_bottom_->mutable_cpu_data()[6] = 4; + this->blob_bottom_->mutable_cpu_data()[7] = 2; + this->blob_bottom_->mutable_cpu_data()[8] = 1; + PoolingLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + EXPECT_EQ(this->blob_top_->num(), 1); + EXPECT_EQ(this->blob_top_->channels(), 1); + EXPECT_EQ(this->blob_top_->height(), 3); + EXPECT_EQ(this->blob_top_->width(), 3); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + TypeParam epsilon = 1e-8; + // Output: + // [ 1 4 4 ] + // [ 4 4 4 ] + // [ 4 4 1 ] + EXPECT_NEAR(this->blob_top_->cpu_data()[0], 1, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[1], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[2], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[3], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[4], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[5], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[6], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[7], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[8], 1, epsilon); +} + + +TYPED_TEST(PoolingLayerTest, TestGPUForwardMaxPadded) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_size(3); + pooling_param->set_stride(2); + pooling_param->set_pad(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + Caffe::set_mode(Caffe::GPU); + this->blob_bottom_->Reshape(1, 1, 3, 3); + // Input: + // [ 1 2 4 ] + // [ 2 3 2 ] + // [ 4 2 1 ] + this->blob_bottom_->mutable_cpu_data()[0] = 1; + this->blob_bottom_->mutable_cpu_data()[1] = 2; + this->blob_bottom_->mutable_cpu_data()[2] = 4; + this->blob_bottom_->mutable_cpu_data()[3] = 2; + this->blob_bottom_->mutable_cpu_data()[4] = 3; + this->blob_bottom_->mutable_cpu_data()[5] = 2; + this->blob_bottom_->mutable_cpu_data()[6] = 4; + this->blob_bottom_->mutable_cpu_data()[7] = 2; + this->blob_bottom_->mutable_cpu_data()[8] = 1; + PoolingLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + EXPECT_EQ(this->blob_top_->num(), 1); + EXPECT_EQ(this->blob_top_->channels(), 1); + EXPECT_EQ(this->blob_top_->height(), 3); + EXPECT_EQ(this->blob_top_->width(), 3); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + TypeParam epsilon = 1e-8; + // Output: + // [ 1 4 4 ] + // [ 4 4 4 ] + // [ 4 4 1 ] + EXPECT_NEAR(this->blob_top_->cpu_data()[0], 1, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[1], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[2], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[3], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[4], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[5], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[6], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[7], 4, epsilon); + EXPECT_NEAR(this->blob_top_->cpu_data()[8], 1, epsilon); +} + + TYPED_TEST(PoolingLayerTest, TestCPUGradientMaxTopMask) { LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); From 781761eb74744bb00f6b9579eecbe868e180c570 Mon Sep 17 00:00:00 2001 From: Jerod Weinman Date: Sun, 8 Jun 2014 15:46:23 -0500 Subject: [PATCH 093/408] Changed variable name: iscolor to is_color. --- include/caffe/util/io.hpp | 2 +- src/caffe/util/io.cpp | 11 ++++++----- tools/convert_imageset.cpp | 6 +++--- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/caffe/util/io.hpp b/include/caffe/util/io.hpp index 829293ecaef..4458096ef78 100644 --- a/include/caffe/util/io.hpp +++ b/include/caffe/util/io.hpp @@ -61,7 +61,7 @@ inline void WriteProtoToBinaryFile( } bool ReadImageToDatum(const string& filename, const int label, - const int height, const int width, const bool iscolor, Datum* datum); + const int height, const int width, const bool is_color, Datum* datum); inline bool ReadImageToDatum(const string& filename, const int label, const int height, const int width, Datum* datum) { diff --git a/src/caffe/util/io.cpp b/src/caffe/util/io.cpp index f2650e9a22a..65f82547071 100644 --- a/src/caffe/util/io.cpp +++ b/src/caffe/util/io.cpp @@ -72,9 +72,10 @@ void WriteProtoToBinaryFile(const Message& proto, const char* filename) { } bool ReadImageToDatum(const string& filename, const int label, - const int height, const int width, const bool iscolor, Datum* datum) { + const int height, const int width, const bool is_color, Datum* datum) { cv::Mat cv_img; - int cv_read_flag = (iscolor ? CV_LOAD_IMAGE_COLOR : CV_LOAD_IMAGE_GRAYSCALE); + int cv_read_flag = (is_color ? CV_LOAD_IMAGE_COLOR : + CV_LOAD_IMAGE_GRAYSCALE); if (height > 0 && width > 0) { cv::Mat cv_img_origin = cv::imread(filename, cv_read_flag); cv::resize(cv_img_origin, cv_img, cv::Size(height, width)); @@ -85,7 +86,7 @@ bool ReadImageToDatum(const string& filename, const int label, LOG(ERROR) << "Could not open or find file " << filename; return false; } - int num_channels = (iscolor ? 3 : 1); + int num_channels = (is_color ? 3 : 1); datum->set_channels(num_channels); datum->set_height(cv_img.rows); datum->set_width(cv_img.cols); @@ -93,7 +94,7 @@ bool ReadImageToDatum(const string& filename, const int label, datum->clear_data(); datum->clear_float_data(); string* datum_string = datum->mutable_data(); - if (iscolor) { + if (is_color) { for (int c = 0; c < num_channels; ++c) { for (int h = 0; h < cv_img.rows; ++h) { for (int w = 0; w < cv_img.cols; ++w) { @@ -102,7 +103,7 @@ bool ReadImageToDatum(const string& filename, const int label, } } } - } else { // Faster than repeatedly testing iscolor for each pixel w/i loop + } else { // Faster than repeatedly testing is_color for each pixel w/i loop for (int h = 0; h < cv_img.rows; ++h) { for (int w = 0; w < cv_img.cols; ++w) { datum_string->push_back( diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index bbf848adc8a..524d1950cb0 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -45,8 +45,8 @@ int main(int argc, char** argv) { } // Test whether argv[1] == "-g" - bool iscolor= !(string("-g") == string(argv[1])); - int arg_offset = (iscolor ? 0 : 1); + bool is_color= !(string("-g") == string(argv[1])); + int arg_offset = (is_color ? 0 : 1); std::ifstream infile(argv[arg_offset+2]); std::vector > lines; string filename; @@ -89,7 +89,7 @@ int main(int argc, char** argv) { bool data_size_initialized = false; for (int line_id = 0; line_id < lines.size(); ++line_id) { if (!ReadImageToDatum(root_folder + lines[line_id].first, - lines[line_id].second, resize_height, resize_width, iscolor, &datum)) { + lines[line_id].second, resize_height, resize_width, is_color, &datum)) { continue; } if (!data_size_initialized) { From 25aa12922c87a8a89e5b9c92d8f3d3aa261c8167 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 8 Jun 2014 18:08:24 -0700 Subject: [PATCH 094/408] fix Makefile build dir link upgrade bug reported by @jamt9000 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 2c42516cebf..c43b30ee33a 100644 --- a/Makefile +++ b/Makefile @@ -297,7 +297,7 @@ $(BUILD_DIR_LINK): $(BUILD_DIR)/.linked $(BUILD_DIR)/.linked: @ mkdir -p $(BUILD_DIR) @ $(RM) $(OTHER_BUILD_DIR)/.linked - @ $(RM) $(BUILD_DIR_LINK) + @ $(RM) -r $(BUILD_DIR_LINK) @ ln -s $(BUILD_DIR) $(BUILD_DIR_LINK) @ touch $@ From 69af0c8955c9be0c37e37d9fab702e1167c31b08 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 6 Jun 2014 15:40:26 -0700 Subject: [PATCH 095/408] layers declare their names and number of input/output blobs, and don't check top/bottom blob counts explicitly in SetUp; instead call base Layer::SetUp. --- include/caffe/data_layers.hpp | 35 +++++++++- include/caffe/layer.hpp | 72 +++++++++++++++++++- include/caffe/loss_layers.hpp | 27 ++++++++ include/caffe/neuron_layers.hpp | 34 ++++++++++ include/caffe/vision_layers.hpp | 83 +++++++++++++++++++++++- src/caffe/layers/accuracy_layer.cpp | 3 +- src/caffe/layers/argmax_layer.cpp | 3 +- src/caffe/layers/concat_layer.cpp | 6 +- src/caffe/layers/conv_layer.cpp | 3 +- src/caffe/layers/data_layer.cpp | 4 +- src/caffe/layers/eltwise_layer.cpp | 5 +- src/caffe/layers/flatten_layer.cpp | 3 +- src/caffe/layers/hdf5_data_layer.cpp | 4 +- src/caffe/layers/hdf5_output_layer.cpp | 8 --- src/caffe/layers/im2col_layer.cpp | 3 +- src/caffe/layers/image_data_layer.cpp | 3 +- src/caffe/layers/inner_product_layer.cpp | 3 +- src/caffe/layers/loss_layer.cpp | 3 +- src/caffe/layers/lrn_layer.cpp | 5 +- src/caffe/layers/memory_data_layer.cpp | 3 +- src/caffe/layers/neuron_layer.cpp | 3 +- src/caffe/layers/pooling_layer.cpp | 12 ++-- src/caffe/layers/softmax_layer.cpp | 3 +- src/caffe/layers/softmax_loss_layer.cpp | 3 +- src/caffe/layers/split_layer.cpp | 3 +- src/caffe/layers/window_data_layer.cpp | 4 +- 26 files changed, 272 insertions(+), 66 deletions(-) diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index d9865ce485b..4678b327994 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -28,7 +28,15 @@ class HDF5OutputLayer : public Layer { explicit HDF5OutputLayer(const LayerParameter& param); virtual ~HDF5OutputLayer(); virtual void SetUp(const vector*>& bottom, - vector*>* top); + vector*>* top) {} + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_HDF5_OUTPUT; + } + // TODO: no limit on the number of blobs + virtual inline int ExactNumBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 0; } + inline std::string file_name() const { return file_name_; } protected: @@ -58,6 +66,12 @@ class HDF5DataLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_HDF5_DATA; + } + virtual inline int ExactNumBottomBlobs() const { return 0; } + virtual inline int ExactNumTopBlobs() const { return 2; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -96,6 +110,13 @@ class DataLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_DATA; + } + virtual inline int ExactNumBottomBlobs() const { return 0; } + virtual inline int MinTopBlobs() const { return 1; } + virtual inline int MaxTopBlobs() const { return 2; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -141,6 +162,12 @@ class ImageDataLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_IMAGE_DATA; + } + virtual inline int ExactNumBottomBlobs() const { return 0; } + virtual inline int ExactNumTopBlobs() const { return 2; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -188,6 +215,12 @@ class WindowDataLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_WINDOW_DATA; + } + virtual inline int ExactNumBottomBlobs() const { return 0; } + virtual inline int ExactNumTopBlobs() const { return 2; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index 14bba63594b..af3d5441b34 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -3,11 +3,14 @@ #ifndef CAFFE_LAYER_H_ #define CAFFE_LAYER_H_ +#include #include + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/proto/caffe.pb.h" +using std::string; using std::vector; namespace caffe { @@ -30,9 +33,12 @@ class Layer { } } virtual ~Layer() {} - // SetUp: your function should implement this. + // SetUp: your function should implement this, and call Layer::SetUp for + // common SetUp functionality. virtual void SetUp(const vector*>& bottom, - vector*>* top) = 0; + vector*>* top) { + CheckBlobCounts(bottom, *top); + } // Forward and backward wrappers. You should implement the cpu and // gpu specific implementations instead, and should not change these @@ -53,6 +59,31 @@ class Layer { // Writes the layer parameter to a protocol buffer virtual void ToProto(LayerParameter* param, bool write_diff = false); + // Returns the layer type as an enum value. + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_NONE; + } + + // Returns the layer type name. + virtual inline const string& type_name() const { + return LayerParameter_LayerType_Name(type()); + } + + // These methods can be overwritten to declare that this layer type expects + // a certain number of blobs as input and output. + // + // ExactNum{Bottom,Top}Blobs return a non-negative number to require an exact + // number of bottom/top blobs; the Min/Max versions return a non-negative + // number to require a minimum and/or maximum number of blobs. + // If Exact is specified, neither Min nor Max should be specified, and vice + // versa. These methods may not rely on SetUp having been called. + virtual inline int ExactNumBottomBlobs() const { return -1; } + virtual inline int MinBottomBlobs() const { return -1; } + virtual inline int MaxBottomBlobs() const { return -1; } + virtual inline int ExactNumTopBlobs() const { return -1; } + virtual inline int MinTopBlobs() const { return -1; } + virtual inline int MaxTopBlobs() const { return -1; } + protected: // The protobuf that stores the layer parameters LayerParameter layer_param_; @@ -82,6 +113,43 @@ class Layer { Backward_cpu(top, propagate_down, bottom); } + // CheckBlobCounts: called by the parent Layer's SetUp to check that the + // number of bottom and top Blobs provided as input match the expected + // numbers specified by the {ExactNum,Min,Max}{Bottom,Top}Blobs() functions. + virtual void CheckBlobCounts(const vector*>& bottom, + const vector*>& top) { + if (ExactNumBottomBlobs() >= 0) { + CHECK_EQ(ExactNumBottomBlobs(), bottom.size()) + << type_name() << " Layer takes " << ExactNumBottomBlobs() + << " bottom blob(s) as input."; + } + if (MinBottomBlobs() >= 0) { + CHECK_LE(MinBottomBlobs(), bottom.size()) + << type_name() << " Layer takes at least " << MinBottomBlobs() + << " bottom blob(s) as input."; + } + if (MaxBottomBlobs() >= 0) { + CHECK_GE(MaxBottomBlobs(), bottom.size()) + << type_name() << " Layer takes at most " << MaxBottomBlobs() + << " bottom blob(s) as input."; + } + if (ExactNumTopBlobs() >= 0) { + CHECK_EQ(ExactNumTopBlobs(), top.size()) + << type_name() << " Layer produces " << ExactNumTopBlobs() + << " top blob(s) as output."; + } + if (MinTopBlobs() >= 0) { + CHECK_LE(MinTopBlobs(), top.size()) + << type_name() << " Layer produces at least " << MinTopBlobs() + << " top blob(s) as output."; + } + if (MaxTopBlobs() >= 0) { + CHECK_GE(MaxTopBlobs(), top.size()) + << type_name() << " Layer produces at most " << MaxTopBlobs() + << " top blob(s) as output."; + } + } + DISABLE_COPY_AND_ASSIGN(Layer); }; // class Layer diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index cc798c499d3..381bf0f4f8f 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -35,6 +35,9 @@ class LossLayer : public Layer { const vector*>& bottom, vector*>* top); virtual void FurtherSetUp( const vector*>& bottom, vector*>* top) {} + + virtual inline int ExactNumBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 0; } }; /* SigmoidCrossEntropyLossLayer @@ -49,6 +52,10 @@ class SigmoidCrossEntropyLossLayer : public LossLayer { virtual void FurtherSetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SIGMOID_CROSS_ENTROPY_LOSS; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -81,6 +88,10 @@ class EuclideanLossLayer : public LossLayer { virtual void FurtherSetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_EUCLIDEAN_LOSS; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -100,6 +111,10 @@ class InfogainLossLayer : public LossLayer { virtual void FurtherSetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_INFOGAIN_LOSS; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -117,6 +132,10 @@ class HingeLossLayer : public LossLayer { explicit HingeLossLayer(const LayerParameter& param) : LossLayer(param) {} + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_HINGE_LOSS; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -134,6 +153,10 @@ class MultinomialLogisticLossLayer : public LossLayer { virtual void FurtherSetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_MULTINOMIAL_LOGISTIC_LOSS; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -153,6 +176,10 @@ class AccuracyLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_ACCURACY; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index 5118e8a5225..ed664df7570 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -33,6 +33,12 @@ class NeuronLayer : public Layer { : Layer(param) {} virtual void SetUp(const vector*>& bottom, vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_NONE; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } }; /* BNLLLayer @@ -48,6 +54,10 @@ class BNLLLayer : public NeuronLayer { explicit BNLLLayer(const LayerParameter& param) : NeuronLayer(param) {} + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_BNLL; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -77,6 +87,10 @@ class DropoutLayer : public NeuronLayer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_DROPOUT; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -107,6 +121,10 @@ class PowerLayer : public NeuronLayer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_POWER; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -138,6 +156,10 @@ class ReLULayer : public NeuronLayer { explicit ReLULayer(const LayerParameter& param) : NeuronLayer(param) {} + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_RELU; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -167,6 +189,10 @@ class SigmoidLayer : public NeuronLayer { explicit SigmoidLayer(const LayerParameter& param) : NeuronLayer(param) {} + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SIGMOID; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -191,6 +217,10 @@ class TanHLayer : public NeuronLayer { explicit TanHLayer(const LayerParameter& param) : NeuronLayer(param) {} + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_TANH; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -220,6 +250,10 @@ class ThresholdLayer : public NeuronLayer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_THRESHOLD; + } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index a43f7f98c09..39779800bee 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -34,6 +34,12 @@ class ArgMaxLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_ARGMAX; + } + virtual inline int MinBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -56,6 +62,12 @@ class ConcatLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_CONCAT; + } + virtual inline int MinBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -85,6 +97,12 @@ class ConvolutionLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_CONVOLUTION; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -123,6 +141,12 @@ class EltwiseLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_ELTWISE; + } + virtual inline int MinBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -147,6 +171,12 @@ class FlattenLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_FLATTEN; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -170,6 +200,12 @@ class Im2colLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_IM2COL; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -198,6 +234,12 @@ class InnerProductLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_INNER_PRODUCT; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -230,6 +272,12 @@ class LRNLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_LRN; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -285,7 +333,7 @@ class LRNLayer : public Layer { vector*> product_bottom_vec_; }; -/* PoolingLayer +/* MemoryDataLayer */ template class MemoryDataLayer : public Layer { @@ -294,6 +342,13 @@ class MemoryDataLayer : public Layer { : Layer(param) {} virtual void SetUp(const vector*>& bottom, vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_MEMORY_DATA; + } + virtual inline int ExactNumBottomBlobs() { return 0; } + virtual inline int ExactNumTopBlobs() { return 2; } + // Reset should accept const pointers, but can't, because the memory // will be given to Blob, which is mutable void Reset(Dtype* data, Dtype* label, int n); @@ -331,6 +386,13 @@ class PoolingLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_POOLING; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int MinTopBlobs() const { return 1; } + virtual inline int MaxTopBlobs() const { return max_top_blobs_; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -341,6 +403,7 @@ class PoolingLayer : public Layer { virtual void Backward_gpu(const vector*>& top, const bool propagate_down, vector*>* bottom); + int max_top_blobs_; int kernel_size_; int stride_; int pad_; @@ -363,6 +426,12 @@ class SoftmaxLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SOFTMAX; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -395,6 +464,12 @@ class SoftmaxWithLossLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SOFTMAX_LOSS; + } + virtual inline int ExactNumBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 0; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); @@ -423,6 +498,12 @@ class SplitLayer : public Layer { virtual void SetUp(const vector*>& bottom, vector*>* top); + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SPLIT; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int MinTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index 3e671704465..fbc943eaf2d 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -17,8 +17,7 @@ namespace caffe { template void AccuracyLayer::SetUp( const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 2) << "Accuracy Layer takes two blobs as input."; - CHECK_EQ(top->size(), 1) << "Accuracy Layer takes 1 output."; + Layer::SetUp(bottom, top); CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; CHECK_EQ(bottom[1]->channels(), 1); diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index e04588d4baa..70ccfff5a36 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -12,8 +12,7 @@ namespace caffe { template void ArgMaxLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "ArgMaxLayer Layer takes 1 input."; - CHECK_EQ(top->size(), 1) << "ArgMaxLayer Layer takes 1 output."; + Layer::SetUp(bottom, top); out_max_val_ = this->layer_param_.argmax_param().out_max_val(); if (out_max_val_) { // Produces max_ind and max_val diff --git a/src/caffe/layers/concat_layer.cpp b/src/caffe/layers/concat_layer.cpp index 8036bdab675..4541ee74215 100644 --- a/src/caffe/layers/concat_layer.cpp +++ b/src/caffe/layers/concat_layer.cpp @@ -11,11 +11,7 @@ namespace caffe { template void ConcatLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_GT(bottom.size(), 1) << - "ConcatLayer takes at least two blobs as input."; - CHECK_EQ(top->size(), 1) << - "ConcatLayer takes a single blob as output."; - + Layer::SetUp(bottom, top); concat_dim_ = this->layer_param_.concat_param().concat_dim(); CHECK_GE(concat_dim_, 0) << "concat_dim should be >= 0"; diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index 55966b54bde..880b83afccb 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -13,8 +13,7 @@ namespace caffe { template void ConvolutionLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "Conv Layer takes a single blob as input."; - CHECK_EQ(top->size(), 1) << "Conv Layer takes a single blob as output."; + Layer::SetUp(bottom, top); kernel_size_ = this->layer_param_.convolution_param().kernel_size(); stride_ = this->layer_param_.convolution_param().stride(); group_ = this->layer_param_.convolution_param().group(); diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index 6d7392a6b2a..348753e5db9 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -129,9 +129,7 @@ DataLayer::~DataLayer() { template void DataLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 0) << "Data Layer takes no input blobs."; - CHECK_GE(top->size(), 1) << "Data Layer takes at least one blob as output."; - CHECK_LE(top->size(), 2) << "Data Layer takes at most two blobs as output."; + Layer::SetUp(bottom, top); if (top->size() == 1) { output_labels_ = false; } else { diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index 5d05124c4c8..5e5d760c993 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -11,10 +11,7 @@ namespace caffe { template void EltwiseLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_GE(bottom.size(), 2) << - "Eltwise Layer takes at least 2 blobs as input."; - CHECK_EQ(top->size(), 1) << - "Eltwise Layer takes a single blob as output."; + Layer::SetUp(bottom, top); CHECK(this->layer_param().eltwise_param().coeff_size() == 0 || this->layer_param().eltwise_param().coeff_size() == bottom.size()) << "Eltwise Layer takes one coefficient per bottom blob."; diff --git a/src/caffe/layers/flatten_layer.cpp b/src/caffe/layers/flatten_layer.cpp index e954030d260..95f4859f8d9 100644 --- a/src/caffe/layers/flatten_layer.cpp +++ b/src/caffe/layers/flatten_layer.cpp @@ -11,8 +11,7 @@ namespace caffe { template void FlattenLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "Flatten Layer takes a single blob as input."; - CHECK_EQ(top->size(), 1) << "Flatten Layer takes a single blob as output."; + Layer::SetUp(bottom, top); int channels_out = bottom[0]->channels() * bottom[0]->height() * bottom[0]->width(); (*top)[0]->Reshape(bottom[0]->num(), channels_out, 1, 1); diff --git a/src/caffe/layers/hdf5_data_layer.cpp b/src/caffe/layers/hdf5_data_layer.cpp index cff4f7c7318..d5c64f05696 100644 --- a/src/caffe/layers/hdf5_data_layer.cpp +++ b/src/caffe/layers/hdf5_data_layer.cpp @@ -52,9 +52,7 @@ void HDF5DataLayer::LoadHDF5FileData(const char* filename) { template void HDF5DataLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 0) << "HDF5DataLayer takes no input blobs."; - CHECK_EQ(top->size(), 2) << "HDF5DataLayer takes two blobs as output."; - + Layer::SetUp(bottom, top); // Read the source to parse the filenames. const string& source = this->layer_param_.hdf5_data_param().source(); LOG(INFO) << "Loading filename from " << source; diff --git a/src/caffe/layers/hdf5_output_layer.cpp b/src/caffe/layers/hdf5_output_layer.cpp index e491697e17c..0961b9b73a3 100644 --- a/src/caffe/layers/hdf5_output_layer.cpp +++ b/src/caffe/layers/hdf5_output_layer.cpp @@ -41,14 +41,6 @@ void HDF5OutputLayer::SaveBlobs() { LOG(INFO) << "Successfully saved " << data_blob_.num() << " rows"; } -template -void HDF5OutputLayer::SetUp(const vector*>& bottom, - vector*>* top) { - // TODO: no limit on the number of blobs - CHECK_EQ(bottom.size(), 2) << "HDF5OutputLayer takes two blobs as input."; - CHECK_EQ(top->size(), 0) << "HDF5OutputLayer takes no output blobs."; -} - template Dtype HDF5OutputLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { diff --git a/src/caffe/layers/im2col_layer.cpp b/src/caffe/layers/im2col_layer.cpp index 749ea3c2d6a..f0c26c9a1cb 100644 --- a/src/caffe/layers/im2col_layer.cpp +++ b/src/caffe/layers/im2col_layer.cpp @@ -12,8 +12,7 @@ namespace caffe { template void Im2colLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "Im2col Layer takes a single blob as input."; - CHECK_EQ(top->size(), 1) << "Im2col Layer takes a single blob as output."; + Layer::SetUp(bottom, top); kernel_size_ = this->layer_param_.convolution_param().kernel_size(); stride_ = this->layer_param_.convolution_param().stride(); pad_ = this->layer_param_.convolution_param().pad(); diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index ed064d0608d..9a79e72fedc 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -140,8 +140,7 @@ ImageDataLayer::~ImageDataLayer() { template void ImageDataLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 0) << "Input Layer takes no input blobs."; - CHECK_EQ(top->size(), 2) << "Input Layer takes two blobs as output."; + Layer::SetUp(bottom, top); const int new_height = this->layer_param_.image_data_param().new_height(); const int new_width = this->layer_param_.image_data_param().new_height(); CHECK((new_height == 0 && new_width == 0) || diff --git a/src/caffe/layers/inner_product_layer.cpp b/src/caffe/layers/inner_product_layer.cpp index c60261e9486..971254c9c45 100644 --- a/src/caffe/layers/inner_product_layer.cpp +++ b/src/caffe/layers/inner_product_layer.cpp @@ -14,8 +14,7 @@ namespace caffe { template void InnerProductLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "IP Layer takes a single blob as input."; - CHECK_EQ(top->size(), 1) << "IP Layer takes a single blob as output."; + Layer::SetUp(bottom, top); const int num_output = this->layer_param_.inner_product_param().num_output(); bias_term_ = this->layer_param_.inner_product_param().bias_term(); // Figure out the dimensions diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index 1efb6235f98..14ea975ad0d 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -17,8 +17,7 @@ namespace caffe { template void LossLayer::SetUp( const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 2) << "Loss Layer takes two blobs as input."; - CHECK_EQ(top->size(), 0) << "Loss Layer takes no output."; + Layer::SetUp(bottom, top); CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; FurtherSetUp(bottom, top); diff --git a/src/caffe/layers/lrn_layer.cpp b/src/caffe/layers/lrn_layer.cpp index 6f7af75957a..071e7198544 100644 --- a/src/caffe/layers/lrn_layer.cpp +++ b/src/caffe/layers/lrn_layer.cpp @@ -11,10 +11,7 @@ namespace caffe { template void LRNLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << - "Local Response Normalization Layer takes a single blob as input."; - CHECK_EQ(top->size(), 1) << - "Local Response Normalization Layer takes a single blob as output."; + Layer::SetUp(bottom, top); num_ = bottom[0]->num(); channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); diff --git a/src/caffe/layers/memory_data_layer.cpp b/src/caffe/layers/memory_data_layer.cpp index 60bce27b8c9..15eedb317e3 100644 --- a/src/caffe/layers/memory_data_layer.cpp +++ b/src/caffe/layers/memory_data_layer.cpp @@ -10,8 +10,7 @@ namespace caffe { template void MemoryDataLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 0) << "Memory Data Layer takes no blobs as input."; - CHECK_EQ(top->size(), 2) << "Memory Data Layer takes two blobs as output."; + Layer::SetUp(bottom, top); batch_size_ = this->layer_param_.memory_data_param().batch_size(); datum_channels_ = this->layer_param_.memory_data_param().channels(); datum_height_ = this->layer_param_.memory_data_param().height(); diff --git a/src/caffe/layers/neuron_layer.cpp b/src/caffe/layers/neuron_layer.cpp index e9dbd0eb75c..1b8fcecd482 100644 --- a/src/caffe/layers/neuron_layer.cpp +++ b/src/caffe/layers/neuron_layer.cpp @@ -10,8 +10,7 @@ namespace caffe { template void NeuronLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "Neuron Layer takes a single blob as input."; - CHECK_EQ(top->size(), 1) << "Neuron Layer takes a single blob as output."; + Layer::SetUp(bottom, top); // NeuronLayer allows in-place computations. If the computation is not // in-place, we will need to initialize the top blob. if ((*top)[0] != bottom[0]) { diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 929d7dfaa02..8f5f82d6ff7 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -18,16 +18,16 @@ namespace caffe { template void PoolingLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "PoolingLayer takes a single blob as input."; + // Set the max number of top blobs before calling base Layer::SetUp. + // If doing MAX pooling, we can optionally output an extra top Blob + // for the mask. Otherwise, we only have one top Blob. if (this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX) { - CHECK_GE(top->size(), 1) - << "MaxPoolingLayer takes at least one blob as output."; - CHECK_LE(top->size(), 2) - << "MaxPoolingLayer takes at most two blobs as output."; + max_top_blobs_ = 2; } else { - CHECK_EQ(top->size(), 1) << "PoolingLayer takes a single blob as output."; + max_top_blobs_ = 1; } + Layer::SetUp(bottom, top); kernel_size_ = this->layer_param_.pooling_param().kernel_size(); stride_ = this->layer_param_.pooling_param().stride(); pad_ = this->layer_param_.pooling_param().pad(); diff --git a/src/caffe/layers/softmax_layer.cpp b/src/caffe/layers/softmax_layer.cpp index e9983608e94..dbe16da2343 100644 --- a/src/caffe/layers/softmax_layer.cpp +++ b/src/caffe/layers/softmax_layer.cpp @@ -14,8 +14,7 @@ namespace caffe { template void SoftmaxLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "Softmax Layer takes a single blob as input."; - CHECK_EQ(top->size(), 1) << "Softmax Layer takes a single blob as output."; + Layer::SetUp(bottom, top); (*top)[0]->Reshape(bottom[0]->num(), bottom[0]->channels(), bottom[0]->height(), bottom[0]->width()); sum_multiplier_.Reshape(1, bottom[0]->channels(), diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index fecd7a520df..ef6eebabadd 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -15,8 +15,7 @@ namespace caffe { template void SoftmaxWithLossLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 2) << "SoftmaxLoss Layer takes two blobs as input."; - CHECK_EQ(top->size(), 0) << "SoftmaxLoss Layer takes no blob as output."; + Layer::SetUp(bottom, top); softmax_bottom_vec_.clear(); softmax_bottom_vec_.push_back(bottom[0]); softmax_top_vec_.push_back(&prob_); diff --git a/src/caffe/layers/split_layer.cpp b/src/caffe/layers/split_layer.cpp index aa2b6f6a308..2f99ca1842c 100644 --- a/src/caffe/layers/split_layer.cpp +++ b/src/caffe/layers/split_layer.cpp @@ -11,8 +11,7 @@ namespace caffe { template void SplitLayer::SetUp(const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 1) << "Split Layer takes a single blob as input."; - CHECK_GE(top->size(), 1) << "Split Layer takes at least one blob as output."; + Layer::SetUp(bottom, top); count_ = bottom[0]->count(); for (int i = 0; i < top->size(); ++i) { // Allow the 0th top blob to be 'in-place', but no others. diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index 862c0347082..e08bed7d56f 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -258,14 +258,12 @@ WindowDataLayer::~WindowDataLayer() { template void WindowDataLayer::SetUp(const vector*>& bottom, vector*>* top) { + Layer::SetUp(bottom, top); // SetUp runs through the window_file and creates two structures // that hold windows: one for foreground (object) windows and one // for background (non-object) windows. We use an overlap threshold // to decide which is which. - CHECK_EQ(bottom.size(), 0) << "Window data Layer takes no input blobs."; - CHECK_EQ(top->size(), 2) << "Window data Layer prodcues two blobs as output."; - // window_file format // repeated: // # image_index From fe969919bf2283ebaf6946dbe2e102b88a452240 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 8 Jun 2014 12:45:17 -0700 Subject: [PATCH 096/408] move MemoryDataLayer decl. from vision_layers.hpp to data_layers.hpp --- include/caffe/data_layers.hpp | 42 ++++++++++++++++++++++++++++++++ include/caffe/vision_layers.hpp | 43 --------------------------------- 2 files changed, 42 insertions(+), 43 deletions(-) diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 4678b327994..87be0f8e742 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -198,6 +198,48 @@ class ImageDataLayer : public Layer { Caffe::Phase phase_; }; +/* MemoryDataLayer +*/ +template +class MemoryDataLayer : public Layer { + public: + explicit MemoryDataLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_MEMORY_DATA; + } + virtual inline int ExactNumBottomBlobs() { return 0; } + virtual inline int ExactNumTopBlobs() { return 2; } + + // Reset should accept const pointers, but can't, because the memory + // will be given to Blob, which is mutable + void Reset(Dtype* data, Dtype* label, int n); + int datum_channels() { return datum_channels_; } + int datum_height() { return datum_height_; } + int datum_width() { return datum_width_; } + int batch_size() { return batch_size_; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const bool propagate_down, vector*>* bottom) { return; } + virtual void Backward_gpu(const vector*>& top, + const bool propagate_down, vector*>* bottom) { return; } + + Dtype* data_; + Dtype* labels_; + int datum_channels_; + int datum_height_; + int datum_width_; + int datum_size_; + int batch_size_; + int n_; + int pos_; +}; // This function is used to create a pthread that prefetches the window data. template diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 39779800bee..eb067bb624e 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -333,49 +333,6 @@ class LRNLayer : public Layer { vector*> product_bottom_vec_; }; -/* MemoryDataLayer -*/ -template -class MemoryDataLayer : public Layer { - public: - explicit MemoryDataLayer(const LayerParameter& param) - : Layer(param) {} - virtual void SetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_MEMORY_DATA; - } - virtual inline int ExactNumBottomBlobs() { return 0; } - virtual inline int ExactNumTopBlobs() { return 2; } - - // Reset should accept const pointers, but can't, because the memory - // will be given to Blob, which is mutable - void Reset(Dtype* data, Dtype* label, int n); - int datum_channels() { return datum_channels_; } - int datum_height() { return datum_height_; } - int datum_width() { return datum_width_; } - int batch_size() { return batch_size_; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } - virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } - - Dtype* data_; - Dtype* labels_; - int datum_channels_; - int datum_height_; - int datum_width_; - int datum_size_; - int batch_size_; - int n_; - int pos_; -}; - /* PoolingLayer */ template From 62b3537117eb0ec87dac9c403e558c72d6ab56fc Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sun, 8 Jun 2014 20:44:36 -0700 Subject: [PATCH 097/408] add fish bike example image --- examples/images/fish-bike.jpg | Bin 0 -> 47638 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/images/fish-bike.jpg diff --git a/examples/images/fish-bike.jpg b/examples/images/fish-bike.jpg new file mode 100644 index 0000000000000000000000000000000000000000..39d9bd432e202c3b34d2585c946aa1192cee226d GIT binary patch literal 47638 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

    kq>Gym80CfKVbmw`SP`ca~?JRS34yS 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 Date: Sun, 8 Jun 2014 22:44:32 -0700 Subject: [PATCH 098/408] fix ArgMaxLayer bug in num bottom blobs decl. pointed out by @sguada --- include/caffe/vision_layers.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index eb067bb624e..fc3dbbe1938 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -37,7 +37,7 @@ class ArgMaxLayer : public Layer { virtual inline LayerParameter_LayerType type() const { return LayerParameter_LayerType_ARGMAX; } - virtual inline int MinBottomBlobs() const { return 1; } + virtual inline int ExactNumBottomBlobs() const { return 1; } virtual inline int ExactNumTopBlobs() const { return 1; } protected: From 6442be3994222b07192150a44367a211165dd42f Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 8 Jun 2014 14:58:53 -0700 Subject: [PATCH 099/408] add DummyDataLayer --- include/caffe/data_layers.hpp | 27 +++++++ src/caffe/layer_factory.cpp | 2 + src/caffe/layers/dummy_data_layer.cpp | 100 ++++++++++++++++++++++++++ src/caffe/proto/caffe.proto | 26 +++++-- 4 files changed, 151 insertions(+), 4 deletions(-) create mode 100644 src/caffe/layers/dummy_data_layer.cpp diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 87be0f8e742..3d3ce94bc88 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -14,6 +14,7 @@ #include "caffe/blob.hpp" #include "caffe/common.hpp" +#include "caffe/filler.hpp" #include "caffe/layer.hpp" #include "caffe/proto/caffe.pb.h" @@ -146,6 +147,32 @@ class DataLayer : public Layer { Caffe::Phase phase_; }; +template +class DummyDataLayer : public Layer { + public: + explicit DummyDataLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_DUMMY_DATA; + } + virtual inline int ExactNumBottomBlobs() const { return 0; } + virtual inline int MinTopBlobs() const { return 1; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const bool propagate_down, vector*>* bottom) { return; } + virtual void Backward_gpu(const vector*>& top, + const bool propagate_down, vector*>* bottom) { return; } + + vector > > fillers_; + vector refill_; +}; + // This function is used to create a pthread that prefetches the data. template void* ImageDataLayerPrefetch(void* layer_pointer); diff --git a/src/caffe/layer_factory.cpp b/src/caffe/layer_factory.cpp index 58c20b1f430..d6e506dfb9f 100644 --- a/src/caffe/layer_factory.cpp +++ b/src/caffe/layer_factory.cpp @@ -36,6 +36,8 @@ Layer* GetLayer(const LayerParameter& param) { return new DataLayer(param); case LayerParameter_LayerType_DROPOUT: return new DropoutLayer(param); + case LayerParameter_LayerType_DUMMY_DATA: + return new DummyDataLayer(param); case LayerParameter_LayerType_EUCLIDEAN_LOSS: return new EuclideanLossLayer(param); case LayerParameter_LayerType_ELTWISE: diff --git a/src/caffe/layers/dummy_data_layer.cpp b/src/caffe/layers/dummy_data_layer.cpp new file mode 100644 index 00000000000..38568580485 --- /dev/null +++ b/src/caffe/layers/dummy_data_layer.cpp @@ -0,0 +1,100 @@ +// Copyright 2014 BVLC and contributors. + +#include + +#include "caffe/filler.hpp" +#include "caffe/layer.hpp" +#include "caffe/vision_layers.hpp" + +namespace caffe { + +template +void DummyDataLayer::SetUp(const vector*>& bottom, + vector*>* top) { + const int num_top = top->size(); + const DummyDataParameter& param = this->layer_param_.dummy_data_param(); + const int num_data_filler = param.data_filler_size(); + CHECK(num_data_filler == 0 || num_data_filler == 1 || + num_data_filler == num_top) + << "Number of data fillers must be 0, 1 or equal to the number of tops: " + << num_top << "; you specified " << num_data_filler << " data fillers."; + CHECK(param.num_size() == 1 || param.num_size() == num_top) + << "Must specify either a single (1) 'num' or one for each top blob (" + << num_top << "); you specified " << param.num_size() << "."; + CHECK(param.channels_size() == 1 || param.channels_size() == num_top) + << "Must specify either a single (1) 'channels' or one for each top blob (" + << num_top << "); you specified " << param.channels_size() << "."; + CHECK(param.height_size() == 1 || param.height_size() == num_top) + << "Must specify either a single (1) 'height' or one for each top blob (" + << num_top << "); you specified " << param.height_size() << "."; + CHECK(param.width_size() == 1 || param.width_size() == num_top) + << "Must specify either a single (1) 'width' or one for each top blob (" + << num_top << "); you specified " << param.width_size() << "."; + // refill_[i] tells Forward i whether or not to actually refill top Blob i. + // If refill_[i] is false, Forward does nothing for Blob i. We use this to + // avoid wastefully refilling "constant" Blobs in every forward pass. + // We first fill refill_ in with the INVERSE of its final values. + // The first time we run Forward from the SetUp method, we'll fill only the + // Blobs for which refill_ is normally false. These Blobs will never be + // filled again. + refill_.clear(); + fillers_.clear(); + if (num_data_filler <= 1) { + FillerParameter filler_param; + if (num_data_filler == 0) { + filler_param.set_type("constant"); + filler_param.set_value(0); + } else { + filler_param.CopyFrom(param.data_filler(0)); + } + // Refill on each iteration iff not using a constant filler, + // but use the inverse of this rule for the first run. + refill_.resize(1); + refill_[0] = (strcmp(filler_param.type().c_str(), "constant") == 0); + fillers_.resize(1); + fillers_[0].reset(GetFiller(filler_param)); + } else { + refill_.resize(num_top); + fillers_.resize(num_top); + for (int i = 0; i < num_top; ++i) { + fillers_[i].reset(GetFiller(param.data_filler(i))); + // Refill on each iteration iff not using a constant filler, + // but use the inverse of this rule for the first run. + refill_[i] = + (strcmp(param.data_filler(i).type().c_str(), "constant") == 0); + } + } + for (int i = 0; i < num_top; ++i) { + const int num = (param.num_size() == 1) ? param.num(0) : param.num(i); + const int channels = + (param.channels_size() == 1) ? param.channels(0) : param.channels(i); + const int height = + (param.height_size() == 1) ? param.height(0) : param.height(i); + const int width = + (param.width_size() == 1) ? param.width(0) : param.width(i); + (*top)[i]->Reshape(num, channels, height, width); + } + // Run Forward once, with refill_ inverted, to fill the constant Blobs. + Forward(bottom, top); + // Invert the inverted refill_ values to refill the desired (non-constant) + // Blobs in every usual forward pass. + for (int i = 0; i < refill_.size(); ++i) { + refill_[i] = !refill_[i]; + } +} + +template +Dtype DummyDataLayer::Forward_cpu(const vector*>& bottom, + vector*>* top) { + for (int i = 0; i < top->size(); ++i) { + const int filler_id = (fillers_.size() > 1) ? i : 0; + if (refill_[filler_id]) { + fillers_[filler_id]->Fill((*top)[i]); + } + } + return Dtype(0.); +} + +INSTANTIATE_CLASS(DummyDataLayer); + +} // namespace caffe diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index e540a95a921..60c7daa9031 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -115,7 +115,7 @@ message SolverState { // NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available ID: 25 (last added: eltwise_param) +// LayerParameter next available ID: 27 (last added: dummy_data_param) message LayerParameter { repeated string bottom = 2; // the name of the bottom blobs repeated string top = 3; // the name of the top blobs @@ -127,7 +127,7 @@ message LayerParameter { // line above the enum. Update the next available ID when you add a new // LayerType. // - // LayerType next available ID: 32 (last added: THRESHOLD) + // LayerType next available ID: 33 (last added: DUMMY_DATA) enum LayerType { // "NONE" layer type is 0th enum element so that we don't cause confusion // by defaulting to an existent LayerType (instead, should usually error if @@ -140,6 +140,7 @@ message LayerParameter { CONVOLUTION = 4; DATA = 5; DROPOUT = 6; + DUMMY_DATA = 32; EUCLIDEAN_LOSS = 7; ELTWISE = 25; FLATTEN = 8; @@ -175,13 +176,12 @@ message LayerParameter { // The weight decay that is multiplied on the global weight decay. repeated float weight_decay = 8; - // Parameters for particular layer types. - // Parameters next available ID: 26 (last added: ThresholdParameter) optional ArgMaxParameter argmax_param = 23; optional ConcatParameter concat_param = 9; optional ConvolutionParameter convolution_param = 10; optional DataParameter data_param = 11; optional DropoutParameter dropout_param = 12; + optional DummyDataParameter dummy_data_param = 26; optional EltwiseParameter eltwise_param = 24; optional HDF5DataParameter hdf5_data_param = 13; optional HDF5OutputParameter hdf5_output_param = 14; @@ -254,6 +254,24 @@ message DropoutParameter { optional float dropout_ratio = 1 [default = 0.5]; // dropout ratio } +// Message that stores parameters used by DummyDataLayer. +// DummyDataLayer fills any number of arbitrarily shaped blobs with random +// (or constant) data generated by "Fillers" (see "message FillerParameter"). +message DummyDataParameter { + // This layer produces N >= 1 top blobs. DummyDataParameter must specify 1 or N + // num, N channels, N height, and N width fields, and must specify 0, 1 or N + // data_fillers. + // + // If 0 data_fillers are specified, ConstantFiller with a value of 0 is used. + // If 1 data_filler is specified, it is applied to all top blobs. If N are + // specified, the ith is applied to the ith top blob. + repeated FillerParameter data_filler = 1; + repeated uint32 num = 2; + repeated uint32 channels = 3; + repeated uint32 height = 4; + repeated uint32 width = 5; +} + // Message that stores parameters used by EltwiseLayer message EltwiseParameter { enum EltwiseOp { From a8ab6277742ee414413c562855360eca5463c064 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 8 Jun 2014 16:04:41 -0700 Subject: [PATCH 100/408] add DummyDataLayer tests --- src/caffe/test/test_dummy_data_layer.cpp | 202 +++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 src/caffe/test/test_dummy_data_layer.cpp diff --git a/src/caffe/test/test_dummy_data_layer.cpp b/src/caffe/test/test_dummy_data_layer.cpp new file mode 100644 index 00000000000..7d9287e86ab --- /dev/null +++ b/src/caffe/test/test_dummy_data_layer.cpp @@ -0,0 +1,202 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include + +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/proto/caffe.pb.h" +#include "caffe/test/test_caffe_main.hpp" + +using std::string; +using std::stringstream; + +namespace caffe { + +extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; + +template +class DummyDataLayerTest : public ::testing::Test { + protected: + DummyDataLayerTest() + : blob_top_a_(new Blob()), + blob_top_b_(new Blob()), + blob_top_c_(new Blob()) {} + + virtual void SetUp() { + blob_bottom_vec_.clear(); + blob_top_vec_.clear(); + blob_top_vec_.push_back(blob_top_a_); + blob_top_vec_.push_back(blob_top_b_); + blob_top_vec_.push_back(blob_top_c_); + } + + virtual ~DummyDataLayerTest() { + delete blob_top_a_; + delete blob_top_b_; + delete blob_top_c_; + } + + Blob* const blob_top_a_; + Blob* const blob_top_b_; + Blob* const blob_top_c_; + vector*> blob_bottom_vec_; + vector*> blob_top_vec_; +}; + +typedef ::testing::Types Dtypes; +TYPED_TEST_CASE(DummyDataLayerTest, Dtypes); + +TYPED_TEST(DummyDataLayerTest, TestOneTopConstant) { + Caffe::set_mode(Caffe::CPU); + LayerParameter param; + DummyDataParameter* dummy_data_param = param.mutable_dummy_data_param(); + dummy_data_param->add_num(5); + dummy_data_param->add_channels(3); + dummy_data_param->add_height(2); + dummy_data_param->add_width(4); + this->blob_top_vec_.resize(1); + DummyDataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_a_->num(), 5); + EXPECT_EQ(this->blob_top_a_->channels(), 3); + EXPECT_EQ(this->blob_top_a_->height(), 2); + EXPECT_EQ(this->blob_top_a_->width(), 4); + EXPECT_EQ(this->blob_top_b_->count(), 0); + EXPECT_EQ(this->blob_top_c_->count(), 0); + for (int i = 0; i < this->blob_top_vec_.size(); ++i) { + for (int j = 0; j < this->blob_top_vec_[i]->count(); ++j) { + EXPECT_EQ(0, this->blob_top_vec_[i]->cpu_data()[j]); + } + } + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < this->blob_top_vec_.size(); ++i) { + for (int j = 0; j < this->blob_top_vec_[i]->count(); ++j) { + EXPECT_EQ(0, this->blob_top_vec_[i]->cpu_data()[j]); + } + } +} + +TYPED_TEST(DummyDataLayerTest, TestTwoTopConstant) { + Caffe::set_mode(Caffe::CPU); + LayerParameter param; + DummyDataParameter* dummy_data_param = param.mutable_dummy_data_param(); + dummy_data_param->add_num(5); + dummy_data_param->add_channels(3); + dummy_data_param->add_height(2); + dummy_data_param->add_width(4); + dummy_data_param->add_num(5); + // Don't explicitly set number of channels or height for 2nd top blob; should + // default to first channels and height (as we check later). + dummy_data_param->add_height(1); + FillerParameter* data_filler_param = dummy_data_param->add_data_filler(); + data_filler_param->set_value(7); + this->blob_top_vec_.resize(2); + DummyDataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_a_->num(), 5); + EXPECT_EQ(this->blob_top_a_->channels(), 3); + EXPECT_EQ(this->blob_top_a_->height(), 2); + EXPECT_EQ(this->blob_top_a_->width(), 4); + EXPECT_EQ(this->blob_top_b_->num(), 5); + EXPECT_EQ(this->blob_top_b_->channels(), 3); + EXPECT_EQ(this->blob_top_b_->height(), 1); + EXPECT_EQ(this->blob_top_b_->width(), 4); + EXPECT_EQ(this->blob_top_c_->count(), 0); + for (int i = 0; i < this->blob_top_vec_.size(); ++i) { + for (int j = 0; j < this->blob_top_vec_[i]->count(); ++j) { + EXPECT_EQ(7, this->blob_top_vec_[i]->cpu_data()[j]); + } + } + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < this->blob_top_vec_.size(); ++i) { + for (int j = 0; j < this->blob_top_vec_[i]->count(); ++j) { + EXPECT_EQ(7, this->blob_top_vec_[i]->cpu_data()[j]); + } + } +} + +TYPED_TEST(DummyDataLayerTest, TestThreeTopConstantGaussianConstant) { + Caffe::set_mode(Caffe::CPU); + LayerParameter param; + DummyDataParameter* dummy_data_param = param.mutable_dummy_data_param(); + dummy_data_param->add_num(5); + dummy_data_param->add_channels(3); + dummy_data_param->add_height(2); + dummy_data_param->add_width(4); + FillerParameter* data_filler_param_a = dummy_data_param->add_data_filler(); + data_filler_param_a->set_value(7); + FillerParameter* data_filler_param_b = dummy_data_param->add_data_filler(); + data_filler_param_b->set_type("gaussian"); + TypeParam gaussian_mean = 3.0; + TypeParam gaussian_std = 0.01; + data_filler_param_b->set_mean(gaussian_mean); + data_filler_param_b->set_std(gaussian_std); + FillerParameter* data_filler_param_c = dummy_data_param->add_data_filler(); + data_filler_param_c->set_value(9); + DummyDataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_a_->num(), 5); + EXPECT_EQ(this->blob_top_a_->channels(), 3); + EXPECT_EQ(this->blob_top_a_->height(), 2); + EXPECT_EQ(this->blob_top_a_->width(), 4); + EXPECT_EQ(this->blob_top_b_->num(), 5); + EXPECT_EQ(this->blob_top_b_->channels(), 3); + EXPECT_EQ(this->blob_top_b_->height(), 2); + EXPECT_EQ(this->blob_top_b_->width(), 4); + EXPECT_EQ(this->blob_top_c_->num(), 5); + EXPECT_EQ(this->blob_top_c_->channels(), 3); + EXPECT_EQ(this->blob_top_c_->height(), 2); + EXPECT_EQ(this->blob_top_c_->width(), 4); + for (int i = 0; i < this->blob_top_a_->count(); ++i) { + EXPECT_EQ(7, this->blob_top_a_->cpu_data()[i]); + } + // Blob b uses a Gaussian filler, so SetUp should not have initialized it. + // Blob b's data should therefore be the default Blob data value: 0. + for (int i = 0; i < this->blob_top_b_->count(); ++i) { + EXPECT_EQ(0, this->blob_top_b_->cpu_data()[i]); + } + for (int i = 0; i < this->blob_top_c_->count(); ++i) { + EXPECT_EQ(9, this->blob_top_c_->cpu_data()[i]); + } + + // Do a Forward pass to fill in Blob b with Gaussian data. + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < this->blob_top_a_->count(); ++i) { + EXPECT_EQ(7, this->blob_top_a_->cpu_data()[i]); + } + // Check that the Gaussian's data has been filled in with values within + // 10 standard deviations of the mean. Record the first and last sample. + // to check that they're different after the next Forward pass. + for (int i = 0; i < this->blob_top_b_->count(); ++i) { + EXPECT_NEAR(gaussian_mean, this->blob_top_b_->cpu_data()[i], + gaussian_std * 10); + } + const TypeParam first_gaussian_sample = this->blob_top_b_->cpu_data()[0]; + const TypeParam last_gaussian_sample = + this->blob_top_b_->cpu_data()[this->blob_top_b_->count() - 1]; + for (int i = 0; i < this->blob_top_c_->count(); ++i) { + EXPECT_EQ(9, this->blob_top_c_->cpu_data()[i]); + } + + // Do another Forward pass to fill in Blob b with Gaussian data again, + // checking that we get different values. + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < this->blob_top_a_->count(); ++i) { + EXPECT_EQ(7, this->blob_top_a_->cpu_data()[i]); + } + for (int i = 0; i < this->blob_top_b_->count(); ++i) { + EXPECT_NEAR(gaussian_mean, this->blob_top_b_->cpu_data()[i], + gaussian_std * 10); + } + EXPECT_NE(first_gaussian_sample, this->blob_top_b_->cpu_data()[0]); + EXPECT_NE(last_gaussian_sample, + this->blob_top_b_->cpu_data()[this->blob_top_b_->count() - 1]); + for (int i = 0; i < this->blob_top_c_->count(); ++i) { + EXPECT_EQ(9, this->blob_top_c_->cpu_data()[i]); + } +} + +} // namespace caffe From bbb8e40acbe0613370bcdf8549db82ca3a5b5adf Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 9 Jun 2014 11:52:06 -0700 Subject: [PATCH 101/408] lint dummy data layer --- src/caffe/layers/dummy_data_layer.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/caffe/layers/dummy_data_layer.cpp b/src/caffe/layers/dummy_data_layer.cpp index 38568580485..8925772f3a5 100644 --- a/src/caffe/layers/dummy_data_layer.cpp +++ b/src/caffe/layers/dummy_data_layer.cpp @@ -19,17 +19,17 @@ void DummyDataLayer::SetUp(const vector*>& bottom, << "Number of data fillers must be 0, 1 or equal to the number of tops: " << num_top << "; you specified " << num_data_filler << " data fillers."; CHECK(param.num_size() == 1 || param.num_size() == num_top) - << "Must specify either a single (1) 'num' or one for each top blob (" - << num_top << "); you specified " << param.num_size() << "."; + << "Must specify either a single (1) 'num' or one for each top blob " + << "(" << num_top << "); you specified " << param.num_size() << "."; CHECK(param.channels_size() == 1 || param.channels_size() == num_top) - << "Must specify either a single (1) 'channels' or one for each top blob (" - << num_top << "); you specified " << param.channels_size() << "."; + << "Must specify either a single (1) 'channels' or one for each top blob " + << "(" << num_top << "); you specified " << param.channels_size() << "."; CHECK(param.height_size() == 1 || param.height_size() == num_top) - << "Must specify either a single (1) 'height' or one for each top blob (" - << num_top << "); you specified " << param.height_size() << "."; + << "Must specify either a single (1) 'height' or one for each top blob " + << "(" << num_top << "); you specified " << param.height_size() << "."; CHECK(param.width_size() == 1 || param.width_size() == num_top) - << "Must specify either a single (1) 'width' or one for each top blob (" - << num_top << "); you specified " << param.width_size() << "."; + << "Must specify either a single (1) 'width' or one for each top blob " + << "(" << num_top << "); you specified " << param.width_size() << "."; // refill_[i] tells Forward i whether or not to actually refill top Blob i. // If refill_[i] is false, Forward does nothing for Blob i. We use this to // avoid wastefully refilling "constant" Blobs in every forward pass. From a57b8d5b4093b7bdba9f02b278b9823c290a0b7d Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 9 Jun 2014 18:12:16 -0700 Subject: [PATCH 102/408] fix old detect.py default --- python/detect.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/detect.py b/python/detect.py index 15418bba5c2..05b524495d2 100755 --- a/python/detect.py +++ b/python/detect.py @@ -57,9 +57,9 @@ def main(argv): ) parser.add_argument( "--crop_mode", - default="center_only", + default="selective_search", choices=CROP_MODES, - help="Image crop mode" + help="How to generate windows for detection." ) parser.add_argument( "--gpu", From 4992abecec7214bce3c07497438c2e1ff963e657 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sun, 8 Jun 2014 20:31:35 -0700 Subject: [PATCH 103/408] pycaffe Detector crops with surrounding context - caffe.Detector learned how to crop windows with context in the R-CNN style s.t. the bordero of the network input is a given amount of context. - add --context_pad arg to detect.py for amount of context. Default is 16, as in R-CNN. --- python/caffe/detector.py | 91 ++++++++++++++++++++++++++++++++++++---- python/detect.py | 9 +++- 2 files changed, 92 insertions(+), 8 deletions(-) diff --git a/python/caffe/detector.py b/python/caffe/detector.py index 5a30dab92f5..b4e96029e98 100644 --- a/python/caffe/detector.py +++ b/python/caffe/detector.py @@ -12,10 +12,6 @@ The selective_search_ijcv_with_python code required for the selective search proposal mode is available at https://github.com/sergeyk/selective_search_ijcv_with_python - -TODO -- R-CNN crop mode / crop with context. -- Bundle with R-CNN model for example. """ import numpy as np import os @@ -29,11 +25,14 @@ class Detector(caffe.Net): selective search proposals. """ def __init__(self, model_file, pretrained_file, gpu=False, mean_file=None, - input_scale=None, channel_swap=None): + input_scale=None, channel_swap=None, context_pad=None): """ Take gpu, mean_file, input_scale, channel_swap: convenience params for setting mode, mean, input scale, and channel order. + context_pad: amount of surrounding context to take s.t. a `context_pad` + sized border of pixels in the network input image is context, as in + R-CNN feature extraction. """ caffe.Net.__init__(self, model_file, pretrained_file) self.set_phase_test() @@ -50,6 +49,8 @@ def __init__(self, model_file, pretrained_file, gpu=False, mean_file=None, if channel_swap: self.set_channel_swap(self.inputs[0], channel_swap) + self.configure_crop(context_pad) + def detect_windows(self, images_windows): """ @@ -58,6 +59,7 @@ def detect_windows(self, images_windows): Take images_windows: (image filename, window list) iterable. + context_crop: size of context border to crop in pixels. Give detections: list of {filename: image filename, window: crop coordinates, @@ -68,8 +70,7 @@ def detect_windows(self, images_windows): for image_fname, windows in images_windows: image = caffe.io.load_image(image_fname).astype(np.float32) for window in windows: - window_inputs.append(image[window[0]:window[2], - window[1]:window[3]]) + window_inputs.append(self.crop(image, window)) # Run through the net (warping windows to input dimensions). caffe_in = np.asarray([self.preprocess(self.inputs[0], window_in) @@ -109,3 +110,79 @@ def detect_selective_search(self, image_fnames): windows_list = selective_search.get_windows(image_fnames) # Run windowed detection on the selective search list. return self.detect_windows(zip(image_fnames, windows_list)) + + + def crop(self, im, window): + """ + Crop a window from the image for detection. Include surrounding context + according to the `context_pad` configuration. + + Take + im: H x W x K image ndarray to crop. + window: bounding box coordinates as ymin, xmin, ymax, xmax. + + Give + crop: cropped window. + """ + # Crop window from the image. + crop = im[window[0]:window[2], window[1]:window[3]] + + if self.context_pad: + box = window.copy() + crop_size = self.blobs[self.inputs[0]].width # assumes square + scale = crop_size / (1. * crop_size - self.context_pad * 2) + # Crop a box + surrounding context. + half_h = (box[2] - box[0] + 1) / 2. + half_w = (box[3] - box[1] + 1) / 2. + center = (box[0] + half_h, box[1] + half_w) + scaled_dims = scale * np.array((-half_h, -half_w, half_h, half_w)) + box = np.round(np.tile(center, 2) + scaled_dims) + full_h = box[2] - box[0] + 1 + full_w = box[3] - box[1] + 1 + scale_h = crop_size / full_h + scale_w = crop_size / full_w + pad_y = round(max(0, -box[0]) * scale_h) # amount out-of-bounds + pad_x = round(max(0, -box[1]) * scale_w) + + # Clip box to image dimensions. + im_h, im_w = im.shape[:2] + box = np.clip(box, 0., [im_h, im_w, im_h, im_w]) + clip_h = box[2] - box[0] + 1 + clip_w = box[3] - box[1] + 1 + assert(clip_h > 0 and clip_w > 0) + crop_h = round(clip_h * scale_h) + crop_w = round(clip_w * scale_w) + if pad_y + crop_h > crop_size: + crop_h = crop_size - pad_y + if pad_x + crop_w > crop_size: + crop_w = crop_size - pad_x + + # collect with context padding and place in input + # with mean padding + context_crop = im[box[0]:box[2], box[1]:box[3]] + context_crop = caffe.io.resize_image(context_crop, (crop_h, crop_w)) + crop = self.crop_mean.copy() + crop[pad_y:(pad_y + crop_h), pad_x:(pad_x + crop_w)] = context_crop + + return crop + + + def configure_crop(self, context_pad): + """ + Configure amount of context for cropping. + If context is included, make the special input mean for context padding. + + Take + context_pad: amount of context for cropping. + """ + self.context_pad = context_pad + if self.context_pad: + input_scale = self.input_scale.get(self.inputs[0]) + channel_order = self.channel_swap.get(self.inputs[0]) + # Padding context crops needs the mean in unprocessed input space. + self.crop_mean = self.mean[self.inputs[0]].copy() + self.crop_mean = self.crop_mean.transpose((1,2,0)) + channel_order_inverse = [channel_order.index(i) + for i in range(self.crop_mean.shape[2])] + self.crop_mean = self.crop_mean[:,:, channel_order_inverse] + self.crop_mean /= input_scale diff --git a/python/detect.py b/python/detect.py index 05b524495d2..a3bee5c5cf8 100755 --- a/python/detect.py +++ b/python/detect.py @@ -86,6 +86,12 @@ def main(argv): "RGB -> BGR since BGR is the Caffe default by way of OpenCV." ) + parser.add_argument( + "--context_pad", + type=int, + default='16', + help="Amount of surrounding context to collect in input window." + ) args = parser.parse_args() channel_swap = [int(s) for s in args.channel_swap.split(',')] @@ -93,7 +99,8 @@ def main(argv): # Make detector. detector = caffe.Detector(args.model_def, args.pretrained_model, gpu=args.gpu, mean_file=args.mean_file, - input_scale=args.input_scale, channel_swap=channel_swap) + input_scale=args.input_scale, channel_swap=channel_swap, + context_pad=args.context_pad) if args.gpu: print 'GPU mode' From d443d4611e1a6740960a758e600de02f72e29dbc Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sun, 8 Jun 2014 16:53:06 -0700 Subject: [PATCH 104/408] make R-CNN the Caffe detection example --- docs/getting_pretrained_models.md | 2 + examples/detection.ipynb | 671 +++++++++++------- .../imagenet/get_caffe_rcnn_imagenet_model.sh | 27 + .../imagenet/rcnn_imagenet_deploy.prototxt | 207 ++++++ 4 files changed, 664 insertions(+), 243 deletions(-) create mode 100755 examples/imagenet/get_caffe_rcnn_imagenet_model.sh create mode 100644 examples/imagenet/rcnn_imagenet_deploy.prototxt diff --git a/docs/getting_pretrained_models.md b/docs/getting_pretrained_models.md index bd342f70ec3..a7b5e875c0d 100644 --- a/docs/getting_pretrained_models.md +++ b/docs/getting_pretrained_models.md @@ -24,4 +24,6 @@ This page will be updated as more models become available. - The best validation performance during training was iteration 358,000 with validation accuracy 57.258% and loss 1.83948. +**R-CNN (ILSVRC13)**: The pure Caffe instantiation of the [R-CNN](https://github.com/rbgirshick/rcnn) model for ILSVRC13 detection. Download the model (230.8MB) by running `examples/imagenet/get_caffe_rcnn_imagenet_model.sh` from the Caffe root directory. This model was made by transplanting the R-CNN SVM classifiers into a `fc-rcnn` classification layer, provided here as an off-the-shelf Caffe detector. Try the [detection example](http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/detection.ipynb) to see it in action. For the full details, refer to the R-CNN site. *N.B. For research purposes, make use of the official R-CNN package and not this example.* + Additionally, you will probably eventually need some auxiliary data (mean image, synset list, etc.): run `data/ilsvrc12/get_ilsvrc_aux.sh` from the root directory to obtain it. diff --git a/examples/detection.ipynb b/examples/detection.ipynb index feb3e36fe8e..5fdfc098679 100644 --- a/examples/detection.ipynb +++ b/examples/detection.ipynb @@ -11,13 +11,17 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "This approach follows ideas described in Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik. *Rich feature hierarchies for accurate object detection and semantic segmentation*. [Arxiv 2013](http://arxiv.org/abs/1311.2524).\n", + "[R-CNN](https://github.com/rbgirshick/rcnn) is a state-of-the-art detector that classifies region proposals by a finetuned Caffe model. For the full details of the R-CNN system and model, refer to its project site and the paper:\n", "\n", - "First of all, we'll need a little [Python script](https://github.com/sergeyk/selective_search_ijcv_with_python) to run the Matlab Selective Search code.\n", + "> *Rich feature hierarchies for accurate object detection and semantic segmentation*. Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik. CVPR 2014. [Arxiv 2013](http://arxiv.org/abs/1311.2524).\n", "\n", - "Let's run detection on an image of a couple of cats frolicking (one of the ImageNet detection challenge pictures), which we will download from the web.\n", + "In this example, we do detection by a pure Caffe edition of the R-CNN model for ImageNet. The R-CNN detector outputs class scores for the 200 detection classes of ILSVRC13. Keep in mind that these are raw one vs. all SVM scores, so they are not probabilistically calibrated or exactly comparable across classes. Note that this off-the-shelf model is simply for convenience, and is not the full R-CNN model.\n", "\n", - "Before you get started with this notebook, make sure to follow [instructions](http://caffe.berkeleyvision.org/getting_pretrained_models.html) for getting the pretrained ImageNet model." + "Let's run detection on an image of a bicyclist riding a fish bike in the desert (from the ImageNet challenge\u2014no joke).\n", + "\n", + "First of all, we'll need a little [Python script](https://github.com/sergeyk/selective_search_ijcv_with_python) to make the region proposals by running the Selective Search MATLAB code. If you have your own region proposals prepared, or would rather not bother with this step, [detect.py](https://github.com/BVLC/caffe/blob/master/python/detect.py) accepts a list of images and bounding boxes as CSV.\n", + "\n", + "Before you get started with this notebook, make sure to follow [instructions](http://caffe.berkeleyvision.org/getting_pretrained_models.html) for getting the Caffe R-CNN ImageNet model." ] }, { @@ -25,9 +29,8 @@ "collapsed": false, "input": [ "!mkdir _temp\n", - "!curl http://farm1.static.flickr.com/220/512450093_7717fb8ce8.jpg > _temp/cat.jpg\n", - "!echo `pwd`/_temp/cat.jpg > _temp/cat.txt\n", - "!../python/detect.py --crop_mode=selective_search --pretrained_model=imagenet/caffe_reference_imagenet_model --model_def=imagenet/imagenet_deploy.prototxt _temp/cat.txt _temp/cat.h5" + "!echo `pwd`/images/fish-bike.jpg > _temp/det_input.txt\n", + "!../python/detect.py --crop_mode=selective_search --pretrained_model=imagenet/caffe_rcnn_imagenet_model --model_def=imagenet/rcnn_imagenet_deploy.prototxt _temp/det_input.txt _temp/det_output.h5" ], "language": "python", "metadata": {}, @@ -36,18 +39,7 @@ "output_type": "stream", "stream": "stdout", "text": [ - " % Total % Received % Xferd Average Speed Time Time Time Current\r\n", - " Dload Upload Total Spent Left Speed\r\n", - "\r", - " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\r", - "100 212k 100 212k 0 0 852k 0 --:--:-- --:--:-- --:--:-- 858k\r\n" + "mkdir: cannot create directory `_temp': File exists\r\n" ] }, { @@ -55,158 +47,348 @@ "stream": "stdout", "text": [ "WARNING: Logging before InitGoogleLogging() is written to STDERR\r\n", - "I0520 12:14:46.505362 2522 net.cpp:75] Creating Layer conv1\r\n", - "I0520 12:14:46.505406 2522 net.cpp:85] conv1 <- data\r\n", - "I0520 12:14:46.505462 2522 net.cpp:111] conv1 -> conv1\r\n", - "I0520 12:14:46.505530 2522 net.cpp:126] Top shape: 10 96 55 55 (2904000)\r\n", - "I0520 12:14:46.505542 2522 net.cpp:152] conv1 needs backward computation.\r\n", - "I0520 12:14:46.505550 2522 net.cpp:75] Creating Layer relu1\r\n", - "I0520 12:14:46.505556 2522 net.cpp:85] relu1 <- conv1\r\n", - "I0520 12:14:46.505563 2522 net.cpp:99] relu1 -> conv1 (in-place)\r\n", - "I0520 12:14:46.505570 2522 net.cpp:126] Top shape: 10 96 55 55 (2904000)\r\n", - "I0520 12:14:46.505578 2522 net.cpp:152] relu1 needs backward computation.\r\n", - "I0520 12:14:46.505584 2522 net.cpp:75] Creating Layer pool1\r\n", - "I0520 12:14:46.505590 2522 net.cpp:85] pool1 <- conv1\r\n", - "I0520 12:14:46.505596 2522 net.cpp:111] pool1 -> pool1\r\n", - "I0520 12:14:46.505606 2522 net.cpp:126] Top shape: 10 96 27 27 (699840)\r\n", - "I0520 12:14:46.505612 2522 net.cpp:152] pool1 needs backward computation.\r\n", - "I0520 12:14:46.505620 2522 net.cpp:75] Creating Layer norm1\r\n", - "I0520 12:14:46.505626 2522 net.cpp:85] norm1 <- pool1\r\n", - "I0520 12:14:46.505632 2522 net.cpp:111] norm1 -> norm1\r\n", - "I0520 12:14:46.505640 2522 net.cpp:126] Top shape: 10 96 27 27 (699840)\r\n", - "I0520 12:14:46.505646 2522 net.cpp:152] norm1 needs backward computation.\r\n", - "I0520 12:14:46.505656 2522 net.cpp:75] Creating Layer conv2\r\n", - "I0520 12:14:46.505661 2522 net.cpp:85] conv2 <- norm1\r\n", - "I0520 12:14:46.505668 2522 net.cpp:111] conv2 -> conv2\r\n", - "I0520 12:14:46.506363 2522 net.cpp:126] Top shape: 10 256 27 27 (1866240)\r\n", - "I0520 12:14:46.506383 2522 net.cpp:152] conv2 needs backward computation.\r\n", - "I0520 12:14:46.506392 2522 net.cpp:75] Creating Layer relu2\r\n", - "I0520 12:14:46.506398 2522 net.cpp:85] relu2 <- conv2\r\n", - "I0520 12:14:46.506409 2522 net.cpp:99] relu2 -> conv2 (in-place)\r\n", - "I0520 12:14:46.506417 2522 net.cpp:126] Top shape: 10 256 27 27 (1866240)\r\n", - "I0520 12:14:46.506422 2522 net.cpp:152] relu2 needs backward computation.\r\n", - "I0520 12:14:46.506429 2522 net.cpp:75] Creating Layer pool2\r\n", - "I0520 12:14:46.506435 2522 net.cpp:85] pool2 <- conv2\r\n", - "I0520 12:14:46.506441 2522 net.cpp:111] pool2 -> pool2\r\n", - "I0520 12:14:46.506448 2522 net.cpp:126] Top shape: 10 256 13 13 (432640)\r\n", - "I0520 12:14:46.506454 2522 net.cpp:152] pool2 needs backward computation.\r\n", - "I0520 12:14:46.506463 2522 net.cpp:75] Creating Layer norm2\r\n", - "I0520 12:14:46.506469 2522 net.cpp:85] norm2 <- pool2\r\n", - "I0520 12:14:46.506475 2522 net.cpp:111] norm2 -> norm2\r\n", - "I0520 12:14:46.506482 2522 net.cpp:126] Top shape: 10 256 13 13 (432640)\r\n", - "I0520 12:14:46.506489 2522 net.cpp:152] norm2 needs backward computation.\r\n", - "I0520 12:14:46.506496 2522 net.cpp:75] Creating Layer conv3\r\n", - "I0520 12:14:46.506502 2522 net.cpp:85] conv3 <- norm2\r\n", - "I0520 12:14:46.506508 2522 net.cpp:111] conv3 -> conv3\r\n", - "I0520 12:14:46.508342 2522 net.cpp:126] Top shape: 10 384 13 13 (648960)\r\n", - "I0520 12:14:46.508359 2522 net.cpp:152] conv3 needs backward computation.\r\n", - "I0520 12:14:46.508369 2522 net.cpp:75] Creating Layer relu3\r\n", - "I0520 12:14:46.508375 2522 net.cpp:85] relu3 <- conv3\r\n", - "I0520 12:14:46.508383 2522 net.cpp:99] relu3 -> conv3 (in-place)\r\n", - "I0520 12:14:46.508389 2522 net.cpp:126] Top shape: 10 384 13 13 (648960)\r\n", - "I0520 12:14:46.508395 2522 net.cpp:152] relu3 needs backward computation.\r\n", - "I0520 12:14:46.508402 2522 net.cpp:75] Creating Layer conv4\r\n", - "I0520 12:14:46.508409 2522 net.cpp:85] conv4 <- conv3\r\n", - "I0520 12:14:46.508415 2522 net.cpp:111] conv4 -> conv4\r\n", - "I0520 12:14:46.509848 2522 net.cpp:126] Top shape: 10 384 13 13 (648960)\r\n", - "I0520 12:14:46.509870 2522 net.cpp:152] conv4 needs backward computation.\r\n", - "I0520 12:14:46.509877 2522 net.cpp:75] Creating Layer relu4\r\n", - "I0520 12:14:46.509884 2522 net.cpp:85] relu4 <- conv4\r\n", - "I0520 12:14:46.509891 2522 net.cpp:99] relu4 -> conv4 (in-place)\r\n", - "I0520 12:14:46.509897 2522 net.cpp:126] Top shape: 10 384 13 13 (648960)\r\n", - "I0520 12:14:46.509903 2522 net.cpp:152] relu4 needs backward computation.\r\n", - "I0520 12:14:46.509912 2522 net.cpp:75] Creating Layer conv5\r\n", - "I0520 12:14:46.509917 2522 net.cpp:85] conv5 <- conv4\r\n", - "I0520 12:14:46.509923 2522 net.cpp:111] conv5 -> conv5\r\n", - "I0520 12:14:46.510815 2522 net.cpp:126] Top shape: 10 256 13 13 (432640)\r\n", - "I0520 12:14:46.510850 2522 net.cpp:152] conv5 needs backward computation.\r\n", - "I0520 12:14:46.510860 2522 net.cpp:75] Creating Layer relu5\r\n", - "I0520 12:14:46.510867 2522 net.cpp:85] relu5 <- conv5\r\n", - "I0520 12:14:46.510875 2522 net.cpp:99] relu5 -> conv5 (in-place)\r\n", - "I0520 12:14:46.510884 2522 net.cpp:126] Top shape: 10 256 13 13 (432640)\r\n", - "I0520 12:14:46.510890 2522 net.cpp:152] relu5 needs backward computation.\r\n", - "I0520 12:14:46.510897 2522 net.cpp:75] Creating Layer pool5\r\n", - "I0520 12:14:46.510903 2522 net.cpp:85] pool5 <- conv5\r\n", - "I0520 12:14:46.510910 2522 net.cpp:111] pool5 -> pool5\r\n", - "I0520 12:14:46.510920 2522 net.cpp:126] Top shape: 10 256 6 6 (92160)\r\n", - "I0520 12:14:46.510926 2522 net.cpp:152] pool5 needs backward computation.\r\n", - "I0520 12:14:46.510936 2522 net.cpp:75] Creating Layer fc6\r\n", - "I0520 12:14:46.510942 2522 net.cpp:85] fc6 <- pool5\r\n", - "I0520 12:14:46.510949 2522 net.cpp:111] fc6 -> fc6\r\n" + "I0608 20:59:28.978440 28360 net.cpp:36] Initializing net from parameters: \r\n", + "name: \"R-CNN-ilsvrc13\"\r\n", + "layers {\r\n", + " bottom: \"data\"\r\n", + " top: \"conv1\"\r\n", + " name: \"conv1\"\r\n", + " type: CONVOLUTION\r\n", + " convolution_param {\r\n", + " num_output: 96\r\n", + " kernel_size: 11\r\n", + " stride: 4\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv1\"\r\n", + " top: \"conv1\"\r\n", + " name: \"relu1\"\r\n", + " type: RELU\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv1\"\r\n", + " top: \"pool1\"\r\n", + " name: \"pool1\"\r\n", + " type: POOLING\r\n", + " pooling_param {\r\n", + " pool: MAX\r\n", + " kernel_size: 3\r\n", + " stride: 2\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"pool1\"\r\n", + " top: \"norm1\"\r\n", + " name: \"norm1\"\r\n", + " type: LRN\r\n", + " lrn_param {\r\n", + " local_size: 5\r\n", + " alpha: 0.0001\r\n", + " beta: 0.75\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"norm1\"\r\n", + " top: \"conv2\"\r\n", + " name: \"conv2\"\r\n", + " type: CONVOLUTION\r\n", + " convolution_param {\r\n", + " num_output: 256\r\n", + " pad: 2\r\n", + " kernel_size: 5\r\n", + " group: 2\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv2\"\r\n", + " top: \"conv2\"\r\n", + " name: \"relu2\"\r\n", + " type: RELU\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv2\"\r\n", + " top: \"pool2\"\r\n", + " name: \"pool2\"\r\n", + " type: POOLING\r\n", + " pooling_param {\r\n", + " pool: MAX\r\n", + " kernel_size: 3\r\n", + " stride: 2\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"pool2\"\r\n", + " top: \"norm2\"\r\n", + " name: \"norm2\"\r\n", + " type: LRN\r\n", + " lrn_param {\r\n", + " local_size: 5\r\n", + " alpha: 0.0001\r\n", + " beta: 0.75\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"norm2\"\r\n", + " top: \"conv3\"\r\n", + " name: \"conv3\"\r\n", + " type: CONVOLUTION\r\n", + " convolution_param {\r\n", + " num_output: 384\r\n", + " pad: 1\r\n", + " kernel_size: 3\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv3\"\r\n", + " top: \"conv3\"\r\n", + " name: \"relu3\"\r\n", + " type: RELU\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv3\"\r\n", + " top: \"conv4\"\r\n", + " name: \"conv4\"\r\n", + " type: CONVOLUTION\r\n", + " convolution_param {\r\n", + " num_output: 384\r\n", + " pad: 1\r\n", + " kernel_size: 3\r\n", + " group: 2\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv4\"\r\n", + " top: \"conv4\"\r\n", + " name: \"relu4\"\r\n", + " type: RELU\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv4\"\r\n", + " top: \"conv5\"\r\n", + " name: \"conv5\"\r\n", + " type: CONVOLUTION\r\n", + " convolution_param {\r\n", + " num_output: 256\r\n", + " pad: 1\r\n", + " kernel_size: 3\r\n", + " group: 2\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv5\"\r\n", + " top: \"conv5\"\r\n", + " name: \"relu5\"\r\n", + " type: RELU\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"conv5\"\r\n", + " top: \"pool5\"\r\n", + " name: \"pool5\"\r\n", + " type: POOLING\r\n", + " pooling_param {\r\n", + " pool: MAX\r\n", + " kernel_size: 3\r\n", + " stride: 2\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"pool5\"\r\n", + " top: \"fc6\"\r\n", + " name: \"fc6\"\r\n", + " type: INNER_PRODUCT\r\n", + " inner_product_param {\r\n", + " num_output: 4096\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"fc6\"\r\n", + " top: \"fc6\"\r\n", + " name: \"relu6\"\r\n", + " type: RELU\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"fc6\"\r\n", + " top: \"fc6\"\r\n", + " name: \"drop6\"\r\n", + " type: DROPOUT\r\n", + " dropout_param {\r\n", + " dropout_ratio: 0.5\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"fc6\"\r\n", + " top: \"fc7\"\r\n", + " name: \"fc7\"\r\n", + " type: INNER_PRODUCT\r\n", + " inner_product_param {\r\n", + " num_output: 4096\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"fc7\"\r\n", + " top: \"fc7\"\r\n", + " name: \"relu7\"\r\n", + " type: RELU\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"fc7\"\r\n", + " top: \"fc7\"\r\n", + " name: \"drop7\"\r\n", + " type: DROPOUT\r\n", + " dropout_param {\r\n", + " dropout_ratio: 0.5\r\n", + " }\r\n", + "}\r\n", + "layers {\r\n", + " bottom: \"fc7\"\r\n", + " top: \"fc-rcnn\"\r\n", + " name: \"fc-rcnn\"\r\n", + " type: INNER_PRODUCT\r\n", + " inner_product_param {\r\n", + " num_output: 200\r\n", + " }\r\n", + "}\r\n", + "input: \"data\"\r\n", + "input_dim: 10\r\n", + "input_dim: 3\r\n", + "input_dim: 227\r\n", + "input_dim: 227\r\n", + "I0608 20:59:28.979029 28360 net.cpp:77] Creating Layer conv1\r\n", + "I0608 20:59:28.979038 28360 net.cpp:87] conv1 <- data\r\n", + "I0608 20:59:28.979045 28360 net.cpp:113] conv1 -> conv1\r\n", + "I0608 20:59:28.979110 28360 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", + "I0608 20:59:28.979120 28360 net.cpp:154] conv1 needs backward computation.\r\n", + "I0608 20:59:28.979128 28360 net.cpp:77] Creating Layer relu1\r\n", + "I0608 20:59:28.979135 28360 net.cpp:87] relu1 <- conv1\r\n", + "I0608 20:59:28.979141 28360 net.cpp:101] relu1 -> conv1 (in-place)\r\n", + "I0608 20:59:28.979148 28360 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", + "I0608 20:59:28.979154 28360 net.cpp:154] relu1 needs backward computation.\r\n", + "I0608 20:59:28.979161 28360 net.cpp:77] Creating Layer pool1\r\n", + "I0608 20:59:28.979167 28360 net.cpp:87] pool1 <- conv1\r\n", + "I0608 20:59:28.979173 28360 net.cpp:113] pool1 -> pool1\r\n", + "I0608 20:59:28.979183 28360 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", + "I0608 20:59:28.979190 28360 net.cpp:154] pool1 needs backward computation.\r\n", + "I0608 20:59:28.979198 28360 net.cpp:77] Creating Layer norm1\r\n", + "I0608 20:59:28.979204 28360 net.cpp:87] norm1 <- pool1\r\n", + "I0608 20:59:28.979210 28360 net.cpp:113] norm1 -> norm1\r\n", + "I0608 20:59:28.979218 28360 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", + "I0608 20:59:28.979224 28360 net.cpp:154] norm1 needs backward computation.\r\n", + "I0608 20:59:28.979233 28360 net.cpp:77] Creating Layer conv2\r\n", + "I0608 20:59:28.979241 28360 net.cpp:87] conv2 <- norm1\r\n", + "I0608 20:59:28.979248 28360 net.cpp:113] conv2 -> conv2\r\n", + "I0608 20:59:28.979744 28360 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", + "I0608 20:59:28.979755 28360 net.cpp:154] conv2 needs backward computation.\r\n", + "I0608 20:59:28.979764 28360 net.cpp:77] Creating Layer relu2\r\n", + "I0608 20:59:28.979771 28360 net.cpp:87] relu2 <- conv2\r\n", + "I0608 20:59:28.979779 28360 net.cpp:101] relu2 -> conv2 (in-place)\r\n", + "I0608 20:59:28.979786 28360 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", + "I0608 20:59:28.979794 28360 net.cpp:154] relu2 needs backward computation.\r\n", + "I0608 20:59:28.979800 28360 net.cpp:77] Creating Layer pool2\r\n", + "I0608 20:59:28.979806 28360 net.cpp:87] pool2 <- conv2\r\n", + "I0608 20:59:28.979812 28360 net.cpp:113] pool2 -> pool2\r\n", + "I0608 20:59:28.979820 28360 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0608 20:59:28.979825 28360 net.cpp:154] pool2 needs backward computation.\r\n", + "I0608 20:59:28.979832 28360 net.cpp:77] Creating Layer norm2\r\n", + "I0608 20:59:28.979837 28360 net.cpp:87] norm2 <- pool2\r\n", + "I0608 20:59:28.979843 28360 net.cpp:113] norm2 -> norm2\r\n", + "I0608 20:59:28.979851 28360 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0608 20:59:28.979857 28360 net.cpp:154] norm2 needs backward computation.\r\n", + "I0608 20:59:28.979864 28360 net.cpp:77] Creating Layer conv3\r\n", + "I0608 20:59:28.979871 28360 net.cpp:87] conv3 <- norm2\r\n", + "I0608 20:59:28.979876 28360 net.cpp:113] conv3 -> conv3\r\n", + "I0608 20:59:28.981308 28360 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0608 20:59:28.981322 28360 net.cpp:154] conv3 needs backward computation.\r\n", + "I0608 20:59:28.981328 28360 net.cpp:77] Creating Layer relu3\r\n", + "I0608 20:59:28.981334 28360 net.cpp:87] relu3 <- conv3\r\n", + "I0608 20:59:28.981341 28360 net.cpp:101] relu3 -> conv3 (in-place)\r\n", + "I0608 20:59:28.981348 28360 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0608 20:59:28.981356 28360 net.cpp:154] relu3 needs backward computation.\r\n", + "I0608 20:59:28.981364 28360 net.cpp:77] Creating Layer conv4\r\n", + "I0608 20:59:28.981369 28360 net.cpp:87] conv4 <- conv3\r\n", + "I0608 20:59:28.981375 28360 net.cpp:113] conv4 -> conv4\r\n", + "I0608 20:59:28.982429 28360 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0608 20:59:28.982441 28360 net.cpp:154] conv4 needs backward computation.\r\n", + "I0608 20:59:28.982449 28360 net.cpp:77] Creating Layer relu4\r\n", + "I0608 20:59:28.982455 28360 net.cpp:87] relu4 <- conv4\r\n", + "I0608 20:59:28.982460 28360 net.cpp:101] relu4 -> conv4 (in-place)\r\n", + "I0608 20:59:28.982467 28360 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0608 20:59:28.982472 28360 net.cpp:154] relu4 needs backward computation.\r\n", + "I0608 20:59:28.982480 28360 net.cpp:77] Creating Layer conv5\r\n", + "I0608 20:59:28.982486 28360 net.cpp:87] conv5 <- conv4\r\n", + "I0608 20:59:28.982491 28360 net.cpp:113] conv5 -> conv5\r\n", + "I0608 20:59:28.983197 28360 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0608 20:59:28.983207 28360 net.cpp:154] conv5 needs backward computation.\r\n", + "I0608 20:59:28.983214 28360 net.cpp:77] Creating Layer relu5\r\n", + "I0608 20:59:28.983221 28360 net.cpp:87] relu5 <- conv5\r\n", + "I0608 20:59:28.983227 28360 net.cpp:101] relu5 -> conv5 (in-place)\r\n", + "I0608 20:59:28.983233 28360 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0608 20:59:28.983239 28360 net.cpp:154] relu5 needs backward computation.\r\n", + "I0608 20:59:28.983247 28360 net.cpp:77] Creating Layer pool5\r\n", + "I0608 20:59:28.983253 28360 net.cpp:87] pool5 <- conv5\r\n", + "I0608 20:59:28.983258 28360 net.cpp:113] pool5 -> pool5\r\n", + "I0608 20:59:28.983265 28360 net.cpp:128] Top shape: 10 256 6 6 (92160)\r\n", + "I0608 20:59:28.983273 28360 net.cpp:154] pool5 needs backward computation.\r\n", + "I0608 20:59:28.983283 28360 net.cpp:77] Creating Layer fc6\r\n", + "I0608 20:59:28.983289 28360 net.cpp:87] fc6 <- pool5\r\n", + "I0608 20:59:28.983295 28360 net.cpp:113] fc6 -> fc6\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "I0520 12:14:46.566017 2522 net.cpp:126] Top shape: 10 4096 1 1 (40960)\r\n", - "I0520 12:14:46.566061 2522 net.cpp:152] fc6 needs backward computation.\r\n", - "I0520 12:14:46.566076 2522 net.cpp:75] Creating Layer relu6\r\n", - "I0520 12:14:46.566084 2522 net.cpp:85] relu6 <- fc6\r\n", - "I0520 12:14:46.566092 2522 net.cpp:99] relu6 -> fc6 (in-place)\r\n", - "I0520 12:14:46.566100 2522 net.cpp:126] Top shape: 10 4096 1 1 (40960)\r\n", - "I0520 12:14:46.566140 2522 net.cpp:152] relu6 needs backward computation.\r\n", - "I0520 12:14:46.566149 2522 net.cpp:75] Creating Layer drop6\r\n", - "I0520 12:14:46.566155 2522 net.cpp:85] drop6 <- fc6\r\n", - "I0520 12:14:46.566161 2522 net.cpp:99] drop6 -> fc6 (in-place)\r\n", - "I0520 12:14:46.566174 2522 net.cpp:126] Top shape: 10 4096 1 1 (40960)\r\n", - "I0520 12:14:46.566179 2522 net.cpp:152] drop6 needs backward computation.\r\n", - "I0520 12:14:46.566187 2522 net.cpp:75] Creating Layer fc7\r\n", - "I0520 12:14:46.566193 2522 net.cpp:85] fc7 <- fc6\r\n", - "I0520 12:14:46.566200 2522 net.cpp:111] fc7 -> fc7\r\n" + "I0608 20:59:29.042397 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0608 20:59:29.042438 28360 net.cpp:154] fc6 needs backward computation.\r\n", + "I0608 20:59:29.042453 28360 net.cpp:77] Creating Layer relu6\r\n", + "I0608 20:59:29.042460 28360 net.cpp:87] relu6 <- fc6\r\n", + "I0608 20:59:29.042498 28360 net.cpp:101] relu6 -> fc6 (in-place)\r\n", + "I0608 20:59:29.042506 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0608 20:59:29.042512 28360 net.cpp:154] relu6 needs backward computation.\r\n", + "I0608 20:59:29.042520 28360 net.cpp:77] Creating Layer drop6\r\n", + "I0608 20:59:29.042526 28360 net.cpp:87] drop6 <- fc6\r\n", + "I0608 20:59:29.042533 28360 net.cpp:101] drop6 -> fc6 (in-place)\r\n", + "I0608 20:59:29.042546 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0608 20:59:29.042551 28360 net.cpp:154] drop6 needs backward computation.\r\n", + "I0608 20:59:29.042559 28360 net.cpp:77] Creating Layer fc7\r\n", + "I0608 20:59:29.042565 28360 net.cpp:87] fc7 <- fc6\r\n", + "I0608 20:59:29.042572 28360 net.cpp:113] fc7 -> fc7\r\n", + "I0608 20:59:29.068634 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0608 20:59:29.068672 28360 net.cpp:154] fc7 needs backward computation.\r\n", + "I0608 20:59:29.068685 28360 net.cpp:77] Creating Layer relu7\r\n", + "I0608 20:59:29.068692 28360 net.cpp:87] relu7 <- fc7\r\n", + "I0608 20:59:29.068729 28360 net.cpp:101] relu7 -> fc7 (in-place)\r\n", + "I0608 20:59:29.068737 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0608 20:59:29.068743 28360 net.cpp:154] relu7 needs backward computation.\r\n", + "I0608 20:59:29.068752 28360 net.cpp:77] Creating Layer drop7\r\n", + "I0608 20:59:29.068758 28360 net.cpp:87] drop7 <- fc7\r\n", + "I0608 20:59:29.068766 28360 net.cpp:101] drop7 -> fc7 (in-place)\r\n", + "I0608 20:59:29.068774 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0608 20:59:29.068780 28360 net.cpp:154] drop7 needs backward computation.\r\n", + "I0608 20:59:29.068789 28360 net.cpp:77] Creating Layer fc-rcnn\r\n", + "I0608 20:59:29.068794 28360 net.cpp:87] fc-rcnn <- fc7\r\n", + "I0608 20:59:29.068800 28360 net.cpp:113] fc-rcnn -> fc-rcnn\r\n", + "I0608 20:59:29.070180 28360 net.cpp:128] Top shape: 10 200 1 1 (2000)\r\n", + "I0608 20:59:29.070194 28360 net.cpp:154] fc-rcnn needs backward computation.\r\n", + "I0608 20:59:29.070199 28360 net.cpp:165] This network produces output fc-rcnn\r\n", + "I0608 20:59:29.070217 28360 net.cpp:183] Collecting Learning Rate and Weight Decay.\r\n", + "I0608 20:59:29.070231 28360 net.cpp:176] Network initialization done.\r\n", + "I0608 20:59:29.070237 28360 net.cpp:177] Memory required for Data 41950840\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "I0520 12:14:46.600733 2522 net.cpp:126] Top shape: 10 4096 1 1 (40960)\r\n", - "I0520 12:14:46.600765 2522 net.cpp:152] fc7 needs backward computation.\r\n", - "I0520 12:14:46.600777 2522 net.cpp:75] Creating Layer relu7\r\n", - "I0520 12:14:46.600785 2522 net.cpp:85] relu7 <- fc7\r\n", - "I0520 12:14:46.600793 2522 net.cpp:99] relu7 -> fc7 (in-place)\r\n", - "I0520 12:14:46.600802 2522 net.cpp:126] Top shape: 10 4096 1 1 (40960)\r\n", - "I0520 12:14:46.600808 2522 net.cpp:152] relu7 needs backward computation.\r\n", - "I0520 12:14:46.600816 2522 net.cpp:75] Creating Layer drop7\r\n", - "I0520 12:14:46.600823 2522 net.cpp:85] drop7 <- fc7\r\n", - "I0520 12:14:46.600829 2522 net.cpp:99] drop7 -> fc7 (in-place)\r\n", - "I0520 12:14:46.600836 2522 net.cpp:126] Top shape: 10 4096 1 1 (40960)\r\n", - "I0520 12:14:46.600843 2522 net.cpp:152] drop7 needs backward computation.\r\n", - "I0520 12:14:46.600850 2522 net.cpp:75] Creating Layer fc8\r\n", - "I0520 12:14:46.600857 2522 net.cpp:85] fc8 <- fc7\r\n", - "I0520 12:14:46.600864 2522 net.cpp:111] fc8 -> fc8\r\n", - "I0520 12:14:46.615557 2522 net.cpp:126] Top shape: 10 1000 1 1 (10000)\r\n", - "I0520 12:14:46.615602 2522 net.cpp:152] fc8 needs backward computation.\r\n", - "I0520 12:14:46.615614 2522 net.cpp:75] Creating Layer prob\r\n", - "I0520 12:14:46.615623 2522 net.cpp:85] prob <- fc8\r\n", - "I0520 12:14:46.615631 2522 net.cpp:111] prob -> prob\r\n", - "I0520 12:14:46.615649 2522 net.cpp:126] Top shape: 10 1000 1 1 (10000)\r\n", - "I0520 12:14:46.615656 2522 net.cpp:152] prob needs backward computation.\r\n", - "I0520 12:14:46.615664 2522 net.cpp:163] This network produces output prob\r\n", - "I0520 12:14:46.615682 2522 net.cpp:181] Collecting Learning Rate and Weight Decay.\r\n", - "I0520 12:14:46.615696 2522 net.cpp:174] Network initialization done.\r\n", - "I0520 12:14:46.615702 2522 net.cpp:175] Memory required for Data 42022840\r\n" + "Loading input...\r\n", + "selective_search({'/home/shelhamer/caffe/examples/images/fish-bike.jpg'}, '/tmp/tmpG3fe4u.mat')\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "Loading input...\r\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "selective_search({'/home/shelhamer/caffe/examples/_temp/cat.jpg'}, '/tmp/tmplkH92s.mat')\r\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Processed 223 windows in 16.525 s.\r\n" + "Processed 190 windows in 8.631 s.\r\n" ] }, { @@ -218,7 +400,7 @@ "map directly to c-types [inferred_type->mixed,key->block1_values] [items->['prediction']]\r\n", "\r\n", " warnings.warn(ws, PerformanceWarning)\r\n", - "Saved to _temp/cat.h5 in 0.353 s.\r\n" + "Saved to _temp/det_output.h5 in 0.057 s.\r\n" ] } ], @@ -229,7 +411,9 @@ "metadata": {}, "source": [ "Running this outputs a DataFrame with the filenames, selected windows, and their ImageNet scores to an HDF5 file.\n", - "(We only ran on one image, so the filenames will all be the same.)" + "(We only ran on one image, so the filenames will all be the same.)\n", + "\n", + "This run was in CPU mode. For GPU mode detection, call `detect.py` with the `--gpu` argument." ] }, { @@ -238,7 +422,7 @@ "input": [ "import pandas as pd\n", "\n", - "df = pd.read_hdf('_temp/cat.h5', 'df')\n", + "df = pd.read_hdf('_temp/det_output.h5', 'df')\n", "print(df.shape)\n", "print(df.iloc[0])" ], @@ -249,13 +433,13 @@ "output_type": "stream", "stream": "stdout", "text": [ - "(223, 5)\n", - "prediction [6.67012e-06, 1.26349e-06, 1.86075e-06, 1.0960...\n", + "(190, 5)\n", + "prediction [-2.10395, -2.06288, -2.76946, -2.32455, -1.77...\n", "ymin 0\n", "xmin 0\n", - "ymax 500\n", - "xmax 496\n", - "Name: /home/shelhamer/caffe/examples/_temp/cat.jpg, dtype: object\n" + "ymax 323\n", + "xmax 481\n", + "Name: /home/shelhamer/caffe/examples/images/fish-bike.jpg, dtype: object\n" ] } ], @@ -268,16 +452,16 @@ "In general, `detect.py` is most efficient when running on a lot of images: it first extracts window proposals for all of them, batches the windows for efficient GPU processing, and then outputs the results.\n", "Simply list an image per line in the `images_file`, and it will process all of them.\n", "\n", - "Although this guide gives an example of ImageNet detection, `detect.py` is clever enough to adapt to different Caffe models\u2019 input dimensions, batch size, and output categories. Refer to `python detect.py --help` for the parameters to describe your data set. No need for hardcoding.\n", + "Although this guide gives an example of R-CNN ImageNet detection, `detect.py` is clever enough to adapt to different Caffe models\u2019 input dimensions, batch size, and output categories. You can switch the model definition and pretrained model as desired. Refer to `python detect.py --help` for the parameters to describe your data set. There's no need for hardcoding.\n", "\n", - "Anyway, let's now load ImageNet class names and make a DataFrame of the predictions. Note you'll need the auxiliary ilsvrc2012 data fetched by `data/ilsvrc12/get_ilsvrc12_aux.sh`." + "Anyway, let's now load the ILSVRC13 detection class names and make a DataFrame of the predictions. Note you'll need the auxiliary ilsvrc2012 data fetched by `data/ilsvrc12/get_ilsvrc12_aux.sh`." ] }, { "cell_type": "code", "collapsed": false, "input": [ - "with open('../data/ilsvrc12/synset_words.txt') as f:\n", + "with open('../data/ilsvrc12/det_synset_words.txt') as f:\n", " labels_df = pd.DataFrame([\n", " {\n", " 'synset_id': l.strip().split(' ')[0],\n", @@ -297,38 +481,38 @@ "stream": "stdout", "text": [ "name\n", - "tench 0.000007\n", - "goldfish 0.000001\n", - "great white shark 0.000002\n", - "tiger shark 0.000001\n", - "hammerhead 0.000007\n", - "electric ray 0.000004\n", - "stingray 0.000007\n", - "cock 0.000057\n", - "hen 0.002985\n", - "ostrich 0.000010\n", - "brambling 0.000004\n", - "goldfinch 0.000001\n", - "house finch 0.000004\n", - "junco 0.000002\n", - "indigo bunting 0.000001\n", + "accordion -2.103952\n", + "airplane -2.062878\n", + "ant -2.769462\n", + "antelope -2.324549\n", + "apple -1.777492\n", + "armadillo -2.152244\n", + "artichoke -2.547566\n", + "axe -1.905112\n", + "baby bed -0.836331\n", + "backpack -1.134832\n", + "bagel -2.133529\n", + "balance beam -2.338049\n", + "banana -1.584361\n", + "band aid -1.468755\n", + "banjo -1.903778\n", "...\n", - "daisy 0.000002\n", - "yellow lady's slipper 0.000002\n", - "corn 0.000019\n", - "acorn 0.000011\n", - "hip 0.000003\n", - "buckeye 0.000010\n", - "coral fungus 0.000005\n", - "agaric 0.000019\n", - "gyromitra 0.000039\n", - "stinkhorn 0.000002\n", - "earthstar 0.000025\n", - "hen-of-the-woods 0.000035\n", - "bolete 0.000036\n", - "ear 0.000008\n", - "toilet tissue 0.000019\n", - "Name: 0, Length: 1000, dtype: float32\n" + "trombone -1.880981\n", + "trumpet -2.182214\n", + "turtle -2.147969\n", + "tv or monitor -1.362767\n", + "unicycle -1.660976\n", + "vacuum -1.484495\n", + "violin -2.158709\n", + "volleyball -2.454174\n", + "waffle iron -1.827833\n", + "washer -2.017761\n", + "water bottle -1.709274\n", + "watercraft -1.742185\n", + "whale -2.385357\n", + "wine bottle -2.493835\n", + "zebra -1.921937\n", + "Name: 0, Length: 200, dtype: float32\n" ] } ], @@ -358,22 +542,22 @@ "output_type": "pyout", "prompt_number": 4, "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\n", + "png": "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\nkBxYsVjE3bt34fP5hLlQ2R8HQPrdWGgB2oZFqdypJOQqlUqIRqOSM+Rll0wmBU7BOebvEC9FZVLu\nraWlJfy0ofvTP/3TP/2p/8Uv0PizP/szRKNRWK1W4fzQ6/XSTW21WrGysoJyuSyE4hqNBk6nU24P\ng8EgnefVahWBQECkigk7J+t+uVzGW2+9hfX1dQwODsJkMiGbzaJer8PpdKKzs1OIvYmlMBgMcgPz\n8NvtdmQyGXR2dopxoReTyWTQ29srmzOZTAr+iB28JycnclvTGPb19QlNZTqdFlf7+PgYpVJJKDDK\n5TLq9ToMBoNUqBgCDQ0NCd6GlBqVSgXFYlEUJqgu2Wq1UC6X5TO8STmnlDBhAym15PmuXq9XCOo1\nGo1KrI8Hz+VyCR8RRREJ93c4HAL+M5lMIlhHwCHXjDLKnF9KBlHvOxQK4b333kN/f7+U8ck77ff7\n5UIhYM5qtSIQCKBUKuHg4ACnp6fyu8FgEHa7XSSi2VG/vb2Njo4O9PT0CHslDT4NIOfF4/HIu5Aj\niQogZIokBcvh4aFgzOjN0FOkioXSoJGXiKX4ZrOJdDqNQCAg3jq9X4ZkBoNB2AdarRYsFgsymYyo\nnHBd2RDLgga/m8b25s2b+DjT8sAlkmlw2BnLsi7/jDIqRqMRhUIBzWYTmUxGLHI8HhdZDpazuch0\nbXnDEiVKzmBKxZCke2dnR7L7c3Nz2N/fVy1+LBYT/e7Ozk4BrW1sbMhtT9Q05UBYpSAClOGhw+GA\nyWSC3W7H6empSkuLHDLsm+FcMDZnDiKXy2F2dhazs7M4Pj7G9evXYTabZdMwZCLVA3WnuBGJAmbu\n6IMPPhCpFHb6p1Ip7O7uyjOQVKpYLKKrq0tkeEnUPjAwIOqahUJBsDRU6jQYDCqZF6ptUCmDhPIG\ng0FCZ61WK/+u0+lQrVbRarXkmZk/IccyjXU6nRYpIPIfU+OMZW29Xi+0niQFq1arqFarMJlM0Ov1\ncDqdKppPyi+TLD4ajYpkjBLCQIK6/f198ZpzuZw0nHJf0Wil02nZr3a7Xf5HD4uMAPwtgg/L5TKy\n2azsbRLzd3d3i3Q014+X1yOPPKIybqenp5IP7e/vx/r6ujwrvamPGw9ceMUudKCdDCUdRblcxt7e\nnkouxWazQavVolqtSmz93nvv4fj4WDbcwcGBivM2n8/DYrFge3tbxXHLZLPNZhNYPQcxQsxxMLma\n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\n7dVe7fW+rv8DcmMMZpJu4MQAAAAASUVORK5CYII=\n", "text": [ - "" + "" ] } ], @@ -402,28 +586,28 @@ "stream": "stdout", "text": [ "name\n", - "proboscis monkey 0.920136\n", - "tiger cat 0.916973\n", - "milk can 0.791307\n", - "American black bear 0.625850\n", - "broccoli 0.609467\n", - "dhole 0.513998\n", - "platypus 0.507829\n", - "tiger 0.497029\n", - "lion 0.481180\n", - "dingo 0.474689\n", + "bicycle 0.773379\n", + "person 0.545096\n", + "unicycle -0.210110\n", + "motorcycle -0.503959\n", + "table -0.591293\n", + "cart -0.628063\n", + "electric fan -0.664937\n", + "purse -0.674998\n", + "baby bed -0.677444\n", + "plastic bag -0.717950\n", "dtype: float32\n" ] } ], - "prompt_number": 5 + "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Okay, there are indeed cats in there (and some nonsense).\n", - "Picking good localizations is work in progress; manually, we see that the third and thirteenth top detections correspond to the two cats." + "The positive detections are in fact a bicycle and person.\n", + "Picking good localizations is work in progress; manually, we see that the top and second-best scoring detections correspond to the bicycle and person." ] }, { @@ -433,8 +617,8 @@ "# Find, print, and display max detection.\n", "window_order = pd.Series(predictions_df.values.max(1)).order(ascending=False)\n", "\n", - "i = window_order.index[3]\n", - "j = window_order.index[13]\n", + "i = window_order.index[0]\n", + "j = window_order.index[1]\n", "\n", "# Show top predictions for top detection.\n", "f = pd.Series(df['prediction'].iloc[i], index=labels_df['name'])\n", @@ -442,13 +626,13 @@ "print(f.order(ascending=False)[:5])\n", "print('')\n", "\n", - "# Show top predictions for 10th top detection.\n", + "# Show top predictions for second-best detection.\n", "f = pd.Series(df['prediction'].iloc[j], index=labels_df['name'])\n", - "print('10th detection:')\n", + "print('Second-best detection:')\n", "print(f.order(ascending=False)[:5])\n", "\n", - "# Show top detection in red, 10th top detection in blue.\n", - "im = imread('_temp/cat.jpg')\n", + "# Show top detection in red, second-best top detection in blue.\n", + "im = imread('images/fish-bike.jpg')\n", "imshow(im)\n", "currentAxis = plt.gca()\n", "\n", @@ -469,47 +653,47 @@ "text": [ "Top detection:\n", "name\n", - "tiger cat 0.882972\n", - "tiger 0.073158\n", - "tabby 0.025290\n", - "lynx 0.012881\n", - "Egyptian cat 0.004481\n", + "bicycle 0.773379\n", + "unicycle -0.519379\n", + "scorpion -0.902484\n", + "soccer ball -1.148745\n", + "cart -1.167148\n", "dtype: float32\n", "\n", - "10th detection:\n", + "Second-best detection:\n", "name\n", - "tiger cat 0.677493\n", - "Pembroke 0.064214\n", - "dingo 0.050635\n", - "golden retriever 0.028331\n", - "tabby 0.021945\n", + "person 0.545096\n", + "swimming trunks -1.098802\n", + "plastic bag -1.130418\n", + "rubber eraser -1.185333\n", + "tie -1.195762\n", "dtype: float32\n" ] }, { "metadata": {}, "output_type": "pyout", - "prompt_number": 6, + "prompt_number": 7, "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\nAAAAAElFTkSuQmCC\n", + "png": "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\nbHX31cVsZH5W2dFzGs+/z4fI9PR0eF8mpl2My+bnj9eCs2p2Yl02K/McOCum/UREHP4M/Fq83/ia\n+fuJ5wbwnjbGQHHtuuPsOYNntBln4N3SazfI4nvBQUSWZahrvUb7CCDpWYUW0gvQ4WeaVtGwy5vo\nsiv5evmz8z3gNezuGX6dy9lVodLv3bsXL7744pV+24lNbGITu+bsYx/7GJ588slL/uyqOPCJTWxi\nE5vYP92uWhNzYhOb2MQm9k+ziQOf2MQmNrFr1K64A3/sscdw0003YdeuXXjooYeu9NtfNfvVX/1V\nzM/P47bbbgvfW1hYwJ133ondu3fjF37hF7C0tBR+9ju/8zvYtWsXbrrpJvzlX/7l1bjkd9yOHz+O\nT3ziE7jllltw66234g/+4A8AXN/rUpYl9u/fj7179+Lmm2/GV77yFQDX95qwGWOwb98+fOpTJDkx\nWRMA7gqa1trt2LHDHT161NV17fbs2eOOHDlyJS/hqtn3vvc999xzz7lbb701fO9LX/qSe+ihh5xz\nzj344IPuy1/+snPOuR/96Eduz549rq5rd/ToUbdjxw5njLkq1/1O2unTp93zzz/vnHNudXXV7d69\n2x05cuS6X5fRaOScc65pGrd//3739NNPX/dr4pxzv//7v+/uu+8+96lPfco5N9k/zjl3RSPwZ555\nBjt37sSNN96IOI5xzz334JFHHrmSl3DV7KMf/ShNNOnY4cOHcfDgQQDAwYMH8a1vfQsA8Mgjj+De\ne+9FHMe48cYbsXPnTjzzzDNves1r3TZv3oy9e/cCIGGw973vfTh58uR1vy4stcwcg9nZ2et+TU6c\nOIFHH30Un//85wO07npfE+AKl1BOnjyJG264Ifx/+/btOHny5JW8hJ8qO3v2LObn5wEA8/PzOHv2\nLADg1KlT2L59e/i962Gdjh07hueffx779++/7tfFWou9e/difn4+lJiu9zX54he/iN/7vd9bw46+\n3tcEuMIO/O1YRdezXU6wnn/+/6sNh0N85jOfwVe/+lVMTU2t+dn1uC5SSrzwwgs4ceIEvve97+GJ\nJ55Y8/PrbU2+/e1vY9OmTdi3b99bEluutzVhu6IOfNu2bTh+/Hj4//Hjx9eclNebzc/P48yZMwCA\n06dPY9OmTQDevE4nTpzAtm3brso1vtPWNA0+85nP4P7778enP/1pAJN1YZuZmcHdd9+NZ5999rpe\nkx/84Ac4fPgw3vOe9+Dee+/Fd7/7Xdx///3X9ZqwXVEHfvvtt+OVV17BsWPHUNc1vvnNb+LAgQNX\n8hJ+quzAgQM4dOgQAODQoUPBgR04cADf+MY3UNc1jh49ildeeQV33HHH1bzUd8Scc/i1X/s13Hzz\nzfj1X//18P3reV3Onz8f0BRFUeDxxx/Hvn37rus1eeCBB3D8+HEcPXoU3/jGN/DJT34SX//616/r\nNQl2pbumjz76qNu9e7fbsWOHe+CBB6702181u+eee9yWLVtcHMdu+/bt7uGHH3YXLlxwP/dzP+d2\n7drl7rzzTre4uBh+/7d/+7fdjh073Hvf+1732GOPXcUrf+fs6aefdkIIt2fPHrd37163d+9e953v\nfOe6XpeXXnrJ7du3z+3Zs8fddttt7nd/93edc+66XpOuPfnkkwGFMlkT5yZU+olNbGITu0ZtwsSc\n2MQmNrFr1CYOfGITm9jErlGbOPCJTWxiE7tGbeLAJzaxiU3sGrWJA5/YxCY2sWvUJg58YhOb2MSu\nUZs48IlNbGITu0Zt4sAnNrGJTewatf8Hq9sL34bnPZ4AAAAASUVORK5CYII=\n", "text": [ - "" + "" ] } ], - "prompt_number": 6 + "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ - "That's cool. Both of these detections are tiger cats. Let's take all 'tiger cat' detections and NMS them to get rid of overlapping windows." + "That's cool. Let's take all 'bicycle' detections and NMS them to get rid of overlapping windows." ] }, { @@ -579,13 +763,14 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 7 + "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ - "scores = predictions_df['tiger cat']\n", + "scores = predictions_df['bicycle']\n", + "scores += scores.min()\n", "windows = df[['xmin', 'ymin', 'xmax', 'ymax']].values\n", "dets = np.hstack((windows, scores[:, np.newaxis]))\n", "nms_dets = nms_detections(dets)" @@ -593,13 +778,13 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 8 + "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Show top 3 NMS'd detections for 'tiger cat' in the image." + "Show top 3 NMS'd detections for 'bicycle' in the image." ] }, { @@ -621,13 +806,13 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\nVcMl27kAAAAASUVORK5CYII=\n", + "png": "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\nAAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], - "prompt_number": 9 + "prompt_number": 10 }, { "cell_type": "markdown", @@ -646,7 +831,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 10 + "prompt_number": 11 } ], "metadata": {} diff --git a/examples/imagenet/get_caffe_rcnn_imagenet_model.sh b/examples/imagenet/get_caffe_rcnn_imagenet_model.sh new file mode 100755 index 00000000000..7cd47fa33a6 --- /dev/null +++ b/examples/imagenet/get_caffe_rcnn_imagenet_model.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env sh +# This scripts downloads the Caffe R-CNN ImageNet +# for ILSVRC13 detection. + +MODEL=caffe_rcnn_imagenet_model +CHECKSUM=42c1556d2d47a9128c4a90e0a9c5341c + +if [ -f $MODEL ]; then + echo "Model already exists. Checking md5..." + os=`uname -s` + if [ "$os" = "Linux" ]; then + checksum=`md5sum $MODEL | awk '{ print $1 }'` + elif [ "$os" = "Darwin" ]; then + checksum=`cat $MODEL | md5` + fi + if [ "$checksum" = "$CHECKSUM" ]; then + echo "Model checksum is correct. No need to download." + exit 0 + else + echo "Model checksum is incorrect. Need to download again." + fi +fi + +echo "Downloading..." + +wget --no-check-certificate https://www.dropbox.com/s/0i3etlgmsmgf5ei/$MODEL +echo "Done. Please run this command again to verify that checksum = $CHECKSUM." diff --git a/examples/imagenet/rcnn_imagenet_deploy.prototxt b/examples/imagenet/rcnn_imagenet_deploy.prototxt new file mode 100644 index 00000000000..ef75a0a5e95 --- /dev/null +++ b/examples/imagenet/rcnn_imagenet_deploy.prototxt @@ -0,0 +1,207 @@ +name: "R-CNN-ilsvrc13" +input: "data" +input_dim: 10 +input_dim: 3 +input_dim: 227 +input_dim: 227 +layers { + name: "conv1" + type: CONVOLUTION + bottom: "data" + top: "conv1" + convolution_param { + num_output: 96 + kernel_size: 11 + stride: 4 + } +} +layers { + name: "relu1" + type: RELU + bottom: "conv1" + top: "conv1" +} +layers { + name: "pool1" + type: POOLING + bottom: "conv1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layers { + name: "norm1" + type: LRN + bottom: "pool1" + top: "norm1" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layers { + name: "conv2" + type: CONVOLUTION + bottom: "norm1" + top: "conv2" + convolution_param { + num_output: 256 + pad: 2 + kernel_size: 5 + group: 2 + } +} +layers { + name: "relu2" + type: RELU + bottom: "conv2" + top: "conv2" +} +layers { + name: "pool2" + type: POOLING + bottom: "conv2" + top: "pool2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layers { + name: "norm2" + type: LRN + bottom: "pool2" + top: "norm2" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layers { + name: "conv3" + type: CONVOLUTION + bottom: "norm2" + top: "conv3" + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + } +} +layers { + name: "relu3" + type: RELU + bottom: "conv3" + top: "conv3" +} +layers { + name: "conv4" + type: CONVOLUTION + bottom: "conv3" + top: "conv4" + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + group: 2 + } +} +layers { + name: "relu4" + type: RELU + bottom: "conv4" + top: "conv4" +} +layers { + name: "conv5" + type: CONVOLUTION + bottom: "conv4" + top: "conv5" + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + group: 2 + } +} +layers { + name: "relu5" + type: RELU + bottom: "conv5" + top: "conv5" +} +layers { + name: "pool5" + type: POOLING + bottom: "conv5" + top: "pool5" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layers { + name: "fc6" + type: INNER_PRODUCT + bottom: "pool5" + top: "fc6" + inner_product_param { + num_output: 4096 + } +} +layers { + name: "relu6" + type: RELU + bottom: "fc6" + top: "fc6" +} +layers { + name: "drop6" + type: DROPOUT + bottom: "fc6" + top: "fc6" + dropout_param { + dropout_ratio: 0.5 + } +} +layers { + name: "fc7" + type: INNER_PRODUCT + bottom: "fc6" + top: "fc7" + inner_product_param { + num_output: 4096 + } +} +layers { + name: "relu7" + type: RELU + bottom: "fc7" + top: "fc7" +} +layers { + name: "drop7" + type: DROPOUT + bottom: "fc7" + top: "fc7" + dropout_param { + dropout_ratio: 0.5 + } +} +# R-CNN classification layer made from R-CNN ILSVRC13 SVMs. +layers { + name: "fc-rcnn" + type: INNER_PRODUCT + bottom: "fc7" + top: "fc-rcnn" + inner_product_param { + num_output: 200 + } +} From 186f521348c4f5a2ee91fdf734b5660b1882da25 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 9 Jun 2014 19:46:07 -0700 Subject: [PATCH 105/408] edit detection example, include R-CNN NMS --- examples/detection.ipynb | 477 ++++++++++++++++++++------------------- 1 file changed, 250 insertions(+), 227 deletions(-) diff --git a/examples/detection.ipynb b/examples/detection.ipynb index 5fdfc098679..e4eedfef38c 100644 --- a/examples/detection.ipynb +++ b/examples/detection.ipynb @@ -19,35 +19,32 @@ "\n", "Let's run detection on an image of a bicyclist riding a fish bike in the desert (from the ImageNet challenge\u2014no joke).\n", "\n", - "First of all, we'll need a little [Python script](https://github.com/sergeyk/selective_search_ijcv_with_python) to make the region proposals by running the Selective Search MATLAB code. If you have your own region proposals prepared, or would rather not bother with this step, [detect.py](https://github.com/BVLC/caffe/blob/master/python/detect.py) accepts a list of images and bounding boxes as CSV.\n", + "First, we'll need region proposals and the Caffe R-CNN ImageNet model:\n", "\n", - "Before you get started with this notebook, make sure to follow [instructions](http://caffe.berkeleyvision.org/getting_pretrained_models.html) for getting the Caffe R-CNN ImageNet model." + "- [Selective Search](http://koen.me/research/selectivesearch/) is the region proposer used by R-CNN. The [selective_search_ijcv_with_python](https://github.com/sergeyk/selective_search_ijcv_with_python) Python module takes care of extracting proposals through the selective search MATLAB implementation. To install it, download the module and name its directory `selective_search_ijcv_with_python`, run the demo in MATLAB to compile the necessary functions, then add it to your `PYTHONPATH` for importing. (If you have your own region proposals prepared, or would rather not bother with this step, [detect.py](https://github.com/BVLC/caffe/blob/master/python/detect.py) accepts a list of images and bounding boxes as CSV.)\n", + "\n", + "- Follow the [model instructions](http://caffe.berkeleyvision.org/getting_pretrained_models.html) to get the Caffe R-CNN ImageNet model.\n", + "\n", + "With that done, we'll call the bundled `detect.py` to generate the region proposals and run the network. For an explanation of the arguments, do `./detect.py --help`." ] }, { "cell_type": "code", "collapsed": false, "input": [ - "!mkdir _temp\n", + "!mkdir -p _temp\n", "!echo `pwd`/images/fish-bike.jpg > _temp/det_input.txt\n", "!../python/detect.py --crop_mode=selective_search --pretrained_model=imagenet/caffe_rcnn_imagenet_model --model_def=imagenet/rcnn_imagenet_deploy.prototxt _temp/det_input.txt _temp/det_output.h5" ], "language": "python", "metadata": {}, "outputs": [ - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "mkdir: cannot create directory `_temp': File exists\r\n" - ] - }, { "output_type": "stream", "stream": "stdout", "text": [ "WARNING: Logging before InitGoogleLogging() is written to STDERR\r\n", - "I0608 20:59:28.978440 28360 net.cpp:36] Initializing net from parameters: \r\n", + "I0609 19:20:40.532173 1915982608 net.cpp:36] Initializing net from parameters: \r\n", "name: \"R-CNN-ilsvrc13\"\r\n", "layers {\r\n", " bottom: \"data\"\r\n", @@ -254,153 +251,165 @@ "input_dim: 3\r\n", "input_dim: 227\r\n", "input_dim: 227\r\n", - "I0608 20:59:28.979029 28360 net.cpp:77] Creating Layer conv1\r\n", - "I0608 20:59:28.979038 28360 net.cpp:87] conv1 <- data\r\n", - "I0608 20:59:28.979045 28360 net.cpp:113] conv1 -> conv1\r\n", - "I0608 20:59:28.979110 28360 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", - "I0608 20:59:28.979120 28360 net.cpp:154] conv1 needs backward computation.\r\n", - "I0608 20:59:28.979128 28360 net.cpp:77] Creating Layer relu1\r\n", - "I0608 20:59:28.979135 28360 net.cpp:87] relu1 <- conv1\r\n", - "I0608 20:59:28.979141 28360 net.cpp:101] relu1 -> conv1 (in-place)\r\n", - "I0608 20:59:28.979148 28360 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", - "I0608 20:59:28.979154 28360 net.cpp:154] relu1 needs backward computation.\r\n", - "I0608 20:59:28.979161 28360 net.cpp:77] Creating Layer pool1\r\n", - "I0608 20:59:28.979167 28360 net.cpp:87] pool1 <- conv1\r\n", - "I0608 20:59:28.979173 28360 net.cpp:113] pool1 -> pool1\r\n", - "I0608 20:59:28.979183 28360 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", - "I0608 20:59:28.979190 28360 net.cpp:154] pool1 needs backward computation.\r\n", - "I0608 20:59:28.979198 28360 net.cpp:77] Creating Layer norm1\r\n", - "I0608 20:59:28.979204 28360 net.cpp:87] norm1 <- pool1\r\n", - "I0608 20:59:28.979210 28360 net.cpp:113] norm1 -> norm1\r\n", - "I0608 20:59:28.979218 28360 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", - "I0608 20:59:28.979224 28360 net.cpp:154] norm1 needs backward computation.\r\n", - "I0608 20:59:28.979233 28360 net.cpp:77] Creating Layer conv2\r\n", - "I0608 20:59:28.979241 28360 net.cpp:87] conv2 <- norm1\r\n", - "I0608 20:59:28.979248 28360 net.cpp:113] conv2 -> conv2\r\n", - "I0608 20:59:28.979744 28360 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", - "I0608 20:59:28.979755 28360 net.cpp:154] conv2 needs backward computation.\r\n", - "I0608 20:59:28.979764 28360 net.cpp:77] Creating Layer relu2\r\n", - "I0608 20:59:28.979771 28360 net.cpp:87] relu2 <- conv2\r\n", - "I0608 20:59:28.979779 28360 net.cpp:101] relu2 -> conv2 (in-place)\r\n", - "I0608 20:59:28.979786 28360 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", - "I0608 20:59:28.979794 28360 net.cpp:154] relu2 needs backward computation.\r\n", - "I0608 20:59:28.979800 28360 net.cpp:77] Creating Layer pool2\r\n", - "I0608 20:59:28.979806 28360 net.cpp:87] pool2 <- conv2\r\n", - "I0608 20:59:28.979812 28360 net.cpp:113] pool2 -> pool2\r\n", - "I0608 20:59:28.979820 28360 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", - "I0608 20:59:28.979825 28360 net.cpp:154] pool2 needs backward computation.\r\n", - "I0608 20:59:28.979832 28360 net.cpp:77] Creating Layer norm2\r\n", - "I0608 20:59:28.979837 28360 net.cpp:87] norm2 <- pool2\r\n", - "I0608 20:59:28.979843 28360 net.cpp:113] norm2 -> norm2\r\n", - "I0608 20:59:28.979851 28360 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", - "I0608 20:59:28.979857 28360 net.cpp:154] norm2 needs backward computation.\r\n", - "I0608 20:59:28.979864 28360 net.cpp:77] Creating Layer conv3\r\n", - "I0608 20:59:28.979871 28360 net.cpp:87] conv3 <- norm2\r\n", - "I0608 20:59:28.979876 28360 net.cpp:113] conv3 -> conv3\r\n", - "I0608 20:59:28.981308 28360 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", - "I0608 20:59:28.981322 28360 net.cpp:154] conv3 needs backward computation.\r\n", - "I0608 20:59:28.981328 28360 net.cpp:77] Creating Layer relu3\r\n", - "I0608 20:59:28.981334 28360 net.cpp:87] relu3 <- conv3\r\n", - "I0608 20:59:28.981341 28360 net.cpp:101] relu3 -> conv3 (in-place)\r\n", - "I0608 20:59:28.981348 28360 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", - "I0608 20:59:28.981356 28360 net.cpp:154] relu3 needs backward computation.\r\n", - "I0608 20:59:28.981364 28360 net.cpp:77] Creating Layer conv4\r\n", - "I0608 20:59:28.981369 28360 net.cpp:87] conv4 <- conv3\r\n", - "I0608 20:59:28.981375 28360 net.cpp:113] conv4 -> conv4\r\n", - "I0608 20:59:28.982429 28360 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", - "I0608 20:59:28.982441 28360 net.cpp:154] conv4 needs backward computation.\r\n", - "I0608 20:59:28.982449 28360 net.cpp:77] Creating Layer relu4\r\n", - "I0608 20:59:28.982455 28360 net.cpp:87] relu4 <- conv4\r\n", - "I0608 20:59:28.982460 28360 net.cpp:101] relu4 -> conv4 (in-place)\r\n", - "I0608 20:59:28.982467 28360 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", - "I0608 20:59:28.982472 28360 net.cpp:154] relu4 needs backward computation.\r\n", - "I0608 20:59:28.982480 28360 net.cpp:77] Creating Layer conv5\r\n", - "I0608 20:59:28.982486 28360 net.cpp:87] conv5 <- conv4\r\n", - "I0608 20:59:28.982491 28360 net.cpp:113] conv5 -> conv5\r\n", - "I0608 20:59:28.983197 28360 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", - "I0608 20:59:28.983207 28360 net.cpp:154] conv5 needs backward computation.\r\n", - "I0608 20:59:28.983214 28360 net.cpp:77] Creating Layer relu5\r\n", - "I0608 20:59:28.983221 28360 net.cpp:87] relu5 <- conv5\r\n", - "I0608 20:59:28.983227 28360 net.cpp:101] relu5 -> conv5 (in-place)\r\n", - "I0608 20:59:28.983233 28360 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", - "I0608 20:59:28.983239 28360 net.cpp:154] relu5 needs backward computation.\r\n", - "I0608 20:59:28.983247 28360 net.cpp:77] Creating Layer pool5\r\n", - "I0608 20:59:28.983253 28360 net.cpp:87] pool5 <- conv5\r\n", - "I0608 20:59:28.983258 28360 net.cpp:113] pool5 -> pool5\r\n", - "I0608 20:59:28.983265 28360 net.cpp:128] Top shape: 10 256 6 6 (92160)\r\n", - "I0608 20:59:28.983273 28360 net.cpp:154] pool5 needs backward computation.\r\n", - "I0608 20:59:28.983283 28360 net.cpp:77] Creating Layer fc6\r\n", - "I0608 20:59:28.983289 28360 net.cpp:87] fc6 <- pool5\r\n", - "I0608 20:59:28.983295 28360 net.cpp:113] fc6 -> fc6\r\n" + "I0609 19:20:40.533190 1915982608 net.cpp:77] Creating Layer conv1\r\n", + "I0609 19:20:40.533205 1915982608 net.cpp:87] conv1 <- data\r\n", + "I0609 19:20:40.533215 1915982608 net.cpp:113] conv1 -> conv1\r\n", + "I0609 19:20:40.533259 1915982608 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", + "I0609 19:20:40.533267 1915982608 net.cpp:154] conv1 needs backward computation.\r\n", + "I0609 19:20:40.533274 1915982608 net.cpp:77] Creating Layer relu1\r\n", + "I0609 19:20:40.533279 1915982608 net.cpp:87] relu1 <- conv1\r\n", + "I0609 19:20:40.533285 1915982608 net.cpp:101] relu1 -> conv1 (in-place)\r\n", + "I0609 19:20:40.533293 1915982608 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", + "I0609 19:20:40.533299 1915982608 net.cpp:154] relu1 needs backward computation.\r\n", + "I0609 19:20:40.533306 1915982608 net.cpp:77] Creating Layer pool1\r\n", + "I0609 19:20:40.533311 1915982608 net.cpp:87] pool1 <- conv1\r\n", + "I0609 19:20:40.533316 1915982608 net.cpp:113] pool1 -> pool1\r\n", + "I0609 19:20:40.533330 1915982608 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", + "I0609 19:20:40.533336 1915982608 net.cpp:154] pool1 needs backward computation.\r\n", + "I0609 19:20:40.533344 1915982608 net.cpp:77] Creating Layer norm1\r\n", + "I0609 19:20:40.533349 1915982608 net.cpp:87] norm1 <- pool1\r\n", + "I0609 19:20:40.533399 1915982608 net.cpp:113] norm1 -> norm1\r\n", + "I0609 19:20:40.533423 1915982608 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", + "I0609 19:20:40.533432 1915982608 net.cpp:154] norm1 needs backward computation.\r\n", + "I0609 19:20:40.533442 1915982608 net.cpp:77] Creating Layer conv2\r\n", + "I0609 19:20:40.533447 1915982608 net.cpp:87] conv2 <- norm1\r\n", + "I0609 19:20:40.533452 1915982608 net.cpp:113] conv2 -> conv2\r\n", + "I0609 19:20:40.534168 1915982608 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", + "I0609 19:20:40.534180 1915982608 net.cpp:154] conv2 needs backward computation.\r\n", + "I0609 19:20:40.534188 1915982608 net.cpp:77] Creating Layer relu2\r\n", + "I0609 19:20:40.534193 1915982608 net.cpp:87] relu2 <- conv2\r\n", + "I0609 19:20:40.534199 1915982608 net.cpp:101] relu2 -> conv2 (in-place)\r\n", + "I0609 19:20:40.534205 1915982608 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", + "I0609 19:20:40.534210 1915982608 net.cpp:154] relu2 needs backward computation.\r\n", + "I0609 19:20:40.534216 1915982608 net.cpp:77] Creating Layer pool2\r\n", + "I0609 19:20:40.534221 1915982608 net.cpp:87] pool2 <- conv2\r\n", + "I0609 19:20:40.534227 1915982608 net.cpp:113] pool2 -> pool2\r\n", + "I0609 19:20:40.534235 1915982608 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0609 19:20:40.534240 1915982608 net.cpp:154] pool2 needs backward computation.\r\n", + "I0609 19:20:40.534246 1915982608 net.cpp:77] Creating Layer norm2\r\n", + "I0609 19:20:40.534251 1915982608 net.cpp:87] norm2 <- pool2\r\n", + "I0609 19:20:40.534261 1915982608 net.cpp:113] norm2 -> norm2\r\n", + "I0609 19:20:40.534270 1915982608 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0609 19:20:40.534275 1915982608 net.cpp:154] norm2 needs backward computation.\r\n", + "I0609 19:20:40.534373 1915982608 net.cpp:77] Creating Layer conv3\r\n", + "I0609 19:20:40.534381 1915982608 net.cpp:87] conv3 <- norm2\r\n", + "I0609 19:20:40.534386 1915982608 net.cpp:113] conv3 -> conv3\r\n", + "I0609 19:20:40.536221 1915982608 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0609 19:20:40.536238 1915982608 net.cpp:154] conv3 needs backward computation.\r\n", + "I0609 19:20:40.536247 1915982608 net.cpp:77] Creating Layer relu3\r\n", + "I0609 19:20:40.536252 1915982608 net.cpp:87] relu3 <- conv3\r\n", + "I0609 19:20:40.536258 1915982608 net.cpp:101] relu3 -> conv3 (in-place)\r\n", + "I0609 19:20:40.536264 1915982608 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0609 19:20:40.536269 1915982608 net.cpp:154] relu3 needs backward computation.\r\n", + "I0609 19:20:40.536277 1915982608 net.cpp:77] Creating Layer conv4\r\n", + "I0609 19:20:40.536281 1915982608 net.cpp:87] conv4 <- conv3\r\n", + "I0609 19:20:40.536286 1915982608 net.cpp:113] conv4 -> conv4\r\n", + "I0609 19:20:40.537760 1915982608 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0609 19:20:40.537786 1915982608 net.cpp:154] conv4 needs backward computation.\r\n", + "I0609 19:20:40.537803 1915982608 net.cpp:77] Creating Layer relu4\r\n", + "I0609 19:20:40.537809 1915982608 net.cpp:87] relu4 <- conv4\r\n", + "I0609 19:20:40.537814 1915982608 net.cpp:101] relu4 -> conv4 (in-place)\r\n", + "I0609 19:20:40.537821 1915982608 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0609 19:20:40.537825 1915982608 net.cpp:154] relu4 needs backward computation.\r\n", + "I0609 19:20:40.537832 1915982608 net.cpp:77] Creating Layer conv5\r\n", + "I0609 19:20:40.537837 1915982608 net.cpp:87] conv5 <- conv4\r\n", + "I0609 19:20:40.537842 1915982608 net.cpp:113] conv5 -> conv5\r\n", + "I0609 19:20:40.538887 1915982608 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0609 19:20:40.538899 1915982608 net.cpp:154] conv5 needs backward computation.\r\n", + "I0609 19:20:40.538908 1915982608 net.cpp:77] Creating Layer relu5\r\n", + "I0609 19:20:40.538913 1915982608 net.cpp:87] relu5 <- conv5\r\n", + "I0609 19:20:40.538918 1915982608 net.cpp:101] relu5 -> conv5 (in-place)\r\n", + "I0609 19:20:40.538923 1915982608 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0609 19:20:40.538928 1915982608 net.cpp:154] relu5 needs backward computation.\r\n", + "I0609 19:20:40.538934 1915982608 net.cpp:77] Creating Layer pool5\r\n", + "I0609 19:20:40.538939 1915982608 net.cpp:87] pool5 <- conv5\r\n", + "I0609 19:20:40.538945 1915982608 net.cpp:113] pool5 -> pool5\r\n", + "I0609 19:20:40.538954 1915982608 net.cpp:128] Top shape: 10 256 6 6 (92160)\r\n", + "I0609 19:20:40.538959 1915982608 net.cpp:154] pool5 needs backward computation.\r\n", + "I0609 19:20:40.538965 1915982608 net.cpp:77] Creating Layer fc6\r\n", + "I0609 19:20:40.538970 1915982608 net.cpp:87] fc6 <- pool5\r\n", + "I0609 19:20:40.538975 1915982608 net.cpp:113] fc6 -> fc6\r\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "I0609 19:20:40.628031 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0609 19:20:40.628060 1915982608 net.cpp:154] fc6 needs backward computation.\r\n", + "I0609 19:20:40.628075 1915982608 net.cpp:77] Creating Layer relu6\r\n", + "I0609 19:20:40.628082 1915982608 net.cpp:87] relu6 <- fc6\r\n", + "I0609 19:20:40.628089 1915982608 net.cpp:101] relu6 -> fc6 (in-place)\r\n", + "I0609 19:20:40.628096 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0609 19:20:40.628101 1915982608 net.cpp:154] relu6 needs backward computation.\r\n", + "I0609 19:20:40.628109 1915982608 net.cpp:77] Creating Layer drop6\r\n", + "I0609 19:20:40.628114 1915982608 net.cpp:87] drop6 <- fc6\r\n", + "I0609 19:20:40.628119 1915982608 net.cpp:101] drop6 -> fc6 (in-place)\r\n", + "I0609 19:20:40.628136 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0609 19:20:40.628142 1915982608 net.cpp:154] drop6 needs backward computation.\r\n", + "I0609 19:20:40.628149 1915982608 net.cpp:77] Creating Layer fc7\r\n", + "I0609 19:20:40.628154 1915982608 net.cpp:87] fc7 <- fc6\r\n", + "I0609 19:20:40.628160 1915982608 net.cpp:113] fc7 -> fc7\r\n", + "I0609 19:20:40.666213 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0609 19:20:40.666244 1915982608 net.cpp:154] fc7 needs backward computation.\r\n", + "I0609 19:20:40.666255 1915982608 net.cpp:77] Creating Layer relu7\r\n", + "I0609 19:20:40.666261 1915982608 net.cpp:87] relu7 <- fc7\r\n", + "I0609 19:20:40.666267 1915982608 net.cpp:101] relu7 -> fc7 (in-place)\r\n", + "I0609 19:20:40.666273 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0609 19:20:40.666280 1915982608 net.cpp:154] relu7 needs backward computation.\r\n", + "I0609 19:20:40.666286 1915982608 net.cpp:77] Creating Layer drop7\r\n", + "I0609 19:20:40.666290 1915982608 net.cpp:87] drop7 <- fc7\r\n", + "I0609 19:20:40.666296 1915982608 net.cpp:101] drop7 -> fc7 (in-place)\r\n", + "I0609 19:20:40.666302 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0609 19:20:40.666307 1915982608 net.cpp:154] drop7 needs backward computation.\r\n", + "I0609 19:20:40.666314 1915982608 net.cpp:77] Creating Layer fc-rcnn\r\n", + "I0609 19:20:40.666321 1915982608 net.cpp:87] fc-rcnn <- fc7\r\n", + "I0609 19:20:40.666326 1915982608 net.cpp:113] fc-rcnn -> fc-rcnn\r\n", + "I0609 19:20:40.668617 1915982608 net.cpp:128] Top shape: 10 200 1 1 (2000)\r\n", + "I0609 19:20:40.668654 1915982608 net.cpp:154] fc-rcnn needs backward computation.\r\n", + "I0609 19:20:40.668663 1915982608 net.cpp:165] This network produces output fc-rcnn\r\n", + "I0609 19:20:40.668689 1915982608 net.cpp:183] Collecting Learning Rate and Weight Decay.\r\n", + "I0609 19:20:40.668720 1915982608 net.cpp:176] Network initialization done.\r\n", + "I0609 19:20:40.668737 1915982608 net.cpp:177] Memory required for Data 41950840\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "I0608 20:59:29.042397 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0608 20:59:29.042438 28360 net.cpp:154] fc6 needs backward computation.\r\n", - "I0608 20:59:29.042453 28360 net.cpp:77] Creating Layer relu6\r\n", - "I0608 20:59:29.042460 28360 net.cpp:87] relu6 <- fc6\r\n", - "I0608 20:59:29.042498 28360 net.cpp:101] relu6 -> fc6 (in-place)\r\n", - "I0608 20:59:29.042506 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0608 20:59:29.042512 28360 net.cpp:154] relu6 needs backward computation.\r\n", - "I0608 20:59:29.042520 28360 net.cpp:77] Creating Layer drop6\r\n", - "I0608 20:59:29.042526 28360 net.cpp:87] drop6 <- fc6\r\n", - "I0608 20:59:29.042533 28360 net.cpp:101] drop6 -> fc6 (in-place)\r\n", - "I0608 20:59:29.042546 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0608 20:59:29.042551 28360 net.cpp:154] drop6 needs backward computation.\r\n", - "I0608 20:59:29.042559 28360 net.cpp:77] Creating Layer fc7\r\n", - "I0608 20:59:29.042565 28360 net.cpp:87] fc7 <- fc6\r\n", - "I0608 20:59:29.042572 28360 net.cpp:113] fc7 -> fc7\r\n", - "I0608 20:59:29.068634 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0608 20:59:29.068672 28360 net.cpp:154] fc7 needs backward computation.\r\n", - "I0608 20:59:29.068685 28360 net.cpp:77] Creating Layer relu7\r\n", - "I0608 20:59:29.068692 28360 net.cpp:87] relu7 <- fc7\r\n", - "I0608 20:59:29.068729 28360 net.cpp:101] relu7 -> fc7 (in-place)\r\n", - "I0608 20:59:29.068737 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0608 20:59:29.068743 28360 net.cpp:154] relu7 needs backward computation.\r\n", - "I0608 20:59:29.068752 28360 net.cpp:77] Creating Layer drop7\r\n", - "I0608 20:59:29.068758 28360 net.cpp:87] drop7 <- fc7\r\n", - "I0608 20:59:29.068766 28360 net.cpp:101] drop7 -> fc7 (in-place)\r\n", - "I0608 20:59:29.068774 28360 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0608 20:59:29.068780 28360 net.cpp:154] drop7 needs backward computation.\r\n", - "I0608 20:59:29.068789 28360 net.cpp:77] Creating Layer fc-rcnn\r\n", - "I0608 20:59:29.068794 28360 net.cpp:87] fc-rcnn <- fc7\r\n", - "I0608 20:59:29.068800 28360 net.cpp:113] fc-rcnn -> fc-rcnn\r\n", - "I0608 20:59:29.070180 28360 net.cpp:128] Top shape: 10 200 1 1 (2000)\r\n", - "I0608 20:59:29.070194 28360 net.cpp:154] fc-rcnn needs backward computation.\r\n", - "I0608 20:59:29.070199 28360 net.cpp:165] This network produces output fc-rcnn\r\n", - "I0608 20:59:29.070217 28360 net.cpp:183] Collecting Learning Rate and Weight Decay.\r\n", - "I0608 20:59:29.070231 28360 net.cpp:176] Network initialization done.\r\n", - "I0608 20:59:29.070237 28360 net.cpp:177] Memory required for Data 41950840\r\n" + "Loading input...\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "Loading input...\r\n", - "selective_search({'/home/shelhamer/caffe/examples/images/fish-bike.jpg'}, '/tmp/tmpG3fe4u.mat')\r\n" + "selective_search({'/Users/shelhamer/h/desk/caffe/caffe/examples/images/fish-bike.jpg'}, '/var/folders/bk/dtkn5qjd11bd17b2j36zplyw0000gp/T/tmpCk4v4e.mat')\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "Processed 190 windows in 8.631 s.\r\n" + "Processed 190 windows in 14.397 s.\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "/home/shelhamer/anaconda/lib/python2.7/site-packages/pandas/io/pytables.py:2446: PerformanceWarning: \r\n", + "/Users/shelhamer/anaconda/lib/python2.7/site-packages/pandas/io/pytables.py:2446: PerformanceWarning: \r\n", "your performance may suffer as PyTables will pickle object types that it cannot\r\n", "map directly to c-types [inferred_type->mixed,key->block1_values] [items->['prediction']]\r\n", "\r\n", - " warnings.warn(ws, PerformanceWarning)\r\n", - "Saved to _temp/det_output.h5 in 0.057 s.\r\n" + " warnings.warn(ws, PerformanceWarning)\r\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "Saved to _temp/det_output.h5 in 0.068 s.\r\n" ] } ], @@ -410,10 +419,10 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Running this outputs a DataFrame with the filenames, selected windows, and their ImageNet scores to an HDF5 file.\n", - "(We only ran on one image, so the filenames will all be the same.)\n", + "This run was in CPU mode. For GPU mode detection, call `detect.py` with the `--gpu` argument.\n", "\n", - "This run was in CPU mode. For GPU mode detection, call `detect.py` with the `--gpu` argument." + "Running this outputs a DataFrame with the filenames, selected windows, and their detection scores to an HDF5 file.\n", + "(We only ran on one image, so the filenames will all be the same.)" ] }, { @@ -434,12 +443,12 @@ "stream": "stdout", "text": [ "(190, 5)\n", - "prediction [-2.10395, -2.06288, -2.76946, -2.32455, -1.77...\n", + "prediction [-2.31462, -1.8712, -2.74564, -2.41909, -1.863...\n", "ymin 0\n", "xmin 0\n", "ymax 323\n", "xmax 481\n", - "Name: /home/shelhamer/caffe/examples/images/fish-bike.jpg, dtype: object\n" + "Name: /Users/shelhamer/h/desk/caffe/caffe/examples/images/fish-bike.jpg, dtype: object\n" ] } ], @@ -449,6 +458,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "190 regions were proposed with this light configuration of selective search. The number of proposals will vary from image to image based on its contents and size -- selective search isn't scale invariant. Note that the full R-CNN system's selective search configuration is more exhaustive and generates ~2,000 proposals per image.\n", + "\n", "In general, `detect.py` is most efficient when running on a lot of images: it first extracts window proposals for all of them, batches the windows for efficient GPU processing, and then outputs the results.\n", "Simply list an image per line in the `images_file`, and it will process all of them.\n", "\n", @@ -481,37 +492,37 @@ "stream": "stdout", "text": [ "name\n", - "accordion -2.103952\n", - "airplane -2.062878\n", - "ant -2.769462\n", - "antelope -2.324549\n", - "apple -1.777492\n", - "armadillo -2.152244\n", - "artichoke -2.547566\n", - "axe -1.905112\n", - "baby bed -0.836331\n", - "backpack -1.134832\n", - "bagel -2.133529\n", - "balance beam -2.338049\n", - "banana -1.584361\n", - "band aid -1.468755\n", - "banjo -1.903778\n", + "accordion -2.314622\n", + "airplane -1.871199\n", + "ant -2.745639\n", + "antelope -2.419094\n", + "apple -1.863528\n", + "armadillo -1.965794\n", + "artichoke -2.634531\n", + "axe -1.960974\n", + "baby bed -0.765412\n", + "backpack -1.186638\n", + "bagel -2.278808\n", + "balance beam -2.417408\n", + "banana -1.467084\n", + "band aid -1.598927\n", + "banjo -2.113579\n", "...\n", - "trombone -1.880981\n", - "trumpet -2.182214\n", - "turtle -2.147969\n", - "tv or monitor -1.362767\n", - "unicycle -1.660976\n", - "vacuum -1.484495\n", - "violin -2.158709\n", - "volleyball -2.454174\n", - "waffle iron -1.827833\n", - "washer -2.017761\n", - "water bottle -1.709274\n", - "watercraft -1.742185\n", - "whale -2.385357\n", - "wine bottle -2.493835\n", - "zebra -1.921937\n", + "trombone -1.890996\n", + "trumpet -2.309392\n", + "turtle -1.685296\n", + "tv or monitor -1.517442\n", + "unicycle -1.536263\n", + "vacuum -1.304291\n", + "violin -2.140619\n", + "volleyball -2.413140\n", + "waffle iron -1.830395\n", + "washer -1.806998\n", + "water bottle -1.686736\n", + "watercraft -1.740314\n", + "whale -2.516271\n", + "wine bottle -2.607729\n", + "zebra -1.917919\n", "Name: 0, Length: 200, dtype: float32\n" ] } @@ -542,22 +553,22 @@ "output_type": "pyout", "prompt_number": 4, "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\nkBxYsVjE3bt34fP5hLlQ2R8HQPrdWGgB2oZFqdypJOQqlUqIRqOSM+Rll0wmBU7BOebvEC9FZVLu\nraWlJfy0ofvTP/3TP/2p/8Uv0PizP/szRKNRWK1W4fzQ6/XSTW21WrGysoJyuSyE4hqNBk6nU24P\ng8EgnefVahWBQECkigk7J+t+uVzGW2+9hfX1dQwODsJkMiGbzaJer8PpdKKzs1OIvYmlMBgMcgPz\n8NvtdmQyGXR2dopxoReTyWTQ29srmzOZTAr+iB28JycnclvTGPb19QlNZTqdFlf7+PgYpVJJKDDK\n5TLq9ToMBoNUqBgCDQ0NCd6GlBqVSgXFYlEUJqgu2Wq1UC6X5TO8STmnlDBhAym15PmuXq9XCOo1\nGo1KrI8Hz+VyCR8RRREJ93c4HAL+M5lMIlhHwCHXjDLKnF9KBlHvOxQK4b333kN/f7+U8ck77ff7\n5UIhYM5qtSIQCKBUKuHg4ACnp6fyu8FgEHa7XSSi2VG/vb2Njo4O9PT0CHslDT4NIOfF4/HIu5Aj\niQogZIokBcvh4aFgzOjN0FOkioXSoJGXiKX4ZrOJdDqNQCAg3jq9X4ZkBoNB2AdarRYsFgsymYyo\nnHBd2RDLgga/m8b25s2b+DjT8sAlkmlw2BnLsi7/jDIqRqMRhUIBzWYTmUxGLHI8HhdZDpazuch0\nbXnDEiVKzmBKxZCke2dnR7L7c3Nz2N/fVy1+LBYT/e7Ozk4BrW1sbMhtT9Q05UBYpSAClOGhw+GA\nyWSC3W7H6empSkuLHDLsm+FcMDZnDiKXy2F2dhazs7M4Pj7G9evXYTabZdMwZCLVA3WnuBGJAmbu\n6IMPPhCpFHb6p1Ip7O7uyjOQVKpYLKKrq0tkeEnUPjAwIOqahUJBsDRU6jQYDCqZF6ptUCmDhPIG\ng0FCZ61WK/+u0+lQrVbRarXkmZk/IccyjXU6nRYpIPIfU+OMZW29Xi+0niQFq1arqFarMJlM0Ov1\ncDqdKppPyi+TLD4ajYpkjBLCQIK6/f198ZpzuZw0nHJf0Wil02nZr3a7Xf5HD4uMAPwtgg/L5TKy\n2azsbRLzd3d3i3Q014+X1yOPPKIybqenp5IP7e/vx/r6ujwrvamPGw9ceMUudKCdDCUdRblcxt7e\nnkouxWazQavVolqtSmz93nvv4fj4WDbcwcGBivM2n8/DYrFge3tbxXHLZLPNZhNYPQcxQsxxMLma\n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\n7dVe7fW+rv8DcmMMZpJu4MQAAAAASUVORK5CYII=\n", + "png": "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\n", "text": [ - "" + "" ] } ], @@ -586,28 +597,28 @@ "stream": "stdout", "text": [ "name\n", - "bicycle 0.773379\n", - "person 0.545096\n", - "unicycle -0.210110\n", - "motorcycle -0.503959\n", - "table -0.591293\n", - "cart -0.628063\n", + "bicycle 0.800025\n", + "person 0.545095\n", + "unicycle -0.210109\n", + "motorcycle -0.233815\n", + "lizard -0.366079\n", + "cart -0.590633\n", "electric fan -0.664937\n", - "purse -0.674998\n", - "baby bed -0.677444\n", - "plastic bag -0.717950\n", + "purse -0.681369\n", + "baby bed -0.693025\n", + "snowmobile -0.787456\n", "dtype: float32\n" ] } ], - "prompt_number": 6 + "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The positive detections are in fact a bicycle and person.\n", - "Picking good localizations is work in progress; manually, we see that the top and second-best scoring detections correspond to the bicycle and person." + "Picking good localizations is a work in progress; we pick the top-scoring person and bicycle detections." ] }, { @@ -618,7 +629,7 @@ "window_order = pd.Series(predictions_df.values.max(1)).order(ascending=False)\n", "\n", "i = window_order.index[0]\n", - "j = window_order.index[1]\n", + "j = window_order.index[2]\n", "\n", "# Show top predictions for top detection.\n", "f = pd.Series(df['prediction'].iloc[i], index=labels_df['name'])\n", @@ -653,16 +664,29 @@ "text": [ "Top detection:\n", "name\n", - "bicycle 0.773379\n", - "unicycle -0.519379\n", - "scorpion -0.902484\n", - "soccer ball -1.148745\n", - "cart -1.167148\n", - "dtype: float32\n", + "bicycle 0.800025\n", + "unicycle -0.473696\n", + "scorpion -0.932076\n", + "soccer ball -1.147575\n", + "cart -1.187498\n", + "dtype: float32\n" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "\n", + "Second-best detection:" + ] + }, + { + "output_type": "stream", + "stream": "stdout", + "text": [ "\n", - "Second-best detection:\n", "name\n", - "person 0.545096\n", + "person 0.545095\n", "swimming trunks -1.098802\n", "plastic bag -1.130418\n", "rubber eraser -1.185333\n", @@ -673,9 +697,9 @@ { "metadata": {}, "output_type": "pyout", - "prompt_number": 7, + "prompt_number": 6, "text": [ - "" + "" ] }, { @@ -683,11 +707,11 @@ "output_type": "display_data", "png": "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\nbHX31cVsZH5W2dFzGs+/z4fI9PR0eF8mpl2My+bnj9eCs2p2Yl02K/McOCum/UREHP4M/Fq83/ia\n+fuJ5wbwnjbGQHHtuuPsOYNntBln4N3SazfI4nvBQUSWZahrvUb7CCDpWYUW0gvQ4WeaVtGwy5vo\nsiv5evmz8z3gNezuGX6dy9lVodLv3bsXL7744pV+24lNbGITu+bsYx/7GJ588slL/uyqOPCJTWxi\nE5vYP92uWhNzYhOb2MQm9k+ziQOf2MQmNrFr1K64A3/sscdw0003YdeuXXjooYeu9NtfNfvVX/1V\nzM/P47bbbgvfW1hYwJ133ondu3fjF37hF7C0tBR+9ju/8zvYtWsXbrrpJvzlX/7l1bjkd9yOHz+O\nT3ziE7jllltw66234g/+4A8AXN/rUpYl9u/fj7179+Lmm2/GV77yFQDX95qwGWOwb98+fOpTJDkx\nWRMA7gqa1trt2LHDHT161NV17fbs2eOOHDlyJS/hqtn3vvc999xzz7lbb701fO9LX/qSe+ihh5xz\nzj344IPuy1/+snPOuR/96Eduz549rq5rd/ToUbdjxw5njLkq1/1O2unTp93zzz/vnHNudXXV7d69\n2x05cuS6X5fRaOScc65pGrd//3739NNPX/dr4pxzv//7v+/uu+8+96lPfco5N9k/zjl3RSPwZ555\nBjt37sSNN96IOI5xzz334JFHHrmSl3DV7KMf/ShNNOnY4cOHcfDgQQDAwYMH8a1vfQsA8Mgjj+De\ne+9FHMe48cYbsXPnTjzzzDNves1r3TZv3oy9e/cCIGGw973vfTh58uR1vy4stcwcg9nZ2et+TU6c\nOIFHH30Un//85wO07npfE+AKl1BOnjyJG264Ifx/+/btOHny5JW8hJ8qO3v2LObn5wEA8/PzOHv2\nLADg1KlT2L59e/i962Gdjh07hueffx779++/7tfFWou9e/difn4+lJiu9zX54he/iN/7vd9bw46+\n3tcEuMIO/O1YRdezXU6wnn/+/6sNh0N85jOfwVe/+lVMTU2t+dn1uC5SSrzwwgs4ceIEvve97+GJ\nJ55Y8/PrbU2+/e1vY9OmTdi3b99bEluutzVhu6IOfNu2bTh+/Hj4//Hjx9eclNebzc/P48yZMwCA\n06dPY9OmTQDevE4nTpzAtm3brso1vtPWNA0+85nP4P7778enP/1pAJN1YZuZmcHdd9+NZ5999rpe\nkx/84Ac4fPgw3vOe9+Dee+/Fd7/7Xdx///3X9ZqwXVEHfvvtt+OVV17BsWPHUNc1vvnNb+LAgQNX\n8hJ+quzAgQM4dOgQAODQoUPBgR04cADf+MY3UNc1jh49ildeeQV33HHH1bzUd8Scc/i1X/s13Hzz\nzfj1X//18P3reV3Onz8f0BRFUeDxxx/Hvn37rus1eeCBB3D8+HEcPXoU3/jGN/DJT34SX//616/r\nNQl2pbumjz76qNu9e7fbsWOHe+CBB6702181u+eee9yWLVtcHMdu+/bt7uGHH3YXLlxwP/dzP+d2\n7drl7rzzTre4uBh+/7d/+7fdjh073Hvf+1732GOPXcUrf+fs6aefdkIIt2fPHrd37163d+9e953v\nfOe6XpeXXnrJ7du3z+3Zs8fddttt7nd/93edc+66XpOuPfnkkwGFMlkT5yZU+olNbGITu0ZtwsSc\n2MQmNrFr1CYOfGITm9jErlGbOPCJTWxiE7tGbeLAJzaxiU3sGrWJA5/YxCY2sWvUJg58YhOb2MSu\nUZs48IlNbGITu0Zt4sAnNrGJTewatf8Hq9sL34bnPZ4AAAAASUVORK5CYII=\n", "text": [ - "" + "" ] } ], - "prompt_number": 7 + "prompt_number": 6 }, { "cell_type": "markdown", @@ -700,7 +724,7 @@ "cell_type": "code", "collapsed": false, "input": [ - "def nms_detections(dets, overlap=0.5):\n", + "def nms_detections(dets, overlap=0.3):\n", " \"\"\"\n", " Non-maximum suppression: Greedily select high-scoring detections and\n", " skip detections that are significantly covered by a previously\n", @@ -714,63 +738,54 @@ " dets: ndarray\n", " each row is ['xmin', 'ymin', 'xmax', 'ymax', 'score']\n", " overlap: float\n", - " minimum overlap ratio (0.5 default)\n", + " minimum overlap ratio (0.3 default)\n", "\n", " Output\n", " ------\n", " dets: ndarray\n", " remaining after suppression.\n", " \"\"\"\n", - " if np.shape(dets)[0] < 1:\n", - " return dets\n", - "\n", " x1 = dets[:, 0]\n", " y1 = dets[:, 1]\n", " x2 = dets[:, 2]\n", " y2 = dets[:, 3]\n", + " ind = np.argsort(dets[:, 4])\n", "\n", " w = x2 - x1\n", " h = y2 - y1\n", - " area = w * h\n", - "\n", - " s = dets[:, 4]\n", - " ind = np.argsort(s)\n", + " area = (w * h).astype(float)\n", "\n", " pick = []\n", - " counter = 0\n", " while len(ind) > 0:\n", - " last = len(ind) - 1\n", - " i = ind[last]\n", + " i = ind[-1]\n", " pick.append(i)\n", - " counter += 1\n", + " ind = ind[:-1]\n", "\n", - " xx1 = np.maximum(x1[i], x1[ind[:last]])\n", - " yy1 = np.maximum(y1[i], y1[ind[:last]])\n", - " xx2 = np.minimum(x2[i], x2[ind[:last]])\n", - " yy2 = np.minimum(y2[i], y2[ind[:last]])\n", + " xx1 = np.maximum(x1[i], x1[ind])\n", + " yy1 = np.maximum(y1[i], y1[ind])\n", + " xx2 = np.minimum(x2[i], x2[ind])\n", + " yy2 = np.minimum(y2[i], y2[ind])\n", "\n", - " w = np.maximum(0., xx2 - xx1 + 1)\n", - " h = np.maximum(0., yy2 - yy1 + 1)\n", + " w = np.maximum(0., xx2 - xx1)\n", + " h = np.maximum(0., yy2 - yy1)\n", "\n", - " o = w * h / area[ind[:last]]\n", + " wh = w * h\n", + " o = wh / (area[i] + area[ind] - wh)\n", "\n", - " to_delete = np.concatenate(\n", - " (np.nonzero(o > overlap)[0], np.array([last])))\n", - " ind = np.delete(ind, to_delete)\n", + " ind = ind[np.nonzero(o <= overlap)[0]]\n", "\n", " return dets[pick, :]" ], "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 8 + "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "scores = predictions_df['bicycle']\n", - "scores += scores.min()\n", "windows = df[['xmin', 'ymin', 'xmax', 'ymax']].values\n", "dets = np.hstack((windows, scores[:, np.newaxis]))\n", "nms_dets = nms_detections(dets)" @@ -778,7 +793,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 9 + "prompt_number": 24 }, { "cell_type": "markdown", @@ -806,32 +821,40 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\nAAAAAElFTkSuQmCC\n", + "png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAEACAYAAACqOy3+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvUmMZVd65/c7wx3eFHNEZjIzyWQOTGaxqqQumVJLclut\nVqtluLvhrfYCbMBwLwzvvPHKCwGGV7IBwxMgL7QwIEPuNiBLJVV3qyy1SqVCDSqSRSaZyZwjY37T\nnc7gxTn3vpfBSFbZoEyxFV9VMDLeve8O597zff/v/w1HeO8953Iu53Iu5/KFE/l5X8C5nMu5nMu5\n/H+TcwV+LudyLufyBZVzBX4u53Iu5/IFlXMFfi7nci7n8gWVcwV+LudyLufyBZVzBX4u53Iu5/IF\nlb8WBf77v//7vPnmm9y6dYvf/M3f/Os4xbmcy7mcy996EZ91Hri1ltu3b/P1r3+dy5cv8/bbb/M7\nv/M73Llz57M8zbmcy7mcy996+cwR+Le+9S1u3rzJtWvXSJKEX//1X+f3fu/3PuvTnMu5nMu5/K2X\nz1yBP378mKtXr3Z/X7lyhcePH3/WpzmXczmXc/lbL5+5AhdCfNaHPJdzOZdzOZczRH/WB7x8+TIP\nHz7s/n748CFXrlx5YR8hbgIfftanPpdzOZdz+bdONrYvcfD8ydkb/WcsTdP469ev+3v37vmqqvxP\n/dRP+XfeeeeFfQAP/vznhZ//8m/ANfxN+zkfk/MxOR+XT1PTnzkC11rzW7/1W/zar/0a1lp+4zd+\n4zwD5VzO5VzO5a9BPvM0wp/opEIA4bT/63/73zCez8j7PaRS9IYDsiyjqhomkwkrWR8hBGVdcXx8\nwvHxCfOywDqHsRbnPUorhBA4JCfjE5I0RSmFtZZer4dzjjRNqaoKay1ZliOlwFqL9x4lFYnWSCmR\nUpJqTZIkWGuZz+egPc578IK6rgGBtQ6lNHmek6U9vPfMZjMSJUgTjTGGuq7RWmGcIUlTAKQAqcJ5\npNC0YYhvfONf88t//+/hrOGsMIJCI2US7tM5ECAkSCmx1uKcQ0mJUgqPwDmBlOCcw1uHEJBkCd57\nUAKhJN57rLNgPRKQQqGkJBEJQqgunmER3djUTQNA4yzWWoQQZFmGjmOmlSLVCVprinJGosO2pmmY\nzWbM53OMMSiVkCQJQqvwrOoK7z3Lr+P/9Ud/wD/5x/803IP3OMJ24cJ3lFLh87i9/VFKdeOUD/vd\n+HjvMcbgvUdr3e0vhAj7W7p/Sym7feq67j5vZTadhueiFtci4/g757rzSympjMe5xXna42itX7h2\nACckzgPeIkV4hlKAcIajowN+93f/N27fus0rr1xic3uL0coKWZaF81Q1/f6AsqyQQgEC52Q4n7dI\nCUpprPUYZ0GKcI/OgRM4Y+M74Wic6+7VC7prbN8DIcL8iReNMQYhwti3z8k5h41jIeP4VI1BCdm9\nL1LKMF6AkgqWnodvxt38aM/b6RBkvL9wnb/3L/53fvXf/6dxHF33DAE8Eo+I9yDwAqSQCMA7h2Tx\nTKxz3fVb79A+nKN7TlIETLz0He991GZy8ffSHHYE/eGcw5pwHCuW9l16h7trjp//1n/1n0G89rPk\nM0fg/29luDoiHw1QWtHUBlPW1LWlrkooKybzGVmWo7TmysVtXr18AWMdk+mUWVFgnaUsS8qqpqhr\nLm5tYJ2NSrtPnuVIKTHWMMwSrLMkOkElafxeibUG5zzeggXqwqGUIk0zer0MmUrSLCVNM7z3NLWl\nKEqaxqCURkjPaDBifX0N5yxaJzR1xfHJCWmaUNUVUsn4kBxCSYxzONNgrUcKyauvvUrjHF4IwqsV\nHqJWChcVrTCgdHyJPSgEpWmCIsChEkllFtckhEJKgVAaIaCua1SiaeomvMRKYowh0QqpNB5w3tMI\nGxWIji8+YC0C1YW9hYc0XUxAYxqapsY5R5IEQ+GdRal5mIzRAOa9fDEhnAXjAI/zJk66cO/OOa5f\nu0Zdly9MFACtEsBjbQMehBSo+OI772hZOiE80+mkmxhaa1Q0XL7brz2uwOIRCPDgjacyVXftSiqA\nboKtrK4i4nU652inV13XWOeQS8reLSkbH88hhKBp6sXYRGmcASnxziC8p64KmqqkrgomkzErwx7T\n6QH3Pzrh0aOcLM9x3jMcDvHes7W1w86FCyRJjlYp1tVolWGtxwuFaSzOg0eghKIxPmIpj5QaAWjl\nUbK9fk97ecYE8CJEMHRKJniC0ktUMHa04Cw8bqSWyDh2xjmSRHfPqarKbkyFEFhp0UIipAxKVacL\nwyxU+GlZhThurWJ+4/aXSBMd3iU83ttouATOBaPkXLgRISXxkaNagy1EAITW0LjwXaUUAhGARjTI\nLehz0aiFdzMYM+sWf8s4Th4Q3qOkxAFKh+9ZJH7pnfZedoocBJ52LD9dPncFfv9xCHj2sx79Xh+c\nxwpHigSpUIlCSMA1eKvwKLQU9DLN2toOCIEQCmMNLr44RVEwm82Cgi4KimlBVdf0ez2k9/QHPXSa\nUs5nSB8UiPCue5FHoyFSSmazOVJ4nIfZbEKapEgpKcugqKqqIct6JEnKnAnzeYFHkCQpxhistaR5\nhrEOhUBpRVUZpNI01jHojxgOV/HesnnhAtYYJILx+BgIynRWFnjnI2KRODzGNsFINA1105BmGXVd\nkctemDQSpBdYZyjmBb04yT3gjEFnKcZajsdjZsWMldGAtdVVpJBUdYPC4T2oOHmFUuHlNwZvg3ET\nHQoBIXynyKqqwuEwjSHLNN75OKcFQgRvQUqJTnWnOD1hsgARyQosjjtvvYkUEfHJJSVuxAKVe4+3\nHt8iQ+8CohQinFvRXaO1wXsIE9GhlEQIiYyoyhmLEJJgHCzE61JKBmPbTuCoCMI2HYyHAIFAadkZ\n4HZ8JKpTYk3TxMluO4UwGAwoioLhcEguE54+fcJ7773DbDqlquZkiaauCubTKdY1KGUZNzVF2XD9\nxhsoJXm++xTrLB9+9D6vXr3GK5evMhiMWF3doGkK6sahfRbmSPTaMK4zwN57FAJa4yYWSFgJiVIS\nKaLxcx7nHRAAh5MStICohCAoeE14X4UQeEA6gYrj3BrV1lO21uIsuCUPSMoFCyyER3oXrykYRIEI\n9yM8N2/ejgYEwi1KRFSSCEAs0K1zDudt2FUIpAjKtT1W650b05DprLunVnkHoxtMResZ+GgUgxK2\n0ShJpBDBYDqHswbvgpeCkMGrZ+H1AdGTEVgncK2H8ynyuSvwvYNDBr0+z54+B+fY3txCC403hixJ\nSXsKpCDLUqqmRouERAUkXdU1ApBSY70jzzOcs6ytrrC2MsI0hhZBCCHIs4yjoyOEEPRHa2ysrlFV\nFYdHR1RlSZKkCCFIszQgO+eZTqboPEFLiXAeaxpsXQU6ZT7HVBV5lpOsrDKfjHFCsrm1jXeS3d2n\nPH32mDzLuHjpEr28j/ee0XDEysqI4/GMex/fRynFoN/DOcug32c0WqGuK5yzpElCVVUMhgOSVNPv\n9dl7vofzFqkkWmikkqS9XngZlcI4S1mUgeLp5xjrOjdPSM14MmNWFtRNw2xWUtc1dWMZ9HO8sZ1S\nEkJFpCIRSuOMQ0uBcyagfmOoatdRAUophAovtlDQWNMhZDrlQKeUAwoPL3RLVzhrA16NCMs4g3At\nMg8K0bZGQQQ0RcS1XgYbvJi0gA8u9rIHKoA0CUrVWktTB4MsVUpAovKFyV6WZUfDSSEQWsZ7XlwH\neIy1CCfQWnXfDZPbYL1FComSEaX5dnwTvGvo5Qmz2Zjvfu/bvPujH1LM5vT7Oaau8d6SJhqtJEpB\nWQVgMR2P+eH3v8doZYU0T7E20EN7e8+wztDLh9x6IyXL+qSZxjhPVVXoJAnUhvRYY2nBnidoTM8C\n/AXlbnFOdtRQUOIueDt4XKQwpQxKKSg52VEJHfXkAS/QiUZGQ+msQ0qBRGKtwUbmRgiBSpKOIvHe\nscSgLFEN4UdiWTz96OcIF9AMYqHMEahEInxE0C2F0VI3UqLiEYw1nSFvjYOUwYD4aIBbb0QqhfMi\neNhigabbexdCoJUETecZCLf0rsabUdEbkVLgvggI/PnzfUajIVolTCdzpDwhz3I219eRSvNo/2lA\nbUKQ5imrqyvxmwKtU6QIdMR8XrG5NmQ6m0WXSOKdQycaER9AkiRIIcjTlKaqGA0G5GmKqWsGOzts\nbGwAoJRkPB5Ht8kzLWZMZzPKsiDLMkavXEYnCcYYAPae7zObzxnkKUJpmmJGlqXcvPbqgvsdnzA9\nOWI+LzhKUjY2NjAOdh8/Zjgasj66GhSQbahMQ6I1takQzrOxMuJkckJVCSYnR1jjyLKcum5w3rO7\nd4DzHuM9o9VVhv0eaapRSlHVNb28F6y9UEznBYfHE3b391CJZmW0gvcleB89IEdVlFRVFd3HFOsN\nyrvgVUSIk4sMb12cYAGxOq8ipw5BjceXm4BKXXxBPSF+Ya1DCkmiU2zk9fEeZ30LpOKj9ggPSoSX\nux132uN3nOyC0ugmeKcAwjGX/hMUtZakOkdrTVkHlO2dxeOxxoTr8h7TGJQStL53O0GDx5BENG3i\nO2O7a2oa012L8UEBSCEC7aMkVVWRphlaK06OD7n7/nuUswneOsbHRaD3rCVJdKAVgZWVIZcuXiTN\nKkxtqKsSrSVbm+ucTMdUVUFRzJiMx1RVxdWr19jc3EGrDFKN0pKmCXRe0EqtrTMQ0bV3C95ZyWBg\n2/uQEGkzg/UOowS4yOPb1gNqeX3B8sMUWuKMi4pdhvfBA1KgRLKgTPgkP2wMnSezjPSFENTWBl9O\nxs9k5LmdwEdF2CrY1qh3StxFkOEF1rv4bBLynsbXy3SNw3qPjFw/gHWW2gSvKtEDhJDBGHqHi0o+\n6JTAJLRxGKlkIEqi579Mo9loxX6SmprPXYGvDFcpipK19SG1HzOtao6mc54dHrGzs8PxrKRpmuCa\nFiUnRcl8PkdJjTWW1bV1rPE0TcPx0SHWhcBlr9dDyTBoSZrgjKEo6oicGvxsjhSCsiwZTyYU0ylH\n+/sMh0P6/T4y0dR1TZ7nXNjeoZeNkVKS5zmmaUjTlDwGSFf6A2bzeaBM0pTJeExRFBwcPGc4XGFn\nbTUoLGdJt7eoyhpjGgSCna11lFIc7+8hpMDUFdvbW6ytDdnfn2JNzfhwQpJl7B0csL21Ta4TnHUk\nUrC3d0hV1SRJQlPVzOSURApEJmmsoCgqyrrCWljb2EAoTT4csOY8dWMw1jFMU1YGQ1KVYFxNliak\nOgR+RsMR03l4BjgHWqGEWlAATRNRqMA6MNYglMBExGqsoWoqgBAYNgJrbKAfZKC+fDkP/KsMbjHE\nAG3rWvqAiCwuYCmp4uSIgb8W6bQGwHuISE62lGykOET0y521lKbBxckilSLNe0gRkLyMge1WiWjd\ndAFjay1CBg67qsJ9pmmK1os4R6u8nLPgA6JSUsXAssUYS10FtGaNx1nBX/3guxzu7wdKB0dT12EM\nfQiCJkmO1pIkyQJaRlCVTXgn65rHjx+jtSTrO4r5hDTr41zDD3/4Pd544w6XLlwmTRJMUyEBnQTP\nSUiBIvDLEoEDamcDreQc1jY0TRNR5CLgnyQJyjuk8IT4o+g0SlDmbfC/Rbkx7hGecFR0wbCKjnMP\nLo13DqQIQV0BPhoIGY2otS4i74D+vWxRr8f5SNGolt4QeBcAhHcglOu4dBG9c+0VUimElJGKDYjb\nR8QdThvP4W1nrHWiSWVIUGiM7GixQDFKtF6ibWwAO957nDGAiIHqiOr9EsfufPQuP10+dwWOg9XV\ndZCKS1eusr6+zt7BPrdv32ZjfYMP73/M8fERSknquoy0yjAOlGdeNbzz7ntcvHCR7bVROGbZUNU2\nPvSACFr+2tkw4RIMeE+WZWRJ2iH1sihCsC9mE0xPxngRAjUtqkqShNFoRFEUHdrK0gSlcvpZhvKW\nfpZwcrhPP9NkecpgMEDrBICDg0OSJCEbDkn7AwaDPu+9+w7Hx8dsbm9wcnSIqwv6vR73Pn7M891d\nnBQY78l0Ql2UFEWFlJrprODqa68xWl1nOptTG0O/1yPLBcW8AILbbCyYxjGeTJnMCsqqoj80/Mov\n/Esubj9CqR/Pt53LX698+cuf3bGaRvDgwTp/9MdfoywVd9//EVpqLl26hJJR/XuLEkQaIc4XISOK\nFB2SFEoiRaCbgvJs5xYBwKtFBpD0EoRAC4mXQDQKnhBLctp1qBliFshS5oUI0BuUDD8tfdEGSNus\nkJiB1MUZRE4bnLb+xXfZO4FXIHz4rbTDGtMpVAAbvQ7nHU2bqZQmSKtbFgYfQosolaATHbObfKCu\n8DibhMBovLYWVYcYi+/QuVLqhXgBeJwzcR/QWv1E6Bv+BijwV169yJ07X2JWVAipOZlMeP/9uxwe\nnrC9fYlXRjmvbbyKUJKiKIIL4j3HR2OaxtG7MOLpg6dkIuPGjStYa0O6YNPEdLXw4hVFQd0EAmBe\nzJAqQUrFvFikmAkR0qpat7xLEWuzKkzgR4VpGBdHlEVJ3TRkSY5OkogdGrQIwYj1zYskWqNEgnSK\ncjxndWWFrdEaOE8vH7C+sYVSgv2PH/HWm3fY2d7mL/f+nKvDTYr5nHTa8D//d/8T/8l/9BtY6TGH\n+8GoWM/25jbj/WdUSjGsGzaynAePnjDaWCHJHNWkojoaY2WCTTLyrcus5iOKScls74h/8svf4vLF\nR5/3K3Aufw2SJJ4bNw6p63/Db/7Xq1x//QZPnn7MxYvbIaVPJGidxIAaMdupCcgSRWZbCqgJnpNz\nNKYiKDyL96aLafimzaTxoEIqqnXB6xJyEZhUMbDsOuqNQNFZi420hpQSpUPKoTNNvBvRkfJCSJQW\nSK/ALzJ4tG/ibiGpwQk6NOxikL3lmr314VqU6IyVjAi+sUTDEagioS3ONRizCGBaZBeEFSJ4jcH4\n1R0fDiyon+AqhHMTDJWKt7SggsLlhQA3nf75cfK5K/CmqbHW8ujhA66+ei16wY57H37IpYsXAE+a\nZzRNw3A4DByjAGMcf/T1f8nm1javX3uNn/vZn8MxWeRr2uCmt1H/pgnuso8P1bo2AOK7fXxEFy2P\naowJfGtVorVCK41pHMaE7Vqn9NOEJAmZEyEHG4xp8BLKokD0+2iRcDQ+DlzqcUDs3nmOyzkfP33M\nxvo6O69c4uPHjxisDLB47n58j2tXX6U0Nf/5P/tPef36dd7/6APu3r3Hxvoamxub7B8e0DjHw6eP\nyIdDprOCjx98zMnJgJWB4vDwmCztk/ZHWBze1RTFhKPDfZJUcfHSS8pzz+XfGrl5c0Y/u8Dzp7v0\n0wF7+/usr2+R5ynz+bxD2iGI61FKAhLvdESC0BJYSRI8yGW+NsSXFjGBEBFlKc9+KZ/ch0yXJHqi\nbbBRqkBhtNnUMW0D7FLkOW7zOJaTrFvKzeNfQK2BaouK2HusEF2AVkVl3QY126AjBEOm2sBnTIm0\nLNF5tIo5cvSRxpME2hDhX7jsZZTdUlJErn5ZFopcopTo9NKPk89dgb//o/e5f/8+xjjquuLb3/4O\n1lryvM93v/0X/MLP/h3yPOfk5ITVtZUYrHI41/Dk6UMePnzA22//LE+fPeLe/Xe5efMmr732GnVZ\nkqZp4M9bdyu6Z9Za2hEMg2o7d8jEgISzrsspDkUmQfHXdY3V4WEYY9BKgK9xRiC8QucpjRcgFBaP\nzlJEqjk+3Gc+m9Pr9ej3+2RJyrwu2TvY5+DkCAFsX9rhYHLCs8N9pJAMjg84nI7RQnL/0UOOxico\nBNPZnKYxzGcFa2vrJGnGd7//fW7f+TJJnjOZz6jqhi+9eQdrHVs7lzg8GYOZc+/uu6g059adO2jt\nPvXZnMsXX5LEc3xwzC/+u3+P23e+Qn8wjAVti7zoJNIBwoVAoWkMQiyUtdYapXVMJFoufmKJbhER\nOS/Q52KfJTrAOpxd0AtKhfxrIGamLCiTTKefuB9r7ULRhysM51sqjOkyV8IHCCAREqFlxysvUxwA\nPmbZKPUidSERWBGur8sFD39199keT8r0haKfdtuiDiJkvQAIJRafL4nz4hPX9mnyuSvwf/AP/j7G\nWGbzGWVR8Xe++mXmxZyQgyspm5pHdx/z5MkT3nzzTZqm4aO7d/nWt/6Cr3zpNu+99z5vvnGDa9eu\nUNaHzOYT7n/8Eb00Y2dnhyRp3ZCQmRIsaRoGiuhysXBtZMw86QJRQqB9g4vBKwixvHafgMhN98BK\nZ7Fzi7WQDTJkqrDC0l8dkg173L9/j0vZJVSuKZuK0foq5bzAe8fJbEwiFSpL2dneBq3pr45QSrEy\nWuH5wT6j1VV6Wc54MmZje5umMThjUFnK9qULeK24d+8D1ja2+OCjD8mThEePHmKBN778FdZXely/\n/SW+9e3v8I/+4efwwM/l/3e5c+s2t27c5qd+6qdRUvODH/yA4TBBypDRY2wo0unQeIwTQVDQzlkw\npxRS/L2gLaBpFumay3nerVL2zpO3+f4xTzqwCws+PH45HMe/qEwBVLiATsEFJB0ClkFEh45bisN3\n1a4OYR1Cthx1+IYLSagoKbpgd4ewfQjSh0Bj0ElKhUB4Ow7ehbExEIOpIWAqWFAgn8ioWVL8L3g0\nUnfjLL8IQczhYIC1ln4vJ8sybGNDzndVobSmcZbLly+zsbHBcDjEeUOevsmNG6+ztrbOl+7cwZqS\n8ckBOzs77O7uMp/PGfb6Xf6u1uE2ZUwvFKKtTmwfiorUTZsrDUouSuu9FcFyRk3vYrAjBEVjLmtb\n1i0ljkX5rZQS4wIHb4whzUJA0wHrW5uMT04wwwHvv/8+eZbR+JoLr1zANoZZVbB1YYfHjx5TlCWv\nX78Rik+ArJfjgY3tbcqm4Xg+54N7H7G1s0NvNGLr4mWkUHzlzm1Ojo54frDH86cPOdzbY+fSJZq6\nPvN5/OnX/wtGly9xNJ0zPZpycbTOoJdw483rfP+9H7De82QipakFPu+xVxSgExLrya3FlQVoaJTF\nq17wYkyDdQ3eW+q6AhFcUOddfOEdPuvhXYXrrfDus5pabpA7Q94cM+xlbG5vsZZp7GSPupwjvSdR\nmlSH0m0XCgJAQq5TlJC42lLaKtJjLtBozqEiolRKYb1AKU1taubzCZVZ49HuhMrMGeQJqpmyno/5\nh7/8Vb77nbtkvVcRWc5KL0MQAsNBQsVsa8yDKx3QopIBzSZKkaYBpYVAuUanCd/4xje4e/dD6rqi\nHI9D0EsKamcxkdoLkz8i25hN46wnTTOkdxhTszLo8d//L08/8UwbY7lz5y0uXHyF6WTC2tpaBCt0\nqWxhLoT0OKVD9lZVVh2Q6fV6sVo2zp829S0GMjuFHpWxkjE7xLoXFNesLEKdgdYhy8RaEG2LgVC1\nKbUK8/QTCtx3eeYIv0DinkVZfxQB2DbdNHreweAInA+fLxsBIUL2t/AtcgeEx1mDkhLpZawsDhSH\ns26hoKXAi1DohF8UtS2j8/aQOhow4RyOF9F2+L3IHf9JUPjnrsBDOTHkWYLA07gGvERL8K4hybJQ\nQKIV1hlSpRgOh6yvr2PqhjfeuMF8Pg/8XDJibW0tDEAMlKRpuuhl4ZdcLL9AEzYGbGARQQ7FfG2Z\n7aLcFxHK2VMlMcajExED5LHwJHLvQQTGWRKnGPX7NNaytrqK0iGwqrUOOdtJyrWrV8myjMODg1BY\nYh1N3VDXNVUZcoVvXr/B7u4uH979gMtXrlCWJUkvRySa9a11Ll55hQsXL9Hr95gcHoBK+ZNv/hk/\n/ZUvsTJcobQG7xzT8YSN9fUzn8fGq5f4q3d/xGRe8cbtO1Qedp8/YWKmPHv6iPTSkHkjSLMRjXXs\nHRxw8fJVBnlO31pIFDINbqetg2F0KsHaOpQpI0nSBGQb8Q/plSfGkfdXGdsUawWVF9jaYhtACMrn\nU5qNHsMkYyVXFPM53jmKpqE2DTJNOiVeORvS4hoD1kakFSap0umCy0WgpMA0TegBk60zmVmcbRCi\nwnlLlqQ4OeDJ84JZLbG6IUng4GiGQKKThDTJMbZiNp/H1g0hkBUmqw+T1TiMsVgbKD3rLMZZqqbm\na1/7Gnme8+TJE9z6Js5ZKmexhBYDIX0jIj0PjXPU1pKlGVcuXWI07LO5uQHWAL/9iWd66403SfOc\nqjL0+oMILAKqRIT86TxNMG1xihR4LDqV4AWmMXhvYi+VpcCaD+mYHhvnwAIFB169LYIhUONCQCJp\nrMEYG9tLLAxBMAIgYi8bFdVT4LfDv1TkqDsGO54yEafyw/2iJoAIvqL+7iog2/ci/N/Gz0R8V4K+\n0KJNRXU4a3E+eg7OxUqHhZ5Q0bCKmD0TB6mr/G3zwr0Pirz1+hd57yENV8lFpfGPk89dgbe9L6y1\nKCXQWlDXVfeg6hiJVjoMWttkp6lqPJbZfBqqlnyDbXwXUZbxd5uJEgpKliybPG3dWWxb+rf3HoMA\nazu00RUlxPOIpWi0jPtKKUOFpE4RMrhUSaLwsaGUI6RvDbZ3upxqIQTDXr/j6auyQkrJpYsX8cBw\nOGK4MmJtY43RaMSDhw/RWmOcY0MIxpMTVBr6hCidcXT8hCTtce/+QzY2N3nt9RtsX7nG99/7gJDj\n9Ul58PABfSmxDnYfP6J0Dd7UPPzwXdbzjO8/fZ9BOuTv/vwv8Vd379EIwd7zXS7cfINnH3zAwbNH\nXLh8gXk9Z41VNjc3yLOctD+gKGb01jYYrYyQOpTTHx0eM55O2baafDDkX33vR5gTAZkiwfLGldfY\n2NzhRx8/ZHpi2L68TlLtU1Q1T5885eqVy8GlNg4fEZ2UGU1lsY1FIekP+qytrYVCrvhePXjwMfPZ\nHLwnz3PGRyfsHlZURuNsQZLVzGYnbF24gS08T3dLknwrBITljLzXj/nonnlT4Z1FKCjqOXVdk6RJ\nF0QfpCneWpI0RUpNUZZUTY21jjzrhTTULAsGWSU4iGl6oR9NW0bunA1FKUpjgNHqCpPpmPH0hKyX\n0suzM5/pL/7Sv8esrFCTKetrKwFkELhhiQ1MhbBIuUCpYDqqAERsXAb4kMcfKE6F7xCjjznuLf0o\nuqBdy7euNSoCAAAgAElEQVRLIZBahL4+SqJI8MIvskM8OCnAW3BgY+JeKEcPWSSuqSINGuaiFALr\nHFokS5yyD8VjUkZjushgCe0WlumMOJdjLUP4e0HRCCnCNfow3613obeJDtRQZ3U8eGuDd7lEy3Z6\njpDXrZVCCkENMS/dLXLlw6iG83dj/+nyuSvwVry3WNd26VsEDKRoLfuL3eDAo4RazjB6wfVYvveu\npDnyW0KIrnS2/V7772XeqVXgSiUvhk2WlXx84TsnyVlwLvZWWOyvYhMfIURXXhw4+cCzhyIPSeuV\nGaMYDoYhHXF9PQR6pGRre4tb3MI5y41bNyiKEqk1SZbyw3feI+v1qcuax9Uj7rz1JWbHR6GIWCtq\n51ldX2Nzc4NZUZ35HFLvUcaytr5GKQW1Vrz+2hu8+2cTprvPMVnF7GDMg3sfkkiJNw3H+895lGre\n/cF3WRvkvPveAY92H/HLP/MrDF2DrQ2oHpVpcIVjVoa+H2ubG/RHK2SDAX01Yv/wmA+//x716mWS\n9ZTUN+wMhrz6ymt853sfMFUV62s9bqyvoWYlb/3cL5DnGbt7z5nWNbOqQud99g+O6ecDtEg4nE4Y\nrm2xtXOFyWSCEIJXX3uV7e2LnBwdcPeDDxgfHaKE4OL2FrNZg84HeD2m33uFfrKNdJsUxTFKJqTJ\nAKsaynl4N5WWeOVpbEWSaRKlkHXoypiolCSRSAegQq+bTFE1ofBK6UCFTSYT/uDrfwjA9GSOSkMT\nKiEglRLZGFazHnVRkg6HzIUnWRmxu/uUlV4f7x33P/qIja2zvaq3vvwWz/eOqIzg8PAQ722gejCM\nRiOsNVRNg4oNzYyxIf3PNwgi5xvfS2fDtqBtLVoKGlsHGoIkdsSM9JR1OAu6nVMCvJYIG2kEEQ2V\naHuLtBW4oejHuFDskmUppg4GpFWoLWXjQmp4bEi3SAduFUDnOXeK+kU9IuO8Cwi4nbGy1ckLkBb1\nUecJdby6DxltsSq38zSW5v5ysFKIUCCnROzbIzxahQ6U1lqyRHWZNe6LoMC9CO4OYtEQJmrtiGjb\nCDAB3y5Fm0PZbHuTrnOzFlB5QW1434Yq4nlPbe+u55RiD5+57rxSiODisbCwy/tLQcfdtYxguCLf\nHaulDm20vHTHCQ14pAq1zc47hJQUTUWe552L5X3o6tbXPYajIWVV4oXi9u1b7O3ts72xTq4lqdLs\nPc2RQtAb9OivrTAYjfj57a14jZ90t7dHI3R/RJr2OC7mqF6CPTmimZ7QyxTDS5eoTgr2nj1l85Wr\nbA2HGCFxpuLK5YsMejn7Jwe8ff3naRLNfjMnE5pJUeNx5FLQ1DWTmeXAlNR1g0oSNnqOyjuM8MzK\nE1Z9Rp4K7r73HQ5PpqHLYi/l+WyKHPRYzXrMDo555dZNdm5vM28aDqZT/upHd7E1iCwl7/XpC4VO\n+0xmJWUd+MzxyYTHD+/zxvXXmawfYGdT+nmKS8AXFaP+EJ2PECKhmM04PDzg/v0PsEaTD0akvYaq\nDhV0o1HO6lqf2fwYfE2qEwaDIWurGwz6A05OKop5Rb8/wDuHaPu+CIHSmoePH/EHv/8HgRqpa4Yr\nIxrToHwC1qCamrUk486VV8nSlA8efsx4OqZyJd4JysMjklQzPZYc7D07c44d7h+EugcHRVVTm5pe\nJnGN4ej4eSimSTKUS5BK0+tl6FR16NnUDSBRQtC40A62DTAqpfAiiSi7hS0hmyvQB4uMFefAG9nl\nVMt2Ti0XvkQeOShEHSnN2GrKe4QPQUJjGrz3XUvadpZJ2bZWoMuy8fF/IfYlsE2L7UFY08LvxVyO\nXjWEdOWWnw/TPAZupYjXL0ODrtiCYaG72x5MnmVgGWilsM260MpAJwkybgtsQSyo+gmSxD53BZ6k\nCcFxaNtt0gUUhZSI2Ga0pShaReq6gWkf7qLhUUADSxx2DKi0xwVAnJ0k36L1F9C+84ANxkIEk9/y\nVxBenc6KC6JbKF5Q7OqUVW4/7yLvBIsb0rDadCVL2YSgWDWdorQKaMY7pBWLXPPY2zjPMlZGQ/b3\n99nZ2eDG9esc7h9S101oXmUNIlFcvXQBrKVctBTp5PYbN1ldX+foZMxlBMcH+zx5eI+0p/npr/40\nXise3b1PXVRcvbzDYVWxcfECD+9/TJqGzn1rWxtsX3mF2bSmMqGh1fF4hsCTJineOTJjaabT2J89\nYzwvONw/xmaeO1++TtLPOPjwXa5fucbxwXOs8Vy5+hob25p6/IS9gwMEMNjdZWV9DbKM7/3wHe49\neU6vv8rcjJlOd3my94jr118PqZs6NCUrpxN2NtZoqoKb114jsSVv3XmT3/3nv01Pb7DV20Ckko/v\nP2Vj/SrHpqSaH6L0KvNjyaMHz7BSsbOzTpJYOJlycrKLVo6qLDCN42tf/Xf4D371V0lUzu6zQ57v\n7VOWJdOiZDKbkyYpRVXxr7/5f3MynYL3SJVQVPOA7KVAuJqd0YivXH0NO56xOewzvHUD+fAj7h8f\nMOyNsJUl15peP8fYMx4o8OEHP+LarS9hESSpxjkbulhqSAjpgVmeM68MVVVgvcXNm64M3dSh+2We\n5u0LvAREfJcGuFwZ2aYftuCpLZRxXiKD4xxK14WkLKvY3RBaraUALTySEHzW7fyP1EiStH3ERehG\nGamTzvuOlaDLtR1SSrTUWBcMUjsHA4hzsYR+gdaD961emK/t34FSUp0iF0IgbNsSedGQiqV89EWK\nITHfPqZk+lDhKnxbHfry/t+n5XNX4CE9JypYFx+RkJ3lbsmLECWWneJte9BBiAAvR2+llMil+192\nm1r+KxzrRaS9vO8yclfCRw9AdIHM8JIu9sEFD8AJGZvn+BeUc/sQW0MiRewgJJdSslzgcYOnILBA\nmmdL1+dDMMWF0tu6NmilYl8GBTg2NtYZDnpkieTgcC9MPJ2jeim1s6ETm/L4l0z2ze1N5sqzcmUb\nOyvZ2Vjh4uaI165fojQVF9a2EZVlfWWV1Z1tdrIEkaZsrawgG8e8LDicTeitr3BhIwsvKyEg60yD\n8K3RUaFXt0pQaGauYbg65K233qRJJVV5zCubAzZ7CauDbSaUHDx9TpYN2T05ZPfkkFGvz5ODPQ7r\nAp+kiEEfsoyjumI2mzCbzlEInu/tM5tOGA2HzCdTtldH/N23v8alzevsPX3MX37rzznYfcLs5BE/\n/7Nf4fi44smjxzy6/5i1r+yAmSMp6aVrNJXGV0Dm6fVycIaqKBn0NK+8ssn25gYHe0d4W7L/7DGD\n/iobG5usrKyyc+kST3ef88N33uGDj+7x/vsf8OzZsxBkd6JDk1oJeqlic2uVy8MVRFNzdWuT3We7\nrF+5SCYcg0whrCVXmpVenzRPF1kZp+T//Of/gv/4n92isYKmnJPnKU05pWwq8KF3kDENxIyTui5p\ntVgbtPQu1EAQncY2r9kj0Fl4R40xXU1F8GRj0ytrSBIdwJeNDjYCb21ojysFqcyCV2pNVHAKrWXI\n1hEh66OlKltk3WafGGNIe2lHcxhj8HKhSEVE5IjQfjZN06iEXfSEXUdpipbOccFjd5HO6VIobZuJ\nI3HWQFwEREqJigucnPbq2xgcLMBbGxgN3sYCBIZ9XEfh/Dj53BU4NkSAhZQdVyYEaN2i4JCuJZZQ\n8TLNsUjDWSDqkGb1IuJdjGdQwG3w9EVeffH5wiULyrYlZogK2Pq2/eSLyF4uP0Cx+FzFZvRtUx67\nFMFugzhSKHDx4bZU0RmKtqWctE6DJbeLlq7ONORZFsZQ6A4tSCATIixUMCnCgc5wQmZ1EVLU6iY0\nuVeSwc4Oo4sXAY9Wmu2r16mrqhuPAIUjh1cPWGcrNPqyi57XXVQ9ulhdCXLMAjDOIqXm5qsz5lWF\ns1DMS6azKT0945Yds3lhC6Vqml6P1c3QauB4OqXvwoouG2nK8PI2s2LO6s1LSK0RpcZLweMnj3FS\ncJhIXomLbM8rx4MnB8xMxocPjqnNGlYNacSYg+Ma4zOePX/O0XEJrONlxsxMqPEIXWBcgSw8VDWT\nkwnbzRYHDyccH8+xvuD46pze5U0mM8+HHz/hF9feYGNnA+7v44f73N39GNvzNGVDXw1RTY5NBMYX\nDITi1UGPi5lCVg1H0wPS7RWaYcZwZxP74QF5v492CRfX13hlbQX82ZV7D/b2+c473+Wnf+ar7O0+\nYT7bJ8s0xoHVKbWCcnLCqJeTJlCZkkYLaKDnUtIkY14XlM2EfNijrmpSmSCa0OPbqpDlVVU1/d6A\npqpx1lOWBUopsl4P70Xo2qcd0ko0GiVVXFjE40QV+4SDsBKMpY5cvdY6NI3KEqRKMD5UKda1QWlF\nfzSgrscoH8BAKtIQo1eW0s1xEpTXVKVDk2J8Hbh07wLilwItY6MrBDIGYJUXJDoFqbAurBaEELHQ\nr0G46PlHw1L3RAx2CqwNrXqFAFcHJC9V6HfsvCc3Iihw4ZFOEro3OqwLXoD3S8G9T5HPXYEvN0nv\nLKZYKoNtFfeSm3Y6+Lj8vdP7tPsty1kVUKflhe+INqywsJLy1DlOJ92fdc6zzh3onhf3XVSxLS0L\ndep87WdtcHf5Jxxj4fa1/V1Oo4DyZRybbxc0CLm0p8+rte4WZmhXLWk/b683TRKslJ8Y5/a4pw1w\n4lxYZk0nrPnYz8J5qrohzdJu9ZamqSmHOZcvXQpoqw49b9pFHIQQNNZQliWzYk4zdVx59Srrm3dw\n3rN3uM/a+jpKKj5+8BHHJ4esrY8Y9AdYr3m2t0c5r0mSLGQaiFAhnCQJSgS3XuBYSUbISjIY9jg6\nLoCE+w8eUxUz+lmf3qDHwd4TNrdW+NH9B/wfv//HJOurvPnWV3m+e8y3/+x7TA8q5ntTNvojmnFB\nni6KOIa9HhujFTJAInm+/5TieMyl0RBnDKvDEbN5Sb+f0cs0WkEiEs6Scn7Mn/7JNzjYf8yFrc2g\nEHWKqUukCM+430vBe6rahIpFH5Yaa5oGKUJK5Nowp2xKlA9ZFcZalE5xzoTxUYK6KfE4pA59/L0P\n4ydjkYw1TSgcsgopQndGYcGLWGIeF2yRCJBh1SchAxI3tgl96a3FuADqnHcUZYMxJakIC5kEatJj\nfIPFBCAlBHmakaoMa5q4ak/kuhXo9n20Dh9r4SUBWLzw3sY+KIEHly8AtqYxkeMmKvYQ0LXexgrU\nxVJvoUI8JGxYZ2kZhBDkXKzs8+Pkc1fgbWP/Vhm06T3depVKvaDI2sFaVirLlUtnZZQsK8R2W1vc\ns1xkAAuX8ZMIfyGnDcWnXcvy+oEv0CjixVzP05Hr5f0WdM4nr6P9bDkqvtxIfvmYy5V0p7e3sqzs\nl8fm9PUt94s5ayzajo6nx+y0sekMTnSru9ZvhEKVdq3JPBtSliVpqlkZhsCsaQzWBOWR6oS6aWhM\nE9K9XEBWsglZDmVdkaQpugfj8YR506AQrKz28K5kPjvh4uVNmsZyPD7h6OSQ/f3nlOWMJNUk0qNw\n7GytsbmxFia58zQzQzmrqeZzBr0M46C/OiAf5uxOnvP0z5/x0d6USXlEf9jn23/5Xf7VH/8bEla5\nee0r+NIxOXjOyrBHMTtBq4Q00az3B+RJiq8qmsYyGK2QJyn9LGdjuMp4PEX1BBc2R6wMchQe/ZL5\n/h/+418lzTJWN9bp9QZMpnOcCxXH2lpwDU1hMGh02gfj0DIUIBkfmlFZa2kmJYnWoZpRWZJEYWyD\nEoKimCOEJElCTxBjms47c94g/aLDoZDgbIOzBh2pv64uA4sVGuc13jYx0BckURl1XXaxIlNXcU1c\nTZJqvHHUdYkUGqUEja+w0gRaxtak0tK4GoSL3UVBx775zgcvDgFCCbSUKBRVTJ+UMvTpti4sEiOl\njsHOEIfz3pN4gZChI2FoxeGR1iK879oHCBlWJVKJjsi91XUx9iZbY/FiJt3L5HNX4K3CgBcVYytn\no0vXKcSXbffed8sTLSuSVtG0C/Iun2P5nGch39NKb9kwtMrzLEV1+tzLyvisY5+lfJevZ/n4p/st\nLAdgf9JAyKfJaWPYftaWWi+fZ3k82md0ep/lY70wNqFGGoHs1rxMUkUmk7iYgkINeuE8sdhB9PIY\nwHLYxqITRZoltCtUhuw9E6ou09AH4+JghwsXtlFKYeqGcl5QFQVlUYL2JCplMBgxnc7Z2tpgdW3I\nZDJmNp+ztbnGjZu3mE4LPn76EFM7qsmc2zdvsjZa4S+//Zc0dYPOV7n55bfIVno83XvG5evrXH79\nJt/8029y7/4+s7ll/+CItbWc1e2r+ETyfPcBo/UcezJjZ7hJP0kxdYMCDJ5bb97m0fN9iqKkmMzI\nhSLr56wPMxIMwkIiz84D/5VffJu7H30U8tRnc5oaUAq8RrgGbQx5llLbBK8G2KZCWRvQbd3QeE+m\nFJmS2CIs8VZWDU450ryHbxbtl6sqrP8a25XH5eZCQZszoXd4aJYVlhpzNqz96eJSIXFtHgQGCXEx\nl8BhF+VsUWjkQ9xLK4lWjtm8QMsEKQLirSqDE5YkC56AtRZva6ypSfMMhwv1F40BA+CRkQ4RQnRL\nBjoRyueTJAkZLLYts4/6owu2OVKp47vvsTJ4A0S0HhpUxbmO69rzNqbu4gXLrHfwnL8A3QhPUwXw\n4mRfRsQt8ltutXgaWZ4+5iJi/OK2ZWWzHGRYXjZqGeG2x1r+e/l77bWchaQBsizrvn8Wmn6ZdJku\nS0py+T5eZlzaazzreJ927tOGoT1Oe3y7FKg5PT7LRgTO9mZedl9NKLkMiaPWdq6qty8uMOusxWtw\nVrzQGkFriYpFUzZOcodHpVkIQong1rt4fd57SBSrqyOSjXVmsxkyS2jqho2NbW7dvEVZFiQ6pEjO\nyzlSKPJswOHxmFdvbjKezJiflKSix4P7T/nSz/ws03nNyXzGH3zze2TDHKcE2xfW2d29x+TEkKYb\nCKFZW1ljOj5EIOglA167eo3ne4+5tLnJen+I9DAvC0SikVnC3vEJMksp6pr5tKCXZqQZrPZztPMk\nQiHd2RDczCes5Ck66zPeHXPv0R61cbx+ZYdXr12knB2idMpHjw45KGqktVwYCuj1SPojpNbYpsFO\np/SkRjmFt45GCuazGSs6LH6itEInCY011HUTFs1eikVJ0VZDA2qxdqj1TUguEHQ/QoSurt46jLPB\nEEjQSmIag7FVRM6Soi7ReYq3DuuqkK+fKRobFl4IqwoF5JsmMlR7A+1arm1MJiQQRK/ThcZTTorg\nrfiw8Lk18XesuA7UUVCjIeVQxurUWDYfV/oRsp0vIUipE41UIoa6Fmtr1qbB+bAQyPLKUy+Tz12B\nAx0iXuZV2xtaViTtvi9TXKeV2Fl/LyPKT1Msy7JMSywrntMUyLKSf5lifZmhOn2+s/5eVo6tnO4B\n0Z5zOf3prPt/mZxFUZ1FS52+j2UDeNpDOuvcn/h3u9133jRSSOrShHzguGJJew68D0uUAUpphIfa\nNBEVxWvVCmfDmKVpRpql1E3TcYyD/oCmqlBCsrq6itOBtqnnFf1+n3W/SmPmzCeOvLeCs5CmPQb9\nAVm/xgtJQ0JDnxtvOw4nDf/D//jbzGYlvvHUD47BOd7lfZRWlHPD6nDC+HjG2z/zNn6gMU2JZIWj\no+foFc9qKshTjbGWuamxVgWKQJY0zjEvG7a2tiirOUoafN2ASCBSImeKsWyurVJZjbUTLly8ikwy\nrr6yxfZOj2qiefx0l+f7R8z8iFRItl+/Qra+yqOjIw6Ox1zaWGdjtMFs7zm9vI9LDU54sjTl2tY2\nk8mE4/EJjWnwPrS9UDqJmSKhIEclOmRaeYlXIStFCE8qFCIicCsEXmiQEmsq0jRkl1jXlrJ7VKJi\nGh4xpVBTxzoQLxzGVjjjcJ6wRqtTodOiNSQ6ZkYphUN0QcXA1ZtQKeIXfZOMDwsRdwkBsWCn5d9r\n2yBcpBEr061gD2Cd7Bb1FlIuCnQsIGRU6i4uu9eyESBVu3TcF4ADb1Gajs2FWnkZ/3qaSmg/W0aA\ny9vPUhov42FhaXmul8jyd07ve7p5zbJnsRysXT7WWSj5rPO/TPkuG7hPBEfPoGJ+Evk0Rf8ypL+M\nxGHRD7o97+nncvp4vmsfsUjZxDvSWCcQWPFg3J1sl6xaesWd7/5q0+mcMwiruoKJpilovVrvPU1p\nQpm2iCXZIiD/Xr8HeKRzpNmAjbVRREQurhYuwVZYDz7JufvwGX/4zb/gnbv3mZeGQT5gMj1EGUcq\nFLrso5VkJBzF4QEjrfn2n/4hm1vbSK3Y2N5k2jhWtq4w272HcjWDTNNLE6wSzJu6W6LLeIs3jizP\nSIVGekGWZiRe01O9M5/ZfFbilWLawPsffsTEpFTG8uRBn9Ev/QyDJOGdd97n2X6B7wnqecHdzLJy\n8SInpmY8nXP7+i3e/vJb/MWf/AlKSvafPua9Bw9wwOPhkJ2dHbYv7OCFYP/wiI8+vMvKykowhKtr\nNHVN3Tj6eUrdxLRXqZDCIa0DbymrCpGkWGHIen2MLanqKjYIc2SxEViWZSSZDoFK05AmGmkMQnhk\nkoQFKKylMgahNd56djY2WO0PGR8eYuYzlBJUMYsl9E3xJEqF0naz6GcknAvVpSL0tylMQRJrGcKy\nbov1Q1WWdNlyQXdZkGCsI0/y2JMp8NxlNYvvq8fG1XioYpKWCAtefyEUeCsvUy6n+dJlJb28/XSg\n8iyUvqx8Wvdk2SC0QdOz5GVK9dOufxm5d+X8S5ROu1rQWfd8FnI9y2M4fb1nGa7T99xte8kqaqfH\n+PS25es4a99PM4BntSqAVmGHf3k8YmkhgO543fYQ/YfQijRcU3S/vY8ZBuH3/8Pemwfbml2Ffb/9\njWe899x5ePPr169HqVvqljWAkEDdDY4EWP4DCuOAIcYUJsRJygWpVLmcOOXwKDsuh3JiJw4qYxwn\nCGIsgbCQQANCU6tpdavnft3v9Rvu9O545vNNe+ePffa5+3z3O/c2yE4HF+vVfeecb9jj2muvtfYa\nTDYlu07bvFMpRaYkUgjiQQRDMzLNgYFSKc1Wn1KphO+H4AQ6iH/9NDJT/P5nfp+vf/1p9vabxPtt\nsihms69trQfxgIXz51iqnOXWGzcYJC2Cekg7atI4NUWz1+T06Ys0+wNqc4v0+wOk76NcRYzCVUof\nzCYZLgKdDmEYv0TpfItCOURxQrlaYZT2JQfd7oBEQFBv8Ogj70SE0/SimKmq3hxTqehFsVZpKMld\nF85y3/0X+dYrr7K2vU0/ifh6d0BrY52ZahVcl7XbGwReCSUUnXafy5fnONhv89IrL7N30GJlZYVT\nK2fZ393nxedeod/rUwoD9vbu4JcqfOeHPsTV16+xu7NFzfc5f2aV5cVFutGA29vbTM0IGvUyzWaT\nSqXKoNenNEylKIRg70BHbXRdF8f3tC4bHWOl22uTphIvLNHr9on6CbVSlbMrq5w7fYo/fPLrgKJU\n0iaCCEG308f1PJSrHQjdoRmvO8SvNE3JZEbo+2RJPDRvDA6dhHyfVGgLFjHk3h1XW2W5gVbnKRcy\nmeqk5K5nqX8P1cBe4BMN8fDPFAHP61SLRO68GH+sWM7hkUARgbEP4fL3bJjEyU9Sv4wf9o3ujF0f\nt84Yr99wh0XEMf/bri+/aRURYN830z2stCCirH22UARF7clvZIfcuH2d4bVDSemwLIUc6W8V+cOc\nURnCOi8x9vRDdYq2/dfOUUbfKAQgCzZwcw4xGg0BAkI8BA4oZ6irzUC4lP0qQrj04wwhMvYPunz1\nG6+xcWud57/+x2R7Lbx+wqOnzlCvVxioiL6TMvAy/HpIZeYU73z7Zb70td/nxtbrVKcDDjp3KLkl\nrl+/xl2nLlJSDvWwSjussnnnDVYXZ8FxSaMYz/eRSuF5jo5m6Pg4riKOY52IWZ9HHsElA365rhP8\n+gFJ84Dm7h6O47DUOMP+zg79foeFxQVS1UIi2du6xfO0mZtbpForc7DfZLYxRRj4fOYPPouSklKl\nyszsAhsbGywuL7K4uMi/+/SniZMU13HZXN/CEwHbm3fwHIfTi6vINMP3XFq9Pteu36A36KOU3jhf\ne/lVLp07zzef/RbrOzucuxtkXGZ2dpYoiiiV6/SjjJ2dHUqlMkEQEqcJs40Z+oMBU2GVTueALEsI\nAx/IyDKFI3zW128yW5/mq1/9OqtL81SrZXZ390A4DKIEPyiRSYkSw1gvgHQlrnBwnYwoSvBcrRrx\nfB851H9rudAbMhMCx2VE0IXrgJAojHnh4ZoOQp80ikeOfjrUkzYzTFMd5dCYIJ4E3xYBP3/+PFNT\nUyNl/pNPPsne3h4//MM/zI0bNzh//jwf//jHaTQaE8uwF5ctiheJ8ScR1yPEZ7hQi7h4c2p+nGld\n/oDOhiL9/HHl2CqX8QPR4lWXP2ycxBUXqXDy1w1kWTFhtKEdfV/h9T8T8P9FgiEFlSn40DuBdwI/\naN988thX/8pHJt15ruBacVyTPw2cv/symaMQrsOp1VUdhrffZxANCBpVknoZz/M4tXKaqBuhXAGh\nA1LgScHiqRVWT68SpQPKFZ9KuUKr1aG5tcXp2TlqtQobG2sIociyBIF24um22wx6PRZm55muTtNs\nHjDo99jb28etVUlRVMolpsKARuCzurRI++CA2cY067dv4Z06zdzsImfPrNLtD+j2eszOudxeW2d1\n9RQCn1S6vO2hR7k4P8fO9gabW7e4s3OH0PUIKlO88NJrbO8cUHlkigtnT7O3swWOtm8vlSsIJyWK\nIoJSSKlUpt1uIdMMx4VSqaSzE6HNCAeDiCga+gQMQwWHvo9SEEURoR9o37ihcYM52wnC0sjkNoqi\nYSwlhXCH8WCEiZvC0PbdJcvUMAfp8fBtEXAhBF/4wheYnZ0dXbty5QqPP/44P//zP88v/dIvceXK\nFa5cuXJsGfbnn7YdQogjTiKGWBapUgxRzR/K5Ylmvg7zXpH+3H6/qD/5DcbesIr6ZH8eZ3Zo35+k\n1t2Q7NoAACAASURBVLDv5fv55/AfObgOqUxRcYwjU0KhqNYCslrAQCmcIGR5eZnAcQmFYL/d5CBL\nqPkV+q0envDod9vst/eZmq7hui6nK0s0KtMM+gOUK+h025y/cI6d3T06nR7lUolSKWSqVtdB1bbu\n0GweIL2UufkZhFBUymXSXpewWmKqXiMZDLhw9jSbrRYz5QatVodnn32O02fOMogjFhaWWFo+xf5B\nh28++xyDgY7E2eoMqDz0NqrVEgtzC1x9/SpRklGuK55//kVQguvX36DsXSCKBtx7+QEyqeh0u5RL\nFaI44eCgSbvdoVIpU5+qa2ehLMFVQ2sSpZibmxseekrKpTJpmpLEKXGSUCqViKPeMBG6juoolD4Q\nxdFRG8NSGaHAdz2SQAIuUqYjxs7zPJIsQTg6x66cYFVkw7etQskTgk9+8pN88YtfBODHf/zH+eAH\nP3gsAYejNsZjn0MmVQz/WQ9q0UUMXdmlGjGzxx3mTeLq85y/TQTzRN1W5RRxynk4qlqZLFkUWbAc\np5POl2GezR+wFuv3feDkxKl/Dn+WwWd2YW6Y31UHTVLShDjQ0SGlVMiSJEszHAR1t4EfRSChPDuF\nEFCTJRaWGpw9tTS0y/cohzorVCJTer0+mcy4cHqB/b197aXpuCTxLIP+gFarhRO6rG0OOL10lrnF\nBa6+9hqB77HfauKHAU9ffRVZKbM6PcXs3NwwtopEuB6LlQXSTLGxtUGv10cogYsPEVx/6RrrrzzF\n7OwcFy7dRSQ9tveaDDb2QWY4QrF3cIfd5hQ3b1znXfe/jSnlsbvfY78/4LVb6/SShMbcAlPVlFo5\nY2FujuWlc7i1JkuLq2zc3KTXikj6CY2paR64735On14lU5I/fvoZnn3mWRzV0zH/PU8fdCJQUjA3\nt8J0Y5Esddi+02RmZh4nzBhEfVxXsH1nXZ+ZDDqobgtHZXi+o5fnCfBtc+CPPfYYruvy0z/90/zU\nT/0UW1tbLC0tAbC0tMTW1taxZRTZYOfryBO0Iq4adFCaIijimu3DwyJdbr7s/LUibr7onqn/uAwb\nk6SP47jp48Ds5sdtRACe8zCp/MafqOw/hz9b4PAQ/UF/aMp3KHXqhClusbfskFUygaKMBVWS6Dg7\nxkFOKZ3iLHQDatXKaF2eObVKkiQj5kZKyWAwIIpi+l1t7x2EAdVyQLfX46DVolavksmMrc1Nut0u\nM7MzLC0tsLS0PIyVHVMJK0SDAQe72zRqFfzpAFd4DAYDXKdCmjlsb7XotFJu3NjWIWkp0e+22Vrb\npVGfoV6bZ3tzi63NTZ5/7lv0pECUq7iOR7/TZWFunqnpae697z5m6nX8uQ4ic7mVZbz0yis0KtM0\n95vMz83hBz6lcolKpcbi0gr9ZJ92u025Xqcx3SBJdDTRLPBpJzFrt7Y4f/5url+/xa2Nm7zzkXcS\n9frMr5xHCElNJvi+AJWytbXOVL164vx+WwT8y1/+MisrK2xvb/P4449z7733jt0vUjEcwn8HwL/4\ntRd4+O0P8PBDDxR66DmMc895wmkTTxNfOA/2O+av6LAuT4jt63ad+c8xa4pcXQaMWV3e6ajoEPBP\nApM4ftvqZdImUPL/NoPkH5LKZ/hzTvw/NvBxxEOU3L+t8X14wGtwwzAUtpPbSJ1orSUhxMi2uVwu\nMFMUOq61yfNpLJ2MKZ/B9zAMtdndFCAEURwzdekiwtUpyBTajv/ShTM6hZtAu8W7jrbOkYp+NCDp\n9Di7Mo/nerRbLWZnpnn47TqxR1gq863nXmRrfZdBt49A0Ov3qFfr9Np9tta3ufuuiyysLNGJIy73\neqSuT7sfkSC4s73H9sYad9ZuEnWa7Oxsc/6+aRpTs+xuNQk9V4c5mJ7hG994ki9/+UucOXuWUqnC\ntWvXaKzMMDW/RKvb5c7NNXq9PufOnWegMlrtPVQZSrM+C3KGjuoS1MqIwOW3/t3vopTiA9/1XTz7\nzDcRMmVrfY3p6WkMnZwE3xYBX1lZAWBhYYGPfvSjPPnkkywtLbG5ucny8rI+oV5cnPC2bth/9tf+\nzUS9rBDac2sSZ5uHk7I420Q1r/rQ94vN3PLu/vky3gzRtReNIajGfr2ojUdM347pU9G1vNqmCFwx\nQzX8+xPHM389f0hqbxR2O/M6/vxG+yftiynL/LYPgw1M2kRNzBvTfpsrzL/nptMIJ0Y5faTok6iE\nTPkgKmxvdvm9T3yWsipT8UM2995ga2ONiucTOi71+gynz1/Eq1S5657LvP7KK1w4c4q01yKpONx3\n72Xedv+DvPjyS+xv3mFVVYjWdvi5X/w7bJZDutWAuUqDtfU1Ll44xUOXztHeuo1I+mQyBtdlkKZ4\nfqiDMgkwFjtTs7P8zH/xc/TjhFgpHM8DcWhx5OBot8acijGPY/ZYZNZYGRgMBqMDPHsODOcdBAHl\ncnmMQbJxRkpJ3BuQyYw4irXrfRIPD/gSpEqpl3xK0zX8oQNPkqVEkbbXVkq3YWg8ikyVtkDKusgs\nZmN9jTeuPcdg0GJxrjI8WPSRssfK8jTt5gb12l1s7+/x8tVX6A9iGnOLhOUSZ86cZ/POHS7cdZFO\np43rOhwsNYjlHVQSM1Uu06PLU09+jXc+9A52trfp9jokacL9D7yder1Ozavxmd/5LB/+yEeYXp2m\nUqnQ7/dxXYeN9gZTpYA//toXeOCB+zl/bon19WtcffUq73n3OymXqziOz3RjliAIuXDpQarVGr/5\nr38M+O8nrxn1pzzN6vV6ZFlGvV6n2+3yxBNP8Hf/7t/l93//95mbm+MXfuEXuHLlCgcHB0d04HqB\n6Wo/9+nfODaSn+eMu6sXcasjwnBMnssirrroMLKII84/kyfg+ft224rAPGdEU3PNfLeJTr4NRX2b\nVMeb3WiKxjfPudvShm0KmJco8mUc90yRSit/GGu/V2TzXzQG+etFqrEiqcSPZxFuhPS6ZE6PxJGk\nqozvzvK53/0KW9c2iPeaxK0m7WwHlcZMV6okvQGuF1JuzOJUa+y221RrNerlErVSwKDTZrZU4cKl\nu/jg9303N29co7LWxH1jh81ej7/xsX/EznSZ6VqDQbeHTCMevHiGuieZLgf0Bx3cUkir29Pp84SH\nIyXlSolStUxjbo7v/0s/SFipksgMZQKRIBDCwcEZZqAZVzEWn4uM37e/25um0U/b82zGuSgpyojY\nDzPbe55Hkmipz0S3lMom9tq0NEkS4iRG5x/VuTj7/T5BEDAYDKhWqrTbHWLZGpr4aWurdrtDp9tl\nd3eXQb/HYNDDD1wunr/AwsIZdnZ2SeKUXi9ie3uXm7dvs3zqFFE0IFUZd126SKlS5tSpKXqdiIO9\nDkJ6yERHxLy9dputO1u87aGHWVxa4cbN23R39+n1I7wgIIlTGo0ZfN9jb3+Hmblpphs1zpxZZWl5\ngZ2DJtVaHcfx6LR7TE3PkEn47Gc/x+LSKu1Oj/29Jh/7p/8QmKxG/VNz4FtbW3z0ox8dTeaP/uiP\n8sQTT/Doo4/yQz/0Q/zKr/wK589rM8LjwPZQnESgijirfJwNYBTEKA9FFiZFiJuvy17oxxE/+55B\n3LyJoU348hxynvAXSiITxqfIlHFSn0/itCcRYbsNk+opar953rXMqorG0RASm3gXbaR5T9dJ6qt8\n3/IcZ557N+C6CuUplJAkSpAoH8et8dWvPI9SZUKvzPb+NdL2Dm6YUvI9nDTGJSNOepxduUxPeGy+\ncY333nM3U5UKZ5aX+er/9QnmLt7FH//2Z/jWU1/n3e97lLfPrPL0i8/z6Hvey3/yrvfx29eep59F\n1Kan2Lx1g/4gYnV1AZn1+Nv/zS+wuHqKWxsbXH/jJtevvsbajVv0oh5uucxDjz5KY36Bg1YTx/V0\nnHVliGmmPVIdd5Tc154D7R042arKjJcQYpQgfKRDz8UCKsL5kV308LnBUM1SLmnTOs/zSON4tB48\nZ7iuHTViEM37YRjiODpWTq/fwXEaxElCuRKQyQrNgzbCFcRxQrVUgiwlqVS4ePYMYRjgeR5B6JEo\nj/r0NChY9QPuuXQXUr6LVqeFVwqI4oj9VpPpepml2TnErM+Xb3yV167eYH5ukYsXL4JYplTWIYZb\nzQNq1Qq1ksfy0grT0zO0O32mG7Ps7Oyy0F7A8+HZZ5/m6msvE6cRbprQ6/YJw5BSpUqz1aVeb+D6\nAbc7B7TaXb7jO95/ZC6OzM2flgP/dsDmwD//e79ZcO8QPMc/sqDzRHK0IJ2jZnJGxDuOkBURbfvZ\n/LumvjwhKSq7qI58WUUcf35MJm0ib4bTL+KiTyJmx6k/7PdPMoXMz91xRPykfpjniixsJkGeeOc5\nybE+py6ZkxBWPPppgl+a4Ut/9By33thnob7IzRe/xf7Nl3HSFlOhzmITBh6dqE9tYYHZM2cpLy7j\nlaoIJVidW+D6y6/woDfFrVde4cFH3s5zN17h1vYtHjh/iXesXuSLn/kc2VyDT738LV5s71CfmmFn\nbYOzSzM8eNcZ7r37PB/5/g8TI5GOixAugeMRuC5RGpEgcRxBmulkCO4wsYfJFgVa4aCVLcVWVceN\nm/1MXvI57v2ieVEonWleadWH8aLVZmRDkzsLtyTDUNKYYFAMD0clnjdMAj7U6/siGDl1ua5PmqbE\nUawZRJSOBoiOfZ54iixJtQt9kg1tvXVo116/R4bE9T26/S6hL/DdEIFHGusY4lNTNS7cdQGEYHfv\ngOeff4lOd0Dq9Wl3ezSm5vC8AKVcKuUa7W6HKOpTn6pSrZWJBn3KsXYU2jvYZ/9Ax5Dp9iNu3LpF\nfXqadqeDVIrf/e1/x38QDvzfFxjOa9LujxpHEls0KwrslDfXM1yA+Z2PmZKvdxJnXnTNJiRFzj75\n5ydxN3Zb7fqOUxG8mYWTJ3K289IkJ6R8GUUblV3/SbFj8uUW/bavFbXB5t6llPj+uH2VaeMkaSQf\nL8YETstDKgZ4rkuz1cdxSnzy3/4OrtPAkx5vvPYa6aDL3Pw0e1u79LoOpZJPbxBRrlWZX17k9bUb\nPHz2DJmArY0tvBS2t7b544PXWZqf4/kbr7J6/jRnH7iLJ59+ind9zwf4Kw/9Lf7nf/CPOdOYox06\nbHcjVlZPI9MeC0srPPF9fxE38BEyQwmdvTzKUh00SiiUg87iIsyhvAAOA3+BlkyFEIZnOvFsxIz5\ncaqpvHolD4WmwQh0+sThO2KYTnD4n6bf2iMSpRCeDlKmNx8QUkf7E0LHHFfD4FYKRWrykgnwpQJ0\nkCsTIApnWGcQMF0r6YiBUqJSSZbqgFVSSaazOnEak2Yp1YpOTZgmEtctkaV63ZTLJZrNPSQw6A+Y\nm21Qr2fENDm9uozj+KSpIooS6vUyQmVEriBLJLVSjUpYpSpCtre3mZ5b5czF++hFfVrtDpHQNuRe\ntU6pUhzbxoa3nIDDuHVHnitV2eQFf0QPqo6qKmxO3T5EnBTv246RYnPbRc9Ocul/swhtE8QifeOk\nBWTXcZwqqIhwmn7lzTft8oU4amZpj91x6pAiKNJn52ES8TXvF8Vez/dxUtnGAshYXOQ3gNEG5SrS\nJGNhZpmnv/E8VUqUwyovvPoynYMDqoEirPjMLiyyeXsf19Eu7ufOX2Cv08HDYWfrDnff/xB3Nu5Q\nrlYoT02xu7tOrxmxuLxML405VV/kr//Nn2XzYJ872+t8+K/+CE65xI/+Vz8L9RmCcolO+4Bnv/U8\n//nP/jTtblN79zmOjrEhFY4EHDHUah8lpnmv5jdDdK2BRDPGWo9uXR6+OypFl1sQBdGu73BudeAw\nk0Zv5N/hiMPgZM5hnBs1bAdqGHbbcYbnQzqEgkQnTQBwSYaMvCLLYtM8jROu9ppW+gLdVjLKQek6\n+oDX8QSeAsctUxU6gqLr6oxMWQZK6UiVxp4+TmIymSJlyvRUhThOIdOelUmSUa5V6TsDXCWZmZ+l\n2WoRBGVECp1OH9moEpRqHDQP2G9voAQMkgGz84u4nkumFP6EcB82vOUE3LaPtolvUUAnm8syujgD\nSikCLygkjt5IrDyKwHmiWGTZUMR55K+fRKBssAmhvQlMUlnY7c3/Ponw2TAp9Gy+zbZlid2vIkJ/\nEhQ9exwHXnQtv/HmrUmKDs0MGMkj398iFYFwPWp+nc/93ud5+dmrkLhUK3uUsi5eGZK4T5aUcEQN\nb87loN/j/kuXaLX7ZElK3SkhOxH1UpmF2TkGWUppeoodEpJ+j/b1Nps3b7F7+w6LS6e4fP/9fG7r\nj1iea1ANyvy1v/Kf8n/+7mfo9vqEpTJKwZe+/GUeeOh+nb8ShRKZzuiSSZQUmNypuv+H8WfG514n\nHxZMNnu1QSo1SvQLh7iY5uLqYwKJFZw95fF5tG6F2RTUaEdQw+TCSqkRQQaGIVh1arcRlktnuLko\nHBSjWN7SmAdrwj8qXgh9ADpUIAnh4CbDoHJSB6jSXDwoKXWeTxyyOAUF0pP4fkiWKTzPx/V0qN/Q\n93EcH6HAc0skSQaDGN/3iaKBTsgc6tC1wvUoedNkmWLQT3Ru2rjFVMWh5NcZRBGu7+N4s7Q7XWr1\nGo7n0263j4xrHt5yAm7boeZ1q3DIgRcdnOTN2opibefF8DxXnicwx6kyzLWTuM9JhOTNPjvJKsfe\nKGyLjKIyjxN/j3t+kmrJ1Fk0JicR8uOIhYH8Iab9bl5lc9xBcVHfzMaV95zNz70SDm9cu8WXv/hV\nzi2cZaYxzeuvXaXbazE3P4PnCfr9mFJQIZitMF85xSCNEUlKxQuJU0na6RO3uty+dRsnDOhFA1rN\nXWS3SyWoEA8U/dt7bL6xwV//e3+H73jsMW5vbfLqCy/z0INv5zNfeZr9qIsYZJy7cBcHzRa+HzJI\n+jqRNppbdZxhyi2Dj8OQuQjIVGb1U6tZHOHgiqNOO4XhjEEH9Sp4Nq9OM/rsSWDWped5miAaJsJe\nU8PY3go1Xq6QJoK2NicGkDoduDrUCJEJhaBMkkkdi0SpsQhD0nG0V+SwS+Ew2YdwHKTQG0EqpY4e\niIMnBMIPcRD0ZYQj3FEskyxLkSohTXVCZJVKHDEA5eC5FdIsA98nc8ENQjKlQxTXp6fJUmg4Hmmm\ncJL24bgNg2r1BxELtVmdB7bk0wgmx5Ay8JYTcBgP7CSEnlsTnN4ZTnyqJFlymLliJOINEch1BJkI\nR4MixOEzSqrRIYgzMq9i+FyeqNiqGbPATbHDxKvCLkMwXoTt1TnkNDDvK+sZXW6WjadTMs85zmE7\n8gRn0jlAnvBNIlSjlo6I+mEfTVt0vfq7/tQrpshSMxfk4BCccQ/X4zYRpfIbhrISFIjRNaWOqnyO\nBw+G2ccN56bFYH0gpYmSA8KhJOp8+dO/wcrUEqVyBSoOUrao0sWJHJzKFAeDhAYBZ++5h4XpKlef\n+hp130FFPdLegM7uDteeeorKICY+aDEb+rQzQaNcp+L61JemSToD4uYu/9sv/o/82H/7X1MNQ3pb\nG2wNeiyuzDGTzrB2+zUefPhB3vHI28hkRoCLlDoxsMBIacP5GnKuyhAuYTMw6LRzQpGJ4vjBkyS9\n0XVlzEcPqaYOwjScE3F0Pk1ZeQ58bIaHbR8xa4zj+ui73VaMTtxElFQ4w09lVCpqaLwwWuSg0KFe\npVLEwzRoyhzrCnAVQ0kiI5PDeoTAH0YEdH13VJ8Q4XC9SE1BhUDgECfJqHVxnMJQn+84OuSvUnpj\nFELgo0MauEOVkBe4TJenUAqqY/TjeHjLCfi42sBcPVzw42KbviXVcOdzHMTwPakc5NCu1Ba3hdA6\nNpQmCJlJh+R5CEeMRE5b5DtEaKOmyA/ooURg6hu1fAKxzJvAjdd5dFwyK4O15k4lJuN13jmiiDDb\nf3Zd+bFnaCs8Gl/r3uHGZUlGHJWWGNk3jINN1o+LBQM6HVV+qZoNMn9NHEMw8iBHNEunqTKZX1zf\nxXFcUA5pmuF7Ph//V7/O9sYOZ1bP0+n1eO36yzRCDzcTqKiHKJVxhSCsVTm/uMLrLz3H3toa0s0I\nZKyjPUpXB2jyA9I0JfQCpOPSbrap1OuEgcdDjzyEaCbcPNjjC7/5b3nvhx6jdNDBDQX10KeVDVhd\nWeJf/tqv8oM/8K/Z2blD4AcopQk4QiHVoXpDK0isUcqriY5Rd+fPFsw4Oo4z4u4PB5gj3HYhwaeY\nWz8yR0OOQZhnc9Lf6B27vsPahv/r/nuuzr95RHVkaIFSKEenSRthrSlfqqM4KTSX7lhqJ9BeqlrP\nbp8J6TjfgsM4/4HvjfpgTCnt9ZJKSDOdKFspHaYgnwTlzcD/Lwi46XTh6fiIcDAaDMdxhjuXFslU\nJiGTOgAMZmo1p+UgcMRh2cpRh3GjrUnLp0ezRXbb5tzeGGziaatmipB60oQUcdN5TlrHnjhqsnec\n7j2/GRWpRPT1wmZNbIsrjvZlUt9sfeZJ1iqOzn2b20iLny2qblL/tOJTJ8AFHboTqQ/eoigiCMok\nUcbtmzfYXtthbvUUzaiPL8HrJvTSDjONMmmSEB+0eM/D30ll8TS3n3+OzVdfwO12dOJk36UUhEgJ\n7UGLxaXz7N3pMjs3xdTSnMbdOGV3fZPXuhHvOHsvp8pTpMJn+8WXmPVCfuv//k0OZhrcbB9w991n\nefSRdzCI+lSrZdJ0qAYSLkpIpNQHZsblfRKRzF/LP1eEU5PmS+XmMz/+9vopSmg9Sc1p7tmfk6BI\nNWjqNuUbOmHfz+vki/ClSGIw1/O5YItoR5Fq127vuB+I9lw194NhtqF8W06Ct5yAG532IaESY44f\njuOMiLcZWJNzcTSYQx1aNArn6OMIR6c9Ujrwved7IzdgnV36qOcfjBOCfJ1w6DWWZRmlUmls0mGC\nTtGa7CKCat7XqaPUmL7/8L40DMsYTCKmhks9aUfXY3x00RSpX4QQoOQRJJ6IaGrcUy9fZr4dE4lw\nwbNvFlzPQVPx4bwI/VVJmKrXaR60WVpc4Xd++9PUqw3O3n2ZVCq+/IlPUY0SAs/loN2iWioTJBlx\n64Bwbp52+w5J0iFJe8RKUi9VybKEwPWJu218pRi02wz6fcJyiYUz5xisbbC5vYEaxHxlfZ+gNsWp\npUd59Hu/G6cT8Zu/8RuQJGTxgPXbN/nVf/nP2b6zjh9oqwQtj4uhknpcxM4zHUU4VwRmzRnI44ut\nrrIPt817ReEgioisfS9/39RhyjHOfcd5iZ7UP+PwkyfWZnPJ49uhpKuO4OtIIsn1Ib9pHapBx/tn\nm7mavmbZ4eZpM392u47rv4G3nIAbyKskRogj1ciOdezPcYbM1RCBFHju4Um7lOmISPt+AIjDyGqA\nkrY+vdihxrTLfOYRxXix2ZYzRQR10m5vdm7btA80QidJMtFLLo94BrTGwdIS5hZLEaJrybVIJ32U\ngwdwOETckwjpJKQvei/L0uEz+TuTN5c3A3ojM3+A0nE0PM+j142Yrs/wzFPPsndnn4ceeDcDFHv7\n+8zNz+Hs7CFllyTK6GZ9sn7G1Vdfodzv0pivMYgb7GUtpMzoy5RauUoaK0SSEbW6lByf3m6bUnWa\n155/iUfPXuDR970HicLrZwTlKtszJV5s75C02nzgoz/A1a1NXvy936FUksRRHz9wiZMIxw1GlhpI\npbPHDPMxniR92WN2ZD4L8Lpo0xdCjMUEKrKeerNzVETgJq2/POTbepyUYDOC9nNF6h07VpEp11g8\n2b4j+XEcx+tx5zfzbJ5ZFEJY2bEO2z0pPeJx8JYT8Dyi2QQRwHU87Q6sTG5JneFaE3CFEoIMLSB7\nKsO4ELvCIQiCIZHWgXCUGArSQgwT3R7WaSN2HnGNy6+dw9IWeWwkyBPZot3cfDdqI/veqN+Wg5M9\nVkXf7U0tL8adxNUKwWjMJkGRhGH3a5IJX2pxOvnyittRROSLnj0+6qQNJudgvpwoSqiW62SJ4ulv\nPMP8zAI3treYmp7m9hs3cbKMuYU5ssjDjV22d3cQjke5FlCrlvAF1CplNqMEoTI8Ca6botyA/XaL\nehJTasxRqk/ROLeIlyq2tw8QW7tcvv8yDb9KNEhQs3Uu3XMv/YMWO195iZ3NTZJ4wN/6uV+g2z7A\nDVwc19Uu5xlDvB0SgqExdR5P8uqv/PnLcdzrJMnL4LLNHZvfthRt48lJG4uN93ni+WYhX5+9fo9b\nd/lNx1aLmjYWxXOx8T7/vHGeytOTUayXoebAXDfqYHsdHWcWXARvOQHPEwQzcDA8xBwmE1XKcMzD\ns+Is03axDjieT5ymIBykzAiCgCRK8JSxZtGE1RBww+0Kjop3NtjIm/feM4Nvt7cI8gedRYTX3v2V\nUqNgVkXcQ36h2FHhbBHXPgg2+fjy423ec91iPagNhwvMlG8Wm9FJFy06HVTJWJNoy6CjG9a4CDm+\n+RUHwjokGCdB/sBTKQXCxXUgSVKe+trT7O7s8uB9b2c/9Ojc2SNtNqn4Hu1swMzUNHQES6cr9Byo\nLiyzs7vLtO+wPD/Pdnma7sE+7SjG9St4oc/8mTOcvv8eRL3B+sEB3vwC7twuvd0W280mG1/5Gqca\nC7zrgXdSdms4+zEL4TT3n7qL/+e3/y1PPP4hHn3kUVqdXUAzCwqBJxyEcpEqA6G0OSHFxDiPb0Ic\nDSlhJB5zSb9viOvRQ3cbN811++ANjq7no/NRrO4oeucknMxDnvstIsBwGBnUfi/vxa2UVmmaULoG\nzDqwCbfZwGzaezj+mlkwY+sOc2ua9tnlHjcWk+AtJ+BwlOs210AjiMgEUmUIMXRUECCl7uyr165z\n6fK9+OUKg+4B5bCE6/kIXLI4plIqE0eRNr8SOi6yEAKVZfowE8Z07/n689dtMNyI+bQ5iPzgG0SY\nhMA2V5Dnvs1k27bfBoHsyIU2YuW5CLMZGoJvcxBF3FZ+PkaLX45zUeZeUb+MLXF+XOzxOdwY5Fh/\ni+B4ol48tq5wh0HONLESQttSK+Hg4vDNp55GJZLm3gH1S6fY3t1mvlImVSl9KdlpNwmVIPU8NH67\nzgAAIABJREFU7nr4bZy6cJ5v/dE36O9tc9DpUZ2ZJ0oUHpKgWqcxN0vkufQHA6ozHv04pTuIST2X\nnpK4mSJDcru5y9zGbR45c4bZsEYn6jG1tMj3PP4YD3/3u0lNmq4sIcsywlJFS0qKYcb0DGcYVrWI\ncOW5Tz024yJ+fmwPx1CNiJGNS/l5tJkHGyeKpNiiOTRl274g9jwWMUYn4Yb9Pd9Xm4AXMYtFOGSX\nZcc3L2rb+JlV8aZ2Ethr6c1w4285AZ800QbSVBNuk0TUcQSO6+qcdQi+/o1v8L/+Hx/j/d/1AR7/\nng+gkoxMOZBKSkGJKE70oDhDRBPGFM0bi6xmBr3IOSRP0GxCa7e7iDAVcd72b7NB2MhWdOIdxzow\nj+u4GAsaQ5TF0IFDE6ajwZqKFpvdhryHZn4xjAgv4LmHHNhx0guA4447G9llFbWvaIztsg3HmH8m\nvxhtkHJouzsSTAQoHdnu1Reu0ut0WV06w8HuPq9vXoODLnNBGS9w8bwKB9EBcaaozy5Qn1um3UtY\nPXue+Xc/zMb6Oiv3Xeb5p76JE6ekvTa+6yEyyWBnl4XFU4SDlFKqiIKAtu8ROAIZKGJP8OreGtM3\nXsO5NsfsvecRdy9xtnUvMzNzOI4iSaFUruAHPp3uQDdfdxxQCEdRpE7K4+MhZ31Uz2yP5eE9vc7y\n42u/V7Qu7PrzRDPfLlvKzM910Vopake+zqK+FTE1tvXHUYlknB7lmTPT3yKv5iJmyK5jEi2wIe/Y\neBK85QTccKY2kYHDydbiCSC04btSekGmUuKXK/hhibc/9DBeGPKxX/1XnDq1yvd96HFmpupkSWIR\nwSGhQHt3uRx6/rmuO+JOi7hw210bDgmOialRNEH53d3mfPMimPm068sTcO1EM7RdxiKGjC8Uc80Q\nSdMOE8jKbo+NlKbdJy3OvMnUJGQGo6Md11PmOaLD32KU11Tpl0AYS/LhGAijAjkZsQ0oKcHUg5Yg\nBBKZZXz+819gbmaOvZ1dZhtzdF+7SaDgwPUoV8ooz6dartKVgsULF4kGOtVVrVymqjJSz2H53Dle\nf+0N9m/fxpeSbqtJGAbIfpe657IyM0XZDxDlEq3AgV6PTr9H01P0Mo+vf34fXMHluo8zXSHzYHll\nlf3mNpnQgZYymRAEoT7EEWroWO4gpUKqo8SraB0Vqa/sjTQ/93nCapdliIwtEU4iNkWcvmFS8hxy\n3qig6ByniMCP93N88yoi+pM2giLGIN9umy7lcbmIYz6OKSwCO3PXcarZ0fMnPvEfGJIkGTstzoPW\n3TFctNqGO0oTGo0GrX6fWq1OPzlgdn6Bufl5rl+7xj/65V/mI098L+955FE8x0NlKSjNhRXpRPME\nRtcrjly3J8JxnFFAehvx8mKUvUkUEXj7OVsiMJBfHGajMQvATnM1Ql5H4LrjgffNhlPEFeSlAUOU\n85uWbtDRBTdpUSmZHVlQ9uZh981zfXQSbruco/pMNZrHo6J2Ef4o7YM38tKTSuEJj2899xzrt9e4\n+/zduDWPTrPFXCYYkIIraG/voHBgdg5/9RT+1BQqFqS9jNnzK+ytX+e5bz7DtFvm9NIK/a07uDKl\n3T6gNrWEX/GI1IBO2qe93iaKuuxsr1PeayJDwaAMdWrUehnxc1eRF8/inFvivX/h3TzzzDOcPrOi\ns52XQ9q9Dr4fDs9itVepQwaOh3COSoFFXK8anlMUEcY8QdES6vg45svPb+IGR2wiP5oDC9cMTnme\nd0TiMnhq/ormeBJRs9drvl4bd0zb7M0nT7jtPk6qq2iDy5932eNctBEWwUmSRh7ecgIuhweUR4NT\n6U9PSBKpyLIUkWYIT+AFAXGzg++7zJ5d4sbuFguuT6wU77x8Hw/dfQ/Pv/ACV19/jb/4vd/LTGMK\nz3EQWYbveagsw0kTHWtcysM4CK43HLyh7XCOmNv6L1v1YoOJZmjeK+Im8vkx8xNW5LVpfpu6be7f\n/rPFRcd1cd0hFy6cMdWMIY5mUZs+5qMx5gm9ytTQs1U76qicu7uNd0od5fLznP0I2bNivbZCx/kQ\nQy2AkhLUeLvs9ubHzREax8wceG5Ivy/53B98leXlc3SaHRrlMnt7G1RLZQa9JkIluF5KKgXN1jan\nL5ym2zpg0Opz9vQSIu6z++rrhL0BT3/xC3z4wx9hd6ZO1hUkHgwGKc3BNip8hVacELUGhL6Pmzko\nN6Ds+SRxH6UGRAh2d7bo7ezjzFSoVBps3V5n+cIpnNSBOMUvh6QCggw86Q5je2jLKuOxa298R4mr\nme/D8c3rfo/i29H5yMcesp/P4+pJjIzNhOSJlWEk7DJt640isKXXSQQwv07yY5UvKy8dF63HMVwr\n0HXbDIi9gRVx+ZPacxy85QTc6NrSdJybNX9ZnBB7WhwPXQ8cvdi9GITrcurCWT77h18gjBLKlTIH\nrRaZ67K0vEx9psE//7V/yfve+16+7/HH6DVb+Dh4roujMjwHUmXitIlhPAldl5KZ9vK0dkR3aM5l\nuAdjpw3FhyBFE2kISV4MBcY4D7NBmI0tyyRpko6VBVqCMWNl2mUvbFviSLOENE2HRFrhuobbPxxv\nU3dePNYIL0Z12DrrcXNKiyiroza0kw5m0jQdq18I26b/kBuTSuKocUnJtKFIdeCHLkk/Zm5ulmaz\nSxJnbG3tk2U+OCG1Skh37w5Re49EOZRLJZARXRnTiWOml1YoK8na61dpd3pUA9jeXCfZuMNSY4pO\nPOCF556mViuxubtD56BDluzj+T6lsEJjdprNQR83CAirNdIUqo0a0x6kcY9eJyItO5SrVbKgTOCV\n8BKJ47gEjg9ZhPIhQUch9KSLQpANLbKMrJbvdx4H9fgfVdsVcZm6iKOcvB1P3l6rRXCUqz9UnUx6\nPi9tFkl3edPdIinAZnSKIL8ZFHHH9oZjGw3Y9eXLt3HS7nPeWQqOJjm323aSBDBWzolP/AcGO9Rr\nXgRL0xQnc0gBz3WHukxJJjMyKcgyh7nZWdIopp9E1L0ZllanCSsVVrOMbjTguz/4GC++8Dy/+Mf/\ngL/8/d/P5UuX6HU7lFyPaJiJQ7gOSZboE35PRyQTrgsWF2ET53iYAspWdRgzQ0Nw8xMcDGP72sQs\nT+DzkzkmTiJG+m8b7NjWh+M4KnVEUA1Sl8tliwsyapJxrkhKnWHcwCFRZeQtaohlUWq7fB/y5dh9\nM7/tsbRFULsu+14RATfX7c201epQqZS4eXONSrlOWKry9De/wINve4itm2uINOb2xjoeAh9AQpJm\nVKrTOBXJqTMX2Ov06DW7LM3NsXPrFjdfv0o1S0llglcpsXb7NrMzM7TbLZAZcX+A4zh0mgfML83j\n1ks4UyUq6QztNEYJWFqap7e/j8g8knaHZ7/ydd6x8hFkmrF9a42bTz/PpQcv05cCP1EI30V6OrKe\nqxzU0PRT5PqbHxv7s/iQ9+iGqufmqCu6gfxZUBHkpdbjVAOmfMMY5AmgPec2/tjv2rhjW4cV1VcU\nc6RoA7SZDkP0i5I1F0swh/dMfbZkkf8zzxadwR0HbzkBzx+m5fMnevj4wz4JfWKDJ3yEUriOQ4DD\nzNQ0NzfXuX/+LHsHXZx2n34cU6lV8d2Qdz3yHpSSfPzf/Bbvffe7+cB3vV8nSg0DhFKAxHF0KEop\n9QYBAhx9aJhlKY44jNdiiKbJEWjbxto6Z9vdOI7jsQMam+MtAhsppJTITI4Icx7J8oeV5rqN3Lpf\n6RgX5DgurjseK928Y5snjqmCsnH9vd3G/GK3uRd7TovUKjZxH/U5x/WYa1EUHUF8z/OOqJUAwnKZ\nVqvN7NwiaaL4oz/8Kjvbu5RXpzh/4Tyb169Rm5pl0Noni3pEMkWiaLe6TC0s4gcVvKhPo+YQSsXG\n2i2COMZ1BL7jUA5DYplpl/kwQGYKp1wiDAOi/kCr66QkjQZ4rkMcR+y324RCQRbT3ztA9TPWkpTN\nPwh533u/k+977An+/v/w9/gHv/ZPObjToSpc3BR6PsRCEWRS+0CgQB1d6Pm5LLqXx7Mc9hVaK5kN\n11YH5BmZfD02zkNxTPr883a7iohjvg+G8Jvvtpomvw7sNti4ZUsk9p/NkBUxDflrNu6NSY45idVm\nfPISwJsxHzTwlhPwvLiQ74zjuOAOdzwHXMdFKIFwFLHMcFOH73z3e7n2zAs0O210XF6PqUpIpVQh\nVZL9gz3iNOL93/kBnn7mKda2NviB7/9BSkGAkCm+0E4SMh7gDyUChIdwPRDOMAh9Thes1OhQ0HDf\nWZaNPDZtDtXzvJFu2eZEJolw9kI59NZEp32Sh9mFbDC/DYecF1/hMI6LecYQf1tcNEhmpIx8Gx0x\nzinnkd6uN83GVSjm0NeGkaos57VpyrK5RvugOM855fWPZnENkgHlSpV+LyIeZHz9a09x9uwlZCaJ\n4piNO3co12qEnkM5KbO3v08vlohSldrcMlt7HdrdHmdXV3HiASIaEKoMIQW9TptO3MMJfZRUnF5a\npisPSFHDMIgZnYMDnDgjTZU2q0wlKoPN9Ts8/r0f4sbV1yFzGFRCwsU5bjd3OXf327h88W4qpQql\nSgUnSfEdh8RVpEIfUvtD01GXyQQuL+W9GY7u8LmjEo/v+2Ncte2BmYeJlknHcOCmniLincfnfDk2\nntg4UcRZF0lz+fEzf7b6w+5r3nrHvpY/vCwaH5tBKbpfdK0I3nICXmT8bn+mKiMbBui1w0W6nouD\npITDudXTfPULX+Lx5RWarRblINTvJwnJYEDVD6iEAQM54OGHH2Zza5Mr/9M/5i/9wA/wrnc+RK+5\niytTauWQJI40kfBMJg+9YATiyKTlCVf+ZN2IXrbOLT8xtk7RLAhjpzrOiTI8Vx2f8LwTRFEbQSOX\nQUZ7IdqHKnabTHn5RSozOcbBFHmNjvqvxhebLX7mRVCz6dnJF2yOxT4bKFoYk8RTN3DJEknglrj6\nxg0a07PMz84hM7h57Rq9XhfhCKaqNbwUpgMP+jHlxixudYrd9Q2m63WUyrj++lUcmRCGHlGcIrOM\ng/0WiVAEQcDCzCyVapV2lBANIrxySLfVpjSzwFa7xezqMlPLK3idARXXZfnUec6dvQvPCXjh9i3u\neccj3NpYJw4c3vauRxBhhf4golSvk7Y7CAkygAEOJSkQCrICmpznYv+kRFyP3dFn80TZxpM8GBw7\nLO8og3Zc/ZM2BlNfXlorsiCbJH0UHTYWmfrZjNaYFDrE0/w5UZ6pmDTWBrdtDt5mPOw+nARvOQHP\nMlt9Mq47NsTJwxnm0ht2VClipfDCAJEqVuYWUCUPoWLIYtJY4QCBHzC/vESz08YJHPxwlvagy+L8\nPJfue5hP/c5vc7C/y4fe/z4Coej3OtrLTeqs1e7wYFMHexdkyDHiEIbhsBcWQU0zvdkMOW+bGzhK\nlItPtQeDwUifDuNZaPJcqVegFzccVJZlQxEbtOu19twzoUFcZygtqKzQxNBw5OMIKnE9f0yMzsfC\nGCGyPOo5aQit7/tjYzIKE2zF2JgUMbKIK8+yjMSy+x+1RSpUKvAduH71OqcWVxh0uszOztJu7uGo\njH5vQCAUvpsRCYfy7CyXHnyIbpwyk0p8JWm2DojjPiqO8QMP3w/op/FwY4wp+T6JzCCDIAzxPI9W\np83eruRdf+E9tLbWWbn/PlSpQvv1NWSU8uy3XuTcqVPMT8/ywKV7WKjNsfDoKa7fuM4973sX115+\nhSD02djfY9r1cBJQAmIvo5TqDDvKO3qQZktYJxGTIvWHTiYy7jKfh7yqIP+sbY1lz1Mex4o2Y4Mz\nRW0/iWM1dRQdEhZx3naZx0kxeZwrYjyN7n1S22xIrNwF9uekg9dJ8JYTcDMQRfpgIXQSVBehzcEE\nCCVwEKRCe2kGwiWWGX6twvadTeq1OkkUEZYq9Hpdms0mYblEza/RPGjS6XXAESRuie/5wAd59ZWX\n+Cf/5J/xV3/kh1henMcV0O92CEslBtFAExvPH+qgx3fYIsQVQmgzO8a5zyRJxrhI+z2b47BVL5NO\nuc0zhngWccz2O6b8TGZHylWMh7m0iWzRnNgL0dwzi7WIW7EJqt1uMx55om1z6+Z73hvO/j3G8efG\nwfM8EhlTLpdxpMe1V1/nwvm76fd6tPd2cFTMwmwdNQjotzt0VESMw5kzF6jMzNLe3ePy/fdSdgXP\nfuVLSJURlEOiOKEcOMhE4ZVC3FhRa0wRZSmdVpeaH1IKQ6Y9Fz8McYTD6uppIiALQg56A6RUXL+9\nRrPV4tGHHqbkOSTXr3P6HQ+Q+h4b7X3uP3uR3b07RGFZZ+VJJTJJSQRkqdSpwBjHETO+ebzMEzh7\nbPMgxDBkBUcJjE1UbVzJE8BJetw841KkGimSHPL9yMOk+ON5TjZfn73JGVWe/W6+H0UbThHRndR2\nm1AXSSWTvk+Ct5yAm8VoH44YEEKA54Acmhu6Ak8KHCWGefAEoXTIPJf506tsbm6y+PZFojhm52Cf\naBBTrdXIUGzv7jOIIqq1GrVamf1+j539JvdcuhvPucz/8s/+d372b/4MJd9jZWWR9sE+09MN4kFf\nu5BbO/pxg5xJicqOelLaRKaIUNvE0nCSeRHOjE+eqzflThIdD9ssCmOOG3E3TyTz3nL59pj+G266\niDjY/TbtsDkYU4bZjGyx1Nbn2+NkDorzuGIfmkZRpBefK5GR4iuf/zwz0zO8+OxznD1zmldffwnf\nVbiVErPVKeqzM9zq7LE0v8yle+9np9Oj1euzuDBHa+s2STxgYXGezn6TQZyR9QfgevSiPpVGg7ml\nZQ7u7OCHIeVKncbUNL7vs3uwz+ZLr7Nw7yV29tuUXZ8wDHDTjJSUHjE3dtZZLZ9lcbbK7GyDRrcJ\nUcL2zTUq9Sp7nRZ+NUC5Dq5wCB0Hx4MsPRrFL090ioiAjWuTiMRhOrtDsPHL/iwqw8ZRuy1F62gS\n91skNfxJJAlTVp5oF42PaZPNXJkzraJ22RuDjfP5ZyddK5ICTnq/CN5yAm70xgZsQuE4DqkCobTU\nb7JHSyURnocvHERfm8GdvniO5z/+B5w9f544y6g2GsyEZRzXw3U9slQyM7QrdlzBqYUqS7Mz7Ozs\nEaUp73zk3fybT3yKR97xMNV6HT8sEUUDknhAyS/r3HuWTraIAwR9yIrF1ebNjwxnWcQp50/N8xOe\n53QNCCHGzAmNSucwVdqQW3fGTTallDoJK+OIa4iyXX6RdGTAxFnPX7cXi2ljntM3fcwvQJuzM202\n/TcbRhHxMngz0s17GSLx+b1Pf5pHHvwLzDdm6B7s42YJ/W4LLwro7WxTL1fJSmUWl1cplavsvnGb\nWr1CPOhz8/o1ZBLh+QHlSo04lgz6TZSXITyXpdUVBmmCdB3CUsj2/j5pkrKysoJUivb6Jhfuvoso\n9JiuNEgX5xjs7iLJ6Cc9XrvxCs+99AyX11/nBxfmqbsBUsDarWvMVqpMz00RS4cuMUKAH2UMjIpB\nnsz95YmYza0WE0RtM17EfBSVn1ePCCFG5y22KsQuwzxn+xTY8zipnZM4+yK9tnkvv9HnGUW7DzY+\n5TnrojqK1C95sK1R8u3Kt++kzTcPJxLwn/zJn+RTn/oUi4uLPPfccwDs7e3xwz/8w9y4cYPz58/z\n8Y9/nEZDZ1D+xV/8RT72sY/hui6//Mu/zBNPPHFiI4wThx0f2wyg47j4mSIVkpTh4YGEVKQ6QWgG\nwnO4ePluPnXzX9Du9ylX6jhBCbdSwfMC1m5t0G13cISgVq7QmJpmuhYgfJel++5lr9VjYfkUS6tn\n+MKXPk+5EnLp3GlII0qBQ5Jq5aOtCpBSjmy7wT44AjEkIPbkmPsmUUP+ACjveGCQ35gt5tUJcMil\n2uaXGhT6q8SOfxFF0dhiyzKdJ7RUDo5w+XbkNXth2vUYxM1LBnb78/kAbcsde7MyFjJForrNfRsO\nfBInaJtUCiGI0x7r6+vUK1V818Mrl3nt6g0cJ8VVKYEXEEcRvVZCjI/juKytrVMulViYm2dn7Q1a\ne3uQxERSMjMzR7kyzYHnstM6YLrRQLg6XvhUpUalNsXNq9fpdrpUp6ZAOIRlh0xkuGFAQspuc4fu\nnQ1cRyFlHz9NcSW88Idf5PXX1/jpv/lfsjQ/R/3SZT77W5/kw3/p+znwUvZVREWBO0joOBmu7+Fl\nqpCw2BtkXjJ7M2K6EOPM1DiOFxOdPENif5p7tn7e3AvDsPCMp6jcSaa3k6xe7Paa9/JhLexn8lJi\nkQ7dvJc/17LnYdJYT9oMzWc+XO9JcCIB/4mf+Al+7ud+jh/7sR8bXbty5QqPP/44P//zP88v/dIv\nceXKFa5cucKLL77Ir//6r/Piiy+ytrbGY489xquvvnqiYj5/WGeDlBlyaAFScj08T4FEcwiA9HVC\n0ZWwRuPcMvvtJn4Q0u13Wd/YpOJXyByXxuICbppREg4HzX1291oIxyHJJK5folKvo6TiO77ju/jq\n154iTVPuv+9ulCtQvQikJHMgGXoXup6Lkkp7wgmtS1auACWxk3/bE2MIkOFu7Uku4nAN8bMPPPLI\nUYQQjmMWgXbWMc8EYTBM4ArCcfF8AUrpaCG5RWVLGzYnZpsC2kRWcHiUm1e52AvfljLs5/JcSpFO\nc1TXSD87vKbAEdrRSEerFGRZgpSKIKjw4rMvkgxSatNTPPvSk/hZTOAqalN1iGM8Cb0spR6GOqv8\n+ganLpwn6Qa09rYJHYegXEdkkn4vwvF8ZlZXcabrTC3M0xr0CP0KlbDC1sYmfslDkbJ3sMPq6VPE\nScwLa1fpbXtU3DLx7j7VzEFlKY7jE+KCkLSziJ1+m1/91X/BvWfP8t0f/l7e/q534A9SKmGAr3wy\nJNIBz+UwykuWoTJwXY9UgRt4SKGjsbuAOwx6lTIuMU7iAg0q6ktqpE5RaugfYeZBaOTX8eTJgRqV\npedY46dheuzNO2+VZIPd1rykboMzlHyHb1l9KFbHFEm4upxxz2j7Ofv5os1sPDn44Vo63DDU6HOS\nxGBf+/fCgb///e/njTfeGLv2yU9+ki9+8YsA/PiP/zgf/OAHuXLlCp/4xCf4kR/5EXzf5/z581y6\ndIknn3yS97znPRPLt7mpvMgGw8w3ApAKmaaoYcfd4YT2vQyBYLaV8F1/+XFe+sI3uOfCXbT6EbOV\nGjWnzF7UZ2tvi2nPZ6o6xfLKLKWps6SxJm6dToetO9t0Oh0yoVhYOc36Xpsv/trH+emf+RvUkwMC\nAZGjXf79UoibAXEKqQ6SlCBJBAS+i5+zDHEcZ+TybnTOZoLsg01DzOI4xvd9fQiXJKPdHorVGbaZ\nnS7LzvRz6Ghhe4rq9w6zhNiqB7uOPJdh15kn9nkEL7IksDcJ+9Nw/fkFZO7bbUplhhDaHwD0mQiu\no6NPeg5xkpBmMaVSAKrCq89f455LD7DfbNLvtFn0BAzt3L0MlPDwKgHztSpJ+wAv65F0dnjp2Rvc\nev06C/UGlVKNNEuJk4RsEBPVfJbuuotTq2d54fkXqJVD4m6PTrOFkgnCd+lHLZqtkKQ9oCNTSnNz\nlKbnmJmqcZA0SZXAS6GifDyZkSpJL/B5+N2P8so3vkFL9ll8291svLqGK6tMNabYjvfxAp9KqpBJ\ngggDRKrjEwZBiXJQohsPkEhQGSLLcLIMJcTIs7hI+jP4YX7bBNEcaJoQDEVSUh7szdr8LlJdvBmw\nN3obH8frsq8dbh6H38fNAIvw0oyLbdlk7tkSTZGKSpdlM5+HnPxhmyWHuW3F2KZ3kppqEvypdOBb\nW1ssLS0B/y91bx4kWXLf930y311VXdXV95w7szuz987euA8eAMEDILmkBQiQIZmWTIk6IqywTFK2\nQiHLEkkfQStsEiJtURJtSqJIALx3QQEUbpC7OPecHezc0zN9d9f97pf+43V2Zb2uAeiQFUtlREd1\nVb16L49f/vL7+/5++UtYXl5mY2MDgFu3bk0o6+PHj3Pz5s1vea+qWV6lA/QORt1xOrqgKgxZlvHk\nww/z7B98iq3OJlkKnqih6jWW2oss130C26K7vkHU73Nrc6sc9EIxP7/AHSdOIS2JsCSDaEiYRGxv\nb/Nr//LX+OB7381sPUAicFQOUYawJLbvgio70VVlvuwkz6aaR6Z5pj+rxjTrNuvwRNO7P00B6v7S\nFERVkZq8u1JqIrRLOymFEAeHM5sO1urGGrM95tjpz03lrpX3tFKNK9evppNTP3daXHdRFCBlCQ/3\nJ6gQJefquC5JEpFnGfVanTwv+P3feYaVO89g55J4t4OlFJHK8IXCznKUZYFnceLIEeaPHuebly/S\nbs9DUbCztgZxTKy6uI0GrnSI85x+FKNsycxcm140wgoCFpcXufjii2RZhq0EIldko5i99W3mcpcl\n28bPy3Mti4UZtgY7eIXEzwuE7dLIHM40FrjWy3n5K1/mobe9iUazDa5PxwY/CYnSHOZrjHZ2ON6Y\nJY5DUqWILbB8h1jlFGEfR4mDs0tzSxJZlOeAchg1mtFR0ywjU96mAQc9J6vfV4GJtiTLoZuUadMP\nNk3eqo7FabJnIu6xci7lo9oOM7zXfE5VqWsKpUqNVOX3dsr2dnN2/9sD2TWvr/qivl35D3ZiTkOE\n1e+/VdGDUo1A0N+Zit1cQbWCMRWPnUv8hk8qMhbnFrGFxzBMGKx1sBwHJDQbdWpujZVjJ9jY2KLf\nH9Dt9thc38L1PRozdeqNBlgujz34CLudPf6fj3+UH/+xv4SXg4PEtx1GSUyMQkmBhcBWAicv8Gwb\n5U6mnzVX12l5kHX79F9RlLlItKBpKsUM7TOpBq3sLMs62Gmp76mfa6IXjepNJWnWwxwbcxwOIxB1\ngCKqdZqcSOMxvF2Im6nYp8nMZJ+J/c1VZR2EEEjF/lFjAscNGEU5N66vsrs9pDY/y4mlo7x06dOc\nPHKU/nAbwh4qTumJhKJW46jtsRdmpMJiaXmFzY2bjPb2qFsWnijobm0y02pjex4eBe1Jx1MQAAAg\nAElEQVRjR3AbNa5dW6XWrGO5DpZn49dqpL0u7C/oaZ6y1bQJLEU7DFlijnatSauVEt7awpEeS3cc\nIckSFo8cR71wiQff/k68t57j0voOdx2bYe7IMnKng+tafPJLn+WdT7yJS1fXWF6cJ8wjMluiRIIt\nLRwL7DTHUoJMKDKhiGRJ9dn7XW46jM1c+FWKS4+diUirFEz1fVV2Ju8xHi/zO1NmD4/1eNE3F4Wq\ncrTt2+XnPizb1bln/qYKdMz2mc//dqGDQjAxH/avmKjPt5Pz/2gKfHl5mfX1dVZWVlhbW2NpaQmA\nY8eOcePGjYPrVldXOXbs2G3u8g8A+Oe/ep5Hzj3AIw8/eCA4JgqvOhxMR5dWcAeKahRy5uwZLl69\njH/SA2XjzS1wYmkRmQnwbYZxyKA3oDdYJYwiXNej3ZzF83zq9TrdbodOp0uv38V2LNIw5LE3vpFf\n+83f4L/64IdJhjFxkeK5LolUFEKRK4VV5BSFIomzCa6xuqqaytZsl+nwE0IcoHDtLDWF1hSqIAgO\nokA0itX31783n20iYz1xTKRbDWs0lbf5fPPzqRtopixg38qSMJGOiexMtHMweYuSM0boaAn9W4kQ\nHtEoo9Va4PmvfZLjx86yE/X44z/+E2b3LZW5pQXSPYuo1yPKYoLWArLW4uLGBoFX49baJls3btB0\nXGYcmzyKiMIRURKjPI/FE3dw9u57GIxGCCmpNxts31ojzTMazRmEbaPihDiMUUmGWLRwHI+0yJGZ\nYsZxWTl5iq7yuXj1CsJxeORNT+AqaGDz7Bc+y6mWz933PQqFxdzpU5y/8Ue0dmLO9W0+/fFnePz7\nv5dbQuEJB1SGlZR5wvv9Ho0gIEGQAWkhKaTAlhYFhzePua47MefGiPYwEtfjVh2/273qYs5byxqf\nyGRaWua1plVW/fz2ynecwGosa2M+v7rImDJdXXhMwHM7WZ2OwE26ZpK6+f9SvvLV5/nyV7+x/+4L\n3/Jaof4Uav7q1au8733vO4hC+cmf/Enm5+f5qZ/6KX7u536OTqdz4MT80Ic+xHPPPXfgxLx48eKh\nBpTvy8d+8dO/D0w/rUUrHLMjqzHT5io9EgnnV1f56G98nA98z1OEcU7i+zi5hR0pekVC5kiaysIP\nbBDlZqB6rY4lBGmW4bku9XqtzHiYpQxHA3oyQkjF5Zde4S994EMkgyFB4JIV2cEJPzaq3HBkOwhj\nIui2malnq+00d3XptlqWdXDYhc7YOE1BVjnrqnCbvzPDGs0wPHMjzTQ+2xy3aV7yac8262C+TkNP\n+n+zfVXko39rWRZlQhCFIqMQGSXfCAIH2wqQeLzw/AWuXb2B4y+xu7fFxW98nUUhsFWCcBVSKIaj\nhDjwaa4cJx6l3NzZZLk9S9zdpn/rOnVSGpaAPEfZNv00I7VdjtxxiuMPPUB/OKI9twBKceGVl+lt\nbxKgqFs2eZIw7I0oClg8soDIctI4YXZlEbc5A0hmHJ+L5y8w25plNqijuiOOHVtgOxrh3XU3p594\nM2F3wPLReVR/E/sbFzgWtPm97k1+u3OT+x66j+989FEW/QBrMMTOUoo8JRcFqVDkSCxs7H1uVicz\nqyqmakI2PabTlOU0y2oaZVidz2MUPU72pr+bto9AAwN9f1MGqnUp6zpNZg9vVdel+rxpYELPO3PP\nxu36pbynecDz4egV0wJRarpSr+rKhx7/DuD22+q/LQL/4Ac/yGc/+1m2t7c5ceIE//Af/kN++qd/\nmve///38yq/8CqdOlWGEAPfffz/vf//7uf/++7Ftm4985CPfdvWJomhi9ddowFQ+rusedKYu1cRI\nSil81+eeM/dwa22TURgRNOYQvg+jjDgasLGzjdWqUyibOcfD8z3mWm0sy6bf6zMc9NmOIvI0pVb3\nWVyY5+jyMguOYnX9Fg8+8ji/8C/+OX/rr/44SRjh2y6yyAGFcCRxnlJkCSRj01ArvaoJWEWo1W33\nZp5vU2Gbv9P9YDopzUllOqd0+J4ZAWOOTTXm1ryPziFeUl3i4H46rrsaujc2M8e5w/X9TfpLj5tG\nZkJoh9lkvfSBH1CQJCkyd1CiAJFTiKxEO1IiVIEQFjWvwe//7tM8/ugb8DybbG+PtmMTjvoEtiDp\nhYjGDLuWz/ET93LvA4/w7IuvcLrdJO512Fxbp4HAtx1cWyA8h14YkaOYnWtTn2nw6jdewLIdjs4t\ncmttjbDTxRcC0hQcC+G6+G0H6QT4NZ9bm2t4tYAb25u86cydLB49wvlLF7FX2mxvdbD2qf0oi3j3\nW9/Gb73wEidcQbLbZbS2zSOP38MXdr7AzKLPuZNnGC4u8+++/ByrF6/wEx/6IC4Cx/EIagFRFlIU\nBY6QyFwikpw0z8llPlUOdRoCLW+lohpHjoxlQfPPZr54VblmHLNvOuy1HGlkalKGpmybyda0jJn8\nuEn3mPKT5+X1aZpOhKqWaQEmQVKaji1dU3lXHfphGOO67oHs2vYkbz+eL+P5pukX3Vda/vV3+qQs\nveBUF9Rp8/dblT8VAv//u5gI/I+e+eiEAjD5Lq2oqrHDVS5YD0Kc5KhGnd/+g6eJdkfcd+5RYuEQ\nKJuG8HGaMwTzLbLukDjZIctT4rg85MCSFoHvU/N9pBRkaUIUDsmzHGk7SM8hFjmJSgkHfb77bW9D\nDEbINEEIRSJzElHgYGGpSYoBJgV2LFyTOxJ1kVJO7FDVaEQj7moIksndmUhWX2PSJ1VFa1o6Vctg\ncrw0rzjppDU5U7N95Z91qK5mmUQ92aFFxZQDM6yRzAKpUCJHkYMsJ0Tdb9Lvhjz3ped57dWr2NJj\nZn6G/uWrZP0e+ECUIgub62EIK0c5e+cDZKmgKwoeOTHDpVdeZuvKJVR/FzXs0fBtClGQKEgsmzvv\nvp8UwdbmJo2ZGWzLYWtzE9+x8G1R5gNPYwppE2Vwz7mHOXpkiZdfO0+qMoJM8cAdZyhcyW4R8/LL\nr9DMbYLCJlU5Vj7kibsf5MZaB2tumXvuu5+4u8vK8TlOnjjCi3/4BZZbR7hhW7xWz7iwdYPezhYf\n+NEfZq4e4FJgFUUZeZKpMrePUgjbIi7SQ4CqVNKT8qKRoil/peJLJxC1nqsaeVaR6eE5D3k+mQNE\ny7t5nWmlmXJZBS+TdS7nkZn1swyhnQyJLf8m66+v1/c3n+F5HkmSHGxM0rKud5RW2YGxrE4uVOVv\nC6TUwG5MVZpt0YuULk+85T38ByHw/9jFjIDQxRQSmORcdYP1Cm9GozQbLUZ5xve/63v4hV/8Ze61\nwEewubZB7Dforl6ntbCA7/vMtCxs22KmNY/v+URxTK/XY2u3gwDqNY92e5F6vcbu1h4pZWrSnX6f\nxYU5/puf/ml+6ed/nt7GBkWaIFwLy7YmYsB1W0wKozroJqc/zelo5keflqh+WjZCfS1MetxvL/yT\nWf7052b99MTWE0Lfz0Q2elz0e8tyJu6px7Q6nuX9vn0WtoPxtwRIgSrVN0KAZTkM+iPSuODa5Wvk\nSYrj2gy2b7F14zIiiWksNCnSApRLoz1H8+QdjOKInY1dTj/yEJde/TprN68z49pYzSajLCVUGXFe\nEOUFS8eWac7NcfPWOvVaDVdKtjc36G5skjo2jaU5HFtSbzRYuuM0w0Ly5ne+k+X5OR544jHai3N8\n+nd+j/W1de5+5EF6/R2cRkDei5GWxFKwHoV87JNP830nHmPr68+RHV1i5twpumlE37E4dvouul+9\nxJnHHyZppBw5sszNvS3+3j/+WX72Z/9H2l6NcLfDUr1BXkSEUUi93SRK4kOHcJfyMy3GetL5p8dq\ndnaWNE1J0xL0JElCnhcUxaTvyrIsPM87QN2m89MENOa4msrTTPegX6vUaVWOhSgd+Boxl/e00KcQ\naSuj1BuTaXF1fargQStTsw4m3ViVd9PiVSqfADoAjmNjWfJgETFPt9LAFMrIuyAIbjsPzPK6K3AY\nRy2YZokWhOo2bXPy66L/D8Mhju2w0Gri1l1G0RCiAYvzLRozszRnm3T3ugxUwnBU7HfeLkoIhJDU\nazWCept64COEYhTF9Aa75FFKVhRYns1dR0+RqpT3/uBT/JNf/mX+/I8+Rc2vUaQJspDYUmJVoml0\nu7SA6qibacrqAGXuX6/zcpvfmwp72iEG+jvTKWry21WkazohzTppHtBEKeXuTnFo4dG/M52z1bzd\nJsqp7sR0nMNnKE6j34QQKFmGECohy9OTpI1Qgrm5OT75zB+RJglHV5bJk5zrl17DsguagU/U75Lk\nBYkMmFlaZqnRYGtnjze96RzDcMjVW9cQWUwhBK7t4DYa7PU7jHKFHdRwGk2urd5CZTmtuQajfp9h\nv0vDd/GUorexwcrKMnccP8Hs8grW7DyNmSYvXLnMiWNH6Gzs4GKRxQlrV65Tn63zziffyLOf/SJb\nu7t0dzu4jmC23kLWbPaiLW5ef43Td7bx3RrdQQjzDTYbArV5Cxn77G3FuIHDX/uxH+fppz/JsZUV\n3vr4I2yOQjxV4NUD0iwhSWNcxzuEfM3F2OzvadzxYDA4UNRBEBhyMZYPLXPD4XBCNsbK7XC0iek4\n159XHdkm5TGtVGWxlD+H6kJU1mEMTszvqgnW9HPNxcYMFjBldJrM6t9pi7rcd6H3Xoyfr+krzTTo\n0OlqRsdp5c+EAjeTEJmIVakyz7KJSE0FB5MKzfFtijBhsLfLfefuY3XtBo/eeT87u13CNEbGOfed\nvZe+zLBFnSTJWF9fZ3t3F0taDAflBpr5dps8T0qe23OwEeRZRpGkxKOQ1MrIgfnjx/iff+kX+dm/\n//dhNEINw4nccGbdtABqZa63jpsmmzbTzJN8TJ5Q39NUciY/WEXi+neaAzSjTUxkXb2HrkMV3Zdj\nNRlnru8NkxOvalJXrQiohk7mh9pmtklTRLC/4AtQSsJ+OKFje6yvbfLFz3+Rs3fczdbGOgtzC6hB\nn5yEMFU0HZtQSgZFRqPmsfrqKxS+QxTOEq1totIQ37JJwhDH8xGeT2DNk6Uh9WaTVAkG3S7NoEZv\n2CeOR5SbKAtcKXGwEUnK1o1VwkzxpvsewrVskBZxP+LrX/xjFttN3vyOd/Dbv/1x3vzmNxLvdRBS\nECURNWVh9RMazTovbl3hyQ+8iy986Y+54+xpZk/cxd6tDssPnGXuPR7tXoqXKDo720jp0e/GPHL3\nQ3TiIR/5tX/NX/zQ+5GOxMpSnDSl7vmkxWRaVJNaM/u8/H8SPVZTHZi0lg5fNR2Nvu8fsuzK+Tx2\nlpqyPwkSJi0xUxaq0VvjhUFNpK8YI+xpETJy6r1NWsS0Cqp1MxcJc3HS/ryyb8b8tz5Bqjz/V/v1\nvIP5oMfAjAhLkmTiWMPbldddgZseX1Ph6EZVY4qrK5/ZwWkUUnc8kiLjzjvv4OqVz7G4MIfvB2TC\nQsY5Fy6cJ/YdwmGOY7sEtRoPPfgAQloUhWJvd4coDun1+pDnCNkgl5JaLcCWEoQiyiMCv86RU8cR\ntuSf/eqv8oH3/SAt14UsJ00ylAQEWEJS7O9gw7JQAigUWVKuusKaRB7VRctU5jA22Uz+vKooq8jA\nVMraqeM4WtinOzDNDIXm5+UW9cmJZ46BWVftqLmdb0NfX44jZR8dnKBuHiFnIh+FZzkkFCggTzKQ\nkiiJ+dhv/BbkDtu7PfqDARaScBDSWGihoj55XpDkKTPtNr4r2V7bwW7VeflrXybe3CTwbFxX4AQ+\nNjZJFCMdj/mlBY7fcYqN1Zsoa4TlNxiMtthevcmcFzBTC5BFTk36FHGGoyy6O3tcePU8VrPF4vIK\nV196hVZQ49XXLnDs/lP8yF/6IJ98+mnm5+ZwHYsiimlLBzcIUFnOgJRb/R2iXp+XvvQcje9dYOX4\nHexu73H60QdZe/48g4096q5DPwqpBwHd3T5K5Dz+8OP8b7/4Ef7CB/4cdy0u4Ht10lGI47nkSiEs\nUS6YhYKi2E8HYZW01P44y30nppmMTYhyoS0Vm1byCqWm+3NMsDAGYYfTr97ufTUfT1EUEzy8Kd+W\n5SClOKBzxsr3MEVTXjued6bsaqWq291stiiKnCwtHflZPp5/RVGA0o5cRb1eP5ijRaETz+ldraX1\noXP9O04yQY/q9mmLW1sD36687grcNDmmcbTme/N4o+ogSilxRE4iU7Ali40ZrCznxq1VZGZhC5f5\nhWXs4zWE55FmQ0bDIVEUcvXyS3ieR3Nmlrpv055psjg/Q6/bZzgaEmY5YRHhuR6zjSbNWh1QiL7i\n8bOP8kLyNb766qs8/NjDNLMc13YYqRTHL9OGukIiLYtYwihLkULgU+aPqCpDUwGbJqQpZNWwqiqf\np/vEFIzyfjllrLTZhwLLsg/1t1kfc5zGiPlw5sTDyajGSKfKYZrjXk5AHWWkuXZ56HkardQyF2Xn\n5KrAyiSW3+DfffY5Ln1zm/mgRaN1hJu7HbYvX6YYCeKtIUom7FkFQiiOzTQgDvFsxaxjs727S6+7\ngyss1HyboNmCYYFXOAxThVVrYc0uEPRTHKfFiJTR2nVmYkE9ibAbOQunj6HigmS9h43PsROn6IYD\nkn6HqLPN6s3rREnE5dUr/Njpv0KSxhw7dYzdjU3mmjU6MzaDOKGdWGRZjvBcLpy/yOmFE/Qv32Jt\nZwPribOI0CO+vIM9u0IeJbjxAK8myX1ws4Kmsgl3Y9790Nt45fmLfGnwVd7/g08xV6uRJUOEK0mK\nBESBLQosFBYSlCDHIsMqz9osUpQqueVSVspFXUeBmPsMLGv6xjVdxspSHVAopjVdpf50mXagSNWJ\nP47MysjzST/ZGBCM66ARuAkQ9XNNpX5QvzynUAXSkniWh6vcg7NI8/1IE1UoslwfED65k9yyQMr8\ngGWwbXefj08mqKM8zw8Qt7ZobkcXmeV1V+BmmFF1Jayae5PKYdLZJ6XEkT5xluPVfWabHiePH2Vr\na50nH3mC9ZsbfPO1l3CCgFjlzLVm8VyPxaNHqNVqjMIQx7bpdnvcWr1GoRT1Wo359gy15myJ8kYh\nSZSwu7VNf9CnPd/CH3m85Y1v5Z/+s48wOzvLAyfvIAxDGrUao9EIaQlSaZHGMUIKXPbNwP3dmhIO\nCWSV8zfNQpMKqTphzL4x+0crWj15zPuWqCo91L/Vbfxa2Ewzc7wwHE6rW34uDil6c1Ex6ZIqdw6H\nc5LrcY7zHE9Y5ELhtpskqeCLn/wjbK9OqBLmZmdwkhTLc8k9F2kr4hyyJGWmPcsozhlGHU6fOkUc\njdheX8WXBZlSjAZ9kiyjWWuDb1MPPE6fuoPNzU2SKOTcA/eT5ikdMuwjQ1Q4YLe3TdqPWGjMEs/Z\nZDUHMd+gu77BLA5fef5FTp45zee++Dl+7K/8l4RhhLTgrW97Gx/7t7+BX6tz7/3389qF14hJkY4k\nCiOQAuvoMjXbxhWCJg55zWVts8OdZ+/FL2IGQnB17RaOK/BmWwROjSxOaMsCq7fLnadP8d/9tz/F\nT/y1v8ydZ07gJAkNKSniFFsqsCWZECgEqihKVA4oYyOKqWT0Z6bsmXTKmGc+7LiEchEwfTMmlVGd\n35MRHOOUCeZ1psI1KRVzc1uVn9bWpalHzIAIHTZryqbJEJjg6SASZz8rqKnL9H2DIDj4fOzcTRHi\nMN+vaaBqJsTbldc9jPBPPvfMoegMU4GbnWsKju5Ms/qudAjTmMK2SIXi/KsXePH5l3jzE2+kHtSQ\nto3t+cR5ymg3JIkTBoMh9UYDS0oc10EKSRiOCIIA27bpdrtEucR2XaSwqPs1fNfHsgSD0ZBh1KfR\nqjO70OTzX/oCb37TYyy1mgS5oBn49KMRqSyQCtyiPIw2l5LYFmW2uGIyuZCeKJOc3WTf3c5qqS56\nuoxR8PT7aaRcnUDV/i3vP36u+V2VJimdppM5J6a1p/r5NO7b/FxKSURBPRNQFMh6nX/1q7/O9uoe\nhVcnF4IgLcg7XYQrsPMUYQt64YB6u0mjOUunU9IrrVrA5uoVwu4WZCHS9ikKKLDA8XGbTU7d9yAz\ny4vcuHmT++69D19a3Lp2HWdvi6Zt0wpcVm9cI89S4kGIcnzuffubudrdQYxS+q9cpn7nUS7cuMLG\nzha/8JH/gyiLERYUaUav0+Hz//4zFGlGOBhx7coVrLzAx6LZbLK4tMLZO85w5eoNHvue7yaam2Wk\nwI8Ebz33IC899yy93S57aUTfkQjHQaZlgrW85jJII+45dYbf+cPf5cyj9/LEmXtY8WuMtrZo1AMS\nUZBZilxKLCWR+0ccFkzKpNn/VbQ9DXmbTnNTlqaI5yELTs93M3RPP9NE/qa8mlSjqfzMOo3leZID\nryrRSZnWUSPj52m+egxstG9nsq36vjrls65b+SoOFgqt8E0gp+v+1u/8Qf5MhxHCJA1Qnbx6A495\nmAEwtdF7nQ5Bo45SCseS3HvP3Zx/6UV2u9v0hw79fh/H9XECn1l/gZMnTx7cfzjs0+v16HT3sCyL\nOCmoN+Y4u3yaJLeIooTOboedzQ3CsNwoMb8wx9x8C+FYbK5t8bY3voXPffnzvP+Hfgg5ShgMR1iu\nQ6JSXM/BTQusAnJVkOYFnuPgGJE2JlKoCl51cHWpnv1n8tmmSVidUNOK+VxTQM3xsKzDFIiut5k5\nUQhxsMmoiszNSan/tJCbVph5cINZlCMgK4iGIaPBkKvfvMi5sw/hLi2R2pJrz32DpWaD3FFs7WyS\n5QK/1ebeR5+kN4xY716kVW+AVUZLpMMBszWb3LMgVhQFbPY7OJ5kpYiohSNmA5+F+RYBFpe/ss3m\nxiphEOAvLpXWVhJz6eZNVk7fxddeeRkn8OiubnD/yjJX9vb42vNf52f+p58lF2A5NpnKcHyP5WPH\neNM73s5Xnv0yYZxitRuoMKJm+biOzWZvl9M1C5UkDK+tE7RbJLUAKww5//wLxMMQJ0qZ92vYMw6R\nJSiGCSvzCwxUznLdo7uzw4/84FP8y4//G2598yo/9K53sbK0QhYPKbIUS1Ge+yoUytqXr3w8Xrro\naAlzYa+G1lUpsuo4mzJlKjlzcUjTFH0ajml5VdG4KVO+7x/MIa1wTbCnf6cpH3OOmPUtLdUxBy7l\nJKA0I0Wq7W00Zg45enX99atuexgOJyxdM+y3GrjwrcrrjsA//0e/O5G7w1TQRVEcOPSmZSGrmmh5\nkuPWfPKiPPwBKfn0Zz9D4Nc5ferOfeeFzSAMyUNFvn/CuhSCoOaXbJnQi0O5Gmd5RpoW5S63oAYK\nhCqphzAa0e31EDbYjgUSYqfgk//uE/ydn/jryCTDsQXClpDnWFmBI+U+AgepBFYxmXJymoNP/2+a\ns9qho4W8ipZNE9VEP1XFW9KEhzdSTAvb0ukwTdPXpESqqYEntxZPWk2HzevDyezNjIlmfwzdnCAs\nmJE+v/Xbv8fzX36e06fOIBoNnJrP+vnXOOI3yLKEm2GfuIClE3dy9PRZrq9vEfgBtsq59PxXGK5f\npWWl+CKlCBrIKEcoiy0yvCPLNOpNGMY88uijnDx7F+e/8Q0WhEdm5cR7e1jDEC9wWQu7DCxBsz3P\n5uomvrSwspxjS4t8/HOf4v1/8T/nnd/5zjKft1DkRYHjWFjCIgpDPvH7n8CSFsITbNxcRXSG1HJB\nP0tIC/jex99Bw6nTW27xWtRjNrJpWJK3vOFJrj33AqFQXBMRkW/jKQs7UaQ2pLZEFiBtC7/dZG/Q\n4dULr/CjT72Plu9jxwmuKpCUcyYVZc5vqcaZ+Kooe5pVVUW81evH83bMB5v0WlVBa/nTERzABJKt\n3rdKp5ryXLVmi2K6pWfK/pgmTJHSQhiOdHOxKZ9XxpsXxWQ/mYtJNWRRAyHT4tbK3NQFb3z79/Nn\nGoEfKN9KtAmUDdWhOebA6Ot05xyYTq5AigLbc/GEACl54rE38PQzf4jt1pHCY6Y2Q7PZIlgMsO2S\nf8+yjHA0Ik5i8jTDDzwajQae59Hr9cj7HXq9Xba317GlTbPZotlssbg4x5Gjy4zCAdu7O+zt7aB8\nhw9/+L/gt555hqd+4PtxbBeiCKlkeRCzWz7Tk2UGPSXG6BUmD7fQE8jsF52l0ETWVWGsoh+NZoVQ\nExNnzNmNx6I6gSYjC8rdleW1Y2Vf/q+Q+5E8ulT5Si2k0ygaKcvdmGV79bhKHEeHqKn9zSMp4GAF\nAf1OxNVXXqPhBnQHXYIi49alLcJ+n9pswYywUY5Hc6ZFe+kol1c32OmOeOD+E3Q218iFhe0HxKMY\nP/BQuc5RUaKp+mwbu4CV5SPUCrj60ksEKGQYEhUJQS2gO+yzN4hI6y73nnuQa1euk8QJyTDEdiS/\n8ann+K//7k/xwMMPG7SEKhOlZRlxnuN6AXPLS+xu73D62HFcx+b6+deI9kYEto1Xc9jd2ybKe3Q7\nW6zubJA25skX2mx3d2kvLaK6ezRtsDwLkSvqgY9yHJRrEYcxDa/GcBRybPEIdi3gH/2T/52//Td/\ngnnXAwSB5UAaYgFCCvJici6aqS6qStwMhdN/1Rw9eryzrDhwNpYRGtofIvbjs4v9uW7vP1MjbnCc\nw3sDxgpz0sGpZdzM1lmNjqrOlSo9W1IzKUolB9fatn3QFzoqqig0Yje310+CLzMhXSn3+dRnT7bp\nPwEnpslv62JObPN1mnPPcZwDJZPlZQiOylNAoCwb13UZhRHtuSXSWHHr5iZrq7s4NQfHdbAtC8d1\nsSyJbVt4fgCWTac/RAxGZFmG6znMzR+lFjQAGPQHhKMRvV4H9pPdu47NiRMnGcUxw24fZTm8euUq\nj9x1lpqwsKRAOoJ0n/t0koK8KMpDmxmbedoDXS1VDrJqppl9Ypq3k6bjZHx4FXVopFBVulXawxwD\nUykrJdDJ/2Hy9BX9m2nCWT7/cB51jNNgyvHxSgeUVIRZzqA3oFWfxQtqrPV3yXa2Ga2tk1iwGsfM\nCZe9WsCj9zxAmiuSMGGu3ebmjRvcuvoadpbQnG2TipzecECuRviWQ5ymHDl1krI0asAAACAASURB\nVKDR5NaVq3zndzxB1O9z/vyrtOo1PLdOe7bJIE/YzELCLOHupXu49NIFhqOExswMO6MR37x2kb/5\nU3+bBx99mDTPy/NzyvVhv+GlXPQHQ/rDkJVjJ9hc26bWaOC3mmT9iLobkFuC869d4O0PPkF3e4d8\ndZ3hYoFbsxnEIScW2th1H5eUF65fIpeSTMYUQpIrgRIQDUY0GnWi7oBkOORv/dW/wb//zGd559vf\nTDsIULK0CGccjyRNy5DXCj+si6l4TDmbtuvXHHtNQZjyU5Vv8zc6Adw4EutwxFZVKVdRvZY5/Z3e\nxm7KdxXdmnULgvqheVj+lXl3xtfKffmXEyDMpGPMZ6Vpht4latb1kIX8bcrrrsBhPNjVyW0Oqqmg\nzD/TO+w6HqIADBTYmmkwNz/Hy+df4cSx05w4cZy51gLDLKTb67Czs0Pey/E8j3q9jkLQ9DyyOCGK\nRiRJSpEN2et0kdKiVqvheR5uzWdmdhbXdQnDkOFwRBQmeI7HIAp55OFH+PVf/1fMf+BDnF5YxHUs\n0jyjPD8IHAGpoIzLNdpbNdOqQq2FTnPamkIxr6kibBMtVIWkvHZMl2jhmxZjbt7PfKaZWMwcs6op\nW0X05iTXZrXJY5rF5A/tXGA3Gnz6659hkGTMLraw+h3Cbo/FxgyhXTCIE7r9Af5Cm73dXfY6IUtH\nT9KYmeHqlddwVIzKE3LAb7TILJ9Bv8vWcMTc0hK2X2NnY5vZeov2bJvd4Qi/gN76Bpnj4G4H9DwY\n+TC3dITXXjyPg0M/Tnjgyce4fPMaf+Pv/G0eecPDxGm+f9we5RFoRfmapimt1iyvXbjEMAxp5QXb\n27vIPcHdd9/LalTQubnOYDQEBc+ff4F3PPZmdre3uXD5Iv78DFevX2PDusW5s/dyem6Fzc11NqIh\nqYRWfYZoFJFJgeN5RFmCXdjMO3U2X7vG937H9/BrH/vXfP8PvAdvZYUAGPZGeI6DsCfBgB4Tk8Iw\nP6/SeNUFWr83t57rVxNUTJfPyc02plKu3keIcX7xaZSdKY+mfJoW7+TzJ3OgVxcI/fxSNsd8dnXe\nVPvGti2K4vA+iWnK/luV112B347z1e91A6undmhlYJr7qpCoPIe8zBUNChyHe+8/w+8/8ymefPJx\nNq5vsLlxE2XbNFst7rrrNLVajSiKCcOQfn/AaDRiNBrieT7NZhPPbiKAKImJ44LdnW3CMCwVuesi\nLUng+9TrDVzXoSYk/V6fv//Tf49P/N7vsvjOd1BTAmGJcqdfFJIDlm0fIHg4HNte/Uy/Ny2RaiJ8\n3YdmWNR4ERxvkJlE0odDA6oTxFxIzT4/TLNM1tWcQNPaqO+RZZObiaqnpmiOPc9zfOES7g34xvMv\nQwTzhWL31haNPCcngUTheS5xACvzc6g0IuzsMLQs1i++ynDYoRFIrMAiCkdkwkW6DfwZiWjOkgU+\nvTglTxVu3ePGrZtsX7+GSFJcBINoQB7F4M7QarZZv3iVBREw6AxYOnUc4dgUFjzxhsfphF2k7Zft\nFVDkBbnS4Wk2o1HI9evXaTZb5JniyImT3Lx2jbg/wqnX2I2HuBaIvGB9a42ttVvcf+IkN3vbvPD1\nrzF7ZIUTD5+jsCWyM2BeOfQti4FtkSYJVq4QQpJmSUkPNmawhY3KczaurvLe7/o+nv/qN6i9wWHW\nc1icnWE4CpEVn5OWqaoiqy7uejyrUSpmuoxpislUjNOsPP13uyMY9U5RnRbCPAxF109/rlWOSbOY\n9TCfbVmTcqgPjjDbpum+agCBWf+qnsvz9CCc0fT16LZZljVxaPrtyuuuwHVRB0JtGSaTOLTqm400\nixCCQpWmjCUFUkBOQZ7H3HX2FNnTI6K0x8rRFrJo0x2mxGnK+tpNHNfFcz1c12NpcR7bshmORkRR\nRLezhxAOjuNSr9Wo1wNqjVYZbhiFdDsdRv0BoZ+R5zbCCXFtiQwzvvSpz9Gem+Oly6/xyEMPIOMY\nESZ4wkI4glQVlFs2J8O1qo676hFypsKsohGtWM1+BR2Rok+in0ynaSJmc4LqOlX7XjtebodadJlG\n95jbnU3TvJoUyxR6k16yLAtP+Dz7mS8xU29x/NxZXvvq8wTCJnAtKBLSXo9ef4CzvIBNQa+zw4xr\nYScj4p1bRMM97BmPVquFX68RJZDnNm6jxcrp4zSXF1m9dJm8H1GrzXDh0kX2rt9gwbEJRwNSX9I4\nvsTesE/v4jXsvRG5THnX976HE294lNrxZf79M38AaU5hl34OSXluJVJiC+33KXjphRfxvADX9vA9\nn0E04vSp07z4x89y5NQx3LkW8e4udp7TajQ4/82Xefi+hziyNM/p4yd497vfTV532XzpIq/+8Yuc\nOHmSZs2nm4dY0sWRNqFS+I4LtmQYjrBtByEkSXdINgh558Nv5NkvPcu9D9+LqPsEMx71ePop76a8\nVBf4aXKowVcVbFURelV29X3MPELVHEKmIjfziejrTT1hIludZE0XM5KrirAPRUBNsUbNOptBBnqx\nqTrnp+kvs2+nWaC3K6+7AtcK4HbpHc0EV6CdZ3rANV+7Hwdq+UghsSywUAiRkQtF3fd58slH+epX\nnuXuU3eSRSnN1lFmZxrUlupYls1wNGQ0iljf2dlXmg7tdptjyyu4wQzD4Yj+YMD29g6D4QDPdZlp\nznD//Q/iuR6dToe9vV0GYZ9+FNFwHDxpc+fdd/Nvfvc3CRoBj54+gyvy8vBdKSnyAmVwzrrdnueN\n6RTDHITJ3WlV81KHOJlIpcy/UN5bOwNhEiFoUrZqklaFSf+vx8rcfFMt0yarucPM5AqllKRpXDHN\ny9zgpWVVRm2wnww/imNuXL3GQnuOYKZBFMe0bA9RxKQAwmKm0cCeXyQKQ8gLjiwuc+PyJVTYZ6kV\noEjZ2rjB3OIxHLeOJzwWjxyleWyZbjri2PFjLN51LzcuXuTm6k0YDvAdm9FohNeYpa8USAs3LVjx\nZ/iOt3wHm5ni+voad87M0PKaDPcGpK0c29o3q/WCtd/Gfn/A7u4u/d6Iudl54njAzGKbzvVVHnro\nET7/lS9w9/1nuJXEZN0B3WGfLFRs7+3g1Wp817u+m/mFBS7vrrO2vkZT2shRzNx8m14hSEcpTbeJ\nkoqMAsuyIbDIEARugGc5BJbF+jev8J+994f5nc99gmTG5fjiIjVRHlQixtVF7OdqV/u+CZUXIDDG\nURw4KMdIW6NnDsmdqbBKuUAnUgDUoTTSVX7ZBDlV5D4GHnoHqOnsH88f0+lq2/ZE8jwAVYx1jo6c\nUwqKXO3LI2WfqMkABN1WPRe07tL9YKJ3EySZ0WPTfGHV8rqHEX7x078/MZhVtFdu/2biO/2+it60\nc0IXpRRKlE6cOEv5l//3r/Jd3/Nusjynt1E6HSxb4nhlHgjLkvvB9TmOtHEslzRJsV1wnNKkqdfr\nB4puOOij9gdLK7PA90nTlCgtj1YL04SZVpPVG1d48rGHmW/WkFmCKDLY38is23OAFvZzY6MKRBm3\nSKFAqcOc+DR+T4f7SSlxXffArITDMa9Vpa3/qjyniXim8YrTUH9VgZvmYUmbjFN15nm6vziNF2wd\nRpqmKZIxZ3l5r8tXv/Bl/FQSbQ0Iu12EyOgMO/TCiJ1eSGv+OJ7fZDTcwHd80sEAe7hF20koipjd\nKKGHRXt5BYuCZNAndxehu8Vg6zpFzWVoOUgC5h2fO44ssBd1wXVo1uaw1RFqsxlWssbRxMEZNbii\nBKtNm5trm5z22vzk3/0J9uY6qNTCUU6pwI2Fd3V1jS9+6TkWl47iug38oE43GrHQnkV1O+xcuEAR\nD7GaLpdvXCW8sUO7CEjrNT70M/898ysrxN0BVy5dIbq6zl3Kp5EUyNmADTtns0iJ/Dobccrc3Cwk\nI9IiLbd3FzmBZSEzheN6ZNJBNBu8cPkSp+46ydljc7QsByeMsfIMRU7hSjJbUggLkQvsQiKBRI2T\nLpm0mqk0NeDSTu4J1Cr2EwehEIzneVYJ9zMtv2myZ1p00/w1Zqn6iapzavx6mOJVavIgi7Hsj4GO\n+cxpaPvbqV2tzB95w3fzZzqMEMYTXZ/Aoc0gKD3RurOzbDIEbkw76M8mY0oty0IJge06pMOcWq3G\n5cuXac22uOeex6j5ddIso9Pr0Ol1yPKUPM9oNOq0m20cy6bX67PX2aHbLSkVy7JoNBrUaj7t2Tb1\nWg2lFGEYMhgM2Ot0cBwHzw+Yn22RZCl73Q7Hjxzn85//An/+R55ilKUIRJmz2pEHHFieZxSq2E+K\nU6IbhEQi4ODwtrLoNproXJttUB7yqtFL1bytcoxVVKRXf9O5UkUV+vfAwW6yyTGZ5L6rity8l1Lj\nBF76Or2RY21tjWPHjrGxscHc3BwqL3BbJ7EaN7DCnO6ww2Cnw9JSC0dIXEvw6LkHcYJZrl3foHGi\nRnyrw3BrlcV5h+3RHulQkScOhS2JYkW91qTVWMY62+T6l3cIagsMRrvMrwRs9bZJG0e43BnQaLfx\nvYJXX30W114haEhca8QoaJH0Jdu5zdrOiBfPf423/uUPE9b2GCXgK4u8KLCkwDLC6/zAp9Gos7u3\nx5EjM0gpaQc1ZiybRAkuX3iVpUaNednm7NIx1lPJtfNXef/7PszdM/N0OwM+9q9+nbuWjnLXkRMk\nnS43e3sshQUnlhfZ2riJqAXcffedbN24yWJQJyWjcAS2Y+PYEpEXeF5AmOVkjsVdp0/x6vmXODr7\nGJkSzHoubnkmBGkck8UCJSSWtEA6WEJSpm3VNEVpvU7bTSylRU4ZBWIZC/JYwUOxP8+BCdrFLFVZ\nMjepmVSjWcyFwFTcppU5jR7Sp06Z1FBJC02e41nOv8k9D9+ODjHrqxcmkx69nW/JLK+7AjcpEqUU\ncRwTx/HBe+CQUjZLdbXT9MHBeyFQUUjQqHPP3fdw9fo17rvvPjZuXSHLcxQSPwho1Hwc1yXPC0aj\nEZ3ODgJFmiY0GjWWl5eQUtDv94njiCzLWLt1q+RkPRfXc4niEX5QQyGIk4h0NyeKIhzXxbVtAq/G\nZz7/OR575ByW7WBJGwqFZUukJXCwUaogSeID+kBaFkqWia+qCHha9E55GLIOcxITvKGmnm6HDkzh\nnZb8v2riVRcDfX2VuzbHxqzvJC8qGSdOGue9OHr0KHEcs7S0TDgaYdk21mADO9wlkDXSZIDfqLHT\n76NsiTfb4tS9Z7i5vs0jb3iIMNvj+tpLzM0u0493GSQ5Td/Hkh5Oa5bGXafod/sEiWDzxgW64R51\nLyAvWkQ7KXc1jrDUPEI+0+J6p0/WtzjhnmPIGntbHZpzc2y6LomXMYqG9DdWue/Oozz+9sdRDRc7\nltiFhSX3l181br/ruHQ6Xebmlgh8r7RCPJu9pE8/7nDXkw9z5Rtfp3ejj9duwHKTs3e9hTvfco7e\n1gYXX32NuQTq3Yis1mUoYvbUkM7ldY50dzl+fIWraciN6xdpOgFpFJIKRZoqin0jOI4iAt9H2hZR\nkWHXfB4/9zAf/djv8APf+x5c32WQJtQcC9t2sPctCAqI830KAA0E9nP4kyEE2JYDAoq8PBYPIbAt\nt1RYRUGalQmzLGnEjAuxH6dVdtbtMm5qGawqbVNeqw5Jk+c2AyP0e5jcV2FaEeazTXrjW4GUKogx\nS3Uu6Pligp8/DTnyuitwcwu1OVg6FMj3/YnVtaoo9PuqyWTGfkrbYntjk3PnzvGbH/soTz75JHPz\nNRq1GdKsYG+vRzQaYkkLx7ZZnJ/H913SLKbb7bK726Pf71MUJYpfWlqiNdMkzWKiMGJ9Y53BsF8q\nPQm1wMfzAhzbo9/rlci832dhboH+qMvqxjYnTh6DIsGWOkugHjCF4+w7PWQp0IXSAjLp8DEHWH+u\nFy/blgYi55Cgm31VjWTRiNhUxqZprN9Po0qmTSR9jXkfXfT7JEknnLVSSjzPYzAYIKVFlo7203C6\nXPnKZ7B6PTb2IqQa4dUbUEg2u9sszi+yO9wlU0M8P6EzCGgEihXb5tbIx164ByuFIMux27O0T5zm\nlegKjudydjmgljrkuwle3ebHPvxBLr/0dWxb8t1/7ikubOxw4/It7L2UuQA++jtPs5cqCBa4ceMC\ndj7k2Ow8/8PP/CxFa4Zet6DhOcA4FE0e+BsEvudTr9eZn2ujigzPDShEgee4jGyL9tEVNq7NIvpD\nwr0+raU5vIUWy8ePcOnpL7J78Rprr13i0Xe9G1RGlickMmMQ7tKMXNwtcGd87jhzmr3hkNx2yQsF\nQiIKge+6zHh1iizDDTyCIgVHMur3+aGnfpT/8//6ZX7ir/849ZpPlGW4RYFbCGxhgW3tJ8ECR41D\nT/XCOwqHE9yulBIhBarIkMLClhJhWxRC7PPJY35Y+7bE/lmoVQru8H4BDvnKdH2qvLn+rZnsytQr\n1cNXyjVlEoSUNNDh5HFCHE6FXb3GnA+mktb6S4PXaXNoWnndFbheAfXkN1Ms2rZNmkwmtNGDqDva\nDJWT1uRKKIXAEoIoSWi322RK8cYn38DXv/Z1TqzM4zo+vtfA8xrM1Ot4XsBwFJGlI7rdDoVK8TyH\nIyvLeF5AUeREYcTe7jZbm+u4rksQ+CwtLRL4AXESEaUZaZHT29okT3MCr0bg+jTqdaI0IkxivvHS\ny7SXl3DzjDRLsSRY+1Ei+lDfAr1IQXm+eJlb3EQHup9gvKAVxeRxWKbFYmaI07+BcXY2XaoTxkQR\nOubbvN6MDDCLOTmqUSZVFKUdVuVkByjb43ketuMyGA5ptGb5kz95lsuXd/CEzeWL12n6AYQxuVS0\nPZdzd9/DVme3VBBSsL52E6sY0FUDrHoDVzVw7AIVdggCD7/wWPZnObMww8XeNfw84Eh7kbtOrPDc\n5z6BcFKCuXmubG1wZXuLc2+7l871iyzfnOV//Qc/x5evvcYrO7fY7W7Rsuf48z/yw9Tqc8QiYKXh\nEXbWUb51MJ7akmI/nXASlUf5zTRn8YMaRZIy7A8YbHeYO3mEM/c/wB/924/TdF0idZU3njrL7/7q\nr/Om5gmsXkjg2twa7uLJOmsbt9jrbhEmXaKNIU/MP0wbxea1K3gri2wN9vCcgJpTJ09yJAJLlb6g\nbBTh+BZZkmApRWdvwHe95/v5xKc/ww9833to1jxkGCNRiKIgSQsSq/QxFdl+1FSWok+dUagyd3xa\nngPpOA62sBGFQkmFQlIoQaEK0iRFiTJk74CiU4eVclXGqmjXlG3TOp2m8KdtuDFB4hiRTx6ebhYN\nNPXcs+3JcNwqqKl+V71OCHFwEIbZhm9VXncFbipiU1GbkSll+8eebI1EDwbsYIOE0eCidJ8rFLUg\nKHc+SfiRp57il375l3nHm54oI0t6If3+Ns3mAhKfRq2+H5RRkBUJvX6HsEjwvBjXcXBcm4WFeZRS\ndLsdOp09RFEmc/d9n6AeIB2HmuvT7w4ospQ0T4kiheU7zM0tUGvN8G9/86P8lb/wQaw0PhB6Icr8\nw1IKBBJ1MMaT8dC6mNyZFpLxztbDucKnhXJNo1DM99+KEzTrYiJsfW25WaHkRTWdo9Rkwn6NcKQc\nn/hi25I4jhEyx3E98qKg1WrzpS/9CU//wTM8etdb6Gyu4xcudpgQDbYoLEFz5Qj5SJEVdWrzi/QK\nn+Dm54jDjG1RJy8syHsoO2aUx/jNFte6u+x2Vjk5N0MwkoR5wXa4zdZLN2g3PM6euIN4D2atWb7y\nxaf5pz//83z3Iw/zXSv3Qy3FrgnedOZBPvWJj/Le972fex97nNSDNN/BST18aRFLC6Hz0BRlBEeR\nl8n7w3DE6o0bLC2n+J5HYsFO2CO04MXVVfI0xj9ziu3Lq0RXblH7ygs88cDDpK7NXjRiQMbzt64g\nJIy2tsnzmFhEDAKPtcE2d87dSZ6kvPDCC+xKcJ2AIJjBtjyazTaBV6NQOa1mg2F/jzzPSBHMzC0S\nC0XQmOWZT36KD7z3fcR5jFRlG5QUWI4DUmKJsW+q9Dm52LZFksYHxwuWOYZyLFXOzSSJS4S6f8K9\nFBaWKJCC/f7JSZVGyBpJl3JdbkjT82J8cMMYrSuEGFvipWyasjzpyDdfzbjx8pnj3cRjIFNGnZjU\nS/k/h+aFqc9M6sVMTWA+31wU/pNA4NVOMJWD/s7ccmqaKFUFpItQYwwqKWN38izDrwXYrsNjjz7K\nc1/9KkePnKA9u8DcfA2Uxd7eHv1+n5zy6Kdmq47tONQbwT6lUE66ZN/8ajZnWJybo1avURQFnU6H\nra0thmGIVJLWzAzzc20AbMelHw4ZxjG1Wh3P9Xjlwje55/QdWMLCr/mEowGO1KkwdeYMCQJEZYHT\nfeS6rqEctULnQDGaAqRLddebKUQm/6w/M3+jP6v+djoymkz/Oeb3iolJVNZ7jJLSNEVR+gagjJe2\nbJtf+ef/glZzlllPEIsE18qgyHHrNXpxSi8p+OrL36SbFSyeyOj0ByyGG5ystfCKnEQWrBUOV8Ma\nkeNxtDVPTXTwTs2RnXyYWy89Q90V3HH6KEsri/S2O1y9dJNF22Xry5/lZ37sR0k//F5+/h//L2y1\nNrn09QuIpcdZUjaWK3j3U9/Dte0OMgCVDkmLkFzMkav9PC/sKz/1/zL35kGWZFeZ5+/e67u/LSIy\n9syqyqysrC2VtWgdVCUJUZJaA5JqQMBI2NBI0JjRbd2GgQ020wwYmjYDrEFDC8y62VRoaIRYtUAL\ntO9oqVKpSsqqVC2ZWblGZqxv9d393vnD34t4EVUs1kwbvH8y8oWHv+fu1z8/5zvf+Q4IBIHnMxoN\n6e70uX79Ok+cPo2zMMNoNGI2bCJDn0IYVk6dZGVulf6lqwzXemzPbPPBc49y5MbDzIfzjCgRtmCw\nsY5OE6RdMcwrPnv6a5TCcGLxRu4IWjzd3aLhNvBCH8KQi5vXuLyxSaPRoEgzQtvm2OphpHI5f+4i\n2jIoFA2/zXPPXWG51aYRhDhKEmUpZVlRmaruNKXCtmyEZVNJMEgKBEiLiTqj1BUetXJFWVatR59Y\nseqKPM1qxZSUdU0pycfNLHUtqiz3ivETzfdEY17jRTUOGPbW+QT8a+DckxFO1trBBpvpqLkWFhT7\n1vlkn5P1O01NTrZ9oWzzICBP38cHqaC/LWp/odc/OYBPH8DBA6ov1rQhe63HPAg6k4hzci3kAdmN\nkBLbspAIsiTl1hMn+JM/+yYvful3cO3KNVwnpxl2mJlpsbB4iDTJyIqMSleMhhFpEhOGAZZlkaYp\neZ5RlhWj4QA15mo9zyMIfA43GxgERV4wGo4YRSOkkpCltbpECqIs4WX3vITPfPqTnDh2nFJXxGmO\nlBaWbVGVZS1PNLXRPgh0pdFTLe+7UqsXaE2uo9yDUcPzrQomN8O04c9k3wdrCtMPgr8NuA9ex6ra\no8ZeiCeffhg7lk1e5mOrz3q0V1EUSMdCKsloFPOa17yW0986Ta/sspZ26Xs2g1gwTEsGUclKQzNT\n9CkHVyirM4Rpl/OyhUl2aPU32C4SvlHNcjq6kZYb0Kwe45bZda5u5Tz1nEsnLNjY6NHckmyvX0DI\niNmlWUSwwDe2gas5YvQs/+ZffRf+8lk2B6f4zJdbPPboNj/9f/0SF3vrVLaPriSCAK0ElReiTVRL\n5SbXYpxaPfvsswgDp06dQkhFI2wwyEY0j97M4YVl5paX8WfahG5AG4cv/Nlf8OmP/AVFL6Y9N8eL\n3/AAM0eWQUoyk/Pss0/x13/yAbyqwA8cYgr+5vTXGV6+zsmbb+PuuXl6WUbW73L0lqPc/fJ7GAiD\nUQ6mMliFoak8hLCIDBS6pDL1pJhG4OFLG11kYFlYwmLY7+F6AaUsav49rR0yszwBoNkMcYNgHFxo\npG1hKo3eve4VVVkhhaxB27NwPK8G4krjed7uiLFpD5Xp2s10xDy9zvZRq1OFwWnKdnoNHlzze/z9\n/vVdf35tyLWLL7tr+oWb2qaL+getL6bvBWDfvfgPef2T68C/8dVPH3iK7Z+iUZb5VLq0F8lN87aT\n7W3bBWqueDri1FrjeC7aGIqqwrItvvTIw1xfu85LX/oyyrykyEo2r2/QaLTwPI9OZ5ZWZ2ac5g7J\ni5w4jiiKgiAI8DyPVqMx5oQ1o9GIzc1N8lLjOi6tdptOp4PrunVH56BPkqYkSYKyHGzPxfE8fu/3\nfo9f/sX/gCMF6IIyTbDVWLeFrGcUItDUGuIJrTRZKFmW7ePsgPECK/fxf3U6aO8D3+lGoOkC0cEM\nZ9rJbSJ1mmwz3QK8d233a2ingXo645ou4JhSUFGNb1RNRT3Y1bLdOqPAYn1zh/e//wNkzSWeevYC\nW8OEUvqUWuEITVuk3HFIc2ujTyc9j5Ou8+5nlmiJeU7d+hIymXJ2a42yaiJiiZWc5yW3SW5qOziJ\nS9cvOX95yOqR21ltCWazNW5YOc6Hz7h8mbvpVoJXqDP8P/c5OLd9BeW8mr/6ZIOrxRJ6QfPj//p7\nuXb2GezSUCpNv0ix3A62iRCmwJIWllSI8Qiz3/7t32E0jMiygkML8yRJwuGbD9NsNgm9gNWFG/Ba\nLUqgKitWGx3+7KH3UeYF/8cv/Cy5Z7PT67Eyv8ygiMExfPWTH+eTH/gAlknrsX7Kwh0V3LJ0mBuP\n3cjNJ27l8tYW16IRq7ffTvvoUex2hzTXKOHhCqcOHJRFWRRgDHmZ4XheXa+xbASGeDDCQtSB09hV\nsJ4oU49ks23Fzs4WV65cZjAYsLCwwMxsm8CyKasSKWp7Y8eyULJ2/avKAmMqLFEPPMjzEtd1d2W2\n07bTkwL9wULkNPU62W56zdUBz/ODwIPgv0ehPF80UX/W/ok5kwh8P8btj/Inn1OW5W7NZ/L+NIU8\n/Xd33vMq/i4d+D85gH/tix97HgBMV6/LMt2nR54G+YO8uW37NfDtVrPri2fbNlmRI5VCKoWQkspz\neOi9D3Hi+HGWFxdxx0WWLM3rbjIEQdAgLUqCwMNx9rSuxhhMVc+1M6amsSHhGgAAIABJREFUMSbc\nsEBRFCVJkpAWeT3lRyk8z6sX4zhijqKY9Z0enfkFNq5d5bWveiWmzDBZghJiLCMcp2vUoKynqvKT\n83Vwdl69MBlnJAfd217YhW0a5CdAftCm9uCCP0jnTIPx3ncxu01EB0e0TX+uEAJpLIQ1eSgUaFF7\nsMdJRiNsMYxywrDJe9/7EB86HdU8KQLbCYiTnCKKsbIhc9aIE7OGozMFM3bK9tytXLiuuTxq0s3B\nqbrc4OSESvHU+g6duYD75mJexgUuYpMwQ0IHXZYsu5oQmzg8zvngKDtJwp3VOm/x+7RevEmjM0Nc\nrfLJc00eud7iFXe/mJcvl3SsTZJGwIbwMLaPZXKkMUgkwog64kSys9PlqW8/zdLSMmVZuxVqmVGI\ngiTKECl40ufKsMdOlVMUOTd25pj1ApSrqLSF74RUAhqdBl5g0XAln/zTP2L77DO0HZd+EhFLA5ah\nHbjcfuPNnDhyjGSQkJTgHVqgc8NRGis3YNyQQZQhLQvHsajSAqnBdhwyDJWtiLKsnp5eGezSoIRC\nOy5STfTVk/tbI5VAjAvzAhgM+lRlShwnLC3O43sOVy9fxLEtfM9BSdBViR6vad/am4X6Qt4m02v+\nhfocphUlE6yoHwT2vm0PBiuT7erP2k/V1vupC9DTeFWv6xeG0ul7dHI8B4OYgxH45P+nXvKd/LNu\n5DloXzoN0gBZljwPRCapCOyXHBZFDbyWUjU/JhUoCyEFzbBBmmc1eOuKvCi479Wv4q//23/jrQ8+\niDOmR2ZmWzTCNmWpSeKM7d41Ll++gOM4BEFAGIa0Wy2C0MfzZkjTlF6vx87ODpZl0Wq28VyPVrOJ\nUfXQh51ul0uX1usmJWXRbjZZODRPe26RzeGQrZ0ua2vXWJzrEPgBVZEjRX2ja8BUmtJUu3QSTMuc\nXqiaXQP+dGQ9WeST12Q/k5l9k8U8marjed4UD7hniTl9zV5Imz8d0St1QEZ2ICo56EGRjlKEhDAM\nyMoMy1LMzc1RlpqVlWXiOOPYsWPYj50FXdAMA6gqWpZD4lgMcpe+OcTpgeaJbkwjVLQvfQoLSLsV\nkXUrA3eVYlRy36mjLLvLnH7qCqNn+rRu6fDSN97K9jPrPPvYWcr2EtHNx7iyc465y3/Mg0sw6xQc\nPfEiukOLbOcQ8946dnieW2+9j2L1AZ58+Bq335GxsnKVrViz8qJXcW1niOcElEWJqUxNo0gLS1nM\nz8+zuLBEkiQ4jovWBqkjpDQoy4FBSYhH0QjY9Aylo7CiDDtOGUVD0qjkuSvrnLt+hQ99+IPoLMZ1\nDHfcfJgFDWGlwPIYeCVX8x3CdEjvqSHDjS2W7BazjTkONeeJL69j3A7hkVmq0MENAi4+d5abV29g\n1B3gWS5pmtBPRgjXQTouqtDoLCNJE4wrsB0Hw8QWA4IwQAhBUaTkeUWz2aTVdijKGL9RolwXLMXN\nt95B4HmsXb3IlUsXkUIzPz9PoxFQRqN9jX0TunB6LU2wYCK/mw4Ai6LYVU1NB4FRFB24X/bTkhMj\nqfrnvUyzKIpx05qpB08fyHwta79T4zRfPy2PnXD2B3Gv3oe1e9/9Q2LrvzcCf+c738lHP/pRFhYW\nOH36NAC/8Au/wO/+7u8yPz8PwC/+4i/yxje+EYBf+qVf4qGHHkIpxa//+q/z+te//vkfOhWBf/lz\nf4lt27tmNNNRHuxVhafTo8nJmU7lJydk2kh+r3jxfP1xoB0iofmdP/sAbrPBbTcco6VdQs/HaYYM\n8xxLWYSWi3IsLMfeTdm63e4ueFqWRRiGSCnJ85yyzHe/w/RF831/PJAgJ03T+nsbxTAa4XsOX/rS\nZ3n7//pWmmGAJQxVUeK6HlVRD7VwXQ9qwc1e5DAGaWs8LZxxGqvLEommJjHMWMIGtlVHHhIQui7u\nagNlJTGmRClAVAiha82uMZQlCGmjlIOpNLIYIqSDsRwqy6bQgkqXWMqgTI6jcqgyFBqjHQzUHbTG\nIGwH23IptQQUUjrU9gCKwqnwbIu1K1d47uw5rq9v0R9mpJXkuUuXaTbbCFl3A56+qih1he05ICX9\naFRL0UqDKDSWFrSDFoOdHpmfUFYalINtu1RljqpiFpuSlabB9C9z46zDTKhYy7sQ59x7w3Ga/Ri9\nsYP2bTbcgLg5ix+G3DTrcmMHVts7NBdHNGyFNWojvFnWBhKHQzQ9ePTKOpvenZy49wGUFeHlGqUK\nhkFMKjwCAij7CFniagujoWc5SG3TkE7dcl9VWFIxMR8DU1/PseLCFgG2lKCHnDv7DL/3O3/AxXPX\nmZvt8KJTR+kP1rAdlyeffI5ceojA5UinxYJtYacx7cDj5F1305hf4VvnrmK1F8BtcuToTZy8+1by\noqA/iJidX6LfG1BUFWHQIEsziiLH932Go4hMVwR+AyEEeZYjhIWg7rwsq4JGo1Zo5WWBTutpV77v\nkxcFpS5w3XrSe6PVwJiKbrfH1tYmrUZFlqVoU9Fo+DVNgwFdYEFtR6E1Skp0biOkpCwLHM8hSRNc\n1647O804W6aWzHrCppqogYSsfzb1w1XrCiVAjt1MDXIftkyKphMv8OnXZEjDNCUzHeFP/j1oHTvB\ntIOOhMA/nkL54he/SKPR4Id/+Id3Afxd73oXzWaTn/qpn9q37ZkzZ3j729/OI488wtWrV3nggQd4\n5pln9j2l9sC5/tgvfeYjz9MhT/NAkxbraRCe5sunCxVlWe6r4k62se098J1s23abZMIwEppffc9/\n4vu+50E8LfEtjwJDdzQkz4p6SreSeF7ddDGhS1zXJUkS+v0+RVHgeR7tdptOp40Q0O/3iaKIKIp2\nHzZhGDI3N7fLg8VJjlIW6xtrCGF46ttP8IM/8FYEFa2gURczK02e5QRhiMZQViVVpcfwDJayamCf\n4tom+vex4qs+l6LmUUUNnfXD0lDrcE0Ges+gXgpBUdSFJEtZWFbdoVppjXRtmqFPd3sT33OoihzL\ncdBICqEwygXbJWi0SZN6Sk9lCvI8I8sTyqpASE2pK6Jhn63tbeI4oj90SeOIx7/+deI4Ji8Mjhdi\neS2EskiTlNGwx2jYA/dGSq2xXA8jJFGaonUJpiIZ9gkcyer8HMtLCzjKY3N7h7PnL5NriRYSTIGv\nKgKVI4sebhkxPxOynjcZDSqOzTd5/QlNc/QY/d6QoVxm8fBhZq3rHGtltIRLK1jCvqFH5WaQNfDm\nmqznObPCpxEPuRrdwSPX76R9c8DxE3cglCZON2m2XEZFiuAwVuliWRfIrIKqOIJTASrCCMa+KRXW\ngQynMprKlDVHhk2WpASexFGKJ7/5bX7lF99NVZQcv3mVxaU229vbbG32GRhFhOEVd9xOsb1O2xI0\nfZc777qLE3e9mPbqTfzSr/8mXz/9NLfddjury4e4++57+Y777ifJChzHI4oToiiqVV6mzvI8z6PQ\nmpXlVdbXN9CVqYeiGMNk4k6SRLUZmQGlHGy77jgOgpDNnS0sJdFG47i1KmWS/c11XJSSxEnMs88+\nTZ5nLMzN1NvnGWWW0W6G9Ht9Ws0WaZJSVjmO5+42CCqlMAiqSbQrBValqbTBGIEWE6HABHv0GMAB\nNELuZYmTKBwEnufvYtQEl/J8j+7dPwFoT0Y4TX1OY9fBTHrymSfvfTX/KArl/vvv58KFC897/4V2\n+JGPfIS3ve1t2LbNTTfdxPHjx3n44Yd5xSte8bfuf9LxN3myTe9/unI8eW/6aXhQKTF5b8Ix7fLS\nYq/xZ/dklxWVMSg0D7zqVTz99Le5/xX3sXV9gzItOLy6iuXYGCnR2jAajRiNRmxtbWLbDo7jjEE9\nwPd9JgXFixcvApOoO+DQoWC3uJOmKZcvX6Gq6ujash0cGxbmF9na3mT20CLPnL/IiePHGCQpusjx\nxhOHRvEIMe7QFFJiq2n5VM3z787Wk6p2itOm1t9iMNpg2fa+GkEdY2iELGtlAAYpLASKwA8p8lqj\nLqhwbAHKoqstRFHgeBa2yfBtTRT3WO+mbKUWT6/1ObfWpx+XJMloj19kHIEYjZC1c52SdYpqKQus\nBmkcI1rHaM7YJGlOaRSZqf+2chMcEWBVdXem4/o4tkupFYHnkmYpeTai0WxS5l0OHW5T6iFWWqDT\nCKoUYSy0sMkKSJDEjo8SNjMzN5LMdTjhD9iMKs5evMihDY/7Fla5we2ytpmwfm2Hvt8m6XY5am9T\nNmeRdoLfgGaagc5w2xrsNdTMiEF0iubqgzx85oMszp3Bah4mCG9GjTaZVSUDEWNJSVA28XROanLc\nqiQXFZkap+PCgfHM1LIsYNzppyZ1EakJ20FNMyK57eRJXvnq7+DTn/gkUZICi+SZJM9LkiLFbrbo\nD4fctLzCYP0KDcfG67T4yje/zrc++Od846mzdLOMJ8+e4drVBkeO3MhgMKDR6iCEYHl5kbIYt78r\niaUkZZ4jhCQaDVlZmKXIi11N/3A4wBI2Td/G8716+ElR7hYgt7bXmJmZYTDs05lpE8cJju2S5wlz\nh+YY9Ie1jFBY3HbiFGVVcOniBahybKVwnRajROOH88R5F8ezUcavg7YxJWVMrVyzJyqVUoOq7aa1\nESghYWymZYypI51xJI6hztjGgGzb9hiv6n1OZ/4TLJvg0TTtWFNJxS5gT+7bCWhPBohPUy3A8wLf\nF3r9d3Pgv/Ebv8Hv//7v85KXvIR3v/vddDod1tbW9oH14cOHuXr16t+5n0l0OuGxJ6/pNGK6qDkB\n8UlxbJqHnRQrpk/Cweh9sg/LcZClJlQOL7vrbh761u/z9HPPcPMNRxFZQZUmCAnXdjaZ6cwSBD6t\nVhOt60nmo9GIOB4xGtXmU0EQAKCUNVauJKRpvnssnU4H3/dZXFzaPdZ4FCEshyiKOTS/hO35fPxT\nn6LZ6bC8sEC72SDu9/AcC10qmNKX5nmONgYppgYKa11r3qVCjyV8qEmjRK2/NVPZD5P2fS0RY1oD\nqdAGkiLBtiSWJdCmQFgGadk42iNORsx32jz52KNIKTh2/HZarsMH//RjbCcWqQlpza5g+Zt1QdhY\nSCyMlpS5xugpBQoCrSHNUpQ9g9GaKCuIc4HteCjHqQdgVCVVkWArh8BPGYy2qKoc15/BVh5JWWFJ\nG4nm2LFbuHDhIlKWhCZgc6dLlEd1dqA8wnZIpQ2W7aBsxVaasn19G2ldZ3W5xQ23zbF2/ioXTIPZ\nGcOxlZRH+wlf7h0hG87y8pkeq5spTlpydGmGEyqgKAbkRQe3YeOs2kQ4fP6J61zNLBrx41Rxl9Pb\n17nn1Ems0qIZaCLTJaWNMiWoLYYmQEgHIQqqskKPLV0rXRuUGW3qfgAEGkOaRdiug2V5ZFmF71i8\n48d/hJm5Fn/9l5/gO1aOs7k1JGzlpIMB2Sim6A8RrXqow+LCElrDYDDi208/RSPsYAdtylxz2223\ns7S8QrPRQirF9vYOFy9dotNps7iwwNWrl2iGAa7jcO3qVTY3t7jjjjvxgxDPcxkOR6ysLKArPX7A\nGIoswXYdXCcgzTPm52+m2+txw+EV4iSh1QhACALbo8gzQr9BFCWEjZAizykrWF05SuD7VEWOQnB1\n7SrDOCdoupTUAzOQtW+LrAwTCJTjc4aowbmWI9f3gDZ1e3ydlSqMqXbVX+hiF6j36BOxa7g1DbJl\nWexizfTvpnsqJvfuQQHGQfXJP1Rb8t8F4D/xEz/Bz//8zwPwcz/3c/z0T/80733ve19w24M80cFX\nt9vdjcKnwXiaJ5oc4At5hsN+PfPBp9sk+p6WzDmOw7DMcJDkUYpl2Tz44Fv49d/6Tb7vzQ9S7Ay5\nYWkFJVyOn7iZ/s4QrTXdbne3oDI7O0sw1rhqXcsI62NxCcMGnU6HRqNBmqbEcUyWZWxvb+9y/cvL\nyzi2TZ6lzB+a58raNRqzs7z+jd/DH/3pn/Ov3vkOknhI6FrkRV7TIaVGilqdohQoI7Ck2uXp9MTE\nygjciRlVLSMHDFmcUPs3y3GKV0cgqgrHnT8glKQ0FQgopCbLE4TQOMqmTFLQgrUr1/j20zF33/sd\nfOOJp/i1//BfSHI4evMd5FnFTMdl6/I5/NkmlrJR0kEJC5Dg1Z+T5ylpmWJZCstW6FHNm2ohsKQh\n9Ox6/JwxuEoiXRshXOIiwnXqQm2WD0mijJmZJVq+pNKKXi/hGw8/ztLSIUbRCDtUlMLF7fgIKSnK\nCmWBQlBVKXlSoZSF1obToxNkl3Z49TGfzmpFP99iDclClbLSGHCt2uHhfocPXlmmkWeobY9bnhvy\nvSsltywbBC1kHNLbfoLOjOGLX/0Djr/sKG6RYeknqKrj/Mofj3jbD7yZQ/kzGDuna2uMMihjUSmF\nXRrsSZJUaZSlKIsSZVk1x6oNE9dk17GxlCCNS9rNOdKkT2UKHvz+72MUGbzmIbQV4nfgzpVlymHK\n4kybajDi8PwSVVoSDxMunr+EK3wqrbjhyDF+4Ad/iBfffS9X1q6xtrZBs91BCIuFhUUwhnPnzjHT\naeG6Lq5bD8u+55676uuLIUmTMU1iyLJkrLzSzC3M0xuO2N7eYGFhgTxLmJ2dIUszOp16SMpgOMRz\n3JpSwcWbC0jTtC7wCgvbtonj2jteOS633HonWhseP/0ZPLduQ7ekJC/rln+MQWLA1BG1lAJpqdpI\njrp3RFF3dxqtEbKWeAozwSK9L9vf8xpy9oFu/d6eFn1CuUxj4MGI+iBOTYP3/1AAX1hY2P35x37s\nx3jTm94EwOrqKpcvX9793ZUrV1hdXf1b9vILALz/j05zz90nufvUnfsUD9NV2YmYH54vvJ8G8Qnf\nbVnW7rDj6RM6uRBpmiI8hSVsVFWD3MriIm958C08/fTTfM+rHyAbjCiKnJ21K3gqwLU9hDGgTa1Z\nLUrSOMH3fVzXod1s0W42SbOCOIoZZhlFVj9pLSlpz86xcGiefr9PkiQUWU45lmR1d3Zot9v0xl2g\nt91+J0898wyn7ryNrMxwfBddVLjKHvtJ13f47kNLStBgKxvkWD9f5HUDEZMsxBAGPkWZo6uKqtIY\nI0FLbOPXCherQijqdmqlEZbFdjdnNEqYmV0g8FqoPGPl8C188wtf5aP/+Y9oza+yfPJ+JJIiGqHo\nE4qI5rzFNnLXmEtIXXfuoVGOjXQkohBITyFti470AUM8ijFVVTf0yL2mh7LMUaKkEdiMcoVvK8os\nIY56dKsIIW0c26fhCtqrh3nD697AZz/7ObaNg5QFeZaiDNgSZAW6LJBGYCsXU4BBsdMMOJfHNC9f\n5xXHHUy/5Ikrgjvm7uSw2uE17hqmMeQr9j08Wazg2KtU/fNstkesDmOk6BIXFXbT4pmnP0e7MYve\nbpMVLVaPbHOqo3lidCu//8WLvOMtS7Tyc7imS1lIGpZFpa+Q5B7CPUSj2SbLMozRUFE7Zau64cWY\nmrW1pKbKCjwZkCc5VWnQQlAJyY//23/HZz/9VXpZTqljyiJi0fXJ4gENt/aWmVtaojuI2dmJ+K7X\nvpG7X34ffmMGhOT8+cskaUbYbJCmdQHQsiFLElqtNvNz8/i+w5knn2R15TBZVuIFAYXW1D4vhmHc\nx7UdUIosKahKcB2PmRmLsqxrLvEorgv8Y6uLZtjAtmyKsoTSYCuB2wwxoU+cZrsUaVmWjOKYURyD\ngKPHXoQUMBoN6e3soKucTrNJVWaga9tmrSukMKSFxrJqNrEqJ/0VVk2LVHqKRtEItd8StgZhsS8g\nnGDRpBNzEmxOansHAXm6mecgYCuleOTrj/PIo4+P3/ubvxOL/0E68AsXLvCmN71pt4h57do1lpeX\nAfi1X/s1HnnkEf7wD/9wt4j58MMP7xYxz549+7wofLqI+blP/Pk+W8fJCZhsNwHvg4T/BJQdx8Gy\nLLa2tpifnyeKot0oOUkSpKyHGlRVtctbW5bFM5fPc6g1w5zfwg98MgkjSj7z6c/iG8mNy6u02m3c\ndov+ToSt7LoJRylc190dbhxFEYPBgDzPx4ORm3ua76oiikakaR19N5uNejTbmHKpipxr169hhCSt\nKkpt8Jsh6xsbnD/7NK9/4Ds5vLJImafoLKflhaRpulvYVUpRFMW+dnqYcHH176Mo2t1eWmo3SzEC\nirLEtVxEYWNURZRFqEDRiyOeOvscWnhU2ieOQGuX0TCmaSf00oLLG0PayzeCExDnJXnUR5Ux1WCb\nfLjNXCtEzC6jUZSlwXYCtLbIK0FaGoyyKYwgSjOU6+JlA8zYhc53fSoNeVVTZegCUyRQRIgqx5QQ\nNnzaMy2EKNjpbrK9s02vP6S7M0JJj2NHT3Dt2iYDE5DEMZaEqiwQukJX5XiGYg02ynbBQM/JsVSO\nn1zm3lbCPYuzlKlNujPgGNsc9gesO02+4hwnTio6cyeoukOWqx6enaI7OfcedznEDl95+jm+vhHS\nDl/LT/3ADDfPnEU4IY/2vpOPbr+cJ7cv8q/fehMLyToz0kebmMRkfOxTX+dzn/8qjUbIqVMv4o47\n7uCGG25E6xq0prOnPOoyf2iOne0EcFEuNNoeX/jS3/Dhj3yC7/7ut/LHf/IBjEgYXH+OJd9lttXG\nVRZh2GCYFRy97U7uecX9vOz+7+S5S+vkRX1r9npdXnTqJOsb27RaLcoqY3t7hxtuWEJXhuGgz/r1\nNW699QRCQhC26A2G+EGA1rU/vmVZRKMR7VYLS0rSJMUNfYIg4OyzZ7nllmNsrm8RBLVKpSgK8jzH\nsW2CMCTPYsLQJ8sK0jRFCgvXr+eLRklaR+bUggBJbZjlOg6NwOPy5QtcvHiOTjMgbDhgcqoqx7El\nRbmnevMclyLP0dUkux2nN+Mp99Jm94ExXUub7sScYJUQe/a30xH1HubtbTs9CBz2aOIJHTrBwnte\n/gD/KBXK2972Nj7/+c+ztbXF4uIi73rXu/jc5z7H448/jhCCo0eP8lu/9VssLi4CtaTwoYcewrIs\n3vOe9/CGN7zh+R96QEY43cYK+zXKB9+fPLEmBzl9Aqb1yZPf27a9G3VPZEBVVZGZipYfIsdDIkoJ\npSVY39zi43/1MV593/3MtNtEcYxjN9DV/qGuk+h/ejDptEh/ok91XRchxG5H5qSYAWAphTYa23VR\nlk2cpWRFQX/YR0rBE0+c5nUPvLaWYdWcAY7j1IvccSirEmvc2Sak3P2sybFPptnYtk2ej4soSu4O\nhqiMpsxLomGC3/RJy5xCGMLOLMIK+PCHP8FwCFlskWcKx/Ux9oCsrFg9cpTN7T5hs0WW5QhTEjig\n8xF5MiRLhugiJksLGo1WHSG7IZbTBMunwCHNJaVQaKEoREyZZxRpimvbpGmOcnxKXfvYlHlKlUVU\nZYqVusTJkKqK0DqiKAdk2RDXdVi/voHnNhDCwlIueS7rYQrj9LamigQIq574IhTSdikKTaAtMkdj\nWQkzxTb3LPjc2IEZJ6YZXUf2rmMcl3huiVvyAQMWuSQOc2bY4MtrBUmYc3Mr4rayYtXpo8vzzARL\nfO933YU/VxI1EoRzgvd/5RR/ee0EzPSYzb7JjaqHbys6M3fQ3zjHtStPIqRg7tChOtvTFVmW1Sqn\ndofA9wh8n07Dpd1ocPToCb72yKNcunqZ009+i+1ej42NHqdO3cPa2lW0yXFkSuho0ihhtjNLpaE5\nc4h3/sS/wW/NEjTnMCh8z2dns0vDCygrjeO6ZFmGtCSddoNer0fo21y/vs7K8iJKSRrNJls7PVrt\nNju9Po1Wu74PhCGJEjzHQY2DLmcc9AS+j9YFRVHff77nEkUxS0vzrF/fotfbpihjgjBgbna+luoK\ngVI2WVEgZT1YIi8KpFRkaUWaJCgpKYuCVjtAVxX93ib9wSZ5FuEHNmWZocu6C9KxrVpyKwTVWMEm\nd5t0JvfIlJplN5uf2FXsDyaVer6i5GAtboJT0zTwdMB6MLL/+xp5/sk7Mb/46Q8DeydjGgAnYDyt\n4Z4c8AScAMIw5PTp09x1112kaTqOVGouPE3TXTpl+u/TIkcKSVXU7caWZWF5HsJz2Ozu8P4/+APe\n+UM/zGinR1HVoDc7UxtXQX1Brly5sltVrqPvkHa7XrwbGxv0+33yPCfLMprN5niST4ClLCpd7X7/\noqjHidmejed5ICXrGxv0RyPOnjvH9/3A9+MBIk3qh5JlkVcVjusglWQYRbQ7HbIxJWPZDnle1VFN\nnmNb9bmyLAdpKa5cXaM3rCv82sD8yhFAcn17i+3eiDPffobt7oh+L2Fp8QhVBoHfQCPp6iFSSJpB\nk9ALiUcjfMclz3MqU6ClJstTkjTG7V5hFA1RShPHI6QS5GVBZ26BmfklnKBNoSHLSzZZwDaQRUNm\n2i1MZbC9EC0dynEknucpRZ5T9EowBcLkxPE2WdLFmIQo6uOMu/eazRajOMGMBhghsWybYRxjpGJ+\ncQXL9dnpDUizgjQtqAwYW9eqlThDSYGtKlb9gnvnNLfN5DiiTxzn9PslPXuWttfGslv01BEu60XO\nJ0OeufRtWqni9Tda3MKjnFx1cA/fy5XlO9meO4FXKE4cuZt3/+lzbLXvJM2ewtp4GLl2hdsPNRiN\nLoKqKKuKZrsFxjCM43pKVLsNwGgwJM8yXEsgqMiKjKLShGGbre0uaZriuS6WJSiLAiUsSh3jBoJo\nOCJNMv79v/9Z1ja2+OTnP8///n/+LOsbXY4fO4EpNY40+J7PteubNJtNNrY26XTaNIImSTLg3LPP\nsLq6wuHVFXzPpawgSjKMEDiuS1FpRqOozkQtxbDfx3c9wsAnL0t83yeOY7a2Njly+PBYoVTxwQ/9\nOR//+MfptNt0d7qgCq5fv05VlBw7djNvfvNbeN3rXkfYaKC1ZqfXp9OZIS9LbFlLXY2uQTDNUqQ0\n2LZEyHq4+aPfeITl5QVcy8FUFUkS026EDPo9bGtMrY67ZHf12Oqgz76FlIoJwO/2ZOjajfCFsK4o\nil0Kd6KMm+4One6YnrZVNsZw+1338c8awL/2xb/adyCTttlJFD2ySlhsAAAgAElEQVTNc09e07LB\nyf4mT8iJJhvq1MfzvF1gm2i4syyDUqOVpDIax3LQWVFH0a5FJDWf/NQn8bXktpUb8duzKGdv0PDE\ny8B13d0MYXIRyrLAdT2UkmMqo561WTf5lERRtDfEQios265HW2GoynobhKAARknOpbU1eoMRD7z6\nflZnO1i2RVGUtYubMVTU02ykUmhRa297/QF5pinzgpnZWTbXt/D9ECEkYbNJbzBC2hau5xNnJWtb\nORcvXWWnN6KswGiBbSmyeEASdamKEQtzLZIsoQjnsaRN6DZxlU+ZGapSIy0bYQl60RDbt+umiahL\nno3Y3LyKEjlQUBRprWSUNu3ZRdJcM3toEd1YxUKTDvo0PZciL8gKQ24sSqPIK0NRjqVZQhOPRkhj\nUKakyjOEKZBUuI6i3WmSphFZnmLlJUmWkRUFju8RNJoYY4jiBITEcxx0WVv4bld9WkbgI4krw9Yw\nZkZatOMei0FFaYYgDYOdAZ8fNTi5GHD3fINuL+XaVsR6b8jI8ZGhzZ1NwzErYq7jM5i/kW+sBWyW\nt6OFod1Y5zXf9d18+fEcGj4r7YLrX/8YnexxNAot2wyGw9rYjDpYSdMESymkACUVatxRPIr7xGmf\nY8duwnfb5AmUeYGpIkJfolBUmcRvhvSSHu95z3/iiW9+iztOniTXFU7o8zsPPcTtt97OydvvZGlu\nnv5wyDCJ8P2ANM3wfL9uUFNWPXwaw2ynhZB1T0FZiHFjlUdpal/+KK49fcqsxFEKXdX3TKE1nU6L\nfr+P63qURc6ZM0/y5JNP4tgWYRAABse1SbKENE7Y2Njg6qXL7OzsAJKZmRm+5y1v5vVveAPF+F7U\nVW0Za7RAWYokqbPQOE1wPQcj6gaiq1cvU8R9dFng+y6mLPBsiyge1m6Kom7/r43kappxGp8m4Kr1\nfi+h+r0a5Kcbc4BdLJseSD6hcF7IF2hXDqwUd730tfyzBvBH/uZjwPPbY2GvSnvQ02PaQnIChpMn\n2gTIJwNzgV0DqqqqU1GlFLZRVEpQSvBsB5VXCASJ0EQObPe6/Nnv/Ve+9zWvZ2bpMG4Y7j5cer0e\naZqSZRm2be+22AdBgDGaNE3Y3t7epVwm3ZqT6UJ1carukEySDNe1cK3aTrGqSvKyYrPXRbkNjLJ5\n7tJVNq9d5q3f8y8YDAbMHpobty6DtBXDKCLNcy5euki312V9fYvhIEMKyRte/y+Yn1+kqgytZptu\nf0CcZNi+z/kLFzh/6TrD8hBVBa7TIM91XdnWCZ5doIsNkmQNofukacROOc+h2UWE8VmcPUKeCRw3\nZBSnpGWG1/BI8pj+YIBjOyzMz6BkReAK8iTC6IpWc5aqsjH4xIkmSzXa3qDpOWTDPkU8GtsgeKSV\nIqkESa5J85KyKknUiHiUorSEwqDzCstA6LkcPrzEcNTFdiRxMsTVPv3hkKIsqXSF7dm0m02KIqPK\ncsoswZQFSkBLHGOoNyi8AVg5i7MtOp5ktjNLY+YEwyJgaWkWR24ho5gnvvJX9JIe3eYh/GabpTLk\nwhNPMYqfpm1GdNo3s9M6TMGI1eEsM1WbtWbOWqOJLkLaVkCkXcI5l/7mV5n3U2Qk8a2QKE1wPW+s\nLDIkSYzveRhd+/AIoDDQj3dYWGqipMAUDqEzi05zPCcncCvafpN4oLn3Zf8TL371S/Etl1/9j7/K\nT/70T1IJTevQDGfOPMlv/eZ/5u47X8Rb3/wWKgGZUiRpihBQVCWe67GyvMKf/Okf8brXvgajNe1W\nk95Ol9Br4QYhcZqibIckq4uNGHAtC2EgTxM818XYFmtrV1leXqIsKx5/7FHOnn2Wm266kWYjRAhB\nq1Wrt5RtYyrNoN/nuXPnuXzxSm0MNxzw3IUL3Peq+/nhf/kvWVhcQBg97lK2qEqDVAoElBXkhcZx\noSgr0qwgtDKuXL3M9sZ12o0QdFnLZcf+9KYeJY429UCV6ebA+n62mRQy93uz7E3AmqaBYU+9MsG1\naQXLNGViWdb/vxz4/4jXQQ78ILc8+fITfnlaajP5eZ8R0m7zjrXvQKf3OeGoJ//3sNBAJaGUhlJX\nFEWGo2yqSuOGAX/+oQ+BtLjvZa/CVJrRsIfrKGwL2q0GUBvbJ2lBmhVEcYouM3zPxbJsbMclSVLa\nnVnSrGAwHGFZTi2HtGx0VRfUDKaOFh2bYmx0b4whL1IC18fzfa6tb/OJz36B/+3tb2fQ7/OSl7wY\nXVTkRUlRGtKs4JOf/hzt2UO85CUvp9E6xH/5nd/EDSzuvfskLz91ko0Ll1k6tMQol5Rhh889dobt\nKKEqM7QuEWhcx6LIcywhqQqD0JI8M1jSYdDbocqfo6gKllaO4AVtispBlz5VVTd2JGkXpTKKIuJF\nx2+nKMva58Nour0BUtmUWpPnJXGa0Ww1cRyHeBhR6pJmK8Cxod9dx1aaPE0oSo2WHjvDDCyPIpEY\n6iK169h4gUuWZwSByyiOcFybOIkxWlMlA3zfx3cdTFnQ63bxXIc8S3G9oNZVyzogSJOaD5UYbjpy\nmHariSnz8XqEwWCIkHVX7k2Hb2Jt7RIb62soVZBmQ0xV4Lgua2sbBEEHqXw8LyTRFY7n1UUyA6Yq\nkcbU51kqtC4p0tpVcn7BQynN9uYWVa5xHB8lHaT0qLBIco3thhhpI/WAwKm1/ksrh3H8gDTPkYBr\nS4zO+V/e/N0Ero3jCAb9ETvdHf7yL/6SH3nHjxDFMQsLh3AcF8eRvO99/5Ver8+dJ0/Snp3B8xwc\n28KyBEkU8ZlPf4r7X/lKFhaWODQ7R1WWZFmORtBoNYmTjDTN8YKQPM/r+aVqz6CsGYT0+z0CP0AK\nwfVra3zxi1/gzpN31Fm0ZSGUpC4s25DXvPSkjtPr9Th//jzr6+sMBgMee+wx3vjGN/KjP/qjOJ67\nG+ztZe21hnaa5gCI8wLPc4iiiJ2tdZJ4WGcI0tS0U15TaLWH+555XJymBEFINZYb7oKvrOWT0uh9\nUfW0X9Eke9+LxvcMsyYYBmDMfmrm3le8jn/WAP7wl/4a2JMB7g3gFfs03JMTMd3UMy3HqU/M/hFE\nkws5uXD7pIi5BikRtkRLMbZo1kgzbrtVkt5wyO++7//lB9/8/biWg9YFSRIh0PT7PSzbwvV9Go02\nGrEr7yvLsi7WjCL8sFEXPRAUpWY4HJFmtclOlhZY0gEBQeiTpAna1Om8rRSj0Yg0Sei025y69x5a\nc3N8+EMfJItj7r33HnzX49SpUxgkm5vbdPsjbrn1BJtbXRy/w2+/973EeUSRRZw4coRASF71yvux\n/DYXd0Z868JVokKTZgXtVpMsS8jzlND3x4VJkEKRpxW6MmRpgkivgawYRENe/OJ7ieKSNDVkscb3\nA/I8odX0aLdDdJ6Pu+Lq7rVef0DYaNIfjkBI2p0Z0ixFm1q7i5Ssr68R+BZC55RZRKcZ0hsMac8t\nsb41wEibPNJUumRmdoa1tTUcr+6Qy4qUZrOJUopub6e2Ni1rdbJA0G6GDHpdBDAcDuv1M+Y7W51Z\nyjKtrYRbLUaDHo6StFtN0iQe9w/Uhbb6Zw/PtZFUBIGN1hm93jY7Oz3SNCeKc1yvQas9i1YeURRj\n24qZmRni4YCZTpvezjZVVeI4FlSaMAzQJsZxJMPegEFvQKvRwrJsDs0v0e2PyAqD8gIQEp0NCR3J\nYBRx/MQJur0+tlMrMcoy48TNN6EkRMMezUaDVqvDs88+w7dOf5M3velNNBoNLMtiYWGOsqxwXZdu\nt8fZc+d4+uxZXNdhabE2lup3u7zvfQ/xq//xV/A8n0YQ1u3rWU6a10ZScZJTacP8wjzpWD02Gg3x\nXBfHsSnLAltaGF1Huh94//u54847cN1aNTYBcCEUyrKQU0qPCaVQVRXXr19ne3ubM2fOsL6+zsmT\nJ/l3P/lvAbHrQb/nEDhp2BFMaouFNvVA86rCtgRpGrGxvk4U9UGX+K5LNBpiOzaOqo2yXM+tp3qN\n63LFOMPXZqpTvNqb6zrNcR8cjlK/9hvRTeSJWZbve++fPYXy1S989Hn+0hN+eyKTm6ZXJoA8AXvY\no1wcx9vdZhqsp2frTR4MVVYrN4ys1Rh1+7vAljZJnqFcB+V7/N+//Mv80P/8YG03a1mgJLbj4IYN\n8ryg2+sz6A+YOJRZlk+lDVeuruF6HiBw3NqY3nJcLNtGCkWcJnhOE6NVbWpvScrxzSyFIIkjmmGI\n5zrceuI4m70dbn/RHXzta1/l8sWLXLpwnrmZWZRSvOMdP8KZM0/RaLVwHA/HDdDK59HHH+P0mScQ\nEkY7W+go5qV3v5gjx45zYX2LK70RbnMGqUK2t7dxPZvZmTl6ve2xwsahqkoGgyHG1FafbWUoq4g4\n3iLPBhy96SitZgdTKqRwcRx/98FqqQohBUmaYVk2wyii0galHKRl0ev10Zixr0xGWVUEgV8P+LVA\n5wl5EuH7HuvbPSoUjheyfGiR7a1t8iKnMprlpWWyLMVxbLa6XTY2NrjhhiP0+wMEAb7nsbW5werK\nEufOngWjOXr0GMPBsAYNWRehkzIiTxNWlpZoNkNCz8W1HdauXqXdbLF27Rozs3MU40LxYNgniYc4\njoUeZzF11ggahVQWzWaHipA4zrAsiWPXo8ZMVSJV7bYJFbqsazeOYyEN2JYk8H2G/QFlVfcKKMtm\nfmkJjSDOMzwhmGmEDEcjVg8fJo4jtC7JsoyZTosw8LHtGqBB0usNuXjhPFpr1jc2uP++V5IkCYcO\nzRF4LhcvXmR1dZWdbo8gDOl2u5w7f5YwDLhw/jxLSwvcfffdrK4cptVsoiyLa1evA5AVBa12h0Pz\ns2zt9LFsmyxNsG2F6zoEvkeSJPS2e8y0O3z7qScQpu6pMGPJq5z43I9tIpSpwa/VbhONRrv3ruM4\nDEcj1q5e5amnnmI4HNIf9viZn/kZjhw5QpZleF7wt4KeFhIp6n6HqiqxpMRQcfpb30Lruk3fcWoq\nQ46NxLTW2I4zHnkod4eG62o8dGYKX/aKmnKfIk4ptStHNGZ/rW/P79zeh19/H4D/k9vJTvPVE7Cd\ngPkEvKdfE55o8rfTfgIHJ7BPV3OnAV3Ket6kFnsiewUoXbfDBp5HVOTYls384gLDUZ+Vo8fpDUcY\nI0ky2Bp2KStDlmtGCaChqiDK4ppzC+exHYcojv8/6t7sx7IsO+/77TOPd4p5ysjM6hp6JJukW6Jk\nzmyTIiE3YHoACAqm4OnF8J9h+cl+MAgYliEYFigKtmxDAGGLIiWAZJNFNtklkc3qrq7qysrMyIzx\nzmce9tl+2OfejCqSEg3DaOq8VOJGICri3nPWXutb38B0mrI72SWtKmRe9Q+5SVnXdNLQPilZxunp\nKa5rEwU+gedhCG14P5zsUBs2zy9nLFYlw8khx51BW1fkecr/+Y9/le/9wvcQ+j6O65JmBY2SPHz4\nkPk65XZ2x3Bikaopf/jH36BzPKarNft7B2R1Rad0IIJrWtRFSV3pUNpGVhRFppdAqgNlUGQtqjMJ\nghjbrLi7/ohiFeA7EZ9+83uQyqIuJYZlaQ5tJ7WqsuvwHRPXD0jTDFTHpx6dUZQleZEzHsc0rWS9\nSvE9n8C1aISiSlaYquNoZ8RsndBUCfPrlCxNefDgnNVqjScK9g5GBL7Pyf4I8dZrrFZLhq5JUWmj\n/QcnY+pyzcGeDrA2RMXJ0Zjlcont2Ng2hPGAtvVRqoGuZTFPsEyTQRxgmoKD/T3aVtLWFXezWw4O\n9jGMjjAIqKuautEc/c3yOs1y2raiqsAUOszBMAwGgwFZnmLbJo7v9NJuHSHXVhLZKeqyZp3OSZYL\n8jxlMIypZUXbVViOTZ2mBFFMVuaA5PLlR7i2hec6TAY+oW8xHsdkec6HT56wu3vAR8+eUdW6WIRR\nzLvf+haXL1/y6bfe0hNdEDCdTgGD2WxJluU8PH9MEHh89NEz9g9PuLmb47gh33rvA07PHqCUYhAP\niG2Hu+mM6WpNVVX4vsfx8RFZlpDO5uS+R57nHOzojt62HdbLBaal/cI3UWhKqW2ilmk7YAiSNPmY\nH3hRlVi2xfHpCWme8eTJE+Sq5Z1/8XWOjg7750veqx3iY/9VXV9rTKuvHx2yUXz+C18gSdZcX1+z\nWMzxfB/PAtpXOLjRwyV13ylr+wqtbu4EH9u93ac5b65XtYuPNa33oeD/N9d3vYBvxo3Nv+G+XPXj\nhk33VU33i/RmeQn3lYf6+qQKanM6mo69/bcQYHQdQipc2yXPC5RlMV3M8cKQ29tbiiTDDWIMN+Ju\nmdIok7yoMGwbE4HruKyWa6rGZP/gmPliQShMwsE+Zw/fYr5aYnYdRVGQ9t2E65n4sc9wOMQwDB2S\nnDQsPZsiSbEtwdnxMU8vPmT/8Jjh7iHrrCZdr5iMR0yTaxQ2s9mKZxcXPDg5YbVccHh8RjyMuHn6\nnKpqUJ1JXkmqzuC1N9/iZnbH7v4hFy+fEQQRkoK98ZjVKsV1LCLXpukUrudSFBmDOGaVLKmqGs+L\nqPOSNG9wDQdTtSSLJcqXFOkCpWzCeIwQFp1QICW2Y5GkObKpaYWBZ1u0Xcfly+f4vo9tmkxvL1EC\n9vdO6FrJ/OaWs4Mddgchk9GA5XrJYBAQD0eU6QLHfoAQBt/7+TeJ4wHvvvtNWiH58IMPcRyX8XjC\n6f4Ow53h1lN6tZ6zmC24uroEBFHgEfgxaZpQFisgZjgYMIgisjTBdS3KLOPlxTMO949ompY0TSny\nir2THeoqYzIe0UmJZ0VMJg+oau0PP11MeXB2ysvLF9imoS13BSTrHM93qZuastTGXp7naaMk18G1\nBOvliqurawQdxwf7nJ+fMh4Pmc6mtLJlGMck6xVREOC5DsMoJPRshJKURcqH3/mQz3/h8zx98h2i\n4ZiTB2eAhWE5WEpgo0iShPl8xQ/+tb/GwwfnfPTRR7h9hymEQLYQBBFKtXzwwRN+/dd/g9ffeIOm\nafn0Zz5PWUmqVtvCXl1NWSVrjk6OyVc5+wd7dKrj2++/T9s2NHXNznjEpz71mNnNjG9961vEYUhi\nroBNt6qZHarrMNEL/bbWDVwYhjSNZoltbJlt2yZJEvb391kulzRtwde+9vuMRkN+7Ed/jCRNiMLB\n5qn/2NSvczhbTNPCNEzABEuQpGviwZgoHlEUJd/+9nt0pg5pdl2XMi8wLIu2rnu3RY2xiz5dyLTs\nj8G6cG/i7/HuDRYuZbNlxW2gIY08vAqOub/4/POu7zqE8vu//X9tR4sNzeZ+hNInVZz3qTz3fU/0\n0tPRODSvcPH722O453Jo6EWYkh2mUFh92KpsFYbjkHctRhzwd/+Xv8++5RL7AZYbkZQS4YRkdUfd\ngmW7+K6PaYoe2/NpGk3tWywXRFG0/T0d1+mNicDtebrCElvuuuu4RGHAcjFHdS22ASdHB5ydnmDY\nAYt1xfvvv08cR3iex3J+R5GnCCUZhAEHuxM+97nPsE5TSin42tf/mHVe64WXMBCqZTIM8X2HuiqQ\nSvUeyQYvXlwTRRP2D055enFF3Soq2RHGIZhof2XPp2lAtSWBqXBUTZuvMLuKIkv43Gc/h+eHtEob\nRW3EDkVRIvqwZstxyLKCVrYMBiPW6xVlWWF6irYTlGWDZdiMo5jANhlFLoKWPE9xfZ+8rijzNYbQ\nePJ8viBJUoaDEWVZE8e6YC8WSzzPI68XuK5DUWSMhkOCMKRpa5QSlGVFmmQEXkBeFCSlNjDSY7qF\nbVn9iKzI04I8KxhPJjiWizBrsiyllR2WoRfWZVlt4YK6LSmKjLZtMIVLlpUEUYhp29StRAmzp7tV\nOI6rO/i60YIT32VnPMZzbGSjf2a3mS4NQbJOsRxbC7HammHkU+YJtgDXNQl6d0zDdnj+8pp4NObm\nZk5RNeyMJ/iBRxxFuI5DU5X4vstkNKZp+vhCJWgasG2LNEv4tV/7J0gl+YVf+AWeX7wgjGJsxyFJ\nUsajMYYSPaxk6QzNpmY0GjIaDaBTCCRlUTKfz/Edn0+/9Trvvvsn5Nkax9ZL3E3hE8YrnrVpmUjZ\n8d573yLLcqSUPH78mMePH+kdTW+jfHt7y9ff+Rp3d3e88cYb/PzP/zx7u3v6/hMfn+AVsMkkVf3h\nIfrGUSC0L7ihO+OqqpjdPGO9XuO7Hk1Tag1GWWIZBrZpaJ/xTvPNi6b92AJzU+s2xnsfV3J+3Phq\nc9X1K+GQEILPf/+P8pcaQtlgQ5+Und5fBty3hN3IxjevfZK2s+nUNz9rI7J5xdfsl5u997Wkudel\nCxzPBcMksB0a0+bq6pKj197CcH0aJRCmFr8oBePxGCW0TWzVSDopsU2DIIiwTIMwOCTqRQfrVOdq\nFnnKYDAkWS8ZT8agIPACsiynk4rry1scx8K1XAyh2Ns9QLaQJAtuZyvGoyHD0Zg8zzFtn+OTHWbT\nG25upqwWSz7/2c9TlhVJUWIK+KG//td5dnHFdD4nikKyZM713TU74zFNXWKIDuyW2FPsjT3qfE7o\nAG1LGAZkec5kbxfPcpjNpgSjAYPxLuvpnPVaMgp2mN28AGWBsGk6iexaOlpkY5EkCUEQkOVrrWa1\nTK2MNC3S1QrHcTANE6lSbMvAsLXM+2B3hzZPqcqS2fQSx7HpVEcQh5wevc5sNqOu6/7hMLi+ucYy\ntUhif/+Qk5NjwiCkrGKdeGOYzKZzLl9ebQM44mjI+dk5y8UK3xUYlsFirkfn9XKO7/vQi0wcx6Ft\nDOa310wmEw4PRxzsDAmjmLpskUrx7Nkz8mxFma+py4wg9HBNwdnpPnfTKYvlkjSRKMMgjGJE5zCM\nfNqyZblac3x0DMLHNBVNnbFISlzLBuniWDoRyjRtfCvEdX2EA7XMWS8W+L5PmSak6ZqZmtIpmC3W\nPHztU7z77rucnD7EcXxa2dA0Jnd3U44ODwj8AMsyePfdd3n48BwpO7I0RymDIPSp65pvfOOP+Q/+\no/+Qy8tLojjGMEyStbbuTdOcuqwJo4Cb6S1VXXF2doJlWbx48YLdnV1evnjB0cEBr732Oi+ev+Cj\npxecPzjl2bOnFHmCZWlYQiltKNW2Ett2WK5WfPWrX2U6nSKEYD6f886/eIe33nqLr3zlK7Rtq+1u\n45idnR2qquL3fu/3+KF/+4eIogjPDfr9Vt8J8/FiKeitee+9bKBTsAzDxPcDjo7PiOKE58+fYwiF\naeimzaCjVR0KgeNqHvp9seB9IsYm8Uqnhuli7rrO9jUd2NHXn97Y7z51+l91fdc78Ld/81e3nfIn\nO+rNH3AfYrnPUjEMYytN3yw871NyNv+v+2IggfbTlq3UlCUBCIEtTG3F2nR4YUjWNNSG4L/57/5b\nfvqHfxzHsnEcn7xsmS5WuF5MqwRhNEAh8P0AqRSiE6TrpB+VegWioRN5fN/v5f0WRVlgCIt1kuG5\nAWleEPiBPoA6RddWnD84Y29nzGo1Z3d/n0ZK6kbiBQEvrm6o6oY0SRCdlpq7tklT5kx2Rjx+8zXe\n/+Apg+EBdQNZqePK2rZiPIqZzWeYCAaRT5Fek6YFq1XGYpVzcvqIIJ4wX65xXB+ExSpJ2dmdsK7m\npKuMgTsickJkVXKwO8SxOmynI8/XBLGvTbdaS1OuhGC9XrO7u8d6vcYwTD3GdjqsQo/ENZbj4fmR\nPiBbSeTZNFXBZBTRSkktpQ53yLN+suoIw4im0ZYCAoNOStpGkmUZddMwCENa2eJ67vZh1ireljwv\nERjkeYFl2hi2oJUt09kde/t7PH/+jL29PRbzOfv7WsE3mexSFSXpeobsdIB1kmdYls14PO7x1w7H\ntqirUpsrLReUVcne4SGjnV3KssEwHZbLNUrC9G7OeDhmPBhheRJhdFimsU2yb9uOtu40n7qWZGlB\nUVSE44Bg4NK1LZYpQHXIRocD1402e+o6qOqaF5dX/NAP/yiz+Qzf9djf38M0TIosw/NcRsMh6/Wq\nhzNMbNsBFO+88w7vvvsn/MSXf4LBQB9YRVFi2boDj6OIQTzkbjrFD3w6JOv1Ct/XC2AhBGfHJ8zn\nc9qmRUrF7e0V52fHrFczbAu67hUhQUodtCAMk9//g69xe3u7naKTJEEIQVEUfPnLX+att97aQhIv\nXjzjyZMPefbsOa7r8Xf+67/DYLCBUDYdd89m+URXvvnan3XJnl67Xq+Zz6bUVamN0EQv2nNsut5G\nViM/r2LUPsky2cS+6a993Mlw871NIz9W3/4/Bzr8/319MsTh/h++4YDeT2GHP/0m3Rf3bK77kMlm\n8wv6g+qktuXUzB1NG2x18Bimo9VvIPj6H36d/Z19hCGoyhIBnJ+ccHq4hxAG88WKrEgpqpqsXtMp\nhe94jGMX13G0T0kbkyRrkjSlTNPtDel7HmE04vz4EMv2WK8zyqqirlsQiqKp+Pa7f0x6coTn2mSu\nyd1sihImg9EuTV2SZgWGqVkUplKYhiCa7PHk6QfUqiAMxxhdQ7HOqJuWIA5pUVzd3BCFEbKRXF7e\nEdjg+wM8f0jHLV1XM5tdMRrrYuP5LpYVYxkdsdVwdHaI6Fw8y8cSA+oqoekamqKhaWrqUkMPdVNq\nky/PxbQMVutFL+m3MJXV+7VYOLbJOAoxbBfb9XF9jyxNmN1dMwgDXly9JAwjTCdACAiCmNVyRZom\nqE53ZoHvYxgmURjiuS6hP8EwBHnWUFcpl5e3THbGRHGsE4RUxenZAXXZkqY5z54+JQi0eOWtN97g\ng+98gO+5FHmCUi3DOCRLM26uXxKHISfHegFbNTWt6iiqknW6Is8ybFtnXu6MJgR+xDrJUYbkxctr\nvvPkOYvVirpuCIKQnfEO43hEW65pHIP1OsGwBH4Q4Lnudsk1meyRpTmuYRAEAUVR4vg2q3QBCEoB\naZJR1xW+73O4v4cX1BgGfPTRE06ODmmrnMh3EQKaqsQOAuJBhOu4ZHmBadpMJkNWqyV5ntK2Ne+/\n/y0Gg4hBHOO5NlWZIxA4psnueEyeF1w8f44X+iwWU+I4xCByCO4AACAASURBVLZMBFBVFTvjMU8/\neqa9khzBfLEgjgdUtRbUtV0NSmIoXby1bazN7c1Nf5+GlFVFkWUcn5zw/OICwzR57/33ef2NN/QU\nLiWe51PXLUGgd1ZN21I3m4SuP10oP3kJ+DOLpMBEdjAa7eK6Hqprub29oSoLXMvSh4/rUpcVpnjV\nMN5n1m2JEqZ5z9r6VSLPq12c2KIFf5HuG/4SFPD7MMimWH/S+OWVXeMr4rvnedt/b6KONi6Emzdl\nc/1ZEUeikWAYSKGzJfuISM1mqSr8YMDbX/0dvvilv8LuZIKgI1utafIFcRCipORsN6CRPqbng2FT\ny5Yir6irirbNENLGAiYDl0en+5iWRV0/3C5mFqsFt7dT8lT7cXheyNHeRL8PYsDO7oimKijLnK5Z\nEzoGth8glYZiomhA2/R4vxDYlsFytcT3A+aLKckqZXd8jG1YGK6FKRTDYcyAAcvlimSVc3TwANdU\nmlKlJKcPIpq25c3TE54+fUZRZViOSZLmDKKQ2AJbFgxHEZ6rMya7UEuQq7Jjb7JPntX4fsg0mxIP\nNNzjeR6GaZBlEqUkHZrL3fTc/dVMEY9GZGlGXpXEg4DDw33ybM35+Tll1bJKS+qiwRMdlmEyHAwZ\nxkNOjo5QXUddFTpMI1uTZRlKKXZ2DtjbH7N3NCHLM4TVcX3zEsM0uHj5nKZqaGvJ0fExw9DHcnQI\n9pf+re8nK1LqpuHF8+ccHOyxsE1G8ZDpdMpinTGbz1GqY7w7wg0DHNdisr+rrRvKlovLa3TuooUS\nPmE8JJ6YDCf7NG3FyxcvMMyOwcDl7OgReZpiBxONbTcNjdRBDpZps04W1HVL2/SCNaCrGo4ODnl5\nfYPvRyyWKT/64z/F22+/DaZLEOj4sjdfe53L60vyNKFttfmTalu9qPU8ojCmqmriOGadJLRSYtkG\ndS2xbJMvfM/nEEIrjH0vQAiDPEswDL0nODw8oCgzXCdmnax6xbEuyG3bYls26SolzTKUIYjjAaiq\nx5/Fx6yRu04hEdxc39A0DXnvaui4moK7mbRfvnyJ2QeRI7RH/mAwYL1Omc+X/NEf/TE/+iM/ikCg\nlLaHAL1D4M+q4Ur9KYAF9O9iGBZ13eL7EVI2HB4d8+zpE5KsxPM0fCIsCyVfOQx+sgBvoOJXDeer\nGMlXRf5V1NpfFBj5rhfwDf3vPn3wPobkuu62s/4kLqSU9onYLEHv5+BtCvvmNLvfhQM4Si8tO6F0\nx90HH5i2RRTHvPf+hyyXS+IgpG0rVNtimzC7uSI4OuxDBwbUQlKUK6Rhg2ER+iahF2D2zodpkqJH\noIp0vSLwfYqsQEgdAPzm6wekWY5CF8m6WuK7Lmm6oKo6TEMxmz9jcbfCcYbEY+0UGIchqzzHcQKy\nrMAyBWlW4Pkhpi1ZZymD4QjVtRR5gR/GGEILK6aLFQ8fvkYUSizDousMyibT1CvTRjY1Tz76kL2D\nfYIo1BxfI8QUcDCMSZISo60ompJw4FFVOa5n09R6pCyShjKvsW2TssoJQp0nWtcVnjdG+8O8SuYO\ngoBumWB7Lq0QWOmKPM/IsyXDQUySpcjOJBoMqRoF2Zq6qem6hqooyVONo+7t7mAKnVcjhMQyLRbL\na7zAx7RthAHrZEU09EjSDC8wOHvwABODum5Yr9eYlklZlTieRRD6WJbJ2dkJl5cvGMQxl5cvOX/w\ngKKycb2AospJigSlJGYtcGyHpm7Z3zvEtnzKouLyZs58meD6Ll7gYdqCvYMjjo4P2RkNSGYzbu9e\nYhsmVSfpMDAt7aWjDLapS5YrtY+20hzmqqy5uLjAdnze+vRnMB2f5y+v2T88oaprlKwReUayWOA6\nDrc3VwyHI6JxhGM7uK6nzaCaltFoRFEUSNlR1yW2rVOSwjDg4ED7/wshsB3txTMZj0jWKarruLu7\nYW9vj1WyxHYsDLPHco2udyP0ME2TQRSTlAVXV1e89eZjqiLtn3WomxpU7zEitdBtY9e8YWmVZbnd\nKR0dHVEUxT0hn8lisdrWkW984xucnz9kd2ePMAzu7dkUhnmvVCtAKLZBn/dfRwvZOqWwbIu2lX19\nsXn48DEXL54ynd3hujamMLDuqS43CMHm/7upaZs0nvtki483m69YLH/etHD/+q4X8I1f96ZDbprm\nY4vJjX/J5ns3gQ2bkUSzT7RlrKGz0HWhVwrDcraLUNXjU5uttDSFlup2CmkYlJY+pa2mpcgzfuN3\nfpejh49QZUPWeaRZjW0qiqQGZpweH3A3nxP3ggkMg6KuezGFYL1a09Qtw6FO7hHA/s4utWwwbYvp\nbIroFHdXc81IsU12BgP8vQAQ2KdnLBdrkiQjdPcZnO9jmB3LVcLOMGC5vmFiOwijwbBqWqmQBni+\nw9jbZ3cyZDgckmUZpmuwWN7iKy1xrpZzinmE4/pMb2d64eP75HnNMinwHYc4HtClNSPXAQNao6Cq\nKrI64OThI4RhkecFRd7QSYdV1jC7W+AcOniewPcNlrlPQ4OhTLJ1vj2ApZSUZUWeF/qzkJKTwyFd\n0aEU7O3tcrC7g23b2vHRhundNY6ji45wDfzAxbVDOtlgdVBXOZdXGVJ1CEzCwYAgCDk8f0BZVkgl\nuJvOub2bEwSCKBjiRQ7JcklZpAyjiN2jna0FcJHnrNcrFrMVbV3z5ptvslwsCAOPDz/8ADDwfJ/9\nvT0eeBMcx2G5XOK4Lh9+9ITF3RXL1YrVakUcR5wfR/0kaNDWDdnNS6TssNtjDg6PNasj014xTa0V\nv1mmi7UQguEgpilrTCEIgxDTMKiskg+vrpicnjK9+A6R2dLJCtXVxJFL1yiqqkRFIIXB57//+0AI\nPC/AtF0EJsK0CAOTsiiwbZeqTLFMh6KomM4WhKGPY+kYwd3JHp1sWC/mFOkaz9e5k+NRxHx2g2VZ\neJZLXdbYnkWjGpqmIgwDylozrWzH4I03PsVsPqOSYGIiDJO6brAdk7YtkV2LYTVMdgbM5jfYhbaR\nTddL4jgm9H0enJ6ipKSuGh0U0jeB19d32G7AePeQvJJcT+eERUUcxTiOiWttmsF7zLRu0zBusHFd\n0LU+RKfUAxg9QmtYNsq0eHj+BmEw1iE2tk0nNAxrmwaqbTGUDlvpWgko2rpBYOhpQLyiUG/qt2be\nyW1D+he5vutLzD/4nX/yMfXl5te5f2rBK1n8J70D7tvQdh3bJAyxwczvwSmbLtw0TVzZYXguiywh\n9AMMDIpWguvwm7/1O7zzu7/Pl3/yy1iBh2tFyKalrnKy9ZyqSDnYm7C7N9HZfXFMpxRNJwnDWH9I\nCppaIpTGNduuw7ItnZJjCmQncW0X2cj+4KpJU73wbJsWP4qYz7Rj2/7+IU1T6YHOMGlbvcysasly\nneB6AXmpDbuiKGa1WuK7tr5JTAOFwjQtbMdhsVhh2g5C2LiOi5QKwzJIs4woGpBnRe8fXhH5HgYt\nvmsj24q2abB8rZoUwsAPIgyhnRYdy6LKUwahT5quSNMV0fhYd1ZoBz3D0HmOCu5Rq/ShLFSJlN1W\nCKE7EQhDPbJv/NRXqxWW56CUxHNskJLhMERJTfsyTFMHANQNdVNjGAqvd2LEsHl+8ZLT0zMEAtvu\nj/xOolRH3b6ieGqhh3bRq4oCx3EwhOg/I0HdtAhhkGXZ9vs9z+u7VIfpfM5qtWY8HuP7+nXHtnXQ\ntNLNRFmWvYsk+EHYQ4D3LCPQFDTbsqiramtL2jYNVVlRZhm+5/HaG69zc3uH7bqaL41CNjUgCX0P\npTqmiwX7x2e4rk/dtJiWg2FoZ07LtLSvSVnq3w+9YL58+ZT54oa/+le+j7qsCLwALXN3qOsKRNd/\nr7n9ncuy0rBRp/3ofd/vLZ11MyWVZLVYcHJyTNM2VHlKWRXaUMo2KLIMgIuL55StZLlcMl/Mqct6\nW2A/+9nP8+lPf7o3k3NACW5urvjo6Ue8886/ZO/gkP/4F/82x8cnpGnK2dkZdanTjUaDAUG/B9D3\nWLcV59zfm20Ya3/WevOTupIsy7i8vGSV3BAGvvY3alu6tsGxLZTcQEV9DetAGNqWfoN9bzr1DWS8\nef0vvR/427/5q9sl5P1f5X4oQtM0W+/sTaf+ySRn0M5+95eZ96mE9+WtQghCw2TRFFjDGA8LVwpK\nFL/9R+/wS//9L/Ff/a3/jDiIYOCTrAqqLOfw6ACTjijyubu9pS4zHpyfUhQFBwd7Ov+yLDXW12mr\nzZOTM2zbwTQtqqahrCsWqyVJmuJYNr7jg4AoDvF9vw9saDWNKQh579vvU5W1FibEEZeXl0wmu+zs\n7mM5LlXVYDsuy2VCFMUYlsYlbcukaWqKMifJMi1jXi4Jgpij42OKon7F2rEM7F7AZBqWxo9lhxAd\nsqmwDGjqgqap+MIXv4jneZRlwyrJdcFtpXZRrAp2xgMs0ySOA8rWJI5jZrMZs9lse8iWZakFPLZO\nORoMBniuZnFsXBs3bo4XFxeURY3nefi+TxzHuL5LUeRM727IsxTLNDg9Pma5XGq139Ehk8mk7+pg\nNp0zXyU0jWQ83tt6tIsebomigCgOieIB6/WaJElI02SLiw6iENV1RFHIbKYpbfv7+0RRRBRFOhZv\nueTb739bd1NKcHd3x9HR0dbauKr0vVn2h4HruqAUddtydHzMcr3S93WthS8beNAwDIbDoaas9k2N\n7A+a9WJBsl4RRBGuH7C3t4fj+mRZQlVVNE1JnunF5mqdMN7dZ7K7S9N2tFLRyo7hcIJsW15cvMD3\nfJqqQnYgO/jgO99kPAx4/OiUyWiEUor5bEXbSqIo1AlTjsVsnujDqJ+mdepUtKX5bWIRDcPAC3wM\nVO+9DYMoIM9TsnSNoqNtagRweXlJkud9M1H3B6XPwcEBe3v7WH2m5eb5f/87H/D1P3yHrKz4xV/8\n2wjD5LXXXmN3d5ePnjxhPBqzszPS8FPbMBqNKMuS4VDvg8bj4bb2fLxW/KsL+Aa2bZqGP/qTP9BK\n2ziEriNwHcosQ3VtT5HszfjEK0bMpnm9D5fc3+H963jg3/UCft/M6n5B3vxB95eYn8SE7mPl+gfr\n4m70b0C/tkCpbjsyWZYeTxqj08sPZdB0EsM0+a3f/Cpf/a2v8uM//hPE8Yijw0OKLMe2HU3LyjIM\n06CuKkzToCgyLBN2JyNQHYf7uwhLiwEcyyFNMmSrebVCCJ34jsLti1FVVdiWQ5oklFWBZWvDd88L\n6Dq4vLzC90Nsx+ll+QWj0Yi27Xj2/HnfARY8ePiQqqx7+peFQm/m27ZlPp9zeHjAfD6jblrCIOTR\nw8fMF0vatg9ddQyqssY0TG3IXzcMoojZ7A7fsbi7u+boYB+lOmQncWwXYVoYhoVlu1imNipSXUOa\npjiORZFnNEpPIrZtbWGysqw4PX1AmqaaI+77PHv+nPOT0y2mWfXJQ/rg1QHSbduSppo+2Kpu20E7\npslqtSCOI3zfo21bzcuva4RhYJktYCA7xWi0Q1W3CNNGoO+1osx04k/bIHpIznV1goxpmci2palK\nirIgDH3GwxFd17FcTpGdzha1bU1hNE1r2yWnaYbruPpAbrR9guw96X3X6/FmiRIQxqH2zTHAsz2K\nHlqybZsiL1FAnuf3lMmKpm0p84TDvR3oXzMsm6qsKauKrpMEQUDb1Liuw910ytn5OUWhC/R4skte\nVNSNpK5r6IOxhYJWKupG8vbbv8XnPvsGB/s7WAIG8VAfirZDkqyo6wrLsXDccDtVKKW2zZa+H229\nNFWKVupIuKaucVwHIcCxTGTbMF/MUP3XEYrZbEae59ufZds2g1gHheuIxPsmdi2/+/bvcXt3x97B\nIT/3c/8+48mObuyUxLZdXQOaFtd1mYxGLBYajrEsC8MEz/URxoaqLLawxp8HQ98nWmwKcd5m3Fxf\nsZpPsSwT2VSEnkcnGwzuh9L03uXqlUviBlnQNgyvivtfeiFPmqZbXPu+GhNeLSk3N8UryTwf++O3\nCwPbQEmJBIRSmqhvmjj2qzdFCIHpmKRmi1E0DCyTho6/+yt/nyfvfsB/+bf+E1zXY95WXC+mOKVE\nBAF+EAAhbadI85LLiwv29naJBjHPX1xyfnLMn3zjmwSxix/6hH6IbdmEQchwMNDZla5HWVU65QMA\nB8u0GAwjjqND6rqiqmpubm9I04zj4xNWqwTLdPF9Dz8IUUrx8uVLRsMBd3d3GtqocgLPw7Yt1usU\n3w+pm4bryxcMh0NCz+XorU9jGJrxc3d3TeCHKNtAGAI/CsiyjCzNMTsD04Lby2cURc7+owd86vEP\nIGWtucmGjrFaLtbc3s0oihLfC3A8D8exOTzcI0tTwmCXtNTWuOv1mvl8SpZllEXJb/z6P6VpGlYr\nzVj44he/SHOwi2EqHjx4oG0+Z0uSJCHPc+bzKQ8fPsS29RIo9CP9XmUFyzLj6OgAw9BT3GAQkxcZ\nTdPSNDVVtiTJcizLZXp7A5iaNtp27OztMogH2LZF09Q0smO5XHJ3M0UpyWAYE/g+QRByfv6Asiq4\nvrpid2eH09Mj6qZmuVwhpeLFixc0TUsYRLT9vRq4DpaAzoC2KZmMx9CBaQqi3Qm2Y7JcrQijgDTL\nqOqKq8Vae8z7ASKO+2LScXpySCtVf8BVVHVNXa6pmwLP1tbGnmtiWQ5B4FIUBV3XYhj6GTg+PiJP\n9JS2ShJWyzmGadG1kqaqSbKMKIopywrLcrBsTYMdj8aUZUXguaxW674Yw97ePnmesUqWZFm63Ud5\nrraGWK1W/RRQY5omvh/i2Br6CoKAm5trzh+ekyYJZyfHLJZzDNuhzLM+LMUnDMOtpbRtu5SFjiQs\nCp1wpbtXgWGYzOcLDo6O+NKX/ip1szEGc3jvvfcYD0ccnxxhG4InT55SlzWPH59zezulLEuOj4+Z\nzea9UMrAD7x7zeKf399uSBdb1bhhcfbgnCiKefrkQ2zLJC8rUB2WKfrwcdlrQVzglX3IphG9T4/+\nN0LI89V//o9fFdZ7gaCviO2v3Ag3mZab6z5jxTAMqh5PNjXxE0NoMYRAwyh1T7g3LZPa0z+nqWp+\n+Zf/Ack64d/9mb9JmRU6w1EIojCGrqPsHxglDJKsIByMcFyXZL2iyBKUrKCtOTrYwwttLNvAMiza\npqUsCmT7ygje9X0sW5s72ZaNbVqUtR7nZSe3C1nbtrU5Vp4DBqskpe1U350pJpMdrD4Krm1ebe1b\nKXVnXtQUeYHn6Rulkx1FoacJz9WvoSCKIxrVUBYlSuliUWQ5fuCzO5nQdS1NUyFQ5LmWeQtMwjBG\nCQPTsFHCYLlc4gc+FxcXPexVk9ebFJcaKTvG43F/s9v4vk9RFHiedmrM04S9vT0uLy8ZjUbYjkPg\nh4xGQ7pOcXl5SRAEmqJXd8Rx1C96NAap0J7TlmWwt7erKWh5zjgOe3pWh8LE8yOKskT1tKOyrijK\nEtM09ERhWb0Cs6Oua8oyp6m0zWxZFdi2pbFupTnufhBt1aBhGFHmJe+++w0+9+nP4Hkubd2AEHQo\nHMfWHuXtK59rqSSWbSFMk9F4jKlM2ka719V1TZZnVI3u3BFaDNJ12rrXthRFluC4Lq7nUVXNtsDa\njqMnIykBPS3WdUGa5YxHO5yenbFcpchOUTUbtpbeGVW1pir+o//tV/i5f+9vslrO2d/dRXWaqKEn\nqRLHtXBcG8OwtXdHo73t67rBddytZ7a5WdZB3+3DcDQk74t1nqWcHh+zXq+4vbvttQImXVP1kIOB\n47jb93lDuWulhjne+fo7CNvijTfe4HOf+zyWrcPLV6s15+cPtkylwPfYmexQVU0PocHe3g43N3fs\n7u5uYdkg9Nlg4o7zynyqp6xsu/KNetsw9Au1kv2z1jCfz7h4+gTPd7TLnWr1MrTXa2woy/cL94ZS\nfX+v968LdPiud+D6ZvQ/Rr/ZFO0NDrWR1SulqOt6yzwxTVNnMUq57eK3UnrZoYTqcxhbHEPn9RVl\ngcCEvOYymfNL/9P/yGfPP8Xf+OEfI3I9/OGA2e0Uv4HLyzucnSGj4QDPcykbnZazXCxwPA/LNBgO\nR7iWQbJc8NHTC8Y7MWGk8d1RPGRnN0IosZV9S6mTt+u2xTJMHeNkCF1oDUHTaFvVIi/19OC4CGEi\nVG9d2cu66SXrddm7uElJ0VYURYEQBssk4/z8HMdxtT+5ZeO6R9RVhehhprquSLOErCq5vb4hzVJ2\nhmNOz07Z39unqgqarsOzTRQwPDrsY98kpqF0zJcnUB3sjAe8vL7i29/+Fj/wAz+A41j4oUdV1ezt\njrAsPUmFQYhhahrVwf6ETmrb2qYtKMuKR4/PiKKYxWKOMCTT2U1/MFU4bkzTdFiWIsvXCCAexDSt\nyXC0g5QNd3e3fPih9rJ+7VOvYSP6/MUph0fHTKe3hGEEve+F49jUTf2xBXlR5FiWSRiGRFFAlqT6\nc2lkn7sIptn0FFeDTtlYlk2ndHPw6NEjiiLHRKE6SWf0TCnAsEx818EyTZTQlqdVU2t73cUC29Bw\njGXpXcR4MkH1Lnd13eC4Vl/IFOv1CqG0Ba9r29pdD0FZ1ViGQVVpcY6+v/QoHwUBH7z/Lb72td9n\nd3efx49fA8MiiCIWixWu6+O7Fk3d0jYlhlDEkU9Z5DiWx3A0xrRMOiVZpyu6lSTw9N7Ccz397LWS\nZL3qTbocnSx0zzJDSsnd3S1uv3QdjsZc3d4SByHHRyc8e/YM2SqaWptXSSlJ0wzHcamqmiAMKcsK\nMLi+vuVP3v0m/+l/8Z/rZKxI2zx3Hdi2w9OnTzk+PKRtW6IoYjq74+jwhN3dEXd3c66vbzk6OiDP\nS4qi4OjogCzPyfOsh+4kq9WayWSCEFBVTQ9zqH6pqlN7uq5DmL2Xjumwu7NHJyV3t9eaL2/atHVJ\n01SacvgJn6dNx31fSv8XoRF+1zvwf/m1fwa8wpQ+Cepv2Cn3oZON1ewnO3dlWpjCwLYsLUGuG1Ca\nY2qYBlXT4EUahpjNZvzP/+CXefSp1/jiZz5H5ASkaYrle8TxEN/QasK8rUlWa8qqwjBthqMRtuNT\nblgBsuXliwv2Jjs0dUWrKoToGI9H0EHoO5RFiWkYOJ7by+pDXN+nrRss0yJNE0zL3J72OvdR+2Vc\nX1/z9a+/g1KC07MHjEYjhsNR/z5JLNOkrvVImWc5SinuplMQhk7/MfQhUBTlNghayrYXFVV9GLFi\nMh6zM5kwGo1YL5fa8jTLetc2E9k1pFlGJyVFUXBzfUueFyRJhuf5XN/esLd/wBe/7/uIBgN8z6cs\nC8zNlNBqn2rNSNCMEtd1Wa1WuhMPNCZa103veqjx7M0y0ukzST3PI3B8yrpmNpth2Tau63E3vUMI\nwWQyYjIZsVgsQCn+6a/933zlK1+hk9qvPY4GrFZrEII8ryjrCsO2dNi0oXcQsutIk4SqrkF1OLZN\nFMeaulcVWLZNXa2pqpqiLJnPl9S17g6PDg8IfRfXMhkNIvIkAdvSeLxhkiQJ9A9qK6Xew5gGjZS4\nnktV1FrWbxg0Umeo3t7eEsc6uej49AQp9RIx9FyauqRtexZN3WIaBn4QUBYNYRyzWid6KSlbqipj\nuVhSFAWTyYT9/UOKsqRt9V6maTvqRn++Xdvyu7/72/zsz/40jmViOy5SQrLOKKoKYcJgGGkL3FJT\nfeu6xnG8rWugbdvbnYT2N7GxPWdruasLc7rt6Hd3d5nNZoRhyHw2R8iaToFsJXlRMBgOaFvt6Dmd\nzfnWe++xv3/Az/7szyA7yXA4JM0ybNuhLCseP37M9G5K6LvkWcp4ONT8etsjSRJOT0+2EEiWZQxH\n+p63LL18B8F6vWI0Gm0pr3Ecbe0wNp3xtiPnHsbdM1im0xs+evIhwzhEtjWWoeuReQ+auV+o73fl\n8G/AEvOd3/v1eywS/SaFff7kxj/gPva9gUs23XZVVdusSvrNtNl/j5L6w/F8T6ew+x5lXXF1c83/\n8Pf+Ht/z+lv88Jd+EMO1cUcD2qzCLFs8P+C2THA8j6HtkZc1hmWSJgmz+RzXcTEti/ForJPdO0iz\nXD+cQqJUS1UWdLLh0fkDTEMvxizLpJUtskMvuWwH3/HwfA+jpxa2bUNZlnrjv1gxHI3w/WALCdV1\nje/7pGmGUt29g67j8vIl3/ngOxRlwU/+5Jd1Srjjac+LoiEIQyxbLxwXizm+7xHHg+0NY1sWeZoS\nheGWNeG6ruYnq44OxWIx19anjkMUxJou2TTkeYFUHaatO1HbsbefmWXZW6Optm23lEB954l+2mpZ\nrdasE81o2DAXkiTh8aPXuL27I4oiZNtycnSsfWeEfgzupjOOjo+xbZvZ7I4s1Xzq6+sr3n77tzg/\nP+en/52f6hkNDW0jdaBut6FltihDkCcFQaAxb9M0+q631uyhsqRuGnzPxzAEBg0XFxfMFkvCaIAQ\nhu7cDUA2fObNNxhFPrZlIAUooa2UbNvBFCZKKpQQrNYJXuD3S1eT1SqhU4oPPvhAe5SMhuzt7dIz\nYjXt0rEIAp+ulVtRT+D5uK67fc8c16NtO9wgoKob7u6mLJdzwjDgwdkZQmkPaxAoIZCdhlBkp1Ao\nFne3fOeDb/M93/s5Aj9AKYFlBzRth1SKsinp0BRHzwoAts9inhf3pkexfW4ty2KZrDVMEQTaGrbR\nDcJ6vQbEVlBkGAaeZTIajXj67DkXLy748MMn3N5NefjoEadnZzx69BjL0lRIz7eJ45g4HuA4Lnd3\ndzRNw+5khyJPMYUWRJ2fn3F1dU0YhSyXKx4+fMjz58+IopAgCImikLIsyPNcM1UK/bkEgUdZaPjK\n830c28YwDQzRe7cIfS+DQpii9+fRk8pifseTDz8gCjyk1N4q+s7dWMvKbSN6v5grpf7yF/Cv/vN/\nvM2rdBxn261tivqG170p2JuvbRy+Nlt/y9J+x3VdU5cafvD6G2i+WuKFAbbvkeQZv/wPf4UHJ2f8\n0Pd/iWqd0aB4OZviCBMPTdCcnJ+CaZDezakaieO67Hpk/wAAIABJREFU+J7HMAppqoo8z7m6uqbt\noO0Unh+xu3+AUpKyzLm6vGC1mOE4JucPziiyFNM0cHwXx3YZjkYMoxFFqtVodVPhODaGZdyz1dV0\nq+urG/Z2d4ljjbcWlaY/qV7kIaVkPp/zzW9+k5/4iZ/Atk2yLOvTugW30xmj8YTrqxuEaZGkCcPx\nkLrWoRV0HdPpVFuNum4/waBFH76H7brc3N0yn8959KnX9ESEzndM03TbxcSDIa6vpxPTtlAddEqL\nQDbwg0B3Geskwfc8hGGwWiUsFiuEEBwfHzOZ7OgiaZhkqT4Yu65jZ2eHMAy5vrpkMtnh6voGLwy5\neHHFcrXeFt3jo2OE6Hh0/pD5+pJBFHNzfc0bn3qd1XKJ67rkWUFH3ywonbYyiIasVmvu7qbkPYUt\njGL8IGA4HNI0LWVZcXd3x93tS0ajCdFggOcHmkZZ18xub/BdC0d0nB3tI2VNrXSHK9uWPCv7A1O7\nZBqGSd10LFdrXrx8SYfg5PQU27EYjYaEvkenZG+Jm7O3s0NeZEipdQR1VSNbSVNX5Jk+fKM41kyk\nTvHy8prfefttfuRHfoSdnR0sywTV0TUNCr0wS9OMqq4JowFNqx01n3zwHmHo4wcue3v7VJUkSQpM\nx8MLQkzHopU1dVORLYttEEEURYxGI5Ik6QVb9bZBcFwX09bT9KZjr3tIYjAYYBiGls7bNkmSEliW\nft+6jsePH/Hs4iW+7/Py8hrP88jKElAcHh7TVAm+rxuPJEn4zGc+w2QyomsVly8v2JtMkFKL9Iqq\n5MGDBywWC6SUJEnCgwenlGXJer1mb2+P0WjE3d0ttuXrTNdehDYcDrdkgw1WHccRSnVYloFsWkzL\n7C1ptVGXYShW6wUfvP8evmMjhMI2XonaPpnec//6Sx+p9vZv/irAtghvJNb3gfxPYkX3JfcbfFxT\nsnqvAaWwLZ0NiIC6bSnbhtl6yf/6f/zv7Ozt8pPf94OUbYPpOUSWh284zFYLjMCjaRtspZdBjS0A\nE9m0qKbGdSxoG2zTwg9CGgnTxZoWk7JqcF0bQUfTVKTJEhOJEDpDczgcEvZdcBRH1EVNvs7Y29uh\naWsMQ9DIZrsP8H0N96AEvufiOFomPJ/PdTfadVR1zcXFC5RSvP766xrvdiw6WeP5AXle4Xkhlu2y\nSvRhYbl6hN0Y43dNhxAKx7RQXbedXPwgoG5qsqLg+cVz9g8OMBxb+2S3Eq9n90ip8xQ7pcjLSmdg\nolDdq/FQT03O9obdcMDbtuXy5TXxYKJ9seuKIAh7PnzNYDDQHiCtlrr7vo9QHabt0LSS67spfqAd\nDIXQ4hfH1cthAMfXSzPH1Mts3/PJs4ymaaibRouHuk6zFmxvO/lZlk1RlNRNS9t7dBRFuV1G7+1p\naqNUCsMwqeoG1bUYqtN+5bLGVA3DYYwbBcg+3dwUVp+tCLLtyMuK73z4ETu7e8TxACkE8SDGEEJz\nog2wTQNEp42qPKffAZnIRmkv8t6wqW0qHcdXFJi2w+10SpIWvPlpHS5dlrUWsdBhGUIXm34fIbsO\nYVqkWY7nWPyjf/jL/I2f+SlAaVWuMkDYlA2keQ4W+IFD07b4lk/byP+HvTcL1iW76jt/e+ec3/yd\n+U51q0pTaahSaQaBEDJIBg9gC6QWHYAjmqYDws1DOwJe+8nIDx0M4ba7w7YI7LA7GrAayWDASLQF\nQkNJqkEqNJRuVd3p3HvPPdM35rwz+2HtzHOLEhKBo0N0uzJCUkihOt85+WWuvdZ//YduGgMRQ7Xx\ncsaKrBrsDsDi2kopirzs/E16/T7akckrSRICR7O3d447d+7iBb4k1bs+p7MZ2hWh13gi4QvDnofj\nuIzHE9Iso7ZTuUYx6McsTk+ZTMYoGqKeJA9dvHiR4+NDmTKXSzY3N1kul4xGI/I8Fb/54wWTyQau\nq8my4p76JPmbLdQH0I/8jtmj7N5IKIPyr+Pjuzz/3BXiMMBVL7TBbt+Te8Nr4P8DBfyJz37sBXSZ\ntniDlZY2ghHW2CBSdVbEPVdUTo0NMvV8B6eo0aHPcZ4y9EKadcmq5zDrO/yrX/qnvGnnQb7nLd9B\nETpUdnyRrbfG9VzCMOg8GI6OjijLHM/rMZ1sMBgMbAE9llBjCzEMh0PCKOD09IT56Zrj4wWe53Pp\n4v2skpTlckWjFEm6ZJUsCUOPB4d93vJP/xmTx7+ILstvdJteul66Xrr+K7+UZb78lQr4jRs3+Imf\n+InOAvWnf/qn+bmf+zlOTk54//vfz7Vr17h8+TK/8Ru/wXg8BuAXf/EX+dCHPoTjOPzqr/4q7373\nu1/8ofcU8M/96e93p869CTqdIYzlcjdWvYQ+8/d2HafDAR2tKbIM5bsoA57jUGlN6sDRYsZv/cZv\ncnHvAm963espThYUjsZxXcbjMb416JEteSULk+GQpq6J4pg0yUnTrNug+75Pvx+Lx4apOpweIAh6\n1AaqqibPK+bLNVo7+IFPWRWgDavVgr/9v/5z7v/K1/6LvtyXrpeul67/f1//RQX8zp073Llzh9e/\n/vWsVive+MY38tu//dv82q/9Gpubm/z8z/88/+Sf/BNOT0/54Ac/yJe//GV+7Md+jM997nPs7+/z\nfd/3fTzzzDNdces+9J4C/qn//B+6xeSf90EBugWl1hqcM6fBsixxtaauBFd1tYN2HebZmlHQg6Tg\nuClY9F3+3b/4NS6HU77nXd9LtDGmWqeUZcNqvebg4ADf9zh37jybm+IhnaapjccKhEs8GQs+l8hy\nozXXGo1G3aKulQ2nSYZ2XElM0R6eF7BcJRwfH1M3Bj908TyHf/A//CzuX9Kw5qXrpeul67/O61sV\n8G/KA9/d3WV3dxeQ5cRDDz3E/v4+H/3oR/nEJz4BwE/+5E/yzne+kw9+8IN85CMf4QMf+ACe53H5\n8mVe9rKX8dhjj/G2t73tL/yMlu1w75IS7gk4NiIOaJSC8sz7AFMLDmbNgUwDa1Ph1JrVKiEcDSgz\nw8c/+h+ZxEPe8b3fS7HOiGPDaZIwDHpsTKbsbu90asGvfvlreJ7PaDQUEUciMuQ7d+7g+x5BENDv\n9xiNRiilmM8XFuOTrnw8njKZCl2gKCQoIM0MfuBy6fJF8XSpcooie6l4v3S9dL10/Rdff2khz9Wr\nV3niiSd461vfysHBgSRsADs7OxwcHABiQHNvsb5w4QL7+/vf9OfGcfwCRWXLwOgoNdWZD0rnl6LE\n0U8rTa1qtKUoBSgi36XwNXebnI/87u/izzLe9fa3UyjY2t3FrUSev1zPcZXHeCzsgtFoyHQ6ZbFY\ncHx8wnQ6FSpTGOGHLuv1ijt37pCmKVHUI45j4rjPoD+kKHJmszl3D45wfIV2NL24z87uFqenC+bz\nJXmR4fm+FS71/irf1UvXS9dL10vXC66/VAFfrVa8973v5Vd+5Vcswf3seoGZ1De4vpWa6N7E5pYr\n2v5zjuOg78nL68yumjNfk3uNrkb4LJuKhW547POPc3v/Fj/yjnczjno4QcTxck4viul5AeF2bGGR\nhLIqqYzYmQ76Q3q9cziOR5ZlLJcL0BVRFIsTXhCQZSIiOT05Yf/mPo7jsrGxyYULFylMiqlLsqzg\nK1/9Cq7rMxqN8dwAUxvCcMBqufiG9+Jf/st/RlmmHB4cUJuSBy5fFqxfa64893WiOGRzc5ODgwM+\n//nPMx6PuXDhnPWaiFitVuzu7vLM156hH/X5ob/7d8UZsak7T4kwDMUVL0vwfZ8kSTidz9jf32e9\nTrl832W2trbsfZVUcGEMCJ97tVrR6/U4PDwG4Pbt24yGY0Yj8R+Hsz3GyWIph+VyzjpZoRTMTk9Z\nLhY8/vgT/MzP/CxFUaKVJopH4tynFKtE0nQWiyV13eC4rqSohyH9fp/57BTX9Tg5OSEvCpbLNVtb\nWziOw2AwoqwqBoOBUAJPVjQ0KNWIJYBSKFVzenKM1mJnu79/C9f1GMUuR0fHlFnOm970JqZT4fkr\nTcdNXtkk9t5whOtJpFaRZiRJwmKx5PDwiPsffDlFKXJ3x/OoijVaeg6ODg9ZrZdsbk7xXY9er8dq\nJeHN/bhPVRWghNmiXEcUe1rheyEouHLlCkEYcv78eaqqpM2TFCtew2AwYP/mPtONKa7jWUn5nP4g\nRquaNkzAdSW9Ks0yPM+jLCUQJUlSlNZ89CMf4b3vfa+IwRwJMY4HfaqqhkbbAAbhkhdVRtPUDAdj\neQ7Xify8siJNM+q6ZjgaMR6PqU3JcrkUtaRl8MRx3FGCwygSKDLNOLcxIe71SJKEGkgzmdZ7gz5p\nKgZj2nPZ2z1HmZdEUcRsNuvqShAE3f1t3w/Xden1het/9fnnieIeo+GICxfO8+yzz6O1pj8Y4Hse\n61VKf9wTtpExOMD29g6Hh0cURcFkY4PZQuiv/dEQZUVGEl4i9MnNrQmrVdLtz1zXFRdHraBu+NpX\nnybP1vgeUFfUdYm2RI3KGHjzN6/N37KAl2XJe9/7Xn78x3+cH/7hHwak675z5w67u7vcvn2b7W1J\n7Dh//ryYm9vr5s2bnD9//i/4yf8zAB/69a/x5je+nre8+dEuLzEIgg5nFq6s0ATpAhkagiDsin/T\nNNSqoS4MVc/lTz/7aZ7+zOd4y8OPUviiaAvWOZNxnzL0UMuMosiorWJqMIzJs4KqKlitFx2kI7BJ\nn6LMaRrDfLYUabAfsrO1TZpmbEwV63UiPFzA8eX3EWMcF2MaKz8XfwhqQ2n9IP78NRqPWC5qEf04\nAavVisPDu5wcHfGylz+IdnX3EJw7d47xeMwrXvEqPM9juVxydHTEU089xWg4xg9C9m/fYXNjgzAI\nyIvMqiA9lssFVVVy+/ZtkjRhY3OTixcv4vviIbFcLnEdr4uiaw/h9XpJFIkfyWQyQimxOk3TDBrE\nDyXqcevWLUmKCQfCI/ccdna2mM/nXLxwmX6vx9ve9t3yNw+lITg5nYvlbNMQ92KUUt10VBRlJ1BJ\n05Qw8Du6l6nFY2W5XFulZy4iHavUnUw2UEqTZQm543Lr1k2CwEcrn8FgwM72Dg8++EriKKJMVwAc\nHx3iOg5Xr94gjmNe85pXo5HdRc9yjU9PRQUaWZl429hEUWx9vl0aapaLBYGvRYZdVWztbDMuRijV\nEPo+pq4Y9Pt4NuyhobWDAFMaamtglaapFbrV7OxsobXgo77ndZa1TS0NTb/XQzVQm4rFfM7GdMJ6\nLS6RdS0+InVd49h3rWka8ZYpSwLr4R3HcRdEnWUZvX5MlqYEYYjr+Xi+dUBUitgRb52qqlguxfAq\nDDxUGDAYCBW2KmvyNKFuDK6jcWP5neumoSyleXIcl2S9JAx8enGE50BdZDSmoKEh8jWupzm6e4uy\nKOkN+jgYimRB1BtLcESWnnm2Fzmu6+C6miRZo5REBzqBy8n8hMnWpjhLrmYsnlmxs7PLtavX8MKA\nMI4I+iHL5UIokTZk+ujoiK2tKWmaiZ5iMGS+XLBeLtnd2umSweI4JsszDg+Pu0NkOp2Q55Yi6fqo\npmEy3eRrX71tAzhywPD440/xhSeftrj3J79pff6mS8ymafjJn/xJNjY2+KVf+qXuf//5n/95NjY2\n+IVf+AU++MEPMpvNXrDEfOyxx7ol5pUrV17Uhd+7xPyTj/9210m3DwHQpVJoz/r+WhMdR+nO9CUI\nApsbKNj4Oq+YZSv+9a//a77rLd/J3oXzeP2Y6nRJeThnXWQEW2Mm0ymbk4EYN6UZ89mMuBczHIy7\nv7soCuuzIh3oeDym1+tjTM3x8TFFfhbhtrt7zqaB3KFWhjRP0coh7vWspWhInufs79/qIuLe/4Ef\nf9H9/rf/9kPcPbxNFPrMT084Pjpke2uLC3vnmC/nFGVGHPe7fUGSJDz33HPEcY+mqZlOp1y/fp37\nLl2mMVCUJZcvX8Z1RPk2nU5JkhXuPelHGxsTyqoijCKapu7c7vr9PteuXZP77Ef2ZRM/liCQUIfF\nYsGVK89x5coVHO1yfHzM5csP8MY3vpGHH34Y5cbcvXuA4zqsV0s+9vGP8Z3f8TbCIMSYhsPDQ8bj\nCdvb2ziBJNosl0uCwOfk5ASltHhc+z6O4+F5Hndu3yXNk0708OCDD1oHN7dzqFssFmIpcHhIVohf\nSWUKijwD1fC6176GBjBVxenpKSvrlz6KZSqbTMcEvk8cRmgt6tN+HHNyckIQepw/f57CVCxXK5bz\nBblVjp6cnLC1tS2+7J5vBVqGLE0oipQ8F8GLKXNu3rzBO7777cKFzwuqqmI4HAFnLnTqnixXz3c4\nPDzk+PiYre1tKbJhbLtpt+OvV9ayNreWso7r4mgHRYOpShqlqEwlfG2lOu+N9WrNdLIBQJ5n/PsP\n/xbf/Y53EkUR/X4f1/WsY19PvOyDMze9P2/33Habf/5qtQf3agMELnUpK7E/FkaawfN8+r7GVDVF\nWaJsE6eUGIM1DRJ8EkU4jsO6NJ0/++HhobVrzigKeQcODw+paxGVveLVD3F4eEiyXoPSvOVNb+bJ\nLz7F/fc/wNHREbV9NqfTDeLQJ08z8jzngfvvJ89zjo6O2d07RxzH3D06JIpj/CBg/8YNtrd3iHsx\n169fZzIe0+tFMiFub3F0dCyCJQVxFJBnkm7/x5/4GOd2poj/vnDY67rG1DVv/e6/zV+ZhfLJT36S\nd7zjHfIy2pv+i7/4i7zlLW/hfe97H9evX38RjfAf/+N/zIc+9CFc1+VXfuVXeM973vPiD72ngH/i\nDz/cfZmt4U1bXFoxh+NIyrVSCtdxz5RLnktpqk5avx7F/Oav/gvODSe86tFHqD2Nrx0c12UY99Dr\ngtVyydXkBFVUTEZjMcrnzPWwdSFrRUVKKcpK/FmSJMH3AzzPtw+aFDuFQmnhpXu+CFqKougeSGNq\nEfC44g2RJik//KMfeNF9+ef/2/+CUg2KmsZUXH3+eXzPYzIc4vouaPkil8ulBKc0iixNOTw85tWv\neQ2z01PWSSLjtE3kdrRmMBjS78XUteHBB+6nrg2LxZz7Ll3i6Pi4e/GrquySs7MsYzQeWtP7EUmS\n0It7BEHEer3m2rVrTCYb1HXDxsYmt2/dIQgCjo7ElnM8HlM3Dptb4iNelgVpmjAaj6gbRVPL+Lxe\np8yXCzzfZTab4XkeDzxw/1nyTJ7TNJCuMzY2NuTzc+myWvvhFhbCer4HoSgUHa1ZZ1hhyIq4FxNF\ngbVYdTvXx6aR56/Mi07anOcpWkkX63sO0+mE9WopftZliRsGwn5yHBztkqYpz165wste/nKUEo95\nZVlTNPK8e65Lmq4JfJflYoajNZuTiTQkZUVT15SVETm7/FJnTpyedH+9nniHa61patBKd0W4tZ5w\nXU1lpLglSQI0EoDQKLTNjMzLooMpjTGSaJRlKMAPfD7+f3+cd73rXczmc+K415lpaesZ73p+J8DR\n2rlHVWgk4qwNZHbFC97UBkcrfNenLAs8PyCMwg76EWhLox2Nse93nqadaV3rzrhciGtlWUpYMkqR\n5xl+JNL8oihYrZYMBgMrVPOJ44j5fGE90nt4QdilX7W1ZjKZdIdLY+Xyi8WCne0tFvMljtbWV8gn\njmNm87k4P7bJPkoRuB6ltV2Q37EkTRP6/UF3sLXeQI7rUpsSmoo7t68zP71LEDiUeQK1+IUrXN7w\nne/+qxfw/7euewv4H3/s/+oeotlsRr/fZzqd2sQORWPO8Nva1OKpawtZmmcoTx5I7bn8mz/4Xcob\nh/x3P/pjZFh7y7LkzvyE0oVB47Lbn+BvjSkLw92DA+7eFfvK7e1tdnZ28DzB21upr+u68iLeA+0s\nFgsxVYrjLkmoaRpmsxmLZcpgMCAMAhwtxXC1WnF6eirSdc9jPB7zAz/0oy+6L7/+6/8U33c4OrrL\nU08+yQ+85z289S1vJVmu+L0/+D3uHh/S6/VQSrFep4LFHx3T7w9tGG1BvzfEWMOpXq9Hrx9zcnLM\naDhkd2eH/f2bPPvcFf7hz/wsnif+2RJN5XXRYO3LaIzB82WBK3Ff8OU/+zI3buxbyb44Hd6+fUBZ\nVOzu7hIEUjTkOxab2bzIMI0Va1lrUN8PKSpxmev1+qxWCy5cuMDVq1dJkjWN7UIefvhhppMpxsCV\nK8/y7LPPceGBy91EEfrifZ1nCVtbW5JlOZt3990JxOP53Lk9jFW5rlar7nkrS2MPbJ/BcEwYBvLS\nLhZoGpJ0xeHBHZrGsLe3x3QsDKRlmrFcLpmfnpJlGUPrpX3h4gWWqyWmEez+dHaK74WkWUYvCoGG\n0bCHtspJ3/XoxTFFLkk0nh9jTEPdVNScmbflRUqWCZ48Go9B1fhehClbJV/TPY/L1dw+I0v6fbFf\naIwiT0vKqqKqDTWN3Rn0cbSiLErGw6GobJuaD3/k3/POd76T9TphtU7Y2Nig3++zWCyZTKaA6AvX\nSUIYxF3nbIyhbgye51LYHEwQ58qqqqjy6syZs64xDeLd4vuMRiM2NkQw5zgOjRNwOpt1k1nkB+zt\n7REEAVEo96ydGINQrAlaF8fWKM11PaIoZDgccnx8bMuOa2GjAZ7nMZsJaaFtBuS5dyR0o5KfP+j3\nz/J4a8XW1hZJlrJar9nY3ODo+JjQk/DutVX67uzsyI5oNOosQsJQpnFcD2NKynRFUxc8e+XLRKGD\naoxFGhwc7fHQo+/gr3UB/+QffeQF8vi2+21/LUfpzpiqxbtNXZOXkn+Y2CL+hSce57HPfJ53/cB7\nuLi7R1Q0RMpBhT6VA6UGo8FkBeEiJ3dDXIv3FUVOlqXWt2NF09RWCuzakU3GmdbEqfVtWS6XVip7\nxl3XyqdppLNLEil88sVLt4Itjj/0/p940X35jf/zX/Dsc8/QH/R55HWvZTgYUOYFvSiiBmaLGV/5\nylcpioLT07k11xFp93y+oBf3Bd9sGsI4lI6uKIijkLqpKXLJtVQahsMBWxubQEMcncmB2y4kCIKu\niFfW33i1WjEej3nzm99qF1Q5w+GIMIzIs8Km8YRdVzMeDaU7a4ykvRcFpha/6CQrSJKM9TohzTIW\ncym6Iq8vqSvZE5SlIQxCoqjPAw88wAMPvIzrt2+TpgnD0ZDFfEHg+ziOwth4t7queP755xmPRpy7\ndEkwb63IspQoiqSD9sQC1vP8LuNztZaYr7ox0MguQtEQhQGqEXuExWJOL47xoz6u4xIGgbX5rVks\nFvQHfSpj8AIP13MpqwrXEXsGraHMc2u1kOI5LmWeEYWRyOFR5EVNXSvJTHTOgk3aQF2xmB1TmQqF\nS2POUlzyPCXPM8IoIM/lb1mtVuzt7ZIlBRoPO7hZrw5ZuvmeT+D7FGmKVhKx9zu/91He9773kee5\nwJnWV1wpJZ7sNs0pjHsYgyUfWBtULUtjIRo0MoFZL/58naO0JSw4Hp7vk2SphUWN/TsKkjSlCQcS\njBHFVGVJFIYkqzVFXgISkCAWCD5VuSCOY8JQ0o6CIHjBM+26Lr2esL9mh4tOPt/v9+ySv/WtN3ZC\n8MXcrSylF3Zc8jxnczKVOmQnhiwviPs9GhpK66IZWyhuuVyyvb1DluW2+xaL4rIsKeuGqspJ1nMc\nVXF4d59+7ONaoaJqFDQOr3vzN8/E/Lb7gQMdXtZiylVVkaYpcRyTkjOM+rhAnVW4vk9FQ+N5EMjS\n7fDOATeev8nf+RvvYTraxC1rvCCkrGvqqmI9X+MHPn4YMAj71DrAVGsqk7JKlkRhxGSjR5ZlxL0J\nq+WK1iUvikK04+K5HvPFjKO7h/ieJwZHgyGe53RdufiXWF9m16HXn7JcrjmdHXe44GQ8xmsDFf7c\nde25Z3nXO76XwWAgW/66wfdjqlp8PkbDDd721u/CmIqnnvoiV69epaoqHn30Ya5du06WZezv7+P5\nLk4lxdILPHAMdw/uyoPo+ujG4fbBEUlWcd99l3jwoVchL18FjXh2p0nCnf07PP7447z9O7+Tlz/4\nCvZv7jMa9ukFAf5wyOnpKel6zsGdm0RxnzjuUdYFy/maLMtYZavObCyOIxqUFNDCMJst2draIS9K\nQhTaCfFcl70wwg98NqabYrHr+Rwc3OXKlSucLjM+/9TTbO7s0R/3cD2fzW1xrzs+PibLE46ODpnP\nZ2RZiu4NSZ+9wiOPPEKvF4vveFmSJBlVJQd1GArGG0chW5vbpEmCqRuqqmI2OyVZJ5yyBAXT6ZiN\nrfO4nkternBCj4oKgxxQfhyR5QXJOmW1WjMajsnzDB0HlFVFPxbTozjs4XkRoe/i6gKlJDSkaWqi\n/gjX9ykyWbLXtRz665XkRnqeS1MFeFokHqZ94VH0ewGulhe9F/aogSQ1XLlyk4uXLuGFAUVZUOYF\nutG4ns8wCIVtVBn64witNA0GlMNsMWe9XrG9tY0fhKjawfMCIr/BNCV5lpImKaURWFBYMQ2uq+wC\nXBOFEa7nymEXhoRa9imO44CSzx3GEkTSuI2YaekI34moVSCQYgUuiibPGfVCVD+iriUouywNYPCt\ncK4oa8LeSCZKC5862iHJU7QnUNvE9TGVYbq3xXK1lPQjreiFETdv7rN76T6bihThOT20IxBpmq44\nPT1hNBqyTtYorXEyaWKyLGd7e1NcNk2D5zlsbk4xRsKlNzc3yZJUfPzLgsKkVGVBv+dz7eo+vTDG\n01pcP41Qo7X+1r31t70D//QnfucbUglbxkTl1pisoO9HaNMAmkI1qCgkN5KT+Kk//iSB6/KG1zzc\ndY7tIvIsYYVuCZLnOejKsh00WZYhy6OGMJT/r+t41jvbWOtWgLobs7pgZRvG0NIfC4uXZ5l0KWEY\ndqdvm0RujOHvv/8fvOi+fOGz/6nD3e/N3GsZA60CtaVdyfg347nnnmNra4vDw0OuX7+OqSvQkoCi\nlebgzl2KQgyUGmv6VFUG3/PY2NzgdHZInmU8+MD9ncGVq116cY/dnR2KvGQ4GNowYvF8WcxnKGAy\nmTDd3BDDKSP2pY4jB1z7d9PAar2y425hC7gWn/gSAAAgAElEQVSYBDmOR38wxFhnxaIoWCyWFkcV\nn+nxeMqg36duGrI0w+v1uX7tug1qOLE7CDh3bo/JZEQYBmhHU5Y5yeyoCwxpu7B2kdxOTa1Puank\n3rSQiuuKP3ijsN9pQlWVtoPKJOHIcdna2mKxWLKYzdne2mZzuoHjuBRZjnY0mSmojCHPClw3IE+z\nMw8eLQwZrRW1hTZMXaNoKPIcqJlOxkSRz3gwIIwCilySlho80C5aK6qiwNjvTmuXrChZJ2nn733j\n1j6D4YCtrW0Cz7PPQGUx2xytHRzkHikNUeRQN4Kjr9crmlqTpxWO9qjrBs93CEMJi/Dt/Wyf8aap\noTnLxyzLsvussqyoTY3reja02UXZ8cLzfCuKE/e/qhb2jizXjU1dqjB1DWgLvdpJ3dNiuew4aMcF\n+z3W9m+S6d6lMgbfrbtnU9mfo9uM1DRFIcHbk+kUT0snv7u7g+Npazp3toAtSjEJKytDHDgk66Sr\nQe3luq4wT/xQoGHAixxOjo/Y2Bhza/8mo16MaqwzoTrL+n34zd88kefbXsA/88e/+wJP3KZpuqQO\ngHWZEvsBTg1ZkhHGMToMqLQiq0qefvJLPP7Y5/iB738P/SgijCK0UhjbtZRVhVaa4XAoJvO+R5Hn\n5GV6z9YcfF/oirPTGavVmjAUPEvogIKHteNku/yqKjHcX6/XlvcJfigb6eFw2CVqC782IY5D7ty5\nQ6/X50d/7KdedF++8Nn/1C2t2v9s9wPtfauqCuyiRTuODRkQfmyL26/WK/Ii486dO52Zfm0aFosF\nWVZ0nuJxHDOfz8jLhLI4c4V7zatfw3S6wWq5IstkSauVjISve+2rKYuCre0tXEdT14bDQ8kW3Nnd\nww9C5gtZGNZGDqH2EEtSgTBuXL/J7u55QFGWhuVyhWuN/nvWiTDLMxwtL97zzz9PVVUMhkMm4zFV\n7fOlp7/E1ta2TaARn5p+r0cUR8RRiNKAakiXs857OkkSkkQYLEEQdCN3W8yVkoSn2elC8Fm7TAz8\niF4/so6ZDqUpOTo8oa5rbt64TpImeI5mPB6RJCve8V1vRytFlqf4nmsPe0OvP2C9TlHaJctK0A55\nVthQBaFK7t98njD07U7CZ3Njg/Vyjh/4VEXOuXN7slj1fTw/JIr7NnlHY6p2kjUY01BUhmvXb6C0\ni+e5eIGHVhLZJpRRKZRBIPmRVS6LTd93yfI1y9VM+Oq+j8LBUQFNrcRT3RQYU2JqCQdpmybfwpKK\nunteW83GvWEFCgm8ripDDZRl1cVPiiLbiB2Far22hSp8TxWhQWEq+Y4qI7BHUeRCNLARbF4QURmx\nAR6NRxR5KTRG15UJLAhp6obAD2zcn8tiscCxxIiykPSjyXRCkq65cP4cVV0xn8/tvYsIQ/HnV03V\n1bDO6dOqy3uxUBzbv+fu8QFpkrC1tYEpcrQCTwuv3nW03X3Aa97wPfy1LuB/8vHf7oQ6rR9Ke5I7\njoNyFI3FsmoD2veoAFyHazeu8/u/+3s88tBriV2f8xcvSGdTSdKN53mEUYTrOCRpysHBgRSvMKTX\nb9WUYiovFp9NtwhpMSzZ4tN5Frc86barkKSUwPr+SnZlWVbM5jOqquLChQv27zLcunWrmwZ+5AMv\nLuBf/NzHOxy4Xdy2D77jurieK5FeTY2ynXlRFPR6PdIkRTtnCdnt35EkCVevXrWd7UI8q4+PxZg+\nDMV0ngqlHE5PT7l06RJ3bh9ycnLa+bNHUWxFFxpXKR599FFu7d/k+OiQ8UjETVtbW4wnU4IgAq2F\nqWMk9q1uZPLQSjOfL+j3h9BA4AtXPu71SMuExWIhXOLVisAP0Y7DcDhgOBhSNzVpkvPss88ymux2\ntFOlHDmgRyOUgiRZs14vSJJEiou1Odje3qbX6zGfS8LKvQlBLczj+B5BKBF2cSyJLHUN61XC6ekp\neVl08Ay1z+7uDv1+jNaK9WpB01QEoYurIQw9ptMJRZlh8oIiL8hyGfWrGupGo1yf45MZ6yRhtV6z\ntb3DeOgTeJowCDvm1cimwFRVyXq5wtSGwA9YJSJgKorcwihiPWxqw2K55vr1G/SHIwbDEaPRxE4b\nKVUpUIepxKbCdSWRKFsntrD7VCbn9u19Xvby+1kul2jtoWoHx5EgbsdVNnC5QTm645PnucT6FXna\nscXaSadN4WnfddcRJksQBlTmzFa1Ng2mNtC0lMQKU581eW2QR92AQg5fz5fluFjOuvhBgKklBKVu\nLPXQNj00wvrp93rdO9RaHCtgvZIlqKQmZbZ4NgSBaAfW6zV+EOD5Put1QpbKO1gWifWNLzsdyfHR\nYWeh7DjCsvE9H3TDerUCahzV4CiF72ryLMV1nQ5ievhN3xwD/7YX8M/88e/eM+KoF9jJiueJIS8K\nol6PvCyoHYUXxjx37SpPfuFxtqebjOM+O5vbrOxD096wlhoYRRFRJCnX7ZKjzErLdIE2SQOwns8N\nw+Gw8zQuSxES0KhOSNP6AOe5cMXFo9nDDyLp/tcrm45eIsHAJYNBn7uHd3nyySf43//Vb77ovnzl\nyT8mTdPuIGk78dYr/V6f4Hs5t61woP1njam7rkgWkjIt5EVBnuWs1yuefvpLNI2EGjeq5vj4hP5g\nyHKxYjZfUpQlQRjRNNixWjEeT0hWKw4ODji/u8N0PGbQj/F9j9VyRZKmlGXJcDhid+8c21sbHR1U\nciZdJJRWXrz5fEGvNxC2kNtYGKEmjiSlvchlMbqxsdEdSienp9QqxHN9Tk5PCfyAwJcl4WQyAYQN\nEYQ+VVmQrRMqC7VtbmwwGA5s6K5Q25paxu6mrslM0fl+a+UADr4fspivWKyWHSc6CAJU7VsFbEhR\nZhRZguc7rNYz0mRF4DtMJmP6/ZjaGIq8IIh6LBdrGqVZJTmLxZprN27y4MtfISrTwYCmWuOouit2\njtI4jkfT1BR5IT7wpaTNK0cmTaUETjNlQZbJofT1K89x/sIForiPdhyCIBLfIARWq03VvXOlFZr5\nlqILDXVTsr9/nUde/1qKokBrF98JMYbu/YJaYI176L+e58lza6dEgT2kaLcpS66FA1sqboOyz7pM\nuo4jJAZH3aPyvje2rFGW1liBfZ5AGjAJDG/sdCp0vaZpmZxnP891PeI4lmJsg8QVwqqJoogiz2Wi\nUcULDqEGCILwzN++Fsqu0g79niQiNfa+ZlnSTXdh6JGsE1Fhug7KdTk8PJC0Ls+lzMXr3ZgSGuG5\nNyje8Lbv5691Af/kH32kgwvObm6bBN3gonF9j9pRJHkOrssqTbh9+za/8e/+D/7b93+A7dGUMi/I\n6qrjXodWdu37IhCZz+ccHh7SNA29Xo/zexcJ7ei4WMxIEikwbeFO0zXzuQSztkq7OBaVXZIk9nMk\n0aXdbud5ztHpKZ4f0OtFmKpiPp+RJGscR3Pr1i2e+fpX+bl/+D/y8Jve9aL78sXPfRzP8+ShsmwX\nsL7o9wZd2LvX4uWtkAOLi2vH6cznW468qUqapmadiLS+9aB5/urzHJ0cCbRSGtbrlOs3brJ37gI3\n9m8S2MRzkT8XlhESomrDxnRCHAQcHd4ljsVqIIoidnZ2CYKQ27f3mU6n7Oxsd2ydIi+oTcNwOGYy\nnrJcrqjrhnUhwcPtvXa0w2g86g7K9XrN/v6+/P06ZDDos7d7njwXzNxxJIXo+PjQskwkyWlvbw/P\n8+j3JcV+tVrZgmRtFKzkWmvNZFM46lq7KOVw5/ZdZrMFeVbSt8/FhQsXZMm+zuxCdE1ZFvTiiCAQ\nm+HhqM9qPgca7h7eJR4McH0Pz/XQWnF0eMLJyYymqZlMNrh48RKL5ZJe3KOsUrSWaUcCLGKKvKQs\nCvr9Ibf2b3WFt6hyyiqnMdIwOI7DA/ffTxiG3Lh5k1c+9Gqb21mQpRmFTWOvitJ2ebrrLje3Nqgt\ntOL7HlVV8NzzX2djc4JSonzGOHheKMwP3xM1qPwbeZ6RJLK8TtMUUwqcUJkSx9HdRNlOdW0uZmA7\n5bZR6MQ6dS16iKahrhvpyk0t+gfa8AMsjq4RUuNZtm6NmMo1qM4qurCxdVEYdHzt4XCI68qzo7VD\nL4pQmk4+39QlZSXNw2q14tKlS7Y7D1ksl4CmtLL5LEvsQdS+oTINh4FPU0uGrQi2howmY5586ik2\nJmNZSNcG3/dwHdlz1Y1Etf21j1T7xB9+uFuAtJBBy311XevtHYZSnKmpaNjf3+fDv/lbvPtd38fu\n5hah3Sor/ywns3MtRDDYtpttOdKy3G89yAGaLoC17X5bGqF8ORlFURDHMZubm52woWXOdLmdjkNZ\nlZyenqIdRV1VnJyc8PWvP8MDD97Pe77v+1ivl7zp7X/rRfflC5/6/Rcs11oMrWlssLPNxGyx8fZq\nsev2d1GSf452zlI+tMZ6TQRAC1MZ8iIHK2qZzVacnJ6SpDk3bu4zWwjON5vPmS9mxLEoS2ezGdPJ\nCNXUBK7LfZcuMhwMiaOIvCw4ODhkuVhSWe+RLEvp93vdC/v27/gukiQVLnhe4HsB2nM76le76G0n\ni5Y/205XaSFLQVMJflsUJb241+GLrufaBJ85s7lwobsEGPsdDgbCf1dKMRwKd1570n2naUaeVyRJ\nxnS6Bciyq6FBaRHO+J5dYjetcld2Ni0GmyQJcRSxXieo0Ge5XjM7PcF3XdJ0xfld4ZT7vmcDW2wi\nuSvjvuyA5Jl1tEeapCLcsZ3ffD6nrGSX43suWmkWizk3b9xgNB7zyCOvJy8LPC+gQeG5Pk1tf9cs\nx/Nc8jyz74rC9Rwwdffffd9jnSwYjnp2gjOYssZ1AkBTVaW8N2Lp0QnfxuMRVVXiaqfjeyutyLNM\nqI/qTOlsjCHwQxxb3O+FTgFLtywJQ0n8AYVyHLSSxqRddmqtqUqx3miQ7tzUks/aSvQlC1ZgTu00\n1MYQhZHdURVWJWoIAg8ageI8z6OyU7zvB6xWazzflwnBMqraBkp+lxLP84TKGYasV0uKPLVTh8YP\nfMJAUqf2zl/gq1/5CqPhgDxLicOA2t4f2ScASn/LRJ5vO42w5VO3HMm2eHdwgdKcLmZEoyFlURDE\nEZ/8kz/hzW94I6944EFq23E7nsMqkUVjy/Vtu8+8TZCva6IoYjKZ4CCnrki3ZaGllOoglsViQRCE\nXSHd3d1DKcXt27d5+uk/I89zzp07x8WLF2mahuPjQ/K8YLaco115ALe2tvjiU0/x+Be+wE/99z/F\ng/dfZrVcSjfzDa52/JSHIO8KeSs+iaKImobA97uDxRhhLniBT2O/fM9zqKtamAWOw3q9whixHqhN\nLcIau3RyHAfP8VivU8bjEZ4f4Do+l+9/AN/3+eSn/gSlaooypWkqSqOI4oD1esXO9ibndna5c+c2\nN25ex1QNjuuwu7tHEIY8/MgjfOHxz/GKV72Ki+cvsL29yfHRiYTNbm5KZ6Q0JycnVE0biBEwHA7o\n9/0Ol5zP58xms06cNN2adlCMqWT5ePfu3U51GIaCyZ/b2+X+Bx5gvV5b0U5Jnqcsl3OOjmRq2N4W\n8VbTGJLVQrIhwz5FtmDQ71MWKdvb5+j3+jiOwyqRn3X39EgYSYEsgzdHY4JA4JYkyXAcj9l8RZqm\nJPMF6zSB2jCbzxn1Yy7ddwFXaVRtqKsSU1ZQpqR5hfKCbmFeZIV9H+QZubV/h6effpo3vOENaEcT\nxSFxFFu9gUtthF0UBD5FVVJWpcB8laGpxRa6Ld6e5zGZTCirnNVqRWAXumVZ0jSKOBbflzD0mU6n\nqEajlYcsn0vKUuCaNC/IsozT01NOTk4oihzPdXC0Yy2Y+4Rh1L2P90ISWmtMbSgsaeFeSnE7kWdp\nTl6UHabteZ7dJTVUjaEuS/ph2Cmgfft+VE2N5/nYDq07GBpTooAkkanFD0QVqWmoq9p2/4ayqPBd\nG8zcwNbWJo52O/aXKXJKU9n4WEWSrAmDgMxCp57nEcfye3qeBIb7rsvdg7v0+n2Ggz6O1viuI9i9\njU0IQ6EuG3OWVPYXXd/2DvzTn/idrlNui0or5JGTVKF9DzcKSIqMP/j9P+C5rz3D3/tbf4et6QbG\nVNw9OiIa9Olbz46WvtSqolo6GNDRmiTrb0AYRiyXQltrMe0W45Y8xgIQT4Z2Mdbv99Ba2QDVeSev\nzfOM3FSYRhgwTz31FHu7e/zIe/8+qIaqKGWRojWvfvR7XnRfvvjYx6w83LVYu9Ph4cvlktiKAFpF\naDtR3MvekaVMSeiLeKeFlKRIIcwBIyG5gn9WSK8j0IHjuGhHXPL+8OMf4/d+/z8y2RiztT3l9u3b\n1LhMxiM0koI06EXCmT6dsbGxyWQyJYqtH0UQsrW5SRxHnM5OyNOM4WDA7s4ug/7QBh0bAs/HDSOU\nwk4SZfd3xbEEBkvRycnynLjflz1GWZFnJRsbm6JerEWQUVUlYRiwWM6payiKkr79Z1brlXSzjXTz\ny9UKGnnH/QDu3j1ib+8cW1s7eG5AGPWo6/ZpbUROHfj4oTBwikJGbVM11nSrZP/mbaK4h1aajY0t\ncoywmbSiqUsaUzEZDSizDGrJp3QtlS6nxg3azlJYKkEQcP36dZ555gqvetVDbG5ukSapdLM0uK6m\nNgat4OjoiOFwyGQ6FZ64VYQa09gEe4Ox8EC7yG33LL0wsvdQYI79/avE/YCdHZk4oyDGVAJJRFEk\ntMfa4FoGF9Bh3E1tqOxUeG9kIoj0PY571tkzw/VclNZCjWzkPpelQC/GmnnVpum667IsqWpja4b1\n1TcG1doOuK4IyEAyKuum6+wbFK6WEJja1Pi+HHzGWnJ0AiSgrisUnn2nxJEUEJzdGCxKY/95g9aw\nWCws00nCjnu9HmmaENqDbLUSbYTjCsRH0+Ao8akJLbTTYu2gvyWE8m3vwFu6YIvXAt1W2HVd3MCn\ncTQnp6ccnhzzmU99mh/4G99PXVRk6wTX87hw8SJZUxHWDov5QnipWhKie1FMlufUxkhHYE2K5qsZ\n+7f2mc/nbEw36PcHDAZ9kuSAk5MTy/vNuHz5foaDCePxlF6vz9HRIUVREkUBcRwRxyGz+Sk3929I\n9xsHJFnGU088wX/z/vdz/vwFlqsFYRCgUdSynfiGl+u4BHb8dh0RsTRNg+/5RFH8AliohVHaZVcL\nPxhjhAetFb4bUhR516lrpfB8r5M9102D70uHoVyXIjdsbGxwcjLjwx/+MF+/8jUu33eB1XrB6eFd\n+lHAbJ1xdHxAXdWYquD1jzxMliVEcYTrexydnBAkKRcvXcQUFXfu3iXPMnpxzGQqoc5f+erXyLOc\nt3/H2yUw1zRUTSkjrqMZ9QfQQJZnpOmSNEvtdKKJ48j6bQiTojIlzz77rMVXQzY2JhaqCek3Nb4X\ndL4pTz35JK985Svp9ySUo+Xyd3LzJuVlDzxIlhco5TCdjGXhaTntaZaSpglZtkatVbcXabvKNMl5\n5pln2Nwa0++LnYKpayLHx/Nkqdcb9lnNF8I08XoUuUyGpWkwRUVJaSdSjR9EZFnGjWvPc/vgkHe8\n47soy5J+PyJN17iWotiYmoaGfr8vQpFGvpt1mnemU22X6AceXi8iTVJct4fgtFIwTVF2jo6O44oX\nvu92TKc4jKiNQqk2fKXA1AIvthOjQB4hnuPiurrTTLTwSJJkuK6wN+bzRWeqhaKTm7cNSasIdjzf\nFvyQsH3+NaAgTdYUZYmnsGQCTWUM2nFQdYNpxBgLFI2Szj7ybQaB06A1NLXg6fdEp+N4LjSyb9KO\niw4tFdMGebuRbThMgTEV62TBfH5K05wldRlTsl4t2djY6EgVy+WS2WzGxYsXCXyfqsypyoraVCSJ\n6UzJHNfjLywU91zf9g78j37/N7svuIUFWhjF932yBmoFw+mEX/7lX2Z3a5vvect30OQlp0dH1BrW\nVYHXjxniMx6P7ektxU3YH4MOc2tx1KgfCq1Ha/K8lO5stUahGAxGTKdiGblarZmdygKvaRr6/R7T\n6YS6qZCk6SMcVzMeD1ksFnzhqSfBUfy9H/phWUpZSlFVlIS+T103BF7Ayx/+jhfdly9/4T93I2y7\nuOw8SQIfnLOO+14sXJgy5RlrxUhO6L0HYXvfO18ZC1F5nicyYGMI/JiyLPnsZz/HE088wWQyYrma\n4bgNlalwPYeklM7Ncxx2d3ZENl8UhEGM0g6LxZIHX/YKWRgbRW1KXv3QQ2itObp7l+PjY6bjMePR\nmPVyTRxLl3Lu4g6O45DngkkCdqoQGwKlNcZ2c4tVzmg0pq4blNJkaTs2OyLeSRLL0zWde2SWZTz8\n8MMdTNfyk1vIzfM8arPGsQvgIi9Rjovj+N130U5mURSRV4bS8vuFZyxUw729PTY2prYQCRtClQ2+\n73ZxfGmWsLd3ntVqLbCA9tDKswcqGFN0S+yqMvzpn36Khx56CC/w8f3QLtcjMYGqG1kqa0WWyOhe\nFAWXH7ifWiE2rmXR7VPyPKep6+7g8Cw2nGU52xubgBSzMAhJ0jnL9Qnnzu2KO2SjaBqN70V2UpZp\nxPV8ixP73TMnZmLyHaZp2j3HYdiznyFduesKP719Pu9lXGnXs8tc8a7JM2n2aqw/vecAUoRji4eb\nGmuT4FKUFSg6PLk9aF2jBbuvTbfnMlVpl7pnIh9jKuqqtIwkmVKVVi8wfjON8MTXyQrXFQfVKBK4\naDqeEARCAGi9ypP1mjzNuHDfRducOZiy7A7KtqkwpkZph0ff+s2FPN/2DjzshdZRTAQjdVEReD6m\nKknLgiKKCf2AT/3JJ8kWazYeGDM7mTMZjrl4+WU0WlOYiiTPqNKUWjk0GuarlCQ5Ic9LfP+4S9zx\nHOkYDo9ngrcOBlQ19PojonjEarVCOS77t+/guh7j0YjheMI6WVMWgqWXTcHJybH1NnbIq4Knnv4S\nTz31FD/4gz/Iw697HQCmKPFdh9oYQovLhYHfTR1//qps9+S4YuJf14Jt+/bBcSwNSymF9rGuiHY8\nVE5HzzJIVqjnBRZWaU/2exbEjniUQIMpDU1TU5mSxz7/eZ78sy8y2RIPaS/0oTF4TUNdGswqYWd7\ni93dPUajEUEQMdnY5A8/9kc4nk8Q9fjSV75K0zQM4iFbmxtcu7FPabvwV77sFfiBz9Wrz3Pt2jWK\nPLf8delcLl48z6VLlxgOh9S1jLVZllGVAiVoRzMcDYRuhSZNEymwrkAljuPQ78fs7u2wXC554rHH\nuO++S2xvbZHnOb5ubEGGJEkJPZemylmnK7RjUFp2I+PRGO14VNbh0NQVRVWjS0VpSrQWJaE/HNI0\nkCYB2SpFN7CeSWCH1oogDAk9n2ydMez1SR0Xz9ECpdQlqhYPE+W4FEVFHIYoGvJEKLGFKRkNe0zG\n8jlKO+zt7FIUJXm2tkVYUZQGz/fFeM1zOTo6Ynd3G4whMzlBGOBHMZnjUpuaOpBGpigKHFcRDX0W\ni1OauhF+c7oijkOu37jF/Q+8jPGIDgs2pqapG5IkpTaGqkm6ZqA95FxXZOye6xL3+jSWkVFWhXTM\njk+DNBmmMGQWfvJcH8/zKSrDZCg6gV4vRCkHRtDiFtICWmilrjF5iqsdAl+6+DLL8AOZYI1Vcaqm\nRqHAEc66cmtqKjA1pi5RSotXUWNoanHMVFqYNFqJCrMoClCK2hhb7AWGCVxFhSKMY5lcXJ+8qCjL\nhDCMMFXJfHZMkedcOL9HLxZVplAfXeoGKlODEQhZO+oFas6/6Pq2F/Asy7CKBVkK+T2KLAc0vTjG\niXz2b97kP3z0o3zvd7+TV738lWAa9m/fpsgrlOPQH/SJ+33hLaPIixI/CJhMNzpZ62Kx4Pmr10iS\nFVtbW+zubdPK6heLJWVR4dqEFFAWVzXcOTgg7kvXMBgJTe6rX/sKcRyRpgmNgk9/5tO4rsv/9I/+\nEaHnYywbxLUyckefBR+3Xd83utpTtmka6kYWgmIcVHXUK6CTmDe1LPBaL4w8k8WXfJ4iDCLKShZM\nIlqSBa1Yr9ZURUHg+2I16mie/vJX+dzjn2O6sUleFpimxlUaUxocpVgslly+7zJ7e3tcunQfL3/5\nK7h+4yajyZT3/ej7eOJLX+Lg8JAwjJjP53gTn+OTU4osIXA9At/n+atXrTNdyX333cf991+2NL8B\nq5Us/e7cucNjjz3GZDLmVa98BVVVce7cHlmWCh2utvfE8fE9j7qG1WopSzGlWCcpB3cPWC6XvOa1\nDwnfN0kIfJ/VekkYhhRlgeNqoujMBqFRQg2NoshSDpckWYbvy5Lb80PhWxuBcFpKaW0Mt/ZvcenS\nBTYnU4HvbMcpfh0VSmvSPOPo6Ail5KUd2oSbWIFnF5eudqnKEmNkglynCRcvXgB5RVjM5ni+j9aO\neN5oeW+qskLZgz8IhI98cnLCdGOCk0kYR7JKEPWj4Mae59KzOwatHeIoFC4+UNaGwPe5cuUKb33z\nm2wSU9/CDA1x3OtgjcLi0vKsliyXC+F32x1Mnhe2MzeEoQ9aohSDMMR1FMpx2RwOoVGkmXDx/dDh\n5OToBVNzXTfdJKSUdN8yaQfEXkBZ5NaaVt4HhaJpajzHRTmt4Rwop0GJsoOmNmjd4Duu0PzKUg4G\nJZTXIPTJsoS6lsm3nY7bScNxHIJgTC+OaDwhT7QHlOt6aAVZlnJydIjraHYunqffi8jsVAJn+b9n\ntrxnEZPf6vq2F/BB3BNrSy3js9IOkbVMbax3x5VnrvDIw6+n3xsQhCHpcsXly5cpy4rVek2W5+R5\n1jESilwEDQcHB53vhdD/NkjTiIaaZ555pvPGmEwmhGFEkZcdzTBJkm6DjhJl2OHhoR2NpXMQRsrT\n/M2/+W4efvjhDo9sv5DW2rJ96M5e/m8caNwyZoDO47mFllp6YTtitiksrut1VKpWFq6QOCZTV520\nuSgKK5JwbMfqEuoYU4tnSpWXfPqzn2E8HndLmDiMSFZzqGtKU/LQqx5iY2OT17/+9Z18eHtzi6vX\nb/Dgy1/Ja1/1EDdu3KBIEi6c2xP7U0szIhQAACAASURBVFNz4cIFRv0+abJmOc85f/5cp2zd378F\nWtOLInZ2dqx3d8ajjz7KaDhEKYE7rlx5lo2NKf1+n0i5OI7m8PCEr3z967YoymSFZVqkacJrX/s6\n3NBjkSwFPkhy+r0+WSk0Oq01zf/D3JsHWXbVd56fu9/79twzqzJrVUmqUqlUEos2NgEShrFsN7gN\nGAd4PIQjPNHjmMAx0zPjsMNh07gjPBhjt+lmArvbmIH2mDabkWwMRgILhIQobaWlVHtVZuWeb3/v\nbufMH+ec+14JSXRMx4R8IyqkqKzM9/Ldc3/nd76/72KpDi3PcoRMsW1FZzT3w/c8LEsd+VWBMLRR\nh1qtRL1WZnl5mSDwqNfrtFutgl4Gmquvh/J5rsIFBsM+vX6PvC+RqFmL6/oEQcRQv4ZlW7hALjRk\n5TnYtkO1Vsb3QiVBlylofxAhczzLwXE97fwnsC2Xs6dP05hoUIrKKgzEcYoAC2ROlsfYlk2c9LEt\nG0ubZDmuAzJl18Is5y+c4+DBA6rbd32kthjIc0Ga9chFqtefh+MERSEaF9UBICWDnhogJ0lCu7+j\nFZWSKCzhBwqacWwP33WYmpoqno1xx1LjI2P43UJIer2+Ym8NYuU+6ao6YFwOLUsHwrguaaaSehCQ\nZymJyEAIBcVL4+WfYkno9TuAbjShgNsMdGmeRcuylfOk6yqPeMfGDzxkLmg2ldXG7Ox0AXdK6YxY\nMbpxGxfrjetiXul61Qt4c2dH7aJeqIx/+gOCUkQuBQLJsC/43kPf510/9VPsnl+g2+mQDmOGQ4UT\n1hs1ZvwAIQXLy5cUdziqsHfvXEE1W1tbY2NjTeGdpYDdu3ezb99ems0mV65c4YUXXsCy1FDq4MGD\nOK6FLRza7Tbr6+ssLe1WkEaeK6MZCd/4u79ncXE3H/3d32Nre4NED3EatZpydNOiBRglkZibborv\niy/Lsmg0GkX+osHPzRBS+VT4xdHLCFBMV2CwcWN4pSxt+8UGYBR7ShkW6sHckCAI+YOPf5zp2RkG\nw6H2Y3Bot5s0qlWaW5sc3LePUliiVmswN7egBTEZODY33XiMH/7oR1x/5Ajvfc97+LP/9B8pBT5J\nMqTdbnPlSsa54RDPdrj5puOkacpOq82Zc+eZnJykHEbYlsNTTz5Ft9fl2LFjTExM8czTT/Hcc88x\nPTPJHXfcoVkLMZ1uS8vuE26++SYGgwGNWp00Sel0O6SxwtA7nQ5+GLC1s11sXKHI6A/7I/9zaeHg\nIBCUI4Ur93o93R0JyqUSJZ1IY4qHMlsb0Gkrj+sg8On12sxMTbC1tVPcLwMrJNq+1rJttpo7BIGy\neOj31RB+anqWJFE0z3g41GpCY5QWksUx6ZglKSIj9F2wXOJ0qO+tXdDzhLSIoioiT9m1a4GTJ0/y\nox+doN3uct1117Fnzx5FpXUcbRbWKCweVOMkyPOUfqfL0SPX8/Wv38eBfXsZDgb4NR/H8xDCwnLA\ntg3TQ3XbA+37ba5xbx/btqmVVaJUJpRPuPEL6g/6dDotZQKX5uQix/X9ovkxjYyhCLquQ60S6bVt\nY1slkiShMTlBksT0Ol2iKMBxTSygOnlkaYYfOHrDVhi5a1ukuSAeDMkyJYATeU6/18d21TM1HA6Z\nmJgsRHuG7aJMtRRW70pBt6OahVqthmNb6sSYJDpZSmXKqmFoWFAp4eoibhrA/5rrVR9iPvqdv1Ue\n1Ti4gU+SZ+S2Bb6L7Tj88R/+KTNT0xw+fJjJWp0oDPDskfNZHMf0hgoWaDTq5LkayIhckGohiOM4\nWuWW6Jsx0PJr83WbXq+HZVnKyEYzYkxxVIIP9WE///zzeJ7HLbfczNGjR3X35DCMFUc5T9OigI87\nChrsGhTX+bpjb/ixz+W5J74LUDwM42ERZghlOnHTrRcQiu5OpFRiE5NiNC6OUsG+atgppKTb7xFG\nESeeeJJHH3mU+kSDnR3lgZKlCa5ts7W+xvWHDnHtNQe59fW30o1TLl+8xL59+8gzHWuXZqS54huX\naxXW1td57vnnOXv5omL/OA6tZptGtcbuXbvxPZ88F5rPrihs/W4Xz3WZm5sjzVKeffYZojBkcXE3\n01NTbG9v0Ww2CaOAWn0KY3eQZxmB9qJx9YPqOspDurmzw/mNVRYXF9XpJ8sZ6JOVp4uClCA0tAXm\nmG0VhmpKrm1cMr0C6nNdmzRJ9RA3ZWVlhUq5Sr1ex/P84r74vo80ykJbOesJkWO7tnIwbLV1lJqt\nZOJCWYkqAYy6Z1maKdqmPkkqsyqB7dqaRqgcAlVKj1IACpEj84y19TWeffYkNxy9kb1792tRU6bX\njq2pm5mGCGxDCCHPY8oVlcTzm7/5W/zuR3+PXndAEETkAtTp31LqUicriAiO4xYF01ACTSyhEAIx\nlFi21PTCTM96DJTg6PugBo7CcrC1Xa7amNRpw3WcgoFiWRau5yHFaIDqeW7hIyNErmyvLOUfbls2\niRwUz1yeZQyHA3KR42meumWpzhzUwDQIQmXopqFJKdG/p6Ioepq26IReAdOkSaIDJwRREDAxUdfB\nKYqyOM6sHLfFMM+/uX6SF8qr3oF7rotMBH4QKJFKEJFa0Br2+MFjj7KxtsG7f/ZfUCqVSPoDdnZ2\n6LU7TE5OMjExQb1eww88cinodNqaehTRaDQKjHJnZ5t2W/G15+ZmKJcjslQybLZYvbJGqRwW1J96\nvU6v12N9fV0LR0r4vso7vO+++3j3u9/NnXfeoV3+Mo2XpkVwaag9Nsw0WfFlRaHuNB3cS115rrq/\narVacL3NjTP4udlczAZmOhLzx7xur9/HNy5xQuB7PkmmkndyqWCTUrlMkqaceuEFonKJdqejP7cB\nruOwubbG8RtvxJJw043H2d7aRrg+115/mOeeeYZbjh9ndXWVUqkE0mV5Y5lGo8rM5CR73/42njz9\nHCce+xFnzpxTNLRKhXavRyWSgEUYljTMkivGgeeyvHqF7e1tZmfn2LNnidXVVR5+5BF2tre5/fbb\nWFxcZHllhUZDbTbVSgU/cMlSpa6zbdje3KapN99KKaK5vUUcx+zetQuRJZQn6ipYOleYeZarQhyE\nJUws2XA4xLZtSqWQfn+AbbvEQ6WqK1cqpHGm2EgCUtdmYWEey7JxHJskGRLHWhmLRSoU0bxSLVGu\nVJSQaqAYEPV6g063S31iEpFDksW4jvLvcT2bNE0KWt6VlRU6HeWjXi5XSLIEIRVf3LY1FRc1c8nz\nlG6vw9mzZ3j961/Prl27lDAo7mues8Cx9Xp0IAccx/iTKDFYniYEYUClHLKzuUljahrPDbBsjzyX\ndDpder0uSTwyBLNtW9EbLbs4cXq+8si3bRvP98BS850c04yEiFyxeoYDFfKh3leohTa+7lpdKmVD\nI82YnGwUPPN2Z4Dj2lhCEgRKKZomqfJkkRKkILdshAW5lemNVEWXVcslzYVXUIuypVBQZS6174yl\nMHVQxbugJopczSM8j4G2CTbGY3mubCGqlXJxIlcwqltAMqZZM0XbnEgM8+knXa96B/79b34JSyrs\nbZCkeOWIBEE3ifn3/9enuf3o61hYWCAKAlzHZmZyquhuVWhprPmtPo4XFOICQ/szlB7TTQ8GAzUM\nsf3ia7lQD9tgoB7QMAyKn5umKRfOnSPPM+655x5mZ2fpdruFPHskpBl5OJiu1wTMmoVtBBNSSm64\n5S0/9rmceebh4vg5biNrHNMMFDJOu1RMjMFIfZZlOK6CBKTucqWQpEmC6yqWApaSa9uuw0Pff5gf\nPvaYSvQeDLBtizSOEVnGRL3GwtwcNx29EZHl7N2zl3asoKvWThPXtqjX68V7tl2L02dOs7i4iJCS\nvsyVQf78PI89dgIkDPpDdu/apYzBMuWRrTyQIU2Twge+VI7Y3Nxka3OT+blZ5ufn6fW6OrA2ZN++\nvczPLxSObq1WC891cB2b+fl5dnaaNBo1usMhW1tb2JZF4AfMTCvTfddRGZqepylrlkWiZfFK9GUV\ndK5+v0+z2WQ4HNJqtuh2O2TaAOq6665jamqaZrPF0uIepLSoVmsM+n0cx8NybCxH0yDzlCRNiEpK\nYq86/JR2u8v2TpN2u4vIchqNOq7rqM2j18P3Pe2no4pgGJWoap55uWIsBGwtKc9AKsZRr9dha2uT\nW265mUyfPsdPc0atPL7xq+O7LnjayfGrf/s15ucWOHTdYS2YAstWPGnP85W+YCy70jQbZt5jhFlC\napdBpBaUZVhIvQmNulqDLXuWV3TfMOZsiMC4+xlSQCIk1WpFKU6lwNWnEfO7qVNFpjp4LVQycJEp\n5sLwx8fqlKIsWnpAbqw1HP1Hf+7GW11kxQk5TROCwKNSKl9V90xNGDf0KrjfjlM0Dua0fcNPiFR7\n1TtwqX1ocimJKmXiPMf1PZ498TgzUzO87jW3IIWKfrpy5Qorl5cJfJ/p6Wmq1QoTE1NF8c1EjCH/\nG/5pp9MpMvImJ6eYmpohz3OaO22NR3k4rmKjqGMlGNP++++/n9nZWd75U+9gaXGRTqdTFGyT42cW\nqumAPc8pdk9zw4zAoVgIL4NxmYKt1J8UA0tTuMe58mYjMBFmZpMwBV5KieMrF8LMHPXTlCzOFYZp\nSchtvv3Atzlw4CDb29vayraHzDLCwKdeq3HbrbcyPzfPsNfniSef5Iabb8G2ber1GhfOnWN6ero4\nUSjGxBK9fp+DBw+y1m7Tbj/PXXfdwPZWiz/8wz9kdnaOOE5ZWNhFmqRK8GG7YEtsoBpGVKplOk3l\nw1KqlNlpt1ndWCfPcw4cOMBEo0ZvMOC+v7ufXQvzlEpRAZNI4MLKMnmWs7GzpYVTkqnJSaJIqW5L\npRKOZZPJjGFfB+f6PsHYEMm2LVZWlnn66ZN0ux1C7UB3+PBhrj10kJmZKVLtyRJpKbuQOd1OlyDw\nVYSaY+uhWKrZbxaBr1LOQepovB2urKwxOzvH1OQknXaXWq1eJD15vsqxxHboxwqm2jl3qYApZqYm\nCYKQ2dlZ1WW7LmFQptNpEkXKt8cUA99ziqYEy8JzVYCw8rzWMJvnFVRBsBgOEw4dvJbzFy5wg+uQ\nyJxyqURzp0WpUgWZY0lPSf417g+Q5QrSCjyf0FOJO0LkuGWPNIkVrc9SwBGWgnyUW6CtN5cMB5DC\n8F5U1ByAyFVWqxQKZsR3EWmMY+c4rg4ldxzt1AienhEIYZPnDlIqK1z1jCn/FMtR3vpgYDT1XNuu\nhRQo58FcddtmppXnAtdVYSKgTnNCQ0PVclmfvjNs2x2xkhyHLBNk2bD4zA0kOt6gjUOwr3S96h34\nd775X3AdD9txidNM0XeyjE99+tO89W13s9BokGlLUseytamRkqw2m00lygkjSqUI2wtwHFulliQq\nOcNMjeM4od8fsL29gxQUfr+mk8dShXVra4O1tTWEyLn99ts5cuQIiFyJVcJQDVnyjGqlSl+zOpDK\nxlLhoerr4xNlM4wcN6c6+pq7fuxzOfmjB4AxzwZ9Y41k3lzjeK1tu0XnpAy2EmzHxnZV1+E5biGh\n9v2QTKqi2I+H3P/3f8/58xfUA6sLjqtpT/VKmZtvOs7tt99Ot90h8Hy6vT7d4YDZ2VmyRB2ZVy4v\ns7S0pCiHrotAcmVtFdfzmNu9xNfvu4/z58/zxFNPUavW9enE4Y13voEoLGNrbDLOE3zPK4J70yQG\nJOVyic3NDZaXlxFZRr1eBzK2t3doNBos7Vnkpptu4ty5c7Q77WK4W6vVmJqaYmKiTrfT4eKFi8Rx\nzJ7FRRr1BoHnqcAJ86AISU/f416vx6VLl9ja2qJer7NnaYlGo0G5XC684G1kceoplZQAKleKEbPK\ncWwl7JC2g5ASS5umWZZFs9Xi1POnqNUbzMzM0ev26fXVcNqYefV6PXXk17S1NFPGTJZlk6aK/mZb\nku3tJiLPObB/Pwf278dxLHa2Nzl16jn279vLLbccJww8HJsiWNusScMWMSc+paQssbXZolwukyQx\naZbw1a9+hbfc9RYWFnZremoKUiW1K8sOE7wwKoCmc8xzZfyWpgnb3R3SLCVwXYLQR8nmNf3Vssly\n5VMOSpwDqpERUlv/6malXq8pYzENXXiBSxiFulNWUJa5G3mWK7aVdsS0GJnnXUXZk5JUN1wKNrER\nUuH19XpNUzDz4vOSeqMzMnzz+0ZRoF0SR+wZ872ua6jA6VVQqDGjM0XbNHqvu/On+GfdgTueSy6h\nPxxQrdeJ45R/euA7ODgszs9Tdh09eIzJctWZGrZGuVwGCVmquKZKmSdJkkx3322EyLXkuYLjuFTK\nVdI0J03jIi0nTVM63RatVovp6UluvfVWlpYWCxaH79hIoSbMrusi85yOxtQtCUKoQFMhBAJ1tDNH\nI2NMZRaMkbu/3DU+kDQP7vgRy9xI05GP79LKnzrCciywJY7lkmtvBXNaSNOUdrvDMEu4eOkSYRTR\na3fxPGV5ORwOaNSqSO0TsbW1RaVcQUpLCTIcmzNnznDD4SMqtHV+jkwoXN92lanUnr17uXjpEn/6\n7z7F6vo6YLMwv5vtnR1VsKZmWF1b59A1h3B0x2XZNpkQCp9XtnsM4yEbFy/S7bQZJjHTU9NEpRKh\nD5NTE7Q7Hc6dP0+722MQq2l/litvjka9y5PPPU+l5DE7O8vC/AJZmrHdabHV2mF2eoZQe3gkw5go\nCpmZmWFnZ6f4vA8dOqQHVMp6djgcUK/VQAjiwQCZ5Xi+x+bmpuI1Byr7cqe5Q6MxoYq2LfFcLe+2\nbZIkJstzzp4+xdLSIhOTUyoBKE+JQp9hrPjb29vbWK7DpcuXEULSmJhkfWMLCUSlKvV6g62NVSyZ\nFy6Pzz1/igsXL1KKIm44cj33/szPIvKUi5eWuf7ag6SasWL8SsZ9dIxFre/7fOtb36ZUmiAIPMXw\ncFDJQb0ha6sr2Lai6JVLFYSQYDvYjl2sSeMXI6VUm6QFfqCgn1I1JBMprmXM2FJcp04cJ0ghiaIK\nIs/pdjpUa6EahGo6cWGjm8T4no8JDFc5ngJbe2jrfVKfCIyNgHLolEiktqUVQp0UzIZjfr5t2yCV\nkE6FVYQMh6r2VCoV5YmUG49zBacIIcgzwcREHdtRcJkQo+dYPasgRIKrjarM5jlOFzT3ZWST+8rX\nq17AcykREqJKmUEcs721wzMnT3LXm+/CFrC1uYEfBFSrVS13ltowRtG1wiCiXK4wMeET50L7ESsD\nq7179+H7LleurHL58mXiYUIUVTTGqXa9U6dO0Ww2OXrjEd70pjdw4MABQBYOhkGo8iG7OmR5vJAq\nzrZdFF1zBMrz7CWPR8Ar0ghhxBox3R2MiP6GLjiOjY//v20rpzbHc4rIKxuLXAqazSblclUd/6RQ\npwypBEOe52MjiFNlJl+KSrz2tTdz9MhRNje3OHP2DEuLe8lFThQFHDt2lGdPPsOuXbvxPI8zZ85w\n4JqDDAcDpmfn+M4/PcTnPv95atUpKtWaGgxJyVvuejtGBbq1scmjjz7K1ISCNkqNmn7vvrLVtG1K\njnpYhZSkIqPdaVOtVen3Owgpue3229l/4CBBGPKJP/ojbMdlc3sb1/Nodtr0+n2QKWcuXqJSLuPY\nDpVSicnGBMM4Y2ZmhmqlQgY0u32Wl1eV5H9zk3379rG5ucnkxIQaInoO/V6PF06dUvqAUplSFOnB\nlM92c0eJXaplLV5RQg2lhFWiEdt2KJVDNjYU7XRp9y76/SHT0ypD87HHHgOUivLo0aPUJyd4965d\nSNtRQcxC4noByytrOK6HzIaUApdut8uVlSucPXuG9Y1NAt/j0sULPP74DDfddCPzc7NcuHiRvUu7\nivWUJIk+ziuP9H6/z9raGmfPnuUd7/hpHLtCmsWaz+ywa36BkyefZm7+MJVSWeejRgRhCLorNt2p\nlCpkQgltRt49lgWWAN/2wRJIYczHcqqlErblEA8SHMtibnqGYdYrngdTVMH44I9mSgYzBwqsPcsU\nBGTZDrYFUhpqp0BmgK2eGZkrurJ5rswzJHSwdVQuI0TO1NRkAcea1zSsF/VcOwSep4RbSYKQGY7n\ngCUUNp8L0jRnMIgZ5EOCwC1+N7MRjQfbvLg5e7nrVYdQHvjmF8F1SbOcOMn44aM/ZOXyCu+45x5E\nJnAtdZxJEmVeZAaPxrFPCFVIbcsizi2qtSrxUA2d1CBSPTzmwwGLnZ1tzp85Q7VaYc/evdx8/DjV\nWhXPUxl4jjsKFhYyh1xl55n3XjwArquKYJ5rVZfAD/yCA2z+vSnmZtjnuu5LuhE+9cN/vAojN6wV\nI86xtKBEFMMZJVJwHLfwYYi1NN1xHWQusCSK6uW6pEIgAMf3+MY3vsH62jrdfk9TpCy6rSaTjRq7\n5ud5+9veqqTQno9l23R7Strd63SoVip4vsv29g6LS0skWcrq+gaW7fJfvvQVTr1wWguyJllYmGdq\ncoog9EnimKgUgZCUwpAw9PURXNCJW+xs77C6tk6cxNTqNUpRiSDwOHfmNJ1OEwvBvv37+Om77mFu\nbg7PMH4cm4e+9xAPff9hXM+j2+uSpGp4JvSD+dm/+CyXLlyg3+vxj9/6R55/4RTSsihVKswvzFOq\nlGm4Prt2L3Lx4iUksGfvXhzHYWNjnSyLifyAublZ5ZWdxHS7HdI4w7EsapUqkRfg2jaDXp9+p0ev\nrbzI7XJEbaKhTm9ILpy/wNLSHnJtg9AfDMlzQbvdZnV9nWsPHWJicpL+IKYclYlTFXknLZUkLwFs\nG8sS2KgBN9JAb5LV1VVazR2uXFnh0qWLrF65wv79e7n2moPcdNMx5ufn2N7e1BQ9i+FgwOkXTmNZ\nFocOHcK2PdLE+HJr2MGCBx98kHfccw9SSOIkoVarKc2C6xaFWmgao4FUDDXRNDNSCDVEF7ny7DGw\ni/4+23aK5wVLP0fSGiFTEv2zLRxn5PFjOnTb0SfYXFlRS0Zca2Fee8xrR+QmacfS712J48AiiROi\nsj+iaEoVFBPH8VhXLQoWWp6ZOZQRRBn6oiEkaAN1KE7p43oRU7zHf/Y/ez/wSqVCmkuwMuqNSR4/\n8Tj33H03SJ1Q3usyMTGhubJKEdXpKHWUbWu6lav+Syx49tln8H1Pdey+4mUO4wFCKnjgoYceIggC\n3vue97C4uLvY7ZJ4gBQ6iX6QF0cqKSW2vpkwGiw6joNI4h/L+XsxPch4fBtet+kaXuoyHfe4+KY4\n2qGwYkMlND8r8HXQsVQ+4WEQKI7scKhYC0KCUKkmigmRUS2Vefqpp5mo1wlcD8tzaLda1Oo1Ou02\nS697nfYN7+M4ifI3t21c12N2ZpZOp8Pps6c5duwYL5w9zeLSHlIh+c3/43/nuutvIKzUue7aw1hu\niVqtRrvTJHJDQkcdd93ABQvSTJLrKX8Uhrizs+zZt4+nTz5Du9NhbWODailkdf0K7/uFn+fwdYdI\nkiHz5Wl1Aur38X1XOUJubuJZINKYpK+EOL7nIR2Xcxcusr68QjWImKk1eO7pk2DbVBo12t0u7W6P\njVaTH5x6Adt2qE9McNPNt3DqzBlWVq8wOdFgdmaG2tQElutwcfkSdi+lUioT2g6z8/O0Wm2GIqbZ\nafPd7z5EqVqh1WkrGK7ZIh4MqFSq3HnnGwjDkJnZGTqdjhKXhRNqzWQJ09N1tjZXSeI+u3Yt0dze\nZmp6Tg3l45i4O8APAyzXod/vYXzezYDbdV2mpiaYmKiz/8B+SqW7OX36NA8+8G3+6XsP841vfos9\nS4t84APvw7FtsjTh0UcfJQxDbr/tNpDQ6/VVsAGCEaQnefOb30R/0NfPnbKcMMXFcLiDwC0G9+Nr\n2mDilj1yGrT0erYsC9sbFShjpipzhUObAXDRVOlCJzH/lUWIsXm+cj08lMVra1zZUvCi2iBQVsJY\nIFVwt2qUlADQcT39vWrIqgRcw6IRM86L9XrjqvmWqQeeO3r2DdXQ/A7mvZrAc8dxivSpcUrwT7pe\n9Q78ew9+lX6cEFWq/PUXv0hzp8lb73oboRfowaFf7HhmEGiOS+bv2+22TmYPCu8TKRX9a+XKCr1e\nBykFe/fu5frD13Ng/34SHRxsMEFjNj++W7uuqzr3XEmtzWIGra7UJlFmcGYGEQZvHv9/Y2BluouX\nGmI+c+JBYBTuPK7AFEJ10zCy3jUY+TitUMmw1aK3sXD0Q5YDwrYQFrS7PT732c9S0okkdqCwclsK\nDl97SJlOHbpG4dK54uhX6nXVyUu9+ByHy8srxFnOC2fO8ZWv/i3l6gSNyRnmFxYJwhI4mqolBLZt\n4Xue8tvAQuQCRy9Sx3VIRYKil2UMk6HmUvdobm9Sq5R57798D71ui0q5zGC7hRf4hU+6FyhZ/ic+\n+UnW1tcKIVOn2yUeKrz35puOs2f3IkjJDx97TJ3GbQfLcxkmCRNTUyzOTfHsM8+TZhmVah1pwa5d\nu5iamtLH8Jxuq6m8dMIa5VKJTAjWt7cRSHrJkH4SMzE9Da5NWCrR6XaJ8py15RXm5uYIgpCtzU1u\nvvkW8jzDCIdMOtDlK8sMen3q9Ummp2fxHB/P9ZWplm0r6aMlyaX6TI1IxZwKzdo1tNXxVPidnR0u\nnD9Hq9Xk8uXz7Nu7h6nJCaanprnmwAEyTftzHRf0OjXrKk0zLMtmZ2eHyclJNcDLcmr1ehGkYHQP\n47oE4KpmyHDNzd8JIXTB/vGmxrFGrJAX/7egB+rXUN4oXPV1UCyb8YZJsbGG+t+Zf2/gFS0m0lYB\nlm1j27KoN+ZzNc+xUUKbRstAUlfZYY9BO+b7xmEf8/MU3TIr5mbGduO/yQ/80qVLfPCDH2R9fR3L\nsvjVX/1Vfv3Xf53f+Z3f4TOf+QwzMzMAfOxjH+Od73wnAL//+7/Pn//5n+M4Dn/8x3/MPffc80ov\nQZoLpKUGY48//gT33H0PrqtSWNQvo3xKXFcxFLa3m/R6KkfRRKWp4V1J2cFayoj93LlzXL58mT17\nlvilD3yAUlkdfSqVCnEcU68r3FElrAAAIABJREFUZZQpsONMj/FdNI5jRJYXR53xab3tqk7Y8Mth\n5GFibmgcx8XNNDfn5Qj6pnAbqXxxk1yjLBv5gRvBgJHGmx1dqrMkAonr+sXrJnGC7bnktsX3H/6+\n9vuQhFFIhiDOMgLPpdlscvfb3oaFVAMelNJtc3uHCxcvUI0Crr32erBs9h24hq99/X6+9cB3sb0K\ni0uHsL2I6dk9LK+sMDlTpdVuMTc7R6/TIYiqimmU5VqRpoc2KbhBnTSNGQzb1KsTnNt4ntnpCc48\n+wx7F27iu//4ADfdeCOzu2eJZhfo9ro89fTT5CLngQcfxNG+M4m2EcCyaExOsLXRpF6rcfnyCvfc\n/Q4cCW97691E5RL33X8fj504QTwY0m21+NbJJ7jjzjdy5swZnjv1PBMTE/TjhFMvnCbwPRzbZmZm\nivOXHmfv8aNYgx1mpibJyi6VMOLg5AGWz19kYWKajeUrWN2UUpyyHbeYmpumPlknS1JmZqe5srbM\nroXdDAdDvfEqnv/c3Cz/9ND3sG2HhYUFQl8JRiyBOkEhdDSZje+6SA3DiCzHZpSPqrDtXqFXaLc7\nNBp1ouuuI8tTrjt0gIe//xCNapW9e/aoeU4uaNTrbG5vE5VH/GW1lm2EoBDsuK6rQ0FUpyml1OEb\n+csWG/Ozxi/DxX6py3Ta48XaFH/zvLz4Z43PiKRWTY6fkA3zxCgqMf9SQ5K2bSFtBQVJmeN5wVX8\nefP8W5aKVBs/aRj83Ij3TB0wNhrm/RYURV1z+v1+8Zmajdj8+UnXKxZwz/P4xCc+wfHjx+l2u7zm\nNa/h7rvvxrIsPvKRj/CRj3zkqn//zDPP8Fd/9Vc888wzLC8v8/a3v51Tp0694lFgGCdMTE/z/Yd/\nwLFjx5BIVq6sIIWkVq4Ux4s0TekPBuRZhuf5BUbUarfVULPXI+73iKIQPwi4/tpDfOD976VWqymp\nbJ5TCkJkluLZKqLMtpUIxgwSDIUNRhl/juPghCq1fBy+kFKS5lmRoDFuVGVofeM3zXT4lmUVMMuL\nL1OUTQ6kWQQqlHhkCjTOJzeL3LxfUA+6tCQyE5p/ruiX0rbwfJcLFy7gWEpxGIQhSRqTpAl7F3fT\nbTWxLJVhKIREWsoYq1arcezYMaxcua1dWr7EQw8/wnf+6QfUJ+c5cvQwE9Oz+H6ZndaAubl9dJM2\npUqDTj8mjKp0+im+62K7HlgO0pVkUs0Okq7AdjxcJyRNM+ZmZtlcv0w86EGesrPR5K+/8FfsbG2z\n75o99Ho9oiiiXK2we/duFnbt4jWOw1f/9mv0+wOkrQZYlWqV4TDmuXPPsbKywute81p818OScPut\nt3H27DmGwyGTlRrOnj08+cQT3HjsGEmSsb2zg+N4GvvvIfKcVqvN4euvp7vdJklSnn/yJCLLmZ+e\nZfnSJeqVCtccOIBjWyoyTVrsObgfx1W+6e1+lzTJyFN1fytlFeBsOrrVjXWuueYAly9eplQqsbhr\nkSwX1OsTDOMhlu0QBj5ZnhMPhlioZCTLUqetTLOhbNuiFIQ4+jmuzM+xvbNDqVSi3+/q+ULIddde\niyWkVjCGdFsdGtU6fZ1nOn6kj6KQcrlUQAdxrKLYavWGpiWqAb7hSY+KpCz+CN3dFn80H3wEco9d\nY+yQFzO3xmdFqoiOhprjVDys8S7d0s9qcNXPATNbyhmdDpRdgSm+45761WpV+Y1rNo8Johhns4xv\nPuYah4HGxTrlcrn4HrM5GLjlJ12vWMDn5+eZn58HFFZ9+PBhlpeXr/rFx6+vfOUrvP/978fzPPbt\n28c111zDI488wm233fayrxGFJXzf5/z58xy98UbyXChakC3pa2Wk2cVc1yXLc66srnL27FnyPGd6\neprFxUWOHDnC4sI0QaC9iB0XKQXb21s6QVvBNkLIIvPPFORx4yjzd4YrazjCQPHhGtw7T64uqqb7\nGD82mSg3U7hfCQMfV22azQN0l2qrKCyzcM2xzdxsc0/iOCYXufIPtxWAIvSCtFyviJRzg1A5syWJ\nCp3tD/F8nzvuuKNQ1xl6Xy4EuVT+43GaElUqXL6yxvcefozZhb0s7T1EuTaJ41WJM0lYbrC50yKo\nuuo1k4QcFynBCypkSUqORZ6kuK4N0sF1fUQeE0UlRN4hS4dYMuMj//O/Io9jJmoNHJToJ6yHBSMn\nEznNZpvV9TXOXbhAvz8gzXJ6/T4TExPYjo+0UhqNST772c9x5+1vIE8TnnzySY4fP84H3vd+nn3u\nOR794aM4WEzWazx54gRHjtzAc3FCd2eHarUKQhHUVi9f4ad/6l1k3SHffPhbvP7WW/m///Pnef2H\n/wd6rQ5PPfs033zouxy45gB79u8lTmLCMyeRSYpr20xOTZElqiicPXOOt7zlLVTKEYPBkF6nD1i6\n1Ela7SazMzO6o0uAXPvsKOVqGCga62AwKE6IeZZSq9XI8txAvCSJGmxXKhWSZIjn2FiBz6Q2sRJ5\nThSExMMYz3GJh0McX63hcVFJHMeUSkoMVS6rtB5TgF3X1uwTGBVs9HNnCrl1VZHDEgVF8OrLDBPd\nq4u9HPf1ubo4qg1DnRIKBhjKF0dKM1w1Xb3RWYy44WqAaunnVmBZAtcFT4dXmO57XKNh4CIDf5mO\n2rzX8SauqCUYTcZIBDgOr47Xnf/mAj5+nT9/nhMnTnDbbbfx0EMP8Sd/8id89rOf5bWvfS0f//jH\naTQarKysXFWsFxcXi4L/cpfne7iWzfbWFjIX5GlKJmIqlSppkhIP44Jd0ekoz+fJyUl+7mfvZWpq\nisnJyRHWlyqvD8VaiXE9h2pF+W3ESXYVjIHlFBarZvEb6l6RS6eLscjU7m9sRo0tazHMHON6jkuK\nzU25CsceK7gvvsxwxNx8sxDTNC3kyi++seaoddXR0tVxbLlEpJm2B3XBtol76sTheh794RDPden2\nu1SrFZrb25x6/nl812N+bpYwDAr/BymUOZh0PVJh8Tdf/hoHrz1KVJkgrEyQ4UEqkZaLLSxqk9Ok\neZcsEwRhmSwXVCp17e+iFl5UqZAOh0gEUmZIqTrTQb/F+bOn+O8/9IuErkUridne3KDT6pJnAqfk\nUSqVCaMSExMTTE1NM7ewi9vuuJOTTz9LVCmzvr5Bq9UiKpXVUK4U0dza4aP/5t+wf+8BotBjenqa\nL3zhC3z0ox8lzzLu/+Z9iDxnqt7g8oXzvOG2Wzlx4gStVlsxfRyHpV27WFu5woM/eJidnR3EUyd4\n58/9DF/88pf40Ac/yJXlSwxaHf6nD32YG48eBSlZ31pHSEmtUqXRmKDfVck5T544wQ8e/iEH9h1g\nZmaWjfUdtjtbXFlfQeaCUqQ8540Xh+u4WDYqgd12SJIhtlS+3lJIkLnyGE9jFf4RJ7iug2vb9Lpd\nZdMsVfRau9XkumuvI0tTonJAr9ejFJUUpOPYCK3OzKHoDo05V+ApNWmlUgG9QSu2ha2EUXkOY/i5\nKaZFR48SIBW8bA1hCDEK2hZCFM2bwfPHC+T4pWZQvn7mRsIcV/8cdfq1SVM1TLQ0HRHL0YwY8+xI\n4liZ0xlVplHEZpmkUmkUaIBSdmZjCmuI4+wqB9IXw6CmHozDK+YyEIop5uPmd690/VcV8G63y8//\n/M/zyU9+kkqlwq/92q/x27/92wD81m/9Fr/xG7/Bn/3Zn73k9/6kN5GlCZ/6d39KPBjw5BOPU6mo\npOYwDJmdnWPXrgWUfFUVxkqlqhaOliIniSoIUgpEFoMNnuXqzDzlumc7Dg5q+Cd0QbRsVQhNGn2W\nZQyHwyIY2LzvJEkoR6WiAzGFe7xgji9UNUzVAQF6AzCdhMkHfLkOfLw7MYu12BhcD2mNFvOLj4Xm\nPQshyETOMI4VJmqrBzhDbSSmW8g11zrXm09YKiNywQc/+EE21zfI04R4MCTNBZvbW0zPzFIqV3Dc\niN/9vX+L61eo1qcJKg0sJ8B2QmxXcZ6FlPiOQyYsyqWKYhKoDAmMS6LQ4cpYGl9N+0SRR7/bZXNz\nlV/5lQ/h2QLXsZibn8W1XAb9GN/1EY6tusXAV3RSJHGcgRXTmJgizXOmp2e5ePEyW9tNhBDUKlW6\n/T4XL13mXT/9M1y5dJE/+IP/k+Xly3zsYx/jjW98I9sbGxzYv58LFy4yMz3FxXNneMNtt3Lu/DnO\nnD5L5AdIS+AguPH4Mb7z3e9y4dJFKhUVXNvc2uKmw0e59MI5Pv7Rf8uxG2/k/e/9Baqz06R5jshh\nbXUd27IJ/YBbb72DGw6rmLcLFy6wcPMuknzAX37+L9mzuEi1WmVra5OpqUmkzAs4J8+Vc17kBypP\nMcsLoySz/pKhmr2k+t+XSxGOa5M5SqFbqZQJA59+r4vnePiup0KAXU9RYceGiuPsijhRNgCbWxvY\njqV1DRG9XhcpPcbDgY05VMFAsVQhNfTfq/FjCymvrhXjw8MX497FxjA+DC0KopbCZ6OOd/ScKnGR\nbZvnQalebQedJOTqk4RVFOtI8/2FUJYew+GQarVadOam8UqSEevMwKHjz7s5NRgO/vhgEyhYay/+\nnV/p+okFPE1T3vOe9/BLv/RL/NzP/RwAs7Ozxdc//OEPc++99wKwe/duLl26VHzt8uXL7N69+2V+\n8u8A8Gd//hy33HKMX/7lD2pGhVtk6wFIzShxHLfojNHpGIHnFUc0BSmMoIRcSAbdLr1enygKr4Im\ncqwiC9DchHK5jHGiM8wOQ1Psd3s/Rv/J8xzLsYshojHCqtfr+qia0Ol0Clzd+HO/Ej3I7MAmoNh1\n3RHv3XZUfJt2yjM7ttnxzSIKggDP9kk1f92SYDkOvuPQ6nVp6uGwwVzNfCAqlXAdq8D1PFsl1ru+\nzZ49e0jSjGeffY4nnj1Hb5Cx75rD1CZnEZaPE5RptTpUg4hOp8n09CRXVpa55tBetrd2CIOQPM3x\nXe2hLHIcy0XmMa5j4Xo2nu+yvrbM9uYV3vPue5lqTNFubZIkOU6ghq/CssH1VMEKlH/8YBBjaztP\ny3KYmJjigQe/A4BluYr94rt4XkC1VuPMubP8h3//p9x4ww1UG3Vet3sXJ0+eVEO4KEIiSbMh+/Yt\ncf78OU4+9SNuOn6cWrXE2bPn2dza4uzZU+zZvZ/Dc7t55tlnOff0Sd7zzv+Or3zpb3jzm9/M9cdv\n5NQLp3jwxCM89PSP+N9+43/hhusPqwLb6+N4Hp7j0u/1CUOVmbi0tKRYHJUpVpZX2DW/wKlTp9i7\ntId+v09Fu11alnJxlFjkIqdUDotBWC7U0bvf6VIul3FwxmAIEFlO4PmkmVrfvuczdBxa+mTruqqQ\nM+gjEVcN3KWUeL5LKazQ6/WYmZmh2WwyNzfPuXNn2bdvX5H2lOdZUQgNdGG6VNMdmwKmhnkWQljF\nJmG6bEvj1+ONzPj7MQXxxe6exYzIsrEsuyimppDalnPVydtxraLWmcDyAs60Rmwe8x5UYMjgqpP0\nSCWaXHXKHj+9jLODDOnBnOLNa5w6dYqV1Q2eP3VWv99HXqZ+6t9VvkKZl1LyoQ99iKmpKT7xiU8U\nf3/lyhUWFhYA+MQnPsGjjz7K5z//eZ555hl+8Rd/kUceeaQYYp4+ffrHuvCraITf/gppqiLQjBRZ\nzR4UhiuyXBeaoUpq1+yJwrDJcbXXQoLnG7cwlZhihopmsZgCao5l7Xa72GHNbms4taaYA+RpdhUG\nZmCWOE0KZzGD08dxTBiGBdxijoL9fr9QYEopOX7r3T/2eT/7+Hcwsu3x9yql1GTAH18Y4wMP87Vh\nHINr41o25AIhJdJ2yKTghXNn+fr991MOI0Sa0ev3GAyHzM/O0qhW+PCv/DLDXh+ZZ6RZjrRUQneW\nC1wv4I/+w+dZ3dzmxpteQypcvLBCkkm8MCKOh5RCFeQw0WjQ7bQBCxsb13EJtMrSdWyEiInjPkHg\nAoIXTv6Izc110mTILTcdRebKzS1PMy0SsQvVaKy5yBYWtqsyF8HCdlyeef45Wi01YFxbXycIPVqt\nJouLi7SbLZYWd3H69Gk812Gi3mDX/BxHjhxGCsl3v/ctKtUKrZ1tZmYm+cHD3+fgwYNMTk5yzTWH\ncFyXi5eXWVm5wkR5hka9QZKmSAv27N+H47o88dTTbDW3lceMrYqsk6S86Q1v4P3vfz+1ag3P85Wu\nQOtTlB2shvcijy99+Utsb21QiiLKUcTNx48XBVeFgVnkuRqADQb9q2Y2hmpraH2mGbCwSJMc2zVU\nOmXcpuZPF+j1ely+vIzrerztrW8FOTYI1Jex3QX1fYNBn06ny6SOHyzrJC0D9Zku8sVNyzimrdby\nSw/opRy5cpqGZby7NddLeQWpAaZFlhkIxR35v2SCNEsLxTRwFRyqiq36fSRWQU02BdzUHlNbTHMH\no1Oz+QzMexuHRwyUazaecarnSHCoNpTb3/zT/H+mET700EN87nOf49ixY9x8882Aogx+4Qtf4PHH\nH8eyLPbv38+nP/1pAI4cOcIv/MIvcOTIEVzX5VOf+tRPhFBc12F7e4uG02BgeLHFTZVEYUir1VOG\nQVlMr9+5ymM7jgcF37rTH4y6Y/1hqMWqPXqlOZZYVEvKqQ2u5miaAYLpaKMowqu4xfDPHHPK5TJl\nu1J0P1mWUa2qzEyzcZjFZbpdU2hf7jPpdDoFB9RQlArYxlH5muMPg5Sy+J52u63CeBsNonKJJFeu\naGgVGZaW2RefSUrcHwAWaIVZt9vlM5/5DLvnFyiFAY7jUp+YJKqUqDcmyITFw488xs/+i3+JdDws\nxyPJBI3pWc6fP8fc3CzxsE+pFLK8cpF6qUa5XKbfH+AFIf1+j8BzsVywLEkU+axdWeaxHz1K6CRs\nrK0jsowHtrdYX10pTmJhGGLZyq8b22JpdrrgwCdZTqvdVoGwWPhRRLfTwwvMyUSZLsVxTLfX5flT\nL5BlKf1eQrvd5qmnn+Sv/+aLVEtlwprLW97yJgRVkjThtjtv5+L581Rqi/zoicc4dO217DmwRKkW\n0WtlXFy7zOT0FAsLC3T6Kkno8SeeIB7GRNoUq1KuUK5YPPqD7/PYoz/gX/+v/5pjx25iZ6dNtVrV\n91IQJz0NRfQ5cOAAJ59+isXdu/BdFfuX5zmdjpoBlCoVBScFLmHoa+7xENd16fe7gMqclFKlCtk2\ntJtt6rUJhMxotVtMTk7QajXZ2NggiEK+/4OH8dyAe++9FyEl7pi2QA3aVLNi1mO/36VarZLnOZub\nm+zdu5dut0sURTq44Oo5jylAZvhsmg/HGXW3L+Z2m5DqcajkxacC8/fjasaiubEVF9w0UeZ1bEsl\n+ihywyjJCCgiECcmJlRRtUe+5ub9G2jUGINtbW0xNTVFlgl2dnawbZvdu5VIsNvt0mq1lCLXHtGA\nxxsws3mYE4iBcl7JM8lcr7qQ5++/+pdMT08XSThmugv6l8yVYsq27OJ7sJQQxHZ0V2J2dNsiCIOi\ne86zHMwQEQrpreO45FpOq9I9lFm77Yw41qDMcFzPI03UogsCXzn35Tl+4CuzItSAUOTa73hsMzA3\nRlGx7KKbsG37JaX0Jx/7xzFGjIKHhPndhP6DMbKydafiFEfOMIwAyTAeYjuq8/U8FyybNFfY+IXl\nFb5+3304lu4IhKDXbTM/N0vku/z6v/ofaTdbOBaKguU4dPsDBDb/+f/5Is9d6nDw0PVU67NYXole\nP8ULfIbDAZ5nUw5Vh1ytlMlyJStOkwTfdXAdC8eSyDxhe3udtdXLnL9wlmHcZ3tzVQ1qHYtBt89E\nvUa32ykGrrkUahMYDPDSgdrk8xzbUTYBjutpF0jleW7ZDoPhkHjYJwojBsOe8kd3XQaDAaUowHFd\nonLE/gP7dZeaMjXZoNvr0KjXuHzpEo7nsG/vXrI8Y2Nri3qjgW07dJsxS4tLPPLoo1QqFV5/2218\n7atf4+53vIN/+Id/KPIRy+UKgSXwdTHc2trizje8gXvuvpupqSniWAVLm241RWkaPvp7v8fUZIOZ\nmSle//rXkacplUq14DDHsTqhpHmCUyTZWKq7TxLSLKNcKjMYDugZPniWY1kSP/DpdruUShFJnPDk\nU09x4eIF7n77PVRrVQUDSK1alBLfVUXTNsPvQY+wFNEb9InjhE5XFb25uTlF1y2VdTc7Gkoasocx\nhx3RCEfsEDkmwbdtB5lpFosl9aBbavGTFu4IxdhBgmDEJikGhajibp5fx1VBE64/Uk0aW95+T62p\nRq1GtVorfPUNnXe84zcbkKFLmhNDtVpDSjWbM6f3cTg0TVWM3Ki5GwUzj2PjpmZIKbn9zffyz1pK\nX6vV6HQ6RfE2R0HjwpelI/WTpy1bDTcVgNLIDCbJYuLBqAs3PEtbm9U4to6q0pFhtVpthMM5Dr1u\npxhimtdDCjzP0UMku4BYgiCg2+1q5ZpK+nBdl3gseAE0dui52PYI3365m2G6kTRN9CL2dGqKUMM+\nf8QNHRc2+Nowybx24AdIqSbkuVAWvUKojaYURcppTQK4xIkOOs5ypOfQ7nTJ8xRpWfQGQ4IwQmAh\nLZuVtTWqjQXCcgVpufS7CWGpymDQZ7IxSbe9gyUkoePjWz6tQZdKpUylUsZ3LOJBh8Bz+PZ3HgCZ\nsrG5SrPVpNNpUapEiuuepCRpzJXVFd2lR6xvrVNr1NhsbdEfDCllKbkQRKWI/iBWv78eVk9NT1Ot\n1PQaEarjbG3TqNXotlpKCp2mdJOYTGZEwwo4NvMLC9QCnygo8fyzp1h47W7SBPYfPEScpDhOwNyc\n8oS3bUG1XufZU6cIoghpWZw7d46lPUtsrq3hWhalcpkgUIn3Diowwvd9qrUaDzzwAI+fOMFdd93F\nu971LuV4iEWr1cKPQtbWNgjDiGq1znAYk6SpskOQKs3edZRacHt7m063TRRFzM8vIKWk3x8QhhFB\nUGZ1bZVqtcowTgmCjFIpuOp0ajYPG/jF971vhDPbFrbj0Gk2EUlGVPXot1TaVZpllKsV4mGC74dU\naw0ajZQ4SdjSJmC9Xp9cd5sq5NdF2jrkJEmvwrqFVOk8UqpgBxXuYGMJgZXYpJYAcgQ6J9NV4c4K\nVrRwUPYMsRzg2CpqzcChQggc28YJR74jlmWRCZOkperI+fPnmZycZv+evWouhkUuJL12F8exitnZ\n6HkeMc3GCQ0rK8v4vq87aEc7f7Z04+ZetWGoYbTQp/0RYUIJpAKk/HHu+0tdr3oBNziROaqZAZ0p\nklHoFjvciMIzgkdMt60CHdICohgv9jCGi6G641qtVoTXGhGOOSaZTtnshGYXNsewcXjE/A4GuzPD\niXEBjxIJJVcNNF7qMkMVA8OY96tMkIwYSA1fzXswg1VlaKUxQpEjjcWrrRJ4MimxHZfA9xn2B4pR\notN5klTZ7wa+p4Y3tsXly5eZmVG2r0kmWdq3X5lXzRzQBT/DcT263aampW1RKYe4juqKchFTL1m4\ndkw26LC2uc7mxhrnzjyPFBnN5pbypCBjcqpOGPi4tkW1VOboket47S03E/geaZrRbLUo1SrUGw38\nMMSNU8JSRBRFDIZDcgGlcok4SfiP/+kvGAyH9Ho9XN8n8FzyLKO5vcN7P/IR3vLGNzEcDqnUKvT6\nXeWkJyX3f+PvefCb9zMhJplfWCBOEvZfc1BRUIexij1r1JHSJheSS2vLbG5uEoUh9957L/fddx9v\ne9vb+OY//EMBNZhYvMj3wKJQ/i4tLbG5scHf/d3f8ZWvfIUwDHnPu9/Nm974JuIso1qpMD83w+rq\nClEpVLLrMUOkXm9AMkzIMkGjMa1hiwzHdnGdgG53gB8IoqiMlBZTUzOKDpcMlRFXv4eFwl53dnbA\ntul2e3ieakDMKdEPQ9zIJhGCqK4681pQI0lj4uGAAOXd4bkOWZKQZxkvnDrF9PS0Yh9hIbIcgVU8\nP4HrKX66PUoCynM1azF1oBC8AK4FWEI7ZwqNzeuJkGUh85RUCIKSrxq/OFGsJ5T/esHM0n4kruuC\nNfJcz/Oc173uVqWaHgyROqLO932t2h4Um4GBToBC02EaKikls7OzVzG9xj1qxmuEwdHH8W7btou5\nmYFpDGb+SterXsDHeZ5mGGiKp+u6xMNY78wWQjpIKUZewzJD5IBl4Qcenv51xvmj45jzeJEeDIcF\nV/PFAxGgGEKYa9zXYBwzM0cfs2GYDtu8vjkdQFIMl15uZzX42zgWWODxetMaLXCnmGabHXs4HOA4\nLo5tDHSUqX2e52RSEoQRtWpVJZFPTNJsdvRiskiyjHK5zF/8xV9w5x13MDc7Q38wYHJqCmkpDH6i\nXkPkKY4tSOIeuXRpVBuUKi49y8axEiqlkuJq27CxusIPH/0hnmvR73ZoNnfI0ljBLYELucDxPSAl\nGyb0BgN+6X2/xpFrr6O1s43vu+zbs4tur0ez3SJP+my2ttk1OcdwoMMPdFTc2uoa9YkG7XZbGf0H\nAUmaEPhqyF2KIsrlMpcuXcL3PVqtHYJSxDCJicplvvzlL+PZOb3hgPndu+j1+iqQIRecOXce23YY\n9GMmJyepVqtMTbsEofIQP3/xIsePH2d5eZlcF6rJqUlcrbB0LUEcDxgMhjqD02N+1xwyV9xjy7Lp\nD3rkMiPLBNs7zcK62HTMqmnx6HZ7+H6AJEUIG9cJ8b0SWZ4RJ2qIXqvVlGpTD/T7vQFR5DPQ4d9g\n0+132Nnepj8Y0Ov3iZOEUrmMnWeFWVy328WybWbnZul29XzGgeFQdbC9Xo8kiQl8T8+FItbWNop0\nJ/VMOGS5yocUeQ6ep+1bM6TganjCdnTRNVCpgliEhv+EQEF7Wv1jWRaOZeE6Fp1Oq/icFKtlpPpU\nRlGlonBeXl1Ws6IoolQqs7q6qnxtNOaeZSMBYaVSKupBkiRF+LlRX5rCbp5FoycxtONxRpuhHI7P\n2kytGH+2jRf4KynYi7r0E//F/8+Xod2Y4eC4kbnZ5UJvZOVqJLvGZ0QtcABZyOKvogzpnzVulJ7n\nKui3H8e02+2x3VYt/nEJxp66AAAgAElEQVTeq1mI5j2an2VMsMIwLCiEcawEFDAa2piFUK3W6ff7\nr3hTzFDIwDjjys5xDrtalDbj3HJjoiOl8nAO/JFRjmVZeLZDt9ej3pjEtqHX62JZEs/3cawKSayG\nYMNBwtKePcTDQUHjEkIpWq89dIjNboorU2qlAIkHss+VS5dY2j1Ht9viyuVlzp4+w6DX/3+pe/MY\ny677vvNzzt3v22vtqupmdZFNstUkRUoiJWqzZFmWJTmJLM/YjoyJ5WQSZwYQZoKMYSTBOLNgMpIn\nHht24NlhRw5mJCsJxpYDO5atxbJiyaIskk2yyW42e69ean37u/uZP849991qUWIQjMHkAgSbzVf1\n3rv3nN/5Ld+Fpl/wlkfu5S//5b/EbBbxD/7B36fIEtotjziNCRqhRszgsLTQ5a//9N+h1QiIZ2Oa\nzYDJeMTly5fY3Nyk0Qy1CL9SXLl4mfX140RRRLvTwfU9ms0mL7x4jkYYsndwQKPRoNvtMptMcGyH\nnVt3uHdrq8xk9eaJowhpSXbu3OFtTzzBc+eeIS0KDgYDGkHIwf4BYdjg1KkHEEg6rXbFFcjQAmYP\nP/ww29vbhL7Pt7/9bdbW1uj3+4zH4wov3PA0XbrT6Ryp4hzbwfNcoijmn/+Lf84LL7zA3/v7P4/t\nOPzwD3+In/+H/zUPPvjgkSTDth2mkxmO47G42ML1fKIoYjIZ4boOnU6H8WQ0b8clCbZjczjoM5mN\neeGlF3XlmSZ0Om3GY632iRRs37pJIwzxg4BoNsOybcaRdmEaT7UOdhBNCTyPKIlL1InmjoaNBvt7\ne2wcX6d/eMj2zW163R69Xo8s04dQs90kSbVxQ6EUBQVCaTEzhFXGZVWzUdMmLblSCGQly6pJ1QqV\nJWSF1rB3A23+UBSKLM/IsxzfD8pqej7YVErx8MNvLA3LG0wmE7ZObtE/OCDw/LK/LiskWRzPmEwm\n1d5vtVpVJ6BOMIKjSqX1ZzZ/dvaRhNXgynUFbVX9c7OnzSzwe12vewCvw4SAkvU0l17VJsRFhTox\np575wjCnkBtMtsFO12UfTRZuTj63fG232wXm2fmsNG4wwVtP9qdH2JXmPc1pWocAScuq3mvOApvr\nJhzp3991mYdp3scsggq+VLZ0zP/Tv9ut7ofBsitVaLZbDV4lBXRaLQSCRx55hPPnL5IVBYEVkMb6\ntaPJFPIUpSBsNImiiOl0ymF/SKPR5K1PvIVPf+a3GBzsMhpFhEGLwXiE7zvM+l0Wem3GwyE/8H1v\n4Zmnn+E/+fGP0mw2ydKM/viQv/FTP8krly5TqAK/2WAynaKACxdfRsUxv/mbv0kcTXj0kYfJswwp\nBM899xxvOHNGO/EEIZ1uF9922dnd5YEHHmRnd5d7Nu+h02tx4cIF9vf3dP9yOiHJUmSRabXL0CMM\nfd1nth1sx8GzLW7cvMkX/ugPtVdmo8nBwQEA7jGP1WNrFJnix37sx3nl4ivkWc7hYZ/BYMBef5+t\nrS1WVlZ49tlnuXP7NmfOnOHixYvaibzV0lKhk0k5k1A8+uijZFnG9evXOTg4QFqSuAywp07dT3eh\nx8HhAUEYIoTkZ3/2Z/nd3/3dstpUDIcjXMen1WpzcHBIrqYEfojj2LieW7ZHBliW5OBgl+FwRJok\nrK+v0243WVxeYLPUOE/TlOFgwHNnn9G0/kuXyLKMnZ0dut0ujmURNEImScydw31sx6HdbpOqnOls\nStMP2N/dw7YtZrEO8J7nMZlNwZLkWcrO/h5RopMaAXhTj7RIqSsHSmGVLY+SyFNWDVridUyaFujt\nILEtt8q6hcgp8gRbgufZRJmxKLOxbQGlXhKI0pBDq1d6ns80iSrtI5QqpX6bFcFIOw7F5FlGlus2\nRhjqTLzeKagnWeYyRKr6UNLEiLqujGlT1bHhRVHQbreBefL6WtfrjkL50y//9pFs2Xy5+rBPCHEk\nQJtgaoLYPCudC8XUYTnmpluWdn1OkoRGo2QIMlcHM1VAEAQVbDA1fpzlECNN02rCbD6LIdzUGV/1\nB+b7PkXOkR7XQ49/p5zshbNfrfpiSZJUMDpj7WZ+p9ZAt8sJ+1zmtirJUGRZUvbzNJRK9/4shG1z\n6/YO//dnP0dWwjSFKnAsrcl979YW95+6VzMSr1zixIkT+IEeyE2nE3q9LpSC/+PJTEsh2HDh5Rex\nLMXB/gFCwZsfezNZGpNn+hleuXKFbneRi5de4e3vejezOMJyXP7b//6/YxrN8B2HO7duEgYB926d\n5P77T3FsdZm1Y8foD8ZcePllrly5QpJkXLl4Acu26fV63LqzgwJWV49xcNin2WqBkNimnxtNcV2X\nbrfLx378Jyo8/oULF/jGN75Bmmc4Zdk7TScADPpDHNth88RJPM9jff04H/oh7U24vr7Oiy++yG/9\ny8+AgFvb2ywtLfH2t7+ddrvNM888w9mzZ+m2O9VGF0WGKgp+5Ed+hNOnTwP6cL9w4QI3b97k2rVr\nKBSPP/4Epx98A1mWVhju3/qt3+LMmTP0FhdASQ4O+khpaXSLH+C4rm5N5QmiyJnOxty4cZ3BQJNs\nTt17H7btsLaxge161V4y7UBbahG6LMtoNpucOHECS1pMZ1N29/b49nPPcv7ll/n+H3gfX/rSl5hO\npjz+5jcjC0Wn2cKyJMIRhEHIxYsXSdOUq1evcv36NkVRcPr0aZ544gk6nQ6WbZFT4Lp+ua/0jMCx\nXbKswC5VDV3XYzaLaNgxWQ6O45MmOZ6nM2rXtSnyhCSeMRockGUJrcUlPNdHE7o0gcfz9PzAsb0y\nu031/y8NWyjFqkzLUmf/GnZp2i15UVcxzI+83oAV5nDL9AgqpR646yzsu70BTLwyyWn95x5+8/fz\n7zUKxZxSoHtud1OCzZeqBKSOYEjnJ7neLHOyjnmN0TcxN8X3/RJjPc+Sj6BOoJJzNf2sunCU8R80\nWW+aptV7modu+l4GZqQfWlFl1/VMvn4Zdphp95jDTH9+SkYpFe3ftm0su+z7iZpimgQh5vDKPMtQ\nSBzXo1CCU6dOkecZvh9SqAJHSgo0AWgWRbxy6TIoWF1dpVAwHBwynUW0W02GBzGD8ZRG0ObmzdsE\noc90NuLExjGuXb9Mp+lRZIoii0hTo6NuafSGsFlfW2c0GCAsC8/zWVpYYP/gkNl0Sm9xmTzPuLF9\ni2vXryOlpNNuY1s2rueTpHrznDhxAtfT+h1bWyfJ8gLHdQnCBv1Bn063Q5pmJGlKu6VlUffu3OGf\n/JNfLQflMUEQsLRUGkNEEQu9HkutRaSQjBcmqKJgfX0dKQQvnz/Pzu07pXZORDyLkK5iMBzw9ief\nZGPjOI899ihRFPHwmYdQH/tJdnd2uH7tOo7jMB4NyNKUxcWlstWVAorV1WOsHjvG2558Urd0kpjJ\ndFq6P+lkYGtra957RdJut5BSGxvHSUycJqRpzN7+Ha5cvcR4OMAthaje+MaHOba6SpYWRHHMzt4B\njUao0SrjCe2yUrjnxCZxEhFFEbdu3qLb7WA7Dq12m067Q7fToRGEnH7wNK9cvMhCt8d4OCRsNMjz\nDCdwOXnvvfQWF0HBX/nIR/F9n52dHS5dusTC4hLT6RRPSHAs0jwjybKKkJQmM2x7TnzJspTLly8x\n3r9GniviJCvXfYn3VnDmzGmazYBmo4lA4TgBIHBdDyn12tK9aFW6/YBbHmBKKa15bnG03aEMYGCO\nWPF97zuIQ/XErU7iq6CRNdCFGWYa711zGTVUoMKZZ1lWxYB6bPte1+sewOvNe1M+mP6SYUnGcVy1\nROoB2vy3kV9NSrxnfZBQ0e+hCrq6ApjbG9VvuPk80+m0osuah2MemDl1DbvK9LBM/76OZqkYWCqt\nhqbfTee30WiU7LrZkem2eQ9DTXYc98isII5j0iSq7qMW/E+1nZqlYUmu6zEYjQgbbQ4PDnjTY49x\n7vwF8jSn0dR9/PF0ws7uLpubmxy/Z5Olha5eaMJUQRHj/oggaHLhxXNsbp7E9myOH1/m+efP4nva\nsSeJU7IkI1cCUfbuB6MhD54+QxRF9A/7tLsd4tmMB06d4pvffArfdTl+fINPfOITHBzskec5J44f\nZzAYoJRiNJzQ6y0QhiGXL77I4tJSZaqBsHjqW9/i937v92g2W4AWSWuIkJajW3T/zc//w6oMbrXa\nGss9HjMcDis6+97hHkop2u02f/InX6Pd7mBZVmVafP36dfoHBzz++OMsLHX50f/oR9nZ2dHPOEmJ\nJzNiS7fhWo0mD505U258DSOcTCbs7OxWOvZIfejHZV9cSkmW5iRkKBSW5bC5ucnTTz9Np9el0I5g\njEYDHEebPFy+epWXzp9j0N9neXmBRiNEKB38W80m0+kMS9qEfogUjibkOA6tlRWEENy+fZvbt29z\n79Ym9993CoDtmzcZTTX55Plnz3JsfQ2V5ci84MTaOpPRmDRJ2S1hg2me8tv/7+/whje8gaWlJV55\n5RLT6ZT9/X1OndK/s9frEYQhru8RhiG+7+sEKNGzACkESTxHU6ks5+zhDSQwmA0Q0mY6nTEYFVhC\ncuahM9y4cYOr17Y5eXILy3LwPK8kMOm9KoUNoiAtUopCKybqIBlXUEAh5o70sgzueWnUkmUZKkqq\ngGpY1yYY11sieq/mRyp/02IxSVidxdnpzB3GjDxGmqYsLy8f8cN9zfj5b/Wqv8CrHswMTtq0DizL\nYjQalDfFiLJDmpYknDLrznM91a5TXuutE9NDNpm8ob2+Wk9bv4esSh4zODVB3vS8TMlj2iL172IY\nY6YPZts2lnSq1st3gweNRqOqvKrTenXJ5mHbpg9/1NVESkkQ2khh6UGOyjVyRFoV8Wg0GoPSwV5I\nwdr6Gs+fe7EajKZpih822N3dpd1uc/36dbI01r1L1y7tu3Jd2rYXuWfrXhqtFrs7d7h1+yYKwera\nBoPBGNf2iTNFrHTrIImisrVRcPGVl3nk4UcogNlszHu+711kWczWiS3SLCGejVFZqkv7s8/oIaXj\n4wiIJ2PGh4csLPTY3t6m1+tpbHuzyfPPP68PYVuTftwSNaBUwenTD1Z8g6Io2N3dq7RwXNdlMNBr\nbHPjBJPJFCktPvSBD1Ytsbe/9W1A2forh4OiyDnc28eRFr7rEUcRvV6PJI6xLW1sC1qrGyGwXIdO\np1clHkJorLXGKjs4Tkk5V8YFfcp4PGZhYZGtrS0uXbqElJJ2q0O/PyBKEizL5Zmzz1EUWfm7FHGc\n4FolgSxV2LZkMovJsimyTCiSOCUrkyTXcTi5ucnhQZ9bt24zHo3wQx/hOJw7d44f+sAHeO7Zs5x/\n7gXCICDKcha6Wv/78tUrzGYz7j91irc8+iYefewx+od9Vha0dd/6ezY0K7YKloJZPGMymTIbTvWc\nQ86lVi0hsS3t/3pw5zae5ZFSqhfKAseFpt/Asj2WVpeJ4gSlJH6jRbfdwXH03s6LHJRFmpqseC4k\nJYSohKh0NZyT55l2/xGaAa6YZ8BallongKaaNjHAZOnmtXEcHfEFuNvcxbCH725jmSrfIFfG43EV\nb17ret0D+N14aaVUhQzRztdedSNM39d8WSFEJe1qMlfTHzY4T5PBGtVBE5Adx6veu/4wTNA1p6DB\ndJoTsX4yGsz33QNVc0iY3te8NNQB/7tNl8MwrA4Gs7DvHpICNUq/W7WW9CEzH+RIy6LIC1ShcGwb\nz7VIs5w01+zRzc1NbNvShg01TYckK9jf3+erX/0qf/M//Rvs7e5w6ZXr3HfvFs1Gg0nUBqnNnP/8\n6Wdpt1sMh33uvXeLwWjK7Tv73Lt1P7t7h9hNSTNsEI8Tjm8e5/LVS6wfP4awlNYzEZJoGvHed7+T\nIskJGwFf/+of8573vofRaMhCr0OeFUyGhywtLJNmGY7UJrn33XcvV69e4+r1a7xw7pxGMaClVS0g\nKw/tPE84ubVJv3+AUkazQruymIzIdV0sKZmNZ9jSYjAYsrS8hMoLkjQhy5LSvm1CTkGj0SRPEhph\neGReYUw/PMet1o1t2SgEs2lcrhHNNgybjTKQW9iOTZqn2qikEFCA6/jaYGEy4JFHHmFz6yR7e3tM\np1NO3rtFb2GRvf0BX3/q2zQCjyLJyXMQWDTbXabjMZPJjEbo4HsN3KZDoXL6/X65R6xSCdLSyBPX\n4+zZsyws9Fg7vk5cZGysrRHPZmwcW+Olcy/S2Wiw0OzgSIvD8SHf+taf43seJ1bXCMOQL/7rP+Jd\n73qXht91euzd2sHzfGazFD/wGfQH+GGAg00jCIiiGUWR0243EAqtTYL2ylxsd9m7dZU0jkqkS46U\n4Acunq+H0UJanHrgDRS5YUBrpyfLMq1XVQXwPM+qBMq257orOsmzEKrG0agF+yTNqiGjycLnwX+e\nRJk9a/raRmjOZN91HLllWfT7/SMiXObnzHuYBPS1rtc9gLuerym+UpCmifZKtPVDaLf1Q06SFFFr\n5BvXaMfxNHVaSGZRhG1r9/q8KFAGqSLKrKxQ5EWBVSiUkBpCZtw6pNYyFrIuZjPPlPRBoBURtX6C\nduG2LHkEXSJLrK7pgQe+T5brRZWUB0qCIo5efSCR5xlRNCsDtpyjT8qyazbTUp71g8gI9JiFZXCw\nWn7Aqvp/RZZj2w6WLckFCNtmZWWZy1euYnkeWZ6DkPR6C+zs7vPQ6dN89rOf4x1veyv333eKaDZh\nohRWGJLGGfv7B+VATrG6ukQY+tzZ2WNt/ThZrlhaWiG3ND15OBiwec8mz1y/zvHjx7l+7Robxzf0\ngWbpmcfVa9ucuOcEm/ec5PLlK/R6PcIgLLWl4dr1azQaTTqdDpPxhMkkYnl5hTjNuHDxEru7+0jL\n0fR/wLEEjuWgoowzp88wHI0I/AApZEldN2vJIppFpIUuoZM0odVqMptNmc5mLC72NBMS6HY75KWe\njuW4RLMIaVm6t4quoFrNVomY0ge34zrkWUEQagJLUWiNjul0WrUHC0pBowKKNMOWNoUqGA4H9Ba6\nHB72cT2P5aUVPbNwXbRsq4Vgbttl23aFQ3ccl4XeAgILS1ol9t5haWkRy7IZDPqkWYpj2Vx8+RXW\nNzZ47LE36eA4GtBqNRkc9vE8nyfe+lbCIODixYusra/jei69Xo+lxUWOra7SbrVJkpT7T53i/Esv\nsby8hCoKmmGDKIoQQjIZj+j1OsyiEt0htFhd4HkIKZBGeV5BXmSMx0OSvCBKM6RlIy2NPpFCEgba\nwWZxcZn+4RBLOjQbPlGkA7SplI0+CsxNxm3b1gQjk7RR6pSneuBvOzZGXEsI7UKkh4hFqaUyb5vM\n2Z2UDPLiyICzjo6rB+Qsy6pkrZ48vhq67rWu1z2A25aLKhLdf7JcXN8hzTSjyrZ0JpLnue4T5gm+\n75FkGbblUESR/gqiIEkUnqezM8cyOsIazG87LtK2saXQVFlR0s0Lhe97KMrWgiWwmN/UrGzF2JZV\nQZ+0nsG8VSIAZUkkWv9YE47y0mbEosgzkryUenVtnfl8l0tKUQnT6xPfxxiuzuFKgrqWsv5MaS14\na7ws5eJ0ynK6AM0GRYHUYj4f+uD7+eVf/hVdAgqJsBymswRp+bxw7mXe8qZHWVpawXdtbAGObbG9\ncxvf92m1PKSVc3P7FsdWV0mTjGg6o9vqUmQZjrQp0pwb16+zvrqKa1kEnk/oawJIVmY2oHVuGu0u\nfthiYckq4ZSKidKY2GbHxwk0ZveVa9dYW1kGBVmmePqZ5/DDDoPxNo1GUz9vqfv1SRzxox/5ML4f\naJeh6iCclZmaRZ6lOM5ci8IPdUtMKUnHbVXiR1maktd6ngKJlFpbI4l1gHccj0KBkGX5LS3yXNvS\nGY1paRv39rnuvCUEwrK17Z03b4uFzVBn915YBguJ6+h1KxQ0Ah9LCqDMHi0L29FDwCxJSLOIwPVw\nLIEMHAohuH7jmsZzBwGddhel4IEHT5cBxmY41EQhC41KajabDIdDgnaT93/oh7h8+TJxkhBHEfcc\nP87u7i6H4wFvetObkFLSXe4xHo+5un0Ntxa4dMvAwbFdgjCgIRsaIRLMB4tCQhLFtNptLl29SmF7\n5NIlo0AqgZQWYdCmFbaxhc1kOMZ3PSxpE0VzKdssU9V+uZsPkiQJrqOZxCYAW5ZFmqXlPpjvrTzP\nGU8mlX2cmbWZdoheJ7qlqclC/hGkmQnedU0kkxTWWzF19J3x0AWOZOjfNX6+5iv+gq/xaFgtaJTW\n/PB9F9vW5Uia6JM0CL2SxZiS5ZrMk+UZqBQp7TL7TnAcu8zKtTVSnmdkSUKWlO4ktoPreuRJRq4K\nojSpBg6+Y5OUjutKgbQschRprrCkwLJ0eacKjbUOwrC0OcvJy+CaZgVKWAips3/X0ySkvJxAzRI9\nqHm1y6BfNCRRI1fqiBqz0E1WLoSoTndz6OhDRfdXszQlzlLsXMvz93o9JtMphVDEWcqx5RUeOHWK\nnYMBg8EIx9E0fpQgSlMunL8AecqHP/iDpHHCZDKHVC4sLLB9Y5ulxV7ZA1QsLHSxHYl0bSxLkEUa\nmmZZFpcvX2ZlZYU0TTl58qSmmJfQy+l0qk2nkxme77C7t8s9J+7hzp07eL5XtYHarTYrKytceOkC\nSysrXLl+nf1+n3Mvnafb7RGGWvFwNosRQoEqePLJJ9nf3z/SCqtDPs2GMqWraZvNh91HnZJAt8xQ\nEsuak7rqaASYt9r0UFnLG9yNVDCu5tXArCyx6+p8ZqPXdaON3ITj+qUGd7PC/+c5SM+i0Wxomnyn\nR0LCwWBAs93m+PHj1e9OkhTbmlv+JYk2/bZsQZJpbPRoNOKll17i7e98J3/0hS8wm83Y2tpiOp3y\n0EMP8Y53vINvfetbXL9+nSAIWF5eRkrJiePHSdOUZrNZQWn1LGZSVY1ZlnHz5k0dB0pURlwakYwn\nE9xGSFGoMpMuqnvU7Xare218Agp1dFBYl6wwPeo6DNC0XU37sVFq18RxXElCa0ju/FkaSK9ZO9pd\nSlWAgqIoGAwGFdihvibM2nMcp0Kl1NeTGXzCHBn3H0QAbzabR4aESRIfKUGChrZES9IUBASNEFVm\nvnrooMoFXxCUi2Q2HYOgDNZ6gDKdzsiyAmOD5HkNEJI4zpCWRFoOk1lcCuvogCvR0CUpLS3opASy\nKN2rhWZ4KQRCOgilNxBlBpwXBVnZ+tFDFQ1dcmyvUmC7+xLCbMKjQvgwJwXVWV+mRKszLitMaqGV\nFHVVoBfJcDjUTvOibB1MJnz0Iz/Cr/2fv16aUKQILP35hGQczdjv9/nyV/+EzRPHOXXqXnIyJuMx\nt2/eIk2SKhju7OywunqMPM+wPU+LaBUFKysrhGFYDWiNu4khR4WhzjInowlpEiNQHDu2zP7BLsfW\nVrh16xa+79PrLTAYDIjiGStr63z9z77Bnb09+sORFo7yPWbRDI19hzxN+eEPf5CbN29W72nun4Fg\n1nuWk8mk2jTmc5rrbp5CmqZlWyKiqG3CPMu1T6IUWiFPafq4qvENzO8xTN76jENnaGntWUocx61+\nVjvcKIJABxe/0axer5nJCa1WgzzLaQQhL734Ek++7UmwLI6tHiMt8iPkEt/3sOQ8IDmOTZ6nSMuu\nDr2XX36Z++67j72dHd73vvexvb3N5uYmu7uaMr+9vc36+rqGnBYF/X6/YjWnScpoNGI0GvHggw9W\n8x+zTuuGJOvr68xms+pg/8Y3/wylCtI0wXY0xV7Hh5S1tQ1s26HRcACJcCziuG4EMZ9lGSCDGUDa\ntq3lFoQ4gvbQh8uo+lz1g9jA/JRSTMqM3Nwzs7aMHlN9JmXus6mMzVozWbb5f3X8t0Gw/duaGr92\nl/wv+JpMI5I0R0ipVdTcAN8Lcd0AgUWaapiY1jJwiOOEKIrJ8pyiHMhZUuI6dlWuOY6jJTaLgmgW\nMegPtE2b5xH4AQu9hYqt2WhqyrXv+zTCoMyOimqDW5a2M7MsLYmZZRlZqr0boygmjpOSIKDxno1G\nkzAMCcOAIAzxAh/P1/8opUjSpBp+fuclNH659COsT+/NsMxM7E25BXO4Yj0rdz2PNM90r68UUlLk\nBL5PHEWovEBlBaHn88gjj7C7s6ufx2RClueErSZC2rz08ivsHvbxwiZxVuB7HmtrawghWFlZISo1\nZUajEUkSAwWTyYgsS+n3+xUMb3FxUYtPzWYMh8NqCm98TvMiqxAcqIIbN64RRbMqMAxHQ1zPpdEI\nGccJe4MhN27e4vDwUJuLqALHkcymYzzXohH4PPH4m6vhtRFKM5dBBNQrmkajQRAEFczPQLxMpmwG\nyY7jkKQJlm3RaIQEgU8Q+ISNQCNp4ogkjSmKHMvWWjOWZZVMQK+CoxkCmF+2KkwWGAQ+YRiUm9ho\n4+fVYHs8HhHH2pFeOz1ppq8qGYtxyU0YTSY0W20KBVktky+KooKtHfb39ee0rCpgHxwc8NBDD/H8\n88/z6KOP8sADD+CX+uYGFvvnf/7nnDlzpgqGf/qnf3oENODYunWwvr7OE088wblz5zh79ixXrlyp\n1izMNYYMC7HRaHDz5k38IMCy5hm0Zen77zoO6+vrFGX709gqVu1Da64lZPaP+d4GXNDtdmm1WpXe\njAn2BvhQFAXT6ZThcAhQHfhhGB6BCvu+XwmCHR4eVt/F/A6jg2Qgk+bzmfc0V70qi+P4iCfva12v\newb+zHMv0Om0q/LLdmxUOYi0pMTKJWmWkKb6FPa9JkIo0iyphougyxhVSknaGKSG1gP3Ax+BOLJh\nhTRQq7gSw3cch67X0tKftXKqyA0RwCmn1OVgMC9A5RqmpLT922wyJs20lrBja49A4+jjeQ4ohee+\n+m3Xg1uvaqUY4at6xgLz7Nt85vogBPQhkxc5oPv/1UClzL5aDV3WSkeSKsUHP/BDPPv0sxRFTpan\nOI5dYeD9RoOXX7nCdBbz8Jk38LYnHuHC8y+Utno6i7l16xbHj2+g7ct0i2V3d5elpaVqMY5Go0qW\noN1us729XR2iSktGJnEAACAASURBVCmazQZ7u3ul1oTNww8/XEmjNppNxuMJg8GQ0XjM1546S5Im\njMbT0hlmRlZkxMMpthTs7e7wX37iE8TxlDTNK1lX3/crZI8phc2hb8pas8HuPjzN56wz8cxBap6J\nCRT1eYSUUtvaibnW/Lx/Ond7Nxvfceyy/Tc3ODDD7CiKqlYPwHA45L3vfS//5t98reyx5trwIWyg\n0AicNNNMU89zETI4UrmZvu5oPCwJdC7H1laZTieVgfny8nKFCjODwPPnz/N93/d9jMdjVldXtXFF\ns0lRFJWeD4UiDEPdIz885I1vfCN7e3sgNMRwb09nu57rkpWtDc/z6C0ssHdwyDSK8HytiT9f9wrL\n1ocfKimtzWIsyyHLkurzKaWqLLmeCJn7XbWgSulqkwkbDLlSqpLTuPvZ1weP5jkHpVCaeU29wjL/\nXQ/Y9SzfVAV13SPDXzFVwPe6XvcA/o2nnqZQpeB5kiAti42NDR5//C1srG9gSxfH8Wk0QobDIcNR\nhJAKKQWOdLBtSwPvC4mw9QNWgMoVlmtjC1llBXaZFWRpikD3itNMP0ApdDCPZln1oGxb6zTPN19C\nlmq0goafaTRMURQacw14rkOU6H5ZgelLZ0xGs2qg8d3gQbNpVOLPNdqlvsjMgzWByGSVBnteDx5Z\nniItSZHnRPEUKXSgb7Va5Fmmy/tCQQG+4xAJwc/+V3+Xf/Q/fpLQD0nzTA/LUHhBQDyLeOnlV2h1\nuly5coF3v/NdNFtdTUu3bJJUy5waB5WiKLh58ybd7iKTyazW5jFZRkq3u0Ce6+eYpjmh7zEcjji5\ntcV0NsN1fLJ8wixKtA5Hr8fewYAvf+VPIGhz+co1Or02nuswGmt9EyEgms342F/9cRYXe8xK2Vyz\nIYqiqGCdpi9rHGJMuW00ccxmNO0TU27Xf3Y8HjMej49k1XA0o6qo0YUO/J5ro5RGOpjXFo6FKnJ8\nb+6ZKsVcM8Mxwb08sKtMGskPvv8H+cpXvlIGMQ2dG43GhGEDx/E42O+zde+mHgC//HI1g2i1WhVJ\nzWS+F0op2NkMxoMR68fW6B8eakOMiXad2rl9h06ng2OVn8myuXXrFo899hivvPIK9913n75Ppd/s\nwsICs5kWhFpcWkQBt7Zv0mw2CcMGeZrj2Aq34xEnKX/2Z09x7vxLRElKQYYolTWNQ9XJkyc5ODjk\n9q07pGkJw6yR60wgNNWWyfTrAVEVWdVKM0HYHKKuq2VpTXY9iyLCMKxEzA4ODuh2u1Umbiq7NE05\nPDwsq+/wyMFg3sMEdCG0U4/5zL1er4oNBnpsWJmvdb3uAXzjhJ5kZ1mG5WjNghvb2+zs7pIkCauL\nmjG2vr5Oq9nCYGulJZECbNfF9zW9Pc0jFIpmo1maMYBj2/ieh+PpaXehFJbjkKWzqvdd5AXTSUya\nJmh/Qr0A87Qcrpbx1hIWwp4zJONYD00pIFM5lrSqjNPzPG2IKiR22KweZJ5lGhr3Ktfi4pLO2MuT\nv35616GDdbncOs7c/J0jXQo1D0RFoQ+wQaqV22yp3VUkgizPEJ6PZ0t+8P3v43Of+xd0FnrVYi8K\n3edrNFs8f+5Fjq8t8c2nz/J2N6DVatIfTnC9ELDwPJfhcESSpJwukQ3dbperV69qT8rhkCiK6Ha7\nFEXB+fPneeMb3wjAQb9Po9UiijKmswSFw3g8wwta9IcTzp+/wLe+/W0A7tzYptlqQ6ENAlzbIZpN\ncKTg/vu2ePCBByjyXOO0lZET9Y/MEDQpab5BTAZlJEBN9m0OpLoImcmUTPvDbGTDIK7zBkzGa/5s\nynGzYc3v062A+ftOp9PqOWsxJqfSlzZXksTYrkOz2WA4HGFZPkmig12SpDS7XV65fInhaMixY6s8\n+OCDVQVgMtR+/xAQHBwcsLS0yHQ6ptvtsLy8VBKH2lV7wxxyGxsb1XpzHIcnn3ySL37xi2xtbXHh\nwgW2trY0jK88bMIw5ODggH6/T6fXpdHS7kBJpJEpRn7CkjZbp+7j+ZdepNFsMpv2j0hrtNttjh1b\no9PpaJ0T26UoqCrVehvRBOy6nKu5DPbfcDPqg8iqQq+1ZIzAHlBl1nVrNZPsra2tVUH51dog9flV\no9E4Ii+dJEnVqjMCfv82PfDXPYC/7/vfqyE85Yl4eHjI9evX2dm5zXQyYnv7Gq7r0e8fgNDmr46j\nyy5AW1dZljZBdkv7Lq88HVOdkbgl9hMBYRCyuLBAlkzI84xOt8ODDzzI6uoq0vEJ/KDUGqYKfGmU\nlmW1XeLFNW48S1PiRNOkLVM6SweUJC8KhJTkCvJYtzQsS7unI149A8/zAqV0L12TCKIjwvFmMZhM\nMMuySlLXZOh5rjH1yrR2pAn+EkH9MNB4aaEgjSLiJOHtb3uCKJry+//6D/HDBtKyyVVB0AiZTSNs\n2+HOfp8Mmy986aucfvB+up0266srGu+cxCwurLK3t0On3WMWRzXm65xxZjC6S0tL1SH1uc/9S376\np3+aVy5f5eTWFkmasbiyxm//9m8zmky1zslwQppmBI0meZaiShciKQpUltNbWeSn/tpfI5pN8d2y\nFSXkEbkGc5nS2gyRTPA1LRSzuU01Zj63udfT6fQ7Bstmc5tNbYKAyf6NUJrJ2kxWCfOhVb0sN9h+\nkykblp4p9/M8Zzwes7V1ksuXr2olRWGYnDFJknF42OfDH/4wBwf7R+7DjRs3sG2bdrtVDbiFgOXl\nZS5dusTi4iKtlsa0G835p556iq2trapqEUJbGA6HQzY3N5FS8o53vIPnn3+eTqtd9f1nsxndbrfy\njpVS4voOWZIyHk9ot9tkRU631+HrT32TNMvotJqMR/tVu8jzPMJAB73BYIBje0ziSVl1FpXDjqmg\nzL01rGfzLIQQZGlpVl6juZsMuS7tagag5iA3bZ562xKo3rdOSjT/1FuhBudt1oc5ZMz7mMohTdNK\nevi1rtc9gAeuReBoTeBm4HBsucsjZx4gDDUKQFqS/f0DnnnmOW7v7NE/HBGnqQ6ClqW9Mi0ttZoU\nGdINibMcVIF2+s7IlcItM5f+cMrhYEKcTpFSkF+7yde/dRZR9s9VofBdl2ajSdgIcUqvRaOz4Pu6\nnROEAUH5MLXugvYjFFITcrQ4TolQELIsw7RQ/ndjYs5mEZYlmc0mFRXXLCCzoOoLxQRsEyDnv1cd\nyeRVOcEXaKfvLM/JswSV5wgF0nFxLUmRJvzwhz7EnTs7PH32OSzbwXED+n2tvZEmKcKSXL+5w8rS\nAl/9k6+zsbFO693vxLZdWu0eO3fu4Ng+SazvwbVr11hbW6uyDKNHkuc5CwsLlR71eDLTJslJjrAc\ndm/t8vy5c9ze1QzKly5c0rR6L0AUhu04JU9ThIROu8Xf/pt/iyxNcWwbpcDzfFQtE64Ts2COszWb\n6e7+o2lX1fvW5meCwKtaJCYI2LZECAPLM2YNWoQsz+cHbr2aqqMmdEBQJUnMwbaD6hkazQ7Pm5v6\netIlzQruu/c+rly5pttFSutnZ5n+vKPJlG9+8ylObp5gdzSkKDTTdnNzsxrcmUAhpeTmzZucOHGc\nPJ+r4nmex97eHu9+97s5f/48k8mE++67T/fRI63rPplMCIKA8+fPs7S0xMHefvXzvV6Pfr9Pq9Vi\n93CPwAsIPB/Pcel0uty4sU272+XGzW2eefZZ/EaDK1evs9B2CcNQa8u0WjQaDW0OXOoYmUCqXxNX\npir1eYTB29dlM8xQ0QRU893N8zavLUror0k46jpJ5jUmYzdJV/29zJqpt1vqlVx96Gv2tKk4ptPp\nfxgwQpHG2I5FkaYIVSDQhsOjSGfIeBrWdmxjGS/0iOJLRINYO8xnus9dAHESkxUC19WbN8+yakPF\naUYclwqBto0lLaQnyfKMrMixgwC3fPh5liGkxSguGEaj8kFn1WY1JZeQiiLVRsf6wSnCMEBKUR0G\naaIF6T3P1SL2hdY0bzaavP1V7oWGK9lliaezu8l0dASCVGdnmsVXH0oppSUx7XJqLyyJKKf5SRoj\nsCjy0uTZtrUwfp4yixMsx+EgT/noRz9C2Gzyh1/8Mq2OhSoEs1lEp9slVZo4snc4xLEEN2/e5l/9\nq9+n3Wyw0G3jOw7vftc7AZ3x7OzssL6+XmFrjd5NkughVL/fJ8sy7tm8lzjJuHr9Bt9+9jmUkNy6\nfZv+YECeQ29hiSjREDdVZERJRJFnCKVIk5T//O/8F/iex3Q6xnd90lQfgGnJnDObD6g2/pwcRYWu\nMNl2ve1hNl+dkFEPembz1bG8dUhnluXVJjeluMEcm4GpCegw750DR0p8854m8GeF5iisr69rPfOw\nwWSmM+9Wo8mdnR2WFhd55uxzeK5Dt9vGtm3uuecejehwHSYTHfi63S77+/slkUxVuGxTATYaDc6f\nP0+r1eL27dsVCsr0e5XSAk2Hh4eVwJxxmDLolSiK6HV7xFHEaDii2WiQZTknTpwgilO+9vWv0+l0\niLIcy9Fs56oVUSg2NjbK+ywwhsmmdZXn8+dpnpO5f/WrKAoyNSdLVX93V2Ctt9pMUDeSzgb+an6/\nOfTNc6y3X8zvqA+2jUqpefaG8FMfjrfb2mzjta7XPYDnaYRUVqkQoZlNaZZpxbRGg2E6ocgLet02\n62vrbGwcZzSOeOn8y9ze2SHJdKvAcS2SSUKaKGzbQQl9cz3Xw7N1P9ySZQZaFGRK4PgNfCkxHpOi\nkCA0tlTaEoEiTjRRCKlAguv6Jd03x3aUHoKikSnjKMW1Nb1ZCP250jRjMk2qcjhOFaNJ/Kr34pd+\n+VdAwOrqCpYtWVxYJAh9ut0OjbBB2AjxPR/bFhR5iipp9Y7tVL1e27GRgCV1FpbnRSUaVOQFCH3w\nSSmRtiaZaBiZ1F6aaYGN5KM/8leI44Sv/ek3aHcWUEiGozGWE9Bpt5lMRigl2dndY+dOwcrSIsPB\niNlkrNsgm5tsnTrOcDzjzu4BRaGFxPZ2d1leXibLMibTfXb3DukPxowmU37tf/k/sB2HZqvNt59+\nmt7CAlLadHtdRqWzehTHiDzSkgNFzkK3xT/6H36Bg/09prOIRqPJbKr77FEUkZd66fU2VD1Aep43\nh2ZWCBOBZWnqu27R2biO3nR5VmBbNkLaZWY8x3cLIavSvf4eVSalNDfB/IzBDOtgoj9boeZSyaY/\nLKX2rFRK4ZRIKEtKkqkejG8c3+DkyU2uXd/Gdmymsylh4FPkeRWMd/f3ue/eLcYTPXQt8pzReExR\nzimi2YwkjrlnUw88NzbWSWK9bi9fvsz6+jqbm5vMZlN6vS5CCJaXl9nd3aG7sKAHxJ7HaDik3W7T\n7XSqikNaFr7v0Wg2iJOEwA8YJyPG4zFBGLKzu8NkOuPGjRtMoxg3COh1ujgyZjIe02q3CYKQra0t\nsjhFSD1bMsPGJElwbM29MDR40K2notBVkLmXaXbUb9Ic2BV/wrRUav3vOrrEPFstETAngJmfg/lB\nbp6dqeBMAmbQRGlJDBJSVGgkE8CNtPZrXa97ALd9h6QsXyfTGUEQkgtBYVlM4gS7VNXzLQvyjIWG\nx2Iz4PTJ9zCZTJjFEePxjDzPmeaK/uEh/cGI3b099vcOiLMpjutrmybHJTXlrisoVEKWlnoGlig3\nFghb6M9k2bihj8rzUuDGsKQUwi6VCW2BtOYnfpGliELT9VECIV0taakECkGBZTor33HFru4bbg/0\n0OTGYVwGl1wrtQkbSnKIFBr77rkOnW4Xz/e0FIAlkRR4MqfdbtNua+nUtWNrKBRu2R802O2d3V1a\n3QbNMKBZkp5GoxGjvV0++L7v54FTD/BP/9lnUFLb3Vn5mFE60/fGDbHCFrmC3cGM2wdjPD/kMJ1y\naecFuheu4nkez13cqVpNRZ5jiYtVSyVJEqbTKaPpSA9osynuaMLKieNYlsD3fAaDA5phyGx6QBJH\nBI5Nkc544okneP/738/+/qFuUaQZaabbT9lhnzzLaIT+kWBqgq3ZYKbPXRRFiRBRZYWitTpsYSOU\nJE8KUBKpJCpRFJYiVxrJZLDeeuOq6s8KU43ZFLm2+pKWYQtq7R8hFGmalASOgjAIyfKyhFeg0IP2\ndqdbVVqmH+84FlmekOcx//GP/Sif/IX/CVcE2E7ALEloN1vc3t3j9IP3c/GVy7zlTW/B90I8x+X2\n7jbtVouwtwjA7cGYxcVVppMU2/YZDzUzd2d3h431deI4AuViW5a237Mk49GAMAjI0wxbakhgr9vT\nQ8vDAxYXF3Echzs7OzjK0Vq4sxyv4ZM6LnGWMEtmLG+s8KXPfo7pbMzCwjL9wwGB7ZJnKYHn0/AD\nTt27hQSKPEMriWqbtTwtsKWj6fF5jrT9KuPVkF8jYFagpMB2bWRWoKSWlDCEnjhJEFIilNKyCUWO\nShNEcXTt1LNkM6Cu/9u81gwljX9AvdWplAKVY0mjXwSz6ZgojvG8oAr8hufxPePnv0PM/f/16vf7\nZTndOjJl16fcFM9zcByXyWSK47o0Gg2SJJ2b+Qot1F4UsOy6HF9bQSnwvQDH8RiOxzz77FkuX7rC\nYDQCBX4QoijI8gJhHDcKzdJ0HRfylMDWErZZnGDZOnsVUuJImyhP9aJ1HBzLKcWISmEpDL3aOHzo\nwKvKTZ3leSWOdPdlgtzd8CEpLawSrmcpsGwXQcEsToiTlMFEt5tsx8Z2HCgy0khnbNKSRLMI33OZ\nTme4nltiwTtIKTk43EfIUqdFStZWl3nggQdYW1+n2Wrz8EOn+Xs/93f5pV/5VYoiJhcS27FIs5i9\nw6hCSPi+g1I2URLpwa6UXN8+0L1BNXfdNtlInmVa1CjLmM5mNJpNfN9ndbGrPUbTCJQkFQmOtLi1\nfZNut4Vt2fT3d/mpn/op3va2tzGdThn0DwhDn8DT/ec8jZEUCEswHParlkkdj2sGg1mmg6fhEeTl\nwV2onCROy96nrCq4LNPMXcdxyXNbD9MVFHkJzQRyYaSPZYlMKodRwuhEa2cY481pYIlxrA0dpJwz\n+EzpXp8fzMv4BkrlxElKp9Pm7W97kqefOctwOERKi0E+xPc9tm/cwrUt/p/PfIaf/vjHuXzlKstL\nC7iuRonoFodFGPhYtsNwMGRxcYkXX3yRjY0Nmk2N555NtWRuo9kmTlLsci4ilcB1fZIkZ3Nzi/39\nfaJIm1/cvn2HtbU1bt26hbvssrC0yGAwwAsCVCyZRjP+6W98mr29Q5aWF9nb26HV6pDlCbbUFc3C\nwgJbW1sAhGGDNM3IUl1dzPVMRMnMnqtMCiEqca88zyERJFlKo4TISmsu8WrVBryyDOS271auPWbN\n1LkAVTtVzCVlLcuqmKgGvVIHIBj2beC7R7Jzx3GwbJuioNon3w1uXL9ed0u1r/zBZ8sTE5IkPQLv\nqX8RIXS5D3qj5LmePEdJjFsSNVzb+OtBkZeu1CWaxLYdilyxt7/H3sEBcZKVgx5FUWgG4nA4rP5R\nhdC6wNJCuhYILVJkYHmi1GBQxhiiLLkEWpdZZ2BU3zMvNCUfdA/zc5/+je+4Lx//mb9VoWUEgjSN\naxNxC6U0skapAlGV7YAoF3JVwuU4Vrloyp7gbDrV4lZlu8W0C/THE6ByHFsST8c0mz73bN7DLJpy\nOBgibJvhaMztnV0K7DLg6H6/PlxMT17PF8xzktKusLYm+1ZqfmAiwHWM41GBQunKx9FtqCxNKbJE\nq/hlKfEs4vE3v5m/9KH3sbiwSG78O8NA06ANDEyKEtGjsD13vklNlVQb/taHxJSHrv7skjqIy7Fd\nnTGjEwZy+0iLxLKt2rPOdbuqXOtCao2f+kbWz2kuPZwkSfn7ynmH0nwD23F01VIO3Qo1d2ySotTB\nDwLG04jD/ohf/41PawebcogbBjroL3S7qCKn227y3u97N61mWCoZasPq1dUVhJBEcYRtOezvHdJq\ntWg2G+wf7OM6Lnf2dtjaOlk6E01L3HKO62j3nbW1NaSU7O7usrK6TL/fp9vtksT6u00nEzzPpdlq\nkaQpjhfwzW89xbeffhrHsZnOJmRZSrfdptVukcUae/2mN72J1dVj2iS60UKrAwJqrhXj+Xr2ZUxe\nXNclKdEyd0P5khqD2cwsEOLIGjFBtT47MX9vgnYdiWIO4clkUvW/TZJQn1sZPRVVGJhucYRg6HpB\nNQ+RUvLGx3+Af68t1cxGcl2fIAgrbWUDnjdYSXNC6ZLEZzAYllN5H4Vid3eXxVazLEtF2WvUFNww\nCHA9rQsiVJOlXoMs19mR6XuZG25unO+HFXJgFE0YTcZcunSZl86fZzSdgCVphE2UEBQF5KogzxIK\nYeG4XjXsysuMwEHWIEuvfi9kbfAipSROE3zLpzAiRZZEWdq1JUtTJCV7TAqEmuspCGGTFgoh9Xcb\nTyJsx6fh+URxpC3XXBsUCCRpViApGM+mgGQyS3n62efo9jo88ugb6XS7nLr/fm5s3+QPvvI1zp49\niz2dsLywSFwO1qopfck6tG0LXS6IEg8vsG13PomXohzgRIxGI3zfo91uY1uC6XikN0iRI4qCaDZl\nMhrxS7/4i/R6PeLpIarU9BYoDvb3NRTNCAQpkOhyOc6Ouind3ac0wb3T6WiZXaFJHSh9NKdpgmXZ\nxEmpXd3S+iNZWlSHhNYjUdUwqyq1S8i27WjoqTnk9ObXB/rh4WGFlNCfc84CNZ/RyBU4jkOWJEzj\nWBOLLA2b1bMOxdLiIt1Oh0tXruG6PjEptp3R6XQYjMZ0mi3u7B5w8fI1HjlzGseW5HnBxsZxfF8b\nWzTCkNFwTLck9yRZxmQ8ZePB41y8dAmlFO1OhzTLKihjEqXVEBjQzloF+I7P9rVtjh07plFcfsid\nvTuErTYIh4uvXOYLX/gyQejTbrcocmg0AixXsLt7i9WlVVZWVtncPFm1FYz1GuiqZ44E0n+Xpro6\nNygir4Y4Mfu8jvq4m9JfD5S2bTOZTCqHLx1vvIpDcDeaxIAU6ixL8551yK/neaRJVMWculbP/oE2\nze52uywvL79m/PyeGXgURbznPe+pyA0f+chH+OQnP8nBwQE/8RM/wdWrVzl58iSf+9znKnf3T37y\nk/z6r/86lmXxq7/6q3zgAx/4zjetZeBf/L3PVBNcY20VBEH1pc3Jlud5qa3tIKV227AsC2HpbEUI\ngVPk2I5NFMVoveS5K/v8fbVsq+0E1Y03aIws05ostqXdrPXwQ6NcEIIcDVlKs5xr129w7foNxtMZ\n08mUKE5I0pQkzcs/67JMG7UaBTtV9eT+r1/737/jvvz1n/kZjO4FUGWIcRzjBSEZAtfWbQJVqCpD\nLJSGChZKZ2gFgjzTAcG1taWZMpmD/oFKvU0bGzgaCZTEiCIjzxNQ+RF6cprnuK5HZmlJ3NFwxGDQ\nRwCeox3RHcfBlnMVP+HO6eh5rolOFHO/QdMiAK1XDqbPWLIZ8wwJrCwu8qEP/hBFluG7HshcZ/Cq\nxE9bur1hl5Ksiws9bSVmS7BEuWESBKJk7hbabs4gj6osTGfRGr2kg+y89J1VCII4miHw9eMs0TaU\ncsLlUinbIBrbH2dTtDCVA0qjUvRha4KSTRwn2OWzvZvib+CNZqBmgogttXSxbTtIyykt7Bz+8T/+\nnxlNZ0RRSqfbJQi05odj25rVmaW86dFHOHXfSZJoyuJCD8+1yfKUZqPB7dt36La029FhaQDheDYv\nnDvHw488TJZlbG9vlwFG4Ls++wcHtFut0rtT0Ot2AcFoNKpgeEIIhGtx7do2t+7s8MUvfpnF5RWC\nMGA06hP4Dr1eg8lkRLMRsLZynLe85S3l8BA816sqG31Qz4eKeTFHEJm9o6DKbs1AsCiKCnFmDnwj\nrObe1auuI6ZM8lXH6ZsD1rRQDA/A/O46EsYcDibRkWJOGtMxSffr03TOqE7TlLe+64f5Xhn4a7ZQ\nptNppYP7rne9i1/8xV/k85//PEtLS/zcz/0cv/ALv8Dh4SGf+tSnOHfuHD/5kz/JU089xfb2Nu9/\n//u5cOHCd/Ry6gH8S7//2SOqbCaLNKgFlGQ0GuF6LnbpttFqNZlMxrp8d2yt/gY4ysJxHRCq2lR5\nXmDbempffVGljVLvDiRa7Y0K9hWGQaWbYNsOBZrAY5VEImnpAazC2DGVfXUpSRNNrb19+zY7u7vs\n7uxqeynXxXFs/rf/9TtbKP/ZJ/42QlqaPer7VfsBYBanxHlR4Zz1ptYlNIC0NTtVlS70hRKoMrt0\nHKcSzBdSZ6cmQyiUYpZoESlVZFhCwxAthDGPISsPgzzPSZlXEQI98CuynDTRImN5FkMZKDMxh+FV\n4mAlgejugZBdslj1BhA0Gg1C30MohSMtnQ3HEY5lkVtWpegojf5NeUBKIQhCnyzPSuiejef5rB1b\nxXM9egs97rv3Pk2FH2qLtVarWWaITdIspsj1WshyLVImgCSJShhkTJalKLSxsBFZ0rDJcn1YVgVz\nM1l1HMcauWS5VYk9m2rShuO6+hC1LK0WiTpCBDEBoj4w03ojOa6nD4Vc6Ydr2y437+zy6U//Mwbj\nqTZDkFr+V1c1Bd1Oh9FowD3H1/nYX/0x4mimD0upuHPrlraqk3ovDYcjOp02aZ7x7LPP8PAjj1Co\nglu3bnPixHHd9y+02UhRaETL7q7Getd1cUxbw2t2+IMvfIFnnj1L2OwQhiHDYZ9GIyAMHbI0otFw\n6XY6nD71ECsrx6qWUaUXY2vxLs8NKohoksXV/TFtC5TCdhysco1V6KCyIjPrD6jaKnW8twmwRroi\nzTJQc6ioWbvmOUnLqg4DE4TN2s+yrEKfCCEQzHV0TLsmy3LsUn3SHAKPv+ND3zOAv2YLxQxOzCnU\n6/X4/Oc/zx//8R8D8PGPf5z3vve9fOpTn+J3fud3+NjHPobjOJw8eZJTp07xzW9+kyeffPK7/n5V\nltxm6Hc3iy1LiwoSZtsOw+FQZ1HlSVmgiJNSv1lJ5ExSFDl+EOgNkWlmnJaf1RsMtG+kkFJvUEmJ\nv9Y6CJSwQ5ENPAAAIABJREFUnlkclbAu5hsShzxNNAW9bHVUUDwFrqMhhZ60aRxbYnN9pdJgKYqC\nvb09Ll++/Kr3ohV61ZBkMuqT1ijzjqOF8KOZHrSpVEMtC3RvPisy7SpiaaOBItWtG8+WFHmKMBTs\nHOJS89x1NUkpKO95keqM0iBzLOkghERYOtuREnJmZYArJX1tkL5pS2jykpnGx0VcbRpVthcsMdeP\nqMTt8wJLgeO5ZTnpVNVBkeekaCu1QoFUglTJKuORUlAAqTJa3IrZMMIo7CX7+1i2ze07u/x/7X1Z\nrGVXeea31trj2eeONdxyVTkYymWMB+oWdlykJYIMMY7i2EFNJzKo3VYHXniDB4R4gn7ADFEeiJKX\ntNpqN92SSaQEW8QY6A4ODrRi8EggTWxShWu2a7j3THtaQz/86197X5cN6Y5chVPnly3duufee/ZZ\ne69//cP3f1/TtLCcxQmBlZUVXLGLmBUnkzEGSY7FxUUMBpQBFkWOxaUFDAY5inyAtrWQMiHIJRh3\nDCRRDKM1qlnd6RsaJqMSKMsWQhAbppTk3HVL+OLBoIDwkDg64HhfdNEdl2b6USRAOH6jrW/cRdBG\no6kbbF9dxlvfuh9PP/ccWr/GbUvZVJ4PsDkeIYkTvHD4Z/gv9z+A37z9NqyuLOPM2TMoFpYQJSlM\n22BWlnDCovaTi7t27YJSEkVeYDzeRFlOKbDRFnGs0LZEWrZ9+zacPn0ay8kq4jjC8uoK4fmbBl/7\ny7/AP/7j89i2fQeElJhMNgFYLC0twLQVFocLSLMI21dX8eY37wvBHWfLRuuQeRrboq7ILyVZEhBF\nfOBZ50h5S3bPC+8nXl/+N2cJzrlA5NbPHMKB4GkQ+JBgx9q2LRo/4MPRc79xyRO4YaJXk6YBG5dX\nWt3Vy/vVg9eyX+jArbV4xzvegZ/+9Kf46Ec/iuuvvx6nT5/G2toaAGBtbQ2nT58GAJw4cWKLs967\ndy+OHz/+c/9+HCVe3UQENQwGuPPpB/hmkJLYu3cviCeYTuNpOQsYaOUXVsURxtMJjCZBAWjmc6bm\nB+GxCZ8aeccmpCBJLS8KwWUVGUUQFN5AUIGXHhDhyZmsgTG0OaixZ1HVNaJIQUUKTV0CpoVCCqsN\nlocD3PKO9Vddi//4Hz6E8+c3tgyKzGYlylmJsq6xORnj/PnzKKczlCV1uNuGnGSUxMjSDMZZWNsi\nUnQwCUmDD0oJaGvgLOAkMT1GgnDhAo5QG4kiJe+EmpN13cJZSl21MR4XrCBjcuzOulDTpnukiJWR\nI0+huiyn9zxReaQrpTgfZVNTmNacw3/iu+j41AEBlWQ+0vKOTNIcgTGW6u0SsE7CGCBOiWFuXDbI\n4hRZRs4bjqZyNzdfQNtqpAlJ87EQchxFvtFqsbCwiDxPsbi4gOXlJezZvRt7fmU38kGO2Nd+jQXi\nJKPyjKAJPgcBCCqlRCqC0Q615kPNIkkE6nrr8JBuCecc9kccBwfOBEk8FCO9nqatKWuB0b7xLXHH\nb92OspzhB089jdVtOwjyV5BUXJ7nmJXE9Lg5LfHnf/EQrrv2Guxa24m3Xn01mqaCkBLnz5/Hjh3b\nKXixDnk+QKRitE0LOBGkzYQXegY04jhFVTWYzmqsrEYwDhAqwZNPPYcXX3wRm+MJduzYgbolpsTh\ncIAsS6EbwvUP8kW86corceDtb4c2QJrmQSxYCIHIM1iyo04zOtQi3zfYMvGIjmcG/mutNVLPX8OB\nBoEPyAnneY48z7dM5na9pU7GkKkR2DcVRYFhD+XECJQ+DQKzHQohIH2VIAzf+dJYqztZNf77P89+\noQOXUuKZZ57B5uYmbr/9dnz729/e8jp/sNey137tMwCAP73/h1h/+3VYP3B9GBOezWbhYR1XREN6\n/vx5LC4vBQfbtoSzXFhYDMMPbWswHBIp0XBYwGqDjfMs4kryV7AOUkgolUBFyovO+qjRWcRx6h2J\nH9KwBs4g1ESVVwjhVJkRFVVdoZ5NISOStFIyhYpjxFGEJE7DhFqsYlTt7FVXZOPcS1gYLqBpBFYW\nhyB+8NbX0ySyQQ4lFdI4gdYGrdZI8wyHj/wM/3T4CM5tnMd4MkY1K32Xm3QukzTFbFrBtFSfy3Jy\nyG1bIYkUlKBhJiEkhGyJp9EY5LGAVDGcs4iUQ5FnqKspQPIWEEogjiLAN4h1a9EaQyIHAsiSPDwD\nznaj2Yx+sdaQUpEDnDZIPNoHsmv00vo6wBLnjLUWlabeQBp3GoNwgFSJL2MIcGwjfWaXRlSzrhsT\nMgIlPUd3lGEymSLOEqgkBRxQGQ0laXu8vDGBmkxx6uwmtD4CFf09rK4g4LB7zx4cXD+IXWtrfgJW\nIYkVIY6cg4BArBS01J79gRqZVDP3OCXXaSLCUxOHZqvPQiLZ1Vh1Q5mMc4IOMSlg4YjzPkuhdY0I\nDr/7u/8W1hk89cxzyLIc41GLYjhEXTtkWYHJbIZIKSwuLOBv/vZ72L12BYSMsGf3FRAAZlWL6bSB\nEBRFZmmKsqSsME8LTDapXJBlOawVcDaCsxJpnmHHjl04fvIlTKczPPqtbwCOZAxXV7fjzNmXUCwW\nGCQxothBoEGcxFgsaABo/9XXQDcWZcPTuz0ongOk7KJoXj9jOz1Kbg7ygdjngEk8fS16ZSmADgB2\n9qGs16tF90t+xMEeh0BTa43NzU2v5NUNcTHCJI7jIE3XRdYWqW9MhyngKIJUwPd/8Ay+/+Szvrzz\nd6/pW4H/BxTK0tIS7rjjDjz55JNYW1vDqVOnsGvXLpw8edJzQwN79uzB0aNHw+8cO3YsjL9eaJ8B\nAPz7u/87RRhNi6oqQU2kKIwOK5lCa0vER9aED5umRFY0GA79VKBDlmZomxJJHHs1HGBlZbHX8LNU\nu5YCkUgAA4JrSQF4GcskjSEcTfTEUQwnLRrnx24dcVxYCwjnUFVTOgwkCOrlYXUuFoCQaGrtCdot\nhp5JUUniTXk1yxOF2XiDFH1gYfxpXOQJITJMDdM4TKYTr5WYYFLPsGN5EWs3HwSUgLEOum0gbIMk\nJoROVbd48dgxHD9xGk3boqobTCczOAGsLq1i97btaA01WqwEAAErgNF45NWQGmyONzGbjQFDEaKA\nJBgXACeowp6kChE83M3QJks8qT2ng23bUhPVEhRSCCCKIxqAFQhcHvy1cw5CUX9RwEE5YBB3tAI0\niRoRlNLYCxA+ZUON0I5oiCiCnaCBrOm08hsxg5YCrW8uKs+jousGcTYAhEPTakRJ7qczM8BZnDhx\nBidP/E+vSG9INCT1ggw+3R4OMsAR1cLS0jKGwwGKosDOtZ0gFRwdaqkAtjDo9ftD/ZF+rTVpu2Yp\naLCF5hiUUkhyuvaqLvE7d/02pJR49rnnACGxudFicXkVtppBqRit1hiNp9i2fQ0vnz2Pr371r5Cm\nMdbWtmHfW96CHTuuIIKrF17A9pUlTKdTwDm0rUOa0AyAkjEiIXBuPIaKWpz4yU9x+MjPcOTFo6QG\nFQ+CgPN0ShlAniVodYVYAU0zw+rSLuzZfQVuOngzYCM4Y5HnUZi2BHw/RRBNcpyogHrRWiPOUjow\nfQbYtm3I+tjZW02N4chTW0ggrK3RHRe8tRZ5mm2hf+Xv8/AZZ0J9kip25lwK5oifDwCOwJumgRQd\nnpwPEWsMjAVuvOFavP3Gt0FKif98/50A/tNr+uWf28Q8c+YMoijC8jINV9x+++349Kc/jW984xvY\ntm0bPvnJT+Lzn/88NjY2tjQxn3jiidDEfOGFFy6IwregUP7qz0K9UvpJQl4EpSTiaOBHTIFGd5zO\nUtKD3vrpNmcdsjTekqIrPyEZq8g3RVNEUUzpulNow/soQFgfhVK5gW+S1hpCMZqE0BzWkkhDkpIz\nsFYDhhTIRZLA+SjAGAcYGxA1gyz3ECeLW979Wxes949+8A2kqVc+UR1vOKXoJBXWVC1Sf/pnWY5a\nazSaatpxmqHVGrqtoVwLa2kKUKqIamtJijTN4SDQGhKxlQ6wk5Kyj5QEnq2wcBKomhoyEojTmNj/\nIBBHOY4cOYLnn38Bp06dRlXXmJYVAM+yxrhqAOW0pGnGmLnNaWMyfJM2mndQNHYIJwBICcitE2/c\nnFKSGCmtsz5S7cgdrbVwlhE3FGk3gpp4WmtIftKtgwSVzJRSaDzB1NTp4DgFAEgHo0nU2hjij+FI\nL7EkvsDEWYSxV/S3pYQSREkspMTiMMV4tIlZOSM+dgALC6RZSYRJDouLC8jznAaohkOs7dyJ3Xv2\nYHVlBaurqxiNRlAqQlnOAHjxa+dg4SmKrYb1hzBHcxujEaI4wdraLnz5fzyIp559lhgplUIxXEKS\n5EiSDM466IZqslIAgyzDSy+dRDEcEmrIOmzftopfu+UW7Ny5EwvFEBvnN4IA97Hjx/GTn/wEh3/2\nM8RpRiXNJIFzAtkgR9MabI5HpFbfzJAPYkynm1heLWBMg11ra4iUwjtv/jfI0gGqcYudO3bipc0z\nQVGJUThpTIGdgwnya3Eco9LUQ4hEx7hpDMFtuakIn/G03nkqMCpN+rJGRx/MWVDkefn5f47wuUTC\n1K9ZllEDulcCdt4pc0mGSzGUSZgt2psEZ22hoq72bq3FwUPvw/83CuWHP/wh7r333nDx99xzDz7x\niU/g3Llz+L3f+z28+OKLF8AI77vvPtx///2Ioghf+tKXcPvtt1/4pj0H/uhD/w2AVyCRHR8vN2qA\njkuiw3ya0N1lh93HdXI9iU9Ajua5uSGE2FICebWJJ34AaJqrExpl7oM+tpSvjW9OX7Sh47ropJsA\n4NCv//YF7/nE33xtyzXyg8t/lxsgDC0kqJTZIqpKTZbEw9V06CUkSYLG6ydy11sIgelsiiRLujIF\nr6N/CNmc8YQ9Wbrlunj9hRBoDEUb586dQ1VVmDXGHygtJpMJtDHY3NjAZDoNY8JVVZEwtMz8unF5\nwULICBCsSuOjL+dgajrwSXvUhJ9hfUq+LmMtLHS4b8Z2TSelVNAwpA8IONP97CvvL687/36iVJDg\nEkp5nDeRmhH8EKFfEgnayKQkA2ijMcgHqOsKznmoquPnGrCGeNvpORWQDti+bRt277oC21dXURQF\nZS6RxHCQY2lpCdtWlujafebStrVHZAGtbmFFhMe/+3f4m7/9LqZVCZUkUHGKJKOJ5TimHgCcAyxx\n33MJQnp5wlfDUztnEcUEm3ROoG0MsrxAnMRomgoQBk1TYXGxQNtWWBoSpDPLMlhjsfuKK7D/6qtx\n5d69FOg0HcUqUUd3ot39aJUheh2mm57DLCOhZ8bcW+tCHyEQieVJ+Lqb/IaPHrrylRAi8JX0UTD8\nu7zPGfbZuk47lVFe/LdYKIJf554Pvw/TC3PQKCU1tm/6td/EvwhG+HrYK2GE7ByT3kADPyznzp3D\nwsJCcOK8MP0byHWnJCEUQ9/JczoFwHfhCWEQR6TH2AffExF+1/DgaEb4WigD+bmZwakVL3rbtpjN\nZmEQidMqIUTgQubR8xtuuvWCdXns638WqC7ZWfPNDMgDf+i0bUsKO7YNn5P19KSQFGn7B5odO/Nz\n82egrncLJxxsq8NaOOcwnUzC5kiSBEmcUMPO0HASGzvisiwhI4WFxcVwf6RIwhpMpzTav+CxwlQ7\nzQLr3ZHjJ1FXFU6ffgnHjh/D5mgTunWeqS0KcLhIdZOu7NitNf51kuuiDI4k8FprkedZQA20vrnF\nI/BxHCFJUoxGmx4HvhXiyM8Nf58Dglgq6B4hkrEW2nbc0vxMKqXgtAlOj+8rNTFTGKMhBMumSShF\nE8DSzyHAWjhDWcBkPEGWxJ7at/EZq1eEUhLFYIDt21aJkmDXDqztWsPq6iqSPIGAwnC4hH/62Yv4\n4z/5EzRaQyUpprMKxXABwyHRFCghwdQN/MwLQXjulZUVwHZSYhTgAMbWMMYRvYBm9SvKFtIsRhQJ\nFAs5hHCYbp5BnudYXlrCju078I6DB7G6skJsihlFqgvDIeqqhoqTC4QReD/3ObVpXUW4VwzXs9ZB\nqSgM6LHPSHMS1ebaNDEaUs+D/Uv47L014MCKn3u+n/ystFoHIj7je0Gxp8bgfhsAJGkCozvtTbb+\nAcHr+0vvwB/5y//aLYTsphV5Efn05M3AG6ivZN9ndQuwtd7P8yLziRhk1Xq1RW509KXLAjbdMR9J\n1/R4JSUp/w6rVkspt4zVMu0mH0Trh267YF2e+u6j4fDpD5nw30/TFEBHkSmEAET3sLHDcdZB662H\nGEGtusMHgNekZDZCFaBqWpNIBjtwPhz4sGKnHMWdcjbfDwvC2VZVhTzJqaTh1zhNE9+0pNpHUzdh\nvWWPzjVJYrStpnq+ppr7bDbDxvkNaG3ROoPz586TbJYgbdKmbeEEHSRlWUIphfFohNGkwiDPUZaV\nb2DpsFHSJA2cOlJKlB562YetMQKk//04jgHtwmfzzZHu9/zXUhD9gzWa+iyMXncIjpufG5rQI24R\nbQgOSf0V6i9EkqJjKQnfz+UTIX2Gaki6T/qGMSTQtA2EklhdXUGRFxDWYffeK7Fj50488o1Hcfql\nlxElCV2+lIgVDdPFiW/m+meNy5B8r5kThhwb4KC9oLIAbFeGaNsKSaIwK8ewViPPM2xbKrC4uIhr\n9u/HdddfD+Hoc7ZNgySOMRlPgjiDjFTvoKZMiNkjec+ys+af44Ai9ZBN5kXv08o60DSksSR6DlCp\nUfj1tq7r3/Dn5Cicpdd4v/G18eBQ39HLXsYge/vJGoPaZyH9qVAeaOTPaq3F+i234Zd6lJ4vrPIl\nAY7MWNOO05HJZBJUpKfTaVA+6WM1WUuOmz98MPRhOey8eHy579y5VlaWZRhxLooCUkZhoit0rX06\nzf/zDe0TNvG0Vl3XgTifs4RXMz6MwpBN7yDhehtnBmxJ2onohoPPZwpaa+IIUYp4lht6uNkhEZFR\niSxLQ2TPhyE7dH6YuLHMBytHs3xAVV470GoNAUGRTdkg83VSgkhpnn/2JRAgVhJVW0MIg0QCdV2h\nHJO0XZwkgDGAFUikw87tyygGhR/ektDGbKlBGmMwnoyh/fvlWYaTJ84gTVPMyhl0q1E3NZyj/s54\nPMJLp1/CeDwix7ywCgFqwMI5REoRMkUNqeYOGvJq2xZSUW8AftqS5glkcMCEx/fwOiURxV0GKaVE\nkqXhkOg3JWWSIEFKYBwIanAajcYQCse1tH6k9uRgtUOtNWCd7zEQJa1pDaIkAwRw6uwmbHsOwyzD\niZfOetIkgeXlVWxsbHQlSOlQzUpYACrLtgy1wDfhpBDQUnbUu0JASm5KUwmprGZQAmh1jaaxiBQN\ndsUKuOngQayvr5MD9kHRdDrFIMtDTTuKKBOIcy4NOlRV6evEdecIrfHlqg4eDKBXhnCoqjpknRxk\nZCntP220PxQJSeZA9xyWBuacteH56nPBc3DYzw6EEOH6ue4exzHKsgyOOY5jypxkp9LEEnv9fd7P\n+H6RXXIHzlNOUkrP52t7p7sIJOrD4RBRFGE0GgVZI65BsdPZ2NiAlBLD4XCLQ+NN0seJvvzyy8Gx\nqd7pyEIDHEVrrUkuDQjNCf6bQFcb7TvZoijAHBv8+fgzlWUZDqdXGj8sXMbg//kGAwgHDkeH/SyA\nnSmn5FEUYdu2bVCKJLOUF4vgWhunjqwmP5lMwvRn6w+oAJV03QQaP7BwHcRqMplsSf+stUgjghfy\nWvSdVRzH1DyEH2+OKK3Mk5SUyrWGEECW0H021kBrg7KcADOKeKM4gnQO1rQop7QxlhcKCA9FbaoZ\nfmXPbjosIuX50OFhpARZzFKa2pRS4ujJswCoT7GxcR4vv/wyNjc3MRqNugwjUiidRWtbSEGDU2lM\n/PPGGMRFAuc6Yn+tFSlISRqSstbB2RZQgBCEmpHSIVLCXwdh2pVUUFJCWgGniVvGGu0ZBD1sVls0\nLU0mMgqqrEpEKkaSZmh0i0ZTpK/SCOOS8N1p4jCbTREnMYqiQFVVNHXoGhJTVhF0U2JWTkJAFUcx\nzp6dbgkegK55S0NaKkSYQlA9PooEFoYLOPD2G/DOd96CRCqMN0fI8xzjuoazDmmSBBFk22oYL45d\njrromtdTCBGGC4G+FF13TYHsSyokiQtZZ1e/F6EEMhwO/ZAilbTYOPBjX8JBGWfGvE84CpdSIo0T\nCEcZYasNdNMGxJy1FtWsDOLIsWcF5X4a9+g40+V994vskjvw0Wjkiao8dtYbO8qiKEIqIqXEsChC\nXdeBRmCrqoKSkgiN2hapd+g0Hk6naOwfvKZtMBqNCe7lhwK4w80nLB8is9mMIoWY6o5FUaAsZyGt\nJmRLjKYhjHhRFFhcWPAliMijXxyKQYGqKqFUhDRJgC08d51JJUmIwuiQMVhn0eoWcbSVVyQ0T3wp\niB+4yKMinO2UZJibGLI7SLh0URQDivDqGlmaBva7uq4x8Js7juOAwEjiOETbVG8nh1cUBYBOvX00\nGgHWhPWtaho1dhXVkYfDIcbTMVSssLC0gM1zG1T/jyK0VQUZceZEAhzWOqRZjizPIVzH0UwlClJw\n6dAqBpIPWF1jPJqiKIqAJGr9/TZGg4n+0zTBYh6haWoMiggrwzVc/abdRAmgDdq2CQMZbatRVo3X\nPaUxemMNqrJC3dTY3NzE5ogEC4gMy3rxDYkij8LX8Kx6QgCIBYRIYJyAc/x8OEBbOGXhYGEcDQwZ\nHmyKEuoLSIFZ2yJOMog0RhQyJYc4kpBKMgADeZajaWoUi4swRtNEbkqlJd22JJghJbSj6VvTtjg3\nmQSqZymJmIxZM+EcalCJQdsWum1gjcae3btx000H8Oar3oTlpSGKIkdbN5BRhEgpzCZEEqUSFRrt\nDK/lTDnxQzocsHD0288Cu2c/CvuiQ410DpYx4BQUdQ3JVwY/3DfqSoO1z7AI/USDPA2UYpUsQjxp\nbWC1hdb9ejkND9Z1hSSheQqlSK9WtzWq0gQakKZpqAcRkayjgQ28Lz/PLrkDD9GxR1aws+EIuPLM\nYv1UnaMhPn3jqFMIH41G5Ix9mqK1xrbV1S5NBLB92/bw3rPZLESMo9EoNDn7tVEHGjqZTidbtOr4\n9OYI4dSpUxgWCxDoHjguq/DD05EfXWiJr3Hz9TAL3XQ6xerKKtU20dW7syyDVFn4LBxhOF+zZ9WQ\n0BRxXY+Ao2qlaENydK25JuedcFEUoe9g2xatb/L2a4Fc8hqNxwH2FccxioUBmqaF0+ToY19vRV2h\n0Q3iNMGZc2dQtzVilaExDrFwsE7AtFQmmE6niGM62E+eOoosS7G8sAgi4eJBCtoYSiUANGKhkCY5\n0iTBZDrG6soyJpMpKp8dxZFCpDJf5hpgMhl7qluNSFoQJQDgIFG3nq40TSk7iH0fwB/EwkdjQnja\nYh+hEUcK3edpNUNZVTi/sYFyNoM2rI0pSV5sMsZoNPaHgwFPLThrgUhCCjpEtLIY5Akc90miGOW0\nwiBPMcyIgE2KBOMJyZW1NkKrW0AAjbaAH15LBA08WUN6rYS3T6CUCBmnVBFBV4VAWzeYjMcBFtfq\nlnoUnhtECImNDQqi9uzejffc+m4sLy9i28oy0ixBGkck8eeUr+srqIxKeH1KBUiJ1hooEUN5rnKO\nugF0cEBslbqj+jYLapiQTQuhQpbO+p/koOlg4KiX9ojZcjjwIRDHHWiAfJVCmiao6xpJEgOIw3Qm\nT4zSvkBw4ExSFkUKzJ1DAUp3gBDtR4ss63oP/br9a9klb2L+2Zf/mCJWT3bTh3AJIWB8us0F/7Is\nA1KjD9lTSgUmwz70jk9k/hkekmDnM5vNQkmmzwcMdOTwjLroQ/X4c3C9mF8z2iJN0vAw9bvUAZZo\nDN55610XrMv/fuzhUKvjenNAoPiomg+VMF0mu8mv4JwFieLytXLGwBwv/SaJlBJwnY4j4A8DLpMA\n4X4AAIyFscbXUTsiH14f+Ih8YWEB06oM6w50CCIuJRVFEUR+I5H4DROHxiCVrYTndO/eS+nuEIqi\nCJUnz1eR8oIf3QAGhA7rwKk3HQpxuBZuLocspNffIDij9GUfanS1bQsZxWg1OwoRJvmstTTebukA\nZ+Ik6jlQrZzEIDShJKT006LUHJxVDQmWVCXKGQl18BpmaYpiUEAbgu/FMkFTNUjTzAcFVPPVukWc\npjhz7izOnj8HYy2MA2Z1g82NTYq0Z6UfkCH+kul0FgjCAIcoTrpnuMfVwq8Lj6Onf0o0bYM4kijL\nEpEizu18kGFhYYBBmmFhscDy8jKE167cvn071tbWkKZEI8xZLwdDTdPQ5LHq1NtrT1HB65EkHZqK\n90m/SU+OsxNpYGOe/T4yxVqHJEkDCo33tNZdzbqvX8mNS/5ZpZTn6u+CI/4sfRBG8BlxdIGP4Kye\nrp2i/UO//jv4pW5irno9vbquw+bvUh16wNM0xcsvvwznSOGaUx+GAnHpY3V1NdTzdu3ahdlshrIs\nQ6mEa9h8UBhjQuMzijoF8sFgsOVhUL3mCP8ev87TVW3bYjAYYDbpCG24VNFHn3B9+9XMOReIb/hG\nT6eU/utWw1kbDhnOVuKkw7KHQ6ptMdsYhWggpJTonF5A/oAe3v6hx46nL7zL0UqiIgzyASbTKQYF\nOcRXbr5wP9FB73j9+Hp43dM09YdoFrr8tD7d9cRZCqWIkAkA4ogPSA3hJPJBjsWlRdr4uoW0CllC\nDaSlxWVMJhMiTprSEIyUEVptQ5Mp8w27laXlEBE2Tcd30TYtFhcXwxTeYDBA1dRwvoGulOrKU3DQ\n3gnEfo11a9B4CCeMw6wcB6ei/drx+w6HQyRxDBEpJINBaB47UP21mpUQxmBYFFBSIk8jGG1QzsaI\n4xTLiwUarw515e5deMu+N6GsKjStgfCDW4uLixhvjjo9yThGnJIAwrSc4cyZMzh96iWUsxlOnTzp\nFXSyrjfjefIZmimEwzAnSOTy4gKM0R73TVGrgYMQEYaDBazt2O4JwwZQcUcM1bZEwRzHdDBWTQ0n\niEwdz3QIAAAJPUlEQVSP92ZRFOHZouef9hyXVOu6DsADisy5x9NxK2mtIRxQl5Sd1v4+S6nQVE3Y\nG1YbtKZBlDCipg1N3X4zn59/AFCxB1X4fVOVVXd4awOju0CSfRgHos65QHjFQeY/RxPzkkfgX/3K\nn3aRHzrMZZhGMp0aOH8oVsoOzTQgoC6iKNoyRck3tx/V84kKIERsfew4I0HC4mIrBrhfT2MnkySE\nLU296DGf5P16Gv99IQTefug3tqzJYwBWv/+/grPjiJ2hUVma+iZYN0CjtYZU3SQZwJ1rAbhukhGg\nE53V6fupJuAQS4m6qT07I0WbiacqKIqCRCniCEZrZCoOB0icJDC2E2/lkpExBlJRuszvx08ZlcHK\ncFha5zWNHDerKPYWEvj+k8/hHevXeVhdD6XT6g5+6Psc6EVZ2ugwEVpOZ+Eg47/Bhw1var6P2lD5\nJElTKh202kfTFlVJPYzMiwWbhp6PLM9QlVVw9gBoOrjXiFJC+l5CFCCPSUKlECFFKLlBUC8lDDL5\n6FHA+Qi0wrPP/QN+9aYDlLkoiUY3kEIizzLUNR3uUUJCucrfn7KqIIVEkeT0M8JLxPmo3oL6G5BU\nZlMRKe3wmmVphtg3n/vwOK4zU+mIIH1RTBJ+ThA/OmeKVVWhqWsoz6nP7HsMGWRLs4yyizhGVXa8\nJFyW60e9vCeNMfj+k0/j0K8e3LK3mYufG+fGGDoEdLslUCT/QevH+zlktaLj5OcMkn1NP5jjUimA\n4E/6tLR9DHkfANGf9+ir2vMeveVdd+GXOgJXHjEwGAygfQS2vEyq15PJBFnadYYZpSGECFE1O7PQ\nCJFyC3yPmxUAtkAPWfGHaXIZycKLyR1n/l3ejBy18Pd4ofm9m7qmje4dd0jDvYPppLO22mMA/p2P\nFAaDAWazGYqCiLmKosDMY8r7+PAoiuDQ4ebZKSupEEXJltTROeLu7jdunHee2hIZFJejuP6eZRk2\nNzcpWrY0luwkRc3T6RSLSqFpG9R1HdLgDuJlkXqBWakIMqa1JvraNIczDtJJcGJrHTVIlVKwXl3o\nB08+jVtuvhE8rOKcQ1VOESc5al/T5KiIMzErACW7gCBKkxAFSiFh4aCdxWAwQFM3aIxGnmVEneqb\nh2VFaTJH7bPZLGR0Z8+R1FgaE2pG19qXRmgAxjmHLMmoLAIqG7UVoS2EkIiEQuafXQoOfO9C02AR\n0Q5oaKtDtgQAkYwwyDL8/T88j9+49V2hJOYkwUIjpZDnA3/NE0SKsgvnn1MYi8Y/Q2lKyknMMjmb\nTTEeTxClGVSkkA0G0KZFoijilXAYjzb9oQL47iX/ByHpUBbCwWjirIGzr3CQxFUSCYTvs1PkvWbh\nUNVVCBys2VqG4ECMv8dQPSEEnvvh/8F7b31XcJgAfKmq23tlWZLjjtSWwwCAh/rWoaQSMke5dQai\n7094H/J1nDhxAjt37gx+Jk1Tkmf0wQL7GD682Hnz3+XAs18i/UV2ySPwubF9BkzwNTe2z2C+Jq+0\nz2C+Jq9mn8G/3nV57Qj8FwMN5za3uc1tbr+Udkki8PX1dTz77LMX+23nNre5ze0NZ+9+97vx2GOP\nveprl8SBz21uc5vb3P7lNi+hzG1uc5vbG9TmDnxuc5vb3N6gdtEd+KOPPoprr70W+/fvxxe+8IWL\n/faXzH7/938fa2truPHGG8P3zp07h9tuuw3XXHMN3ve+92FjYyO89rnPfQ779+/Htddei29+85uX\n4pJfdzt69ChuvfVWXH/99bjhhhvwR3/0RwAu73WpqgqHDh3C+vo6rrvuOnzqU58CcHmvCZsxBgcP\nHsSdd94JYL4mAAB3EU1r7fbt2+cOHz7smqZxBw4ccD/+8Y8v5iVcMvvOd77jnnrqKXfDDTeE733i\nE59wX/jCF5xzzn3+8593n/zkJ51zzv3oRz9yBw4ccE3TuMOHD7t9+/Y5Y8wlue7X006ePOmefvpp\n55xz4/HYXXPNNe7HP/7xZb8u0+nUOedc27bu0KFD7vHHH7/s18Q55/7wD//QfehDH3J33nmnc26+\nf5xz7qJG4E888QSuvvpqXHXVVYjjGHfffTceeuihi3kJl8ze9a53kaJJzx5++GHce++9AIB7770X\nX/3qVwEADz30ED74wQ8ijmNcddVVuPrqq/HEE09c9Gt+vW3Xrl1YX18HQMRgb3vb23D8+PHLfl2Y\ns4WHzFZWVi77NTl27BgeeeQRfOQjHwmY6Mt9TYCLXEI5fvw4rrzyyvDvvXv34vjx4xfzEn6p7PTp\n01hbWwMArK2t4fTp0wCAEydOYO/eveHnLod1OnLkCJ5++mkcOnTosl8Xay3W19extrYWSkyX+5p8\n/OMfxx/8wR9sIaW63NcEuMgO/J8zGnq5Wp8287Ve/9dqk8kEH/jAB/ClL30JCwsLW167HNdFSoln\nnnkGx44dw3e+8x18+9vf3vL65bYmX/va17Bz504cPHjwNScSL7c1YbuoDnzPnj04evRo+PfRo0e3\nnJSXm62treHUqVMAgJMnT2Lnzp0ALlynY8eOYc+ePZfkGl9va9sWH/jAB3DPPffg/e9/P4D5urAt\nLS3hjjvuwJNPPnlZr8n3vvc9PPzww3jzm9+MD37wg/jrv/5r3HPPPZf1mrBdVAd+88034/nnn8eR\nI0fQNA2+8pWv4K67LuTFvlzsrrvuwgMPPAAAeOCBB4IDu+uuu/Dggw+iaRocPnwYzz//PG655ZZL\neamviznn8OEPfxjXXXcdPvaxj4XvX87rcubMmYCmKMsS3/rWt3Dw4MHLek3uu+8+HD16FIcPH8aD\nDz6I97znPfjyl798Wa9JsIvdNX3kkUfcNddc4/bt2+fuu+++i/32l8zuvvtud8UVV7g4jt3evXvd\n/fff786ePeve+973uv3797vbbrvNnT9/Pvz8Zz/7Wbdv3z731re+1T366KOX8MpfP3v88cedEMId\nOHDAra+vu/X1dff1r3/9sl6X5557zh08eNAdOHDA3Xjjje6LX/yic85d1mvSt8ceeyygUOZr4tx8\nlH5uc5vb3N6gNp/EnNvc5ja3N6jNHfjc5ja3ub1Bbe7A5za3uc3tDWpzBz63uc1tbm9Qmzvwuc1t\nbnN7g9rcgc9tbnOb2xvU5g58bnOb29zeoDZ34HOb29zm9ga1/wtQEV0Lq4TcjAAAAABJRU5ErkJg\ngg==\n", "text": [ - "" + "" ] } ], - "prompt_number": 10 + "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Remove the temp directory to clean up." + "This was an easy instance for bicycle as it was in the class's training set. However, the person result is a true detection since this was not in the set for that class.\n", + "\n", + "You should try out detection on an image of your own next!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "(Remove the temp directory to clean up, and we're done.)" ] }, { "cell_type": "code", "collapsed": false, "input": [ - "import shutil\n", - "shutil.rmtree('_temp')" + "!rm -rf _temp" ], "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 11 + "prompt_number": 1 } ], "metadata": {} From 206bf8687244bf21754231569532f9c1af0765c4 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 9 Jun 2014 20:43:47 -0700 Subject: [PATCH 106/408] make selective search proposals with R-CNN configuration --- python/caffe/detector.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python/caffe/detector.py b/python/caffe/detector.py index b4e96029e98..56c26aefd45 100644 --- a/python/caffe/detector.py +++ b/python/caffe/detector.py @@ -107,7 +107,10 @@ def detect_selective_search(self, image_fnames): import selective_search_ijcv_with_python as selective_search # Make absolute paths so MATLAB can find the files. image_fnames = [os.path.abspath(f) for f in image_fnames] - windows_list = selective_search.get_windows(image_fnames) + windows_list = selective_search.get_windows( + image_fnames, + cmd='selective_search_rcnn' + ) # Run windowed detection on the selective search list. return self.detect_windows(zip(image_fnames, windows_list)) From 9882d47dad8ee3f0b5fa0c0831fdc3355ee3255d Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 9 Jun 2014 20:56:19 -0700 Subject: [PATCH 107/408] finish R-CNN detection example - run through and save new output - collect region proposals with R-CNN configuration (see sergeyk/selective_search_ijcv_with_python) - call detect.py in GPU mode - fix NMS plotting: X and Y coords were accidentally exchanged. print scores too. --- examples/detection.ipynb | 448 ++++++++++++++++++--------------------- 1 file changed, 212 insertions(+), 236 deletions(-) diff --git a/examples/detection.ipynb b/examples/detection.ipynb index e4eedfef38c..ff0b7a7ba69 100644 --- a/examples/detection.ipynb +++ b/examples/detection.ipynb @@ -34,7 +34,7 @@ "input": [ "!mkdir -p _temp\n", "!echo `pwd`/images/fish-bike.jpg > _temp/det_input.txt\n", - "!../python/detect.py --crop_mode=selective_search --pretrained_model=imagenet/caffe_rcnn_imagenet_model --model_def=imagenet/rcnn_imagenet_deploy.prototxt _temp/det_input.txt _temp/det_output.h5" + "!../python/detect.py --crop_mode=selective_search --pretrained_model=imagenet/caffe_rcnn_imagenet_model --model_def=imagenet/rcnn_imagenet_deploy.prototxt --gpu _temp/det_input.txt _temp/det_output.h5" ], "language": "python", "metadata": {}, @@ -44,7 +44,7 @@ "stream": "stdout", "text": [ "WARNING: Logging before InitGoogleLogging() is written to STDERR\r\n", - "I0609 19:20:40.532173 1915982608 net.cpp:36] Initializing net from parameters: \r\n", + "I0610 10:12:49.299607 25530 net.cpp:36] Initializing net from parameters: \r\n", "name: \"R-CNN-ilsvrc13\"\r\n", "layers {\r\n", " bottom: \"data\"\r\n", @@ -251,165 +251,148 @@ "input_dim: 3\r\n", "input_dim: 227\r\n", "input_dim: 227\r\n", - "I0609 19:20:40.533190 1915982608 net.cpp:77] Creating Layer conv1\r\n", - "I0609 19:20:40.533205 1915982608 net.cpp:87] conv1 <- data\r\n", - "I0609 19:20:40.533215 1915982608 net.cpp:113] conv1 -> conv1\r\n", - "I0609 19:20:40.533259 1915982608 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", - "I0609 19:20:40.533267 1915982608 net.cpp:154] conv1 needs backward computation.\r\n", - "I0609 19:20:40.533274 1915982608 net.cpp:77] Creating Layer relu1\r\n", - "I0609 19:20:40.533279 1915982608 net.cpp:87] relu1 <- conv1\r\n", - "I0609 19:20:40.533285 1915982608 net.cpp:101] relu1 -> conv1 (in-place)\r\n", - "I0609 19:20:40.533293 1915982608 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", - "I0609 19:20:40.533299 1915982608 net.cpp:154] relu1 needs backward computation.\r\n", - "I0609 19:20:40.533306 1915982608 net.cpp:77] Creating Layer pool1\r\n", - "I0609 19:20:40.533311 1915982608 net.cpp:87] pool1 <- conv1\r\n", - "I0609 19:20:40.533316 1915982608 net.cpp:113] pool1 -> pool1\r\n", - "I0609 19:20:40.533330 1915982608 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", - "I0609 19:20:40.533336 1915982608 net.cpp:154] pool1 needs backward computation.\r\n", - "I0609 19:20:40.533344 1915982608 net.cpp:77] Creating Layer norm1\r\n", - "I0609 19:20:40.533349 1915982608 net.cpp:87] norm1 <- pool1\r\n", - "I0609 19:20:40.533399 1915982608 net.cpp:113] norm1 -> norm1\r\n", - "I0609 19:20:40.533423 1915982608 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", - "I0609 19:20:40.533432 1915982608 net.cpp:154] norm1 needs backward computation.\r\n", - "I0609 19:20:40.533442 1915982608 net.cpp:77] Creating Layer conv2\r\n", - "I0609 19:20:40.533447 1915982608 net.cpp:87] conv2 <- norm1\r\n", - "I0609 19:20:40.533452 1915982608 net.cpp:113] conv2 -> conv2\r\n", - "I0609 19:20:40.534168 1915982608 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", - "I0609 19:20:40.534180 1915982608 net.cpp:154] conv2 needs backward computation.\r\n", - "I0609 19:20:40.534188 1915982608 net.cpp:77] Creating Layer relu2\r\n", - "I0609 19:20:40.534193 1915982608 net.cpp:87] relu2 <- conv2\r\n", - "I0609 19:20:40.534199 1915982608 net.cpp:101] relu2 -> conv2 (in-place)\r\n", - "I0609 19:20:40.534205 1915982608 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", - "I0609 19:20:40.534210 1915982608 net.cpp:154] relu2 needs backward computation.\r\n", - "I0609 19:20:40.534216 1915982608 net.cpp:77] Creating Layer pool2\r\n", - "I0609 19:20:40.534221 1915982608 net.cpp:87] pool2 <- conv2\r\n", - "I0609 19:20:40.534227 1915982608 net.cpp:113] pool2 -> pool2\r\n", - "I0609 19:20:40.534235 1915982608 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", - "I0609 19:20:40.534240 1915982608 net.cpp:154] pool2 needs backward computation.\r\n", - "I0609 19:20:40.534246 1915982608 net.cpp:77] Creating Layer norm2\r\n", - "I0609 19:20:40.534251 1915982608 net.cpp:87] norm2 <- pool2\r\n", - "I0609 19:20:40.534261 1915982608 net.cpp:113] norm2 -> norm2\r\n", - "I0609 19:20:40.534270 1915982608 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", - "I0609 19:20:40.534275 1915982608 net.cpp:154] norm2 needs backward computation.\r\n", - "I0609 19:20:40.534373 1915982608 net.cpp:77] Creating Layer conv3\r\n", - "I0609 19:20:40.534381 1915982608 net.cpp:87] conv3 <- norm2\r\n", - "I0609 19:20:40.534386 1915982608 net.cpp:113] conv3 -> conv3\r\n", - "I0609 19:20:40.536221 1915982608 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", - "I0609 19:20:40.536238 1915982608 net.cpp:154] conv3 needs backward computation.\r\n", - "I0609 19:20:40.536247 1915982608 net.cpp:77] Creating Layer relu3\r\n", - "I0609 19:20:40.536252 1915982608 net.cpp:87] relu3 <- conv3\r\n", - "I0609 19:20:40.536258 1915982608 net.cpp:101] relu3 -> conv3 (in-place)\r\n", - "I0609 19:20:40.536264 1915982608 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", - "I0609 19:20:40.536269 1915982608 net.cpp:154] relu3 needs backward computation.\r\n", - "I0609 19:20:40.536277 1915982608 net.cpp:77] Creating Layer conv4\r\n", - "I0609 19:20:40.536281 1915982608 net.cpp:87] conv4 <- conv3\r\n", - "I0609 19:20:40.536286 1915982608 net.cpp:113] conv4 -> conv4\r\n", - "I0609 19:20:40.537760 1915982608 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", - "I0609 19:20:40.537786 1915982608 net.cpp:154] conv4 needs backward computation.\r\n", - "I0609 19:20:40.537803 1915982608 net.cpp:77] Creating Layer relu4\r\n", - "I0609 19:20:40.537809 1915982608 net.cpp:87] relu4 <- conv4\r\n", - "I0609 19:20:40.537814 1915982608 net.cpp:101] relu4 -> conv4 (in-place)\r\n", - "I0609 19:20:40.537821 1915982608 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", - "I0609 19:20:40.537825 1915982608 net.cpp:154] relu4 needs backward computation.\r\n", - "I0609 19:20:40.537832 1915982608 net.cpp:77] Creating Layer conv5\r\n", - "I0609 19:20:40.537837 1915982608 net.cpp:87] conv5 <- conv4\r\n", - "I0609 19:20:40.537842 1915982608 net.cpp:113] conv5 -> conv5\r\n", - "I0609 19:20:40.538887 1915982608 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", - "I0609 19:20:40.538899 1915982608 net.cpp:154] conv5 needs backward computation.\r\n", - "I0609 19:20:40.538908 1915982608 net.cpp:77] Creating Layer relu5\r\n", - "I0609 19:20:40.538913 1915982608 net.cpp:87] relu5 <- conv5\r\n", - "I0609 19:20:40.538918 1915982608 net.cpp:101] relu5 -> conv5 (in-place)\r\n", - "I0609 19:20:40.538923 1915982608 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", - "I0609 19:20:40.538928 1915982608 net.cpp:154] relu5 needs backward computation.\r\n", - "I0609 19:20:40.538934 1915982608 net.cpp:77] Creating Layer pool5\r\n", - "I0609 19:20:40.538939 1915982608 net.cpp:87] pool5 <- conv5\r\n", - "I0609 19:20:40.538945 1915982608 net.cpp:113] pool5 -> pool5\r\n", - "I0609 19:20:40.538954 1915982608 net.cpp:128] Top shape: 10 256 6 6 (92160)\r\n", - "I0609 19:20:40.538959 1915982608 net.cpp:154] pool5 needs backward computation.\r\n", - "I0609 19:20:40.538965 1915982608 net.cpp:77] Creating Layer fc6\r\n", - "I0609 19:20:40.538970 1915982608 net.cpp:87] fc6 <- pool5\r\n", - "I0609 19:20:40.538975 1915982608 net.cpp:113] fc6 -> fc6\r\n" + "I0610 10:12:49.300204 25530 net.cpp:77] Creating Layer conv1\r\n", + "I0610 10:12:49.300214 25530 net.cpp:87] conv1 <- data\r\n", + "I0610 10:12:49.300220 25530 net.cpp:113] conv1 -> conv1\r\n", + "I0610 10:12:49.300283 25530 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", + "I0610 10:12:49.300294 25530 net.cpp:154] conv1 needs backward computation.\r\n", + "I0610 10:12:49.300302 25530 net.cpp:77] Creating Layer relu1\r\n", + "I0610 10:12:49.300308 25530 net.cpp:87] relu1 <- conv1\r\n", + "I0610 10:12:49.300314 25530 net.cpp:101] relu1 -> conv1 (in-place)\r\n", + "I0610 10:12:49.300323 25530 net.cpp:128] Top shape: 10 96 55 55 (2904000)\r\n", + "I0610 10:12:49.300328 25530 net.cpp:154] relu1 needs backward computation.\r\n", + "I0610 10:12:49.300335 25530 net.cpp:77] Creating Layer pool1\r\n", + "I0610 10:12:49.300341 25530 net.cpp:87] pool1 <- conv1\r\n", + "I0610 10:12:49.300348 25530 net.cpp:113] pool1 -> pool1\r\n", + "I0610 10:12:49.300357 25530 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", + "I0610 10:12:49.300365 25530 net.cpp:154] pool1 needs backward computation.\r\n", + "I0610 10:12:49.300372 25530 net.cpp:77] Creating Layer norm1\r\n", + "I0610 10:12:49.300379 25530 net.cpp:87] norm1 <- pool1\r\n", + "I0610 10:12:49.300384 25530 net.cpp:113] norm1 -> norm1\r\n", + "I0610 10:12:49.300393 25530 net.cpp:128] Top shape: 10 96 27 27 (699840)\r\n", + "I0610 10:12:49.300400 25530 net.cpp:154] norm1 needs backward computation.\r\n", + "I0610 10:12:49.300406 25530 net.cpp:77] Creating Layer conv2\r\n", + "I0610 10:12:49.300412 25530 net.cpp:87] conv2 <- norm1\r\n", + "I0610 10:12:49.300420 25530 net.cpp:113] conv2 -> conv2\r\n", + "I0610 10:12:49.300925 25530 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", + "I0610 10:12:49.300935 25530 net.cpp:154] conv2 needs backward computation.\r\n", + "I0610 10:12:49.300941 25530 net.cpp:77] Creating Layer relu2\r\n", + "I0610 10:12:49.300947 25530 net.cpp:87] relu2 <- conv2\r\n", + "I0610 10:12:49.300954 25530 net.cpp:101] relu2 -> conv2 (in-place)\r\n", + "I0610 10:12:49.300961 25530 net.cpp:128] Top shape: 10 256 27 27 (1866240)\r\n", + "I0610 10:12:49.300967 25530 net.cpp:154] relu2 needs backward computation.\r\n", + "I0610 10:12:49.300974 25530 net.cpp:77] Creating Layer pool2\r\n", + "I0610 10:12:49.300981 25530 net.cpp:87] pool2 <- conv2\r\n", + "I0610 10:12:49.300987 25530 net.cpp:113] pool2 -> pool2\r\n", + "I0610 10:12:49.300994 25530 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0610 10:12:49.301000 25530 net.cpp:154] pool2 needs backward computation.\r\n", + "I0610 10:12:49.301007 25530 net.cpp:77] Creating Layer norm2\r\n", + "I0610 10:12:49.301013 25530 net.cpp:87] norm2 <- pool2\r\n", + "I0610 10:12:49.301019 25530 net.cpp:113] norm2 -> norm2\r\n", + "I0610 10:12:49.301026 25530 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0610 10:12:49.301033 25530 net.cpp:154] norm2 needs backward computation.\r\n", + "I0610 10:12:49.301041 25530 net.cpp:77] Creating Layer conv3\r\n", + "I0610 10:12:49.301048 25530 net.cpp:87] conv3 <- norm2\r\n", + "I0610 10:12:49.301054 25530 net.cpp:113] conv3 -> conv3\r\n", + "I0610 10:12:49.302455 25530 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0610 10:12:49.302467 25530 net.cpp:154] conv3 needs backward computation.\r\n", + "I0610 10:12:49.302477 25530 net.cpp:77] Creating Layer relu3\r\n", + "I0610 10:12:49.302484 25530 net.cpp:87] relu3 <- conv3\r\n", + "I0610 10:12:49.302490 25530 net.cpp:101] relu3 -> conv3 (in-place)\r\n", + "I0610 10:12:49.302496 25530 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0610 10:12:49.302503 25530 net.cpp:154] relu3 needs backward computation.\r\n", + "I0610 10:12:49.302510 25530 net.cpp:77] Creating Layer conv4\r\n", + "I0610 10:12:49.302515 25530 net.cpp:87] conv4 <- conv3\r\n", + "I0610 10:12:49.302521 25530 net.cpp:113] conv4 -> conv4\r\n", + "I0610 10:12:49.303639 25530 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0610 10:12:49.303650 25530 net.cpp:154] conv4 needs backward computation.\r\n", + "I0610 10:12:49.303658 25530 net.cpp:77] Creating Layer relu4\r\n", + "I0610 10:12:49.303663 25530 net.cpp:87] relu4 <- conv4\r\n", + "I0610 10:12:49.303670 25530 net.cpp:101] relu4 -> conv4 (in-place)\r\n", + "I0610 10:12:49.303676 25530 net.cpp:128] Top shape: 10 384 13 13 (648960)\r\n", + "I0610 10:12:49.303683 25530 net.cpp:154] relu4 needs backward computation.\r\n", + "I0610 10:12:49.303691 25530 net.cpp:77] Creating Layer conv5\r\n", + "I0610 10:12:49.303697 25530 net.cpp:87] conv5 <- conv4\r\n", + "I0610 10:12:49.303704 25530 net.cpp:113] conv5 -> conv5\r\n", + "I0610 10:12:49.304410 25530 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0610 10:12:49.304420 25530 net.cpp:154] conv5 needs backward computation.\r\n", + "I0610 10:12:49.304427 25530 net.cpp:77] Creating Layer relu5\r\n", + "I0610 10:12:49.304433 25530 net.cpp:87] relu5 <- conv5\r\n", + "I0610 10:12:49.304440 25530 net.cpp:101] relu5 -> conv5 (in-place)\r\n", + "I0610 10:12:49.304446 25530 net.cpp:128] Top shape: 10 256 13 13 (432640)\r\n", + "I0610 10:12:49.304471 25530 net.cpp:154] relu5 needs backward computation.\r\n", + "I0610 10:12:49.304478 25530 net.cpp:77] Creating Layer pool5\r\n", + "I0610 10:12:49.304484 25530 net.cpp:87] pool5 <- conv5\r\n", + "I0610 10:12:49.304491 25530 net.cpp:113] pool5 -> pool5\r\n", + "I0610 10:12:49.304498 25530 net.cpp:128] Top shape: 10 256 6 6 (92160)\r\n", + "I0610 10:12:49.304504 25530 net.cpp:154] pool5 needs backward computation.\r\n", + "I0610 10:12:49.304512 25530 net.cpp:77] Creating Layer fc6\r\n", + "I0610 10:12:49.304517 25530 net.cpp:87] fc6 <- pool5\r\n", + "I0610 10:12:49.304523 25530 net.cpp:113] fc6 -> fc6\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "I0609 19:20:40.628031 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0609 19:20:40.628060 1915982608 net.cpp:154] fc6 needs backward computation.\r\n", - "I0609 19:20:40.628075 1915982608 net.cpp:77] Creating Layer relu6\r\n", - "I0609 19:20:40.628082 1915982608 net.cpp:87] relu6 <- fc6\r\n", - "I0609 19:20:40.628089 1915982608 net.cpp:101] relu6 -> fc6 (in-place)\r\n", - "I0609 19:20:40.628096 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0609 19:20:40.628101 1915982608 net.cpp:154] relu6 needs backward computation.\r\n", - "I0609 19:20:40.628109 1915982608 net.cpp:77] Creating Layer drop6\r\n", - "I0609 19:20:40.628114 1915982608 net.cpp:87] drop6 <- fc6\r\n", - "I0609 19:20:40.628119 1915982608 net.cpp:101] drop6 -> fc6 (in-place)\r\n", - "I0609 19:20:40.628136 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0609 19:20:40.628142 1915982608 net.cpp:154] drop6 needs backward computation.\r\n", - "I0609 19:20:40.628149 1915982608 net.cpp:77] Creating Layer fc7\r\n", - "I0609 19:20:40.628154 1915982608 net.cpp:87] fc7 <- fc6\r\n", - "I0609 19:20:40.628160 1915982608 net.cpp:113] fc7 -> fc7\r\n", - "I0609 19:20:40.666213 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0609 19:20:40.666244 1915982608 net.cpp:154] fc7 needs backward computation.\r\n", - "I0609 19:20:40.666255 1915982608 net.cpp:77] Creating Layer relu7\r\n", - "I0609 19:20:40.666261 1915982608 net.cpp:87] relu7 <- fc7\r\n", - "I0609 19:20:40.666267 1915982608 net.cpp:101] relu7 -> fc7 (in-place)\r\n", - "I0609 19:20:40.666273 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0609 19:20:40.666280 1915982608 net.cpp:154] relu7 needs backward computation.\r\n", - "I0609 19:20:40.666286 1915982608 net.cpp:77] Creating Layer drop7\r\n", - "I0609 19:20:40.666290 1915982608 net.cpp:87] drop7 <- fc7\r\n", - "I0609 19:20:40.666296 1915982608 net.cpp:101] drop7 -> fc7 (in-place)\r\n", - "I0609 19:20:40.666302 1915982608 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", - "I0609 19:20:40.666307 1915982608 net.cpp:154] drop7 needs backward computation.\r\n", - "I0609 19:20:40.666314 1915982608 net.cpp:77] Creating Layer fc-rcnn\r\n", - "I0609 19:20:40.666321 1915982608 net.cpp:87] fc-rcnn <- fc7\r\n", - "I0609 19:20:40.666326 1915982608 net.cpp:113] fc-rcnn -> fc-rcnn\r\n", - "I0609 19:20:40.668617 1915982608 net.cpp:128] Top shape: 10 200 1 1 (2000)\r\n", - "I0609 19:20:40.668654 1915982608 net.cpp:154] fc-rcnn needs backward computation.\r\n", - "I0609 19:20:40.668663 1915982608 net.cpp:165] This network produces output fc-rcnn\r\n", - "I0609 19:20:40.668689 1915982608 net.cpp:183] Collecting Learning Rate and Weight Decay.\r\n", - "I0609 19:20:40.668720 1915982608 net.cpp:176] Network initialization done.\r\n", - "I0609 19:20:40.668737 1915982608 net.cpp:177] Memory required for Data 41950840\r\n" + "I0610 10:12:49.364333 25530 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0610 10:12:49.364372 25530 net.cpp:154] fc6 needs backward computation.\r\n", + "I0610 10:12:49.364387 25530 net.cpp:77] Creating Layer relu6\r\n", + "I0610 10:12:49.364420 25530 net.cpp:87] relu6 <- fc6\r\n", + "I0610 10:12:49.364429 25530 net.cpp:101] relu6 -> fc6 (in-place)\r\n", + "I0610 10:12:49.364437 25530 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0610 10:12:49.364444 25530 net.cpp:154] relu6 needs backward computation.\r\n", + "I0610 10:12:49.364455 25530 net.cpp:77] Creating Layer drop6\r\n", + "I0610 10:12:49.364461 25530 net.cpp:87] drop6 <- fc6\r\n", + "I0610 10:12:49.364467 25530 net.cpp:101] drop6 -> fc6 (in-place)\r\n", + "I0610 10:12:49.364480 25530 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0610 10:12:49.364487 25530 net.cpp:154] drop6 needs backward computation.\r\n", + "I0610 10:12:49.364495 25530 net.cpp:77] Creating Layer fc7\r\n", + "I0610 10:12:49.364501 25530 net.cpp:87] fc7 <- fc6\r\n", + "I0610 10:12:49.364507 25530 net.cpp:113] fc7 -> fc7\r\n", + "I0610 10:12:49.391316 25530 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0610 10:12:49.391350 25530 net.cpp:154] fc7 needs backward computation.\r\n", + "I0610 10:12:49.391361 25530 net.cpp:77] Creating Layer relu7\r\n", + "I0610 10:12:49.391369 25530 net.cpp:87] relu7 <- fc7\r\n", + "I0610 10:12:49.391377 25530 net.cpp:101] relu7 -> fc7 (in-place)\r\n", + "I0610 10:12:49.391384 25530 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0610 10:12:49.391391 25530 net.cpp:154] relu7 needs backward computation.\r\n", + "I0610 10:12:49.391398 25530 net.cpp:77] Creating Layer drop7\r\n", + "I0610 10:12:49.391427 25530 net.cpp:87] drop7 <- fc7\r\n", + "I0610 10:12:49.391433 25530 net.cpp:101] drop7 -> fc7 (in-place)\r\n", + "I0610 10:12:49.391440 25530 net.cpp:128] Top shape: 10 4096 1 1 (40960)\r\n", + "I0610 10:12:49.391446 25530 net.cpp:154] drop7 needs backward computation.\r\n", + "I0610 10:12:49.391454 25530 net.cpp:77] Creating Layer fc-rcnn\r\n", + "I0610 10:12:49.391459 25530 net.cpp:87] fc-rcnn <- fc7\r\n", + "I0610 10:12:49.391466 25530 net.cpp:113] fc-rcnn -> fc-rcnn\r\n", + "I0610 10:12:49.392812 25530 net.cpp:128] Top shape: 10 200 1 1 (2000)\r\n", + "I0610 10:12:49.392823 25530 net.cpp:154] fc-rcnn needs backward computation.\r\n", + "I0610 10:12:49.392829 25530 net.cpp:165] This network produces output fc-rcnn\r\n", + "I0610 10:12:49.392850 25530 net.cpp:183] Collecting Learning Rate and Weight Decay.\r\n", + "I0610 10:12:49.392868 25530 net.cpp:176] Network initialization done.\r\n", + "I0610 10:12:49.392875 25530 net.cpp:177] Memory required for Data 41950840\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "Loading input...\r\n" + "GPU mode\r\n", + "Loading input...\r\n", + "selective_search_rcnn({'/home/shelhamer/caffe/examples/images/fish-bike.jpg'}, '/tmp/tmpo7yOum.mat')\r\n" ] }, { "output_type": "stream", "stream": "stdout", "text": [ - "selective_search({'/Users/shelhamer/h/desk/caffe/caffe/examples/images/fish-bike.jpg'}, '/var/folders/bk/dtkn5qjd11bd17b2j36zplyw0000gp/T/tmpCk4v4e.mat')\r\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Processed 190 windows in 14.397 s.\r\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "/Users/shelhamer/anaconda/lib/python2.7/site-packages/pandas/io/pytables.py:2446: PerformanceWarning: \r\n", + "Processed 1570 windows in 35.012 s.\r\n", + "/home/shelhamer/anaconda/lib/python2.7/site-packages/pandas/io/pytables.py:2446: PerformanceWarning: \r\n", "your performance may suffer as PyTables will pickle object types that it cannot\r\n", "map directly to c-types [inferred_type->mixed,key->block1_values] [items->['prediction']]\r\n", "\r\n", - " warnings.warn(ws, PerformanceWarning)\r\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "Saved to _temp/det_output.h5 in 0.068 s.\r\n" + " warnings.warn(ws, PerformanceWarning)\r\n", + "Saved to _temp/det_output.h5 in 0.035 s.\r\n" ] } ], @@ -419,7 +402,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "This run was in CPU mode. For GPU mode detection, call `detect.py` with the `--gpu` argument.\n", + "This run was in GPU mode. For CPU mode detection, call `detect.py` without the `--gpu` argument.\n", "\n", "Running this outputs a DataFrame with the filenames, selected windows, and their detection scores to an HDF5 file.\n", "(We only ran on one image, so the filenames will all be the same.)" @@ -442,13 +425,13 @@ "output_type": "stream", "stream": "stdout", "text": [ - "(190, 5)\n", - "prediction [-2.31462, -1.8712, -2.74564, -2.41909, -1.863...\n", - "ymin 0\n", - "xmin 0\n", - "ymax 323\n", - "xmax 481\n", - "Name: /Users/shelhamer/h/desk/caffe/caffe/examples/images/fish-bike.jpg, dtype: object\n" + "(1570, 5)\n", + "prediction [-2.64547, -2.88455, -2.85903, -3.17038, -1.92...\n", + "ymin 79.846\n", + "xmin 9.62\n", + "ymax 246.31\n", + "xmax 339.624\n", + "Name: /home/shelhamer/caffe/examples/images/fish-bike.jpg, dtype: object\n" ] } ], @@ -458,7 +441,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "190 regions were proposed with this light configuration of selective search. The number of proposals will vary from image to image based on its contents and size -- selective search isn't scale invariant. Note that the full R-CNN system's selective search configuration is more exhaustive and generates ~2,000 proposals per image.\n", + "1570 regions were proposed with the R-CNN configuration of selective search. The number of proposals will vary from image to image based on its contents and size -- selective search isn't scale invariant.\n", "\n", "In general, `detect.py` is most efficient when running on a lot of images: it first extracts window proposals for all of them, batches the windows for efficient GPU processing, and then outputs the results.\n", "Simply list an image per line in the `images_file`, and it will process all of them.\n", @@ -492,37 +475,37 @@ "stream": "stdout", "text": [ "name\n", - "accordion -2.314622\n", - "airplane -1.871199\n", - "ant -2.745639\n", - "antelope -2.419094\n", - "apple -1.863528\n", - "armadillo -1.965794\n", - "artichoke -2.634531\n", - "axe -1.960974\n", - "baby bed -0.765412\n", - "backpack -1.186638\n", - "bagel -2.278808\n", - "balance beam -2.417408\n", - "banana -1.467084\n", - "band aid -1.598927\n", - "banjo -2.113579\n", + "accordion -2.645470\n", + "airplane -2.884554\n", + "ant -2.859026\n", + "antelope -3.170383\n", + "apple -1.924201\n", + "armadillo -2.493925\n", + "artichoke -2.235427\n", + "axe -2.378177\n", + "baby bed -2.757855\n", + "backpack -2.160120\n", + "bagel -2.715738\n", + "balance beam -2.716172\n", + "banana -2.418939\n", + "band aid -1.604563\n", + "banjo -2.329196\n", "...\n", - "trombone -1.890996\n", - "trumpet -2.309392\n", - "turtle -1.685296\n", - "tv or monitor -1.517442\n", - "unicycle -1.536263\n", - "vacuum -1.304291\n", - "violin -2.140619\n", - "volleyball -2.413140\n", - "waffle iron -1.830395\n", - "washer -1.806998\n", - "water bottle -1.686736\n", - "watercraft -1.740314\n", - "whale -2.516271\n", - "wine bottle -2.607729\n", - "zebra -1.917919\n", + "trombone -2.531519\n", + "trumpet -2.382109\n", + "turtle -2.378510\n", + "tv or monitor -2.777433\n", + "unicycle -2.263807\n", + "vacuum -1.894700\n", + "violin -2.797967\n", + "volleyball -2.807812\n", + "waffle iron -2.418155\n", + "washer -2.429423\n", + "water bottle -2.163465\n", + "watercraft -2.803971\n", + "whale -3.094172\n", + "wine bottle -2.830827\n", + "zebra -2.791829\n", "Name: 0, Length: 200, dtype: float32\n" ] } @@ -553,22 +536,22 @@ "output_type": "pyout", "prompt_number": 4, "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\n", + "png": "iVBORw0KGgoAAAANSUhEUgAAALMAAAOoCAYAAACa7cU2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvUmMZOlVPX5ifjHPc2RG5FiZlVWVNXTbbptu1G0MeGNA\nFpK9MBaYBbCyZFnemgWDF5YYhYQFkjcMYgFGgK2WjWQ3zdBtV1XXkFVZOcc8zy8iXkzvv6j/uc7C\nwM9UFoZK1Se1XJXOihcR73v3u/fcc8416Lqu48V6sc7BMv5vv4EX68V6VuvFZn6xzs16sZlfrHOz\nXmzmF+vcrBeb+cU6N+vFZn6xzs06F5v5G9/4BjY2NrC2toYvfelL/yPXyGQyuHLlCq5du4b3ve99\nAIBms4mPfOQjWF9fx0/+5E+i3W4/9ev/0i/9EqLRKC5fviw/+69e/7d+67ewtraGjY0NvPnmm8/s\nml/84heRSqVw7do1XLt2DV//+tef2TVzuRxef/11bG1t4dKlS/i93/u9Z/s59ed8TadTfWVlRT86\nOtLH47G+vb2t7+zsPPPrZDIZvdFoPPGzz3/+8/qXvvQlXdd1/bd/+7f1L3zhC0/9+t/5znf0mzdv\n6pcuXfp/vv79+/f17e1tfTwe60dHR/rKyoo+m82eyTW/+MUv6l/+8pd/4HefxTVLpZJ+69YtXdd1\nvdfr6evr6/rOzs4z+5zPfWR+5513sLq6ikwmA4vFgk984hP42te+9j9yLf3f9Zf+9m//Fp/+9KcB\nAJ/+9KfxN3/zN0/92q+++ir8fv8P9fpf+9rX8MlPfhIWiwWZTAarq6t45513nsk1gR/8nM/qmrFY\nDFevXgUAuFwubG5uolAoPLPP+dxv5kKhgIWFBfl7KpVCoVB45tcxGAz4iZ/4Cbz00kv4yle+AgCo\nVCqIRqMAgGg0ikql8kyv+Z+9frFYRCqVkt971p/593//97G9vY3PfOYzcuQ/62seHx/j1q1beP/7\n3//MPudzv5kNBsOP5Dpvv/02bt26ha9//ev4wz/8Q7z11ls/8D7+J9/L/+v1n9W1f/VXfxVHR0e4\nffs24vE4Pve5zz3za/b7fXz84x/H7/7u78Ltdv/Aaz7t53zuN3MymUQul5O/53K5J57mZ7Xi8TgA\nIBwO4+d+7ufwzjvvIBqNolwuAwBKpRIikcgzveZ/9vr//jPn83kkk8lncs1IJCIb6pd/+ZflWH9W\n15xMJvj4xz+OT33qU/jZn/1ZAM/ucz73m/mll17C3t4ejo+PMR6P8Zd/+Zf42Mc+9kyvMRgM0Ov1\nAACqquLNN9/E5cuX8bGPfQxf/epXAQBf/epX5eY8q/Wfvf7HPvYx/MVf/AXG4zGOjo6wt7cnCMtZ\nV6lUkj//9V//tSAdz+Kauq7jM5/5DC5evIjPfvaz8vNn9jn/W+Xo/9H1D//wD/r6+rq+srKi/+Zv\n/uYzf/3Dw0N9e3tb397e1re2tuQajUZD//CHP6yvra3pH/nIR/RWq/XU1/jEJz6hx+Nx3WKx6KlU\nSv/TP/3T//L1f+M3fkNfWVnRL1y4oH/jG994Jtf8kz/5E/1Tn/qUfvnyZf3KlSv6z/zMz+jlcvmZ\nXfOtt97SDQaDvr29rV+9elW/evWq/vWvf/2ZfU6Drr+ggL5Y52M9N2nGj6Ix8mI93+u5iMyz2QwX\nLlzAN7/5TSSTSbz88sv48z//c2xubv5vv7UX6//Qei4i84+yMfJiPb/rudjMP6rGyIv1fK/nYjP/\nqBojL9bzvcz/22/gh1k/TGPE4XBgOBz+qN/ai/WMl9frfWr24XNRAE6nU1y4cAHf+ta3kEgk8L73\nve8HCkCDwYBf+IVfQDAYxGAwgKqqcLvdmE6nWFhYQL/fR6/Xw3A4RKVSQTqdxmw2Q6VSgcPhwNra\nGgaDAZrNJgBgPB7DZDJhMpnAaDRiMplga2sL2WwWdrsdmqbh29/+Nj784Q9jOp3C6/WiXC7DZDJh\nNpvB4XBgNBrB7/ej3+/DbDZD13XM53PE43H0ej1YrVa43W7kcjkYDAYMBgOk02moqopyuQyj0YiT\nkxNcvnwZ5XIZtVoNGxsb6Pf70HUdm5ub2N/fh8vlQr/fx2w2g8lkwmg0gsViQTgcxmAwQKfTwdLS\nEiaTCfx+P/b396FpGlKpFE5OTuByuWAwGBAIBHB8fIxQKIRAIIBvfetbePXVV1EoFBAKhTAej1Gr\n1ZBIJDCZTLCwsIDJZIKdnR1cvHgRJycnWFhYgMViwf379xEMBuF2u6HrOur1OgBgOBzCbrdjMpkg\nmUzi4OAAyWQSFosFqqrij/7oj/5DotMPs56LyGw2m/EHf/AH+Kmf+inMZjN85jOf+Q+RjHA4jPl8\njnQ6jXfffRfRaBSTyQSz2QyapsHn8yEYDMJiscBsNsNkMkHTNKytraHT6UBRFFitVnQ6HWQyGeRy\n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\nLADwHmTDz5IewE+8aGDMzMsI1YnsSqVS5sAOhUL2dzG7o4tAH82OCWaNiAe6GHiOgEUuh4Q7YvJl\nwUIySbqR5MSfgZGAymRgTVzwCJyg4iFeSDEF3aGFip/xz22nye/+7u8qmUzq4cOH9u++9rWv6d69\ne3rjjTf0m7/5m5aOI0lf//rXtbGxoc3NTX33u9+1f//ee+/p4cOH2tjY0B/90R/9f/6d/MDa7bb1\n/hUKBcOKyWujgBJGChE5DFexWFSv19P+/r7tItL1fFiv128IzyEunIuD4xKDJm4USIHxeGxySela\n7wAzhuQTPyL4LMwmqAGMHWgLR7p0jRdjFJVk9wGyQ5CoooYjpIURgRhfxFd0nUDoYDYIhUJGhVNI\nxB0F+SpGWu4IkiyQ5vj4WHNzc1a1zEj2qs//2mL+nd/5HX3nO9+58e9+5Vd+RU+fPtUHH3ygO3fu\n6Otf/7ok6dmzZ/r7v/97PXv2TN/5znf01a9+1UD53//939df/dVfaWtrS1tbW//lz3Q+dFhHo1HT\n3CKvZBfEvkN6JqUw7BoEsjCHsutxUUokEqbZZaxIp9MmNo/FYkYJx+NxE7VDM0Opo1E+PT1Vo9Gw\nUSMQCJhACGJGkqnfqPjF7eHUNCAHBRlBh+F0gYNz8zNBpLSzs2PqP4osgTFpiSUqjH4Vonfn5ubM\n3wipAurCBoOJls+DnRuZa7FY1LvvvnurNfe/tpi/+MUv/pe83S996Uu2y33+8583T9s//MM/6Mtf\n/rJcLpeWl5e1vr6ud955xySQn/vc5yRJv/3bv61vfetb/+3f6ewZuXPnjoWTSDIyIxQKWbxtIpHQ\n+vq6JRDBhqVSKSUSCZN1UsIDtUzdLk4Q0n24nLGrETbD1+DxeOxFAknw+Xx67bXXbJflzwmFQspk\nMgqHw5Z/HI/HrSmLeC0yo1GfYenCBhUOh027jV4b+hu9Cg4WcplzuZzZrMh3RhYQCATMTMBYwqxP\nzoezEg34kNRUskww+zICplIpra6u3mrN/T+D5r75zW/qy1/+sqTr4/jtt9+2/wbc5XK5bohPstms\nyuXyf/tn1ut12znL5bLtmIwbCG1wP7x48cLmRxqhOP6Bn2D1iMP1+/2q1+s2Q87Pz9tsKsmIEq/X\nq06no2AwaFAZlimOVZwrtVpNmUxG5XLZwl5Y2LCWlKfncjltb29bEQ4j1NTUlO22hUJBmUzGcjgu\n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\nfve7eu+99yRJd+/eNXfSs/Xft85O5s95/fnPf9bQ0JC+973v2dcWFxefojuurq7q5s2bun79uq5f\nv673339fkrSxsaGbN2/q+eef1+Liov7617/q+PhY3/nOd7S4uKgrV67oV7/6lSRpeXlZX/3qV3Xj\nxg3dvHnTYsh++9vfanFxUdeuXdPLL7/8T/zL/wXLOVuf6/r1r3/t/OhHP/pPX3/y5Ilz+fJlx3Ec\np9VqOZ1Ox3Ecx3n06JFz48YNx3Ec55e//KXzi1/8wnEcxzk+PnZ2dnacDz/80PnSl75k36fZbDqO\n4zivvPKKs7S05DiO4/ztb39zXnnlFcdxHGdxcdEpFotPvbZX11mZ8TkvpoD/1To4OND3v/99ffzx\nx+rv79fS0pIk6cUXX9Sbb76pw8NDvfbaa7p69arm5ua0srKiH/zgB3r11Vf15S9/Wbu7u3r//ff1\njW9846nvKUkvvfSSvv3tb+uNN97Q66+//vn8kf8u61/9NPX6+tOf/uTcvHnzP33dfTL/7Gc/c378\n4x87juM43W7XGRgYsNdtbGw477zzjnPt2jXn3XffdRzHcXZ3d53f//73zmuvvea8+eabzvb2tpNK\npf6/v8MHH3zg/PSnP3Wmp6edra2t/84/799qndXMn/N65ZVXtL+/r3feece+dufOHa2trdn/3t7e\nVjKZlCS9++675iCfz+cVi8X01ltv6a233tKtW7cswu3111/X22+/rY8++kjBYFAzMzP63e9+J+mk\n6bxz546kk1r6xRdf1M9//nPFYrFTk3n+rde/+mn637CKxaLzxhtvOHNzc86lS5ecr33ta87S0pKz\nuLjoOI7jLC0tOVeuXHGuXr3q/OQnP3GCwaDjOI7zm9/8xrl8+bLz/PPPOzdv3nRWV1edjz/+2Hnh\nhReca9euOdeuXXP++Mc/Oo5zctJ/5Stfca5eveo899xzzttvv+04juO8/vrrzuLionP58mXnhz/8\n4b/mDfgnrTNuxtnqmXVWZpytnllnm/ls9cw628xnq2fW2WY+Wz2zzjbz2eqZdbaZz1bPrLPNfLZ6\nZp1t5rPVM+s/AIIOk5coA2g1AAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], @@ -597,16 +580,16 @@ "stream": "stdout", "text": [ "name\n", - "bicycle 0.800025\n", - "person 0.545095\n", - "unicycle -0.210109\n", - "motorcycle -0.233815\n", - "lizard -0.366079\n", - "cart -0.590633\n", - "electric fan -0.664937\n", - "purse -0.681369\n", - "baby bed -0.693025\n", - "snowmobile -0.787456\n", + "person 1.883164\n", + "bicycle 0.936994\n", + "unicycle 0.016907\n", + "banjo 0.013019\n", + "motorcycle -0.024704\n", + "electric fan -0.193420\n", + "turtle -0.243857\n", + "cart -0.289637\n", + "lizard -0.307945\n", + "baby bed -0.582180\n", "dtype: float32\n" ] } @@ -617,7 +600,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The positive detections are in fact a bicycle and person.\n", + "The top detections are in fact a person and bicycle.\n", "Picking good localizations is a work in progress; we pick the top-scoring person and bicycle detections." ] }, @@ -625,11 +608,9 @@ "cell_type": "code", "collapsed": false, "input": [ - "# Find, print, and display max detection.\n", - "window_order = pd.Series(predictions_df.values.max(1)).order(ascending=False)\n", - "\n", - "i = window_order.index[0]\n", - "j = window_order.index[2]\n", + "# Find, print, and display the top detections: person and bicycle.\n", + "i = predictions_df['person'].argmax()\n", + "j = predictions_df['bicycle'].argmax()\n", "\n", "# Show top predictions for top detection.\n", "f = pd.Series(df['prediction'].iloc[i], index=labels_df['name'])\n", @@ -664,33 +645,20 @@ "text": [ "Top detection:\n", "name\n", - "bicycle 0.800025\n", - "unicycle -0.473696\n", - "scorpion -0.932076\n", - "soccer ball -1.147575\n", - "cart -1.187498\n", - "dtype: float32\n" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ - "\n", - "Second-best detection:" - ] - }, - { - "output_type": "stream", - "stream": "stdout", - "text": [ + "person 1.883164\n", + "swimming trunks -1.136701\n", + "rubber eraser -1.251888\n", + "plastic bag -1.286928\n", + "snowmobile -1.304962\n", + "dtype: float32\n", "\n", + "Second-best detection:\n", "name\n", - "person 0.545095\n", - "swimming trunks -1.098802\n", - "plastic bag -1.130418\n", - "rubber eraser -1.185333\n", - "tie -1.195762\n", + "bicycle 0.936994\n", + "unicycle -0.372841\n", + "scorpion -0.812350\n", + "lobster -1.041506\n", + "lamp -1.118889\n", "dtype: float32\n" ] }, @@ -699,15 +667,15 @@ "output_type": "pyout", "prompt_number": 6, "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAEACAYAAACqOy3+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvVmMbll25/Xbwxm+KeaIO2fenPPWZHeZKrfdIGhDyyqr\nBViA5EeEJZAQ/YD6BR54RGDBo9U8NQ/94gcElnE3WLYL0Y27LZftUs2ZlXlzvPO9Mcc3nGEPPKx9\nzvdF5M2yhdJKF45ddfPeiPjiDPvsvdZ//dd/raNijJHLcTkux+W4HD91Q3/eF3A5LsfluByX4//b\nuDTgl+NyXI7L8VM6Lg345bgcl+Ny/JSOSwN+OS7H5bgcP6Xj0oBfjstxOS7HT+m4NOCX43Jcjsvx\nUzr+Sgz47/3e7/Hmm2/y2muv8Ru/8Rt/Fae4HJfjclyOv/FDfdY6cO89b7zxBn/4h3/IjRs3+NrX\nvsZv/dZvcefOnc/yNJfjclyOy/E3fnzmCPxb3/oWr776Krdv3ybLMn7t136N3/md3/msT3M5Lsfl\nuBx/48dnbsAfPHjArVu3+q9v3rzJgwcPPuvTXI7LcTkux9/48ZkbcKXUZ33Iy3E5LsfluBzPGfaz\nPuCNGze4d+9e//W9e/e4efPmuc+sr61xenb2WZ/6clyOy3E5/n83tnavcfD04XN/9pknMZ1zvPHG\nG3zzm9/k+vXrfP3rX/9EElMpxf/0P/73oMFkGfOq4sGjR1RNizGGPM8ZDAZApKoXxAjVosb7QFGU\naG1YLBa0bYsxmjzP0EaT5wPOzs4YjUbkeU5VVRhrcN7TNA02y8isZdHU4B1aa4wxGGMgRmKMDIqS\nuq5RIaKUwnuPMpoQIyjwzmNt3t+HUooYoxwDyI0meAeAtRnd5GqtCSGQZRlKK2IIEq0oOc43/69/\nzr/zS38XpcA5j9YKpXQf0SgURhnQCuc9IQa0tTR1TWYsWmsIER0hKk2LAiKZ0Vhr0UoTiTjXEIiE\nGFFaUZYD8izDKo01GSpqXNPSti0xzYmLDlkmEVByL0QCkGUZeZ4TIxACxIhKc+MDZFkOKJxztK4F\npUmXJteMwseQkITca0zz+s/+z3/Kr/zKv0tI86sUhBDRShFCIMaI1jJHWmu01v01A8QYCWmeQwj4\ndH0XP9c9yxDo1wRA8AGIKKXPnQcgRNefo1sH3Vg9tlKK1jlCCOmaQevl9XbX112Tj5bWR4zWGKsI\n3qNQxBhARf7g936Xv//3fxXvHIGAMnKctvXL4wRZtyGE/jxGQwwO5xxRQUTWg1K6n3mDPI9IJKoo\njxuNtgatDVVVYU2OtoaIxjmHdw6NXK82pn/2Si3noLtP7z1Rq26Szs29VgrFhehd+eWchkAIqt8X\n/bzLAfjff/e3+eVv/PugYrqbkJ4/hPR3DHJLPgY5fIQYA9HHfu5C2rFKK7TRsqblLuS5p6+NsaiV\n+1JK0bhWfjsqolyB7J8QiRGZ15U1svr3cg2GT3z/H/23/yWfZqY/cwRureU3f/M3+eVf/mW89/z6\nr//6cxUoW6MhVVtjcst4tMHu7jatc5zNZuwfHnB2dsx0OiXUbTLaYmCsAmIktwZrNCHKQ/beM59P\n8cFxdnbCxuYm5bBkOp3ivU8bJNC0DSpGWt9iosEYjVZprUZo24YQPFZrtFZEFI1vCDGQ5yU2z1Aq\n0raOLMtwLmCMoXWyOXSZo9JkO9eidHoYyqI0+NCIYVBAVJAcRQge7xtZ1yrig+oNg1IKjSEGBUH1\nm02FyKgcEIInhohSYhwCkBlDZowYDe+JOiTjEzFWy8+iJ4QWVzvaIE5CBYV3AWssSmlCDOIYjMZY\ni7UZxsqyiUphrOkNVnCe4H0/lyF4zs5OiTGS5wV5lsm9RiAZMe89wcV+k4cQQCkwBojE6CCmDYxs\noIgYCq3TBo4B7wJBiV0QvyiGyIVk2JTGmKXzCD6IkWL5WRQ439K0db9OO4MeuucRxcjo5LhX/6iV\n7/WOVylQBm0M2sCqjQoh4gNEAiqkOVQmbXhHjIYQPEYrrFZkmQUibbNAK4W1Bh8dwUOeWUDhvSMv\nSkLQBB+Tw9Co6EFrsrIUwxsCSht8iKRpIEaffLQiqs7JhWTwHNZaQnD4xoFSGK3JigwdBLgRI9rI\nNTsnDg4F0SWnZUxvwHsnlx6YSg5y1VDp4PvnI4teHHIMjg7WkByQUWBN+rSCgIKoCCYCGqLC+86g\nIuAoRkJQoFeeXQjpWhAgFkICUvIZa7UY4+DScUGnfZcZQ6QDDjFtcXFOAXHeIcg9e6WTD5PPypqR\n60pGAHi+0V4dn7kBB/jGN77BN77xjZ/4mbqay+Z3jqPTE8rhAG0Mu9sb3Lx+hbpuOTs7Y60YopSi\namqOj084Pj5hXi2wKuCChxgxycgFNLNZRZbnnJ4e471nMBigVSTPDHVd472nKErywVCMh/e4CJm1\nCWlohmVJlmXJKcwZFAmBR0XTNIB4SucUZVlS5ANijMxmMyKQ5RnOOeqmwVqDC44sZRu0Ap1Qk1aW\nPg2hNAFFCI7npREMlqBXvLQSBBGi79GWScYmoghNIOhk8HxAKciKLC1SQVgxRtrQUvuIBrQysilt\nJutHJVNpsh7JVXUNdU0bfI88iqLAWitoPCvIbYa1lkU1Y319HWstbdsym82YzeY45zAmk2jESgTU\nNvV5VOxaYvRoFQkxEHzsEU0M4jTFqfkejXd/BK3LPA3Gw35+YoyCQGPEWisbsd84iuAFgHRoTD4T\naZrmEyj7LFGAXQTXnVOM3BL1a62pXdrQKw4ZJEJTOpy7b6W02KToUSqSWYNWoILj2bOnPHx4n3/1\nL/8F169fY3t3h8naGkVRoLWirhtGwxFVVaOVEWcedO8ztDGCHJVFBQ9aUVhLDAGCIjgvUUAXrSRj\n2Bmltm37dSDRqcN7B0EiLOVk7rvn1EU9Sonx1tpTtw6jdL9etEkoNoDRYrz6yDbMIUUK3Xl1t11S\ntLBErAHn2jSPy6hGzKAmIlEBiBHWKv0sKDTLZ+JD6K/fR7DRLKOnEAlRJcMr4CudXPYCuje7yqgE\nM0gRb3efgsKjkkPEqNApsowxolVM34/n98OnjL8SA/6XGXZQ0DjH+vqEcjLCWEPbOFzV0DSepq6g\nqjmbzyiKEmMtN6/u8sKNKzgfOJtOmS0W+OCpqoqqblg0DVd3tvBpU+f5kDKhd+cd4yLDB09mM0yW\np9+r8N7JBHrwQLMIicopGAwKdK7Ji5w8L2QhN57FoqJtXQqlIpPRhM3NDUHvNqNtao5PTsjzjLqp\n+4Uao4S9LgSCa/E+opXmhRdfoA1BPHZHJcSINYYQIz54lANj0wqOYFBUrhWjQcBkmtotr0mlTayM\nRSlomgaTWdqmJSZH4pwTI2GshH0x0ioP0aOVJZIWrPcozNLfRIS6SsjZuTZFL0ITiaH1GDNfIquo\nKAflyobw4ISmCNGlTZcWfQi8fPs2TVP1m6tbzNZkQMT7FqKEu6anNkJP9ygVmU7PeqrFWosxS2R5\nPoxVeNnmgvhdpHb1kiLTQqt0FMra+roE6t29pHXdNA0+BPSKsQ8rxiamcyilaNvmE6izDQ60FpQZ\nI029oK0rmnrB2dkpa+MB0+kBH75/wv37JUVZEmJkPB4TY2RnZ4+9K1fIshJrcnxosKYQ9KkMrvWE\nCDFRcq3rqJKI1hYFWBMxHdVB7NkO5wS8dA7PaKEIfQhkxqZIM5kwedxoq9Fp7lwIKYqQ51TXVT+n\nSim89lilUVqLUbX50pApI39WUHuMMa3PyOtvfCFFIZ2jF3BBVCnSCYJ+AaV1D3I78KdVoia9o01R\nmzEGhRKg0dFw3qdIaUmfSeTjJZpJX+sV56eiUEwBMFZ+z6N7xyhrUPdOr6OxSMf6iXb0J/70r3B8\n8PAeWZZxNDsFYFgMGA6GECJeBXI0aIPJjCCS0BK9IWKwWjEoLBsbexJ+KYPzTvirCIvFgtlsJgZ6\nsWAxXVA3DcPBAB0jw9EAm+dU8xk6Jp6zI8iITCZjtNbMZvOEAGE2OyPPckGhlRiqum4pigFZljPn\njPl8QUSRZbmEqd6TlwXOBwxCN9S1QxtL6wOj4YTxeJ0YPdtXriQ+UXF6egyIMZ1VC2KICbEIR+d8\nK06ibWnalrwoaJqaUg9k02jQUeGDYzFfMEibPALBOWyR47zn+PSU2WLG2mTExvo6WmnqpsWkcM+k\nzauMkcXvHNGLc1MJhchmjr0hq+uaQMC1jqKwPbVDFO6yo7NsbnvDGVE972yMOB1P4M4X30R3/PNK\n6I1bcuAhRqKPxA4ZxiCIUik5t6G/Ru9bmdcQ8D5gjE78tjip4HzihAVRka7LGC3OttvAyRCYhGiN\nFmpGoTBWs8S8Mj8a0xuxtm3TZve9QRiNRiwWC8bjMaXOePToIW+//SNm0yl1PafILE29YD6d4kOL\nMZ7TtmFRtbz8yusYo3n65BE+eN57/x1euHWb6zduMRpNWF/fom0XNG3AxkL2SKKucKF3wDGmaKtz\nbmqJhE2in3RHqwSJikAAR9AarIJkhEAMvEXWq1LCCeugMGmeO6dqjJH58J7gIXQGNaHtpb2O6BjS\nNYlDVCi5HxV59dU3kgOhz6+oZCS7aLLPX4RAiH6F4hDj2h1LazHIzrUUtujvqTPe4nTFVSxzL/TO\nJASfnJIW+qSjAL0jhpQvUymqZ5lLA6GiJH+kEh351xSB6yyjDZHjg0NGgyGPHz2FENjd3sEqS3SO\nIsvJB5K4K4qcum2wKiMzgqTrpklcqMXHQFkWhODZWF9jY22Cax0dglBKURYFR0dHKKUYTjbYWt+g\nrmsOj46oq4osy1FKkRe5ILsQmZ5NsWWG1cI5e9fim1rolPkcV9eURUm2ts787JSgNNs7u8SgefLk\nEY8eP6AsCq5eu8agHBJjZDKesLY24fh0xgcffYgxhtFQuOzRcMhkskbT1ITgybOMuq4ZjUdkuWU4\nGPLs6TNC9GijscpKAncwkMVoDC54qkWFMZZyWOJ8CtMBpS2nZzNm1YKmbZnNKpqmoWk9o2FJdL43\nSkqZhFQ0yliCC1gtNI+1luAcdRN62sAYgzKJ0zXQetcjZHrjQG+Uu7DUGNPTFcF7wasJYbngUKFD\n5mIQfecUlKApEq6NOoX7kDYtkrniXM4MBeSZGFXvPW0jDlmbHFbCdZDNXlVViuhySbZZne55eR0Q\ncd6jgnDT3e/K5nb46IWHT3wrsZvfjBhaBmXGbHbKd777Z7z14x+ymM0ZDktc0xCjJ88s1miMgaoW\nYDE9PeWH3/suk7U18jLHe6GHnj17jA+OQTnmtddzimJIXlhciNR1jc2yxIFHvBPeW6XEJt06ST5I\njLsXTj3RIR2NFaJEFMGaZRKwzwEkY69WpMWJO7CZJNUhEnwQfhwtlEzKGSqlMFl2jiLp6BNYRkKd\ngdd4lk8/xTkqCJpBLY05CpPplMCMqHS9oaNutCZlX3De9Y68cw59EjU54C4a0cYkeiX0997NV3c/\n1miw9JGBCitrNd2M6ZPliqBUcpSfPj43A373nfcoBgOapmEyGWNNxvRsjtYnlEXJ9uYm2lju7z8S\n1KYUeZmzvr6WjqCwNkcroSPm85rtjTHT2axPWsUQsJlNWfwonJtSlHlOW9dMRiPKPMc1DaO9Pba2\ntgAwRnN6eprCpsh0MWM6m1FVC4qiYHL9BjbL+kTNs6f7zOZzRmWOMpZ2MaMocl69/ULP/c5PT5ie\nHDGfLzjKcra2tnABnjx4wHgyZnNySwyQb6ldS2YtjRM1zNbahJOzE+pacXZyhHeixmmalhAjT54d\nEGLExchkfZ3xcECeW4wx1E3DoBwkFY1hOl9weHzGk/1nmMyyNlkjxgpiTBFQoF5UosRJ0YSPDhOD\nRBUJ4pSqIPqUdEyINUSDD4mHQlQqkoAVVBrSAo0EnPd4H9BKk9lcONeUoA4+nk/hKEm0maTK6RNk\n3fF7TnZJafQbfCWrL4qF/j9iqK0mtyXWWqpGUHYMgnx8SvYRI651GKP6BFO3QSViyBKadnQJ6e6a\n2tb11+JiSuYpJbSP0dR1TZ4XWGs4OT7k7jtvU83OiD5werwQes97sswKrQisrY25dvUqeVHjGkdT\nV1ir2dne5GR6Sl0vWCxmnJ2eUtc1t27dZnt7D2sKyC3GatpW6DyxSp2vc5DQdUyKHFGwiIPt7kND\nos0cPgacET44xgi+i4A6/lady8cpqwkuJMOuZT2kpLZR2ZIyYckDL/MX9JHMKtJXStF4L7FcyhMp\nLUBBBUVMRrQzsJxToURUSCAjiiJKnk1GObDEZpWuCfjEU3cRow+exklUldlRSniKwwnJyItNMb2g\nwTmHNlqIkhT5r9JoPnkxpSQx+pPG52bADZrxYIzLhU/e2BzTxFOmdcPRdM7jwyP29vY4nlUiF7Qa\nvag4WVTM53OMtnjnWd/YxDtJsBwfHeKDJC4HgwFGy6RleUZwjsWiScipJc7maKWoqorTszMW0ylH\n+/uMx2OGwyE6szRNQ1mWXNndY1CcorWmLEtc25LnOeVgQAiBteGI2XwulEmec3Z6ymKx4ODgKePx\nGnsb62Kwgiff3aGuGlGooNjb2cQYw/H+M5RWuKZmd3eHjY0x+/tTvGs4PTwjKwqeHRywu7NLaTOC\nD2Ra8ezZIXXdkGUZbd0w01MyrVCFpvWKxaKmamq8h42tLZSxlOMRGyHStA7nA+M8Z200JjcZLjQU\neUZuJfEzGU+YzuUZEAJYg1FmSQG0bUKhIht03qGMwiXE6ryjTqqOLMvwTuGdF/pBC/UVq7nwr3op\nJZMNmELLKIjIEwRLaZM2hyz6Hul0DiBGSMBFd5RsojhUisuD91SuTVJBSfDl5UDUJVoMRZaiAkl6\ntr1qxnuP0sJh17XcZ57nWLvMc3TGKwQPURCV0QatSSoNT1MLWvMuErziB9//Dof7+0n9FGibRuYw\nShI0y0qs1WRZIWgZRV21siabhgcPHmCtphgGFvMz8mJICC0//OF3ef31O1y7coM8y3BtjQZslhKu\nWmEQflkjKqYmeKGVQsB7kZUKipR50VqTZRkmBrSKaCMJuc6iiDFPz6JHuSnvIU84GbokO+05dwlp\nYgigFUFp4Zu7JF9yot4nSSaC/qPuUG8kxETRmI7eUMQgACIGUCb0XLpK0bmNohRSnZQwIe6YELec\nNp0j+t5Z28ySa5EVt25FVhgBNNau0DZJliqKLQeIM19KI1c49hATV//XFIF/5Qtf4eDokJPplPX1\nTdCGazdvsbm5ybODfd544w22Nrd478OPOD4+whhN01SJVhmniYrM65YfvfU2V69cZXdjIgevWurG\np4cuiKDjr4OXDZchsqeiKCiyvEfq1WIhyb4kwZuenBKVJGo6VJVlGZPJhMVi0aOtIs8wpmRYFJjo\nGRYZJ4f7DAtLUeaMRiOszQA4ODgkyzKK8Zh8OGI0GvL2Wz/i+PiY7d0tTo4OCc2C4WDABx894OmT\nJwStcDFS2IxmUbFY1Ghtmc4W3HrxRSbrm0xncxrnGA4GFKViMV8AEjY7D64NnJ5NOZstqOoanWVk\neY5VjsVsgasarBFWushzoXHKIb4RVcNkNKKOnkEhvGD0gVbrpCrpAk9B0m3bJL2w6G6XaFXjY0BH\nURf44Gldy2RSnkNbhi5EjksQlwzBKgIHMcyxl2MmxJ02tInn0ZqOwrtmuZXwONEdoilWiccMQuXo\nJYdZZLkYurIk+ICyhsFgsJKEij2/vwzvJXcRfItzAWh7CqK7zhACs1nLyckJ3/vedyXh7gQgtM2c\npp6JMkYnPXUbiPMKOMa1np2dHaFHXMPa2oi8yDg6OREFzlCMQV057r7zY6y2XLt2DaOT+Y8eo0g0\nQtovStPVH3RIUhmNVkI3ke4zJm0zCrRZKiZ01KAUVmmiBpJTiEguKdjQo2aQCGl1vpRAbzBa/nT0\nRex4HnnGwZjeSSoFWpUsZY9L/bicQxENqCh/GxtER58MKmmNimI20HZKpTxDe9uxMHQ6bmMybGaT\nuikKdUUkeFFvGbOU1gIpxxJ7dC51J8t8AURCcHSKKJsoKSBROJ8+PjcDXqxl3Fy/zuj0lDt3vsBs\nUaO05eTsjHfeucvh4Qm7u9e4Pil5cesFlNEsFgvZwDFyfHRK2wYGVyY8+vgRhSp45ZWbeO9FLti2\nvWHx3rNYLGhaIQDmixnaZGhtmC+WErNOBtaF5b1ErFNVJL2yci2niyOqRUXTthRZic2yhB1arJJk\nxOb2VTJrMSpDB0N1Omd9bY2dyQaEyKAcsbm1gzGK/Y/u88U377C3u8ufP/sTbo23Wczn5NOW//kf\n/WP+8//01/E64g73xan4yO72Lqf7j6mNYdy0bBUlH99/yGRrjawI1Gc19dEpXmf4rKDcucF6OWFx\nVjF7dsTO5haHj58xHVvsxoAGD3XLKzdfxOmcAxxPQsXR4oirwyGbRJTNaWczhtawtrFG3FmjDg7t\noJ412GyTuYIf3nvI1uaI8XhEPszR3uOioyxKhoMSqw1BaXwl+vGZ1pj6CYoGpyfYYo8iOurFAygV\nc5OjQknuDCaDtq7xrROarMgxeSHFNYluyaLIuCoyohc5ok2FGeJ8SIUYmqptsCaj1XPmruDZYsZZ\n8xQbPBsMuLlWsDVQVAtLNtrl1M8IbpjoVim6MhaUjri2SZyyRSuL1pZ8mCMaa1EVWSUCs+l0mmSp\n8Iff/AOOTg5RWU5QmnpWYVQuRsOL8dBG5JkqRqrTBW10TOs5RZERmorhtGRtPCQ3mvnJMSeHR2SD\nAfuHx7z80is8fPQRV6/uiqRPZaLpNwYUSe3UCrLEUPiOAmolcgqB1tXITXtEn58KVNpOSRPBiBTV\nB4m6lF4mJk1KLIeeepNCL+99X1yjtcYkOW9wbbIWqifllZICJx0NxKWCx8Y2fUxEDUHRo+GQkuwd\n1xy9SI+jWRbLdYVUrSc5DqGKlE21Em6ZwPTIZztA1wGIqJqeDwd6u+IkVJBzI47KpFtaggu5PElw\nL+sP1F/Q7eRzM+AxRhb1nLZt8N5z/97H3HrhdkJagQ/ee49rV68AkbwsaNuW8XgsKEuBc4Fv/uH/\nzfbOLi/dfpGf//rPEzhbaoK9hOld1r9tJVyO6aH60CVAYv+ZDkV1PKpLxTnUFdYarLG4NuCc/Nza\nnGGekWWinDBJyO9cS9RQLRao4RCrMo5Oj4VLPU5FRSFyXM356NEDtjY32bt+jY8e3Ge0NsITufvR\nB9y+9QKVa/iH/+C/4KWXX+ad99/l7t0P2NrcYHtrm/3DA9oQuPfoPuV4zHS24KOPP+LkZMTayHB4\neEyRD8mHEzyBGBoWizOODvfJckPVVFy5coWd3XVMrrl3/x63b7/KydEpIY8USjF7eoo/PGU2rNm7\nOaJ1LVpBU7d89PE99KgEY1EuYKPB+ylHdU1oG9rjgPegygFWyxq2scVmFmtStWDryVBQ1YyzHN96\n5q1CJAmOoTMsqgXDgcXGgG08lYECBdpiMlHI+LpBG8l7mKiwRHSIhEwTtE+yPp8Qo5EEFxGvPEWZ\noZTm6cET9o8jCxTOeBpXkxGo8obJlW3GccTBmUhCdarg89ELb+zAp+reGCMEL3K24PELUEa2YnQe\nB30hTp6P+ONv/ivu37/PeDJO68fjfZtAZ1JaRIlA2ybK/WmNyS1FlpNpw2Btk+gbjDais9aWtq1p\nFjXDouTpoycM8xHP9vfZ3NyhLHPm83mPtCWJG6XYCU0MNiFB6AisLMv6vdsNyS+tRhUSMdmefgrn\n9rxBSZ0B3XEV2giF0SsuRLYBflWBkSIdgvBhK+fvj6TOf7/n7GPEK9UnaE16Rl1Ss0s6gjgy0yU+\nRT6FZ4XOozPMKSJMNJ5GaENUPHfZqyi7o6RIXP1FewjJQRnV26XVe3re+Px04CmL/86P3+HDDz/E\nuUDT1PzZn30b7z1lOeQ7f/an/OLX/xZlWXJycsL6xlpKVgVCaHn46B737n3M1772dR49vs8HH77F\nq6++yosvvkhTVRKGtm0f0iT3J2GJWmaxQ/B9OORSQiL40GuKfVP3/FTTNHgrD8M5hzUKYkNwChUN\ntsxpowJl8ERskaNyy/HhPvPZnMFgwHA4pMhy5k3Fs4N9Dk6OUMDutT0Ozk54fLiPVprR8QGH01Os\n0nx4/x5HpycYFNPZnLZ1zGcLNjY2yfKC73zve7xx50tkZcnZfEbdtHzhzTt4H9jZu8bhySm4OR/c\nfQuTl7x25w73Pr5PVc0IixJ3tGC9gfWYsfPCbWaNo8hKYt1ST7bw0bGYLgjaMz+bM8yHwhkXA4Ix\nNO2CUlmshcK3bI4HmNphXUC71LZAJfWC9zjdpgWo0MYyKQtK4zGjEUd1SbRbxNkZ7cxQTSsmWxNy\nIvFsRm0Dk9GI6AIxOuF18aIrjpEsLyiUFKg41aKU6LSdd9Q+kOdZQn6RqhYZZl237B88JJodgiup\n60CmLSbX+DhHmSGZKWn2K/K1MToqsEoKjIJwojF4rJakmVQIi8IjBo0PEdehBpbJ16qq+OEPfsCg\nLKnmC/I88cqJfvDB47wjL4u0c1Sq9A3UVc3O3i7VbMbpfM7G2hjfenav7rBrM+4/fIwPkY8fPOLv\n/Ov/Bm/c+TLD0TgVtC110VmiA1SQRKFrHUotjbW1Vqpv1ZLG6gz/km5RCTkv0efyMytGyIdUIdpJ\nMUV/DSRlypIyKVLLitXhPyGtS3kQtaRhehotbXAFZEqjrE6qpeV99EdJKhtjzhtMjcKnkv5eC56e\nQ3ef3fG0zpd1ASvXsayDiH2VtjLLNhyrI0R17tq6Y3za+NwMeNfv5Jd+6d/COc9sPqNa1Pytr3yJ\n+WIOSJa+ahvu333Aw4cPefPNN2nblvfv3uVb3/pTvvyFN3j77Xd48/VXuH37JlVzyGx+xocfvc8g\nL9jb2yPLuiyuKFPEk+YyUXTc5zK00Ul50ieilMLGlpCSVyC5vO4zgshd/8Cq4PFzj/dQjAp0bvDK\nM1wfU4wHfPjhB1wrrmFKS9XWTDbXqeYLYgyczE7JtMEUOXu7u2Atw/UJxhjWJms8Pdhnsr7OoCg5\nPTtla3cPPnZ5AAAgAElEQVSXtnUE5zBFzu61K0Rr+OCDd9nY2uHd99+jzDLu37+HB17/0pfZXBvw\n8htf4Ft/9m3ybCgGfnOdkyfPeOHKVTJl8REmG5u00xoTFKPhBqf1KU+PnnH79lWytS1JvNmMafQ4\nFzG2QKPQIbA9mTAcFVhToIgE7/Cupk0IRaUEmdEanVmUijyeHVCYlirAadwkGwVC60VSOtok39mj\nVJqFb9iaDCnyDFc3BO9J1dDk1qKVYlCUFMYSneesOhPe0ZoeuDnfMK9mKG1wPqKsovYVs8UJPuTE\nPENi8IgZGI5PD9nceYmDgwXlaMB0sWCQG7RSolTxUrxljVT7oqSPhkn69Zh4dGWtoM8QaOoGkN40\n0+kpKEWIDh0VBmijo/WeqBR5maE1yeiK4fVKURQDPvjgI157+TbRlxijmc1m5FnJ9s4OW1t7fPDh\nx4yGa7z2yhv8zM/8LEZbvv/97zMeZ2gtih7npUinR+MpTwRioEPw4C4YpPT3kraAtu39U08xSG6k\nkx5Gyk7vn3TSwi4s+fD0y3Kc+En0KdXyS8MnSFoSlt0+79BxR3HELiqPAeWlhUDszoHovxVSvNQl\nu3uEHSVJL4lGsUnGLCtGI5JgDSHg6HIvkjCVJ7mcj3OKmhXDfy6i0baf505q+5PG56dCsZbgPePR\nCO89w0FJURT41ovmu64x1tIGz40bN9ja2mI8HhOio8zf5JVXXmJjY5Mv3LmDdxWnJwfs7e3x5MkT\n5vM548Gw1+/a1LtDJ3mhUl11YvdQzDJJhoBzo+1SpO8T6kmWPqRkhyRFk5Y1ofygu5L4pZzNBeHg\nnXPkhSQ0A7C5s83pyQluPOKdd96hLAra2HDl+hV865jVC3au7PHg/gMWVcVLL78ixSdAMSiJwNbu\nLlXbcjyf8+4H77Ozt8dgMmHn6g20Mnz5zhucHB3x9OAZTx/d4/DZM/auXaNtGtom4mPk/Uf30Ys5\na80CU82YbK/x9PiQ6dGUq5NNrNV85Utfhbcz1gaRQuW0jSKWA5rFgtxmZD5Sek+oFmDA5hnRFBLF\nOIW3EKOnaWqikhC0CY7YOnGWxYAqeMJojbuPpzTzfcrgKNuG8aAkes1GYfFrJU01RVeRzFhyK6Xb\nQQHaEDQ4G4nKE/BkmemLMtq2FZRlLVmRi/48yqbMleX2i69Suw3uPzkjBk9WZpycnbJZwrRpeevd\nuxSDF1BF2evPte6kbWnT9moIT+sbIhGjBc1mxkhRVJRWYMZYdnd3+Dt/5xe5e/c9mqamOj1F61SL\nELxUByaEL8Ah9GqaZjZjNB7z+MlTSWKOBqyvrXHj5k0Oj445PDrh1s0X+PHdu9y580WuXL3O9OyM\njY2NBFbopWyyF0QeZ6yot+qq7oHMYDBI1bJp/3TJ4ZTI7A16MsZGJ3WID+cM16xaSJ2BtaIy8R5U\n12JAqja1NbJPP2HAY68zR8UlEo+fTPYpwHfJ7hR5i8NR5xqRdX8rJUn4vodXBJSAD6O1JN2DTwZc\nSSK7M9Baesfo1Mek2/sXG1NFhKIBUCEQOI+2Y4qsViuP/9pSKFmeyyJvG5SCsshQSG8OosZqiKEl\nKwopILEGHxy5MYzHYzY3N3FNy+uvv8J8Phd+LpuwsbEhN53QSp7ny14WcSXEiks04f2y619Ht0gx\nX1dmuyz3RUk5e240zkVspnquMkYp5ug0oqBwwZMFw2Q4pPWejfV1jDUJtVnRbGc5t2/doigKDg8O\npLDEB9qmpWka6kq0wq++/ApPnjzhvbvvcuPmTaqqIhuUqMyyubPJ1ZvXuXL1GoPhgLPDAzA5/88f\n/TE/++UvsDZeo/KS9JuenrG1ucl01qCMZmdvl+8//DbXX32RrReu8YO3fszZvOb1N+5QR3jy9CFn\nbsrjR/fJr42Zt4q8mND6wLODA67euMWoLBl6D5lB5xJ2+kYcYzAZ3jdSpowmyzPQXcZf5JUnLlAO\n1zn1Od4r6qjwjce3gFJUT6e0WwPGWcFaaVjM58QQWLQtjWvReZaMuKYOXmRxrQPvE9KSTWpsvuRy\nURitcG2bGjNtcjbzBN+iVE2IniLLCXrEw6cLZo3G25Ysg4OjGQqNzTLyrMT5mtl8nlo3SCLLJmWO\nCoHgQs9tGyMyTBc8ddvw1a9+lbIsefjwIWFzmxA8dfB4pMWAyDcS0ovQhkDjPUVecPPaNSbjIdvb\nW+AdpyfHfP/ttzk9m7KxvsnTwwNee/1N8rKkrh2D4SgBC0GVKNFPl3mG64pTtCLisbk0gXKtI0aH\n1qysbcRYeU/Epz2wRMHCq3dFMKTEroJM03onHTeNRmT2YjXFCYBKfWVMMk/Cb8u/TOKoewY7nTJT\nF/ThcVkTQAJfyX73FZDdupD/+/Q9ldaK2AurOimqUH8hpsghdP04l3bCJMeqknomTRJd5W+nC49R\nDHkX9XfAMUah+YxeVhr/ReNzM+Ah+tRZdCmXMUZhraJp6v5BNSkTbaxMWpu8Wls3RDyz+VSqlmKL\nb5dtIXX6u1OiSEHJ0rOhn+/ZzvFiaXIdCnzXqY2OdpOeDWrZSU3qveSzWmupkLQiPwsxkmWGmBpK\nBUS+Ndrd6zXVSinGg2HP09dVjdaaa1evEoHxeMJ4bcLG1gaTyYSP793DWosLgS2lOD07weTSJ8TY\ngqPjh2T5gA8+vMfW9jYvvvQKuzdv872334Wo+ZmvfJk8K9g/fEIxLDmYnfLxvY8Zao0P8OTBfarQ\nEl3DvffeYrMs+N6jdxjlY/72L/yb/ODuB7RK8ezpE668+jqP332Xg8f3uXLjCvNmzgbrbG9vURYl\n+XDEYjFjsLHFZG2CtlJOf3R4zOl0yq63lKMx//y7P8adKCgMGZ7Xb77I1vYeP/7oHtMTx+6NTbJ6\nn0Xd8OjhI27dvCEhtQvEhOi0Lmhrj289Bs1wNGRjYyM1T5J19fHHHzGfzSFGyrLk9OiEJ4c1tbME\nvyArGmazE3auvIJfRB49qcjKHUkI6xnlYJj06JF5WxODRxlYNHOapiHLsz6JPspzovdkeY7WlkVV\nUbcN3gfKYiAy1KIQh2wyAiSZnvSj6crIQxBKBWNxwGR9jbPpKafTE4pBzqAsePDkkfS60YrR+hpP\nHj/j3/sP/iNmVY05m7K5sSYgA+GGNT41VvJovUSp4HqqAFJbZQVE0fELxWmIPWKMSePe0Y+qT9p1\nfLtWCm2V9PUxGkMmHSE7dUiEoBVEDwF8Eu6JlFNUJKGtEw0qe1ErhQ8Bq7IVTjlK8ZjWyZkuFSzS\nbmGVzkh7WZGoGeh5eEgUmBh5lSSwKkaMTa0lO68TIXoPStoLrJgJQFpyKa2xRqi3BpIuPSy18jKr\ncv409+EvMOKfmwFfWsP0VfT40HXpWyYMtOo8+/lucBClP/ZSYXQu9Fi9776kOfFbSqm+dLb7ve7f\nXeZ6eZyIMdm5h3HOyKcF3wdJwUNIrU9XPm9SEx+lVF9eLJy88OxS5KHpojLnDOPRWOSIm5uS6NGa\nnd0dXuM1QvC88torLBYVOlECP/zR2xSDIU3V8KC+z50vfoHZ8ZEUEVtDEyLrmxtsb28xW9ScHh1Q\nZjlbRUmoGsZFTh4jxnk2NjeotKKxhpdefJ23/viM6ZOnuKJmdnDKxx+8R6Y10bUc7z/lfm556/vf\nYWNU8tbbB9x/cp+/+3P/NuPQSvtRM6B2LWERmFXS92Nje4vhZI1iNGJoJuwfHvPe996mWb9BtpmT\nx5a90ZgXrr/It7/7LlNTs7kx4JXNDcys4os//4uUZcGTZ0+ZNg2zusaWQ/YPjhmWI6zKOJyeMd7Y\nYWfvJmdnZyileOHFF9jdvcrJ0QF3332X06NDjFJc3d1hNmux5YhoTxkOrjPMdtFhm8XiGKMz8myE\nNy3VXNamsZpoIq2vyQpLZgy6ET48MzlZptEBwEivm8JQt1J4ZaxQYWdnZ/z+H/4BANOTOSaXJlRK\nQa41unWsFwOaRUU+HjNXkWxtwpMnj1gbDIkx8OH777O1sylGTsFgNJQqyej44pe+yNNnR9ROcXh4\nSIzS7jXimEwmeO+o2xaTGpo5J+AqxBZF4nzTugzep26JstatVkIVxYgiSx0xbZLvBunw2O0pBdFq\nlO+098lRqa63SFeBK0U/LkixS1HkuEYcSGdQO8omKKHKhWJayoE7A9BHzr2hPm9HdNp3goCXvb+7\nX+lBWrJHfSTU8+qpJXCqc+gjjZW9v5qsVEoK5IxKfXuSvDUkGqjITA9qw0oi9NPG52bAe2OrSD3Y\nlw1hktVOiLbLACP4diXbLGWznTENfZi16hz63g2xS1XIiBd+3o14wbDL90J/Xq2UhHgsPezq57Wi\n5+46RlCuKPbH6qhDnzzvck6kAY9OfatDlN7Ei7amLMs+xIpRuroN7YDxZExVV0RleOON13j2bJ/d\nrU1Kq8mN5dmjUhJ7owHDjTVGkwm/sLuDiuI0mlnFez9+jyvrG7z54m1yNHY4Ic8HHC/mmEGGPzmi\nnZ4wKAzja9eoTxY8e/yI7eu32BmPcUoTXM3NG1cZDUr2Tw742su/QJtZ9ts5hbKcLRoigVIr2qbh\nbOY5cBVN02KyjK1BoI4BpyKz6oT1WFDmirtvf5vDk6l0WRzkPJ1N0aMB68WA2cEx1197lb03dpm3\nLQfTKT/48V18A6rIKQdDhspg8yFns4qqET7z9OSMB/c+5PWXX+Js8wA/mzIsc0IGcVEzGY6x5QSl\nMhazGYeHB3z44bt4ZylHE/JBS91IBd1kUrK+MWQ2P4bYkNuM0WjMxvoWo+GIk5OaxbxmOBxJr+mu\n74tSGGu59+A+v/97vy/USNMwXpvQuhYTM/AO0zZsZAV3br5Akee8e+8jTqen1KEiBkV1eESWW6bH\nmoNnjzHWMBqN8b7l448+oiwGHO4fSN1DgEXd0LhGWiS3jqPjp1JMkxWYkKGNZTAosLnp0bNrWkBj\nlKIN0g62SzAaY4gq6xOsAltEzSX0wVKxEgJEp3tNte721GrhS+KRxSDaRGmmVlMxoqIkCbvWsVmW\n0fW5lyiga61Ar7KJ6X+S+1L4tsP2oLzr4PdyL6eoGkSu3PHzss1T4lardP1aGnSlFgxL2931YIqs\nAkuhleRnXctem2Xo9DNhC1JBVaCfo08bnx8HvqIOkcCha7dJn1BUWqNSm9GOougMaegnpnu4y4ZH\nggZWOOyUUOmOK6d9fo+BDq2fQ/shAtKfWVyz6vkrkKXTe3FFCgvVOcNuLnjl7vtxxcOGGJcJsRDw\neKpWFC71dIqxRtBMDGivllrz1Nu4LArWJmP29/fZ29vilZdf5nD/kKZppXmVd6jMcOvaFaGEvMdo\ny2BtjcnmmJ/54hdo2ob1zU2OTk65geL4YJ+H9z4gH1h+9is/S7SG+3c/pFnU3Lqxx2Fds3X1Cvc+\n/Ig8l859Gztb7N68zmzaUDtpaHV8OkMRybOcGAKF87TpZRtFUXA6X3C4f4wvIne+9DLZsODgvbd4\n+eZtjg+e4l3k5q0X2dq1NKcPeXZwgAJGT56wtrkBRcF3f/gjPnj4lMFwnbk7ZTp9wsNn93n55ZdE\nummlKVk1PWNva4O2XvDq7RfJfMUX77zJ//a7/4SB3WJnsIXKNR99+IitzVscu4p6foix68yPNfc/\nfozXhr29TbLMw8mUk5MnWBOoqwWuDXz1K/8av/L3/h6ZKXny+JCnz/apqorpouJsNifPchZ1zb/4\no3/JyXQKUQp1FvVckL1WqNCwN5nw5Vsv4k9nbI+HjF97BX3vfT48PmA8mOBrT2ktg2GJ846drW0+\n+vgeW9u7NFVLrjPee/fH3H7tC3gUWW4JwUsXSwsZIg8sypJ57ajrBT56wrzty9BdI90vy7zsFvAK\nEIm9DHC1MrKTH3bgqdPHh6jREjgnPb6mqupl0yaVeocAVkU0gbZtsd3+T9RIluk+oRt7WWJXEYoA\nwtR7ZPXtRFZbfBCH1O1BAXEh6e2XaF2ib3Nuv3ZfC6VkekOulEL5riXysiEVK3r0pcSQpLdPksxU\n5KViVx36SXnhp43PrxvhClWhVDKwIT0ipXvP3ZEXkiXWveHtetCBZIBXs7daa/TK/a+GTR3/Jcc6\nj7RXP7uK3I1KTf87GifRNjEuP0OQCCAonZrnxHPGubvfzpHo7tViekWSFYTHlUhB4YG8LFauL0oy\nJUjpbdM4rDGpL4MBAltbm4xHA4pMc3D4TDaeLTGDnCZ46cRmItE7jImgPLsv3uDW9SuopiVamJvI\n2s1d/Kxib2uNq9sTXnz5GpWrubKxi6o9m2vrrO/tsldkqDxnZ20N3Qbm1YLD2RmDzTWubBWyWJGE\nbHAtKnZOx0ivbpNhsMxCy3h9zBe/+CZtrqmrY65vj9geZKyPdjmj4uDRU4pizJOTQ56cHDIZDHl4\n8IzDZkHMctRoCEXBUVMzm50xm84xKJ4+22c2PWMyHjM/m7K7PuFvf+2rXNt+mWePHvDn3/oTDp48\nZHZyn1/4+pc5Pq55eP8B9z98wMaX98DN0VQM8g3a2hJroIgMBiUER72oGA0s169vs7u9xcGzI6Kv\n2H/8gNFwna2tbdbW1tm7do1HT57ywx/9iHff/4B33nmXx48fS5I9qB5NWqMY5IbtnXVujNdQbcOt\nnW2ePH7C5s2rFCowKgzKe0pjWRsMyUup2sy1YXMy4ez4iMFgzGI+45/97j/lP/sHr9F6RVvNKcuc\ntppStTVE6R3kXAtJcdI0FZ0V65KWMUgNBClo7HTNEYUtZI065/qaColkU9Mr78gyecMTPgXYKKL3\n0h5XK3JdSFTqXTJwBmu1tLVQKr3FKr2qrH+RAklh5MgHeU9zOOeIemlIuzfsoKQoSl4BmPqpIGX0\nHaWpOjonSMQeEp3TSyh9p8RJr0709EbbpBecXIzquxwcLMFblxiVaGMJAuUzYUnhrNDMzxuf+Tsx\n/zJDKcXv/C//uP83LDufdd87Z3ShTxTCeZrjoo5y9fe78bxbXD3X876/emytltRLZ4D79pMXHszF\nB7gsWFiGied0n51D4Dxi/0nXvnr/xmi8X7Z07WSTXQjZoYX+fljJGdA10jGsvuCgT8oqRbbSWgAi\n1ojPb+pa5iRdf7eZutLwcjCQrH1Xztxl1VOI1UVUh0c5/93/8HN8+zu7tO1P7rx2Of76DGtbXnr5\nA/7DX/1t1rcXKCVvBBoORjR1Q/AxCRMMxUCahLXe4W1Ae43FYrRIKrWBqIL0CfegvEZHRcjFOEsn\nREte5GiT4aJUKdaNw2iTlGaniXaymGiJBjCeKswJCky01FXAkkOUZmTynlFpmmW1IHeNkp4pUajQ\nrBA9vLRNkci6X88hRf7JPviBSslOeX2bd77fh8YYoUaj2I5SOnSBSlSSSn1cgkQBURJlGGP4r/+r\nf/ipiPxzQ+Dd67hgaZD0iuHoy2A7w71ihC4mH1d/7+Jnus+tjose8nnj3O+opR9cLc89nww5z1U9\n75zPO7fQPec/u6xiUyte+ZOa0GXIev6PHGPpULr+Lhedzer5Lhy4N/o+NZhfHdbavnFT99aS7vvd\n9eZZhtf6E+fqjtsd8zf+m5/jT/50j8vx0zWcy3j3ndf5X3/7V/mP/5N/IklZo2jaikhAW+njH6NU\nWOtUJONdK4VD3qTXvoHyYsAlMyUvbNEo0PLWJ6UFiTvfSl967+W9llre2bqoWpyryJW8yESoyYiL\nLR4nyVOlKPOC3BR416a39iSu24Dt9oaXFgkgUb4Ly3fuguThhKs/n+CMUd6TG8JSjijvYbXSbsFL\nN8JuT3cvZNdKWtJ2DIIkOZdv9vlrm8Tsims6OU9nDLqvuzCslwCuIOaLxmy1cul5ipJVg9j97OL5\nV5Fyd57u589D+N3PLqL9i9ey7FXtPxFhrJ73eaj7k3TOJ6+j+95qVny1kfzqMVcr6VYdypKr/GQU\ncS6zf+FYXbj6vLnoOjpenLOLzubPv73N5fjpHe+//xIxRhaLOUppskx6gjjX9tGZVJguOxwqDcG3\nBO+wifrr6zLweGUJ0RJ9mxJ9MjJT0DRVnytyTS095q0lyy3RBZqmQiuLMYo21ngt7+2MviHXnjY0\noELqLgo29c0PMdDnKE3qNYOhTvLJrhLWB3lJjNY2JTslDxdjJIsKpaUjobTiiGjv5eXJiadXWt5K\nZDKbkHtn61LuTXfOYtmu4yeNz7WZVY/gLlAHFymGT6LL0BvET/t5jLF/PdGqIekMzWoEcNEIfxry\nvWgUVx1DZwCfZ6gunvuisbx47OcZ39XrWT3+xX4LqwnYv0yUsUzIXJRpnr+W8zkL1Zdar55ndT66\nZ3TxM6vHUkrRNJe0yU/zcC7VHaT2y3Utzb5Su/L0ujkpaAtOeodLsyxpLxC8vPszpFeFpHfzoHBo\nSC9zEQ57Uc2WhUZR8l7WaKwJzOYLrM7QShBvXTuC8mSFRALee6Jv8K4hLwsCQeovWgcOIKITHaKU\n6l8ZGJRU6mZZJgoW35XZJ/vRJ9sCubZp7Ue8lmiAhNalQVVHCYe+PW/rmj5fsNS1dcDKfCKyvzg+\ndwR+kSqA85t9FRFfROvdZ1eN2MVjrhqo1Z+tGptVJ9J9/6J+szvW6terv9ddy/OQNEDR9dB+Dg/+\nk8ZFLv0iiv4059Jd4/OOd9HgXlTdrDqG7jjdz1eN/cX5WXUi8Pxo5nlzczl+ukcMUSIua7BZRusd\nTdPKS7NXCua06qqhAbN8d6iPrYgLFP0fpaSra/QBF7w4Ag3WaFzrcL5OyFmzaCpsmRN9wIda9PqF\nofW+7xBpEvLNMy3V3kD3LtcuJyMCghR1Bmk8FbQiBCm/D0He0iQ9wIXfF+pIbJlIDnWqTk1l8+lN\nP0p3+0WSlDazaKNSJeny3ZqNawlRXgQiPZZ+8tx/joU858Pu7k0nnWHsbugiB/STDNdFI/a8r1cR\n5V/WsKzSEqsG9SIFsmrkP82wfpqjuni+5329ahy78byG751T+ouSu58WJTwvh3ARiV+8j1UHeDFC\n+rRzf9r44z/6P+QcStFUNcZkmP6NJQGvAzp2SScwxqLiUk3QVdlqa1A+piIu6S/StG3PMeaZvFrP\ndO8wtNLbppnXwufHSOvmzM9OUToSPOT5gBg0xbAhKk1LRsuQ00Xg8Kzl/2XuvYNsS+77vk/3STdO\nDm/m5d23ebG7wO4SgQABEliAFEmI8B9kSZRNVVkSLVKyLJdLdLnKYpVsSVCxrJJkyZatUAYlB5EU\nKSaJBEkAJLgIi+Vic3ppX5yZN/HmE7v9R59zp++Zc+ctTLmWvTU7807o0/Hbv/z7Z//85xkMQnSi\niUchKEXGAMd1CIcps61FugcDnn7yaXQakyYhkpD9/Tt0e7vM+oJZ38UXGY6OCVwnj93SIFGKYZjg\nex5hNMSRKfMzDXzhESgPT7i0ak2E5+HWfTJf8NR3f4heMkK4DlHm8vo7d+ipAOkFnF1f4uxqnai3\ny62NLV586yYD3cYXku966BTB/Cw39/fZ73ZZW5hnwQ/4yz/1Xx6Zr3Nn76XX63HQ7ZCkCVqbsBeO\n6+XKbeOQ43huHo9doh1jlSKExhcOIqfAMyHQwjWJl9MI3zfWJZkqXNk1jufkZnjkJoUuce4HooUi\nzSJUqkwAMQe0ckykxSzFc3PLKMdB5Z6UJr6KIo5T4ymiD+MmpdokInaFETNmucNOIX+PswShcjFi\nlI4z2ANkSo6TegspDx10MkDIHNRVnnaPsfGBdA7j64g/qXbgwBiowTS+LOqokr+WRQnFNZsCtO9X\ngUZZ7GI/UyU/tov9TvnZcvAam7OwM1rbdVVRydNEGVXX7QPuiHK0QhRT9Z27Af3d2jaOgQ0T82nP\nRXlejitC5IpdbUK/ki99iTnclSxSVnGo/lV6/K/CaUqpFJE5Y4eJJBlRcLVaa5IwNW7aInfJFhkC\nSb1RBzRSKfygycJcO6eIVJ4tXEIWkWnQXo1LNzb5nT/8Fq9feodhmNKsNen193BShS8c3LCB60ja\nQjHa26Xtujz/td9hcWkZ6TosLC/STxQzS6cYbF3FUTHNwKXue2SOYJjE4xRdqc7QqSKoBfjCRWpB\n4Ad42qXu1EFLFmfmac3NMX9ymYPdDpGj0I5DP4G3L1+hl/pEacbt6w3aH3+Spufx+utvs7kzQtcF\n8XDEpSBj5sQJOmlMtz/kgXvu4+lHH6mcr6/+wddYWVlheXUFLQQ7e/tcuXyJmZkZGo0G87NzJHFM\nnCgaNZ84yc1epYMUCpkp0BlhFCE8n0ykBPUGaRYSxVFOiSoC34RrDYIAL3CNojJN8D0XmaYIoU2W\nKc8zoSjSFOG66EyzsrDAbKNFd2+PdDjAcYSxYnGdPG6KxnMc49qeHsYzEkoZ71Jh4tuM0hFe7stg\n0rod5g91Am9swWWwKwMJaaaoebU8JpORc4fRgMJ8K8uz8RDlRlrCJLz+E63ELAPXtI1dNvezQdq+\nX1ZUVlHpNvgUygH7QCiUplXlOPnwtPbblPvYnd8S6RTZgqr6XEW5VgFuub1VB1e5z+V7VVzOtPmw\n21MWM9nPTCvvjgMBYSUCGNeXyyU1Mk/QkJt9idx5RORjnjtIKPQ4m9LEN8UkV5NphcqpfRBjWagU\noHVKpzuiVqvheQFI3wTxb59CZZrf/eLv8s1vvsDefod4v0cWxWyOjK11GIcsnzvLauMMN965Rph0\n8dsBvajD3MkZOsMOp07dQ2cU0lpcYTQKUZ6HdjQxGkdr4iQhSTIcBCYdQh6/RJt8i0JLojih3myY\n0dCSpaUV6u0mOoMkUQxUSCLAb8/x1JMfQASzDKOYmaY5HFOlGUaxEWloxb3nz/DQw/fw8ltvc2t7\nm1ES8c1BSHfjNvBdR+ar3xtx//2LHOz3eOOtN9k76LK2tsbJtTPs7+7z+itvMRqOqAU+e3t38GoN\nPvrJT3Lx8hV2d7ZoeR7nTq9zYmWFQRRyc3ubmXnBXLtOp9Oh0WgSDkfU8lSKQgj2DkzURsdxkJ5r\nZAhYybkAACAASURBVNmYGCuDYY80VbhBjeFgRDRKaNWanFlb5+ypk/zBc98ENLWab8hdIRj0Rziu\ni3aMA6GTU75Ovr7SNCVTGYHnkSVxbt7oHzoJeR6pMBYsIqfepWOsshzf2JNrBzKVmqTkjmuJfw/F\nwK7vEeXr0BAdf0KVmNPEG2UlXfk+lJxiprDl5mwzpQpgbCXcce2aRslPE79MKvvGdyauT1pnTH6/\noA6rwLH8b/t75UOrChw9r5juowBbls2/G/GOrSso1wN5tDurX+baIac09dC2Lk/ULSx9SWHjnkeb\nE+QmYYKxvFEIQFUc4EVfx6MhQEBg0kuAlrmsNgPhUPeaCOEwijOEyNg/GPD1b11i48ZtXv3mH5Ht\ndXFHCU+dPE273SDUESOZEroZXjugMX+SDzx2P1/9xu9ybesyzVmfg/4dak6Nq1evcO/Je6hpSTto\n0guabN55h/WVBZAOaRTjeh5Ka1xXmmiG0kM6Ru7s1+rGjtoYReA7HleuXeLE+ilko06wOIenPJNF\nyPNJOgd0dveQUrI6d5r9nR1Goz7LK8ukuotCsbd1g1fpsbi4QrNV52C/w8LcDIHvUVVmZ9usrKzw\nH37rt4gTY5u9eXsLV/hsb97BlZJTK+uoNMNzHbrDEVeuXmMYjtDaHJyX3nybC2fP8e2XXub2zg5n\n7wMV11lYWCCKImr1NqMoY2dnh1qtju8HxGnCwtw8ozBkJmjS7x+QZUnezows00jhcfv2dRbas3z9\n699kfXWJZrPO7u4eCEkYJXh+jUwptMhjvQDKUThC4siMKEpwHSMacT0Plcu/DV/o5sSEQDqMAV04\nEoRCU5gXHu5pPzCx7AtHPxPqyZgZpqmJcliYIDpONU4V5Y8F4OfOnWNmZmYszH/uuefY29vjx37s\nx7h27Rrnzp3jF37hF5ibmzvybhV1bLPiVWz83cDVVmzmfxwBueJ3oTWvMq0r13/EtZ7pwdan1WOL\nXCYVotXUahngplHFVSKc8vWiZJmuvF91MB4H4McdYLZSebKdk208TpQikbldsPVdKUCbcAWuzONF\naM04pKdmLPsuWZ7nh4ceH47jQ6DUBlnIPp08k7nOWVrXIU4yaq0Z/ubf/DucOXMvQznDa99+kaWg\nwf2Pn8cbhkQHHR47d45MZFy6fZ29UZc0DZlrabp3tvnoI4/ypb1bdPc7zLZnULFAZpK9jS2efvz9\nXL98mVMn1+n275Bm2gSXEg4qSpG+hyclUrt4jsluJKWR+QpHgJMhPY9Mxdy6cZv9Xgddr/Pdn/kM\nC6vLZFIjHMnJ9XUThnc0IoxC/LkmSbuO67qcXDtFNIjQjoBAghK4SrByco31U+tEaVg5X61Wg42N\nWwihybIEgSYMRwx6PcLhkOWFJWabs3Q6B4SjIXt7+zitJimaRr3GTOAz53usr67QOzhgYW6W2zdv\n4J48xeLCCmdOrzMYhQyGQxYWHW7eus36+kkEHqlyeN/jT3HP0iI72xtsbt3gzs4dAsfFb8zw2huX\n2N45oPHkDOfPnGJvZwukyfVZqzcQMiWKIvxaQK1Wp9frotIM6UCtVjPZiTBmhGEYEUVRrrg0oYID\nz0NriKKIwPNNzK/cuEEIo431g9rY5DaKojyWkkY4thNPvkck+L5DlmmSNMJY20wvfywAF0Lwla98\nhYWFhfG1z3/+8zzzzDP8jb/xN/h7f+/v8fnPf57Pf/7zU9+vEm/8f2mHEOKIk0ixUasOi4mNTLVs\nvYrqtgHsONCv6k/5gLEPrKo+2b/L9U777jSxhn2v3E9bll8+DI8r5f4XAF622KlqR7kNk/UW0eDy\nvogivnL+PRP/lDJUm01g60FAiiLI2bj2XIyVHB1TTD5DpXI7X2MUzHA4ojUzR6okf+m/+Cn+8Nnn\n+Nq/+XVOnVjjzMo8Sg1RNfjEZz9FNggJcPhTn/wMO5vb3Lp2g+HNEVoGDAdDHnry0zx38RVevHoZ\n3WjRjSO8IODff/NLfPjD38X+7ibraycZdfZwhYsb1In1KA9TrGjWAkyqNmWSPqBxfMkwGhJHQ+pO\njZOnV3n40Se4fmePRrsJjiRVKTqOkSolEJpmyydr+YRaI/2AEydO4EuHQAj2ex0OsoSW12DUHeIK\nl9Ggx35vv3K+pCPoD3qcO3+Wnd09+v0h9VqNWi1gptU2QdW27tDpHKDclMWleYTQNOp10uGAoFlj\npt0iCUPOnznFZrfLfH2ObrfPSy+9wqnTZwjjiOXlVVZPnGT/oM+3X3qFMDSROLv9kMbj76PZrLG8\nuMzFyxeJkox6W/Pqq6+DFly9+g519zxRFPLg/Y+QKU1/MKBeaxDFCQcHHXq9Po1GnfZM2zgLZQmO\nzq1JtGZxcTFXeirqtTppmpLEKXGSUKvViKNhngjdRHUUBQUgTdTGoFY3Cbcdl8RXgINS6Xj/ua5L\nkiUIaXLsKiUMF3hM+WOLUMqb8Nd+7df4/d//fQB+4id+gk984hNTAbwMolBBmedEqsj/sx40rIsw\nV7XSY2L2OGXeNKq+TPlPAsEkqNsUaxWlXNXPqj5W/bvKguU4irhcR/FsWcF6nHy/6nqVbN7+Vnkc\nqtpcJQKy2zMVwB0B2iTUNa+IQvydhzGw2iZBa5XHVj6MZ23kkMb5ogD+4sdErLPbYCigKOihEwc3\nDfAyDxcfJRS1mkeYZLz21hv8o//5n7K92+UHHv0Y995zL/V2gxtbGyytnWC4tERH7vG+cxf42qsv\n4+13aGWK+083aM7NsD8Y4OPxoNtEDVO+Otggm/VhFDGvfF58+XUkCU8/9BDxYESz3iAe7BPGA0Tg\nk2ioOS5kxsrHr9fxpAt4xCpj5fx59rpdPvaZH2DpxBqnpQuOazIV6VyppjVaFSEOTHRIpTSqpsjS\nDImg7czhRREoqC/MIAS0VI3l1aOcNMBTTzzMcDgiUxnnTy2zv7dvYo5LhyReIByFdLtdZOBwazPk\n1OoZFleWuXjpEr7nst/t4AU+L1x8G9Wosz47w8LiYh5bRSEcl5XGMmmm2djaYDgcmWiaeBDB1Teu\ncPut51lYWOT8hXuJlMv2XodwYx9UhhSavYM77HZmuH7tKk8//D5mtMvu/pD9UcilG7cZJglzi8vM\nNFNa9YzlxUVOrJ7FaXVYXVln4/omw25EMkqYm5nlkYce5tSpdTKt+KMXXuSlF19C6qGJ+e+6RtGJ\nQCvB4uIas3MrZKlk+06H+fklZJARRiMcR7B957bRmYR99KCL1BmuJ8GDJE6m7kP4j0CBf+pTn8Jx\nHH7yJ3+Sv/gX/yJbW1usrq4CsLq6ytbWVuW7jsVmFBu7ygKkikqvAgwwZmRVpYpqtgGqSpZbrrt8\nrYqar7pXfP+4DBvTuI/jqOnjSnGaH3cQlb9T/vs4DsAGXyHEOCfotP4XxRY7HcdxFT4CVW3UWuPK\ncq5BAc5k24rckQV4256x5foK0YorAxMEyZGITJGRoJWJ93xrY5N//A//CeFQ8fiDj3HqzGk63Q6j\nZEQWx9RrNW7dus3pU6dZP3cONwxxdneh1+NOf5dsNMJvNFiqN3ho7X18oql56Yu/SieM0KmL6wZ4\nSqCEZBTFtNptBoMBMk1ptZtoKUiFYDQa4QhB4HokqSJouEjHI4oi7n3gQT794EMM4phBmhgPyDw1\noDHlOySYTMIUp9pbNieVikBRhQVVklSDSavZoNVsjMf49Ml1kiSZmIswDImimNHA2Hv7gU+z7jMY\nDjnodmm1m2QqY2tzk8FgwPzCPKury6yunshjZcc0ggZRGHKwu81cq4E36+MIlzAMcWSDNJNsb3Xp\nd1OuXds2IWmpMRr02Lq1y1x7nnZrie3NLbY2N3n1lZcZKoGoN3Gky6g/YHlxiZnZWR586CHm2228\nxT4ic7iRZbzx1lvMNWbp7HdYWlzE8z1q9RqNRouV1TVGyT69Xo96u83c7BxJYqKJZr5HL4m5dWOL\nc+fu4+rVG9zYuM4HnvwA0XDE0to5hFC0VILnCdApW1u3mWk36fa6U/cJ/DEB/Nlnn2VtbY3t7W2e\neeYZHnzwwYn7VSKGonzhX//i+N4Tjz3CE48/UhlgSlpUdxkkbWWfobiq5UVlqlAIcVRezlH5rn3d\n/mb5dxnQqvpemNWVAaxKCfidlGkUv231crdDYFq8FbsP5bG2AbAsCjru7/IBUFVsi6JyO6r6bh/8\nZTFO1bhM46JUWMNBG/mymwEpSgjqtRaf/7s/h5N5PPPdHwXlMBj1GA373LmyyfLiEldefoWTZ8+x\n9c47/NJrbzAf+Ny7usy9959n5J3ioN8lSzPi5hzN1hw/9tjneGfzJr/73DcYOoqBjBGJg+cZ8ZHr\nuohMEAQ1NKlxfMljgjiua4KXIQjTjHpd4tcbzM7PIxyHWr1mFKCpprAjdnIF7+HhpnJRUjYxFnBo\nA12McWHbXK/XK+dreXkZpZSJV5JbOhWmfMV6D4LAmN3NAEIQxTEzF+5BOCYFmQbiNOHC+dMmhZvA\nuMU70ljnKM0oCkn6Q86sLeE6Lr1ul4X5WZ54zCT2CGp1Xn7ldbZu7xIORggEw9GQdrPNsDdi6/Y2\n9917D8trq/TjiPuHQ1LHozeKSBDc2d5je+MWd25dJ+p32NnZ5txDs8zNLLC71SFwHXzPZX52nm99\n6zmeffarnD5zhlqtwZUrV5hbm2dmaZXuYMCd67cYDkecPXuOUGd0e3voOtQWPJbVPH09wG/VEb7D\nr/yHf4/Wmo9/z/fw0ovfRqiUrdu3mJ2dZTQaTt0n8McE8LW1tfEEfu5zn+O5555jdXWVzc1NTpw4\nwcbGBisr1YGK/vM//2emUnlFEcJ4bt2NsivK3dxOqwBp8n51NMKCmp1Wx7sBXXvTFCBmR2Ast3Ea\nCFb1qepaWWxzXJk2rmUwL3tnlgGxav6K9n8nB1PVgWgf7seBcPlZm5ovx4spfytIZxEyRssRSoxI\ndEKmPdI45mf/5v/Ib//q71BXdRpewObeO2xt3KLheoQHO7Tb8zhhiJAOjzzyIJffeouBI3jh2mWS\nhuShB+/nfQ8/yutvvsHlzU3WDxr8xIc+zvNf/l3CekDi+yw22ty6fYuNmRqPXzhLb2tIksQmfrV2\nCNMU1wsQjo8GEjRJHOHoJn/lr/9XjOKEKE2Qrgta4DhGVyCRxq2xJGIsrzF7LDJrrIoShtVKzCRJ\nEMJYdtXr9QkCyV4zSiniYUimMhOxUCmiJM4VfIZjaNc8arMtvNyBJ8lSosjYa2tdtME4xahUGwuk\nbIDKYjZu3+KdK68Qhl1WFhu5YtFDqSFrJ2bpdTZot+5le3+PNy++xSiMmVtcIajXOH36HJt37nD+\n3nvo93s4juRgdY5Y3UEnMTP1OkMGPP/cN/jA4+9nZ3ubwbBPkiY8/MhjtNttWm6LL/7G7/CDP/RD\nzK7P0mg0DMfkSDZ6G8zUfP7oG1/hkUce5tzZVW7fvsLFty/yoQ9+gHq9iZQes3ML+H7A+QuP0my2\nEFLym7/yb6fulf/PAD4cDsmyjHbO6n3xi1/kZ3/2Z/nsZz/LF77wBX7mZ36GL3zhC/zIj/xI5ftV\nJ39R7I1fZLcu3ys/X8g+q0qV8q5KrFJ+dpr4wK63XI99r1zKruU2hWLXbR8YR/pY0beqUuVp+m5A\ndNo7NkiXnabK7TturO/Wn+L5MqdTeHbah8a0ftnfTyuiKdp9sdvh4iGEQjkSpEBKF6VreM4cb73x\nOnW3TbzXod+9zSDboenCbMMnGYbEgw4bt64hmy1efus1mq0Wd/bu0Kr5hP0em69d4Z2XLvKJ7/9e\ndDiCWx0anT5/+8//Vf7Sv/z7xG6doRdQbxhRzHzg0HYVs602o7CPUwuIBkO0I0nzlF71Ro1as05z\nfp79Xo+g0QSVmZCkGO/HcQYrDi127HG216Q9TmVPXq31VNNbmzBJkmTM/ZXnW0qJ64EnPFqt+lgk\nU0S3VNoGe41Spr7YizH5RzPa9Rqj0Qjf9wnDkGajSa/XJ073mZvz+OT3PU2WaXq9Pv3BgN3dXcLR\nkDAc4vkLzM26aBfO3nuOJE4ZDiO2t3f50m//JidOnmTjxhVSnXHvhXuoNeqcP3mBYT/iIO1z/sxp\nzq6dJkliBoMevX6H1ZUVk4Q4y7j59iXOrazz1ouvksQpc3PzeJ7L3v4O84uzzM61eOT8OVZnmjiq\nw/qFdR6//wz93pCZ2XkyBRdf7TE316bX3eXWO1f+/3Pk2dra4nOf+xxgHER+/Md/nE9/+tM89dRT\n/OiP/ij/4l/8C86dM2aEVcW2GJkmuoBqasw+4e13FNPBrKirKFWKu/K37I0+DfzKQFYs3PLA28BX\nppDLwF/JiUwZn2kTfDermnL95ftVh1fV+1UOWeX5svUd7+YQsUU/dr1lE8Rp4qty36oOoyruxHE0\n2tVooUi0INEe0mnx9a+9itZ1ArfO9v4V0t4OTpBS81xkGuOQESdDzqzdz1C4bL5zhQ8/cB8zjQan\nT5zg6//3r7J4z7380a9/kZef/yYf/MhTPDa/zguvv8pTH/owf+rpj/DrV15llEW0ZmfYvHGNURix\nvr6Myob8N//tz7CyfpIbGxtcfec6Vy9eMtYt0RCnXufxp55ibmmZg24H6bgmWYIuxEuZ8UiVzji5\nrz0HxjtwulVVMV5CiKmR8YIgyL91dM2P7aLzesNczFKvGdM613VJ43i8Hwr9hpB6TCAW7wdBkMvz\nM4ajPlLOEScJ9YZPphp0DnoIRxDHCc1aDbKUpNHgnjOnCQIf13XxA5dEu7RnZ0HDuufzwIV7Uepp\nuv0ubs0niiP2ux1m23VWFxYRCx7PXvs6ly5eY2lxhXvuuQfECWp1D0dAt3Ng9AA1lxOra8zOztPr\nj5idW2BnZ5fl3jKuBy+99AIXL71JnEY4acJwMCIIAmqNJp3ugHZ7Dsfzudk/oNsb8N3f/TGCIOD/\nqBz1fG70dyp0/Y9QhBD83n/4N5ULpvxvV3oTFBkcBcnxhpRHKe1CTHEckFWBtv1sFaVp13k3ECl/\no1xXGaiqxmTaIfJuxCtlDqLc3iows8US5QO2LK642+FW5mrs5x9/+vuOvPfic79X2Y/i21UWNtNK\nGbyLtlT2OXXIZELQcBmlCV5tnq/+4SvceGef5fYK119/mf3rbyLTLjOByWIT+C79aERreZmF02eo\nr5zArTURWrC+uMzVN9/iUXeGG2+9xaNPPsYr197ixvYNHjl3gfev38Pvf/FLZItz/OabL/N6b4f2\nzDw7tzY4szrPo/ee5sH7zvFDP/yDxCiUdBDCwZcuvuMQpREJCikFaWbs3Z08sUeRLQqMwCG3tTky\nXndbr/YzSik+9D0/eOTZbz37W3etg/z7We4li9ZjL1pjRpab3FlrS5GHkkbkzlnkylF1GKkvl+t7\nwh87dTmOR5qmxFFsFLBoEw0QE98+cTVZkhoX+iTLbb1NaNfhaEiGwvFcBqMBgSfwnACBSxobhfnM\nTIvz954HIdjdO+DVV9+gPwhJ3RG9wZC5mUVc10drh0a9RW/QJ4pGtGeaNFt1onBEPTaOQnsH++wf\nmBgyg1HEtRs3aM/O0uv3TeKHWoNf/sVfnrrG31NXepsVn8pS68lFZrNmVYGdyuZ6BRVQ/LvM/lex\njkeaMAU4bSCpcvYpPz+NurHban+vDMD2O3f7lv1+cc12XprmhFSuo+qgsr9/t9gx5Xqr/l0uZQWz\nTb0rpfC8SY9AW7RSVcrxYorAaeWSihDXceh0R0hZ49f+3W/gyDlc5fLOpUuk4YDFpVn2tnYZDiS1\nmscwjKi3miydWOHyrWs8ceY0mYCtjS3cFLa3tvmjg8usLi3y6rW3WT93ijOP3MtzLzzP09/3cf7s\n43+Nf/hz/4DTc4v0Asn2IGJt/RQqHbK8usanv/8HcHwPoTK0MNnLoyw1QaOERkuMyEQUYyYAE/hr\n3P8iQYA+HK+7lSpuadq8VVHmlabBCEz6xHxuRZ5OMP+fwW/jEYnWCNcEKTOHDwhlov0JYWKO6zy4\nlUaTFnnJBHhKAybIVREgitxsFN9ntlUzEQOVQqeKLDUBq5RWzGZt4jQmzVKaDZOaME0UjlMjS82+\nqddrdDp7KCAchSwuzNFuZ8R0OLV+Aik90lQTRQntdh2hMyJHkCWKVq1FI2jSFAHb29vMLq5z+p6H\nGEYjur0+kTA25G6zTa1R56DTOXae3lNX+jJ4VbFyOjte7j0BcvqoqMKm1G1ZXZXlhc0m2nVMe3aa\nS38V4Fct6LKs137/bhuouHecKKgKOIt+lUPo2vULcdTM0h6770QcYven3Ifjni//uyr2ermP0+ou\nLIAKvUv5ABgfUI4mTTKW50/wwrdepUmNetDktbffpH9wQNPXBA2PheUVNm/u40jj4n723Hn2+n1c\nJDtbd7jv4ce5s3GHerNBfWaG3d3bDDsRKydOMExjTrZX+As/9dNsHuxzZ/s2P/jn/gyyXuPH//pP\nQ3sev16j3zvgpZdf5a/89E/SG3SMd5+UJsaG0kgFSJFLtY8qvMtezWUO7ti5E4baFbnzlHW5stxN\nHHl4gJrAYTqP+Df275DiMDiZPIxzo/N2oPPwClLmSmkTQkFh7P8BHJKckNdkWUwxLEIIcIz5qjYX\nGHSTcQ5KRxoFr3QFrgbp1GkKE0HRcRwQiiwDrU2kysKePk5iMpWiVMrsTIM4TiEznpVJklFvNRnJ\nEEcr5pcW6HS7+H4dkUK/P0LNNfFrLQ46B+z3NtACwiRkYWkFx3XItMbzfU6eOsMvTp+p9w7AyxYZ\nMAm+VQGdbCrLjmRYvOu7fiU4umO28ugCLoNilRVKleigfP07Bajy4VAFTMcdCkc3R/V37DIt9Gy5\nzYUSyu6PfRB+J32tevbdvGc/Vz54y9YkVUqzohScR7m/VSIC4bi0vDZf+u0v8+ZLFyFxaDb2qGUD\n3Dok8YgsqSFFC3fR4WA05OELF+j2RmRJSlvWUP2Idq3O8sIiYZZSm51hh4RkNKR3tcfm9Rvs3rzD\nyupJ7n/4Yb609YecWJyj6df583/2P+X//PdfZDAcEdTqaA1fffZZHnn8YVKFET+IzGR0yRRaCfKA\n0nn/D+PPTM69Jo8WUylCKxel9WFoXg7XYjrFuWtaRE37W+N9K4pDQY9PBJ0nF9ZajwEZyEOwKsz/\ni8bJ/HDRSDTjWN6qMA82wD+uXgijAM0FSEJInCQPKqdMgCpDxYNWCpGYUA5ZnIIG5So8LyDLNK7r\n4bguaWaCWknpITS4To0kySCM8TyPKApNQubAhK4VjkvNnSXLNOEoIRACHXeZaUhqXpswinA8D+ku\n0OsPaLVbSNej1+uZ1HTHlPcUwGESQMqyVTikwMfOBxWUY1FPVaS7MhtepsrLAHOcKKO4djfqcxqQ\nvNtnj7PKsUU2UA3gx1HvVe2Y1udy28pU3XF9sMtxYFFVqsbbnvPjFMVVdRUHV9ncsDz3WkjeuXKD\nZ3//65xdPsP83CyXL11kMOyyuDSP6wpGo5ia38BfaLDUOEmYxogkpeEGxKki7Y+IuwNu3riJDHyG\nUUi3s4saDGj4DeJQM7q5x+Y7G/yFv/Xf892f+hQ3tzZ5+7U3efzRx/ji115gPxogwoyz5+/loNPF\n8wLCZESmcxjWIPMkvBTrMQ+Zi4BMZ1Y/jZhFCokjjjrtVIIvmKBe7+LZaeNuvysLylmbYFH5jcP3\nHctSxj5ghCoiaBtzYgCVocBEnszfz4RGUCfJlIlFovVEhCElpfGKzJsfSBMdUEiJEuYgSJUy0QOR\nuEIgvACJYKQipHDGsUyyLEXphDQ1CZF1qpAiBC1xnYY55DyPzAHHD8i0CVHcnp0lS2FOuqSZRiY9\nI/cHiqBaozBiubVAFCf4NY85f45UHc/lvocp1QpTJRu4c9ZNHCbllfnEp1qRJYeZK8YsnqkARwoy\nEYwHpYinITAJTgsliBzH1CB/rgwqtmim2OBFtXniVWHXIZiswvbqzCkNive19YypN8sm0ykVz0l5\n2I4y4EzTA5Q5jGlANW7pGNQP+1i0xXzX/G1+mx0jy8MF5SAHh0VOerged4hMtssEClLqcLzyXqH1\nUZHP8cWFPPt4QbkZNtgopAyoSxCSmmjz7G/9Imszq9TqDWhIlOrSZICMJLIxw0GYMIfPmQceYHm2\nycXnv0Hbk+hoSDoM6e/ucOX552mEMfFBl4XAo5cJ5uptGo5He3WWpB8Sd3b53/7u3+E/++/+a5pB\nwHBrg61wyMraIvPpPLduXuLRJx7l/U++j0xl+DgmNkbeBzOu+XzllKsugEscjrHWoDONFppMVFPQ\n0zi98XVdOEdVj/e0EA1VFLhdQyHrHhNrTK718d92Wylk4kUwM22Se+Rmkkob8Yy0RDFm6ZpQr0pr\n4jzcpS7UugIcTa7qzchU/h0h8PJsO47njL8nRJDvF2UQVAgEkjhJxq2L4xRyeb6UJuSv1uZgFELg\nYUIaOLlIyPUdZuszaA1NCz/upq94TwE8yw7teYsFacrhhk8n0qGZW0rnJ5+UiPw9pSUqtyu12W0h\njIwNbQAhK9IhuS5CivGinGzHIWCAOUxsQC8GtsqbcxpYVkXhO/zm0fHJrAzW5qBTFBmvy84RVcBs\n/9jfmpyD4tAsxCWT9w4PLosz4ii3xNi+YbLYsH5cLJjqcnhAlq8JUX0AVB0MaoxZJk1VkfnF8Ryk\ndEBL0jTDcz1+4V//G7Y3dji9fo7+cMilq28yF7g4mUBHQ0StbtzYW03Oraxx+Y1X2Lt1C+Vk+Co2\n0R6VYwI0eT5pmhK4Pko69Do9Gu02ge/y+JOPIzoJ1w/2+Mov/Ts+/MlPUTvo4wSCduDRzULW11b5\n+X/1Bf70Z/8vdnbu4Hs+Wos8jpdG6UPxhhGQWKNUFhMdc15WOWKNRYkTe+H4eorvFmWaldbEHOUU\ngyieLXF/43esb1i7J/+/6b/rGG/TI6KjAgu0RkuTJm28aov6lT66JoWh0qUldgLjpWrk7LZObEJQ\n1AAAIABJREFUyMT5FhzG+fc9d9yHwpTS3i+pwkSczBMiJ0lyJAnKuynvqRLTPm3LMu1xGQMH48GQ\nUuYnl2HJdKYgUyYADMXUGkpLIpDisG4t9WHcaGvSyunRbJa97Oxgs/A2QBbXqgB92oRUUdNlSto4\noxw12TtO9l4+jKpEIuZ6ZbOmtsURR/syrW+2PPPdWKscfvvwAKkqVZ+b1j8j+JQY7smE7kRptNIm\njKhfJ4kybl6/xvatHRbXT9KJRngK3EHCMO0zP1cnTRLigy4feuKjNFZOcfPVV9h8+zWcQR+cFMdz\nqPkBSkEv7LKyeo69OwMWFmeYWV00azdO2b29yaVBxPvPPMjJ+gyp8Nh+/Q0W3IBf+X9+iYP5Oa73\nDrjvvjM89eT7CaMRzWadNM3FQMJBCxPnRQo5dnmfBpLla+XnpoVBqJqvafNcFivaYiv7vWlizuKe\n/XtaqRINFt8u6i9wwr5flslXrZcqjqG4Xs4FW4UdVaJdu72TfiDGc7W47+fZhsptuVt5zwC8rFg6\nBCox4fghpRyDdzGwRc7F8WDmMrRoHM7RQwpp0h5pE/je9dxxHF+TXdpM8HGy3/I34dBrLMsyarXa\nxKTDdIVO+e+q7xRBoWx5/+F9VRAsE2UamBZU6t1OdDPGRzdNlfhFCAFaHVnEUxeannRXL9c5rfxx\n79vFcSUGxfN5EeZPrWCm3aZz0GN1ZY3f+PXfot2c48x995MqzbO/+ps0owTfdTjodWnW6vhJRtw9\nIFhcote7Q5L0SdIhsVa0a02yLMF3POJBD09rwl6PcDQiqNdYPn2W8NYGm9sb6DDma7f38VsznFx9\niqc+873IfsQv/eIvQpKQxSG3b17nCz//z9i+cxvPN1YJhh8XuZDa5giPEh1Va66qlD1Vy+vFFldN\nU5jfDejL9ZfvF/UWe6cInnVcSOO79a9w+CmDdXG4lNfwIaerj6zXMUdS6sNR8Wb1XrPNXIu+Ztnh\n4WkTf3a73k1I5/dQhHJUrluZaV7psR3rxI+UOXGVxxPR4DqHmnal0jFIe54PiMPIaoBWtjy92qGm\naFfxu7xQCi8223KmClCnnfbFyW2b9oFZ0EmSTPWSKy+8ohiJgyUlLG2WqoVuONejAFxFwQNIDhfu\n3YB02qK/O5VlA8X0w+XdFHOQFT+ANnE0XNdlOIiYbc/z4vMvsXdnn8cf+SAhmr39fRaXFpE7eyg1\nIIkyBtmIbJRx8e23qI8GzC21COM59rIuSmWMVEqr3iSNNSLJiLoDatJjuNuj1pzl0qtv8NSZ8zz1\nkQ+h0LijDL/eZHu+xuu9HZJuj49/7rNc3Nrk9d/+DWo1RRyN8HyHOImQefwTrXMOohAlqmoALc9P\n1YEM1eu66tAXQlRGiSzuvVuurOqevQfv9n65rccdHlURT4vvlTkSO1ZRUW9h8WT7jpTHcXJdTzq/\nFc+WiUUhhJUd67Dd09IjHlfeUwC3wasoNiACONI17sC6yC2Zx3iQ0ighhCDDMMiuzihciB0h8X0/\nB+lcWSpyRlqIPNHt4TfthV1euIXLr53D0mZ57EVQBtmq07z4uxAb2ffG/c6pgWmLutzG4lArs3F3\nA0whGI/ZtFLFYdj9mmbCl1qUTrm+48tRPcRkm4+POmkXMw4WgOclihKa9TZZonnhWy+yNL/Mte0t\nZmZnufnOdWSWsbi8SBa5OLHD9u4OQrrUWz6tZg1PQKtRZzNKEDrDVeA4Kdrx2e91aScxtblFau0Z\n5s6u4Kaa7e0DxNYu9z98P3NekyhM0AttLjzwIKODLjtfe4OdzU2SOOSv/dWfYdA7wPEdpOMYl/OM\nfN3mQJAbU5fXSVn8Vda/HEe9TuO8qkDarqMMcNMOBrut9rovg+e7LeXv2e08bt+ViRtbLFq0sQqb\n7HVffr4gPMp4Mo71kksOiut2fJ9iH90t9km5vKcy8HIWenvgimeKZKJaFxRzrivOMmMXK0G6HnGa\ngpAoleH7PkmU4OrCmiVXluYAXnxbcJS9K7ex+Cl77xWDb7e3qpQVnVXAa5/+WusxpVNFPZQ3SnFo\n2NRC/uT4+SIfHxwNHWs4n+nhYItyuMGK+ovNVsikqzadyaRTWJMYyyBZORYTb8lDBVCVxYnx5nt3\njkRlhafWGoSDIyFJUp7/xgvs7uzy6EOPsR+49O/skXY6NDyXXhYyPzMLfcHqqQZDCc3lE+zs7jLr\nSU4sLbFdn2VwsE8vinG8Bm7gsXT6NKcefgDRnuP2wQHu0jLO4i7D3S7bnQ4bX/sGJ+eWefqRD1B3\nWsj9mOVglodP3su//fV/x6ef+SRPPfkU3f4uYIgFjcAVEqEdk9BCaGNOSDUYl8dYiKMhJcw6OtQp\nmPcLcD2qdH83410+4I/OR7W4o+qd7/TbZeq3CoDhMDKo/V7Zi1trI9IsQukWpdgHNnAXlL6NvYfj\nb4iFYmydPLdm0T673qqxuFu/3zMALzSux512xXMiEyidIUTuqCBAKdPZt69c5cL9D+LVG4SDA+pB\nDcf1EDhkcUyjVieOImN+JQROwQ5lmVFmwoTsvfz98nW7FDK24rdNQZQHvlgI0xawTRWUqe9ism3b\n72IB2WytvbDK41ochnYkv+LwqKK2yvMx3vxqkooq7lX1q7AlLo/L3cD3OFnrdFCvHltHOHmQMwNW\nQhhbai0kDpJvP/8COlF09g5oXzjJ9u42S406qU4ZKcVOr0OgBanrcu8T7+Pk+XO8/IffYrS3zUF/\nSHN+iSjRuCj8Zpu5xQUi12EUhjTnXUZxyiCMSV2HoVY4mSZDcbOzy+LGTZ48fZqFoEU/GjKzusL3\nPfMpnvjeD5IWabqyhCzLCGoNwylp8ozpGTIPq1oFXGXq04zNJItfHtvDMdRjMLLX0vQDdzL4WBUX\nWzWHRd12ZFJ7HqsIo+O4gPI6K/fVBvAqYrFqDdl12dFDq9o2qbOapO6Pa7td7L00LeSFXd5zR55p\nE12UNDXAXSQRlVIgHcfkrEPwzW99i//ln/9LPvY9H+eZ7/s4OsnItIRUUfNrRHFiBkXmMmpRmKK5\nYxGGDZ5VziFlQLOB1m63vYjsBVrup/3v4oCwF1uVxjuOTWAeRzoUFjQFKIvcgcMA09FgTUW/iuvl\nNpU9NMubYQy8gJvbxZZBvGpxSmfS2ciu6ziuxfOCyrErKMbyPJQ3o12Uym13x4yJAG0i27392kWG\n/QHrq6c52N3n8uYVOBiw6NdxfQfXbXAQHRBnmvbCMu3FE/SGCetnzrH0wSfYuH2btYfu59Xnv42M\nU9JhD89xEZki3NlleeUkQZhSSzWR79PzXHwpUL4mdgVv791i9tol5JVFFh48h7hvlTPdB5mfX0RK\nTZJCrd7A8z36AxOLW5iOAxohNVXipPJ6PKSsj8qZ7bE8vGf2WXl8p5VpoFe+VxYr2M9OzvHRvXK3\ndpTB1z50ykSNbf1xlCOZxKMycVbgQJVXcxUxZH9jGhbYxT7MqvCoXN5TEUpZblUeACgUEYAwhu9a\nmw2ZKoVXb+AFNR57/AncIOBffuFfc/LkOt//yWeYn2mT5YHmRQ7aWmsUxrvL4TDeseM4Y+q0igq3\n3bXhcGCLmBpVE1Q+3W3Kt8yCFb/t75UB3DjR5LbLWGDI5EYprhUgWbSjCGRlt8delEW7j+OKiraV\nqa1p+TNFSSs/zROyXJTK+XpRWJLnYyAKEcjdKZmiaKWgGHcMByFQqCzjy1/+Covzi+zt7LIwt8jg\n0nV8DQeOS71RR7sezXqTgRKsnL+HKDSprlr1Ok2dkbqSE2fPcvnSO+zfvImnFINuhyDwUaMBbddh\nbX6Guucj6jW6voThkP5oSMfVDDOXb355HxzB/W0POdsgc+HE2jr7nW0yYQItZSrB9wOjxBE6dyyX\nKKVR+ih4Ve2jKvGVfZCW574MrMfNVxXo2vfsUtRrA6O9PmxMuJu3drne8u9poD/tIKgiDMrttnGp\nvJarwPY4orCq2Jm7bK57WnnPALzI4lGAyzQW2MjuyDetseGO0oS5uTm6oxGtVptRcsDC0jKLS0tc\nvXKFv/+P/hE/9OnP8KEnn8KVLjpLQRsqrEomWgYY811x5Lo9EVLKcUB6e+GV2Sj7kKgCePs5myMo\nStmuvDhoig1gp7kaL14pcBw58Xxx4FRRBWVuoADl8qFlGnR0w03bVFplRzaUfXhMjR6YFdePyjP1\neB6PstpV60cbH7yxl57SGle4vPzKK9y+eYv7zt2H03Lpd7osZoKQFBxBb3sHjYSFRbz1k3gzM+hY\nkA4zFs6tsXf7Kq98+0VmnTqnVtcYbd3BUSm93gGtmVW8hkukQ/rpiN7tHlE0YGf7NvW9DioQhHVo\n06I1zIhfuYi65wzy7Cof/q4P8uKLL3Lq9JrJdl4P6A37eF6Q62KNV6kkA+ki5FEusIrq1bmeogoY\ny4BiONTJcTyOArfXfPFclR24DUyu6x7haot1WvxUzfE0QLP3a/m79top2maLI8vAbY/LtG9VHXBl\nfZc9zu/mICy34d2U9wzAPa/QzBoF5dHgVOa3KxSJ0mRZikgzhCtwfZ+408fzHBbOrHJtd4tlxyPW\nmg/c/xCP3/cAr772GhcvX+IHPvMZ5udmcKVEZBme66KzDJkmJta4UodxEBw3H7zcdrgE5rb8yxa9\n2MUOrWlT0PZklvNjliesSrxU/Lv4tk392z82uygdB8fJqXAhJ0QzBTgWm7roYzkaYxnodaZzz1bG\nmeDz3ub9s9t7lMqfRtnbpbhluAkT50PkUgCtFOjJdtntLY+bFCapQTEHrhMwGim+9Htf58SJs/Q7\nfebqdfb2NmjW6oTDDkInOG5KqgSd7janzp9i0D0g7I44c2oVEY/YffsywTDkhd//Cj/4gz/E7nyb\nbCBIXAjDlE64jQ7eohsnRN2QwPNwMol2fOquRxKP0DokQrC7s8VwZx8536DRmGPr5m1OnD+JTCXE\nKV49IBXgZ+AqJ4/tYSyrCo/dQqlcXk+iGLixDuDooVc1bnBUz3AcO19eq3cjZGwipLwWCkLCrtO2\n3qgqNvc6DQDL+6S4VvX94vdxgF4G8GnOb8W+tQ+wKiq/qj1/YkUoWZaWgGOSmi1+sjghdg07Hjgu\nSEOhuTEIx+Hk+TP8zh98hSBKqDfqHHS7ZI7D6okTtOfn+Gf/6uf5yIc/zPc/8ymGnS4eEtdxkDrD\nlZDqIk6byONJmG9plRkvT+tEdHJzroJ6KOy0oVoJUjWRBZAUYFrWRNuy6sKZxzglKNIknagLDCdT\njFXRLntj2xxHmiWkaZqDtMZxCmr/cLyLb9sUyuGCF+NvVAWV0rqwasgpEH3UhvbdmEllOeAe2vQf\nUmNKK6Se5JSKNlSJDrzAIRnFLC4u0OkMSOKMra19sswDGdBqBAz27hD19ki0pF6rgYoYqJh+HDO7\nukZdK25dvkivP6Tpw/bmbZKNO6zOzdCPQ1575QVarRqbuzv0D/pkyT6u51ELGswtzLIZjnB8n6DZ\nIk2hOddi1oU0HjLsR6R1Sb3ZJPPr+G4NN1FI6eBLD7II7UGCiULoKgeNIMstsgperdzv8ho0439U\nbFctjoCyvNzmLsulyj78KFV/KDqpKjbxUZQq7q5sulvutw2Y06j18mFQRR3bB45tNGB/r1y/vSbt\nPlel9SsTcXbbbFz8EytCsSnuspIBTEfSNEVmkhRwHSeXZSoylZEpQZZJFhcWSKOYURLRdudZXZ8l\naDRYzzIGUcj3fuJTvP7aq/zdP/o5/pMf/mHuv3CB4aBPzXGJ8kwcwpEkWWI0/K6JSCYcB0qsYdG2\nOE8BZS/owsyw6Fd5got8gjaYlQG+PJkT7CRiLP+2ix3b+nAcx7WOAbVYDPV63aKCCjHJJFWklMkw\nXpRDqpmxt2gBllWp7cp9KNdj962q2Cyo/S37XhWAF9ftw7Tb7dNo1Lh+/RaNepug1uSFb3+FR9/3\nOFvXbyHSmJsbt3EReAAKkjSj0ZxFNhQnT59nrz9k2BmwurjIzo0bXL98kWaWkqoEt1Hj1s2bLMzP\n0+t1QWXEoxApJf3OAUurSzjtGnKmRiOdp5fGaAGrq0sM9/cRmUvS6/PS177J+9d+CJVmbN+4xfUX\nXuXCo/czUgIv0QjPQbkmsp6jJTo3/RSl/pbHxv5dreQ9Ogdmbo66ok8rVXWUudbjRANF/QVhUAZA\ne87t9WO/W5TikCh+V32vKuZI1QFoEx0F6Fcla67mYA7vFd+zOYvyT/FslYf6ceU9VWLCpIy3LA/X\nWuPi4eV9EkZjgys8hNY4UuIjmZ+Z5frmbR5eOsPewQDZGzGKYxqtJp4T8PSTH0JrxS/88q/w4Q9+\nkI9/z8eIkxgZ+AitAYWUJhSlUuaAAAHSKA2zLEWKw3gtBWimaTqmyoHxaVuAU3HyFtS6raCxKd7j\nxqdYQCpTY2AuL7KysrK4bi9u0690ggqS0sFxJmOlF+/YVNWEKCiblN/bbSxvdpt6see0LFap6nsV\n1VNci6LoyMJ3XfeIWAkgqNfpdnssLK6QJpo//IOvs7O9S319hnPnz7F59QqtmQXC7j5ZNCRSKQpN\nrztgZnkFz2/gRiPmWpJAaTZu3cCPYxwp8KSkHgTEKjMu84GPyjSyXiMIfKJRaMR1SpFGIa4jiePI\nJCAWGrKY0d4BepRxK0nZ/L2Aj3z4o3z/pz7N3/4f/hY/96/+Vw7u9GkKByeFoQex0PiZMj4QaNBH\nD8/yXFbdK6+z0gxUWiu9G+6p/B17zUN1TPry83a7qsCx3IcC+Iu/bTFNeR/YbbDXls2R2D82QVZF\nNJSv2WtvgnMscaw24VPmAL6TcX7PAdzuOBxlZ6R0wMkXj8RkqdcCITWxynBSyUc/+GGuvPganX4P\nE5fXZaYR0Kg1SLVi/2CPOI342Ec/zgsvPs+trQ0++8N/mprvI1SKJ4yThIpDvDz5A8JFOC4ImQeh\nL8mCtR4rBQvqO8uyscemTaG6rjuWLduUyDQWztZAH3prYtI+qcPsQnYp/l1QyGX2FQ7juBTPFOBv\ns4vFIiu4jHIbpRVTumrR299Ns0kRSqH0vVuxZaM2yNuK4jLlVJY/FpsrTELqjSajYUQcZnzzG89z\n5swFVKaI4piNO3eot1oErqSe1Nnb32cYK0StSWvxBFt7fXqDIWfW15FxiIhCAp0hlGDY79GPh8jA\nQyvNqdUTDNQBKToPg5jRPzhAxhlpqo1ZZarQGWzevsMzn/kk1y5ehkwSNgKClUVudnY5e9/7uP+e\n+2jUGtQaDWSS4klJ4mhSYZTUXm466jAd4Mpc3nFUtF3Mc0c5nnImo+PqnWqZdAwFXnynCrzL67lc\nj71O7DVRRVlXcXPl8St+bPGHjVNl6x37Wll5WUVF2wRK1f27Ud5FeU/twG0xSplVKn6nOiPLA/Ta\n4SId10GiqCE5u36Kr3/lqzxzYo1Ot0vdN1mydZKQhCFNz6cR+IQq5IknnmBza5PP/0//gB/57Gd5\n+gOPM+zs4qiUVj0giSMDEm6RycNsGGHF5q1igQoqsGyIb3twVrFEtiih4D4KO9Ux9a1y6lsfXWxl\nJ4iqNoJZXMVi9Dxvom4bxIs2FfUVbRoDY6YmKJgqr9Fx//XkZrPZz+OojMJKwKZYbN1A1caYxp46\nvkOWKHynxsV3rjE3u8DSwiIqg+tXrjAcDhBSMNNs4aYw67swiqnPLeA0Z9i9vcFsu43WGVcvX0Sq\nhCBwieIUlWUc7HdJhMb3fZbnF2g0m/SihCiMcOsBg26P2vwyW70uC+snmDmxhtsPaTgOJ06e4+yZ\ne3Glz2s3b/DA+5/kxsZtYl/yvqefRAQNRmFErd0m7fURCpQPIZKaEggNWQUml6nY7xTEzdgdffZu\n1LNdijV2WN9RAu247x8nPiiv8/IaLt6dxn1UKRurTP1sQmuCC833dZUIuPi+/btcirVtU/BlLufd\niE/gPaXAHUxbbfHJpOy4ACcXmefSyzuqNbHWuIGPSDVri8vomovQMWQxaayRgO/5LJ1YpdPvIX2J\nFyzQCwesLC1x4aEn+M3f+HUO9nf55Mc+gi80o2HfeLkpk7XayRWbJti7IENNgEMQBHlvLEBNM3PY\n5JS3TQ0cBeVqrXYYhmN5OkxmoSlTpW6FXLygoLIsy1lsMK7XxnOvCA3iyJxb0FmliWFxwE4uUIXj\nehNadRvkJxayOuo5WQCt53lTRSh2xEe7PeUNWPxdcEGJZfc/bovS6FTgSbh68SonV9YI+wMWFhbo\ndfaQOmM0DPGFxnMyIiGpLyxw4dHHGcQp86nC04pO94A4HqHjGM938TyfURrnB2NMzfNIVAYZ+EGA\n67p0+z32dhVPf9eH6G7dZu3hh9C1Br3Lt1BRyksvv87ZkydZml3gkQsPsNxaZPmpk1y9dpUHPvI0\nV958Cz/w2NjfY9ZxkQloAbGbUUtNhh3tHlWk2RzW3cCkSjFpkokcigXfbbGfLSc6LotSymBbpoCr\nFNLFveMo1uIbVUrCKsrbrvM4Lqa85qq8LgvO8bhxKUpi5S6wf99NaVku7xmAw9FY2OVFJoRJguog\njDmYAKEFEkEqjJemLxxileG1Gmzf2aTdapNEEUGtwXA4oNPpENRrtLwWnYMO/WEfpCBxanzfxz/B\n22+9wT/+x/+UP/dnfpQTK0s4AkaDPkGtRhiFBmxcL5dBT56wVeZ+QghjZsck9ZkkyQQVab9nUxy2\n6GWalrt4pgDPKorZfqeoP1PZkXo1k2EubZCtmhN7Ixb3is1aRa3YgGq3uxiPqmIfCnC4McobxaaQ\n7PmwRVeJiqnX60jlcuXty5w/dx+j4ZDe3g5SxywvtNGhz6jXp68jYiSnT5+nMb9Ab3eP+x9+kLoj\neOlrX0XpDL8eEMUJdV+iEo1bC3BiTWtuhihL6XcHtLyAWhAw6zp4QYAUkvX1U0RA5gccDEOU0ly9\neYtOt8tTjz9BzZUkV69y6v2PkHouG719Hj5zD7t7d4iCusnKkypUkpIIyFJlUoExuUZsGWoVIJXn\nrjpPah6ygqMAU1UKavs4ita+Po0jKLftOxEtTIs/XqZky9+zDzlj7TWpvC33o+rAqQLdaW23gbpq\nbKf9Pa285wkdigm1nULsZ3AlKLOgtCNwlUBqkefBEwRKkrkOS6fW2dzcZOWxFaI4ZudgnyiMabZa\nZGi2d/cJo4hmq0WrVWd/NGRnv8MDF+7DlffzT/7p/85P/9Rfpua5rK2t0DvYZ3Z2jjgcGRdy60Q/\nbpAzpdDZUU9KG2SqgNoGy4KSLLNwxfiUqfqi3mms42GbRWXMcXsD2iBZ9pYrt6fof0FNV4GD3W97\nro+LdVwkobbl+fY4FYri8lqxlaZRFJnN5yhUpPnal7/M/Ow8r7/0CmdOn+Lty2/gORqnUWOhOUN7\nYZ4b/T1Wl05w4cGH2ekP6Q5HrCwv0t26SRKHLK8s0d/vEMYZ2SgEx2UYjWjMzbG4eoKDOzt4QUC9\n0WZuZhbP89g92GfzjcssP3iBnf0edccjCHycNCMlZUjMtZ3brNfPsLLQZGFhjrlBB6KE7eu3aLSb\n7PW7eE0f7UgcIQmkRLqQpUej+JVBpwoEptnMT66Zo9enUfFlatt+doJY0LpyH02jfqu+951wEkVd\nZdCuGp+iTTZxVei0qtplHwz2mi8/O+1aFRdwt/erynsK4FUiARsopJSkGoQ2XH+RPVpphXBdPCER\nI2MGd+qes7z6C7/HmXPniLOM5twc80Ed6bg4jkuWKuZzu2LpCE4uN1ldmGdnZ48oTfnAkx/kl3/1\nN3ny/U/QbLfxghpRFJLEITWvbnLvWTLZKgoQjJIVi6otmx8VlGUVpVzWmpcnvEzp2mM5qWAqFtak\nK78JzTuZ0d1kGp9cuAUol+eqPH9FKeKsl6/bm6Vo4zTzL7uUlZVFm4v+FwdGFXgV62Ysm3cz/l/m\n3jzYsuSu7/xknv2u796319ZVXVW9d3W3epHQCkYCmUUgPJYsOUAj7AFjmwjb4zHM2EGEPTNIzEx4\nHIQt2zEGI8AGBAJJtiSwWLQhuVtqSb1Wd9de9fb17mc/OX+cd97Ne96tluyYiXZGvHjvnXtunjyZ\nv/zl9/f9/fKXIrb4oz/8Qx594AnmZloMO/sYaYw/7GGGNqOdbepeldT1WFg6hutV2b2+Qq1eIQp8\nbl67ShaHmJaNV6kRRRmB30WZKcI0WDy2TJDEZIbEcR229/dJ4oTl5WUypeivbXDm/FlCx6RZmSFZ\nmCXY3SUjxY9HXL7xMs9d/BZ3rV3hR+bnqBs2mYDVW1dpV6o0ZxtEmWRIhBBghSlBQTFk3x79lZWY\njlanj0EeMz4NfEwrkxvE8joLf4tOhZTrKMZKV5y3sw6+XRum8drF98oLfRkoFt8vK+Uysp72jGn0\nS7no0SjldpXb9+0W33L5tgr8J3/yJ/n0pz/NwsICzz33HAB7e3u8973v5caNG5w+fZqPfexjzMzM\nAPChD32IX/3VX8UwDH75l3+Z7/u+75tab5FPu0BakxEXYwUupYGVKhKRkXDgPMggEUl+QGgKwpTc\nedd5Pn3z1+j7Pl6ljrRdjEoF07RZvbXOsD9ACkHNqzDTaNKs2QjLYPHee9jrjZhfOs7isZN8/kt/\nhldxOHfHCUhCXFsSJzn5qFsNWZYdxnaD7jgCcaBA9MEpPi8OatAVWfF52ZNeCLbOT+s8W7nvxgKi\nyP/M0PNfhGE4gZTTND8n1PXsIyhfz7ymT0z9OTo/eDukUz4PUI/cuT36y448s+ifAoHrwq+btXpI\npRCCKBmxtrZGvVLFMkxMz+PypRtImWCoBNu0icKQUS8mwkJKg9XVNTzXZX52jp3V6/T29iCOCLOM\nVmsWr9KkYxrs9Do0Z2YQRp4vvFGpUak1uHnpGsPBkGqjAULieJJUpBiOTUzCbneH4dY6hlRkmY+V\nJBgZvPDFL3Dlyio//Tf/Dotzs9TP3cXn/uBT/OCP/jAdM2FfhVQUGEHMQKYYlomZqqkYrcbRAAAg\nAElEQVSKRQcBZcvsOzHThZgEU7oMTxsvXU70estoWufni88cx5nq45lW7+1Cb2/nYC2+r79HOa2F\nfk/ZSpzGoRffK/u19HG4XV+XF6JyO/SQ5O+kfFsF/sEPfpCf/dmf5Sd+4icOr334wx/mHe94B//g\nH/wDfumXfokPf/jDfPjDH+bFF1/kd37nd3jxxRdZXV3l7W9/O6+88srUgdeVSdlZp5csS8kOIkBc\nw8Q0FWTkCAHIrPxA0WWnxswdS+z3u1i2w9Afsra+QcWqkEqDmYV5jCTFFZJOd5/dvR5CSuI0w7Bc\nKvU6KlO86U1v5av/+eskScJ9955HGQI1CiHLSCXEB7sLDdNAZSrfCSdyLlkZAlSGfvi3PjCFAirQ\nrT7I0xBuofx0h0dZOKYJhJTFJMg36xT32I59cIArCGlgWgKUyrOFlCaVbm3oSEwPBdSVrGDsyi1T\nLjq60q2MVxPSaZzm4bMO+dmDawqkyDca5dkqBWkak2UK267w4jMvEgcJtWaDZy4+hZVG2Iai1qhD\nFGFmMEoT6o6Tnyq/ts7xM6eJhza9vW0cKbG9OiLN8Ech0rRoHTuGbNZpzM/RC0Y4VoWKU2FzfQPL\nNVEk7HV2OHbiOFEc8cLqJUbbJhXDI9rdp5pKVJogpYWDASKjn4bs+H0++tFf455Tp/ieH/x+Ljz+\nCFaQUHFsLGWRkpFJMA3GWV7SFJWCYZgkCgzbJBN5NnYDMA6SXiVMWoy3Q4GFKOaX1CGdotR0JZkr\nxPLVQjEW8pDLZwF6dEvz1aKS9LaWLXW9yAPL9+Bb2jtMp2OmWbh5PZM7o/X79Pt1mR4/Ywzi0A4C\nHy8Y6vD37SwG/dp3osS/rcvzLW95C61Wa+Lapz71KT7wgQ8A8IEPfIBPfOITAHzyk5/kfe97H5Zl\ncfr0ac6dO8dTTz01/cEHq1eSJERRRBzn27z132EYIpUiEwe7ocKIOEmJsxQDMKXENxXCFLR7MW/9\nsXdwdeUKrUYdSUa7UmPOqWJlis29TYajLjYpS8ttzt73AKfuvJtzd93H/PwCg96A/e1ddnf2mF8+\nwdpen3/5Gx8j9JqYlk3FdbDcHLVbVRfLsfOBSnPHUhgGDH2fOD2KMKTME18Vys+yrPH5nGK8AadQ\nmnEco/OFurDrSFSPdNEVozzYgJRnoBOHXHeWpUhD5CGYMp+QaTbuc93JWq6/QOVFKdD/IR/NUSeN\n/m5FfLyeHuB2iE7fSVf86NRPnCUkKldKmRKoTACSNM4PuI6CgDDwkSIDVeGV569y97n72e928Qd9\nKkphRhFEYY5ghYlZqTFXqxL3O5jpiHiww8VnnuTit54mGvmYykSlkiiMGQ6G7KUxc2fPcuaeBzHN\nGjWvRTSMGXR7qCxGGCl+2KPb26G3tcXelWuwtYc7Cmg1asSWQWBaRJmBoRyczMZTFtgWD7/+MW6s\n3KCX+Sw8eJ71QY/hvk+DBn6kiGwLW0msOMYwwRC5Y9+2Xer1GZQwyZB58q40RSUxKpscO90nUVak\nSuVRYrn85Ju98g1f03VEHKckyeRPlimSJCWOk4P/Qc9H/l9SCoRbyIXe/rFPSZGmxU9GkmSk6eQ9\nMAkiiv91EKSDjvI8LlueRz+X2s/YainSb+SyLw4A1qR/rDwfvlMl/l/FgW9ubrK4uAjA4uIim5ub\nAKytrfGGN7zh8L4TJ06wuro6tQ6dN9PN8jIdUOxgLDqqUAZlHitJEh5/6CGe/PQfs93ZIonBERVU\ntcJCa57FqotnGnQ3Ngn6fda2tskOTiefnZ3jjpOnkYZEGJJBMMSPAnZ2dvjNX/tN3vdD72Cm6iER\nWCqFIEEYEtO1QeWdaKs8X3aUJlPNI908K66VY5qLdy7CE/W45rLwFKWoQ49B11d+vR7d2VQoRiHE\n4eHMuoO1zGvq71MUvU06gip4zWmlHFc+rZQ5cP0nyzIOVh8OkmNTcK6WbRNFAWmSUK1USdOM//jJ\nz7J05znMVBLudTCUIlAJrlCYSYoyDHAMTi4vM3vsBK9cvUyrNQtZxu76OoQhoepi12rY0iJMU/pB\niDIl9XaLXjDC8DzmF+e5/NxzJEmCqQQiVSSjkP2NHdqpzYJp4qb5uZbZXJ3twS5OJnHTDGHa1BKL\nc7U5bvRSXvj613jwzW+g1miB7dIxwY18gjiF2Qqj3V1O1GYIQ59YKUIDDNciVCmZ38dS4vDs0tSQ\nBEYeBmtyFDXq0VFlOup2Cqxcpn2ug4Fi3PK8PUctyUJ2y3WUUbEOIsqypyPuMWrP5aP8Hnp477T2\n61TLNGqkjMpvJ8u3m7MHn1LIrn5/2Rf1/4sCLzfydgNbfP5q14tBKedGKT7TFbuOFAoFoyseM5W4\nNZdYJMy35zGFw9CPGKx3MCwLJDRqVSp2haXjJ9nc3KbfH9Dt9tja2MZ2HWr1KtVaDQyb1z3wMHud\nfX7j93+Pn/rgB3BSsJC4psUoCglRKCkwEJhKYKUZjmmi7Mn0s/oKPy0PcvF+eoB/FEWHglYgUB2l\nF3UW/VAg22KnZVFn8dxiwVBKHSJ8XUnq7SiKLqS64I7vV2Mao9SmyYk0HsNpIW7lMi2iYLLPxMHm\nqrwNQgik4uCoMYFle4yClFs3V9jbGVKZneHkwjGev/JnnFo+Rn+4A34PFcb0RERWqXDMdNj3E2Jh\nsLC4xNbmKqP9faqGgSMyuttb1JstTMfBIaN1fBm7VuHGjRUqjSqGbWE4Jm6lQtzrwsGCHqcx2w0T\nz1C0fJ8F2rQqDZrNGH9tG0s6LNyxTJREzC+fQD17hQfe8jacN13gysYuZ4/XaS8vInc72LbB577y\nBd722Bu4cn2dxflZ/DQgMSVKRJjSwDLAjFMMJUiEIhGKQOZUn6mO9q+eC79syRVjp8faTyvlcS6P\n77iO8Xjpn+kye3Ssx4u+viiUlaNp3i4/91HZLs89/TtloFNG6NPQ8vR3ZmI+HNwx0Z5punHawvlq\n5b9KgS8uLrKxscHS0hLr6+ssLCwAcPz4cW7dunV438rKCsePH59ax7/99d8+bOTDF+7n4YcemDBf\n9GgNXZHozq9CwR0qqpHPufPnuHz9Ku4pB5SJ057j5MI8MhHgmgxDn0FvQG+wgh8E2LZDqzGD47hU\nq1W63Q6dTpdev4tpGcS+z+te/3p+83c/xv/wvh8nGoaEWYxj20Qyp3dSpTCy3GyMwmSCayyvqrqy\n1d9Ld/gJIQ5ReOEs1YVWFyrP8w6jQApzsai/+L7+bB0ZFxNHR7rlsEZdeU/jTgvKp6zgpy1gr2ZJ\n6KUY4zJaP5y8Wc4ZI4poiQIlSYRwCEYJzeYcz3zjc5w4fp7doMdXv/qfmTmwVNoLc8T7BkGvR5CE\neM05ZKXJ5c1NPKfC2voW27du0bBs6pZJGgQE/oggClGOw/zJOzh/190MRiOElFQbNXbW1onThFqj\njjBNVBgR+iEqShDzBpblEGcpMlHULZulU6fpKpfL168hLIuH3/AYtoIaJk9++Qucbrrcde8jkBm0\nz5zm4q0/obkbcqFv8me//1ke/YF3siYUjrBAJRhRnie83+9R8zwiBAkQZ5JMCkxpkHF085ht2xNz\nboxopx9LNq2Uzf3yvfq8NYxxlj3dAtfvLb5fjsiY1paxbIxpt7Gsjfn88iKjy3R54dEBzzRZvX0I\npE7LHKVovtPy9aef4WtPf+s7uve/SoG/613v4qMf/Sg/93M/x0c/+lF+9Ed/9PD6+9//fv7e3/t7\nrK6ucunSJZ544ompdfz1D/7Vicmp0yQwfvFpJzeXV+BCCKw049TJ0zz11W/w2PnX4YcpPX+EPwgx\nA0Uvi0gsSUMZuJ6J6zokSUoQBcRxyH5nF8e2mZ9t0W41SJOY4WhALwo4f/d9/Oqv/wYfeO/7CQZD\nPCFQaYo6OOFHocgMgW3aONpEKN5NTz2rhxcWbdc5Y8hRRxzHh/xZeVKVOUydLilKuS91Z1F5QSja\nVQ7Z00tB1eh1l79f1F120ujjrI/dtFK8U3khOKxXHTiySclEAuqAt8XCNDzqtSrf+sYLVKstlJQQ\nxvR39nCFwFQRIlNIr0aqbOqeS2PpBGujmG4Q4noee50dRv0hVRJQKYbKkI5NPw6IVUYjCuhs79Af\njjhz/AQoxXrgc+BbpVKvkzoRKflu43m7iUhSRmHApt9h30oBSf1YjUHXZqvfJXryaVR3xPHjc5gq\nY/viFWrVBfzugMVjs9i2RfziVV7vtdgSQ/7lb/0W9z54L9/zyCPMuw2MwRAzibEqVVKREYuMlPzc\nT0dJSCHO4iOKKY7jQ1qy6O//UqUzjTIsh3mOUXRy6D8pPivvI9B9QbpcFjJQPENvq17fWI4yzQFb\ndnpO7lsoK+hC1nRQpYOiaYtIcQzdQS2Hn5cpnfx5t3faPvH4Izzx+COH1/7V//PrU++F70CBv+99\n7+MLX/gCOzs7nDx5kn/yT/4JP//zP8973vMefuVXfoXTB2GEAPfddx/vec97uO+++zBNk4985CO3\nFYRiRdbD4HQEriMB27YPlVhRyomRlFK4tsvd5+5mbX2LkR/g1doI14VRQhgM2NzdwWhWyZRJ23Jw\nXId2s4VhmPR7fYaDPjtBQBrHVKou83OzHFtcZM5SrGys8cDDj/LP/+2v8rM//VNEfoBr2sgszQfF\nkoRpTJZEEI1Nw0LplU3AMkItb7vX83zrikz/XtEPhWCVN84Uwp6m463yegSMPjblmFu9nsJZmVNd\n4rC+Iq67HLo3NjPHucOL+nX663bF1LaH53JSZG/LiKIYmVookYHIFbgQCqREqAwhDCpOjf/4qc/w\n6CNP4Dgmyf4+LcvEH/XxTEHU8xG1OnuGy4mT93DP/Q/z5HMvcqbVIOx12FrfoIbANS1sUyAci54f\nkKKYabeo1mu89K1nMUyLY+151tbX8TtdXCEgjsEyELaN27KQlodbcVnbWsepeNza2eIN5+5k/tgy\nF69cxlxqsbPdwTig9oMk4B1vejN/8OzznLQF0V6X0foODz96N1/e/TL1eZcLp84xnF/kP33tKVYu\nX+Nn3v8+bASW5eBVPILEJ8syLCGRqUREKXGaksp0qhwWaQh057UQ48iRsSy8eqheMb7FvC42iely\nVCBTnTLUZVtPtlbImM6P63RPMe/z7+X3x3E8EapaOAv1re9xPFbKuvLWZVNKie+H2LZ9KLumOcnb\nj999PN8K4FP0VSH/xWfFSVlKTYa+Fm0rz9/bOfoPn62+E6Ll/+MihOBP//D3jqAynTrRV91y7HCZ\nCy4GIYxSVK3KJz79GYK9EfdeeIRQWHjKpCZcrEYdb7ZJ0h0SRrskaUwY5hEYhjTwXJeK6yKlIIkj\nAn9ImqRI00I6FqFIiVSMP+jzvW9+M2IwQsYRQigimRKJDAsDQx0951IXWN2ymJ6LQh6+q45Gsiyb\ncPhM4+509Frco9MnZUWro/OyBaSPV/G7QFBF3WXP/WTdxpG26kUpxb0PvfHI9YvPfFl7XjaxSGRZ\nBokBUqFEiiIFmU+Iqtug3/V56ivPcOml65jSoT5bp3/1Okm/By4QxMjM5Kbvw9Ixzt95P0ks6IqM\nh0/WufLiC2xfu4Lq76GGPWquSSYyIgWRYXLnXfcRI9je2qJWr2MaFttbW7iWgWuKPB94HJJJkyCB\nuy88xLHlBV64dJFYJXiJ4v47zpHZkr0s5IUXXqSRmniZSaxSjHTIY3c9wK31DkZ7kbvvvY+wu8fS\niTanTi7z3B99mcXmMrdMg0vVhJe3b9Hb3ea9f+lHaVc9bDKMLEOmKSpReW4fpRCmQZjFRxbOXElP\nykuBFHX5K9D6429655Hxeu7pL35bqqV4bppO5gAp5F2/T7fSdLksg5fJNufzSM/6mYfQTobE5j8c\n0ozlhaAc0ug4DlEUHW5MKmS9sFh0+daVdXmhKlC3lAWwm4zE0uedbv0ahsEjr3/Hbfv1NduJOU4E\ndTSKQTe7YJJzLV64WOH1aJRGrckoTfiBt38f//xf/GvuMcBFsLW+SejW6K7cpDk3h+u61JsGpmlQ\nb87iOi5BGNLr9dje6yCAasWh1ZqnWq2wt71PTJ6adLffZ36uzf/48z/Pv/qn/5Te5iZZHCFsA8M0\nJmLAi3cp2j+NW9M5/WlORz0/+rRE9dOyERb3wqTH/fbCP5nlr7iut0/nFPV26simGJfif8Owjpin\nOq/9X8oNHo6/IUAKVK6+EQIMw2LQHxGHGTeu3iCNYizbZLCzxvatq4gopDbXIIszUDa1VpvGqTsY\nhQG7m3ucefhBrrz0TdZXb1K3TYxGg1ES46uEMM0I0oyF44s02m1W1zaoVirYUrKztUl3c4vYMqkt\ntLFMSbVWY+GOMwwzyXe97W0szra5/7HX0Zpv82ef/A9srG9w18MP0OvvYtU80l6INCSGgo3A5+Of\n+wx/8eTr2P7mUyTHFqhfOE03DuhbBsfPnKX79BXOPfoQUS1meXmR1f1t/tH//iE+9KH/lZZTwd/r\nsFCtkWYBfuBTbTUIovDIIdy5/EyLsZ50/hVjVWzWK5derzcBwAzDwHGcQ9StRzTpgEYfV1156uke\ndNpUV+x62/I6cgd+gZjzOg2KU4gKKyPXG9YRnVOuu0zN6NZJUR9Myrtu8SqVTgAdyI+RNAx5uIjo\np1sVwBTyyDvP8yau3a68hkeqpRPKRik1YZYUglDepj1t8hd/+/4Qy7SYazawqzajYAjBgPnZJrX6\nDI2ZBt39LgMVMRxlB523hxICISTVSgWv2qLquQihGAUhvcEeaRCTZBmGY3L22GliFfND73o3/+xf\n/2v+yl96NxW3QhZHyExiSomhKTgYm1uFgBZRN2XlVrxL8b0iGqXMN+sKe9ohBsVnOn+n93eZPtGd\nkHqbpJQTC0B+PZsYs+K+4nu6c7act1tHOd9uJ+btFLwQAiXzEEIlZH56kjQRStBut/ncZ/+EOIo4\ntrRIGqXcvHIJw8xoeC5Bv0uUZkTSo76wyEKtxvbuPm94wwWG/pDrazcQSUgmBLZpYddq7Pc7jFKF\n6VWwag1urKyhkpRmu8ao32fY71JzbRyl6G1usrS0yB0nTjKzuIQxM0ut3uDZa1c5eXyZzuYuNgZJ\nGLF+7SbVmSpve/z1PPmFP2d7b4/uXgfbEsxUm8iKyX6wzerNS5y5s4VrV+gOfJitsVUTqK01ZOiy\nvx1iexZ/44M/xWc+8zmOLy3xpkcfZmvk46gMp+oRJxFRHGJbzhHkqy/Gen/rC3lRBoPB1PEq9okU\nii3LMobD4YRsjJXb0WiT8r4AHeyUI1But+iXZTGXP4vyQpS3QU0o4eKzwsotMwH6YqMHC+gyqlu6\nev8Wv/PvFT/ZQbx6/vyCviqYhiJ0etpRbOXymh/oANPPnSs6pNhyr5tz+sqpD6rlmmR+xGB/j3sv\n3MvK+i0eufM+dve6+HGIDFPuPX8PfZlgiipRlLCxscHO3h6GNBgOIizLYrbVIk2jnOd2LEwEaZKQ\nRTHhyCc2ElJg9sRx/o9/9S/40C/8AoxGqKE/sTOqzCUXpheMU6bqJlsxYPpJPjpPWNSpm5Q6P1hG\n4sX3Cg5QjzbRkXW5jqINZXSfj9VknHmZXyybvHq7pyn+aUWXA32CFGgnTVOUAKUkHIQTWqbDxvoW\nf/6lP+f8HXexvbnBXHsONeiTEuHHioZl4kvJIEuoVRxWXnqRzLUI/BmC9S1U7OMaJpHvYzkuwnHx\njFmS2KfaaBArwaDbpeFV6A37hOGIfBNlhi0lFiYiitm+tYKfKN5w74PYhgnSIOwHfPPPv8p8q8F3\nvfWtfOITv893fdfrCfc7CCkIooCKMjD6EbVGlee2r/H4e9/Ol7/yVe44f4aZk2fZX+uweP952t/v\n0OrFOJGis7uDlA79bsjDdz1IJxzykd/89/zE+9+DtCRGEmPFMVXHJc4m06Lq1JqugPK/J9FjIa/T\nShG+qjsaXdc9Ytnl83nsBNdlfxIkTMaq67JQjt4aLwxqYtPZGGFPi5CRU+vWaRHdKii3rRwAULQh\nCAKNRhnz38UJUrmTs/DrOYfzoRgDPSIsiqKJYw1vV14zBa6bDgXS0xVO8VLlmOLyyqd3cBz4VC2H\nKEu48847uH7ti8zPtXFdj0QYyDDl5ZcvEroW/jDFMm28SoUHH7gfIQ2yTLG/t0sQ+vR6fUhThKyR\nSkml4mFKCUIRpAGeW2X59AmEKfk3H/0o7/3hd9G0bUhS4ihBSUCAISTZwSHCGAZKAJkiifJVVxiT\nyKO8aOnKHMYmm86flxVlGRnoSrlw6lhWIezTHZjlFKFjBRwfmXj6GOhtLRw1t/Nt3K7k+Vv0I+R0\n5KNwDIuIfPdnGiUgJUEU8vGP/QGkFjt7PfqDAQYSf+BTm2uigj5pmhGlMfVWC9eW7KzvYjarvPCN\nrxFubeE5JrYtsDwXE5MoCJGWw+zCHCfuOM3myirKGGG4NQajbXZWVmk7HvWKh8xSKtIlCxMsZdDd\n3eflly5iNJrMLy5x/fkXaXoVXrr0MsfvO82PfeB9fO4zn2G23ca2DLIgpCUtbM9DJSkDYtb6uwS9\nPs9/5Slq75xj6cQd7O3sc+aRB1h/5iKDzX2qtkU/8Kl6Ht29PkqkPPrQo/zf/+Ij/NX3/mXOzs/h\nOlXikY/l2KRKIQyR88OZgiw7SAdh5LTUwTjLAyemnoyt2CpeLkVajLK5r4OF8Vw/unDf7v9yPp4s\nyw73MOjPyBW7hZSCLCunZj5K0eT3ygngMinj41z0jUaTLEtJ4tyRn6Tj+ZdlGagic6OiWq0CHDha\ni8RzeT6n/H2Sw1z/lhVN0KPF+xUWd2EN3O4UpKK8ZgpcVwxFmcbR6v/rJkV5EKWUWCIlkjGYkvla\nHSNJubW2gkwMTGEzO7eIeaKCcBziZMhoOCQIfK5ffR7HcWjUZ6i6Jq16g/nZOr1un+FoiJ+k+FmA\nYzvM1Bo0KlVAIfqKR88/wrPRN3j6pZd46HUP0UhSbNNipGIsN08baguJNAxCCaMkRgqBS35MWlkZ\n6gpYNyF1ISuHVZX5vKJPdMHI68vD1yb7UGAY5pH+1tujj1Mh+GWUrKP68f1jpFPmMF/NNCzSAJSf\nV6CVSmKjzJRUZRiJxHBr/KcvPMWVV3aY9ZrUmsus7nXYuXqVbCQIt4coGbFvZAihOF6vQejjmIoZ\ny2Rnb49edxdbGKjZFl6jCcMMJ7MYxgqj0sSYmcPrx1hWkxExo/Wb1ENBNQowaylzZ46jwoxoo4eJ\ny/GTp+n6A6J+h6Czw8rqTYIo4OrKNT545q8TxSHHTx9nb3OLdqNCp24yCCNakUGSpAjH5uWLlzkz\nd5L+1TXWdzcxHjuP8B3Cq7uYM0ukQYQdDnAqktQFO8loKBN/L+QdD76ZF5+5zFcGT/Oed72bdqVC\nEg0RtiTKIhAZpsgwUBhIUIIUgwQjP2szi1Eq55ZzWSlnvByX8uEJ5bEdK0t1SKHo1nSZ+ivKtANF\nyk78cWRWQppO+sly9D0ptwUC1wFi8VxdqR+2L03JVIY0JI7hYCv78CzS9CDSRGWKJC0OCJ/cSW4Y\nIGV6yDKYpn3Ax0cT1FGapoeIu7BodCvkduU1PdChvOGkvBKWzb2y0tcRvJQSS7qESYpTdZlpOJw6\ncYzt7Q0ef/gxNlY3eeXS81ieR6hS2s0ZHNth/tgylUqFke9jmSbdbo+1lRtkSlGtVJht1ak0ZnKU\nN/KJgoi97R36gz6t2SbuyOGNr38T//LffISZmRnuP3UHvu9Tq1QYjUZIQxBLgzgMEVJgc2AGHuzW\nlHBEIMucv24W6lRI2Qmj943eP4WiLSaPXq8QkuwgPljv3/I2/kLYdDNzvDAcjR3Or4sjil5fVG4n\nnDoCK1M9UkrCNMURBqlQ2K0GUSz488/9CaZTxVcR7Zk6VhRjODapYyNNRZhCEsXUWzOMwpRh0OHM\n6dOEwYidjRVcmZEoxWjQJ0oSGpUWuCZVz+HM6TvY2toiCnwu3H8fcRrTIcFcHqL8AXu9HeJ+wFxt\nhrBtklQsxGyN7sYmM1h8/ZnnOHXuDF/88y/ywb/+k/h+gDTgTW9+Mx//nY/hVqrcc999XHr5EiEx\n0pIEfgBSYBxbpGKa2ELQwCKt2Kxvdbjz/D24WchACK6vr2HZAmemiWdVSMKIlswwenvceeY0/8v/\n9HP8zN/4a9x57iRWFFGTkiyMMaUCU5IIgUKgsixH5YDSNqLoSmZa0aOExjzzUccl5IuA7pvRqYzy\n/J6M4BinTNDv0xWuTqnom9vK/HRhXep6RA+IKMJm9TmnMwQ6eDrMZ3QQDl3UV8i4YRh4nnd4fezc\njRHiKN9f0EA6rfxq5TXPB66/QNmUKj7TQ37KyFNXAlJYQEgcxiRCsby0yHPPPE+nu8vsfIP55Tam\n4xKmMaM9nyiMWL1xnWqthiEllm1hCkm7UcHzPEzTpNvtsrPhY9o2UhhU3QrtEycxDMFgNGQY9Nlc\n2+Inf+In+dJXvkyzUmGh2SD0I1qVGv1ghK8SpCmxs/ww2lRBKBRSgJFNps0sp6EtkG1RyjHUt4vf\nLvqoqAM4PGuzPA7lJEP6gqHzifmEyb9XVsBlmiR3mpq3NavHzz5aynlY9O8opQisjGqSIbOMzMr4\nnd/8bY41mmROlVQIrl2+yIxhILwaZtVBmIKeP6DaalBrzNDpDDCR9EYjtlauUbUkJCHCdEnjkDhO\n8IMYu9Hg9B1ncUwDooCHHnkQVxrs39jAs0wac7M0vWWcWzZpEtPd76Asl3sevp/r3V1sabD54mXu\nuPMEL196BbdS4U1vfhNBEpJJMCybd/7QD/GlP/08MYr548e4ce0aRprhOjaNRgPZrHH3hXNce/ky\n7TvuIGjPMFIwevZZ3nThAZ5fWWEGi/39Pn1LMrBGyDgjU4pmxWPQ7fOP/+Ev8Mk/+hS76ZDHzt2N\nbVcYdYfYVY8oy8gMRSrzkEOZHsRE32ZMppVpi3ihXMtjKMTRVAllC65QpvrBHRM+/qUAACAASURB\nVLouKAMAIQRhGB4+U9/UVj6QQf8p5ltRt76pqVDY46gRnbotFpKcY8+57ZQkyY48J4qiHMhpUSxS\nShzHnlgoLMs6jMwrz8NXK6+ZAtcHUV/ZyhNXP50FJtH3JN+q2O908GrVvEMMyT1338XF559jr7tD\nf2jR7/exbBfLc5lx5zh16tRh/cNhn16vR6e7j2EYhFFGtdbm/OIZotQgCCI6ex12tzbx/XyjxOxc\nm/ZsE2EZbK1v8+bXv5Evfu1LvOdHfgQ5ihgMRxi2RaRibMfCjjOMDFKVEacZjmVhaZE2umDpk0Vf\n3MoDWjZfdYWum4R6FMrtiv7cgq4qx8oaxlEKpGh3wU8WzykmRBmZ6wvEtFIoC/3gBr0oS0CSEQx9\nRoMh11+5zIXzD2IvLBCbkhtPfYuFRo3UUmzvbpGkArfZ4p5HHqc3DNjoXqZZrYGRR0vEwwEzFZPU\nMSBUZBls9TtYjmQpC6j4I2Y8l7nZJh4GV7++w9bmCr7n4c4v5NZWFHJldZWlM2f5xosvYHkO3ZVN\n7lta5Nr+Pt945pv84i99iFSAYZkkKsFyHRaPH+cNb30LX3/ya/hhjNGqofyAiuFiWyZbvT3OVAxU\nFDG8sYHXahJVPAzf5+IzzxIOfawgZtatYNYtAkOQDSOWZucYqJTFqkN3d5cfe9e7+bXf/y3WXrnO\nj7z97SwtLJGEQ7IkxlDk574KhTIOxiQdj1dRypvndDkrFHCZIpumNPUIrElwMM7Vk6bphLU3DY3r\nMuW67uEcKhSuDvZ0sFhspik+09tb5sClnGQE9EiR8vvWavUJGlEHpsXv4t19fzhh6ephvzrdM21H\ntF5e01PpywhbVzBjFCcnXlAXjLKJZllWHk+bZSRxgiklc3NzRFHM8WMnWV4+iZQmA98n9RUrq2v5\nM4TAq7iYpkV7dvZAoBRhGLG2vk4cZ1iWQ71eoV7zECqnHvxgxP7uHsIE0zLYXt/gztNn+dD/+X/x\n93/mbyIzhZXEmKYkDiKyJMOSkkxKDCnIkpQwSyaoiXKETfFbF6JCqRUKUhcSvX/LSGVqqNiYJjws\nuqBNKvw8RaiODKZZUuOJak4o6mnc+bRSIJEidresFBIjJVQZjUadP/nEf0AFIb1+B6ESrIpLlviY\nrgFhRGpIogxmWouEymGz12PpzN2YKuXKM19n6Ic0vQqCGCkMJPkmC9dzcBo1dre32L1+i4cfeQQ7\nTXn+W09zx2ybZKFJuL/PoN/H8RyGSUDrnrM4rVm6K1sQxNQdl6xq8/TT3+Rv/uzf5uz5c0RxlOfP\nyTKwBJlKabTbRKmi1p7l3uU5NldXEJ0hIhXEUciffeHzvPPRt+IlGb1ba1wKeswEJjVD8sYnHufG\nU8/ihxGdqEfgmjjKYPXWCrEJsSmRWR4C+ANveQf7gw4f++xn+Uvv/mGarosZCiyVIVVGojISkQJ5\nSuKyT+p2McnTwFd5nMcAJD0c2/I9hczpqSPCMDxUqMWu7UJP6M/TwUPZQalbbzk1MZ5fOl2jz69x\njHZ84JPhgKceI/3xZpw83lw/51WfE3oo9Lgd42CBYu6W53J5oZpWXnMFXjSwHG0CB+byQWiOPijF\nfcUqe2g62QIpMkzHxhECpOSx1z3BZz77R5h2FSkc6pU6jUYTb97DNHOnTJIk+KMRYRSSxgmu51Cr\n1XAch16vR9rv0OvtsbOzgSlNGo0mjUaT+fk2y8cWGfkDdvZ22d/fRbkWP/7j/z1/8NnP8u4f/AEs\n04YgQCqZH8Rs5890ZJ5BT4kxeoWxZVK8mx6ZAxxmKdSR9TTztein4rMcOUzmUBlzdhx+Txe8YlKN\nS767Mr9XN5Nz9CYPInmKUuYrCyHV2zetFJsghJBYVhGiVuSOjwELw/PodwKuv3iJmu3RHXTxsoS1\nK9v4/T6VmYy6MFGWQ6PepLVwjKsrm+x2R9x/30k6W+ukwsB0PcJRiOs5qDTn7SFHU9WZFmYGS4vL\nVDK4/vzzeCik7xNkEV7Fozvssz8IiKs291x4gBvXbhKFEdHQx7QkH/vjp/g7//PPcf9DD5FRTG6V\nJ0pLEsI0xXY82osL7O3scub4CWzL5ObFSwT7IzzTxKlY7O3vEKQ9up1tVnY3iWuzpHMtdrp7tBbm\nUd19GiYYjoFIFVXPRVkWyjYI/ZCaU2E48jk+v4xZ8fjf/tkv83f/9s8wazuAwDMsiH0MQEhBmk3O\nxXLWSr0UcqMj34IKLM/nPE93Ia/yIHIkQylxEJ9dbCE3D55ZIG6wrKMKbawwJx2chYzr2TrL0VHl\nuVKmZ4UQJEmMUtHhvUVe7zHSz3d85gpa314/aSHoCenyeZlOffbkO4kJCmhaeU0plKKTyqZ9mfMs\nfk9z7hUHIwAkaR6Co9IYECjDxLZtRn5Aq71AHCrWVrdYX9nDqlg5520YWLaNYUhM08BxPTBMOv0h\nYjAiSRJsx6I9e4yKVwNg0B/gj0b0eh2KDEa2ZXLy5ClGYciw20cZFi9du87DZ89TEQaGFEhLEBuQ\nxQlWlOUozJz0ehce6HLR+0rvn2lOQh3xTpqOk/Hhep3FxCtHkuh1l/nrslJWKk9UXxT99JXiO7eL\nVCi/68FfhwtCPj5O7oCSCj9JGfQGNKszOF6F9f4eye4Oo/UNIgNWwpC2sNmveDxy9/3EqSLyI9qt\nFqu3brF2/RJmEtGYaRGLlN5wQKpGuIZFGMcsnz6FV2uwdu063/PdjxH0+1y8+BLNagXHrtKaaTBI\nI7YSHz+JuGvhbq48/zLDUUStXmd3NOKVG5f52z/3d3ngkYeI0zQ/PydfH/Iic7noD4b0hz5Lx0+y\ntb5DpVbDbTZI+gFV2yM1BBcvvcxbHniM7s4u6coGw/kMu2IyCH1OzrUwqy42Mc/evEIqJYkMyYQk\nVQIlIBiMqNWqBN0B0XDIz/703+JPP/8F3vaW76LleSgJUgnqlkMUx3nIq0ZxvBoXq/PJOgIvj31B\nQejyU65D/06RAG5sDR6N2CorZX0+lCNdxpFMkzu8y++mt83zqkfeNf/J8+6M75UH8i8nQJhOx+jP\niuOcQy+3tdwn/007MYtSNLI8ufVB1RWU/qN7h23LQWSAhgKb9Rrt2TYvXHyRk8fPcPLkCdrNOYaJ\nT7fXYXd3l7SX4jgO1WoVhaDhOCRhRBCMiKKYLBmy3+kipUGlUsFxHOyKS31mBtu28X2f4XBE4Ec4\nlsMg8Hn4oYf57d/+d8y+9/2cmZvHtgziNCHlYOOJgFiQx+Vq76t76MtOoKIfivt06kW/p4ywdbRQ\nFpL83rH5W85qWKZAytd066E8ZrpTuly/Pt7losf/FkWndcxUYNZq/Nk3P88gSpiZb2L0O/jdHvO1\nOr6ZMQgjuv0B7lyL/b099js+C8dOUavXuX7tEpYKUWlECri1JonhMuh32R6OaC8sYLoVdjd3mKk2\nac202BuOcDPobWySWBb2jkfPgZEL7YVlLj13EQuLfhhx/+Ov4+rqDf7W3/+7PPzEQ4RxenDcHnnW\nyiz/HccxzeYMl16+wtD3aaYZOzt7yH3BXXfdw0qQ0VndYDAagoJnLj7LW1/3Xezt7PDy1cu4s3Wu\n37zBprHGhfP3cKa9xNbWBpvBkFhCs1onGAUkUmA5DkESYWYms1aVrUs3eOd3fx+/+fF/zw/84Pfj\nLC3hAcPeCMeyEOYkGHg1ZaIrwjKyLcbukP7Stp4Xv3VQMV0+Jzfb6Eq5XI8QYoJu0YFKGRXr8qlb\nvJPPn3SolxeI4vm5bI757PK8KfeNaRpk2dF9EmVl/2oLJ7zGceDlBpZRWSEYOidVXC+UgW7uq0yi\n0hTSPFc0KLAs7rnvHP/xs3/M448/yubNTbY2V1GmSaPZ5OzZM1QqFYIgxPd9+v0Bo9GI0WiI47g0\nGg0cs4EAgigkDDP2dnfwfT9X5LaNNCSe61Kt1rBti4qQ9Ht9fuHn/xF/+B8+xfzb3kpFCYQh8p1+\ngU8KGKZ5iOCLPin/XR7AsiVSToRf9KEeFjVeBBXFBplJJH10g0Z5gugLqd7nR2mW6WM8jTZ5NZO8\nfGqKziW6wsbfH/CtZ16AAGYzxd7aNrU0JSWCSOE4NqEHS7NtVBzgd3YZGgYbl19iOOxQ8ySGZxD4\nIxJhI+0abl0iGjMknksvjEljhV11uLW2ys7NG4goxkYwCAakQQh2nWajxcbl68wJj0FnwMLpEwjL\nJDPgsScepeN3kaabv6+ALM1IVRGeZjIa+dy8eZNGo0maKJZPnmL1xg3C/girWmEvHGIbINKMje11\nttfXuO/kKVZ7Ozz7zW8ws7zEyYcukJkS2Rkwqyz6hsHANIijCCNVCCGJkyinB2t1TGGi0pTN6yv8\n0F/4izzz9LeoPGEx41jMz9QZjnxkyedUyNTtxrk8N3Uwplt2OuCYJm/6olG2/HIKZpywrQzkdJ+J\nfhgKTJ5cVaxDOs2it0N/tmFMymFxcIT+bgXdVw4g0Ntf9m2laXwYzligdN3iNQwD27b/282FUubA\n1aFQG+gOtGJVLHfINGWfqdyUMaRACkjJSNOQs+dPk3xmRBD3WDrWRGYtusOYMI7ZWF/Fsm0c28G2\nHRbmZzENk+FoRBAEdDv7CGFhWTbVSoVq1aNSayKFxA98up0Oo/4A301IUxNh+dimRPoJX/njL9Jq\nt3n+6iUefvB+ZBgi/AhHGAhLEKuMfMvmGBHovF1xvXyEnD6oZTQy1VFJEZFSnEQ/mU5TR8w60ija\nVO77Iib4dqilKNPoHj1M8tshunIUwWGiJOHy5Oe/Qr3a5MSF81x6+hk8YeLZBmQRca9Hrz/AWpzD\nJKPX2aVuG5jRiHB3jWC4j1l3aDabuNUKQQRpamLXmiydOUFjcZ6VK1dJ+wGVSp2Xr1xm/+Yt5iwT\nfzQgdiW1EwvsD/v0Lt/A3B+Rypi3v/P7OfnEI1ROLPKnn/00xCmZmfs5JCJnwKXEFIXfJ+P5Z5/D\ncTxs08F1XAbBiDOnz/DcV59k+fRx7HaTcG8PM01p1mpcfOUFHrr3QZYXZjlz4iTveMc7SKs2W89f\n5qWvPsfJU6doVFy6qY8hbSxp4iuFa9lgSob+CNO0EEISdYckA5+3PfR6nvzKk9zz0D2IqotXd6iG\nt08dWy7TULEuP2XeuIyGy1FohdwWCr+QnXIOIV2R6/lEivt1PaEj2yLJmt7+sZU6ibCPREBNsUb1\nNutBBsViU86hP01/FXJflv3/ZimU8g6o26V3LJP4QuTbU/OXLPjag/whhosUEsMAA4UQCalQVF2X\nxx9/hKe//iR3nb6TJIhpNI8xU69RWahiGCbD0ZDRKGBjd/dAaVq0Wi2OLy5he3WGwxH9wYCdnV0G\nwwGObVNv1LnvvgdwbIdOp8P+/h4Dv08/CKhZFo40ufOuu/itT/0uXs3jkTPnsEVKGscIKcnSLD8U\nooRKHccZ0ymaOQiTu9PK5mUR4qQjlTxGddznBac8yblNj7cuC1PxdzFWr+bYmjZZ9R1mOldYLvmE\nzhPk55bVQdTGQTL8IAy5df0Gc602Xr1GEIY0TQeRhcQAwqBeq2HOzhP4PqQZy/OL3Lp6BeX3WWh6\nKGK2N2/Rnj+OZVdxhMP88jEaxxfpxiOOnzjO/Nl7uHX5MqsrqzAc4Fomo9EIpzZDXymQBnacseTW\n+e43fjdbieLmxjp31us0nQbD/QFxM8U0Dszqgks+6I9+f8De3h793oj2zCxhOKA+36Jzc4UHH3yY\nL339y9x13znWopCkO6A77JP4ip39XZxKhb/w9u9ldm6Oq3sbrG+s05AmchTSnm3RywTxKKZhN1BS\nkZBhGCZ4BgkCz/ZwDAvPMNh45Rr/3Q/9KJ/84h8S1W1OzM9TEflBJWLcXIQ8qnSK8cp/i0MH5Rhp\nF+h5fG8ZPY9BC4eHo4A6kka6zC/rIKeM3MfAo9gBqjv7x/NHd7qapnk0YiQb6xwO86pAlqoDeQTI\n55jeNr1fxu3isB909K6DpEM2oWQZ3K68pjsxi47WUZ8ezpMromji3jxKYDI8KO84gRAJiDyENQVU\nJpDCQvnw9jd8N7/26x+l/fgcSZrS28wY9od0TB/LyfNAGIbErVZIkhRTmgSjiH5nHdNex7Jyk+b0\nyTmUmkUpxXDQZ3fj2mEbPEvRrreI45ggTjCpcP3mOt/3th9g5dY1TswfZ7ZRQZoZWZZgynwjc/E+\nh2ghO4jBPjgKC6HIVIZSr36m5PizjGIrhmnaBxx1HkFiGEfpEF1pFz9l/l2/PnYGHY180dtWVuC6\neVimfyblIg/byrIsP4kmizHlmEK7GnYxFuZox5Lg0gp3zS4iREJn2KHvG+zGgmb7BCQNNoabuJbH\nK9dXMP0eC1VFlvTZCyJCDAJSjLhDNOizO+jA17/AYPsmWcVmaFhIPGYtlzuW59gPujDTwKnMYI1a\nNGfqGG7KUmRx5YWXuKYEK1cvsfobv8cZ9xi2UUfYHZI4wsJCkVNYWZor8s7OLrdurjK/cIwwkbhe\nlfWtHnPLp0i7He5eOk223uXEqVNcvXWd4a1dDDy+cusW7//Ff4hcWuLG1gY3r1wjGUS02m2sKMXZ\nHbJspmxlCftGyOYopt2egWhEnMUYBgyiIZ5h4AeKRsPjhWee5/zJe3j26StEZ1OM422ahoXlh8g0\nyU8/sqfnQomiYGJOj8MQx0qzAFwFoJhArUIiEAihEIyVfJKNQUBhheo+Il32pHQmnK3jaJRCvosz\nOSeBig4Q9YiVQ3mVB3OK4pkwzn/Cwbw6nIHFDJiYn/rcGLdhcp+GPj+K9utU1O3KaxqFUuZTixM4\n9JwLURQdDkySTIbAjZV6cW3yYAHDMFBCYNoW8TClUqlw9epVmjNN7r77dVTcKnGS0Ol16PQ6JGlM\nmibUalVajRaWYdLr9dnv7NLt5pSKYRjUajUqFZfWTItqpYJSCt/3GQwG7Hc6+a4q12N2pkmUxOx3\nO5xYPsGXvvRl/sqPvZtREiMQec5qSx5yYGmakKnsIClOlsMRIZEIIDs4vC0vxTsmpS28yUHiLNMc\nO0XK5m2ZYyyjomL1150rZVRRfB+K5D1HF99J/n1SkZfr0ksxUU3TZH19nePHj7O5uUm73UalGXbz\nFEbtFoaf0h12GOx2WFhoYgmJbQgeufAAljfDjZub1E5WCNc6DLdXmJ+12BntEw8VaWSRmZIgVFQr\nDZq1RYzzDW5+bRevMsdgtMfsksd2b4e4tszVzoBaq4XrZLz00pPY5hJeTWIbI0Zek6gv2UlN1ndH\nPHfxG7zpr/04fmWfUQSuMkizDEMKDC28zvVcarUqe/v7LC/XkVLS8irUDZNICa6+/BILtQqzssX5\nheNsxJIbF6/znh/+ce6qz9LtDPj4v/ttzi4c4+zySaJOl9XePgt+xsnFebY3VxEVj7vuupPtW6vM\ne1ViEjJLYFomlikRaYbjePhJSmIZnD1zmpcuPs+xmdeRKMGMY2MfnGIXh+Ft5nI+X3PEmFuvejTT\neLwN0oM4e4OxE3GsByA7mOeFjphGtZVlSd+kVt4PURTdUi1z9tOsxUJ+i1OndGoop4WOHl2oh9CW\nI8CmlTJtWli34341bmulFuU1U+DlLeOQd0QYhoQHgjLNJHq1rdnF/xOOPSFQgY9Xq3L3XXdz/eYN\n7r33XjbXrpGkKQqJ63nUKi6WbZOmGaPRiE5nF4EijiNqtQqLiwtIKej3+4RhQJIkrK+t5ZysY2M7\nNkE4wvUqKARhFBDvpQRBgGXb2KaJ51T4/Je+yOsevoBhWhjShExhmBJpCCxMlMqIovCQPpCGgTqg\nFHQ0M40nE6I4DLkIcxITvGFBPd0eHYyFd1ry/7KJV14MivvL3LU+Nnp7X80pViD0Y8eOEYYhCwuL\n+KMRhmliDDYx/T08WSGOBri1Crv9PsqUODNNTt9zjtWNHR5+4kH8ZJ+b68/TnlmkH+4xiFIarosh\nHazmDLWzp+l3+3iRYOvWy3T9faqOR5o1CXZjztaWWWgsk9ab3Oz0SfoGJ+0LDFlnf7tDo91my7aJ\nnIRRMKS/ucK9dx7j0bc8iqrZmKHEzAwMebD8qvH725ZNp9Ol3V7Acx3SNMZwTPajPv2ww9nHH+La\nt75J71Yfp1WDxQbnz76RO994gd72JpdfukQ7gmo3IKl0GYqQfTWkc3WD5e4eJ04scT32uXXzMg3L\nIw58YqGIY0V2gCTDIMBzXaRpEGQJZsXl0QsP8Xsf/yQ/+M7vx3ZtBnFExTIO902Uy2g4PJijBzn8\nSRACTMMCAVmaH4uHEJhGns4hzTLiJE+YZUgtZlyIgzitvLNul3GzkMGy0tblteyQ1Hnuyc06k8cP\n6pZiOaKkTG+8Gkgpg5iyjOttLOaLDn5uR0/q5TVT4LqS1Z1UMF5VkyTBdd2J1bWsKHSTo7hefHa4\nYpoGO5tbXLhwgd/9+O/x+OOP056tUKvUiZOM/f0ewWiIIQ0s02R+dhbXtYmTkG63y95ej36/T5bl\nKH5hYYFmvUGchAR+wMbmBoNhP1d6Eiqei+N4WKZDv9fLkXm/z1x7jv6oy8rmDidPHYcswpRFlsBi\nwBSWdeD0kLlAZ4e00aTDRx/gMeWU96tpSg2Rc0TQ9b4qR7IopQ7zphz1yk/G0MIkVTJtIhX36PW8\nWikQleM4DAYDpDRI4tFBGk6ba1//PEavx+Z+gFQjnGoNMslWd4f52Xn2hnskaojjRnQGHjVPsWSa\nrI1czLm7MWLwkhSzNUPr5BleDK5hOTbnFz0qsUW6F+FUTT744+/j6vPfxDQl3/uX383Lm7vcurqG\nuR/T9uD3PvkZ9mMF3hy3br2MmQ45PjPLP/7FD5E16/S6GTXHAsZ0kzz0Nwhcx6VarTLbbqGyBMf2\nyESGY9mMTIPWsSU2b8z8v+y9aZBlV3mm+6y1533GnIeaVKVSSSpJpdKA0MUSYCxE08aAgcYNjrYb\nPETYHTg6cFzfe922L0Tfxh3hoY0d0Ya2kdtuOowbzGRjsAEjwBYYoQGVJDTVXJWV85nPnte6P9bZ\nmSezUsbhcNv88PqT0859ztl77Xd96/3e7/0QvQFRq0djdhJvusHc/gVO/9lfs/nCea48f5rb7ns1\n6Jy8SEllTj/apB67uGvg1nwOHT1MazCgsF0KpUFIhBL4rkvNq6DyHDfwCFQGjmTY6/GGH3wz/+13\nPshP/fRPUgl94jzHfZFI0veMymacGhtGgx3crpQSIQVa5UhhYUuJsC2UECM+eZsf3qJe9Lb3STmn\nxneD43Nsr4KXMl+0uzgOdppdjePK7uYrZk3ZGYSYWoerzeOEuNoKe/cx5dit8irxKxnb5XxXA/ju\nJgDlwz9usWjbNlm63YtufEUrL/S4VE5aO1dCKQSWEMRpysTEBLnWvPQld/HYo49xYH4K1/HxvSqe\nV6VWqeB5AYNhTJ4N6XTaKJ3heQ4L83N4XoBSBXEU09pcZ211Gdd1CQKf2dkZAj8gSWPiLCdTBd21\nVYqsIPBCAtenWqkQZzFRmvD4k08xMTeLW+RkeYYlwRqpRMzkMIqFclupKZAYb/Hx6GCcQxuPLspk\ny/h1hr1NomDbna0cux+Y8Sii1HyPHz9Oh42P8Ydj/H6P36O954YJD5Uy7m2249IfDKg2mnz963/D\nmTMbeMLmzAsXqPsBRAmF1Ex4LieOXc9ae9MAhBQsX7mMpfp0dB+rUsXVVRxboaM2QeDhK485v8nR\n6RovdM/jFwELEzNce2Ceb3zlcwgnI5ic4uzaCmfX1zhxzw20L7zA3OUmv/qe/8zD55/n6Y0lNjtr\nNOxJ/vWb3khYmSQRAfNVj6i9jPatrftZ7qQY2QmnsWnlV6s38YMQlWYMen36620mDy5w9PhNfPGP\nPk7ddYn1OV56zXV8+vc/wt31A1jdiMC1WRps4skKV1aWaHXWiNIO8cqAO6duZQLN6vmzePMzrPVb\neE5A6FQo0gKJwNImr5QPYxzfIk9TLK1pt/q86jX/ks996UG+/7WvoR56yGhvCiXJTMENeUbZdUaj\nKYoMlZk+kI7jYAsboTRaajQSpQVKK7I0Qwsj2dui1fTVoLx7ju2Odsfn1PjudC/A36vgZjxI3I7I\n9/Z/Kc837r8y3ox7fI7vBcS7d75btNqoEUb5vr4TiP+TFvKMc6DjnFHJUW0rHcBEqOX/7lJRbBVI\njEUIyqTPNZowCEzlk4Q3/eAP8oEPfpCX332nUZZ0I3q9der1aSQ+1bAyEmUocpXS7bWJVIrnJbiO\ng+PaTE+bJGan06bdbiGUMXP3fZ+gEiAdh9D16XX6qDwjKzLiWGP5DpOT04SNGn/00Y/x4z/8Nqws\n2Zr0Qhj/YSkFAoneusc79dDlGOfOyhu97SlztVf4XlKuvSiU8Z//Nk5w/L2MR9jlsaZYwfCiJZ2j\n9U672BebG0mSIGSB43oUStFoTPDQQ1/nzz7zWW679mW0V5fxlYsdpcT9NZQlqM8vUAw1uaoQTs3Q\nVT7B5a+QRDnrokKhLCi6aDthWCT49QbnO5tsti9xcLJGMJREhWI9WmftyYtMVD2uO3CIpAVNq8k3\n//rP+O1f/3W+7+StvGr+OIQZdii4++jNfOFzH+N1P/BWbrj9DjIPsmIDJ/PwpUUiLcTIFAllqktV\nYcz7o2jIpYsXmZ3L8D2P1IKNqEtkwalLlyiyBP/oNayfuUR8donwm09w5023krk2rXhIn5xvLZ1F\nSBiurVMUCYmI6QceV/rrHJk8QpFmPPHEE2xKcJ2AIKhhWx71+gSBF6J0QaNeZdBrURQ5GYLa5AyJ\n0ATVJp/9/Bf4odf9AEnxIhz4OE8sBLbrYtsWaZZstRdEmMja0ubZTFPjcYIY2WQIC0sopGB0fQoy\nXUbIZSRt5rUpSCufi+3GDdvRukaI7Z24mZvjc3lnIn/867hu3LzmdjXxdiBjErHj1Iv5nquei3E8\nG6dexivRx19/fFH4ro7Ad37w7e/HwaH823jJ6fgW5cWiOKG3Y1CJ0e4UronK9QAAIABJREFUeY4f\nBtiuw+233cY3HnmExYUDTDSnmZwKQVu0Wi16vR4FpvVTvVHBdhwq1WBEKZiHLh1tv+r1GjOTk4SV\nEKUU7XabtbU1BlGE1JJGrcbUpOkXaDsuvWjAIEkIwwqe6/H0s89x/eFDWMLCD32iYR9ny0SodM6Q\nIEDsWuDKa+S67hg4loBeSp92Lojj13739YTt48ttcPm78f8pf7f7f/eOjNSOKGeb31M7HqLdI8sy\nNCY3AEYvbdk2H3rg92jUmzQ9QSJSXCsHVeBWQrpJRjdVPPLUc3RyxcyBnHavz0y0wsGwgacKUqm4\nohzORSGx47HYmCIUbbxrJskP3srSk5+l4goOHV5kdn6G7nqbc6cvM2O7rD38Zd73jjeT/ZvX8ev/\n6VdYa6xy+rFnEbN3MKttLFfw6h+8n/PrbWQAOhuQqYhCTFJoUCo3c1GZQEQgCP2Afr9Ha7PD8vIy\nT546hTs7Qb/fZ7JSQ1YCMqFZPHEzi1P76Fy4TG+pzcbEBh8//QgHDu1npjJDnxzhCLqrK6g4QjoF\nvbTgS6f+hlxojs0d4nhY59nWOlWvil8JoFLh/NoVLq6uUa1WyeKEiuNwZN9+pOVx5vR5lK2xsKgG\nDc6evcRCvbHn/RokRqXi2A7CdigkaCQZAqRNqc7IVYGPNLtJ2zZ69FGXdq0K0jgxhThSmpxSlI7s\nGEwuKs+3k/Gl5rvUmBu8KEYBw/Y8L8HfAOe2jLCcs7sLbMajZiMsyHbM8/Kc5fwdpybLY/fabe6V\nq9uL694rN/i3je+KlmrjvOn4z+bv4w53Ro+5G3TKiLO8F5JdWy0pcWwbiSCJYq4/doz/9bFvccdL\nXsaVS1fw3JRapcnERJ3ZuWniKCHJEgpV0O8NiKMhlUqIbdvEcUyaJuR5Qb/XxRpxtb7vE4YB+2tV\nNIIszej3+vQHfaQlIYmNukQKBknEXbfdyV9+8fMcO3KUXBUM4xQpbWzHpshztFKgjdE+CFShUGMl\n71tSqz1Kk02UuztquNqqoLz+4/Kp8ty7cwrjC8GLAffu+1gU29TYXjz5i1MoRj2UZRnStZGWpN8f\n8spXvopTT5yinbdYilt0fIfuUNCLc7qDnMWqYiLrkHcvkRdPU4lbnJF1dLRJvbPKRhbxaDHJqcEh\n6l5IrXiM6yZXuLye8sxZj2YlY3W1TW1dsrFyDiEHTM5PIsJZHt0ALqeI/vP8u5/4PoKFF1jrnuAv\nH6rz2CMb/Owv/DLn2ysUToAqJIIQZQkKv4LSA6QwUg6zYzSf+/nnn0doOHHiBEJaVCtVukmf2uFr\n2T+7wNTCAsFEg4oX0sDlKx/7NF/81KfJ2kMaU1Pc8Zr7mDiwAFKS6JTnn3+Gz/6vP8QvMoLQZUjG\nX5/6Jr2Ly9x87Q2cnJqhnSQknRaHrzvMyZfeRldotOWiC42daWqWjxA2Aw2Zyim06RRTDX0CuXcS\nU0vf8O+xceRL0giAWq2CF4aj4EIhHRtdKNRWEFZQ5IWREUqJ69u4vm+AuFD4vr/VYmzcQ2U8dzMe\nMY/Psx3U6lhisMSdcfzYa85v8/c757d5fWPItYUvW3N676K28aT+buuL3c/Cbinjdxr/pCoUYAf3\ntJsS0NqsvNvbpe1Ibpy3LY93HGNDaomd+soizfB8D6VNaD49OcWJ227noa99nZe85C7yNCdKBqwt\nn6VareP7Ps3mJPXmxGib2yPNUvr9HlmWEYYhjYZPvVodccKKfr/P6dOXSXOF53rUGw2azSae55mK\nzm6HdneTKIqwbBfH93jlK1/Fz//ie/jP7/uPuFKAyojjCMcyulhLSNOjEIESCq22qxHLiVIa2Y/f\ncDPB8h38n9kO7qxAK6/xePedcdlhObnHndzGee1x7nBvblvsuL/l8d+JQtEmRDX2nXlmdhTY3P2y\nl3H67HkeaWc8s5ay3ovJZUCufNwgJOpGHHcV109pmvEZXL3Cp5+b5xkxw4nrX0EiYzrrSyzaEjHs\n8PQLZwhvkBybcXGjb9AKcs7kPQbuPPvqU0wmCQcXZ/nk04qH2M+vfmSNu60r/Po9Lkn9MhPBUQIl\n8ex5vvQ3z/GTP/0mrrzwHE5ekFsVOlmM7SkcrdAjLbtlWQjLtDB79LFHsW2b8+fOMT07w9raCvuv\n3U9Qc4l1BHmOTjLaSYeNvOClr7+fi+tLdNOM//s9v0jqO2y22yzOLNDNhswdOYgtNZ//wz8k6Q9J\ndIZj2Ty7dA6lcg4dOcT1x67n4vo63/7aV9nXvpHG4cM4jSZxrrCkT4EFClzLNs0dtMQWClvbDJO9\nm+zabh1Xmnli26Ylm+NYbG6u8+xzF+h2u8zOzjIx2SC0ffIiRwqNlDau52NJ4/qX5hlaF9jCxnYF\naZoTjhaAsuHveJKxbIiwW8I6DsblceXPpm3Z1UHgbvDfrXobj9bL319NZ+7dpHk8yCnfc1mktDsg\n2/1630kHLvTfNVb/BxxCCP76S3+yo2R+HADGs9d5Hu/QI4+D/G7e3HECQ3BtZbPNBXAchyRLkZaF\ntCyElBS+ywMfeoBjR4+yMDeHN0qyJHFqqskQhGGVOMsJQx/X3da6aq3Rhelrp7WhMUpuWGCZji5R\nRJylOK6DtCx838fzPIpRxDwYDFnZbNOcmWX1ymVe9fLvQecJOomwhBjJCEfbNQwoq7GsfHm9dndK\nMdeT0Y5kt3vb3i5s4xOzjDJ229TunvC76ZzyXDt14nrLm2J8kRjfAdx8+yuumh+nHnkQJYwH+zBK\nqFbq9AYplUqND33oAT5xamB4UgSOGzKMUrLBEDvpMWX3OTapOTyRMeHEbExdz7llxcV+jVYKbtHi\noJtSsSyeWdmkORVyz9SQuzjHeRwiJohoovKcBU9RwWFYOcqZ8DCbUcRNxQpvCDrU71ij2pxgWOzj\n86drPLxc5+6Td/DShZymvUZUDVkVPtoJsHWK1BqJRGgxKlyRbG62eObbzzI/v0CeG7dCJRMykREN\nEkQMvgy41GuzWaRkWcqh5hSTfojlWRTKJnArFAKqzSp+aFP1JJ//6EfYeOE5Gq5HJxowlBpsTSP0\nuPHQtRw7cISoGxHl4E/P0jx4mOriQbRXoTtIkLaN69oUcYZU4LguCZrCsbjtuoNX3a+/efws0ir1\n1SV4KaQlEKPEvAC63Q5FHjMcRszPzRD4Lpcvnsd1bALfxZKgihw1mtOBvb3o7+VtMj7n96pzGAf7\nEiuMrNbZcezuYKU8zrzWTqrWnMckoMfxyszrvaF0/BndHcS8WAQ+/qzdcsf3viil8k+axHyx6G2c\n7E+S6CoQKbcisFNymGUGeG3LMvyYtMCyEVJQq1SJ08SAtypIs4x7XvFyPvunf8pb3vhG3BE9MjFZ\np1ppkOeKaJiw0b7CxYvncF2XMAypVCo06nXCSoDvTxDHMe12m83NTWzbpl5r4Hs+9VoNbZmmD5ut\nFhcurJgiJcumUasxOz1DY2qOtV6P9c0WS0tXmJtqEgYhRZYihXnQFaALRa6LLToJxmVOe2WzDeCP\nc9rlJC9HeR7LMj37tnc8xhjf9/0xHrDYES2Plzbv1uZvbzM1lrVLRjYWlZis/d7Tz3VdkjzBti2m\npqbIc8Xi4gLDYcKRI0dwHnsBVEatEkJRULddItemm3p09DSnuoonW0OqFYvGhS9gA3GrYGBfT9fb\nR9bPuefEYRa8BU49c4n+cx3q1zV5yWuvZ+O5FZ5/7AXyxjyDa49wafM0Uxf/iDfOw6SbcfjYLbR6\nNsnmNDP+Ck7lDNdffw/Zvvt46htXuPF4wuLiZdaHisVbXs6VzR6+G5JnObrQhkaRNrZlMzMzw9zs\nPFEU4boeSmmkGiClxrJd6OZU8MmqIWu+Jnct7EGCM4zpD3rEg5yzl1Y4vXyJT3zy46hkiOdqjl+7\nn1kFlcIC26fr51xON6nEPdrP9OitrjPv1JmsTjFdm2F4cQXtNakcmKSouHhhyPmzL3DtvoP0W118\n2yOOIzpRf8/7NRikOK6LpmzqC2ElRAhBlsWkaUGtVqPecMnyIUE1x/I8sC2uvf44oe+zdPk8ly6c\nRwrFzMwM1WpIPujvKOwr6cLxuVRiQSm/Gw8AsyzbUk2NB4GDwWDX83J1FFzmlixre6eZZdko4t9u\nbDK+kNj2zsbd43x9CfLj0fteu9aSYvm7JjK/YwT+zne+k8985jPMzs5y6tQpAN7znvfwu7/7u8zM\nzADwvve9j9e+9rUA/PIv/zIPPPAAlmXxm7/5m9x///1Xv6gQPPTgp7cedsdxtsxoxlce2Nszpbw4\n41WC5QUZN5LfTl5cLVsLlctAKH7nY3+IV6tyw8Ej1JVHxQ9waxV6aYpt2VRsD8u1sV1ni3NrtVpb\n4GnbNpVKBSklaZqS5+nWexi/aUEQjBoSpMRxbN63tugN+gS+y1/91Zd4+79+C7VKiC00RZbjeT5F\nZppaeJ4PRnCzHTmMQNp2zHtjtI1VeY5EYVg5PZKwgWObyEMCQpnkrtKQFxKtc4wjQYEQymh2tSbP\nQUgHy3LRhUJmPYR00bZLYTtkSlCoHNvSWDrFtVIoEiwUWrloMBW0WiMcF8f2yJUELKR0ueGW266a\nH//9gf/K8so6nV5CXEjOXrhIrdZASFMNeOqyRa4KHN8FKekM+kaKlmtEprCVoBHW6W62SYKIvFBg\nuTiOR5GnWMWQuZpksabRnYscmnSZqFgspS0Yptx+8Ci1zhC1uokKHFa9kGFtkqBS4ZpJj0NN2NfY\npDbXp+pY2P0Gwp9kqStxmabmwyOXVljzb+LY7fdh2QP8VGFZGb1wSCx8QkLIOwiZ4ykbraBtu0jl\nUJUuWilUUWCPStJLeajCFOFYloUjQhwpQfU4/cJz/N7vfJjzp5eZmmxyy4nDdLpLOK7HU0+dJZU+\nIvQ40Kwz69g48ZBG6HPzrSepzizyxOnL2I1Z8GocOHwNN5+8njTL6HQHTM7M02l3yYqCl95+01X3\n64sPPUYYVBFCkCYpQtijkniLvMioVo1CK80zVGy6XQVBQJpl5CrD80yn92q9itYFrVab9fU16tWC\nJIlRuqBaDZBSYKFBZdiAUDkohSUlKnUQUpLnGa7vEsURnueYyk492i1jJLO+cChKNZCQ5nttFlel\nCiwBcuRmqpE7sKVMmpZe4OOjbNIwTsmMR/jl193WsSWm7XYkLMdNt73iRYH8OwL4V7/6VarVKj/y\nIz+yBeDvfe97qdVqvPvd795x7NNPP83b3/52Hn74YS5fvsx9993Hc889t2OVgpJC+dToQ+urdMjj\nJL/rurtogJ18+XiiIs/zHVnc8hjH2Qbf8tiGVyMRmr5Q/Or7f4M3v+6N+EoS2D4Zmla/R5pkpku3\nJfF9U3RR0iWe5xFFEZ1OhyzL8H2fRqNBs9lACOh0OgwGAwaDwdZiU6lUmJqa2krADKMUy7JZWV1C\nCM0z336SH3rrWxAU1MOqSWYWijRJCSsVFJq8yA3XNuKJbMs2wD7O0Qmjf9di2xpdCyjyAgFYjCIF\njdHh6gTUtkG9FIIsM4kk27KxbVOhWiiF9BxqlYDWxhqB71JkKbbropBkwkJbHjgeYbVBHJkuPYXO\nSNOEJI3IiwwhFbkqGPQ6fP89Vy/w97/p7aSZxvUr2H4dYdnEUUy/16bfa4N3iFwpbM9HC8kgjlEq\nB10Q9TqErmTfzBQL87O4ls/axiYvnLlIqiRKSNAZgVUQWikya+PlA2YmKqykNfrdgiMzNe4/pqj1\nH6PT7tGTC8zt38+kvcyRekJdeNTDeZyDbQovgaSKP1VjJU2ZFAHVYY/Lg+M8vHwTjWtDjh47jrAU\nw3iNWt2jn8UI9mPnHrZ9jsTOKLIDuAVgDdACY3ylCuxdO5xCKwqdG44MhySKCX2Ja1k89a1v8yvv\n+zWKLOfotfuYm2+wsbHB+lqHrrYYoLn7+I1kGys0bEEt8Ljp1ls5dusdNPZdwy//5gf45qlnueGG\nG9m3MM3Jk7fzsnvuJUoyXNdnMIw4ft01V92vR049y+LCPlZWVlGFNk1RtKbsuBNFA2NGpsGyXBzH\nVByHYYW1zXVsS6K0wvWMKqXc/U01PSxLMoyGPP/8s6RpwuzUhDk+TciThEatQqfdoV6rE0cxeZHi\n+t4W721ZFhpBUUa7UmAXikJptBYoUQoFSuxRIwAHUAi57VRYRuEg8P1gC6NKXErTbbp3ZwegnW3S\ngKuwa/dOepwDP3Hnq/7+FMq9997LuXPnrvr9Xif81Kc+xdve9jYcx+Gaa67h6NGjfOMb3+Duu+++\n6thya1Ru2cuVbfz845nj8nfjq+FupcS44U2Z6ByPlMuLI4QgzQsKrbFQ3Pfyl/Pss9/m3rvvYX15\nlTzO2L9vH7broKVEKU2/36ff77O+vobjuLiuOwJ108G+TCieP38eKKPukOnpcCu5E8cxFy9eoihM\ndG07Lq4DszNzrG+sMTk9x3NnznPs6BG6UYzKUvxRx6H+sI8YVWgKKXGscfmU4fnLSWFJC12okRbe\nROFaaWzH2ZEjMDGGQsjcKAPQSGEjsAiDCllqNOqCAtcRYNm0lI3IMlzfxtEJgaMYDNustGLWY5tn\nlzqcXurQGeZEUX+bX2QUgWiFkMa5zpICuBrAa/tuI4pTcm2RaPO/hRfhihC7MNWZrhfgOh65sgh9\njziJSZM+1VqNPG0xvb9BrnrYcYaKB1DECG2jhEOSQYRk6AZYwmFi4hDRVJNjQZe1QcEL588zvepz\nz+w+DnotltYiVq5s0gkaRK0Wh50N8tok0okIqlCLE1AJXkOBs4Q10ac7OEFt3xv5xtMfZ27qaeza\nfsLKtVj9NSatnK4YYktJmNfwVUqsU7wiJxUFiTXajgsXlB4FJxmMKv2sMi8iFZVGaGhGJDfcfDPf\n84qX8cW/+DyDKAbmSBNJmuZEWYxTq9Pp9bhmYZHuyiWqroPfrPO1b32TJz7+xzz6zAu0koSnXnia\nK5erHDhwiG63S7XeRAjBwsLcnhhxeP8Cg36PxdlJsjRDSuPN3et1sYVDLXDwA980P8nyrcTi+sYS\nExMTdHsdmhMNhsMI1/FI04ip6Sm6nZ6REQqbG46dIC8yLpw/B0WKY1l4bp1+pAgqMwzTFq7vYOnA\nBG0jSkpro1xzSpVKrsAydtNKG6EAQkKpXNNiKxJHY3ZsI0B2HGckJzbnHN/5w84OVOO0o6GSsi3A\nLp/bErTLBuLjVAtcbXa11/h7c+C/9Vu/xR/8wR9w55138mu/9ms0m02WlpZ2gPX+/fu5fPnynv9f\n8llldFry2OUY30aMJzVLEC+TY+M8bJmsGL8Iu6P38hy26yJzRcVyuevWkzzwxB/w7NnnuPbgYUSS\nUcQRQsKVzTUmmpOEYUC9XkMp08m83+8zHPbp9435VBiGAFiWPVKuRMRxuvVZms0mQRAwNze/9VmH\n/QHCdhkMhkzPzOP4AX/+hS9QazZZmJ2lUasy7LTxXRuVWzCWoU7TFKU1crQ1y7ekh5pCWqiRhA+r\nLJQw+lstTKHD6Cqb66QkYkRrIC2UhiiLcGyJbQuUzhC2RtoOrvIZRn1mmg2eeuwRpBQcOXojdc/l\n4x/9HBuRTawr1CcXsYM1kxDWNhIbrSR5qtDqby8THqQuw1TguD6W65oGGEVOkUU4lksYxHT76xRF\nihdM4Fg+UV5gSweJ4siR6zh37jxS5lR0yNpmi0E6MLsDy6fSqFAoje24WI7FehyzsbyBtJfZt1Dn\n4A1TLJ25zDldZXJCc2Qx5pFOxEPtAyS9SV460WbfWowb5xyen+CYFZJlXdKsiVd1cPc5DHD58pPL\nXE5sqsPHKYYtTm0sc9uJm7Fzm1qoGOgWMQ0snYO1Tk+HCOkiREaRF6iRpWuhjEGZVtrUAyBQaOJk\ngOO52LZPkhQErs07fvLfMjFV57N/8he8bPEoa+s9KvWUuNsl6Q/JOj1E3TR1mJudRynodvt8+9ln\nqFaaOGGDPFXccMONzC8sUqvWkZbFxsYm5y9cAO686n6dPf0sa2vrHD9+E0FYwfc9er0+i4uzqEKN\nFhhNlkQ4novnhsRpwszMtbTabQ7uX2QYRdSrIQhB6PhkaUIlqDIYRFSqFbI0JS9g3+JhwiCgyFIs\nBJeXLtMbpoQ1jxzTMANpfFtkoSnhT46uGcKAs5Ejm2dAaVMeb3alFloXW+ovVLYF1Nv0idgy3BoH\n2DzPtrBm/G/jNRXls7tbgDHOOuwuzPvbxt8LwH/qp36KX/qlXwLgF3/xF/nZn/1ZPvShD+157G6e\nqBzGW2Rk6jPy3RgH43GeaFzuttsbAXbqmXevbmX0XR4jhGkw2ssTXCTpIMa2Hd74xjfwmx/8AG9+\n/RvJNnscnF/EEh5Hj11LZ9O811artZVQmZyc3JI4KWVkhK1WC9f1qFSqNJtNqtUqcRwzHA5JkoSN\njY0trn9hYQHXcUiTmJnpGS4tXaE6Ocn9r30dH/noH/MT73wH0bBHxbNJs9TQIblCCqNOsSywtBhZ\n0o6igdLESgu80ozKyMgBTTKMQJj+kmaLZyIQq6iMKn9AWJJcFyAgk4okjRBC4VoOeRSDEixdusK3\nnx1y8vaX8eiTz/Bf/uNvE6Vw+NrjpEnBRNNj/eJpgskatuVgSRdL2IAE37xOmsbEecxew5Y2Fd8x\n7ee0xrMk0nMQwmOYDfBck6hN0h7RIGFiYp56ICmURbsd8eg3Hmd+fpr+oI9TsciFh9cMEFKS5QWW\nDRaCoohJowLLslFKc6p/jOTCJq84EtDcV9BJ11lCMlvELFa7XCk2+UanyccvLVBNE6wNn+vO9njT\nYs51CxpBHTms0N54kuaE5qtf/zBH7zqMlyXY6kmK4ii/8kd93vbW1zOdPod2UlqOQlsaS9sUloWT\na5xyk1QoLNsiz3Is2zYcq9KMxER4roNtCeJhTqM2RRx1KHTGG//Vm+kPNH5tGmVXCJpw0+ICeS9m\nbqJB0e2zf2aeIs4Z9iLOn7mAJwIKZXHwwBHe+kM/zB0nb+fS0hWWllapNZoIYTM7u3cELoTmtttu\nNfcXTRRHI5pEkyTRSHmlmJqdod3rs7GxyuzsLGkSMTk5QRInNJumSUq318N3PUOp4OFPhcRxbBK8\nwsZxHIbDxOCE63Hd9TehlObxU3+J75kydFtK0lwjRgGNRIM2EbWUAmlbxkgOUztiMbKdVQohjcRT\n6BKL1I7d/rbXkLsDdM3vtrXoJeUyjoG7o+ndODUO3rsD0Bcbfy8An52d3fr+x3/8x/mBH/gBAPbt\n28fFixe3/nbp0iX27du35zk+8tFPb4HfbSdv5uSJm3YoHsazsqWYv/yge203ygtWVmeVzY7HL2h5\nI+I4RvgWtnCwCgNyi3NzvOGNb+DZZ5/lda+4j6TbJ8tSNpcu4VshnuMjtAalyfOMIsuJhxFBEOB5\nLo1anUatRpxkDAdDeklClpiV1paSxuQUs9MzdDodoigiS1LyJCHPc1qbmzQaDdqjKtAbbryJZ557\njhM33UCSJ7iBh8oKPMsxyS1lnvCtRUtKUOBYDshRkUOWmgKirUmgqYQBWZ6iioKiMP7iKImjA6Nw\nsQuEhSmnthTCttlopfT7EROTs4R+HStNWNx/Hd/6ytf5zH/9CPWZfSzcfC8SSTboY9GhIgbUZmw2\nkFvGXEIq8rygQGG5DtKViGzvxd2xjDc7crvoIc9TLJFTDR36qUXgWORJxHDQplUMENLBdQKqnqCx\nbz+vefVr+NKXHmRDu0iZkSYxlgZHgixA5RlSCxzLQ2egsdishZxOh9QuLnP3URfdyXnykuD41E3s\ntzZ5pbeErvb4mnMbT2WLuM4+is4Z1hp99vWGSNFimBU4NZvnnn2QRnUStdEgyersO7DBiabiyf71\n/MFXz/OON8xTT0/j6RZ5JqnaNoW6RJT6CG+aaq1BkiRoraAAjUBYpuBFa8Pa2lJRJBm+DEmjlCLX\nKCEohOQn3/UzfOmLX6edpORqSJ4NmPMCkmGXqme8Zabm52l1h2xuDvi+V72Wky+9h6A6AUJy5sxF\nojihUqsSxyYB+CJmhCwu7idJcvwwJFMK4/Oi6Q07eI4LlkUSZRQ5eK7PxIRNnpucy7A/NAn+kdVF\nrVLFsR2yPIdc41gCr1ZBVwKGcbJFkeZ5Tn84pD8cgoDDR25BCuj3e7Q3N1FFSrNWo8gTUMa2WakC\nKTRxprBtwyYWuUIr0+xCCNNkZZtGUQjr6u5QIHYEhCUWlZWYZbBZ5vZ2q0nGi3l2A7ZlWTz8zcd5\n+JHH/04qlL8XgF+5coWFhQUAPvGJT3DLLbcA8PrXv563v/3tvPvd7+by5cs8//zz3HXXXXue4yfe\n+cNbIvxxW8fdssISvMeTBWVknmUZruti2zbr6+vMzMwwGAwo5XAbGxtIKXFdl6Iotnhr27Y5d/o0\n0/UJpoI6QRiQ5AW3HL+RtSvLPPzoNzm0sI96o8HM5BSdzQHGIcLc2GpY2WpuPBgM6Ha6pGk6aoxc\noz43ZzTfRcFg0CeOEy5euECtVsVxXGZnZkz0nqVcWb5CkWcMkphCaYJahUpY4clTT7I4N8P+xTmG\naYxKUuq+TRIno8SumSRZlmG5FrZlb634JtFqqKnBYLCVCDYPvsR1HbSALM/xXA+RCbQFgyTGciy6\nyYBnXjiLEj6FChgO4OzlTfq9S9SciHaccXG1z/zBm8ENIc1JBx1cz8NKLFaXLzBVr9CYDFFk5LnG\nsUOUdEgLQZxotOUhqew5N2qNOoWCtDBUGdLBESFkGuFYNNwqi/MBjYk6QmRsttbY2Nyg3enR2uxD\n4fPM00+AKnC0IIpzfGlT5BlaFWSFSXarQpNnGsvxEBr8fJ3USTkV9XHOR9w2N0lYd7i00sUlZX/Q\n5c5QkTUvcTw6T3PqGEVrinOxxfKShxqm3H7UZ7pX48KZs0yzQaN/AEtOYA/Xud6NeP3hOT6z8VLe\n/8cv8NNvuYbZaIUZO0DpIZGs88WHvsmDX/461WqFEydu4fjx4xxpNxd0AAAgAElEQVQ8eAilCrI8\n37F7SvpDZqan2dyIAJPUrTaafOWv/ppPfuo3+P7vfwu5lGjL5+LyWbLAY7LeYJDaVCpVvvbkUxy+\n4SZ+9Kd/hrvu/V7OXlghzQAN7XaLW07czMrqBvV6nbxI2NjY3BsQpEVzaoJ2t0cQhihl/PFdP6Tf\n79Oo16l7Ia1WF68SEIY1Xnj+Ba677ghrK+vYwsb3fdMIJUpQTkFYqZCqIb4nSZKMOI6xhY3nuwS+\nyyCKTWTOqCIzk0jHYWqixqF9R7h48Rznz5+mWQupVF2UTk3wYEtsvK2dcBAEZGlqKEfMomL66Y50\n7SOKcrzXJugdlZglVgmxkyUYx63duvVS3lhy4uUioJTijttPcNvJm7ew7r996MMvisXfUYXytre9\njS9/+cusr68zNzfHe9/7Xh588EEef/xxhBAcPnyYD37wg8zNme3V+973Ph544AFs2+b9738/r3nN\na65+USH46hc/sWP1Gv+A46vR7t+XQFSC/9YcGq3MJRVT/t1xnK2ou5QBFUVBogvqQQU5ahKRS8ht\nwcraOn/+Z5/jFffcy0SjwWA4xHWqqIId9E0Z/Y83Jh0X6Zf6VM/zEEJsVWSWyQwA27JQWuF4Hpbt\nMExikiyj0+sgpeDJJ0/x6vteZWRYhjPAdV3S1HzNixzbdsiLHCHl1muVn911TTcex3FI01ESxZJb\njSEKrcjTnEEvIqgFxHlKJjSV5iTCDvnkJ/+CXg+SoU2aWLhegHa6JHnBvgOHWdvoUKnVSZIUoXNC\nF1TaJ416JFEPlQ1J4oxqtW4iZK+C7dbADshwiVPJh/7jW66aH2/9vx4gjlMsNyBXxscmT2OKZECR\nx9ixxzDqURQDlBqQ5V2SpIfnuawsr+J7VYSwsS2PNJWmmcJoe2uoIgHCJleghYV0PLJMESqbxFXY\ndsREtsFtswGHmjDhDqkNlpHtZbTrMZya57q0S5c5Loj9PN2r8tBSRlRJubY+4Ia8YJ/bQeVnmAjn\nedP33UowlTOoRgj3GP/zayf4kyvHYKLNZPItDlltAseiOXGczupprlx6CiEFU9PTZrenCpIkMSqn\nRpMw8AmDgGbVo1GtcvjwMf7m4Ue4cPkip556go12m9XVNidO3MbS0mWUTnFlTMVVxIOIyeYkhYLa\nxDTv/Kl/R1CfJKxNobEI/IDNtRZVPyQvFK7nkSQJ0pY0G1XmpqtX3a/BMGZ9s0290WCz3aFab5jn\nQGiiQYTvulgjIHRHQU8YBCiVkWXm+Qt8j8FgyPz8DCvL67TbG2T5kLASMjU5Y6S6QmBZDkmWIaVA\nC0maZUhpkcQFcRRhSUmeZdQbIaoo6LTX6HTXSJMBQeiQ5wkqN1WQrmMbya0QFCMFm9wq0imfkTE1\ny9ZuvrSr2K5INrm8qxUlu6mQEqfGaeDxgHV3ZC/E317I809YifmpqwC4jKx3C9/HNdzlBy7BCaBS\nqXDq1CluvfVW4jjeKrtVSpmGCiM6Zfz/4yxFCkmRmXJj27axfR/hu6y1NvmfH/4w7/zhH6G/2SYr\nDOhNThjjKjA35NKlS1srqIm+KzQaZvKurq7S6XRI05QkSajVaqNOPqGJllWx9f6zLDNbLt/B932Q\nkpXVVTr9Pi+cPs2b3/qv8AERR2ZRsm3SosD1XKQl6Q0GNJpNkhElYzsuaVqYqCZNcUZt1WzbRdoW\nly4v0e6ZDL/SMLN4AJAsb6yz0e7z9LefY6PVp9OOmJ87QJFAGFRRSFqqhxSSWlij4lcY9vsErkea\nphQ6Q0lFksZE8RCvdYn+oIdlKYbDPtISpHlGc2qWiZl53LDBf/mFf3/V/PjR//d/oAuN41dQ0iUf\nReJpGpOlKVk7B50hdMpwuEEStdA6YjDo4I6q92q1Ov1hhO530UJiOw694RAtLWbmFrG9gM12lzjJ\niOOMQoN2lFGtDBMsKXCsgn1Bxu1TihsmUlzRYThM6XRy2s4kDb+B7dRpWwe4qOY4E/V47sK3qccW\n9x+yuY5HuHmfi7f/di4t3MTG1DH8zOLYgZP82kfPst64iTh5Bnv1G8ilS9w4XaXfPw9WQV4U1Bp1\n0JrecGi6RDWMmVS/2yNNEjxbIChIsoSsUFQqDdY3WsRxjO952LYgzzIsYZOrIV4oGPT6xFHCz//8\nf2BpdZ3Pf/nL/J//z39gZbXF0SPH0LnClZrAD7iyvEatVmN1fY1ms0E1rHFgceKq+9XrDRlECVoI\nXM8jKxT9/sBUH9sWvU6HwPOphAFpnhMEAcPhkPX1NQ7s3z9SKBV8/BN/zJ//+Z/TbDRobbbAylhe\nXqbIco4cuZbXv/4NvPrVr6ZSraKUYrPdodmcIM1zHGmkrloZEIyTGCk1jiMR0jQ3f+TRh1lYmMWz\nXXRREEVDGtUK3U4bxx5Rq6Mq2S09trXbZ99GStPCcRxPjIBib6zLsmyLaSiVcbstKUosHC+xL1/3\nuxLAv/6VP92RuCw/SFk2W0bR4zx3OcZlg+X5yhWy1GSD0Vr6vr8FbKWGO0kSyBXKkhRa4douKslM\nFO3ZDKTi81/4PIGS3LB4iKAxieVuNxouvQw8z9vaIZQ3Ic8zPM/HsuRIVmT4XFPkkzMYDLY+l5AW\ntuOY1lZoitwcgxBkQD9KubC0RLvb575X3Mu+ySa2Y5NluXFx05oCZfS2loUSRnvb7nRJE0WeZkxM\nTrK2sk4QVBBCUqnVaHf7SMfG8wOGSc7Sesr5C5fZbPfJC9BK4NgWybBLNGhRZH1mp+pESURWmcGW\nDhWvhmcF5ImmyBXSdhC2oD3o4QSOKZoYtEiTPmtrl7FECmRkWWyUjNKhMTnHh3/jP101P971//0+\nWZqRZJpU2+TaIi00WT6SZgnFsN9Hao2lc4o0QegMSYHnWjSaNeJ4QJLG2GlOlCQkWYYb+ITVGlpr\nBsMIhMR3XVRuLHw3ig51LQiQDAvNem/IhLRpDNvMhQW57oHUdDe7fLlf5ea5kJMzVVrtmCvrA1ba\nPfpugKw43FTTHLEHTDUDujOHeHQpZC2/ESU0jeoKr/y+7+ehx1OoBiw2Mpa/+TmayeMoLJRs0O31\njLEZJliJ4wjbspACLGlhjSqK+8MOw7jDkSPXEHgN0gjyNEMXAyqBxMKiSCRBrUI7avP+9/8GT37r\nCY7ffDOpKnArAb/zwAPceP2N3HzjTcxPzdDp9ehFA4IgJI4T/CAwBWqWzTX7F666X6319qiwyifX\nxpd/MDSePnmS41oWqjDPTKYUzWadTqeD5/nkWcrTTz/FU089hevYVMIQ0LieQ5RExMOI1dVVLl+4\nyObmJiCZmJjgdW94Pfe/5jVko2dRFcYyViuBZVtEkdmFDuMIz3fRwhQQXb58kWzYQeUZQeCh8wzf\nsRkMe8ZNUZjyf2MkZ2jGcXwqwVUpdkTL5ncG5McLc4AtLBtvSF5SOLtL6seZhPL470oAf/Trf3FV\ncmB3tna8gmlcDjhuIVmCYbmilUBedmUHtgyoisJsRS3LwtEWhSXIJfiOi5UWCASRUAxc2Gi3+Njv\n/Q/e9Mr7mZjfj1epbC0u7XabOI5JkgTHcbZK7MMwRGtFHEdsbGxsUS5ltWbZXcgkp0yFZBQleJ6N\nZxs7xaLISfOCtXYLy6uiLYezFy6zduUib3ndv6Db7TI5PTUqXQbpWPQGA+I05fyF87TaLVZW1ul1\nE6SQvOb+f8HMzBxFoanXGrQ6XYZRghMEnDl3jjMXlunl0xQFeG6VNFUmMaIifCdDZatE0RJCdYjj\nAZv5DNOTcwgdMDd5gDQRuF6F/jAmzhP8qk+UDul0u7iOy+zMBJYsCD1BGg3QqqBem6QoHDQBv/Dj\n/8c/8uz75/EPPbobLbywwjCOsRyXKDHJRjR4to3QkMYRvuehHZulpcssLMyT5wWPP/YIL7zwPNdc\nc4hatYIQgnrdqLcsx0EXim6nw9nTZ7h4/pIxhut1OXvuHPe8/F5+5Ed/lNm5WYRWoyplmyLXSMsC\nAXkBaaZwPcjygjjJqNgJly5fZGN1mUa1Aio3ctmiQAiTMNaY/pxK7bR4Nc+zQ5nI3OnNst0Ba7cM\ncFwiPS4T3M2T27a9RYGWC8PJu+777gPwshJzvLQUtm1mhRBb/PK41Kb8fhzQt4t37B0fdPycJUdd\n/uxjo4BCQi41uSrIsgTXcigKhVcJ+eNPfAKkzT13vRxdKPq9Np5r4djQqFcBjZaCKM6Ik4zBMEbl\nCYHvYdsOjusRRTGN5iRxktHt9bFt1yQ6bAdVFKgiR6NNtOg6ZCOje601aRYTegF+EHBlZYO/+NJX\n+DdvfzvdToc777wDlRWkWU6Wa+Ik4/NffJDG5DR33vlSqvVpfvt3PoAX2tx+8mZeeuJmVs9dZH56\nnn4qyStNHnzsaTYGEUWeoFSOQOG5NlmaYgtJkWmEkqSJxpYu3fYmRXqWrMiYXzyAHzbICheVBxSF\nxLYkUdzCshKybMAtR28ky3Pj86EVrXYXaTnkSpGmOcM44f0//7Z/jCn3z+N/41hdXqVarzGMEuI4\nxQ8rpGlq+pdueYlk1MIKnU6bMAiRQrB8ZYmvfvUr3HTzcYMDtm2cGpFYjgOp4aXLPE673ebMmTOs\nrKzQ7XZ57LHHeO1rX8uP/diP4freVrC3vWs3GtpxmgNgmGb4vstgMGBzfYVo2DM7BKkN7ZQaCs14\nuG8nJIdxTBhWKEZywy3wlUY+KbXaEVWP+xWVu/ftaHzbMGs8yan11dz47Xff/6IA/k9mZlUmF8uL\nWq5m42BueFt7C3zHk55lZDteBWWkSdsJhPGSe9ipSU/SFKREOMYhzpYWtucjtUBK0xHke7/3e/nd\n//773HnLHXi2Sxj4RNGALFVcubKM7dh4QUC12kBj4fsh6NDcIOnRag8IKlXa3ciU60qPVqdPnBiT\nnSTOsKULAsJKQBT3Udps5x3Lot+PiKNNmo0GJ26/jZd8z6v45Cc+TjIc4vkhgedz4sQJNJK1tQ3u\nvfderrv+GGvrLWzHwvN8htGALz34FS6fPksoJC//ngZ20ODyyjJZGmGhyApo1CdIkog0jakENZIk\nxXJACguFKat3Qg9XNghkwfLyFe64Y4HBMCeOhyRDhe+ESC2p1yZoNPaTpbGhnKRJ+qgiJQg84t4Q\nKSX7Fmex7YI8/7t5H//z+O4bnqeRts1wGDGMUgqlafoejLx0ev0evufhuh6DOCIIKihVoAV84Qtf\n4PhNx7eBUG33oNTK1DyMg16j0eDEiRMsLy+zsbGBUorHHnuMD3zgA/zMv38XWu9s+GAM3eSIm5Zb\nLc+EbZEXBYHncc2hQ8TxgNWVFQaDDkWaEXgBg34Px3WwLGOU5fkePtvvpxQjKD1WKV5kVzVK3q04\n2V5g1JZiBbblicmYZe84Fr7Y+CcD8PHVp/T5HY+Uy5+T0XZsnNQfB3vYplxc13DfuzO746532zJE\no9zQmK7ZpvxdYEubLDM0y/TsLKkqUKkx1LFtm1qthuO6zB88TJpmtNod1ja7lA5lth1QKM2ly+fx\nfB/YxPWMMb3tetiOgxQuUV7gh9NoZVHkBcNUkmsL17WRQjAYDqg39jM763L9saOstTfZd3iaYzec\n4OL58zz45YeYmpjkkUdP8Y53/FvW1zep1uusLq/ieiFFoTh58iSnnn4SUW9wfmkFNRgShk0OHDnK\npZV1hr0+fm2C0J9kY2MDz3eYnd5Hu72BEDaO61IUOXExNABsaxqNOfJigCLj1Le+zuFrDjPTbKKr\nhp913cmthdUOHYR0ieIE23EIQ5s8H1Kv+kjbpt1a5eB1K5z59uI/5tT75/EPOO5+aURrs0uSZdQb\nTebmJ1nf7GA7DkkcmboMx8b3PaJIsbnRYqLR5OlvP8nJkyeND3iajjxLQCq5VaiENoqqeqPBoN/f\n2o0fPHiQiVEh3TPPPMPq6irvete7+Lmf+zkOHDhAkiQmmDInGalKxlsySjzHppCm5iHwKxw8dIhT\nTzwxWgBSvLBizOeyDA0Mh5GhLUcLhO+NkpHFqOkMwIhqGad8yyCyrDgvy+a13pnrK/HMtp0d+PW/\nRQf+DzHGtzolX12CbXkRSqJ/fJQ8Eewsty+N0mGbVhnP5o4DupSm36QS2yJ7C7CUKYcNfZ9BluLY\nDjNz/z97b/pj23rfeX2eNY97qrnOqTPd0fa1EzvBnSidxIljkk7UWCIMUpQWaTG0aBDiBf8BEuEV\nvIBIiEbdDa10WtA0NCAgTQTE7fgm7vg2iXPtO557xhr3vObhWQ8vnrV31T2xnRcI3SCxpKtTZ1fd\nOlV7r/17fr/v7zvsk6Qrju+/zDJJUcqgqGCaLGiloqo7Uk3DRUrIqlxjbuEetuOQ5TnTacruZJe0\nqpB51UNDJmVd00lD+6RkGbdv38Z1baLAJ/A8XRAti+Fkh9qweXI6Y7EqGU4OOe4M2roiz1P+u3/4\nP/HDn/shQt/HcV3SrKBRknv37jFfp1zOrhhOLFI15Q//+Nt0jsd0tWZ/74CsruiUiSM6XNOiLkrq\nSofSNrKiKDK9BFIdKIMia1GdSRDE2GbF1flHFKsA34n41Gs/hFQWdSkxLAvDBtlJrarsOnzHxPUD\n0jQD1fHy/RP+2r/7Pn/rPzX54J1d2ub/78T/v3LZdseP/XjJv//rV3hhTGw7XE1nTFdrqqrC9z2O\nj4/IsoR0Nif3PfI852BHW8XatsN6ucC0tF/4JgpNKbVN1DJtBwxBkiYf8wMvqhLLtji+fYs0z3j4\n8CFy1fLWP/0WR0eH/ftL3qgd4mN/qq6vNabV148O2Sg++7nPkSRrzs/PWSzmeL6PZwHtNQ5u9HBJ\n3XfK2r5Cq5s7wcd2b99LRXldu6478pswyvcLOfl+1ydWwOHjy8qbf79J2blp2HRT1XSzSG+Wl/Dx\n7wd/OhFjexo69vZjIcDoOoRUuLZLnhcoy2K6mOOFIZeXlxRJhhvEGG7E1TKlUSZ5UWHYNiYC13FZ\nLddUjcn+wTHzxYJQmISDfU7uvc58tcTsOoqiIE1TzQ33TPzYZzgcYhiGDklOGpaeTZGk2Jbg5PiY\nR08/ZP/wmOHuIeusJl2vmIxHTJNzFDaz2YrHT59y59YtVssFh8cnxMOIi0dPqKoG1ZnklaTqDF56\n7XUuZlfs7h/y9PljgiBCUrA3HrNapbiOReTaNJ3C9VyKImMQx6ySJVVV43kRdV6S5g2u4WCqlmSx\nRPmSIl2glE0YjxHCohMKpMR2LJI0RzY1rTDwbIu26zh9/gTf9/k3/70/YLqcowTs792iayXzi0tO\nDnawDMlkNGC5XpIUOfFwRJkucGwXIQyOjo6J4wFvv/0dHMflg/c/xHFcxuMJo9GQ4c5wa5y2Ws9Z\nzBacnZ0CguFwRKe0eq8sKnBjLTqJIrI0QQgos4zLyysO949ompY0TSnyir1b2lVyMBjRSYmJyWQy\noaq1P/x0MeXOyW2enz7DNofITrvsJXmO57vUTa3tgA3wPA/HsXBcB6RgvVxx9vwpgo7jg33i2Gc8\nHjKdTWlly2R3l2fPn3Gwu4/nOgyjkNCzEUpSFikffvAhn/3cZzk7vyQajtk7OgQs3n33Qy1IQZEk\nCWWe8fnPf457d+7y+PFHuI5DJ1uEsCirrg9paDk9PeVv/5d/i7/+b/11mqblJ37iLzK9muGHEb7v\nc3Y2ZZWsObp1TL7K2T/Yo1Md7773Hm3b0NQ1O+MRL7/8gNnFjO9+97vEYUhiroANBU8zO1TXYeoE\nZNpaN3BhGNI0miW2sWW2bZskSdjf32e5XNK0Bd/85h8wGg35mS/9DEmaEIWDzbu+L9TXjoRStpim\nhWmYgAmWIEnXxIMxUTyiKEreffcdOlOHNLuuS5kXGJZFW9e926LG2IXQQRamZX8M1oWbE7/c7rY2\nWZsbVtzGC0oz666DY3TGQfMDa+gntsT8+v/+329pMpvRYvP3zS/7vTCgm9vZm74neumpFYqbF+om\n9PIij1z18ImSHaZQWH3YqmwVhuOQdy1GHPA3/qu/w77lEvsBlhuRlBLhhGR1R92CZbv4ro9pClQn\nEcKnaTT2tlguiKJo+3M6rtMbE4Hb83SFJbbcdddxicKA5WKO6lpsA24dHXBy+xaGHbBYV7z33nvE\ncYTneSznVxR5ilCSQRhwsDvhjTc+zTpNKaXgm9/6Y9Z5jTJsnQKjWibDEN93qKsCqVTvkWzw7Nk5\nUTRh/+A2j56eUbeKSnaEcQgm2l/Z82kaUG1JYCocVdPmK8yuosgS3vjMG3h+SKu0UdRG7FAUJaIP\na7YchywraGXLYDBivV5RlhWmp2g7QVk2WIbNOIoJbJNR5CJoyfMU1/fJ64oyX2MIk/F4zHy+IElS\nhoMRZVkTx7pgLxZLPM8jrxe4rkNRZIyGQ4IwpGlrlBKUZUWaZAReQF4UJKU2MNJ+ORa2ZfUjsiJP\nC/KsYDyZ4FguwqzJspRWdliGXliXZYXr6l1J3ZYURUbbNpjCJctKgijEtG3qVqKE2dPdKhzHpa5q\n6rrRghPfZWc8xnNsZKO/Z7eZLg1Bsk6xHFsLsdqaYeRT5gm2ANc1CXp3TMN2ePL8nHg05uJiTlE1\n7Iwn+IFHHEW4jkNTlfi+y2Q0vo4vVIKmAdu2SLOE3/7t/xWpJL/6q7/Kk6fPCCMNIyZJyng0xlCC\npm017VFJ6qZmNBoyGg2gUwgkZVEyn8/xHZ9Pvf4Kb7/9J+TZGsc26bp2W/iEcc2zNi0TKTveeee7\nZFmOlJIHDx7w4MF9LR7rbZQvLy/51lvf5OrqildffZVf+ZVfYW93T99/4uMTvEZT+lqwSbTvG0eB\n0L7ghu6Mq6pidvGY9XqN73o0Tak1GGWJZRjYpqF9xjvNNy+a9k81pRsMfFOjrqMkP258tbnq+lo4\ntKld/4/sZP/fujY/5KZQ39wSb37RzTLgpiXsJilj89iLtJ1Np775XhuRzTVfs8eleu9rSXOjSxc4\nnguGSWA7NKbN2dkpRy+9juH6NEogTC1+UQrG4zFKaJvYqpF0UmKbBkEQYZkGYXBI1IsO1qnO1Szy\nlMFgSLJeMp6MQUHgBWRZTicV56eXOI6Fa7kYQrG3e4BsIUkWXM5WjEdDhqMxeZ5j2j7Ht3aYTS+4\nuJiyWiz57Gc+S1lWJEWJKeAnf+InePz0jOl8ThSFZMmc86tzdsZjmrrEEB3YLbGn2Bt71Pmc0AHa\nljAMyPKcyd4unuUwm00JRgMG413W0znrtWQU7DC7eAbKAmHTdBLZtXS0yMYiSRKCICDL11rNapla\nGWlapKsVjuNgGiZSpdiWgWFrmffB7g5tnlKVJbPpKY5j06mOIA65ffQKs9mMuq77N4fB+cU5lqlx\nyf39Q27dOiYMQsoq1rJuw2Q2nXP6/GwbwBFHQ+6e3GW5WOG7AsMyWMz16LxezvF9H3qRieM4tI3B\n/PKcyWTC4eGIg50hYRRTly1SKR4/fkyerSjzNXWZEYQerik4ub3P1XTKYrkkTSTKMAijGNE5DCOf\ntmxZrtYcHx2D8DFNRVNnLJIS17JBujiWToQyTRvfCnFdH+FALXPWiwW+71OmCWm6ZqamdApmizX3\nXnqZt99+m1u37+E4Pq1saBqTq6spR4cHBH6AZRm8/fbb3Lt3Fyk7sjRHKYMg9Knrmm9/+4/5F//l\nf4nT01OiOMYwTJK1tu5N05y6rAmjgIvpJVVdcXJyC8uyePbsGbs7uzx/9oyjgwNeeukVnj15xkeP\nnnL3zm0eP35EkSf9crFvrDrtmWPbDsvViq9//etMp1OEEMznc976p2/x+uuv89WvfpW2bbXdbRyz\ns7NDVVX8/u//Pj/5F3+SKIrw3ACpbriR8vFiKeiteW88bKBTsAzDxPcDjo5PiOKEJ0+eYAiFaeim\nzaCjVR0KgeNqHvpNseCmYAshtolXm45aK7OdGzs92TeeYmvs96JV7fe7PrEO/Jtf/58Btlvd79VR\n32SowMdjkTbQyWYbvPEFuUnJ2fxbN8VAAu2nLVupKUsCEAJbmNqKtenwwpCsaagNwX/4H/9H/MJP\n/SyOZeM4PnnZMl2scL2YVgnCaIBC4PsBUilEJ0jXST8q9QrE3nPB9/1e3m9RlAWGsFgnGZ4bkOYF\ngR/oF61TdG3F3Tsn7O2MWa3m7O7v00hJ3Ui8IODZ2QVV3ZAmCaLTUnPXNmnKnMnOiAevvcR77z9i\nMDygbiArS4QBbVsxHsXM5jNMBIPIp0jPSdOC1Spjscq5dfs+QTxhvlzjuD4Ii1WSsrM7YV3NSVcZ\nA3dE5ITIquRgd4hjddhOR56vCWJfm261lqZcCcF6vWZ3d4/1eo1hmHqM7XRYhR6JayzHw/MjfUC2\nksizaaqCySiilZJaSh3ukGd9d9IRhhFNoy0FBAadlLSNJMsy6qZhEIa0ssX13O2bWat4W/K8RGCQ\n5wWWaWPYgla2TGdX7O3v8eTJY/b29ljM5+zvawXfZLJLVZSk6xmy0wHWSZ5hWTbj8bjHXzsc26Ku\nSm2utFxQViV7h4eMdnYpywbDdFgu1ygJ06s54+GY8WCE5UmE0WGZxjbJvm072rrTfOpakqUFRVER\njgOCgUvXtlimANUhmwbZNtSNNnvqOs24enZ6xk/+1JeYzWf4rsf+/h6mYVJkGZ7nMhoOWa9XPZxh\nYtsOoHjrrbd4++0/4ctf+TKDgT6wiqLEsnUHHkcRg3jI1XSKH/h0SNbrFb7v4tq62To5vsV8Pqdt\nWqRUXF6ecffkmPVqhm1B110TEqTUQQvCMPmDf/JNLi8vt51okiQIISiKgq985Su8/vrrW0ji2bPH\nPHz4IY8fP8F1PX79P/h1BoMNhLLpuHVxNV/oyjef+16X7Om16/Wa+WxKXZXaCE30oj3HputtZDXy\nc82CeZERt4l905/7+JLymnknP1bfDMPg0z/8U3/+OvCPm8Po68VffMMBvZnCDn/6Sbop7tlcNyGT\nzeYX2LJORKdxK4RWNLY6eAzT0eo3EHzrD7/F/s4+whBUZSoDgLoAACAASURBVIkA7t66xe3DPYQw\nmC9WZEVKUdVk9ZpOKXzHYxy7uI6jfUramCRZk6QpZZpub0jf8wijEXePD7Fsj/U6o6wq6roFoSia\ninff/mPSW0d4rk3mmlzNpihhMhjt0tQlaVZgmBbCMDGVwjQE0WSPh4/ep1YFYTjG6BqKdUbdtARx\nSIvi7OKCKIyQjeT09IrABt8f4PlDOi7puprZ7IzRWBcbz3exrBjL6IithqOTQ0Tn4lk+lhhQVwlN\n19AUDU1TU5caeqibUpt8eS6mZbBaL7bUUFNZvV+LhWObjKMQw3axXR/X98jShNnVOYMw4NnZc8Iw\nwnQChIAgiFktV6Rpgup0Zxb4PoZhEoUhnusS+hMMQ5BnDXWVcnp6yWRnTBTHOkFIVdw+OaAuW9I0\n5/GjRwSBSVGWvP7qq7z/wfv4nkuRJyjVMoxDsjTj4vw5cRhy6/iEoiypmppWdRRVyTpdkWcZtq0z\nL3dGEwI/Yp3kKEPy7Pk5Hzx8wmK1oq4bgiBkZ7zDOB7Rlmsax2C9TjAsgR8EeK67XXJNJntkaY5r\nGARBQFGUOL7NKl0AglJAmmTUdYXv+xzu7+EFNYYBH330kFtHh7RVTuS7CAFNVWIHAfEgwnVcsrzA\nNG0mkyGr1ZI8T2nbmvfe+y6DQcQgjvFcm6rMEQgc02R3PCbPC54+eYIX+iwWU+I4xLZMBFBVFTvj\nMY8+eqy9khzBfLEgjgdUtWZ6tV0NSmIoXby1bazN5cVFf5+GlFVFkWUc37rFk6dPMUyTd957j1de\nfVVP4VLieX6fYq93Vk3bUjebhK4/XShfvATfm/EhMJEdjEa7uK6H6louLy+oygLXsvTh47rUZYUp\nrhvGm3GPW6JEz7bTj10n8lzv4sQWLXixef1+1ycaarz5cwODbIr1i8Yv13aN19RDz/O2H2+cCTde\n3ZsnZXN9r4gj0UgwDKTQ2ZJ9RKRms1QVfjDgza//Hp//4l9gdzJB0JGt1jT5gjgIUVJyshvQSB/T\n88GwqWVLkVfUVUXbZghpYwGTgcv92/uYlkVd39suZharBZeXU/JU+3F4XsjR3kQ/D2LAzu6Ipioo\ny5yuWRM6BrYfIJWGYqJoQNv0eL8Q2JbBcrXE9wPmiynJKmV3fIxtWBiuhSkUw2HMgAHL5YpklXN0\ncAfXVDowQUlu34lo2pbXbt/i0aPHFFWG5Zgkac4gCoktsGXBcBThuTpjsgu1BLkqO/Ym++RZje+H\nTLMp8UDDPZ7nYZgGWSZRStLRIbuWpjfGX80U8WhElmbkVUk8CDg83CfP1ty9e5eyalmlJXXR4IkO\nyzAZDoYM4yG3jo5QXUddFTpMI1tvXSl3dg7Y2x+zdzQhyzOE1XF+8RzDNHj6/AlN1dDWkqPjY4ah\nj+XoEOwv/jM/Qlak1E3DsydPODjYY2GbjOIh0+mUxTpjNp+jVMd4d4QbBjiuxWR/V1s3lC1PT8/R\nuYsWSviE8ZB4YjKc7NO0Fc+fPcMwOwYDl5Oj++Rpih1MNLbdNDRSBzlYps06WVDXLW3TC9aArmo4\nOjjk+fkFvh+xWKZ86Wd/njfffBNMlyDQ8WWvvfQKp+en5GlC22rzJ9W2ZGmC63lEoeb9x3HMOklo\npcSyDepaYtkmn/uhNxBCK4x9L0AIgzxLMAy9Jzg8PKAoM1wnZp2sesWxLsht22JbNukqJc0ylCGI\n4wGoqsefxceskbtOIRFcnF/QNA15UWjo1NUU3M2k/fz5c8w+iByhPfIHgwHrdcp8vuSP/uiP+dJP\nfwmBQCltDwF6h8D3quFK/SmABfTPYhgWdd3i+xFSNhweHfP40UOSrMTzNHwiLAslrxeOLxbeDY3w\nuuG8jpG8LvLXUWt/1oGzuT5RHvjmBLqZZfmiv4Druh8LMn6RYeI4znYJejMHb1PYN6fZzS4cwFF6\nadkJpTvuPvjAtC2iOOad9z5kuVwSByFtW6HaFtuE2cUZwdEhlqEIvQG1kBTlCmnYYFiEvknoBZi9\n82GapGg1WEW6XhH4PkVWIKQOAH7tlQPSLEehi2RdLfFdlzRdUFUdpqGYzR+zuFrhOEPisXYKjMOQ\nVZ7jOAFZVmCZgjQr8PwQ05ass5TBcITqWoq8wA9jDKFI04TpYsW9ey8RhRLLsOg6g7LJNPXKtJFN\nzcOPPmTvYJ8gCjXH1wgxBRwMY5KkxGgriqYkHHhUVY7r2TS1HimLpKHMa2zbpKxyglDnidZ1heeN\n0f4w18ncQRDQLRNsz6UVAitdkecZebZkOIhJshTZmUSDIVWjIFtrFkfXUBUleapx1L3dHUwheltQ\niWVaLJbneIGPadsIA9bJimjokaQZXmBwcucOJgZ13bBerzEtk7IqcTyLIPSxLJOTk1ucnj5jEMec\nnj7n7p07FJWN6wUUVU5SJCglMWuBYzs0dcv+3iG25VMWFacXc+bLBNd38QIP0xbsHRxxdHzIzmhA\nMptxefUc2zCpOkmHgWlpLx1lsLU0tVypxWpK85ersubp06fYjs/rn/o0puPz5Pk5+4e3qOoaJWtE\nnpEsFriOw+XFGcPhiGgc4dgOrutpM6imZTQaURQFUnbUdYltQ1mVhGHAwYH2/xdCYDvai2cyHpGs\nU1TXcXV1wd7eHqtkie1YGGaP5Rpd70boYZomgygmKQvOzs54/bUHVMWG2w11U4PqPUakFrpt7Jo3\nLK2yLLc7paOjI4qi2BY6wzBZLFbbOvLtb3+bu3fvsbuzRxgGN/ZsCsO8URQV2j5W9Iutm4/TC9mU\nwrIt2lb29cXm3r0HPH32iOnsCte1MYWBdUN1uUEINv/upqZt0nhuki0+3mxaHyveL9KoX7w+sQIe\nhtoLeuPpvemQm6b52GJy418CuiPfBDZsRpKN5N4wDAydha4LvVIYlrNdhKoen9pspaUptFS3U0jD\noLT0KW01LUWe8Tu/9w2O7t1HlQ1Z55FmNbapKJIamHH7+ICr+Zx4NCAMfDAMiromzzO6TrBerWnq\nluFQCw4EsL+zSy0bTNtiOpsiOsXV2VwzUmyTncEAfy8ABPbtE5aLNUmSEbr7DO7uY5gdy1XCzjBg\nub5gYjsIo8GwalqpkAZ4vsPY22d3MmQ4HJJlGaZrsFhe4istca6Wc4p5hOP6TC9neuHj++R5zTIp\n8B2HOB7QpTUj1wEDWqOgqiqyOuDWvfsIQ6vviryhkw6rrGF2tcA5dPA8ge8bLHOfhgZDmWTrfHsA\nSykpy4o8L/RrISW3Dod0RYdSsLe3y8HuDrZta8dHG6ZX5ziOLjrCNfADF9cO6WSD1UFd5ZyeZUjV\nITAJBwOCIOTw7h3KskIqwdV0zuXVnCAQRMEQL3JIlkvKImUYRewe7WwtgIs8Z71esZitaOua1157\njeViQRh4fPjh+4CB5/vs7+1xx5vgOA7L5RLHdfnwo4csrs5YrlasViviOOLucdRPggZt3ZBdPEfK\nDrs95uDwWLM6Mu0V09QNRZGRZbpYCyEYDmKassYUgjAIMQ2Dyir58OyMye3bTJ9+QGS2dLJCdTVx\n5NI1iqoqURFIYfDZH/kCCIHnBdoDHRNhWoSBSVkU2LZLVaZYpkNRVExnC8LQx7F0jODuZI9ONqwX\nc4p0jefr3MnxKGI+u8CyLDzLpS5rbM+iUQ1NUxGGAWWtmVa2Y/Dqqy8zm8+oJJiYCMOkrhtsx6Rt\nS2TXYlgNk50Bs/kFdqFtZNP1kjiOCX2fO7dvo6SkrhodFNI3gefnV9huwHj3kLySnE/nhEVFHMU4\njolrbZrBG8y0btMwboqlLuhaH6JT6gGMHqE1LBtlWty7+yphMNYhNrZNJzQMa5sGqm0xlA5b6Vot\nFGzrBoGhpwFxbRuyqd+a0CG3DSn82R34J04j3EjlNQfy+vS5eWrBx2XxN0+mmza0Xcc2CUNsMPMb\ncMqmCzdNE1d2GJ7LIksI/QADg6KV4Dr87td+j7e+8Qd85ee+ghV4uFaEbFrqKidbz6mKlIO9Cbt7\nE53dF8d0StF0kjCM9YukoKklQmlcs+06LNvSKTmmQHYS13aRzUaaW5OmeuHZNi1+FDGface2/f1D\nmqbSA51h0rZ6mVnVkuU6wfUC8lIbdkVRzGq1xHdtfZOYBgqFaWpl5WKxwrQdhLBxHRcpFYZlkGYZ\nUTQgz4reP7wi8j0MWnzXRrYVbdNg+S5FUSGEgR9EGEI7LTqWRZWnDEKfNF2Rpiui8bHurNAOeoah\n8xwV3KBW6UNZqBIpu60QQnciEIZ6ZN/4qa9WKyzPQSmJ59ggJcNhiJKa9mWYpg4AqBvqpsYwFF7v\nxIhh8+Tpc27fPkEgsO3+yO8kSnXU7TXFUws9tIteVRQ4joMhRP8aCeqmRQiDLMu2X+95Xt+lOkzn\nc1arNePxGN/Xjzu2rYOmlW4myrLsXSTBD8IeArxhGYGmoNmWRV1VW1vStmmoyooyy/A9j5defYWL\nyytsVwcVSBSyqQFJ6Hso1TFdLNg/PsF1feqmxbQcDEM7c1qmhWxbqrLUPx96wXz6/BHzxQU/9he+\nQF1WBF6AECam5VDXFYiu/1pz+zOXZaVho0770fu+31s662ZKKslqseDWrWOatqHKU8qq0IZStkGR\nZQA8ffqEspUsl0vmizl1WW8L7Gc+81k+9alP9WZyDijBxcUZHz36iLfe+r/YOzjkX/m1v8rx8S3S\nNOXk5IS61OlGo8GAoN8D6Hus24pzbu7NNoy177XefFFXkmUZp6enrJILwsDX/kZtS9c2OLaFkhuo\nqK9hHQhD29JvsO9Np76BjG8+/pnP//T3XWJ+YgX8W2/+NgB1XW+XkDd/lJuhCE3TbAntm079xSRn\n0M5+N5eZN6mEGyhlU/BDw2TRFFjDGA8LVwpKFP/4j97iN/6T3+Df+Sv/OnEQwcAnWRVUWc7h0QEm\nHVHkc3V5SV1m3Ll7m6IoODjY0/mXZamxvg5MDG7dOsG2He2p0DSUdcVitSRJUxzLxnd8EBDFIb7v\n94ENraYxBSHvvPseVVlrYUIccXp6ymSyy87uPpbjUlUNtuOyXCZEUYxhaVzStkyapqYoc5IsoygK\nlsslQRBzdHxMUdTXrB3LwO4FTKZhafxYdgjRIZsKy4CmLmiais99/vN4nkdZNqySXBfcVmoXxapg\nZzzAMk3iOKBsTeI4ZjabMZvNtodsWZb4vo9t2xRFwWAwwHM1i2Pj2rhxc3z69CllUeN5Hr7vE8cx\nru9SFDnTqwvyLMUyDW4fH7NcLrXa7+iQyWTSd3Uwm86ZrxKaRjIe72092kUPt0RRQBSHRPGA9XpN\nkiSkabLFRQdRiOo6oihkNtOUtv39faIoIooiHYu3XPLue+/qbkoJrq6uODo62lobV5W+N8v+MHBd\nF5SibluOjo9Zrlf6vq618GUDDxqGwXA41JTVvqmR/UGzXixI1iuCKML1A/b29nBcnyxLqKqKpinJ\nM73YXK0Txrv7THZ3adqOVipa2TEcTpBty7Onz/A9n6aqkB3IDt7/4DuMhwEP7t9mMhqhlGI+W9G2\nkigKdcKUYzGbJ/owMoxenOIQhtGW5reJRTQMAy/wMVC99zYMooA8T8nSNYqOtqkRwOnpKUme981E\n3R+UPgcHB+zt7WP1mZab9/97H7zPt/7wLbKy4td+7a8iDJOXXnqJ3d1dPnr4kPFozM7OSMNPbcNo\nNKIsS4ZDvQ8aj4fb2vPxWvGDC/gGtm2ahj/6k3+CYRgM4hC6jsB1KLMM1bU9RbI34xPXjJibUPLN\n+rj5N0zT/IEslE/UjfBaQXl9Et00qwI+tsR8cZy4iZXrb9xHE/VPQL+2QKluOzJZlh5PGqPTyw9l\n0HQSwzT52u9+na9/7ev87M9+mTgecXR4SJHl2LajaVlZhmEa1FWFaRoURYZlwu5kBKrjcH8XYWkx\ngGM5pEmGbDWvVgihE99RuH0xqqoK23JIk4SyKrBsbfjueQFdB6enZ/h+iO04vSy/YDQa0bYdj588\n6TvAgjv37lGVdU//slDozXzbtszncw4PD5jPZ9RNSxiE3L/3gPliSdv2Jl+OQVXWmIapDfnrhkEU\nMZtd4TsWV1fnHB3so1SH7KRWQZoWhmFh2S6WadO2DaprSNMUx7Eo8oxG6UnEtq0tTFaWFbdv3yFN\nU80R930eP3nC3Vu3t5hm1ScP6YNXB0i3bUuaavpgq7ptB+2YJqvVgjiO8H2Ptm01L7+uEYaBZbaA\noU2WRjtUdYswbQT6XivKTCf+tA2ih+RcVyfImJaJbFuaqqQoC8LQZzwc0XUdy+UU2elsUdvWFEbT\ntLZdcppmuI6rD+RG2yfI3pPed70eb9amTmEcat8cAzzbo+ihJdu2KfKy9+LIbyiTFU3bUuYJh3s7\n0D9mWDZVWVNWFV0nCYKAtqlxXYer6ZSTu3cpCl2gx5Nd8qKibiR1XUMfjC0UtFJRN5I33/wab3zm\nVQ72d7AEDOKhPhRthyRZUdcVlmPhuOF2qlBKbZstfT/aemmqFK3UkXBNXeO4DkKAY5nItmG+mKH6\nzyMUs9mMPM+338u2bQaxDgrXEYnXYr22bfnGm7/P5dUVeweH/PIv/wuMJzu6sVMS23Z1DWhaXNdl\nMhqxWGg4xrIsDBM810cYG6qy2MIa3w/BeNHrREpJ3mZcnJ+xmk+xLBPZVISeRycbDG6G0vTe5era\nJXGDLOgMgeviLoTgjS986c8fjdB13f5NmW5x7ZtqTLheUm5uipsF/+Yvv10Y2AZKSiQglNJEfdPE\nsa+fFCEEpmOSmi1G0TCwTBo6/sZv/R0evv0+//Zf+VdxXY95W3G+mOKUEhEE+EEAhLSdIs1LTp8+\nZW9vl2gQ8+TZKXdvHfMn3/4OQezihz6hH2JbNmEQMhwMNNbvepRVpVM+AHCwTIvBMOI4OqSuK6qq\n5uLygjTNOD6+xWqVYJkuvu/hByFKKZ4/f85oOODq6kpDG1VO4HnYtsV6neL7IXXTcH76jOFwSOi5\nHL3+KQxDL4yvrs4J/BBlGwhD4EcBWZaRpTlmZ2BacHn6mKLI2b9/h5cf/ChS1pqbbOgYq+VizeXV\njKIo8b0Ax/NwHJvDwz2yNCUMdklLbY27Xq+Zz6dkWUZZlPzO//aPaJqG1UozFj7/+c/THOximIo7\nd+5om8/ZkiRJyPOc+XzKvXv3sG29BAr9SD9XWcGyzDg6OtBGZJbFYBCTFxlN09I0NVW2JMlyLMtl\nenkBmJo22nbs7O0yiAfYtkXT1DSyY7lccnUxRSnJYBgT+D5BEHL37h3KquD87IzdnR1u3z6ibmqW\nyxVSKp49e0bTtIRBRNvfq4HrYAnoDGibksl4DB2YpiDanWA7JsvVijAKSLOMqq44W6y1x7wfIOK4\nLyYdt28d0krVH3AVVV1Tl2vqpsCztbWx55pYlkMQuBRFoe1QDf0eOD4+Ik/0lLZKElbLOYZp0bWS\npqpJsowoiinLCstysGxNgx2PxpRlReC5rFbrvhjD3t4+eZ6xSpZkWbrdR3mutoZYrVb9FKCNqnw/\nxLE19BUEARcX59y9d5c0STi5dcxiOcewHco868NSfMIw3FpK27ZLWehIwqLQCVe6exUYhsl8vuDg\n6IgvfvHHqPtQF8dxeOeddxgPRxzfOsI2BA8fPqIuax48uMvl5ZSyLDk+PmY2m/dCKQM/8G40i9+/\nv92QLraqccPi5M5doijm0cMPsS2TvKxAdVim6MPHZa8FcYFr+5BNI3qTHr1pan/Q9Yl14F/7nX+w\ndR3cFta+ON/sqjeFewOz3OSN32SsGIZB1ePJpiZ+YggthhDoUaTuCfemZVJ7+vs0Vc1v/ubfJVkn\n/HO/+Jcps0JnOApBFMbQdZT9G0YJgyQrCAcjHNclWa8osgQlK2hrjg728EIbyzawDIu2aSmLAtle\nG8G7vo9la3Mn27KxTYuy1uO87OR2IWvbtjbHynPAYJWktJ3quzPFZLKD1UfBtc311r6VUnfmRU2R\nF3ievlE62VEUeprwXP0YCqI4olENZVGilC4WRZbjBz67kwld19I0FQJFnmuZt8AkDGOUMDANGyUM\nlsslfuDz9OnTHvaqyWud4tI0NVJ2jMfj/ma38X2foijwPO3UmKcJe3t7nJ6eMhqNsB2HwA8ZjYZ0\nneL09JQgCDRFr+6I46hf9GgMUqE9py3LYG9vV1PQ8pxxHPb0rE5b/voRRVlqe18EZV1RlCWmaeiJ\nwrJ6BWZHXdeUZU5TlRo2qgpsWwfwCqU57n4QbdWgYRhR5iVvv/1t3vjUp/E8l7ZuQAg6lA6T7rrt\nwq1pGqSSWLaFME1G4zGmMmkb7bhZ1zVZnlE1unNHaDFI13X4foBtKYoswXFdXM+jqpptgbUdR09G\nUgJ6WqzrgjTLGY92uH1ywnKVIjtF1WzYWnpnVNWaqvj3/5vf4pf/+b/Majlnf3cX1Wmihp6kShzX\nwnFtDMPW3h2N9rav60aHZffdqblZ1kHf7cNwNCTvi3Wepdw+Pma9XnF5ddlrBUy6puohBwPHcbfP\n84Zy10oNc7z1rbcQtsWrr77KG298FsvW4eWr1Zq7d+9smUqB77Ez2aGqmh5Cg729HS4urtjd3d3C\nskHos8HEHefafKqnrGy78o162zD0A7WS/XutYT6f8fTRQzzf0S53qtXL0F6vsaEs3yzcG0bezb2e\nED840OET68A3L+RGpXiTfrMp2hscaiOrV0ptMfONCUxd10gpt138VkovO5RQfQ5ji2PovL6iLBCY\nkNecJnN+47/4z/nM3Zf5Sz/1M0Suhz8cMLuc4jdwenqFszNkNBzgeS5lo9NylosFjudhmQbD4QjX\nMkiWCz569JTxTkwYaXx3FA/Z2Y0QSmxl31Jq+8y6bbEMU8c4GUIXWkPQNBWtlBR5qacHx0UIE6F6\n68pe1k0vWa/L3sVNSoq2oigKhDBYJhl3797FcfSk41g2rntEXVWIHmaq64o0S8iqksvzC9IsZWc4\n5vbJbfb39qmqgqbr8Gxt9Tk8Ouxj3ySmoXTMlydQHeyMBzw/P+Pdd7/Lj/7oj+I4Fn7oUVU1e7sj\nLEtPUmEQYpiaRnWwP6GTCtt2aNqCsqy4/+CEKIpZLOYIQzKdXfQHU4XjxjRNh2UpsnyNAOJBTNOa\nDEc7SNlwdXXJhx9+gOs6vPTyS9iIPn9xyuHRMdPpJWEYQe974Tg2dVN/bGQtihzLMgnDkCgKyJJU\nvy6N7HMXwTSbnuJq0Ckby7LplG4O7t+/T1HkmChUJ+mMnikFGJaJ7zpYpokSge6om7q3111gGxqO\nsSy9ixhPJqje5a6uGxzX6guZYr1eIZQkCHxc29buegjKqsYyDKpKi3P0/aVH+SgIeP+97/LNb/4B\nu7v7PHjwEhgWQRSxWKxwXR/ftWjqlrYpMYQijnzKIsexPIajMaZl0inJOl3RrSSBp/cWnuvp914r\nSdZ6urJtB9fztjzozfN8dXWJ2y9dh6MxZ5eXxEHI8dEtHj9+jGwVTa3Nq6SUpGmG47hUVU0QhpRl\nBRicn1/yJ29/h3/tr/0bOhkriqjrhq4D23Z49OgRx4eHtG1LFEVMZ1ccHd5id3fE1dWc8/NLjo4O\nyPOSoig4Ojogy3PyPOuhO8lqtWYymSAEVFXTwxyqX6rq1J6u6xBm76VjOuzu7NFJydXluebLmzZt\nXWqramFgveDztOm4b0rpX9SzfK/rE+vA3/zd/7EvUBre2GBKL4L6G3bKTehkYzX7YueuTAtTGNiW\npSXIdQNKc0wN06BqGrxIwxCz2Yy//Xd/k/svv8TnP/0GkROQpimW7xHHQ3xDqwnztiZZrSmrCsO0\nGY5G2I5PuWEFyJbnz56yN9mhqStaVSFEx3g8gg5C36EsSkzDwPHc/sAKcX2ftm6wTIs0TTAtc3va\n69xH7Zdxfn7Ot771FkoJbp/cYTQaMRyO+udJYpkmda1HyjzLUUpxNZ2CMHT6j6EPgaIot0HQUra9\nqKjqw4gVk/GYncmE0WjEerlkMBiQZVnv2mYiu4Y0y+ikpCgKLs4vyfOCJMnwPJ/zywv29g/4/Be+\nQDQY4Hs+ZVlgbqaEtqWqqp6RoBklruuyWq10Jx5oTLSum971UOPZm2Wk02eSep5H4PiUdc1sNsOy\nbVzX42p6hRCCyWTEZDJisViAUvyj3/5f+OpXv0ontV97HA1YrdYgBHleUdYVhm3psGlD7yBk15Em\niQ79UB2ObRPFsabuVQWWbVNXa6qqpihL5vMlda27w6PDA0LfxbVMRoOIPEnAtjQeb5gkSQL9G7WV\nUu9hTINGSlzPpSpqLes3DBqpM1QvLy+J4xjHcTi+fQsp9RIx9FyauqRtexZN3WIaBn4QUBYNYRyz\nWid6KSlbqipjuVhSFAWTyYT9/UOKsqRt9V6maTvqRr++XdvyjW/8Y37pl34BxzKxHRcpIVlnFFWF\nMGEwjDAtg7bUVN+6rnEcb+saaNv2dieh/U1sbM/BcZwex5akabrt6Hd3d5nNZoRhyHw2R8iaTqH9\n8ouCwXBA22pHz+lsznffeYf9/QN+6Zd+EdlJhsMhaZZh2w5lWfHgwQOmV1NC3yXPUsbDoebX2x5J\nknD79q0tBJJlGcORvuctSy/fQbBerxiNRlvKaxxHWzuMDY697ci5gXH3DJbp9IKPHn7IMA6RbY1l\n6Hpk3oBmbhbym1355vpzmYn5e//HP9ymNF+zSPSTFPb5kzcDHW7CK5uufOMYtsmqpN9Mm/3XKKlf\nHM/3dAq771HWFWcX5/xnf/Nv8kOvvM5PffHHMVwbdzSgzSrMssXzAy7LBMfzGNoeeVljWCZpkjCb\nz3EdF9OyGI/GOtm9gzTL9ZtTSJRqqcqCTjbcv3sH09CLMcsyaWWL7NBLLtvBdzw838PoqYVt21CW\npd74L1YMRyN8P9hCQnVd4/s+aZqhE0eub5rT0+d88P4HFGXBz/3cV3RKuONpz4uiIQhDLFsvHBeL\nOb7vEceD7Q1jWxZ5mhKF4ZY14bqu5ierjg7FYjHHmOc/2AAAIABJREFUtm0cxyEKYk2XbBryvECq\nDtPWnahOM9GvmWXZW6Optm23lEB954l+2mpZrdasE81o2DAXkiThwf2XuLy6IooiZNty6+hY+84I\n/Ta4ms44Oj7Gtm1msyuyVPOpz8/PePPNr3H37l1+4Z/9+Z7R0NA2UgfqdhtaZosyBHlSEAQa8zZN\no+96a80eKkvqpsH3fAxDYNDw9OlTZoslYTRACEN37gYgGz792quMIh/bMpAClNBWSrbtYAoTJRVK\nCFbrBC/w+6WryWqV0CnF+++/rz1KRkP29nbpGbGadulYBIFP18qtqCfwfFzX3T5njuvRth1uEFDV\nDVdXU5bLOWEYcOfkBNF7WINACYHsNIQiO4VCsbi65IP33+WHfvgNAj9AKYFlBzRth1SKsinp0BRH\nz9LhCZv3Yp4XN6bHa8W1ZVksk7WGKYJAW8M2ukFYr9eA2AqKDMPAs0xGoxGPHj/h6bOnfPjhQy6v\npty7f5/bJyfcv/8Ay9JUSM+3ieOYOB7gOC5XV1c0TcPuZIciTzGFFkTdvXvC2dk5YRSyXK64d+8e\nT548JopCgiAkikLKsiDPc81UKfTrEgQeZaHhK8/3cWwbwzQwRO/dIvS9DAphit6fR08qi/kVDz98\nnyjwdJAMXV/AN9ay18E2Nwv3BpH4QW6En2gHDtfJPJvxYdOtbYr6hte9Kdibz20cvjZbf8uyMCxH\nwxOlhh+8/gaar5Z4YYDteyR5xm/+vd/izq0TfvJHvki1zmhQPJ9NcYSJhyZoTu7eBtMgvZpTNRLH\ndfE9j2EU0lQVeZ5zdnZO20HbKTw/Ynf/AKUkZZlzdvqU1WKG45jcvXNCkaWYpoHjuzi2y3A0YhiN\nKPqkkbqpcBwbwzJu2OpqutX52QV7u7vEscZbi0rTn1Qv8pBSMp/P+c53vsOXv/xlbNsky7I+rVtw\nOZ0xGk84P7tAmBZJmjAcD6lrHVpB1zGdTrXVqOv2Ewxa9OF72K7LxdUl8/mc+y+/pCciBEJBmqbb\nLiYeDHF9PZ2YtoXqoFNaBLKBHwS6y1gnCb7nIQyD1SphsVghhOD4+JjJZEcXScMkS/XB2HUdOzs7\nhGHI+dkpk8kOZ+cXeGHI02dnLFfrbdE9PjpGiI77d+8xX58yiGIuzs959eVXWC2XuK5LnhV09M2C\n6rAdh0E0ZLVac3U1Je8pbGEU4wcBw+GQpmkpy4qrqyuuLp8zGk2IBgM8P9A0yrpmdnmB71o4ouPk\naB8pa2qlO1zZtuRZ2R+Y2iXTMEzqpmO5WvPs+XM6BLdu38Z2LEajIaHv0SnZW+Lm7O3skBcZUmod\nQV3VyFbS1BV5pg/fKI41E6lTPD895/fefJOf/umfZmdnB8syQXV0TYNCL8zSNKOqa8JoQNNqR82H\n779DGPr4gcve3j5VJUmSAtPx8IIQ07FoZU3dVGTLYhtEEEURo9GIJEl6wVa9bRAc18W09TS96djr\nHpIYDAYYhqGl87ZNkqQElqWft67jwYP7PH76HN/3eX56jud5ZGUJKA4Pj2mqBN/XjUeSJHz6059m\nMhnRtYrT50/Zm0yQUov0iqrkzp07LBYLpJQkScKdO7cpy5L1es3e3h6j0Yirq0tsy9eZrr0IbTgc\nbskGG6w6jiOU6rAsA9m0mJbZW9Jqoy7DUKzWC95/7x18x0YIhW1ci9o2UPGGUfNirfxzWcC/8X/+\nD9uPgW0R3kisXwTyb/6/NyX3N6PYNhaxQilsy8Z1dN5k3baUbcNsveS//gf/LTt7u/zcF36csm0w\nPYfI8vANh9lqgRF4NG2DrfQyqLEFYCKbFtXUuI4FbYNtWvhBSCNhuljTYlJWDa5rI+homoo0WWIi\nEaJjtVpqRkjfBUdxRF3U5OuMvb0dmrbGMASNbLbYl+9ruAcl8D0Xx9Ey4fl8rrvRrqOqa54+fYZS\nildeeUXj3Y5FJ2s8PyDPKzwvxLJdVok+LCzX6TNEtTF+13QIoXBMS0dG9ZOLHwTUTU1WFDx5+oT9\ngwMMx9Y+2a3E69k9Ukpc16VTirysdPQUCtVdv756anK2N+yGA962LafPz4kHE+2LXVcEQdjz4WsG\ng4H2AGm11N33fYTqMG2HppWcX03xA+1gKIQWvziuXg4DOL7etTimXmb7nk+eZTRNQ900WjzUdZq1\nYHvbyc+ybIqipG5a2t6joyjK7TJ6b09TG6VSGIZJVTeorsVQnfYrlzWmahgOY9woQPbp5qbQUnSl\nQLYdeVnxwYcfsbO7RxwPkEIQD2IMITQn2gDbNEB02qjKc/odkIlslPYi7w2b2qbCENqtz7QdLqdT\nkrTgtU/pcOmyrLWIhQ7LELrY9PsI2XUI0yLNcjzH4u//vd/kL/3izwNKq3KVAcKmbCDNc7DADxya\ntsW3fNpGbqcx0CwzzSDRC+SqqnRkmmVucW0hBHXVbP1NwijCMPXklec5rqkDO87PL7FdRyfVWw6L\n5RLD0kKv0ViHLwxCnV85Go0pypKun8oNBHEUsF4sGI9HCBR+GDCdTjk5OWE2u9JTZpKwu7tLkiQM\nh0OqqtB+87M14/EOlmVQlvWN+iSQsttCfQCR72yZPaLfG2nKoP5vNrvko4cfEHgulvi4DfbNOnjT\nRvbPKuCfqB/4i8HGcG36Ar20VAmEYdChaHve7Hbkt22U/L/Ze9NgS87yzvOX+3L2c+65S20qlSRA\nAiRWgc1izGrc7bansWHwhM3MtMcRdvT4w3SEPRHzvdGXDgJHu3sm3M2EPeHxeGl6oMcGbPCMDcaY\nRSAQEpKqpNpu3XvrLmfNPd/M+fC8mVWoBHR0xwx8UEYAURJ1lzyZ7/u8z/P///6S3CET4xorV5i+\ny3EW0a8VdVSw7ljMuxb/9nf/gNdt3cNPvPbHyH0LQ1f/yzgmtlPsrofvu3hejyiKODo6olhlOE6H\n8WhCb3NDL6DHYsbJMzzPY3tnhB94zGYnLGYRx8dLHMflvrsfYB0nrFZrvPA0cbLixtEK3y/pKYu3\n/Mt/xejRb2L+gNSNF68Xr/+/r58A+N3f/2H/GN/zqlyX/Ze/km//j/8Towv3kKcJnuext3tdyIe6\n/XLx4kXqWnHXPfdQFAVPPvkkW9Mp9z/wAHGcoSqTGpvReMrVa9eZbk4xbYvj/TnLdcRwMOZkfsx8\nNuPcubvo9ztcuXKdfr/PYNBjtliCZdHtdNk7OGAwGEgxk5eauVJj2xZFoZhOd6gqkytXrhD4mkhY\nVbi2UB6LPNezHlBVhWn+4OX5+1bg165d45d/+ZdbBOqv/uqv8hu/8RucnJzwgQ98gCtXrnD+/Hn+\n+I//mOFwCMCHP/xhPvaxj2FZFr/927/Nu9/97ju/qa7Am75Ys+vcnqDTAmG0lrvW7iXMW3xv27La\nPqBlmuRpiuHaGAocy6I0TRILjpZz/vSP/4SzO2d43StfRX6yJLdMLNtmOBziakCPTMlLGZj0+9RV\nRRCGJHFGkqTtBN11XbrdUBgbqmz79ACe16FSUJYVWVayWEWYpoXruRRlDqZivV7yD3/nX3P3k0/9\nJz28L14vXi9ech0+/Ea+9si/oBd4bUHYtA/7/T51XXN0dMRoNOLo6IgzZ86QRhG9niAnzp49QxTF\nAuEyDJJUTlm+72p1m6fnQY628xuMx4LRNW0Ly3bIikJOx2WNZZktHsSyDILQb3nnSpXUdcXVq1dZ\nL/eo6wrTEGdo4HlUt9noi7LENO0faKX/vqgrx3H4yEc+wre//W2+9KUv8Tu/8zs8+eSTPPLII7zr\nXe/i6aef5h3veAePPPIIAE888QR/9Ed/xBNPPMGnP/1pfv3Xf/378mybo9PtAcfNYt4cI/JSsJoN\nkOr21ooqS1Spe+iqwg0C4iLHdhzqtGQerTmsUv7gD/+QHafPmx58LcONCePT20wmU2zb5dKl57h0\n6TJlKUfF4XDCaDihyCssy2M+k0SZ6XSDbreL4zikacrR0QmWZRMEHYbDMWHYpSwrjg4PmS9mFGWO\n5VhsbU3xA5/ZbMZyuSRNM4Ig5Owzl/4zHtsXrxevFy+A8de/xmQ6bQ1Ow6EotHzfZ29vj/39fe6/\n/2W6tehy8+ZNTm1vc3J0BFXNarHi1PYm+7v7zE8WjAZDzpw6w8GNQyzDwXI9VutY5LCbG2xsTNjf\nP8ALAjBMjk9OGA67ZHlOlmciB10uUZWEjxwdHwvvpq6lzWdanDpzhrzUFbZh0e+NUKrGdpxWPthQ\nFZ/fE3/+9X1r9O3tbba3twEZTtx///3s7u7yyU9+kr/+678G4EMf+hBve9vbeOSRR/jEJz7BBz/4\nQRzH4fz589x77718+ctf5o1vfOMdX7uJF2p637cPKeG2gGMl5oDaMKC4xT5AVdIH03AgVUOkSqzK\nZL2O8Qc9ilTxuU/+OaOwz1t/8ifJo5QwVMzimL7XYTIas7251boFv/PEUziOy2DQFxNHLDbk/f19\nXNfB8zy63Q6DwQDDMFgslrrHJ1X5cDhmNBa5QJ5LUECSKlzP5tz5s8J0KTPyPMX+AR/Mi9eL14vX\nD76souDGjV3Ob29RliWL2QwTWC+XTEYjTk5OePbiJZbLJadPn9Z8natsbGzQH/R4+qlnpLduWfT7\nfZ5+6hl6vT6TyQQDg4sXL3LvvRc4OZqxe2OPfr/P1s62zBlsh/F4zI29m4SdED9wWCwWIslUFely\nQb/fZ7GM8Dxhs1e1wvV87r//QQ7298iSmHWUCMKgzDAN7cTUgK0fhJP9/v/2tuvy5ct8/etf5w1v\neAMHBwfSZwK2trY4ODgABEBz5syZ9u+cOXOG3d3dF/x6jW0+DMM73JiNTM3zPGzXxdKp4o06wzRM\nTMsSl+VtskLPdhkEXYLxgEOz4P/8sz/DPI55++t/nNyAje1tfAS4s4oWLJcLlJIUmcGgz7333sto\nJJwEzxMrru+LNbiqKvb393n66ae4fPkyBwcHmKbFcDCi1+2RxCnXr93gxt4N9g/2yLKEre0pfiCB\nuuv1kqpW2kXX+Y+97S9eL14vXj/g2p7K8FHcy6I3j+P4lpKoI0XX/v6+2PtVwTpesX9wwEteei/d\nXo9CA8mmm1scn5xgmhZlWXHXXXdx9ep1egPpeV+9eg1TG7PSLENVFZONMasoIk5zwm6XOElAEyb3\nDvbBNFnHMWmWUxsW6yjGsgImky2yXOG4PkpV2LaEsjfwPilw1ff93f+jhpjr9Zr3ve99fPSjH9UC\n91vX80Xnz7++178Lw7BN0mm+RnN0aP6eZVmYt+XltbCr+hbX5HbQ1QCXVV2yNGu+/NVH2du9wc+/\n9d0Mgw6WF3C8WtAJQjqOh78ZimwpjinKglIJzrTX7dPpnMKypFWyWi3BLAmCUEh4nkeaiolkdnLC\n7vVdLMtmMtngzJmz5CpBVQVpmvPkd57Etl0GgyGO7aEqhe/3WK+WL3hP/s2/+VcURcLhwQGVKrhw\n/rz0+k2Ti88+QxD6bGxscHBwwFe/+lWGwyFnzpzSrImA9XrN9vY2Tz/1NN2gy8/+o38kZMS6apkS\nvu8LFS+NcV2XOI6ZLebs7u4SRQnn7zrPdDrV91VSwUUxIHru9XpNp9Ph8PAYgL29PQb9IYOB8Mfh\n1hzjZLmSzXK1IIrXGAbMZzNWyyWPPvp1fu3Xfp08LzANkyAcCLnPMFjHkqazXK6oqhrLtiVF3ffp\ndrss5jNs2+Hk5IQsz1mtIqbTKZZl0esNKMpS9ziXHJ6sqakxjFqQAIaBYVTMTo4xTcHZ7u7ewLYd\nBqHN0dExRZrxute9jvFYdP6GSatNXusk9k5/gO1IpFaepMRxzHK54vDwiLvvuY+8ELu75TiUeYQp\nFGGODg9ZRys2Nsa4tiwu67WEN3fDLmWZgyHKFsO2xLFnGriODwZcvHgRz/c5ffo0ZVnc1l+VMOBe\nr8fu9V3GkzG25WhL+YJuL8Q0KpowAduW9KokTXEch6KQQJQ4TjBMk09+4hO8733vEzOYJSHGYU/a\nhNSmDmAQLXleptR1Rb83lOcwiuXrFSVJklJVFf3BgOFwSKUKVquVuCW1gicMw1YS7AcBy+WSJEk5\nNRkRdjrEcUwFJGnGe//hT9/x3rgWGK6jnZKp/DP958Ggz2q11KRPhziO6HQDvCDg8nPPcTKfM+gP\nuOe+e7h06TmyomBzZ5tclUTrhK7Z0Uk/SyzgZS97KQcHh+R5zmgy4WR2ItiNQR+jrJjNZnS0UzTL\nck6fPsV6HQMG6yjGznKhOJoGruPheSFZGuH6PlSlLkxFTVdqkcX3u37gAl4UBe973/v4pV/6JX7u\n534OkKp7f3+f7e1t9vb22NyUxI7Tp08L3Fxf169f5/Tp0y+8WP2v/3s7qHz9a1/Fw69/dZuX6Hle\nG+IgWlmRCdIGMtR4nt8u/nVdUxk1Va4oOzZ/+/d/x+Nf+goPP/hqclccbV6UMRp2KXwHY5WS5ymV\ndkz1+iFZmlOWOeto2bZ0pG3SJS8y6lqxmK/EGuz6bE03SZKUydggimLR4QKWKz+PgHFslKq1/Vz4\nEFSKQmMEnn8NhgNWy0pMP5bHer3m8PAmJ0dH3HvfPZi22ZqWTp06xXA45CUveRmO47BarTg6OuKx\nxx5j0B/iej67e/tsTCb4nkeWp9oF6bBaLSnLgr29PeIkZrKxwdmzZ/WJQ1xqtuW0UXTNJhxFK4JA\neCSj0QDDENRpkqRQIzyUoMONGzckKcbviY5czwIWiwVnz5yn2+nwxje+RX7nvhQEJ7OFIGfrmrAT\nYhgGw6For/O8aA0qSZLge24r91KVMFZWq0g7PTMx6Win7mg0wTBM0jQms2xu3LiO57mYhkuv12Nr\nc4t77nkpYRBQJGsAjo8OsS2Ly5evEYYhL3/5A5jYOI5FR2uNZzNxgQbaJt4UNkEQas63TU3FarnE\nc01ZXMqS6dYmw3yAYdT4rouqSnrdLo4Oe6hpcBCgCkWlAVZJkmijW8XW1hTTBIMa13FaZG1dSUHT\n7XQwaqhUyXKxYDIeEUVCiawq4YhUVYWl37W6roUtUxR4muEdhmEbRJ2mKZ1uSJokeL6P7bg4riYg\nGgahJWydsixZrQR45XsOhu/R64kUtiwqsiSmqhW2ZWKH8jNXdU1RSPFkWTZxtML3XDphgGNBlafU\nKqemJnBfuGGQx0uCzlCCI9LkFrM9z7BtC9s2ieMIw5DoQMuzOVmcMJpuCFlyPWf59JqtrW2uXL6C\n43v4YYDX9VmtliKJ1CHTR0dHTKdjkiQVP0Wvz2K1JFqt2J5utclgYRiSZimHh8ftJj0ej8gyLZG0\nXYy6ZjTe4Knv7OkAjgxQPProY3ztG4+3zJfvd31fFUpd13zoQx9iMpnwkY98pP3nv/mbv8lkMuG3\nfuu3eOSRR5jP5zzyyCM88cQT/OIv/iJf/vKX2d3d5Z3vfCcXL168owo3DIPPf+7ffxfEpe15695w\nk0phOpr7qyE6lm6bNI4+yQ2U3niUlczTNb//e7/Pmx/+cXbOnMbphpSzFcXhgihP8aZDRuMxG6Oe\ngJuSlMV8TtgJ6feG7e+d57nmrEgFOhwO6XS6KFVxfHxMnt2KcNvePqXTQPapDEWSJZiGRdjpaKSo\nT5Zl7O7eaCPiPvDBX7rjfv/BH3yMm4d7BL7LYnbC8dEhm9MpZ3ZOsVgtyIuUMOy284I4jnn22WcJ\nww51XTEej7l69Sp3nTtPrSAvCs6fP49tifNtPB4Tx2vs29KPJpMRRVniBwF1XbXDoG63y5UrV+Q+\nu4F+2YTH4nkS6rBcLrl48VkuXryIZdocHx9z/vwFXvva1/Lggw9i2CE3bx5g2RbResVnP/dZfvzH\n3ojv+ShVc3h4yHA4YnNzE8uTRJvVaoXnuZycnGAYpjCuXRfLkjba/t5NkixuTQ/33HOPJrjZLaFu\nuVwKUuDwkDQXXkmpcvIsBaPmla94OTWgypLZbMZa89IHoZzKRuMhnusS+gGmKe7TbhhycnKC5zuc\nPn2aXJWs1mtWiyWZdo6enJwwnW4Kl91xtUFLkSYxeZ6QZWJ4UUXG9evXeOtb3iRa+CynLEv6/QFg\ntIN/47YsV8e1ODw85Pj4mOnmpiyyfqirabvVrzfDukwjZS3bxjItDGpUWVAbBqWS+ROG0bI3onXE\neDQBpIr9dx//U97y1rcRBAHdbhfbdjSxryMse+8WTe/5uOdGrfX8q/Ee3O4NEJe1TVEK/lgEDArH\ncem6JqqsyIsCQxdxb3v3nRX4F//6r4gK1fLZDw8PNa45Jc/lHTg8PKSqxFT2kgfu5/DwkDiKwDB5\n+HWv5xvffIy7777A0dERlX42x+MJoe+SJSlZlnHh7rvJsoyjo2O2d04RhiE3jw4JwhDX89i9do3N\nzS3CTsjVq1cZDYd0OoGcEDenHB0di2HJgDDwyFJJt/+bv/4sp7bGCH9fNOxVVYk237B4+M0//Z9m\n5PnCF77AW9/6VnkZ9U3/8Ic/zMMPP8z73/9+rl69eoeM8J//83/Oxz72MWzb5qMf/Sjvec977vym\nhiTyAO0H3chnbo9Wa8wcliUp14ZhYFv2LeeSY1Oosu2BR4OQP/nt3+VUf8TLXv0QlWPimhaWbdMP\nO5hRznq14nJ8gpGXjAZDAeVzi3rYUMgaU5FhGBSl8FniOMZ1PRzH1Q+aLHYGBoYpVnTHFUNLnuft\nA6lUJQYeW9gQSZzwc7/wwTvuy7/+n/8FhlFjUFGrksvPPYfrOIz6fWzXBlM2vNVqJcEptUGaJBwe\nHvPAy1/OfDYjimM5TutEbss06fX6dDshVaW458LdVJViuVxw17lzMiXXL35ZFm1KUpqmDIZ9Db0f\nEMcxnbCD5wVEUcSVK1cYjSZUVc1kssHejX08z+PoSLCcw+GQqrbYmApHvChykiRmMBxQ1QZ1Jcfn\nKEpYrJY4rs18PsdxHC5cuPtW8kyWUdeQRCmTyUS+fyZVVjNHadpCaOa754tD0TJNohRtDFkTdkKC\nwNOIVbv1ItS1PH9FlrfO4CxLMA2pYl3HYjweEa1XwrMuCmzfwwBsy8IybZIk4dLFi9x7330YhjDm\nDUsjIGrRAzu2TZJEeK7NajnHMk02RiMpSIqSuqooSiV2dvmhbpE4Han+Oh1hh5umSV2BaZjtItyg\nJ2zbpFQlQRAQxzFQSwBCbWBqdUNW5G2bUikliUZpigG4nsvn/u/P8fa3v535YkEYdlqYlqmZ8bbj\ntioy07RucxUqiThrApltYcGrSmGZBq7tUhQ5juvhB37b+pHWlolpmVoDbZIlSTv7auiMP/mOn7rj\nvfl/PvcXuIFY8/M8Z71e0ev1tFHNJQwDFoulZqR3cDy/Tb9q1prRaNRuLrW2yy+XS7Y2pywXKyzT\n1FwhlzAMmS8WQn5skn0MA892KDR2YTqdavRtTLcrp7O6rls2kGXbVKqAumR/7yqL2U08z6LIYqiE\nF24gz+ir3viuHz0n5mf//P9oj+jNQzSfz+l2u4zHY53YYVCrW/3bSlXC1NULWZKlGI48kKZj8799\n5s8orh3yT37hF0nReMuiYH9xQmFDr7bZ7o5wp0OKXHHz4ICbNwVfubm5ydbWFo4j/fbG6mvbtryI\nt7V2lsulQJVuG8DWdc18Pme5Suj1evieh2XKYrher5nNZmJddxyGwyHv/dlfuOO+/N7v/Utc1+Lo\n6CaPfeMbvPc97+END7+BeLXmU5/5FDePD+l0OhiGQRQl0os/Oqbb7SNhtDndTh+lgVOdTodON+Tk\n5JhBv8/21ha7u9e59OxF/umv/TqOI/xsiaZy2miw5mVUSuG4NlG01nFf8MS3n+DatV1t2RfS4d7e\nAUVesr29jefJoiEbvmBmszxF1VpOqtGgruuTl0KZ63S6rNdLzpw5w+XLl4njiFpXIQ8++CDj0Ril\n4OLFS1y69CxnLpxvTxS+K+zrLI2ZTqeSZTlftPfd8oTxfOrUDkq7XNfrdfu8FYXSG7ZLrz/E9z15\naZdLTGriZM3hwT51rdjZ2WE8FAXSKklZrVYsZjPSNKWvWdpnzp5htV6haundz+YzXMcnSVM6gQ/U\nDPodTO2cdG2HThiSZ5JE47ghStVUdUnFLXhbliekqfSTB8MhGBWuE6CKxrFXt8/jar3Qz8iKblfw\nC7UyyJKCoiwpK0VFrWcGXSzToMgLhv2+uGzrio9/4t/xtre9jSiKWUcxk8mEbrfLcrliNBoD4i+M\n4hjfC9vKWSlFVSscxybXOZgg5MqyLCmz8haZs6pQNcJucV0GgwGTyYReryeeDMtjNp+3J7PA9fhv\n/5tfueO9+cynP43nC5qgoTg2oDTbdggCn36/z/HxsTaT2Lpt1MNxHObzE8bjcVsMyHNvSehGKUVa\nT0uIbdumrgym0ylxmrCOIiYbE46Oj/EdCe+OtNN3a2tLZkSDQYsI8X05jWM7IqBI1tRVzqWLTxD4\nFkatdKfBwjIdwOD+V/8IJvI0FXjz52bhaKrf5seyDLMFUzUtF1VVZIXkH8Z6Ef/a1x/ly1/6Km9/\n73s4u71DkNcEhoXhu5QWFCYoE1Sa4y8zMtvH1v2+PM9I00RzO9bUdaWtwLI5VMhxplHHNNyW1Wql\nrbK3wDOm4VLXpp6Ey8InH7xUK+jF8Wc/8Mt33Jc//qPf5dKzT9PtdXnola+g3+tRZDmdIKAC5ss5\nTz75HfI8ZzZbaLiOWLsXiyWdsCv9zbrGD32p6PKcMPCp6oo8k1xLw4R+v8d0sgHUhMEtO3BThXie\n1y7ipeYbr9drhsMhr3/9G/SAKqPfH+D7AVma6zQev61qhoO+VGe1krT3PEdVwouO05w4TomimCRN\nWS5k0RV7fUFVypygKBS+5xMEXS5cuMCFC/dydW+PJInpD/osF0s818WyDJSOd6uqkueee47hYMCp\nc+ek520apGlCEARSQTuCgHUct834XEcS81XVCmqZRRjUBL6HUQseYblc0AlD3KCLbdn4nqcxvxXL\n5ZJur0upFI7nYDs2RVliW4JnME0oskyjFhLWpGnUAAAgAElEQVQcy6bIUgI/EDs8BlleUVWGZCZa\nt4JNmkBdQcwOKVWJgU2tbqW4ZFlClqX4gUeWye+yXq/Z2dkmjXNMHPTBTbM6hOznOi6e65InCaYh\nEXv/16c+yfvf/36yLJN2puaKG4YhTHad5uSHHZRCiw80BtWUobG0R2s5gWkWfxZlGKYWLFgOjusS\np4luiyr9e+TESULt9zBNkzAIKYuCwPd5z0++44735i/+8q8oiyVhGOL7knbUBMY0z7Rt222Q+vxw\n2drnu92OHvI33HqlTwiuwN2KQmphyybLMjZGY1mH9IkhzXLCboeamkJTNEPdilutVmxubpGmma6+\nBVFcFAVFVVOWGXG0wDJKDm/u0g1dbG1UNGoDapkzPPSGd/zoWekbjkmzSMCtfLmyLEmShDAMScjo\nB11soEpLbNelpKZ2HPBk6Ha4f8C1567zM+94D+PBBnZR4Xg+RVVRlSXRIsL1XFzfo+d3qUwPVUaU\nKmEdrwj8gNGkQ5qmhJ0R69WahpIXBD6mZePYDovlnKObh7iOI4CjXh/HsdqqXPglmstsW3S6Y1ar\niNn8uO0LjoZDnCZQ4XnXlWcv8fa3/iS9Xk+m/FWN64aUlXA+Bv0Jb3zDm1Gq5LHHvsnly5cpy5JX\nv/pBrly5Spqm7O7u4rg2VimLpeM5YCluHtyUB9F2MWuLvYMj4rTkrrvOcc/9L0NevhJqYXYnccz+\n7j6PPvoob/rxH+e+e17C7vVdBv0uHc/D7feZzWYk0YKD/esEYZcw7FBUOatFRJqmrNN1q/UPw4Aa\nQxbQXDGfr5hOt8jyAh8D0/JxbJsdP8D1XCbjDUHsOi4HBze5ePEis1XKVx97nI2tHbrDDrbjsrEp\n9Lrj42PSLObo6JDFYk6aJpidPsmlizz00EN0OqFwx4uCOE4pS9mofV96vGHgM93YJIljVFVTliXz\n+Yw4ipmxAgPG4yGT6WlsxyYr1li+Q0mJQjYoNwxIs5w4SlivIwb9IVmWYoYeRVnSDQV6FPodHCfA\nd21sM8cwJDSkriuC7gDbdclTGbJXlWz60VpyIx3Hpi49HFPCoVXzwmPQ7XjYprzoHb9DBcSJ4uLF\n65w9dw7H98iLnCLLMWsT23Hpe76ojUpFdxhgGiY1CgyL+XJBFK3ZnG7iej5GZeE4HoFbo+qCLE1I\n4oRCSVtQVDE1tm3ok7VJ4AfYji2bne/jmzJPsSwLDPm+/VCCSGq7FpiWGeBaAZXhSUuxBBuDWgsb\nnn8ZKFwvwDAd8qLC7wzkRKnbp5ZpEWcJpiOttpHtokrFeGfKar2S9CPToOMHXL++y/a5u3QqUoBj\ndTAtaZEmyZrZ7ITBoE8URximiZVKEZOmGZubG0LZVDWOY7GxMUYpCZfe2NggjRPh+Bc5uUooi5xu\nx+XK5V06fohjmkL9VJVspOYPrq1/qBW4o51HLyQlbBQTpV2h0pyuG2CqGjDJjRoj8MmU5CR+8W++\ngGfbvOblD7aVYzOIvJWwQgvQybIMzFKrHUzSNEWGRzW+L/9f23I0O1tpdCtA1R6z2mBlHcbQyB9z\n3S9PU6lSfN9vd98miVwpxT/+wH99x3352t//Rdt3vz1zr1EMGIaklDeyKzn+zXn22WeZTqccHh5y\n9epVVFWCKQkopmFysH+TPBeAUq2hT2WpcB2HycaE2fyQLE2558LdLeDKNm06YYftrS3yrKDf6+sw\nYmG+LBdzDGA0GjHemAhwSgm+1LJkg2t+b2pYR2s9IM31Ai6QIMty6Pb6KE1WzPOc5XKl+6hKu+vG\n9LpdqromTVKcTperV67qoIYTPYOAU6d2GI0G+L6HaZkURUY8P2oDQ5oqrBkkN6emhlOuSrk3TUul\nwR3XBvozjSlLrdGtUkk4smym0ynL5YrlfMHmdJON8QTLssnTDNMySVVOqRRZmmPbHlmSthJa2xSF\njGkaVLq1oaoKg5o8y4CK8WhIELgMez38wCPPJGmpxgHTxjQNyjxH6c/ONG3SvCCKk5bvfe3GLr1+\nj+l0E89x9DNQ6p5thmlaWGgHoAlBYFHV0kePojV1ZZIlJZbpUFU1jmvh+xIW4er72TzjdV1BfSsf\nsyiK9nsVRUmlKmzb0aHNNoY+XjiOq01xQv8rK1HvyHBdUVPxjnfd2QP/1J//OZZjCnLZsjAtG/Tn\nWHEL12EYNqVSuHbVPpuSZWphNhmpSYKBBG+PxmMcUyr57e0tLMfU0LlbA9i8EEhYUSpCzyKO4nYN\nai7btkV54vrSGgacwOLk+IjJZMiN3esMOiGG9omYxq2s36r+EU3keb55p/mFn08lTKKEUMcppXGK\nH4aYvkdZKQpV8sxTT3PtyhXe+673UFODaeBYAuWvspQokSN6v98XyLzr4GYuWZEgwagS8eW6Ilec\nz+as1xG+L/2sMBT9d5Ik7XGyGX5ZlmBb57O5TgoC15eJdL/fbxO1RV61Igx9ZrNjnQjzwlfbOtIL\n+e33Rk6+huzyeqjjex73XLggi1MYcmpnh3W0JstT9vf3JfNv5xSVqrWVX9Q13X6PMAxZzGeURU6l\nFM8++xxFUfDyB17OaDxhvVrz9MVnJQDYkCPhK1/xAGByz30vxbZMqkpxeCjZglvbO9imxWKxlAGu\nkk3I931MDGKdRn908zo726cBg6JQ7O1ex9agf9k0JqRZimXKi/fcc89x86Ck1+8zGg4p05TjwwOm\n0016586QZsKp8R1bpKZ1jVEpCcz1vDbRPo5jjvXQ1vO89sjdsKkNQxKe5rMleRG1w0TPDeh0AyxL\nwiMKVXB0WGAZHa5eucp3vvMcjmUyHA64efPbvPXNbwJVUVQprmUTOCalUbOxPSWKEnqdgDQtwLTI\n0hxsj7IsKPOc3evP4fuunkm4bEw2iVYLqrpmMV9y6tQOlSpRlShTgtCV5B1bwqxV3XC5awzTYv/g\nBoZpszGZ4ngSehytYi0ZFZztaDQWhUiWayicTZpF+j3wGA6HGFhYhkddGcJUVzlKycJccyuIxdVt\nScO45QG53RbeFmpI4HVZKipoM0wB4nhNWSo8L5DAC0Mkk9X3sJuYhgygHdclTRIRGrgeRZ7jeAG5\nlpcOhgMoFJUS2mRdSau0rmo8Vxbdfm/EcrkkDHqooibNVxhGzWI5J04izpw+RVlJWHhVVXhegO8H\nFHlEEgtitnnnmwI1TVM6YagDTuT32d+/QRLHuK5FqJG5jmngug621WBFfrDT8oca6FAURbtzw62E\n52bxtiwLwzKodS+rUmC6DiWAbXHl2lU+/Wef4qH7X0Fou5w+e0Yqm1KSbhzHwQ8CbMsiThIODg4k\nEMH36XRlcQ5DgcoL4rNuByFND0um+LTM4kYn3VQVkpTiae6vZFcWRcl8MacsS86cOaN/L8WNGzfa\n08DPf/DOYcw3v/K5tg/cDG6bB9+ybWzHRimpcAxdmed5TqfTIYkTTOtWQnbze8RxzOXLl3VluxRm\n9fGxgOl9X6DzlBiGxWw249y5c+zvHXJyMmv57EEQatOFiW0YvPrVr+bG7nWOjw4ZDsTcNJ1OGY7G\n8tKZpih1lMS+VbU8xKZhslgs6Xb7UIPnilY+7HRIipjlUhb+1XqN5/qYlkW/36Pf61PVFUmccenS\nJQaj7VZ2ahjiyO0PBhgGxHFEFC2J4xhVlVgac7C5uUmn02GxkISV2xOCmjaP5Tp4vkTYhaEkslQV\nROuY2WxGVuRte4bKZXt7i243xDQNovWSui7xfBvbBN93GI9H5EWKynLyLCfN5KhfVlDVJobtcnwy\nJ4pj1lHEdHOLYd/Fc0x8z2+VVwOdAlOWBdFqjaoUnuuxjsXAlOeZbqMIelhViuUq4urVa3T7A3r9\nAYPBSJ82EspCWh2qFEyFbUsiURo1C7tLqTL29na59767Wa1WmKaDUVlYlgRxW7aBBC7XGJbZ6smz\nTGL98iz5LsZRs7jfrjqzLVGyeL5HqW7hUytVoyoFdSNJLFF6QPrOn/qZO96bv/z0Z3BcGY4LctbG\n9TxUJSEoVS2ZpHVVYWpVUFmUdDud9h1qEMcGEK1lCCqpSakuqmo8T7wDURTheh6O6xJFMWki72CR\nx5obX7Q+kuOjwxahbFmisnEdF8yaaL0GKiyjxjIMXNskSxNs22pbTKZpft9U+h/aAv6Vv/1U+2He\nOuIY7YcOmoeiFFmeE3Q6ZEVOZRk4fsizVy7zja89yuZ4g2HYZWtjk7V+aJob1kgDgyAgCCTluhly\nFGmhlS7QJGkAmvlc0+/3W6ZxUYiRgNpojTQNBzjLRCve4G1dL0BVMgyVdPQCCQYu6PW63Dy8yTe+\n8XX+l3/7J3fclye/8TckSdJuJI0+vjmVPJ8TDPKAN8aB5u8qJS2XpmXkeSJfzPKcLM2IojWPP/4t\nah1qXBsVx8cndHt9Vss188WKvCjw/IC61hWUaTAcjojXaw4ODji9vcV4OKTXDXFdh/VqTZwkFEVB\nvz9ge+cUm9NJKweVnEkbCaUFA6nUO52eqIXsWrcRKsJAUtrzTAajk8mk3ZROZjMqw8exXU5mMzzX\nw3NlSDgajQBRQ3i+S1nkpFFMqVttG5MJvX5Ph+6KtK2u5NhdVxWpylvut2lYgIXr+iwXa5brVauJ\n9jwPo3K1A9YnL1LyNMZxLdbRnCRe47kWo9GQbjekUoo8y/GCDqtlRG2YrOOM5TLiyrXr3HPfS8Rl\n2utRlxGWUbWLnWWYWJZDXVfkWS4c+ELS5g3L0FphaaepIidNZVN65uKznD5zhiDsYloWnhcINwip\nWCsNiBOZrBjNXC3RhZqqLtjdvcpDr3oFeZ5jmjau5aMU7fsFlYRJ3yb/dRxHnlstx5Ow6Vvveavs\n0u96VdXUGPpZF+WHZcnp3Lrd5a3/541vuXOI+dlPfwaQAkwCw+UztUyR69V1o+Q0bjsVOIRhKIux\nphgaiKomCKRqV6UCI/+uTagGPM+n5dtXItk1TItuRxKRan1f0zRuW3W+7xBHsbgwbQvDtjk8PJC0\nLsemyIT1rlQB2sBT68i21/7Ye370WiiLxeK7ZGu3W/K/K+TBsAQobxnUlcLQsUxZlvGtb36T/+oD\nH2RzMKbI8tYoYJomvrZdu64YRBaLBc8++yx1XdPpdDi9c5Z+f4jruiyXc+JYFpjNzU1tVImYzWYS\nBquddmEoLruGs1BVkujS6/UBOboeHB7guB6dToDtWCwWc+I4xbYtLl26xNPPfIff+Kf/PbzAAl4U\nhe45Ri2RETQX/fagC2S7adosjXHDNAwc18W0LNI0x/GcViNvGQWuLcG6vufw3p/6KWlPXH6Oo5Mj\nJuMJeSHtpCiK2Tl1hmu71/E8D88wWM1XkoDj+QSdDrPFAtMyyfOMo8Obbaup3++ztbWF6zg8+eST\njMdjtrY28TxRSuRZTqVq+v0hOy95CavVmqqqiXIJHq6qirqqsU2Lyc52u1FGUcTu7q4YP4yKTmBz\n792vIsukZ960s46PD7XKRJg6Ozs7OI5Dtysp9uv1GqgpSkmtL4qidfuONkSjPplMMAyL/b2bHB8f\nkaVFu6GfOXNGhuyRVO5Hx3OKIqcTBoDF9tYp+oMu68UCqDk4uEnY62G7Icqw6Y6GHB2eSPweFa96\n8OWcPXuO5WpFJ+xQlBamKaed5XKJ6/vkWUGR53S7fXZ3b7TvS15mFGVGraRgsCyLC3ffTdjpMp6M\nOXf+vM7tlI0w12nsZV7oKs9sq8uN6YSqEJmb6zqUZY7juBwcHGIY4nyOVILj+DKM9D1xg8p/kWUp\ncRy1bllVSLukVAWWZbYnyuZU1+RierpSlkLBIgyDW2sCOqC8qqUqVy9MNu12AkTUeCtbt0KgcuJB\nEL9ArmPrAt8jSyMWczHWVFXNSmOfO0EAdY5pKmpL6ValPCPrdcS5c+d0de6zXK0Ak0IHrcdRpDci\nQyvZZBMOfI+6UoSBS5bGeJolfvnys0xGQ4mAdEWi6Hsye6tqiWr7fjRX+CEPMRuNa9NGaVoGzT+3\nbc329n3SqqSkoqRmd3eXj//Jn/Lut7+T7Y0pvp4qG+6tnMyWWoj0YJtqttFIy3C/YZAD1G0Aa7Ox\nNDJCQ/ed8zwnDEM2NjZaY0OzYbS5nZZFURbMZjNMy6AqpV/2zDNPc+Geu3nPO99JFK143Zv+wR33\n5Wtf/PR3DdeaHlqj2LF0JmbTG2+uxlDR/CyG5J9roHzze6JZEx7QtKkUWZ6BNrXM52tOZjPiJOPa\n9V3my4VYjRcLFss5YSjO0vl8zng0wKgrPNvmrnNn6ff6hEFAVuQcHByyWq4oNXskTRO63U77wr7p\nx95MHCeiBc9yXMfDdOxW+tUMepuTRaOfbU5XSS5DQVVWeJ5Pnhd0wo7+rMB2bJ3gs2C+EC10mwCj\nP8NeT/TvhmHQ74t23nSk+k6SlCwrieOU8XgKyLCrpsYwxTjjOnqIXTfOXZHJ5XmG63rEcUwYBERR\njOG7rKKI+ewE17ZJkjWnt0VT7rqODmzRieS2HPcl2UaeWct0SOJEjDu68lssFhRlRlYkuI6NaZgs\nlwuuX7vGYDjkoYdeRVbkOI5HjYFju9SV/lnTDMexybJUvysGtmOBqto/u65DFC/pDzr6BKdQRYVt\neYBJWRby3hhQ6VOaZVkMhwPKssA2rVbvbZgGWZqK9NG45XRWSuG5PpZe3G9vnQJablng+5L4AwY/\n8a47nZhf/bu/pSxEoVIjLUdVST5rY9GXLFhpc5pWTaUUgR/ofnVT/Ck8z4FaWnGO41DqU7zrygLu\nuK6cELSiqhmOSxu1wHEckXL6PtF6RZ4l+tRh4nouviepUzunz/CdJ59k0O+RpQmh71Hp+yPzBNpB\n7I9kIk+zSBaFwG0ajeTtTPC6rsEwmS3nBIM+RZ7jhQFf+Pznef1rXstLLtxDpd2OlmOxjmXQ2Gh9\nm+ozaxLkq4ogCBiNRlhIxSbWbRloCchdWizL5RLP89uFdHt7B8Mw2Nvb4/HHv02WZZw6dYqzZ89S\n1zXHx4dkWc58tcC05QGcTqd887HHePRrX+NX/rtf4Z67z7NerfA8/wXvSXP8lIcgaxfyxnwSBAEV\nNZ7rthuLUqJccDyXWn/4jmNRlZUoCyyLKFqjlKAHKlWJsUYPnSzLwrEcoihhOBzguB625XL+7gu4\nrssXvvh5DKMiLxLquqRQBkHoEUVrtjY3OLW1zf7+HteuX0WVNZZtsb29g+f7PPjQQ3zt0a/wkpe9\njLOnz7C5ucHx0YmEzW5sSGVkmJycnFDWZvtc9Ps9ul237UsuFgvm83lrThpPx20rRpUSbnzz5s3W\ndej70pM/tbPN3RcuyKB5PqcoCrIsYbVacHQkp4bNTTFv1bUiXi8lG9LvkqdLet0uRZ6wuXmKbqeL\nZVmsY/laN2dHokjyhBuyMRjiedJuieMUy3KYL9YkSUK8WBIlMVSK+WLBoBty7q4z2IaJUSmqskAV\nJRQJSVZi6BABy7LI01y/D/KM3Njd5/HHH+c1r3kNpmUShD5hEGq/gU2lRF3kea6w9MtC2nyloq7Q\nTHtZvB3HYTQaUZQZ6/Uaz/fbYqCuDcJQuC++7zIejzFqE9MQc4koSqRdk2Q5aZoym804OTkhzzMc\n28IyLY1g7uL7Qfs+3t6SME0TVSlynUp1u6S4OYmnSUaWF6jqhRextMjo+n7rgHb1+1HWFY7joiu0\ndmOoVYGBDEsty8L1xBVpUlOVla7+FUVe4to6mLmG6XQDy7Rb9ZfKMwpV6vhYgziO8D2PVLdOHcch\nDAOgxnEkMNy1bW4e3KTT7dLvdbFME9e2pHevJ5a+L9Jlpaof3Qr885/79wDtBwq3JtmNQkV2Un28\nCDziPOUzn/4Mzz71NP/FP/gZpuMJSpXcPDoi6HXpamZHI19qXFGNHAxoZU2S9dfD9wNWK5GtNT3t\npscteYw5IEyGZjDW7XYwTUMHqC5ae22WpWSqRNWi233sscfY2d7h59/3j8GoKfNCBimmyQOv/ok7\n7ss3v/xZbQ+3da/davvhq9WKUJsAGkdoc6JoTi2e5+mhTIHvinmnsfPLIgVKFbqf7Or+Z4nUOgaS\nAGJjWkLJ+8vPfZZPffrPGU2GTDfH7O3tUWEzGg4wkRSkXicQzfRszmSywWg0Jgg1j8LzmW5sEIYB\ns/kJWZLS7/XY3tqm1+3roGOF57jYvigX5CRRtL+XUCtLvehkpFlG2O3KHKMoydKCyWRD3IuVGDLK\nssD3PZarBVUFeV7Q1X9nHa2lmq2lml+t11DLO+56cPPmETs7p5hOt3BsDz/oUFXNhKQWO7Xn4vqi\nwMnzUoeL1Bq6VbB7fY8g7GAaJpPJlAwlcDPToK4KalUyGvQo0hQqyae0tZQuo8LWn6OpVSqe53H1\n6lWefvoiL3vZ/WxsTEniRKpZamzblDQXA46Ojuj3+4zGY1GHaEeoUrVOsNdBKKp53rN2ztLxA30P\npc2xu3uZsOuxtSUnzsALUaUkrgdBILLHSmFrBRfQ9rjrSlHqU+F3L0IGWZbKac6ToaPt2BimKdLI\nWu6zCBwk2Ftc2NIrf9NPvP2O9+bP/sPHQSmMBjtg22IgA8morG6d9GsMbFPCtStV4bqy8SmN5GgN\nSEBVlRg4+p0SIikgfXal0F0a/fcVpgnLpQzQTVPCjjudDkkS4+uNbL0Wb4RlS4uPusYyhFPj+57e\nPGv9vAk2++Wv+t5OzB9aBd5cTQhqMwQB2qmwbdvYnkttmZzMZhyeHPOlL/4d733Hu6jykjSKsR2H\nM2fPktYlfmWxXCxFl2pKQnQnCEmzjEopqQg0pGixnrN7Y5fFYsFkPKHb7dHrdYnjA05OTrTuN+X8\n+bvp90YMh2M6nS5HR4fkeUEQeIRhQBj6zBczru9ek+o39IjTlMe+/nX+yw98gNOnz7BaL/E9DxOD\nSqYTL3jZlo2nj9+2JSaWuq5xHZcgCL+rLdS0UZphV9N+kDQS4X24tk+eZ22lLj1yp7U9V3WN60qF\nYdg2eaaYTCacnMz5+Mc/zjMXn+L8XWdYR0tmhzfpBh7zKOXo+ICqrFBlzqseepA0jQnCANt1ODo5\nwYsTzp47i8pL9m/eJNMyqtFYQp2f/M5TZGnGm37sTTLfUDVlXcgR1zIZdHtQQ5qlJMmKJE306cQk\nDAPN2xAlRakKLl26pPurPpPJSLdqfLp1het4LTflsW98g5e+9KV0NR+60fK3dvM64d4L95BmOYZh\nMR4Npf+pNe1JmpAkMWkaYURGOxdpipAkznj66afZmA7pdgWnoKqKwHJxHBnqdfpd1oulKE2cDnkm\nJ8NC1ai8pKA5kZq4XkCaply78hx7B4e89a1vpigKut2AJImwHbt1KdfUdLtdMYrU8tlESdZCp5oq\n0fUcnE5AEifYdgeoUUoWTJUXLdHRsmx8P8B17VbpFPoBlTIwjCZ8JUdV0l5sTozS8vBxLBvbNlvP\nRNMekXmQqDcWi2UL1cKgtZvfDrnzPA/LcfWC/8In17DbwTHQYgKTUilMy8KoalQtYCwwqA2p7ANX\nrP+1VWOaUFeCH7ktOh3LsaGWeZNp2Zi+jePY+muBraWShcpRqiSKlywWM+oaBoOBlv8WROsVk8mk\nFVWsVivm8zlnz57Fc13KIqMsSipVEseqhZJZtgPUmkD5va8f2gLeHNWaH/j2D635j2VZpJWwFbZO\n7fCHf/xHPPzww7zi/geos4LZ0RGVCdFujtMN6eMyHA6/S54olu5B23NTpSJXOYPBgPF4pAFABUmS\ncHh0iGVZ3HXXXYzHgoxcryP29va5cuUqdV3T7XYYj0fapltxfHyEZZucPXua5XLJ1x77BlgGv/Ir\n/0QcjUmM63m6KnYxDBPHdr/vvWnA9M2CnCQJjudS1hWVAbkqyVVJoVnQjuOwipsBikleFhiaMdFs\nhEDbnmnaVHKEtajqiiJJ8NyQw8ND/v7vv8IzTz/NaDRktZ4T+i6lKrEdi05HhoqOZbG9tUWpFLbr\n0PVCDNOiKGPObd/N7o0b1MqgUgUPPPAApmlydPMmT+89y3g4ZHtrm6eeeoowlCrl1NktXM8jy3JW\nqwUgJ6kg9Oj1Q6HR6WouWqeMRmOqqhYjVtIcmy0x78QxzzzzDMLmEHpkmqa85jWvadt0ZVm2ksuG\nUVMpEzcMsEyLPCtYrRZYlku2mLWQr42xMK+zUlGUJYv5ilKVpKlIDXd2dphMxnohEjWEUdS4rkg6\n48WMLI0xjT7rtWjNTdPBNF0Mz6HrBgQqb5ENnuvw+Le+xQP330+aRriuz+7uNcEXZBlGVRMEPpbr\nspjNKApB706nU/xOKBjXIm/nKXG8lsGc3jgc3RtO04zNyYY+xYHv+cTJglV0QhiOOT4+5qQ+oa5N\nXCfQJ2U5jXiep3nbblt85ZlouhtXdeO49v0OpmnhOAaO49Lr2eIW1s/n7Yor03b0MHdNHCfMTl6Y\no59lCZbrUdcVpao0JsEmL0psw9TYaLOVFqNMfepQrSJGDD0mDZHTwMIwaqqywDTE6JNnRctNb8Bv\nqi4wjJooXuP7nn6uFFVVMx6O8DyRHQdBwHw+J88ymaiYhsYYWJiGgR+G7XNYlqVGXlj432PTaq4f\nYgUuU9rKkPNrQ/Wr8hLPcVFlQVLk5EGI73p88fNfIF1GTC4MJbuuP+Ts+XupTZNclcRZSpkkVIZF\nbcJinRDHJ2RZgeseMxj0GY/HOJZUDIfHc+m39nqUFXS6A4JwwHq9xrBsdvf2sW2H4WBAfzgiiiOK\nXHrpRZ1zcnKs2cYWWZnz2OPf4rHHHuOnf/qnefCVrwRA5QWubVEppRdvA99z21PH869SV0+WLRD/\nqpLetqtph5aWYRmGgemiqYj6eGhY7cOoMKnKCsfx9AvZ7Oy3DYgtYZRAjSqUfvgLvvzVr/KNb3+T\n0VQY0o7vQq1w6pqqUKh1zNbmlO3tHZ3AHTCabPCXn/0rLMfFCzp868nvUNc1vbDPdGPClWu7FLoK\nf+m9L8H1XC5ffo4rV66QZ5nWr0vlcnKMPmIAACAASURBVPbsac6dO6fVAXKsTdOUspBWgmmZ9Ac9\nkVthkiSxqHRsaZVYlkW3G7K9s8VqteLrX/4yd911js3plCzLcM1aq3ogjhN8x6YuM6JkjWkpDFNm\nI8PBENNyKDXhUFWl5BgWBoUqME1xErr9PnUNSeyRrhPMGqK5LDSmaeD5Pr7jkkYp/U6XxLJxLFNa\nKVWBUckCZFg2eV4S+j4GNVkskthcFQz6HUZD+T6GabGztU2eF2RppBdhg7xQOK4r4DXH5ujoiO3t\nTVCKVGV4vocbhKSWTaUqKq9qNy/LNgj6LsvljLqqRd+crAlDn6vXbnD3hXsZDmh7wUqJUiiOEyql\nKOu4nRU17UfbFhu7Y9uEnS41tfZo5ORFgWO51MhpW+WKVLefHNvFcVzyUjHqi0+g0/ExDAsGL7yS\n9DtjVJZgmxaeK1V8kaa4npxglXZxGnWFgQGWaNYNu6KiBFWhqgLDMIVVVCvqSoiZhilKGtMQF2ae\n52AYVErpxV7aMJ5tUCILse8HuLZLlpcURYzvB6iyYDE/Js8yzpzeoROKK1OkjzZVDaWqQEkL2bR0\n7q/6z8jE/P/ysm0bpV1K2rEgQyG3Q55mgEknDLECl93r1/kPn/wkP/mWt/Gy+14KqmZ3b488KzEs\ni26vS9jtim4ZgywvcD2P0XjS2lqXyyXPXb5CHK+ZTqds72zS2OqXyxVFXmLrhBQwdF9VsX9wQNgV\nCE5v0CMIAr7z1JOEYUCSxNQG/N2X/g7btvkf/tk/w3dclFaD2NpGbun+ZlP1NWEVz7+aPldd11S1\nDAQFHFS20iugtZjXlQzwGhZGlsrgS76fge8FFKUMmMS0JANaQa9WlHmO57qCGrVMHn/iO3zl0a8w\nnmyQFTmqrrANE1UoLMNguVxx/q7z7OzscO7cXdx330u4eu06g9GY9//C+/n6t77FweEhvh+wWCxw\nRi7HJzPyNMazHTzX5bnLlzWZruCuu+7i7rvPa5lfj/Vahn77+/8vc28eZNl113l+7n7v21++3Cuz\nVpWkkkqlkmxZsi0vwpa8DGKxaYwxYTOMgwgmeogJEzM9MwQEgQ10BG2M2bqZMTTtNjYMDGAMEosF\n8iJLlixr32rfMqtye5lvf3c7Z/4459x8pQ1iIjo811EhRy2ZL9+793d+v+/vu1zh0UcfpdlscP11\n15JlGYuLC4zHI8ajMYnQ74nj43seQkC/31MThWUxGI5YW1+j1+tx49Ejiu87HBL4Pv1BjzAMSdIE\nx7WJol0bBGllCAFRFGnKYY/heIzvqyW354cT01FaUEpFnrO6ssrevUtMN6cUfKc7Tsd2SNMMy7YZ\nxWM2NzexLPXQ1nTCTcliN/3cdsnSlDxX8NhgNGR5WcUUWhZ0dzqKKmo7yvPGVs9NlmZY+uAPAsVH\nbrfbTLWaOGMVxjHsD7X6URUFz1PqXYX/OpSiUHHxgVTkBL7PqVOnuP22N+okpoqGGSSlUrmANRIt\nk1f3akqv11X8br2DieNEd+Y5YeiDrRK5gjDEdSwsx2W6VgNpMRorLr4fOrTbmwXnXP1XcvurPDf9\nQZ+SF5AmsbamVc+DhaLzeY6L5RjDObAciaWUHUiRY9sS33GRUuH2Uqs+kzghCH3G4yFC5AXpwhx8\nBlcPggblUoT0FHnCHFCu62FbMB6PaG9u4Do2c8t7qJQjxnoqgd38311bXlGgEZNss1eto6/7p/+N\nrygMVSeol0NxrHma2jJVau+OUydOcfOx41TKVYIwZNTrs3//ftI0oz8YMI5j4nhcMBKSWAka1tbW\nCt8LRf9rMRpFSAQnTpwovDGazSZhGJHEaQFZDIfDYoOOpZRhGxsbejRWnYNipDzLe997D8eOHSvw\nSPOBGGtLM35PQiOvdhnGDFB4PE9K6ifplSaFxXW9gg4ZahaBhY5jElkhbU6SRIskHN2xuoR2iVwo\nz5QsTnn424/QaDSKJUwpjBj2OyAEaZ5y5PojtFrTHD9+nDCM6PcHzE7PcO7CRQ4dvo6j1x/h4sWL\nJMMhS4sLyv40FywtLVGvVBgNB/Q6MXv2LBbK1pWVVbBtylHE3Nyc9u4ec8stt1Cv1bAsBXecOnWa\nVmuKSqVCZLk4js3GRpsXTp7URVFNVmimxWg05OjRm3BDj+5QQUnxMKZSrjBOFY3Otm2kpTq0PMsR\nMsW2FZ3RfB6+p6K5hBC6QBjaqEOtVqJeK7OyskIQeNTrdbqdTkEvA83V10v5PFfhAqPxkMFwQD6U\nSNSuxXV9giBirL+HZVu4QC5yLct2sG2Haq2M74VKgi5TQJDnmbJwtRwc19POfwLbcjlz6hSNZoNS\nVFZhII5TBFggc7I8xrZs4mSoMma1SZbjOiBTFhdmOXf+LIcOHVTdvusjtcVAngvSbEAuUn3/eThO\nUBSiSVEdAFIyGqgFcpIkdIfbSJR7ZhSW8AMFzTi2h+86tFqt4tmY1Im88pIMBir/Mh7Fyn3SVXXA\nuBxalg6EcV3STCX1ICDPUhKRgRAKipfGy1/BkINhD0D7JanD3dhoTE4clmUr50nXVR7xjo0feMhc\nsLMzIEkSZmentTAwRcpdBbpp3CbFepMw8utd37MCrpgfGbZZxnmhMv4ZjghKEbkUCCTjoeBbDz3M\n+9/7XvbML9Dv9UjHMeOxwgnrjRozfoCQgpWVi4o7HFXYt2+uoJqtra2xsbGmKIalgD179rB//z52\ndna4fPkyJ0+exLLUUurQoUM4roUtHLrdLuvr6ywv71GQRp4roxkJ//B3f8/S0h4+9cufZKu9QaKX\nOI1aTTm6adEC7CaRmA/dFN+XX5Zl0Wg0ivxFI8k1S0gj2jGjlxGgmK7A8JyN4ZUJdzU3glHsKWVY\nqBdzY4Ig5Nc//WmmZ2cYjcc4jpoeut0dGtUqO1ubHNq/n1JYolZrMDe3oIQhSQaOzc03HeM73/0u\n199wAx/64Af5gz/6z5QCnyQZ0+12uXw54+x4jGc73HLzcdI0ZbvT5fTZc0xNTVEOI2zL4Zmnn6E/\n6HPs2DGazRbPP/sML774ItMzU7zlLW/RrIWYXr+jZfcJt9xyM6PRiEatTpqk9Po9Uo2/9no9/DBg\na7tdHFyhyBiOh7v+59LCwUEgKEcRWZYzGAx0dyQol0qUdCKNKUjKbG1Er6s8roPAZzDoMtNqsrW1\nXXxeBlZItH2tZdts7WwTBMriYThUS/jW9CxJomie8Xis1YTGKC0ki2PSCUtSREbou2C5xOlYf7Z2\nQc8T0iKKqog8ZXFxgeeee47vfvcJut0+1113HXv37lVUWsfRZmGNwuLB0uKXPE8Z9vocveF6/vZv\n7+Pg/n3KZ6SmQsaFsLAclLGTY5aaGSPt+20us98yC/haWSVKZUL5hBu/oOFoSK/XUSZwaU4uchVo\nrpufyWi/l1/NegnbUhhyY6pJksQMen2iKMBxTSwgGlvO8ANHH9iZWp7aFmkuiEdjskwFyIg8ZzgY\nYrvqmRqP1d7FWNIatgsopaxt27hS0Nd7p1qthmNbamLUOwnfV5myahkaFlRKuLqImwYQeE24tagZ\n3zMvlAf/ChtwbUcB9ji4gU+SZ+S2Bb6L7Tj81m/8LjOtaY4cOcJUrU4UBnj2rvNZHMcMxgoWaDTq\n5LlayIhckGohiOM4WuWW6A9jpOXX5s9tBlpF1e12C0aMKY5K8KHe7JdeegnP87j11ls4evSo7p4c\nxrHiKOdpWhTwSUdBg12D4jpfd+zOV7wvLz71DYDiYZgMizBLKNOJm269gFD0AkhKJTYxKUaT4igV\n7KucH4WU9IcDwijiiaee5rFHH6PebLC9rTxQsjTBtW221te4/vBhrr3mELe/6Xb6ccqlCxfZv38/\nuYm1SzPSXPGNy7UKa+vrvPjSS5y5dEGxfxyHzk6XRrXGnsU9+J5PngvNZ1cUtmG/j+e6zM3NkWYp\nL7zwPFEYsrS0h+lWi3Z7i52dHcIooFZvYewO8iwj0F40rn5QXUd5SO9sb3Nu4wpLS0tq+slyRnqy\n8nRRkBKEhrbAjNmW/rlSdUhZxiXTK6A+17VJE9V5pknK6uoqlXKVer2O5/nF5+L7PtIoC23lrCdE\nju3aysGw09VRajYSS+e+WloAoz6zLM0UbVNPksqpUWC7tqYRKodAldKjlJVC5Mg8Y219jRdeeI4b\nj97Evn0HtKgp0/eOrambmYYIbEMIIc9jyhWVxPPzP/8L/PKnPsmgPyIIInIBavq38FwP28kKponj\nuEXBNJRAE0sohECMJZYtNb0w07seAyU4+nNQfHFhOdjaLlcdTII77nyllP6hr92PFLsLVM9zCx8Z\nIXIsnbLl2CrXMpG7zI48yxiPR+Qix9M8dctSnTmAICcIQmXopqFJKdE/p6Ioepq26IReAdOkifK/\nkVIQBQHNZl0HpyjK4iSzctIWwzz/xevLc265/bUTeb6nLBTXtnEtG5kI/CBQIpUgIrWgMx7w7ccf\nY2Ntgw/84A9TKpVIhiO2t7cZdHtMTU3RbDap12v4gUcuBb1eV1OPIhqNRoFRbm+36XYVX3tuboZy\nOSJLJeOdDlcur1EqhwX1p16vMxgMWF9f18KREr6v8g7vu+8+PvCBD/DWt75FLdayTOOlaRFcGmqP\nDUNRU3xZUQiXTAf3aleeq+6vWq0WXG/zwRn83Bwu5gAzogXzy3zfwXCIr/1QpBD4nk+SqeSdXCrY\npFQuk6QpJ06eJCqX6PZ6+n0b4ToOm2trHL/pJiwJN990nPZWG+H6XHv9EV58/nluPX6cK1euUCqV\nQLqsbKzQaFSZmZpi37vfxdOnXuSJx7/L6dNnFQ2tUqE7GFCJJGARhiUNs+SKceC5rFy5TLvdZnZ2\njr17l7ly5QqPPPoo2+02b37zHSwtLbGyukqjoQ6baqWCH7hkqVLX2Ta0N9vs6MO3UorYaW8RxzF7\nFhcRWUK5WVfB0rnCzLNcFeIgLGFiycbjMbZtUyqFDIcjbNslHitVXblSIY0zpqaaCAGpa7OwMI9l\nKSZDkoyJY62MxSIValFfqZYoVypKSDVSqTX1eoNev0+9OYXIIcliXEf597ieTZomBS3v8uoqvZ7y\nUS+XKyRZgpCKL27bmoqL2rnkeUp/0OPMmdO86U1vYnFxUQmD4qFmWQgcW9+PDuSA4xh/EiUGy9OE\nIAyolEO2NzdptKbx3ADL9shzSa/XZzDok8S7hmC2bSt6o2UXE6fnK49827bxfA8std/JMc1IiMgV\nq2c8UiEf6nWFWmjj66711Z+bwHfp9kY4ro0lJEGglKJpkipPFilBCnLLRliQW5k+SFV0WbVcKlgp\nRgmJVFBlLrXvjKUwdVW7DJ3Q0hi6+jlH2ibYGI/lubLgqFbKxUSuYFS3gGRMs2aKtplIjH3Ga8NG\n6vqedeDf+tqXsYSEXGBJhb2NkhSvHJEg6Ccx//H//H3efPQ2FhYWiIIA17GZmWoV3a0KLY01v9XH\n8YJCXJAkiaKhRdFV3fRoNEIIiWP7xZ/lIi3oTkmSEIZB8XXTNOX82bPkecY999zD7Ows/X6/kGfv\nCmnyq7tgS0l6DR3MvAbz5zfe+s5XvC+nn3+kGD9fbrE7KaE3BVx9uMrDuFCfZRmOqyABqbtcKSRp\nkuC6iqWApeTatuvw0MOP8J3HH1eJ3qMRtm2RxjEiy2jWayzMzXHz0ZsQWc6+vfvoas+ZzvYOrm1R\nr9eL12y7FqdOn2JpaQkhJUOZK4P8+Xkef/wJkDAajtmzuKiMwTLlka08kCFNk8IHvlSO2NzcZGtz\nk/m5Webn5xkM+jqwNmT//n3Mzy8Ujm6dTgfPdXAdm/n5eba3d2g0avTHY2Uha1kEfsDMtDLddx2V\noel5mrJmWSRaFq9EX1qSnSsB187ODuPxmM5Oh36/R6YNoK677jparWl2djosL+1FSotqtcZoOMRx\nPCzHxnIcHcqbkqQJUUlJ7FWHn9Lt9mlv79Dt9hFZTqNR174gIcPBAN/3GA4HmBzPMCpR1TzzcsVY\nCKj7K0szkIpxNBj02Nra5NZbbyHT0+fkNGfUypMHvxrfdcHTTo5//TdfYX5ugcPXHdGCKbBsxZP2\nPF/pCyayKycpmoZyp6LWtMsgUgvKMmUTK4U+gFxdHBW27Fle0X2DeobedvcPveK5+Yev/DGJkFSr\nFaU4lQJXTyPmZ1NTRUaeZ7haqGTgIlPMheGPT9Qpwa5QzraMtYajf+n33Xiri6yYkNM0IQg8KqXy\nVXXP1IRJQ6+C++04ReNgpm3btjly89v+/9eBo7tAbNQyQUqiSplY84pfeOJJZloz3PaGW5FCRT9d\nvnyZ1UsrBL7P9PQ01WqFZrNVFN9MxAX5X0pFgu/1ekVG3tRUi1ZrhjzP2dnuajzKw3EVG0WNlWBM\n+++//35mZ2d533vfw/LSEr1eryjYJsfP3KimA/Y856rT09zMBrow8uFXu0zBVurPXW90U7jN15w8\nKEyEmTkkzIcupcTxNafUjPppShbnCsO0JOQ2//zgP3Pw4CHa7ba2sh0gs4ww8KnXatxx++3Mz80z\nHgx56umnufGWW7Ftm3q9xvmzZ5meni4mCsWYWGYwHHLo0CHWul263Ze4664baW91+I3f+A1mZ+eI\n45SFhUXSJFWCD9sFW2ID1TCiUi3T21E+LKVKme1ulysb6+R5zsGDB2k2agxGI+77u/tZXJinVIoK\nmEQC51dXyLOcje0tLZyStKamiKJI+7KXcCybTGaMhzo41/cJJpZItm2xurrCs88+R7/fI9QOdEeO\nHOHaw4eYmWmRak+WSEvZhczp9/oEga8i1BxbL8VSrdqzCHyVcg5SR+Ntc3l1jdnZOVpTU/S6fWq1\nepH05PkqxxLbYRgrmGr77MUCpphpTREEIbOzs6rLdl3CoEyvt0MUKd8eUwx8zymaEiwLz1UBwmmy\ne29anldQBcFiPE44fOhazp0/z42uQyJzyqUSO9sdSpUqyBxLekryr3F/QOkDHIfA8wk9lbgjRI5b\n9kiTWNH6LAUcYSnIR7kF2vpwyXAAKQzvRUXNvdoV+C4ijXHsHMfVoeSOo50awdM7AiFs8txBSmWF\nq54x5Z9iOY7K22U3HjHPc2zXQgqU82Cuum2z08pzgeuqMBFQ05zQ0FC1XNbTd4Zt7yaPOY5Dlgmy\nbFy85wYSnWzQTJP6WrXCXN+zAp6LDJEpvNbV2Nk4SRR9px/z0Ne/wfe96266nW0ybUm6ODerTY2U\nZPXcufPk2pSmVIqwvQDHMd12XjAwZmZmVM7ecMSlS6tIQeH3qzDuMViqsG5ubrC2toYQOR/60I9y\nww03gMhJk4SZ6ZbOtxPUqlWGmtVhWxautqRMk7h44yc7ccNCmbSEffllFhZG9m8+WCOZN5f5ukBx\nepsOKkkSbMfGdlXX4Tm77JcgCHCkKorDeMz9f//3NBpN2ltt8ixFCltxljVvff++fczNz9Pr9gg8\nnwOHDrG+foXZ2VlAsrxvLydPnmR5eZlcKlGIwGW0vcOLJ08xt2eZXrfPpz75Kzz1zDM0mi3iJOWJ\np56mUqkRhWWEtHBsizhLiwXtaLNNmsT4UYnm9DSbmxtsttuILOP8+QucP5/Rbm/TaDRI8owjBw9y\n9uxZur1usdyt1Wq0pmdoNuv0ez0unL9AHMfsXVoiiCJc18ZhNzgkThIG/b4yIRoMuHjxIltbWyws\nzLN3+TYajQblcrnwgh/0+2okdl18z6VZr5FLSRi2gJww8nBsiyzTqe1SYdNZpsyihr0eJ186Qa3e\n4Prrr2XQHzLoD7As2NhYK+A0oUf6JElIM23M5IekqaK/rW+1abd3EPkzHDxwgIMHDuA4FtvtTU6c\neJED+/dRq9cIAw/HpgiwNgtyWy/jzMSXJglhqAp0uVwmSWJmZuZ4+OFHWFtbY2FhD6Hv02o1QKqk\ndmUSqLBjc3+qe1xn2OYZMsvIsoT1lSukWUrgugShj5LNa/qrZZPlyqccoOQrNpAQAiHzwg73FbUk\nyymHIYFe0NsaylKvQP15livYBEvZ6e529upF25by+Ex1w2XbVoFxZ1lGuRxoCqbmzjsOjmNpmuRY\nF1r1tcrlsm7ujEhRYpwfHcfTz216FRRq0uwNlPJ6jd7k9T0r4CLLcfRIn0sYjkdU63XiOOWbD34d\nB4el+XnKrqMXjzFZrjpTw9Yol8sgIUsV11Qp8yRJkunuu4sQuZY8V3Acl0q5SprmpGlcJGekaUqv\n36HT6TA9PcXtt9/O8vJSweLwHRsp1IbZdV1kntPTmLolQQgVaCqEQKCM281oZIypzGhl1JWvdU0u\nJM2DOzlimeI/GWFlLuVPHWE5FtgSx3LJtbeCmRbSNKXb7THOEi5cvEgYRQy6fTzPR4qc8XhEo1ZF\nap+Ira0tKuUKUlpKkOHYnD59mhuP3KBCW+fnyLSizXaVqdTeffu4cPEiv/s7v8eV9XXAZmF+D+3t\nbWr1BjOtGa6srXP4msM4uuOybJtMCIXPK9s9xvGYjQsX6Pe6jJOY6dY0UalE6MNUq0m31+PsuXN0\n+wNGsdr2K2VoQKPe5+kXX6JS8pidnWVhfoEszWj3Omx1tpmdniHUHh7JOCaKQmZmZtje3i7e78OH\nD+sFlc1wOGQ8HlGv1UAI4tEImeV4vsfm5qbiNQcq+3J7Z5tGo4mQamHnuVrebSv73SzPOXPqBMvL\nSzSnWuxsd8nzlCj0GceKv91ut7Fch4uXLiGEpNGcYn1jCwlEpSr1eoOtjStYMi9cHl986QTnL1yg\nFEXceMP13PsDP4jIUy5cXOH6aw+RasaK8SuZ9NExFrW+7/PAA/9MqdQkCDzVEDkQjxNGgzFrV1ax\nbUXRK5cqCCHBdrAdu7gnjV+M8jBRRdMPFPRTqoZkIsW1jBlbiuvUieMEKSRRVEHkOf1ej2otRJ97\natn8GsZO5VIJicDWHtraXFRPBMZGQDl0SiQyFwipuu9MTw2T74Ft2yCVkE6FVYSMx6r2VCoV5YmU\nG49zBacIIcgzQbNZx3YUXCbE7nOsnlUQIsGdMKoy39Nc5nNRcXP2v8hC+Z4V8FJUIs0FmZQICVGl\nzCiOaW9t8/xzz3HXO+7CFrC1uYEfBFSrVS13ltowRtG1wiCiXK7QbPrEuRIGjUbKwGrfvv34vsvl\ny1e4dOkS8Tghiiq6w1Wn3okTJ9jZ2eHoTTfw9rffycGDBwFZOBgGocqH7OuQ5clCqjjbdlF0zQiU\n59mrjkfA69IIYbe7Npg27BL9DV1wEhuf/P+2raPePKeIvLKxyKVgZ2eHcrmqxj8p1JShBUOe52Mj\niFNlJl+KSrzxjbdw9IajbG5ucfrMaZaX9pGLnCgKOHbsKC889zyLi3vwPI/Tp09z8JpDjEcjpmfn\n+Po3H+ILX/witWqLSrWmFkNS8s673l2oQLc2NnnsscdoNRW0UWrU9Gv3la2mbVNyLJIkRkhJKjK6\nvS7VWpXhsIeQkjve/GYOHDxEEIZ85jd/E9tx2Wy3cT2PnV6XwXAIMuX0hYtUymUc26FSKjHVaDKO\nM2ZmZqhWKmTATn/IysoVPYVtsn//fjY3N5lqNtUS0XMYDgacPHFC6QNKZUpaPu55Pu2dbSV2qZZ1\nVzYqph4VWqBYFqVyyMaGop0u71lkOBwzPa0yNB9//HFAqSiPHj1KfarJBxYXkbajgpiFxPUCVlbX\ncFwPmY0pBS79fp/Lq5c5c+Y06xubBL7HxQvnefLJGW6++Sbm52Y5f+EC+5YXi/vJdJHGI304HLK2\ntsaZM2d4z3u+H8eukGax5jM7LM4v8NxzzzI3f4RKqazzUSOCMAQN4WVZridMFTKhbIt3vXssCywB\nvu2DJZDCmI/lVEslbMshHiU4lsXc9AzjbFA8D6aovtplMHOgwNqzTEFAlu1gWyCloXYKZAbY6pmR\nuaIrm+fKPEOm847KZYTIabWmCjjWWBAY1ot6DQ6B5ynhVpIgZIbjOWAJhc3ngjTNGY1iRvmYINiN\nlFROkt5VwTamOfuX3Ai/ZwV8PBiQAZbrgusyHA6Ik4ynn36K1tQUiwtzZGlKqVTBti362vg/iiKd\nV+kW6qxuv4NtWcS5RbVWxcuV3ePWVlvR/4CoFBGEAWCxvb3BudOnqVYrHD68n1uOH1f/znNJxiPl\nFOY6OJriFKdjqtUqsMv/NGwEIRX7Qam6VNea53bRKU9i8q8l4DGXgVfMh2ZYK0acY2lBidDLGctW\nSjLHcXFd9TD2ukPVDbkOMhdYEjzXo1ark+oFk+N7nDxxkrIf0h8OVM9iW8TjEVONGtVymeXFJfr9\nvgppqNfpD0YIKdlY32Q8HLOwuMBWe4ul5WWuu/F6rqxvYNkuf/THf8KJk6eIyg3cqE5zZp7WVIsg\n9EnimKgUgZDs27uf6669Vo/ggl7cYbu9xZW1deIkplavUYpKBJHP5uoFer0dLAT1Vpnvv+se5ubm\n8AzjR+S8+Y238tDDjzBdr9If9BnsbCvDqzxn1OnxW//lN7h4/jzDwYB/euCfePjpZ5CWRalSYX5h\nnlKlTMP1WdyzBO02Zy9cYO++fdiOw4XLq2RZTOQHzC3OKa/sJGa1u0EaZziWRa1SZXZmBte2GQ2G\ndC5vMugqL3K7HFFrNrCkJE1Stta3uO0NtzEcKLl8v79Nngua9RpX1td511130pyaYjiKIU1J0hGe\npVlbtsXBpXmwbSxLYCNIkjr7lvfw1rfcDkiuXLlCZ2eby5dX+dYjj3Dl8mUOHNjHtdcc4uabjzE/\nP0e7vanojI6F67usn1/Hdmze9/73aSiwr8QuZKQJhJFSsTbqDRW44flEpbLSLLhKWOW6DkLoJai+\nXw010TQztlZdm0MNlEVElgsgxwkUTp+IpIgIRCpxEdarQyhK7q4DgTWESm6BpTpuoamVoNWOrpLW\nY6l+3ZZg2Z4KQwZsRy2x8xwsHTC8s9NBShVDGMdxcQAaxkkQKAX2YDjAcWw1UWaqGI9GsW60LM2m\noZjSDVQyOQFMduQGTn2t63tWJNZbOwAAIABJREFUwFtTLeIsJbdt0lyClVFvTPHkE09yz913g9QJ\n5YM+zWZTc2WVIkqlmahOItJ4ZhRFEAteeOF5fN9THbuvMLFxPEJIBQ889NBDBEHAhz74QZaW9hSn\nXRKPkEIn0Y/y4g2VUmojm6sXi47jIJL4FTl/L6cHGY9vg4ObheOrXeaDmxTfFB8sisdqqITmawW+\n+tpI5RMeBgFYaEGOiy0kCHUTKyZERrVU5tlnnqVZrxO4Hpbn0O10qNVr9Lpdlm+7TfuGD3GcRPmb\n2yoIdnZmll6vx6kzpzh27Bgnz5xiaXkvqZD8/P/xv3Pd9TcSVupcd+0RLLdErVaj29shckNCx8O2\nbNzABQvSTJLrLX8Uhrizs+zdv59nn3uebq/H2sYG1VLIlfXL/NiP/ghHrjtMkoyZL0+rCWg4xPdd\n5Qi5uYlngUhjkqES4vieh3Rczp6/wPrKKtUgYqbW4MVnnwPbptKo0e336fYHbHR2+PaJk9i2Q73Z\n5OZbbuXE6dOsXrnMVLPB7MwMtVYTy3W4sHIRe5BSKZUJbYfZ+Xk6nS5jEbPT6/KNbzxEqVqh0+sq\nGG6nQzwaUalUeetb7yQMQ2ZmZ+j1ekpcFjbVPZMlTE/X2dq8QhIPWVxcZqfdpjU9p5bycUzcH+GH\nAZbrMBwOMD7vZsHtui6tVpNms86Bgwcole7m1KlTfO3Bf+ab33qEf/jqA+xdXuIjH/kxHNsmSxMe\ne+wxwjDkzXfcARIGg6EKNkCwC+lJ3vGOtzMcDfVzpywnDM5tONxB4BaL+8l72uDNlj1hWjexJ7K9\n3eJsSrvM1VLTLIBfi1InESrEWLNqhBDkenkoi++tcWVLwYtSyiJJ0cICqYK7VaOkBICO6+l/q5as\nSsA1Lhox47xYrzeu2m+ZeuC5u8++oRoaeNS81izLGA5V9JpJn5qkBP9LOPj3jEb4yAN/wTCJCUsl\nhnFCVKnyZ3/+5+xs7/B9d72L0Av0QsXXKdt5sQg045L5/W5XRay5blB4n0ip6F+rl1cZDHpIKdi3\nbx/XH7megwcOkOjgYIMJGrP5STK967pqrNEuhuZmBq2u1CZRZnFmUnEM3jz5/w2WZaCVo2+46xXv\ny/NPfA3YDXeeVGAKIYoGxGyqDUY+SStUMmx109vKUw2wyAFhWwgLuv0BX/j85ynpRBI7UFi5LQVH\nrj2sTKcOX6O6iFxx9Cv1uhJtSH3zOQ6XVlaJs5yTp8/y5b/+G8rVJo2pGeYXlgjCEjiaqiUEtm3h\ne57y28BC5EJFSdlqWkhFgqKXZYyTseZSD9hpb1KrlPnQv/kgg36HSrnMqN3B0y54vV4PL1Cy/M98\n9rOsra8VQqZev088VnjvLTcfZ++eJZCS7zz+uJrGbQfLU8vzZqvF0lyLF55/iTTLqFTrSAsWFxdp\ntVp6DM/pd3aUl05Yo1wqkQnBeruNQDJIxgyTmOb0NLg2YalEr98nynPWVlaZm5sjCEK2Nje55ZZb\n1XJPKuGQSQe6dHmF0WBIvT7F9PQsnuPjub4y1bJtJX20JLlU76kRqRhYxNy7k4ttcy9tb29z/txZ\nOp0dLl06x/59e2lNNZluTXPNwYNkmvbnOq6OI9u1ckjTDMuy2d7eZmpqCinVcrBWrxdBCkb3MKlL\nAK5qhgzX3PyeEEIX7Fc2NY61ywox/739HT/8ir/3nW/+NZa1KznfXfIrls1kw6Rw5bH+e+bvG3hF\ni4m0VYBl29i2LOrNJCvETNaTkKqBpK6yw56Adsy/MxDMpOpS0S2zYm9miAeWZb1uqPHrduAXL17k\nox/9KOvr61iWxU//9E/zsz/7s/zSL/0Sn/vc55iZmQHgV3/1V3nf+94HwK/92q/xh3/4hziOw2/9\n1m9xzz33vOrXHozHOL5HmgukpRZjTz75FPfcfQ+uq1JY1A+jfEpc12M8HtNu7zAYKDjFRKWp5V2J\nvt7iC5Fx9uxZLl26xN69y/zERz5CqaxGn0qlQhzH1OtKGWUK7CTTY/IUjeMYkeXFIrDY1qcptqs6\nYcMvh10PE/OBxnFcfJjmw3ktfwNTuI1UvviQXKMs2z2RjWDASOPNiS7VtgeBxHX94vsmcYLtueS2\nxcOPPKz9PiRhFJIhiLOMwHPZ2dnh7ne9CwupFjwohs1me5vzF85TjQKuvfZ6sGz2H7yGr/zt/Tzw\n4DewvQpLy4exvYjp2b2srK4yNVOl0+0wNzvHoNcjiKrEaYbIcq1I00ubFNygTprGjMZd6tUmZzde\nYna6yekXnmffws18458e5OabbmJ2zyzR7AL9QZ9nnn2WXOQ8+LWv4WjfmUTbCGBZNKaabG3sUK/V\nuHRplXvufg+OhHd9391E5RL33X8fjz/xBPFoTL/T4YHnnuItb30bp0+f5sUTL9FsNhnGCSdOniLw\nPRzbZmamxbmLT7Lv+FGs0TYzrSmysksljDg0dZCVcxdYaE6zsXIZq59SilPacYfW3DT1qTpZkjIz\nO83ltRUWF/YwHo31wat4/nNzs3zzoW9h2w4LCwuEvhKMWAI1QSF0NJmN77pI7UYpshwbq/i8FbY9\nKPQK3W6PRqNOdN11ZHnKdYcP8sjDD9GoVtm3d6/a5+SCRr3OZrtNVN7lL6t72UYICsGO67o6FER1\nmlJKHb6Rv2axMV9r8jJc7Fe7JiGFyebp5Zf5fdPwFM+xVk1OTsjq2Vb4+O5LMYegzrO0FTFByhzP\nC67iz5vn37JUpNrkpGHwcyPeM3XA2GiYZ7egKOqao/J1RVHQkyQpfv1L1+sWcM/z+MxnPsPx48fp\n9/u84Q1v4O6778ayLD7xiU/wiU984qq///zzz/Onf/qnPP/886ysrPDud7+bEydOvOoYUCpVsFyH\nTr9Pc3qahx/5NseOHUMiWb28ihSSWrlSjBdpmjIcjcizDM/zC/yp0+2qpeZgQDwcEEUhfhBw/bWH\n+ciHP0StVlNS2TynFITILMWzVUSZbSsRjFkkTNJ4DEziOA5OqFLLJ+ELKSVpnhUJGpNGVUYQMfmh\nmQ7fsqwCZnn5ZYqyyYE0N4Hrusq7YQIbN4eOucnN6wX1oEtLIjOh+efK6EraFp7vcv78eRxLKQ6D\nMCRJY5I0Yd/SHvqdHSxLZRgKIZGWwhdrtRrHjh3DypXb2sWVizz0yKN8/Zvfpj41zw1Hj9CcnsX3\ny2x3RszN7aefdClVGvSGMWFUpTdM8V0X2/XAcpCuJJNqd5D0Bbbj4TohaZoxNzPL5vol4tEA8pTt\njR3+7Et/yvZWm/3X7GUwGBBFEeVqhT179rCwuMgbHIe//puvMByOkLZaYFWqVcbjmBfPvsjq6iq3\nveGN+K6HJeHNt9/BmTNnGY/HTFVqOHv38vRTT3HTsWMkSUZ7exvHUaPxoDdA5DmdTpcj119Pv90l\nSVJeevo5RJYzPz3LysWL1CsVrjl4EMe2VGSatNh76ACOq8Jvu8M+aZKRp+rzrZSrOLZTdHRXNta5\n5pqDXLpwiVKpxNLiElkuqNebjOOx9oj2yfKceDTGQiUjWZaatjLNhrJti1IQ4ujnuDI/R3t7m1Kp\nxHDYV/uFIOS6a6/FElIrGEP6nR6Nap2hzjOdHOmjKKRcLhXQQRyrKLZavaFpiWqBb3jSu0VSFr+E\n7m6LX5oPPhmnUFwT7JDXY26p6XZXKDdJxTO5kpPPjecFE99id+JWIkAzHSi7AlN8Jz31q9VqsQcz\nXbaZdCYni5fDPpMajkmxTrlcLv6NORwmodfXu163gM/PzzM/Pw8o+syRI0dYWVm56gefvL785S/z\n4Q9/GM/z2L9/P9dccw2PPvood9xxxyu/uG0RJ4lyIfN9zp07x9GbbiLPhfISsSVDrYw0p5jrumR5\nzuUrVzhz5gx5njM9Pc3S0hI33HADSwvTBIH2InZcpBS021v4vodtK8BLCFlk/pmCPGkcZX7PcGWF\nECq1FYo31+DeeXJ1UTXdx+TYZJYQpnC/HgY+qdo0hwfoLtVWUVimcJuxzXzY5jOJ45hc5Mo/3FYA\nitA3pOV6RaScG4TKmS1JVOjscIzn+7zlLW8p1HWG3pcLQS6V/3icpkSVCpcur/GtRx5ndmEfy/sO\nU65N4XhV4kwSlhtsbncIqq76nklCjouU4AUVsiQlxyJPUlzXBunguj4ij4miEiLvkaVjLJnxif/5\n35LHMc1aAwcl+gnrYcHIyUTOzk6XK+trnD1/nuFwRJrlDIZDms0mtuMjrZRGY4rPf/4LvPXNd5Kn\nCU8//TTHjx/nIz/2YV548UUe+85jOFhM1Ws8/cQT3HDDjbwYJ/S3t9UCW6iF15VLl/n+976frD/m\nq488wJtuv50//pMv8qaP/w8MOj2eeeFZvvrQNzh4zUH2HthHnMSEp59DJimubTPVapElqiicOX2W\nd77znVTKEaPRmEFvCFi61Ek63R1mZ2Z0R5cAufbZUcrVMFA01tFoVEyIeZZSq9XI8txAvCSJ8lyv\nVCokyRjPsbECnyltYiXynCgIiccxnuMSj8c4vl7oTSzY4jimVFJiqHJZpfWYAuy6tmafwG7BRj93\nppBbVxU5LFFQBK++do2drir2r9HZ7xY6NSUUDDCUL47UVF8wXb1xARQT3b/Ur9Uk+whcFzwdXmG6\n70kHQQMXGfjLdNTFwnaiiStqia4LkyLASXh1su4U7JvXuf7VS8xz587xxBNPcMcdd/DQQw/x27/9\n23z+85/njW98I5/+9KdpNBqsrq5eVayXlpaKgv/yazgc4vgevu/hWjbtrS1kLsjTlEzEVCpV0iQl\nHseY7L5eT3k+T01N8UM/eC+tVoupqaldrC9VIgXbVvQz13OoVpTfRpxkV8EYWE5hsWpufkPdK3Lp\ndDEWmTr9jc2osWUtlpkTXM9JSbH5UK7CsScK7ssvc9qaD9/ciGmaFnLll/NGzag1KRCyXR3HlktE\nmml7UBdsm3igJg7X8xiOx3iuS3/Yp1qtsNNuc+Kll/Bdj/m5WcIwKPwfpFDmYNL1SIXFX/zVVzh0\n7VGiSpOw0iTDg1QiLRdbWNSmpknzPlkmCMIyWS6oVOra30XdeFGlQjoeIxFImSGl6kxHww7nzpzg\nv//YjxO6Fp0kpr25Qa/TJ88ETsmjVCoTRiWazSat1jRzC4vc8Za38tyzLxBVyqyvb9DpdIhKZbWU\nK0XsbG3zqV/5FQ7sO0gUekxPT/OlL32JT33qU+RZxv1fvQ+R57TqDS6dP8edd9zOE088QafTVUwf\nx2F5cZG11ct87duPsL29jXjmCd73Qz/An//VX/Kxj36UyysXGXV6/E8f+zg3HT0KUrK+tY6Qklql\nSqPRZNhXobdPP/EE337kOxzcf5CZmVk21rdp97a4vL6KzAWlSHnOGy8O13GxbFQCu+2QJGNsqXy9\npZAgc+UxnsYq/CNOcF3FXhn0+8qmWarotW5nh+uuvY4sTYnKAYPBgFJUUpCOYyO0OjOHojs05lyB\np9SklUoF9AFtWWrJjlSsLCbwc1NMi44eiW0p0yqp/6eej92gbWMfYZ6F11voKbqmr5+5XSsLV38d\nNf3apKlaJlqGjmg5mhFjnh1JHCtzOqPKNIrYLJNUKo0CDVDKzmxCYQ1xnF3lQPpyGNTUg0l4xVwG\nQjHF3FhnGMLGa13/qgLe7/f5kR/5ET772c9SqVT4mZ/5GX7xF38RgF/4hV/g537u5/iDP/iDV/23\nr4Vb1Wo1xmlClib83u/8LvFoxNNPPUmlopKawzBkdnaOxcUFLV9VhbFSqaobR0uRk0QVBCkFIovB\nBs9SNzqWct2zHQcHtfwTuiBatiqEJo0+yzLG43ERDGxed5IklKNS0YGYwj1ZMCdvVLVM1QEB+gAw\nnYTJB3ytDnyyOzGneXEwuB7S2r2ZXz4WmtcshCATOeM4VpiorR7gDHWQmG4h11zrXB8+YamMyAUf\n/ehH2VzfIE8T4tGYNBdstreYnpmlVK7guBG//Ml/j+tXqNanCSoNLCfAdkJsV3GehZT4jkMmLMql\nimISqAwJjEui0OHKaJWaSIdEkcew32dz8wo/9VMfw7MFrmMxNz+La7mMhjG+6yMcW3WLgY/juORI\n4jgDK6bRbJHmOdPTs1y4cImt9g5CCGqVKv3hkAsXL/H+7/8BLl+8wK//+n9gZeUSv/qrv8rb3vY2\n2hsbHDxwgPPnLzAz3eLC2dPcecftnD13ltOnzhD5AdISOAhuOn6Mr3/jG5y/eIFKRUXn7WxtcfOR\no1w8eZZPf+rfc+ymm/jwh36U6uw0aZ4jcli7so5t2YR+wO23v4UbjxyjXC5z/vx5Fm5ZJMlH/Ncv\n/lf2Li1RrVbZ2tqk1ZpCyryAc/JcOedFfqDyFLO8MEoy918yVruXVP/9cinCcW0yRyl0K5UyYeAz\nHPTxHA/f9VQIsOvhBz75xFJxkl0RJ8oGYHNrA9uxtK4hYjDoI6XHZDiwMYcqGCiWKqSG/ns1fmwh\nX8bznlwevh6ubl1VhAG0FD7b7Xh3n1MlLrJt8zwoAyrbQScJuXqSsIpibeLihFCWHuOxohWbztw0\nXkmyyzozcOjk824gFENBnFxsAgVrbfJnrtVqr/lzw7+igKdpygc/+EF+4id+gh/6IWUko6TU6vr4\nxz/OvffeC8CePXu4ePFi8WeXLl1iz549r/p1P/s7/5d6A3yfW289xk/+5Ec1o8ItsvUApGaUOI5b\ndMbodIzA84oRTUEKu1BCLiSjfp/BYEgUhVdBEzkWJgvQfAjlchnjRGeYHYamOOwPXkH/yfMcy7GL\nJaIxwqrX63pUTej1egWubvy5X28sMiewCSh2Xbcw3HJsR8W3aac8c2KbE9/cREEQ4Nk+qcy1URhY\njoPvOHQGfXb0cthgrmY/EJVKuI5V4HqerRLrXd9m7969JGnGCy+8yFMvnGUwyth/zRFqU7MIy8cJ\nynQ6PapBRK+3w/T0FJdXV7jm8D7aW9uEQUie5viu9lAWOY7lIvMY17FwPRvPd1lfW6G9eZkPfuBe\nWo0W3c4mSZLjBGr5KiwbXE8VrED5x49GMba287Qsh2azxYNf+zoAluUq9ovv4nkB1VqN02fP8J/+\n4+9y0403Um3UuW3PIs8995xawkUREkmajdm/f5lz587y3DPf5ebjx6lVS5w5c47NrS3OnDnB3j0H\nODK3h+dfeIGzzz7HB9/33/Hlv/wL3vGOd3D98Zs4cfIEX3viUR569rv8bz/3v3Dj9UdUgR0McTwP\nz3EZDoaEocpMXF5eViyOSovVlVUW5xc4ceIE+5b3MhwOqWi3S8tSLo4Si1zklMphsQjLhRq9h70+\n5XIZB2cChlDq58DzSTN1f/uez9hx6OjJ1nVVIWc0VNS8iYW7elZdSmGFwWDAzMwMOzs7zM3Nc/bs\nGfbv31+kPeV5VhRCA12YLtV0x6aAqWWehRBWcUgYGMLS+PVkI/Naz83kVeyILBvLsotiagqpbTlX\nTd6OaxW1zgSWF3CmtcvmMa9BBYaMrpqkTQNlOufJQjxZyE1dMaQHM8Wb73HixAlWr2zw0okzV73m\n17pel0YopeRjH/sYrVaLz3zmM8XvX758mYWFBQA+85nP8Nhjj/HFL36R559/nh//8R/n0UcfLZaY\np06dekUXblkW33jg/1HFzFL4kB8EhRRZ7R4UhiuyXBeasUpq1+yJwrDJUTdMkiR4vnELU4kpZqlo\nbhZTQM1Y1u12ixPWnLaGU2uKOUCeZldhYAZmidOkcBYzOH0cx4RhWMAtZhQcDoeFAlNKyfHb737F\n+/3Ck1/HyLYnX6uUUpMBX3ljTC48zJ+N4xhcZdVLLhBSIm2HTApOnj3D395/P+UwQqRKeDAaj5mf\nnaVRrfDxn/pJxoMhMs9IsxxpqYRuFRYb8Jv/6Ytc2Wxz081vIBUuXlghySReGBHHY0qhCnJoNhr0\ne13AwkYFygZaZek6NkLExPGQIHABwcnnvsvm5jppMubWm48ic+XmlqeZVvPZhWo01lxkCwvbVZmL\nYGE7Ls+/9CKdjlowrq2vE4Qenc4OS0tLdHc6LC8tcurUKTzXoVlvsDg/xw03HEEKyTe+9QCVaoXO\ndpuZmSm+/cjDHDp0iKmpKa655jCO63Lh0gqrq5dplmdo1BskaYq0YO+B/Tiuy1PPPMvWTptz586D\nrYqsk6S8/c47+fCHP0ytWsPzfKUr0N7byg5Ww3uRx1/+1V/S3tqgFEWUo4hbjh8vCq4KA7PIc7UA\nG42GV+1sDNXW0PpMM2BhkSY5tmuodMq4Te2fzjMYDLh0aQXX9XjX930fyIlFoL6M7S6ofzcaDen1\n+kzp+MGyTtIyUJ/pIl/etLwc0zbLQ1MbzPMp5a4rp2lY3njnD7ziuXn063911ZKz+NqWRZYZCMUt\n3h+RCdIsLRTTwFVwqCq26ueRWAU12RRwU3tMbTHNHexOzeY9MM3eJDxioFxz8ExSPc10D+pA8X2f\nN7z5Pa85gbxuB/7QQw/xhS98gWPHjnHLLbcAijL4pS99iSeffBLLsjhw4AC///u/D8ANN9zAj/6o\nMoByXZff+73fe00IJcsyxqMRLW3W33AajAwvtvhQJVEY0ukMKJVKpFnMYNi7ymM7jkcF37o3HO12\nx/rNMMZWQggyacYsi2pJObXB1RxNs0AwHW0URXgVt1j+mTGnXC5TtitF95NlGdWqysw0BwfsepsE\nQVAU2td6T3q9XsEBNRSlArZxVL7m5MMgpSz+TbfbVWG8jQZRuUSSK1c0tNE/lpbZF+9JSjwcARZo\nhVm/3+dzn/sce+YXKIUBjuNSb04RVUrUG00yYfHIo4/zgz/8b5COh+V4JJmgMT3LuXNnmZubJR4P\nKZVCVlYvUC/VKJfLDIcjvCBkOBwQeC6WqxRuUeSzdnmFx7/7GKGTsLG2jsgyHmxvsX5ltZjEwjDE\nspVfN7bF8ux0wYFPspxOt6uVfBZ+FNHvDfACM5mkINVh3B/0eenESbIsZThI6Ha7PPPs0/zZX/w5\n1VKZsObyzne+HUGVJE24461v5sK5c1RqS3z3qcc5fO217D24TKkWMehkXFi7xNR0i4WFBXpDlST0\n5FNPEY9jIm2KVSlXKFcsHvv2wzz+2Lf5d//rv+PYsZvZ3u5SrVb1ZymIk4GGIoYcPHiQ5559hqU9\ni/iuiv3L85xeT+0ASpWKgpMClzD0Nfd4jOu6DId9QGVOSqlShWwbujtd6rUmQmZ0uh2mppp0Ojts\nbGwQRCEPf/sRPDfg3nvvRUiJO6EtUIs21ayY+3E4VCrdPM/Z3Nxk37599Pt9oigqDLMmL1OAzPJ5\nVzK+292+nC5oQqqvWny+yiWEKCZRc3CoBbzigpsmynwfZeDlaHLDpLEVRQRis9lURdXe9TU3r99A\noyZFfmtri1arRZYJtre3sW2bPXuUSLDf79PpdJQidwLHn2zAzOFhJhAD5UwuOF/r+p4JeR6474v4\nvs9wOGR6erpIwjHbXdA/ZC4LBzGzncZSQhDb0V2JOdFtiyAMiu45z3IwS0SU3zD6v3mmIBrXUYsM\nCwvb2eVYgzLDcT2PNEmLRQmaV+oHvjIrQi0IRa79jicOA/PBKCqWXXQTtm1zwy3veMX78tzj/zTB\niFHwkDA/m9C/MEZWtu5UnGLkDMMIkIzjMbajOl/Pc8Gyle+MyDm/ssrf3ncfjqU7AiEY9LvMz80S\n+S4/+2//R7o7HRwLRcFyHPrDEQKbP/m//5wXL/Y4dPh6qvVZLK/EYJjiBT7j8QjPsymHqkOuVspk\nuXKFS5ME33VwHQvHksg8od1eZ+3KJc6dP8M4HtLevKIWtY7FqD+kWa/R7/eKhWsuhToERiO8dKQO\n+TzHdjwl5XY9sjwrPM8t22E0HhOPh0RhxGg8UP7orstoNKIUBTiuS1SOOHDwgO5SU1pTDS0Zr3Hp\n4kUcz2H/vn1kecbG1hb1RgPbdujvxCwvLfPoY49RqVR40x138JW//gp3v+c9/OM//mORj1guVwgs\nga+L4dbWFm+9807uuftuWq0WcayCpU23mqI0DZ/65CdpTTWYmWnxpjfdRp6mVCrVgsMcx2pCSfME\np0iysVR3nySkWUa5VGY0HjEwfPAsx7IkfuDT7/cplSKSOOHpZ57h/IXz3P3ue6jWqgoGkFq1KCW+\nq6ZP47o5HA0ISxGD0ZA4Tuj1VdGbm5tTdN1SWXezu0tJQ/Yw5rC7NMJddoickODbtoPMNIvFknrR\nLbntba8U8jz8wF8i2GWTFJg4quib59dxVdCE6++qJo0t73Cg7qlGrUa1Wit89Q2dd/LwMAeQoUua\niaFarSGl2s2Z6X0SDk1TFSO329w5KL8Y5yps3NQMc1Dc9tb3/3/rwP9bXuYNqdVq9Hq9onibUdC4\n8GXprvrJ05athpsKQGnXDCbJYuLRbhdueJa2NqtxbB1VpSPDarXaLg7nOAz6vWKJab4fUuB5jl4i\n2QXEEgQB/X5fK9dU0ofrusQTwQugsUPPxbZ38e3X+jBMN5Kmib6JPZ2aonwbHN8rfu5dibNOMxKy\n+N6BHyCl2pDnIkNYeoHoupSiSDmtSQCXONFBx1mO9By6vT55niIti8FoTBBGCCykZbO6tka1sUBY\nriAtl2E/ISxVGY2GTDWm6He3sYQkdHx8y6cz6lOplKlUyviORTzqEXgO//z1B0GmbGxeYaezQ6/X\noVSJFNc9SUnSmMtXVnWXHrG+tU6tUWOzs8VwNKaUpeRCEJUihqNY/fx6Wd2anqZaqel7RKiOs9Om\nUavR73SUFDpN6ScxmcyIxhVwbOYXFqgFPlFQ4qUXTrDwxj2kCRw4dJg4SXGcgLk55Qlv24Jqvc4L\nJ04QRBHSsjh79izLe5fZXFvDtSxK5TJBoBLvHVRghO/7VGs1HnzwQZ584gnuuusu3v/+9yvHQyw6\nnQ5+FLK2tkEYRlSrdcbjmCRNlR2CVGn2rqPUgu12m16/SxRFzM8vIKVkOBwRhhFBUObK2hWq1Srj\nOCUIMkql4Krp1BweNvAk2K0/AAAgAElEQVTjP/ZjBUTg2Ba249Db2UEkGVHVY9hRaVdpllGuVojH\nCb4fUq01aDRS4iRhS5uADQZDct1tqpBfF2lra+UkvQrrFlKl80ipgh1UuIONJQRWYpNayiNFkOsw\niFdenhUQyxGO7YBFAYcKIXBsGyfc9R2xLItMmCQtVUfOnTvH1NQ0B/buU3sxLHIhGXT7OI5V7M52\nn+ddptkkoWF1dQXf93UH7Wjnz45u3NyrDgy1jBZ62t8lTCiBVICUhhP++nX0e5pKPwnwm1HNLOhM\nkYxC9ypOpaHtGHjEdNsq0CEtIIrJYg+THsWqO67VakV4rRHhmDHJdMrmJDSnsBnDJuER83MY7M4s\nJyYFPEoklFz1877aZZYqBoYxr9d1Xe1mp/xIsmwXojGLVWVopQOQRY40Fq+2SuDJpMR2XALfZzwc\nKUaJTudJUmW/G/ieWt7YFpcuXWJmRtm+Jplkef8B2u1tlmYO6oKf4bge/f6OpqVtUSmHuI7iMeci\npl6ycO2YbNRjbXOdzY01zp5+CSkydna2lCcFGVOtOmHg49oW1VKZozdcxxtvvYXA90jTjJ1Oh1Kt\nQr3RwA9D3DglLEVEUcRoPCYXUCqXiJOE//xH/4XReMxgMMD1fQLPJc8ydtrbfOgTn+Cdb3s74/GY\nSq3CYNhXTnpScv8//D1f++r9NMUU8wsLxEnCgWsOKQrqOFaxZ406UtrkQnJxbYXNzU2iMOTee+/l\nvvvu413vehdf/cd/LKAGE4sX+R5YFMrf5eVlNjc2+Lu/+zu+/OUvE4YhH/zAB3j7295OnGVUKxXm\n52a4cmWVqBQq2bVtWAsWg8GIZJyQZYJGY1rDFhmO7eI6Af8vc+8ebNl113d+1trvfd732X1vt25f\nqfVAliwZWVh+YeMYYxuCAzNAkkoIyWRIpYrKpDLMVJIaMo9KxsUkAwUppmoyU0xgUoE4ZMYTUpAA\nBsYQbGxjSS2ppW71+/btx32e537vveaPtdc+5wq1Mv+kxK5Sud197j3n7L3Wb/1+39/3+/1NpzGu\nVxEELZQSLC+vajpclmgjrmiGQMOYx8fHICXT6QzH0QmIqRJd38cOJFlVEfR0Zt71umR5SprEeGjv\nDse2KLKMsih48/JlVlZWNPsIQVWUVIhm/3i2o/npcj4JqCx1r8XEgUbwAtgCEFXtnPn2EEpexHih\n9vbXk+h1tS7EnKFi/Ehs2wah1c7mEHn++Q9o1XScoOoRda7r1qrtuDkMFjUeRtNhEiqlFGtrayeY\nXoseNYsxwuDoi3i3lLLpmxmYxkC273S9qzMxFxsWi14kJnjatk2apPXJLKiUhVLV3GtYFVQlIASu\n5+DUX2eRP7qIOS8G6ThJGq7mYnm0mO0v/v2ir8EiZmZKH3NgmAzbvL+pDiBrmksPUpUZ/G0RC2zw\n+PrQmi9wq+lmmxM7SWIsy64HCWg6l6q/d6EUnh/Q7XT0JPLBEsPhpF5MgqwoaLVa/MIv/AIf/tCH\nWF9bJYpjlpaXUUJj8INel6rMsWRFls4olU2/0yds28yExBIZ7TDUXG0J+/fu8I2vfwPHFkTTCcPh\nMUWearjFs6GssFwHyCmSjFkc8xf+7F/nycceZ3R8hOvanHtog+lsxnA8oswiDkZHbCytk8TabiCp\nR8Xdv3ef3qDPeDxGSInreWR5hufqJncYBLRaLXZ2dnBdh9HoGC8MSLKUoNXii1/8Io4smSUxpzY3\nmM0iLGlRlBVXr99ASos4SllaWqLT6bC8YuP52kP8xq1bPPvss+zu7lLWgWppeQm7VljaoiJNY+I4\nqWdwOpzaWEeVmnsshCSKZ5SqoCgqjo6HjXWxyZh10uIwnc5wXQ9FTlVJbMvHdUKKsiDNdBO92+1q\n1Wbd0I9mMUHgEtfDv0EyjSYcHx0RxTGzKCLNMsJWC1kWDfd4Op0ipGRtfY3ptO7PWJAkOoOdzWZk\nWYrnOnVfKOD+/f1mupPeExZFqedDVmUJjlPbtxaoipPwhLTqoGugUg2xVDX89yBChm3BZDJq7pNm\ntcxVn9ooKmwC5+17u7pXFASEYYt79+5pX5sacy+KuYCw3Q6beJBlWTP83KgvTWA3e9HoSQzteJHR\nZiiHi722Rb2J+fzGC/ydKMfNd3/Hf/2PeBnOtfnQpjloPrx5jZQS39HsDfPFtdLSasysRK3+MrL4\nE5Sh+nctGqWXpR70G6Up4/F44bTVi3+R92oWovmM5ncZEyzf9xsKYZpqAQXMmzZmIXQ6PaIoemD2\nDTRNIQPjLCo7FznselFKFrnlxkRHKe3h7LlzoxwhBI60mM5m9PpLSAmz2RQhNI3TEm2yVDfBkjjj\n7EMPkSZxQ+OqKq1ofezRRzmY5tgqpxt6KBxQEXd3dji7uc50OuLu7V2uXblKPIto+xXPPf0wf/pP\nfw9xnPB3/+7foSoyuh2PNE8JWqFmzOCwstTnL//I36TTCkjjKe12wGw64fr1a2xtbdFqh9qEXylu\nXLnOxsYZkiSh2+vh+h7tdpvXXr9IKww5ODqi1WrR7/eJZzMc22Hv7n0e3t6uM1m9edIkQVqSvfv3\n+cDzz/PKxZfIq4qj0YhWEHJ0eEQYtjh//jEEkl6n26zbAm1g9tRTT7G7u0vo+3zzm9/k9OnTDIdD\nptNpwxdueVou3ev1TlRxju3geS5JkvIvf+Vf8tprr/G3/85PYDsO3/3dn+En/t5/w+OPP34iybBt\nh2gW4zgey8sdXM8nSRJmswmu69Dr9ZjOJnM4LsuwHZvj0ZBZPOW1N17XlWee0et1mU612ydSsHv3\nDq0wxA8CkjjGsm2mScQ0iZlG2gc7SCICzyPJ0pp1orWjYavF4cEBm2c2GB4fs3tnl0F/wGAwoCj0\nIdTutslyPbihUooKPQ/Xsi0tqqlphvMxanpIS6kUAk2lfbsrTsa4gR7+UFWKoiwoixLfD+pqet7Y\nVErx1FPvrQeWt5jNZmyf22Z4dETg6d9hrCcMSWI2mzV7v9PpNEjAWwVGBlJZdBE1f2/ixmLCanjl\nuoK2Gvzc7GnTC3yn690b6FDzok1n2HxJrXqaW6/qIcRVwzoxp575wjCXkBtOtuFOL9o+mizcnHxu\n/dp+vw/Ms/O4Htxggrfu7Ecn1JXmPc1pukgBktZ8kvRcBTb3TTiB37/lMg/TvI9ZBA19qYZ0zL/p\n3+0298Nw2ZWqtNpNzg26pIBep4NA8PTTT3Pp0hWKqiKwAvJUv3Yyi6DMUQrCVpskSYiiiOPhmFar\nzbc9/xy/8Ev/gtHRPpNJQhh0GE0n+L5DPOyzNOgyHY/5U9/+HC+9+BJ/4Qe/j3a7TZEXDKfH/JUf\n/vNcvXadSlX47RazKEIBl6+8iUpTfvEXf5E0mfHM009RFgVSCF555RW+5ckn9SSeIKTX7+PbLnv7\n+zz22OPs7e/z0NZD9AYdLl++zOHhgcYvoxlZkSOrQrtdhh5h6Guc2XawHQfPtrh95w6/8Vu/qWdl\nttocHR0B4J7yWD91mqpQ/MAP/CBXr1ylLEqOj4eMRiMOhodsb2+ztrbGyy+/zP1793jyySe5cuWK\nnkTe6Wir0Nms7kkonnnmGYqiYGdnh6OjI6QlSesAe/78o/SXBhwdHxGEIUJIfvzHf5xf/dVfratN\nxXg8wXV8Op0uR0fHlCoi8EMcx8b13BoeGWFZkqOjfcbjCXmWsbGxQbfbZnl1ia2trSYAjUcjXrnw\nkpb1X7tGURTs7e3R7/dxLIugFTLLUu4fH2I7Dt1ul1yVRHFE2w843D/Ati3iVAd4z/OYxRFYkrLI\n2Ts8IMl0UiMAL/LIq5xF50AprBryqIU8ddWgLV6n5HlVZ94S23Lfdt94nk1SmBFlNrYtoPZLAlEP\n5NDulZ7nE2VJ432EUrXVb7sRGOmJQyllUVCUeROvYO5ptLg3F3taRki12JQ0MWLRV8bAVIvc8Kqq\nGuHOWyGaB13vWgA3mZ1pCJjM23w5A0Us+g0YiMIEUxPETICWQuNkZZGBZSHq5qVjSywJbqD55FmW\n6QnmC9myof4t8q+zLGNazz4EmveKoqj5OfPADG69eLiYByaFgAq9yWo/kre7wjBscLEsyxoanTYg\nirQXSlXVHuh202HXOLemzJnOflFkNZ6nqVQa+7MQdsEzTz/Nq6+9TlHVVQuG1xvz8PY2V6/f4OHt\nbW7fvs3Zs2dZXlnD8zyiaMbP/OTfB+mQZxXTWYzjOtg2XH7zdSxLcXR4hFDwX/2Nv0aRp5SF0iPp\nioynnvgWfNflgx/5KHGaYDku/93/8N+DgqDV5v7dO4RBwGSW8Oij5zm1vspnv+d7GI6mXH7zTW7c\nuMHNW3e4ceUylm0zGAy4e38PBayvn+LoeEi702kMjGazGWUS4bouS0tLXL16teHjX758ma9+9avk\nZYFjyt563Y2GY27v3Gbr7Dk8z+MrX/kqn/muTwOCjY0NXn/9df7Fv/oljo6O+Of/7J+xsrLC5773\ne+l2u/R6PS5cuEC/26MVhHTbHUSln9v5Rx7jiSeeAPThfvnyZe7cucOtW7dQKN7//ufptDsUhR5k\nvLaySjtsMRmNGSwv4VsBR0dDpLRotdt4foDjuhqaqjKKKCaKp9y+vcNopEU2jz76CLbtcHpzE9v1\nmr1k2zacOcN7n34PFy9epCgK2u02Z8+exZIWURyxf3DAN195mevXbvAdf+oT/PZv/zbRLOL93/qt\nHFWKXruDVUqEY4Ft8dqlN8jznJs3b7Kzs0tVVTzxxBM8//zz9Ho9yjylpMJ17Zrj7BGnqbbLLSps\n20FVSv99nNCyjYWFT57N4c+3Xnfv36OzvKLxdSnrylHierp/4Ng6lqRZTl5UCFsHdlEJqPTgZgOL\nautj6uCvfVM8z2lihMa3syZWaajX0C3zJi5owZXfxIFFFbbh5y8GcNNvM1h5q9VqYNB3ut69ocZ1\nsFtUWJlguSgJNl+qMZA6wSGdn+T6VJyLdcxrjL+JCcq+79cc63mWfIJ1Ao2dq8GzFo2jzPxBE6jz\nPG/e02BsBvcyNCP90Komu34QrmXUYQbuMYeZ/vzUilIa2b9t21h2jfuJBcc0CULM6ZVlUaCQOK5H\npQTnz5+nLAt8P6RSFY6UVGgBUJwkXL12HRSsr69TKRiPjonihG6nzfgoZTSNaAVd7ty5RxD6RPGE\ns5unuLVznV7boyoUVZGQ58ZH3dLsDWGzcXqDyWiEsCw8z2dlaYnDo2PiKGKwvEpZFtzevcutnR2k\nlPS6XWzLxvV8slwfiGfPnsX1tH/H9vY5irLCcfWEmOFoSK/fI88Lsjyn29G2qAf37/OP//HP1o3y\nlCAIWFmpB0MkCUuDASudZaSQTJdmqKpiY2MDKQRvXrrE3r37tXdOQhonSFcxGo/44AsvsLl5hmef\nfYYkSXjqyfeg/tyfZ39vj51bOziOw3QyoshzlpdXaqgrBxTr66dYP3WKD7zwgoZ0spRZFOF7PqCD\n1/b29hx7RdLtdpDSRghJmqWkeUaepxwc3ufGzWtMxyPc2ojqve99ilPr6xR5RZKm7B0c0WqFmq0y\nndGtK4WHzm6RZglJknD3zl36/R6249Dpdul1e/R7+jB64vEnuHrlCkv9AdPxmLDVoiwLnMDl3MMP\nM1heBgXf+7nvw/d99vb2uHbtGkvLK0RRhCckOBZ5WZAVRSNIyrMY254LX4oi5/r1a0wPb1GWijQr\n6nVf8fG32Tfd3gDHCQCB63pIqdeWxqJVMwzZrQ8wpZT2PLc4CXcoQxioFoKwdwIhAGOva52wyVh0\nI1wkXZhmppm9ay7jhgo0PPOiKJoYYGLbf8hS9l0N4CajNgHWlA8GXzIqSZN9L2bI5iRzHKexX81q\nvudiI6GR30MTdHVZYv7jxA035U8URY1cdpGTuWgza9RVBsMyVcQim6VRYKm8aZo+6KG0Wq1aXRef\n6G6b9zDSZMdxT/QK0jQlz5LmPmrD/1yPU7M0Lcl1PUaTCWGry/HREe979lkuXrpMmZe02hrHn0Yz\n9vb32dra4sxDW6ws9fVCq7v5aZowHU4IgjaXX7/I1tY5bM/mzJlVXn31Ar6nJ/ZkaU6RFZRKIGrs\nfjQZ8/gTT5IkCcPjId1+jzSOeez8eb72ta/juy5nzmzyYz/2YxwdHVCWJWfPnGE0GqGUYjKeMRgs\nEYYh16+8zvLKSjNUA2Hx9W98g1/7tV+j3daj7xzXoSVCOo5mb/y3P/H3mjK40+lqLvd0yng8buTs\nB8cHKKX9J37v936fbreHZVnN0OKdnR2GR0e8//3vZ2mlz/f/J9/P3t6efsZZTjqLSS0Nw3Vabd7z\n5JP1xtc0wtlsxt7efuNjj9SHflrj4lJKirwko0ChJ5hvbW3x4osv0hv0qSoQQjfsHEcPebh+8yZv\nXLrIaHjI6uoSrVaIUDr4d9ptoijGkjahHyKFowU5jkNnbQ0hBPfu3ePevXs8vL3Fo4+cB2D3zh0m\nkRafvPryBU5tnEYVJbKsOHt6g9lkSp7l7Ne0wbzM+eL//f/wLd/yLaysrHD16jWiKOLw8JDz5/Xv\nHAwGBGGI63uEYYjv+zoBynQvQApBls7ZVKoouXB8GwmM4hFC2kRR/PbBRHpYloPnebWASe9VKWwQ\nFXmVU1XaMVEHybSp/M3INGreu1KKsh7UUhQFKsmagGpU1yYYL0Iieq+WJwQ5JkE1SdiiirPXm08Y\nM/YYeZ6zurp6Yh7ugwgP5nrXArj5IovBzPCkDXRgWRaTyai+KcaUHfK8FuHUWXdZ6q72ouTVHBAm\nmzWwiwnsRqFlLnOKms9mSh7TODVB3mBepuQx1B+Yn5YGGjI4mG3bWNJpyP0PglAmk0mD/y/KenVn\n3UPPHNRCDgMhmdcEoY0Ulm7kqFIzR6TVCI8mkykoHeyFFJzeOM2rF19vGqN5nuOHLfb39+l2u+zs\n7FDkqcYuXbse31Xq0ra7zEPbD9PqdNjfu8/de3dQCNZPbzIaTXFtn7RQpEpDB1mS1NBGxZWrb/L0\nU09TAXE85WPf/hGKImX77DZ5kZHGU1SRY0u4eOEl3aR0fBwB6WzK9PiYpaUBu7u7DAYDzW1vt3n1\n1Vf1IWxr0Y9bswaUqnjiiccbvUFVVezvHzReOK7rMhrpNba1eZbZLEJKi8986tPN5vngt30AqE2H\n6uagqEqODw5xpIXveqRJwmAwIEtTbEsPtgXt1Y0QWK5DrzdoEg8hNNdac5UdHKeWnCszBT1iOp2y\ntLTM9vY2165dQ0pJt9NjOByRZBmW5fLShVeoqqL+XYo0zXCtWkCWK2xbMotTiiJC1glFluYUdZLk\nOg7ntrY4Phpy9+49ppMJfugjHIeLFy/yXZ/6FK+8fIFLr7xGGAQkRclSX/t/X795gziOefT8eZ57\n5n088+yzDI+HrC3p0X0bH9vUqtgmWAriNGY2i4jHGhI0iVpVVVhCYlt6/uvR/Xt4lkdO7V4oK5y3\nh8DxWx363R6Oo/d2WZWgLPLcZMVzIykhRGNEpavhkrIs9PQfoRXginkGrG2pdQJoqmkTA0yWbl6b\npsmJuQBvHe5i1MMnYCxoqnzDXJlOp028MXDtg653LYAbXxATzEzmqpRqmCF68rXX3AiD+5ovK4Ro\nrF1N5mrwYcPzNBmscR00AdlxvCaDXXwYJuiaU9BwOs2JuNhUMJzvtzZUzSFhsK95aagD/oO6y2EY\nNgfDIra/2CQ190xXH24DLelDZt7IkZZFVVaoSuHYNp5rkRcleanVo1tbW9i2pQc2LHg6ZEXF4eEh\nX/7yl/mr/9lf4WB/j2tXd3jk4W3arRazpAvSplKKP3rxZbrdDuPxkIcf3mY0ibh3/5CHtx9l/+AY\nuy1phy3SacaZrTNcv3mNjTOnEJbSfiZCkkQJH//oh6mykrAV8JUv/7987OMfYzIZszToURYVs/Ex\nK0ur5EWBI/WQ3EceeZibN29xc+cWr128qFkMaGtVCyjqQ7ssM85tbzEcHqGU8azQU1lMRuS6LpaU\nxNMYW1qMRmNWVldQZUWWZxRFVo9vm1FS0Wq1KbOMVhie6FeYoR+e4zbrxrZsFII4Sus1otWGYbtV\nB3IL27HJy1wPKqnqfonj6wELsxFPP/00W9vnODg4IIoizj28zWBpmYPDEV/5+jdpBR5VVlKWILBo\nd/tE0ymzWUwrdPC9Fm7boVIlw+Gw3iNW7QRpaeaJ63HhwgWWlgacPrNBWhVsnj5NGsdsnjrNGxdf\np7fZYqndw5EWx9NjvvGNP8L3PM6unyYMQ770b3+Lj3zkI5p+1xtwcHcPz/OJ4xw/8BkNR/hhgINN\nKwhIkpiqKul2WwiF9iZBz8pc7vY5uHuTPE1qpkvJg+Dgbne5Pmz1pCfLMtCragJ4WRZNAmXbc98V\nneRZCLWg0VgI9lleNE1Gk4XPg/88iTJ71uDaxmjOZN+LPHLLshgOhydMuMzPmfcwCah2Xn3w9S4q\nMdFSeM/XEl8pyPNMz0q09UPodvVDzrIcUZvBg6ZSadmwp6XTQhInCbYtNIxSVSjTTBR1VlYpyqrC\nqhRKSE0hM9M6pPYyFnLRzGaeKemDQDsiav8EPYXbsuQJdomsuboGAw98n6LUiyqrD5QMRZq8vRKz\nLAuSJK4DtpyzT+pqJY61lefiQWQMeszCMjxYbT9gNfhfVZTYtoNlSz2w27ZZW1vl+o2bWJ5HUZYg\nJIPBEnv7h7zniSf45V/+Ah/6wLfx6CPnSeIZM6WwwpA8LTg8PKobcor19RXC0Of+3gGnN85QlIqV\nlTVKS8uTx6MRWw9t8dLODmfOnGHn1i02z2zqA83SPY+bt3Y5+9BZth46x/XrNxgMBoRBWHtLw62d\nW7RabXq9HrPpjNksYXV1jTQvuHzlGvv7h3qauNB2qY4lcCwHlRQ8+cSTjCcTAj9ACllL181askji\nhLzSJXSWZ3Q6beI4IopjlpcHWgkJ9Ps9ytpPx3JckjhBWpbGVtEVVKfdqRlT+uB2XIeyqAhCLWCp\nKu3REUVRAw9W1IZGFVR5gS1tKlUxHo8YLPU5Ph7ieh6rK2u6Z+G6aNtW3ag31aNt2w0P3XFclgZL\nCCwsadXce4eVlWUsy2Y0GpIXOY5lc+XNq2xsbvLss+/D831GkxGdTpvR8RDP83n+276NMAi4cuUK\npzc2cD2XwWDAyvIyp9bX6Xa6ZFnOo+fPc+mNN1hdXUFVFe2wRZIkCCGZTScMBj3ipGZ3CG1WF3ge\nQgqkcZ5XUFYF0+mYrKxI8gJp2UhLYD2AkZGlOe2WT5LoAG0qZUM+gPmQcdu2tcDIJG3UPuW5bvjb\njo0x1xJCTyHSDJmqZszNYZO5upNaQT4fwmASL8OOMwGZ+lmbZG0xeXwQu+6drnctgCslEaq2u6wy\njT9ZLq7vkBdaUWVbOhMpy1LjhGWG73tkRYFtOVRJor+CqMgyhefp7MyxjI+wJvPbjou0bWwptFRW\n1HLzSuH7HooaWrAEFvObWtRQjG1ZDfVJ+xnMoRIBKEsi68nVWnBU1mNGLKqyICtrq1fX1pnPAy4p\nRWNMr098HzNwdU5XEix6KevPlC8E75ovWy9Opy6nK9BqUBRIbebzmU9/kp/+6Z/RJaCQCMshijOk\n5fPaxTd57n3PsLKyhu/a2AIc22J37x6+79PpeEir5M7uXU6tr5NnBUkU0+/0qYoCR9pUecntnR02\n1tdxLYvA8wl9LQAp8nmHXQpJq9vHDzssrVg1nVIxU5oT2+75OIHm7F69dYvTa6ugoCgUL770Cn7Y\nYzTdpdVq6+ctNV6fpQnf/7nP4vuBnjLUHIRxnalZlEWO48y9KPzQa9Znz+005kdFnlMuYJ4CiZTa\nWyNLdYB3HI9Kgaj5ypa0KEs9ls54TEvbTG+f+85bQiAsW7MWvDksFrZDnd17YR0sJK6j161Q0Ap8\nLCmAOnu0LGxHNwGLLCMvEgLXw7EEMnCohGDn9i3N5w4Cet0+SsFjjz9RBxib8VgLhSwEge9rle14\nTNBt88nPfBfXr18nzTLSJOGhM2fY39/neDrife97H1JK+qsDptMpN3dv4S4ELg0ZODi2SxAGtGRL\nM0SCeWNRSMiSlE63y7WbN6lsj1K6FFRIJZAP4IH7rvbiMVa2RaGa/fJWPUiWZbiOVhKbAGxZFnmR\n1/tgvrfKsmQ6mzXj40yvzcAhep1oSFOLheYupHmeN8F70RPJJIWLUMwi+87M0AVOKDUfdL1rAdyr\nqUTTSdQsaJT2/PB9F9vW5Uie6ZM0CL1axZhTlFrMU5QFqBwp7Tr7znAcu87K9Wiksiwosowiq6eT\n2A6u61FmBaWqSPKsaTj4jk1WT1xXCqRlUaLIS4UlBZalyztVaa51EIb1mLOSsg6ueVGhhIWQOvt3\nPQ0VlXUHKs50o+btLsN+0ZREzVxZZNSYhW6yciFEc7qbQ0cfKhpfLfKctMixS23PPxgMmEURlVCk\nRc6p1TUeO3+evaMRo9EEx9EyfpQgyXMuX7oMZc5nP/2d5GnGbJY3eN3S0hK7t3dZWR7UGKBiaamP\n7Uika2NZgiLR1DTLsrh+/Tpra2vkec65c+e0xLymXkZRpIdOZzGe77B/sM9DZx/i/v37eL7XwEDd\nTpe1tTUuv3GZlbU1buzscDgccvGNS/T7A8JQOx7GcYoQClTFCy+8wOHh4QkozLwv0GwoU7oa2Gze\n7D45KQlqipmSWNZc1LXIRoA51Kabytre4K1MBUMlaxpmdYm96M5nNvqib7Sxm3Bcv/bgbjf8/7IE\n6Vm02i0tk+8NyMg4Go1od7ucOXOm+d1ZlmNb85F/WaaHflu2ICs0N3oymfDGG2/wwQ9/mN/6jd8g\njmO2t7eJooj3vOc9fOhDH+Ib3/gGOzs7BEHA6uoqUkrOnjlDnue02+2GUqd7MbOmaiyKgjt37gBz\nVkZaDyKZzma4rZCqUnUmPXcIfeuV5zmVOtkobOAQ87yguc/mdSYQ53lOq/auSdO0sYTWlNz5szSK\na7N29HQp1RAKqlmEuvcAACAASURBVKpiNBo1ZIfFNWHWnuM4DStlcT2ZxifMmXFv9Tl/u+tdzMBV\no7xcbBJmWXqiBAlaeiRalucgIGiFqDrz1U0HVS/4iqBeJHE0BUEdrHUDJYpiiqLCjEHyvBYISZoW\nSEsiLYdZnNbGOjrgSjR1SUpLGzopgazq6dVCK7wUAiEdhNIbiDoDLquKooZ+dFNFU5cc22sc2N56\nCWE24UkjfJiLghZVX6bEWlRcmsBTVtpJUVcFepGMx2M9aV7U0MFsxvd97s/wc//bz9dDKHIElv58\nQjJNYg6HQ37ny7/H1tkznD//MCUFs+mUe3fukmdZEwz39vZYXz9FWRbYnqdNtKqKtbU1wjBsGrRm\nuokRR4WhzjJnkxl5liJQnDq1yuHRPqdOr3H37l1832cwWGI0GpGkMWunN/jKH36V+wcHDMcTbRzl\ne8RJjOa+Q5nnfPdnP82dO3ea9zT3z1AwFzHL2WzWbBrzOc21mMUZ6ErDEgnVwiYsi1LrFqQAhbaA\nKEuUmPdazO8xSt7FHofO0PKFZylx6s6dPpy1m2AQ6ODit9rN67UyOaPTaVEWJa0g5I3X3+CFD7wA\nlsWp9VPkVXlCXOL7HpacByTHsSnLHGnZzaH35ptv8sgjj3Cwt8cnPvEJdnd32draYn9fS+Z3d3fZ\n2NjQlNOqYjgcNqrmPMuZTCZMJhMef/zxpv8z50/PB5JsbGwQx3FzsH/1a3+IUhV5nmE7WmL/IE60\n53uk6eIgiHkvyxAZTAPStm1ttyDEH2N7GFM98/rFPWX6c7M6Izf3zKwt48e02JMy99lUxmatmSzb\n/Nsi/9sw2P7/DjV+Z5b4f8TLtl3KUjGLErK8REipXdTcAN8Lcd0AgUWea5qY9jJwSNOMJEkpypKq\nbshZUuI6dlOuOY6jLTariiROGA1Hekyb5xH4AUuDpUat2WprybXv+7TCoM6OqmaDW5YeZ2ZZ2hKz\nKAqKXM9uTJKUNM3IsryGPzxarTZhGBKGAUEY4gU+nq//U0qR5VnT/Pzjl9D85Xoe4WL33jTLTMfe\nlFswpysuZuWu55GXhcb6aiMlRUng+6RJgiorVFERej5PP/00+3v7gPZjKcqSsNNGSJs33rzK/vEQ\nL2yTFhW+53H69GmEEKytrZHUnjKTyYQsS4GK2WxCUeQMh8OGhre8vKzNp+KY8XjcdOHNnNOyKhoG\nB6ri9u1bJEncBIbxZIzrubRaIdM042A05vaduxwfH+vhIqrCcSRxNMVzLVqBz/Pv/9ameW2M0sxl\nGAGLFU2r1SIIgobmZyheJlM2jWTHccjyDMu2aLVCgsAnCHzCVqCZNGlClqdUVYlla68Zy7JqJaDX\n0NGMAMyvoQqTBQaBTxgG9SY23vhl09ieTiekqZ5IrxXNWumrasViWmsTJrMZ7U6XSkGxkMlXVdXQ\n1o6Hh/pzWlYTsI+OjnjPe97Dq6++yjPPPMNjjz2GX/ubG1rsH/3RH/Hkk082wfAP/uAPTpAGHFtD\nBxsbGzz//PNcvHiRCxcucOPGjWbN6jhgN5+p29X+8Xfu3MEPAixrnkFb1oNViVk2Hyq86CVk9o/5\n3oZc0O/36XQ6jd+MCfaG+FBVFVEUMR6PAZoDPwzDE1Rh3/cbQ7Dj4+Pmu5jfYXyQDGXSfL63KiwX\nq7I0TU/M5P0TC6H861//d0gp6HV79HrdpvyyHRtVNyItKbFKSV5k5Lk+hX2vjRCKvMia5iLoMkbV\nVpI2hqmh/cD9wEcgTmxYIQ3VKm3M8B3Hoe91tPXnQjlVlUYI4NRd6roxWFagSk1TUnr8Wzybkhfa\nS9ix9YxAM9HH8xxQCs99+9uuG7deA6UY46vFjAXm2bf5zIuNENCHjLbe1Ph/01Cps69OS5e10pHk\nSvHpT30XL7/4MlVVUpQ5jmM3HHi/1eLNqzeI4pSnnvwWPvD801x+9bV6rJ7OYu7evcuZM5vo8WUa\nYtnf32dlZaVZjJPJpLEl6Ha77O7uNoeoUop2u8XB/kHtNWHz1FNPNdaorXab6XTGaDRmMp3y+1+/\nQJZnTKZRoyAtqoJ0HGFLwcH+Hv/Fj/0YaRqR52Vj6+r7fsPsMaXwoh7B4JuLm98cnuZzNhTAOpta\nLHtNoFjsR0gp9Vg7Mfean+On82nvZuM7jl3Df/MBB6aZnSRJA/UAjMdjPv7xj/Pv//3v1xhrqQc+\nhC0UmoGTF1pp6nkuQgYnKjeD606m41pA53Lq9DpRNGsGmK+urjasMNMIvHTpEt/+7d/OdDplfX1d\nD65ot6mqqvHzoVKEYagx8uNj3vve93JwcABCUwwPDnS267kuRQ1teJ7HYGmJg6NjoiTB87Un/nzd\nv33lqp9d1nw+pVSTJS8mQuZ+NxBUbV1tMmHDIVdKNXYab332i41H85yD2ijNvGaxwjL/fzFgL2b5\npipY9D0y+pV3st0w17sWwN+4fJWiqEcPqdrwPMuQlsXm5ibvf/9zbG5sYksXx/FptULG4zHjSYKQ\nCikFjnSwbUsT7yuJsBWW7aIAVSos18YWsskK7DorKPIcgcaK88LI8HUwT+KieVC2rX2a55svo8g1\nW0HTzzQbpqoqzbkGPNchyTReVmFO0YLZJG4aGg8qBeMoqfnnmu2yuMjMgzWByGSVhnu+GDyKMkda\nkqosSdIIKXSg73Q6lEWhy/tKQQW+45AIwY//l3+Lf/A/fp7QD8nLQjfLUHhBQBonvPHmVTq9Pjdu\nXOajH/4I7U5fy9ItmyzXNqdmgkpVVdy5c4d+f5nZLF6AeUyWkdPvL1GW+jnmeUnoe4zHE85tbxPF\nMa7jU5Qz4iTTPhyDAQdHI37nd38Pgi7Xb9yiN+jiuQ6TqfY3EQKSOObP/dkfZHl5QFzb5poNUVVV\nQ+s0uKyZEGPKbeOJYzajyYBMub34s9PplOl0eiKrhpMZlXm9qvRm9FwbpTTTwby2cixUVeJ785mp\nUsw9MxwT3OsDu8mkkXznJ7+T3/3d38WynIY6N5lMCcMWjuNxdDhk++Et3QB+882mB9HpdBqRmsl8\nL9dWsHEM09GEjVOnGR4f64EYMz11au/efXq9Ho5VfybL5u7duzz77LNcvXqVRx55RN+net7s0tIS\ncawNoZZXllHA3d07tNttwrBFmZc4tsLteaRZzh/+4de5eOkNkiynokDUzppmQtXbXaKmQ5psWynV\nVFsm01+0ZlVV0UBpJgibQ9RAuia7jpOEMAwbE7OjoyP6/X6TiZvKLs9zjo+P6+o7PHEwmPcwAV0I\nPanHfObBYNDEBkM9NqrM/xAO/q4F8IfPP4qZLL+/v6+DpqM9C27v7rK3v0+WZawva8XYxsYGnXYH\nw62VlkQKsF0X39fy9rxMUCjarXY9jAEc28b3PJxa8VkpheU4FHncYN9VWRHNUvI8Q88n1AuwzOvm\nah1vLWEh7LlCMk1105QKClViSavJOD3P0wNRhcQO282DLItCU+Pe5lpeXtEZe33yL57ei9TBRbvc\nRZ65+TtHulRqHoiqSh9gozzXWLzU01UkgqIsEJ6PZ0u+85Of4Atf+BV6S4NmsVeVxvla7Q6vXnyd\nM6dX+NqLF/igG9DptBmOZ7heCFh4nst4PCHLcp6omQ39fp+bN2/qmZTjMUmS0O/3qaqKS5cu8d73\nvheAo+GQVqdDkhREcYbCYTqN8YIOw/GMS5cu841vfhOA+7d3aXe6UOkBAa7tkMQzHCl49JFtHn/s\nMaqy1DxtZexE/RM9BC1KmkNZJoMyFqAm+zYH0mI2ZDIlA3+YjWwUxIu6AZPxmj+bctxsWPP7siw7\n8b5RFDXPWZsxOY0PkLmyLMV2HdrtFuPxBMvyyTId7LIsp93vc/X6NcaTMadOrfP44483FYDJUIfD\nY0BwdHTEysoyUTSl3++xurpSC4e6DbxhDrnNzc1mvTmOwwsvvMCXvvQltre3uXz5Mtvb25rGVx82\nYRhydHTEcDikN+jT6ujpQFmimSnGfsKSNtvnH+HVN16n1W4TR8MT1hoPmtBuDuFFGNEE7EU7V3MZ\n7r/RZiw2IpsKfQGSMQZ7QJNZL45WM8ne6dOnm6C8CIMsvq9ZB61W64S9dJZlDVRnDPzM93in610L\n4M8/91zt5SE1hac+EY+Pj9nZ2WFv7x7RbMLu7i1c12M4PAKhh786ji67AD26yrL0EGS3Ht/l1adj\nrjMSt+Z+IiAMQpaXliiyGWVZ0Ov3ePyxx1lfX0c6PoEfaApe3SDN85w8yeuy2q754po3XuQ5aaZl\n0pYpnaUDSlJWFUJKSgVlqiENy9LT0xFvn4GXZYVSorEXyPLkhCuZWQwmEyyKorHUNRl6WWpOvTLQ\njjTBXyJYPAw0X1ooyJOENMv44AeeJ0kifv3f/iZ+2EJaNqWqCFohcZRg2w73D4cU2PzGb3+ZJx5/\nlH6vy8b6muY7ZynLS+scHOzR6w6I02RB+TpXnBmO7srKSnNIfeEL/4of+ZEf4er1m5zb3ibLC5bX\nTvPFL36RySzSPifjGXleELTalEWOqqcQSVGhipLB2jI//Bf/Ikkc4bs1FCVkY4+wWI6a0to0ikzw\nNRCK2dymGjOf29zrKIr+WGPZbG6zqU0QMNm/mXVqsrbFrHLRRM2U5YbbbzJlo9Iz5X5ZlkynU7a3\nz3H9+k3tpCiMkjMlywqOj4d89rOf5ejo8MR9uH37NrZt0+12mga3ELC6usq1a9dYXl6m09GcduM5\n//Wvf53t7e0mYAqhRxiOx2O2traQUvKhD32IV199lV6n2+D+cRzT7/eb2bFSSlzfochyptMZ3W6X\noirpD3p85etfIy8Kep0208lhAxd5nkcYtN523yhVNhN2TAVl7q0JgOZZCCEo8npY+YLM3WTIi9au\npgFqDnID8yzClkDzvg0tVs5tZhehUMPzNuvDHDLmfUzlkOd5Yz38J1ZKH3oWvq/nSgaO9gRuBw6n\nVvs8/eRjhKFmAUhLcnh4xEsvvcK9vQOGxxPSPNdB0LL0rExLW61mVYF0Q9KiBFWhJ30XlErh1pnL\ncBxxPJqR5hFSCspbd/jKNy4gavxcVQrfdWm32oStEKeetWh8FnxfwzlBGBDUD1P7Luh5hEJqQY42\nx6kZCkLWZZg2yn+QEjOOEyxLEsezRoprFpBZUIsLxQRsEyDnv1edyORV3cEX6EnfRVlSFhmqLBEK\npOPiWpIqz/juz3yG+/f3ePHCK1i2g+MGDIfaeyPPcoQl2bmzx9rKEl/+va+wublB56MfxrZdOt0B\ne/fv49g+Warvwa1btzh9+nSTZRg/krIsWVpaavyop7NYD0nOSoTlsH93n1cvXuTevlZQvnH5mpbV\newGiMmrHiDLPERJ63Q5/7a/+5xR5jmPbKKVd7NRCJrwozAKaDNhsprfijwauWsStzc8EgddAJCYI\n2LZECEPLM8MatAmZpoUWJ+iMi/z9+QGtapGYg23PHS6NZ4fnOU0W7kmXvKh45OFHuHHjloaLlPbP\nLgr9eSeziK997euc2zrL/mRMVWml7dbWVtO4MzCclJI7d+5w9uwZynI+QcbzPA4ODvjoRz/KpUuX\nmM1mPPLIIxpHT7Sv+2w2IwgCLl26xMrKCkcHh83PDwYDhsMhnU6H/eMDAi8g8Hw8x6XX63P79i7d\nfp/bd3Z56eWX8VstbtzcYanrEoah9pbpdGi13j6A69ekzVCVxX6E4dsvNgNNU9EEVPPdzfM2r61q\n6q9JOBZ9ksxrTMZukq7F9zJrZhFuWazkFpu+Zk+biiOKoubzv9P17vHALbCVLjttx6LKc4SqEOiB\nw5NEZ8h4mtZ2anMVL/RI0msko1RPmC80zl0BaZZSVALX1Zu3LIpmQ6V5QZrWDoG2jSUtpCcpyoKi\nKrGDALd++GVRIKTFJK0YJ5P6QRfNZjUll5CKKteDjvWDU4RhgJSiOQzyTBvSe56rTewr7WnebrX5\n4NvcE01XsusST2d3s2hygoK0qM40i2+xKaWUtsS06669sCSi7uZneYrAoirLZhgzSqHKnDjNsByH\nozLn+77vc4TtNr/5pd+h07NQlSCOE3r9PrnSwpGD4zGOJbhz5x7/5t/8Ot12i6V+F99x+OhHPgzo\njGdvb4+NjY2GW2v8brIso91uMxwOKYqCh7YeJs0Kbu7c5psvv4ISkrv37jEcjShLGCytkGSa4qaq\ngiRLqMoCoRR5lvPX/+bfwPc8omiK7/rkuT4A81o5ZzYf0GRQc3EUDbvCZNuLsIfZfIuCjMWgZzbf\nIpd3kdJZFGWzyU0pbjjHpmE6L5dPsg8WS3zznibwF5XWKGxsbGg/87DFLNaZd6fV5v7eHivLy7x0\n4RU816Hf72LbNg899BCaRucwm+nA1+/3OTw8rIVkquFlmwqw1Wpx6dIlOp0O9+7da1hQBu9VShs0\nHR8fNwZzZsKUYa8kScKgPyBNEibjCe1Wi6IoOXv2LEma8/tf+Qq9Xo+kKLEcrXZuoIhKsbm5+bax\nZDKZoP2QTg5AMfdv8aqqikLNxVLN370lsC5CbSaoR1HUBGyTiJg+yaIr6SL8Yn7HYmPbuJSaZ28E\nP4vN8W5XD9v4E5uBl1lMlQkUCqms2iFCK5vyotCOaa0W43xGVVYM+l02Tm+wuXmGyTThjUtvcm9v\nj6zQUIHjWmSzjDxT2LaDEvrmeq6HZ2s83JJ1BlpVFErg+C18KTEzJkUlQTiARNoSgfYQltIGqUCC\n6/q13LfEdpRugqKZKdMkx7W1vFkI/bnyvGAWZU05nOaKyezt5bE/9dM/AwLW19ewbMny0jJB6NPv\n92iFLcJWiO/52LagKnNULat3bKfBem3HRgKW1FlYWVaNaVBVViD0wSelRNpaZKJpZFLP0swrbCTf\n92e+lzTN+P0/+Crd3hIKyXgyxXICet0us9kEpSR7+wfs3a9YW1lmPJoQz6YaBtnaYvv8GcbTmPv7\nR1SVNhI72N9ndXWVoiiYRYfsHxwzHE2ZzCJ+7n/5J9iOQ7vT5ZsvvshgaQkpbfqDPpN6snqSpogy\n0ZYDVclSv8M/+Ps/ydHhAVGc0Gq1iSONsydJQpmVczZInREuBkjP8+bUzIZhIrAsLX3XEJ2N6+hN\nVxYVtmUjpF1nxnN+txCyKd0X36NpRCmtTTA/YzjDOpjoz1apuVWywYel1DMrlVI4NRPKkpIs0o3x\nzTObnDu3xa2dXWzHJoojwsCnKssmGO8fHvLIw9tMZ7rpWpUlk+mUqu5TJHFMlqY8tKUbnpubG2Sp\nXrfXr19nY2ODra0t4jhiMOgjhGB1dZX9/T36S0u6Qex5TMZjut0u/V6vqTikZeH7Hq12izTLCPyA\naTZhOp0ShCF7+3vMopjbt28TJSluEDDo9XFkymw6pdPtEgQh29vbb7tv9B7Q2gsjgwcNPVWVroLM\nvcyL+bxJoDmwG/2EgVQW8O9Fdol5ttoiYC4AMz8H84PcPDtTwZkEzLCJ8loYJKRo2EgmgBtr7T+x\nGLh0jemLQ1aXr7MoJghCSiGoLItZmmHXrnq+ZUFZsNTyWG4HPHHuY8xmM+I0YTqNKcuSqFQMj48Z\njibsHxxweHBEWkQ4rq/HNDkuuSl3XUGlMoq89jOwRL2xQNhCfybLxg19VFnWBjdGJaUQdu1MaAuk\nNT/xqyJHVFqujxII6WpLSyVQCCosg6z8sSt1NW64O9JNk9vHaR1cSu3UJmyoxSFSaO675zr0+n08\n39NWAJZEUuHJkm63S7errVNPnzqNQuHW+KDhbu/t79Ppt2iHAe1a9DSZTJgc7PPpT3wHj51/jH/6\nf/4SSmrRlVVOmeSxvjduiBV2KBXsj2LuHU3x/JDjPOLa3mv0L9/E8zxeubLXQE1VWWKJKw2kkmUZ\nURQxiSa6QVtEuJMZa2fPYFkC3/MZjY5ohyFxdESWJgSOTZXHPP/883zyk5/k8PBYQxR5QV5o+Kk4\nHlIWBa3QPxFMTbA1G8zg3FVV1QwRVVco2qvDFjZCScqsAiWRSqIyRWUpSqWZTIbrrTeuav6sMNWY\nTVXqUV/SMmpB7f0jhCLPs1rAUREGIUVZl/AKFLrR3u31m0rL4PGOY1GUGWWZ8p/+wPfz+Z/8n3BF\ngO0ExFlGt93h3v4BTzz+KFeuXue59z2H74V4jsu9/V26nQ7hYBmAe6Mpy8vrRLMc2/aZjrUyd29/\nj82NDdI0AeViW5Yev2dJppMRYRBQ5gW21JTAQX+gm5bHRywvL+M4Dvf39nCUo71w4xKv5ZM7LmmR\nEWcxq5tr/PYvf4EonrK0tMrweERgu5RFTuD5tPyA8w9vP1C0YktHy+PLEmn7TcarKb/GwKxCSYHt\n2siiQkltKWEEPWmW6WEQSmnbhKpE5RmiOrl2FrNk06Be/F/zWtOUNPMDFqFOpRSoEksa/yKIoylJ\nmuJ5QRP4zbN+p+tdC+B6hmTWgPztdudEl12fchGe5+A4LrNZhOO6tFotsiyfD/MV2qi9qmDVdTlz\neg2lwPcCHMdjPJ3y8ssXuH7tBqPJBBT4QYiioigrRFVb21Zapek6LpQ5ga0tbIs0w7J19iqkxJE2\nSZnrRes4OJZTmxHVxlIYebWZ8KEDr6o3dVGWjTnSWy8T5N4q9JHSwqrpepYCy3YRVMRpRprljGYa\nbrIdG9txoCrIE52xSUuSxAm+5xJFMa7n1lzwHlJKjo4PEbL2aZGS0+urPPbYY5ze2KDd6fLUe57g\nb//Xf4uf+pmfpapSSiGxHYu8SDk4ThqGhO87KGWTZIlu7ErJzu6RxgbVfOq2yUbKotCmRkVBFMe0\n2m1832d9ua9njOYJKEkuMhxpcXf3Dv1+B9uyGR7u88M//MN84AMfIIoiRsMjwtAn8DT+XOYpkgph\nCcbjYQOZLPJxTWOwKLJGEayEVnDalk2lSrI0r7FP2VRwRaGVu47jUpa2bqYrqMo5T7kUxvpY1syk\n2jJZGJ/oHLkwm9PQEtNUD3SQcq7gM6X7Yv9gXsa3UKokzXJ6vS4f/MALvPjSBcbjMVJajMoxvu+x\ne/surm3xz3/pl/iRv/SXuH7jJqsrS7iuZoloiMMiDHws22E8GrO8vMLrr7/O5uYm7bbmc8eRtsxt\ntbukWY5d90WkEriuT5aVbG1tc3h4SJLo4Rf37t3n9OnT3L17F3fVZWllmdFohBcEqFQSJTH/9P/4\nBQ4OjllZXebgYI9Op0dRZthSVzRLS0sPzL6ButEsamX23GVSCNGYe5VlCZkgK3JaNUVWWnOLV2uh\nwSvrQG77LpRzCf8ivdQ0v01QN3HLsqxGiWrYK4sEBKO+DXz3RHbuOA6WbVNVNPvkreyZt7vetQCu\nOdnOgpcHtQJRNrQi00DK89p3W4iaYqPtQM0NcGuhhmtbCKG9R6pSUVUZ/ZbLR194ju/4yAtUpeLg\n8ICDoyPSrKgbPYqq0grE8Xjc/FdUGt6xpKWphQKEsFBVgSsUwtf87IoC0KwUN/Q0xlwPbVUCsBQV\nGnKR0kLaNtYDUvAKpUt210Hgkudpw25BSmzXpswLzXBRCqSl30MoFDaZEmSZ9mZxXF3Kl0oR9ELi\nKMLyW0jboVSKw/FEBzPhgBJEiebjvn7pGju7d3ho6yHiJOJ4NEbYNv2uz729fRJsZmmE72u8P8sT\nympuY+s6VmPt6vudRm4uhCCKZ6g6mCsU0rFohwG9QR+lKhRK22w6FralvVxmSaQVh4HHZDjm/d/6\nrXzPZ36U5aVl0niKBDZPrzGZTBC1U2An9GtGj2qEJWbjAE1QNLx6Q9ejPnQzQ98EkiyGDBzbJU+y\nevycR5qeHFZr2doPhvpZV2UFlc6itTukdpic08p0EA6CoGF6VFVVrzep7xl6Mzu2TbvV0hmemk9s\nUqX2sm6FIdMo4YMvfJDXX7+MEDZpkoInsG2X4WTGUr+PEg7/1xf/NR//9o9i2XoghFIVkyhifX0N\nUMxmYzzP4eaNHdbXTuN7AffvH+A6HofHI5ZX11hZWSOOo5q3XKKUjW25WNKhyCuytODMxlmGwyGn\n1zfJ4oxBd5nR0ZjE097wWZ7T6gx47dIVZlFOt9dnOBpToRCiotPtUKQaajhz5kytwJ4raRcvDXmA\nUvPh6JZlkdVsGQORAPieR1YrmIVa4OvneYPZQz0jd4GaaP5uEc82Ad18BqNWNRxvY35VvuX3OI7T\ncNHN7wVNeXa9oOmHGMjmHePoO/7rf8Rrkfam8VGfIAgbb2VDnjdcSXNC6ZLEZzQa1115H4Vif3+f\n5U67LktFjTVqCW4YBLie9gURqs3KoEVR6uzI4F7G78DcON8PG+bAJJkxmU25du06b1y6xCSagSVp\nhW2UEFQVlPUszkpYOK7XNLvKOiNwkAuUpbe/J3Kh8SKlJM0zfMvXcz5LzchRlp7aUuQ5klo9JgVC\nzf0UhLDJK4WQ+rtNZwm249PyfJI00SPXXBsUCCR5USGpmMYRIJnFOS++/Ar9QY+nn3kvvX6f848+\nyu3dO/y73/19Lly4gB3NWF1aJq0ba02XvlYd2raFLhdEzYcXtX1C3W+Qom7gJEwmE3zfo9vtYluC\naKoPF1WViKoiiSNmkwk/9Y/+EYPBgDQ6RtWe3gLF0eGhpqIZgyAFEl0up8XJaUpvxSlNcO/1etpm\nV2hRB3UAzfMMy7JJs9q7uqP9R4q8ag4J7UeimmZWU2rX1a/taOqpOeR0RqY9do6PjxumhP6ccxWo\n+YzGrsBxHIosI0pTLSyyNG1W9zoUK8vL9Hs9rt24hev6pOTYdkGv12M0mdJrd7i/f8SV67d4+skn\ncGxJWVZsbp7B9/Vgi1YYMhlP6dfinqwomE0jNh8/w5Vr11BK0e31yIuioTJmSd40gQHN167Ad3x2\nb+1y6tQpzeLyQ+4f3CfsdEE4XLl6nd/4jd8hCH263Q5VCa1WgOUK9vfvsr6yztraOltb594xG9Vx\nRB+mea6rc8Mi8hYYJ2afL7I+3irpXwyYtm0zm82aCV863niNhuCtbBJDUlhUWZr3XKT8ep5HniVN\nzFn06jk8CKvRTQAAIABJREFU0kOz+/0+q6urDzy0zCXUO4T4JEn42Mc+1ogbPve5z/H5z3+eo6Mj\nfuiHfoibN29y7tw5vvCFLzTT3T//+c/z8z//81iWxc/+7M/yqU996o+/qRD86q/8E0A2XWzjGTCZ\nTAiCoPnS5mQry7L21naQUk/bsCwLYckmw3OqEtuxSZIU7Zc8n8pu3hd0RmQ7QXPjDRujKLQni23V\nQ09FfdDoH6ZES2zzouTWzm1u7dxmGsVEs4gkzcjynCwv6z/rssy2HZQyDnaqweT+95/7X//YffnL\nP/qjGN8LszBt29Z+HEFIgcC1NUygKoU5ByqlqYKV0hlahaAsdEBwbT3STJnMQf9A496mBxs4mgmU\npYiqoCwzUOUJeXJelriuR2FpS9zJeMJoNNRZoqMnojuOgy3nLn7CncvRy1ILnajm8wYNRADarxwM\nzlirGcsCCawtL/OZT38XVVHgux7IElXpGYaO4yAsDW/YtSXr8tJAjxKzJVii3jAZAlErdys9bs4w\nj8waETqL1uwlHWTnpW/cMAjSJEbg68dZs22o7YTrpVLDIJrbnxYR2phKVztFYaiBsqGvpWmGXT/b\nt0r8TbJjGmomiNhSWxfbtoO0nHqEncM//If/M5MoJklyev0+QaA9Pxzb1qrOIud9zzzN+UfOkSUR\ny0sDPNemKHParRb37t2n39HTjo7rARCOZ/PaxYs89fRTFEXB7u4uq6urgMB3fQ6Pjuh2OvXsTsGg\n3wdEzRAp57NpXYtbt3a5e3+PL33pd1heXSMIAyaTIYHvMBi0mM0mtFsBp9fO8Nxz/197XxZr13We\n96219njOuffyXg6Xk2w5HCxrMElbFp3WrodEURHFrFEjhiRDJZIYBYy+xAEcwy8N+hBFSpoHpwma\nh1QO64faLZBYhCsrUWNJlmMgSjS6ZmJJDilxFsk7nnP2tIY+/Otfe1+Koh4SkWZ5foDA5R3O2Wft\nvf71D9/3/R/0kSiQJil23vKRN+2bv3/uKRjbrIm0rbVwQMiuGE9urQ2IMz7wWVgtuahW3UVMcfDV\nxenzAcslFOYB8Gt3kTB8OHCgI0VLGiOfRPX6pmkZ1fz+ez5051tG4peNwLMswxNPPBFSgY985CP4\n/ve/j8OHD+POO+/Eb/7mb+Khhx7Cgw8+iAcffBBHjhzBN7/5TRw5cgQnT57Ez//8z+Pll1++5MmZ\n5/2wGPwheeQVp7dJkgBO4sL500jSBFEcQakGU1MDVFVBteE4IvU3AMIpCCUQpylSmYMnr0QRde3D\nEjgalCqVJ7R40o5UhB6pm9qnQDnKklPtGA4C5VBDxQm2zm/A9q1bUDcNHGSov2lfK29qotaeOXMG\nb5w7h3NvnKPxUklC7M1LWJoICEkpc5ZlgeqLqT6KqoE1FmU5RhwEgAjvDQDSb07np9BbJ+B8dBnH\nMWScEHFHUnTKEYJ1DkVdwVGPjh46RXrQKukDghQZM4bdgWjz0zOzmJlZR0gHbdDUJDJW6DHgHaUu\nWhheEAfzBKKLG0KRZ7HSBqCp3P3BAMI51HWDw4e/jaYqESsFo1RQdJSsf+MPSCkE8l4GbbSH7kVI\n0wxbNs8jTVLMzs1ix8/sQJZlWFyi521qauAjxAEaXcEaahRrYwgWCsAZII4T1GUFow0cKghBQz1I\nG1NARlRKo4jPBwcCmM6oJqqbBpFKkPgIuxiXqMsKLnGII2oQ8iQhPlzYSTCblCN12uAaSUqT3GtT\nA0IigsDnPncfDh36OupaU6O/KDE3N4faa1Svm5nB3/zdszh95jTuveeXUZUFnNFIIoXjx09gdnYW\nTlgI5RDFEr0+CaNpXdGhzrLPOUEOrW2QZTHKaoT1G9bh3LnzGI0JRdEf5Dh37hysI1hnGvXw8quv\n4oUXX8K69RuQZhmWlhbR7+fIezGGwxH6/QzT09O4YfsN1DgWkZ9TeWlhp16vh1pXa6C+xngF0DiG\n8s8YZWcOpafNU5akqKRT0aCJLt6bHeyg36eyhtaAvx+Wa9T+GXbWwnoyEJN1uO/CJCOOwIUQEGh1\ndLgGrrVBFLfzAJgEdjl72xIKN074FJqdncXhw4fx1FNPAQAOHjyIj3/843jwwQfxyCOP4N5770Uc\nx7jxxhuxc+dOPPPMM/jwhz/8ptcVUARp8yk3N/0uZrHpxgZIWBTFWFlZoSjKn5QWDlXt9ZudhCwk\nrDXI8pw2hCZmHMnP0gYDaG6kkJI2qITHX3vYjof1FFXpYV0IG9IhhmlqoqD7UkeA4jkgiQlSmMoI\n/c0b8O6tm4IGi7UW58+fx9GjRy+51lO9NDRJRqtLaDqU+TgmIfyyoEabawhqaUEDBLTVNFVE0aAB\n21DpJo0krGkguJttgMprnicJkZRyv+a2oYiSkTlKxnTAKUcbSQIGBTk46yV9I0BmXJYg8hJ34ytb\nBWfjfHlBiVY/IojbGwvlgDhNfDoZh+zAGoMGNErNOkA6gcbJEPFIKWABNI61uB2KlRKssFdfuAAV\nRThz9hzquoHlLE4IzM7OYstmUlYcDlfRS3JMT0+j16MMsN/PMT0zhV4vRz/voWkspEwIcgnGHQNJ\nFMNojXJctfMNDYtRCRQF9XaylCamW2ugG8IX93p9CCFbJqhPq7rRHZdmulEkQDh+o61v3EXQRqOu\namyYW4f3vncXnn/pJTR+jZuGsqk872F5dQVJnODVo6/hvz18CP/6rjsxN7sO5y+cR39qBlGSwjQ1\nxkUBJywqz1zcvHkzlJLo532sri6jKEaIohhWW8SxQtOQaNmGDetx9uxZrEvmEMcR1s3NEp6/rvHt\nP/8zvPzyK1i/YSOElBgOlwFYzMxMwTQlpgdTSLMIG+bm8J737Ai9iy5m/2JbWLiAJEsCoihIIDhH\nk7dk+7zwfuryAEIvzUN9WcitmzmEA8HLIPAhwdfUNA1qH3hy9NxtXDIDNzB6Nc00YGPn3uiW59El\nkL2Vva0Dt9biAx/4AH7yk5/gC1/4Am655RacPXsW8/PzAID5+XmcPXsWAHDq1Kk1znr79u04efLk\nJV+XTyUAfrqJCNMwGODOjUzANyqUxPbt20E6wdTIGRXjgIFWfmFVHGF1NITRNFAAmvWcBegQdqga\nwqdG3rEJKWiklh8KwWUVGUUQhlDqggq89IAIL85kDYyhzUGNPetPeAUVKdRVAZgGCimsNlg36OGO\nD+y95Jr8yr+7D4uLS2uIIuNxgWJcoKgqLA9Xsbi4iGI0RlFQh7upyUlGSYwszWCchbUNIkUHEzd3\nlBLQ1vhIm5QeI0G4cAFHqI1E0STvhKafVFUDZyl11cZ4XLCCjMmxO+tCTZvukSJVRu+0I6Hacknn\neaLySFtKcc4hZh0Z0Jrz7Mg4Sqg04UhPHRBQSeYjLe/IJPEIjLFUb5eAdRLGAHFKCnOrRY0sTpFl\n5LzhiJW7vPwqNckTGs3Hg5DjKKIyjbCYmppGnqeYnp7CunUz2LZ1K7a9ayvyXo7Y136NBeIko/KM\nIAafgwAElVIiFcFoh0rzoWaRJAJVtZY8pJsGopOxEpbZhvF5TEoqyxLSz9O0FWUtMJoa30ri7l+8\nC0Uxxt899zzm1m8kyF+fRsXleY5xQUqPy6MC/+vPHsHNN+3G5vlNeO/OnajrEkJKLC4uYuPGDRS8\nWIc87yFSMZq6AZxAL6fGqvCDngGNOE5RljVG4wqzcxGMA4RK8OxzL+H111/H8uoQGzduRNWQUuJg\n0EOWpdA14fp7+TTefcMN2PP+90MbIE3zMCy4K4XQtV4/p0i74/i01iHT473EwVHq9Ws40FBK+X5H\ngzzPkef5GmZu21tqxxiyNAL7pn6/j0EH5cQIlK4MAqsdCiEghQtQQd4vaZqi0e1YNc7CLmdv68Cl\nlHjhhRewvLyMu+66C0888cSan1+sMXGxvdXP/st/fRgApb97338z9u65JdCEx+NxeFhXS5IhXVxc\nxPS6meBgm4ZwllNT04H80DQGgwGVZgaDPqw2WFrkIa40/grWQQoJpRKoSPmhsz5qdBZxnHpH4kka\n1sAZhJqo8hNCOFXm9KmsSlTjEWREI62UTKHimDrLcRoYarGKUTaXnjS9tPAGpgZTqGuB2ekBSB+8\n8fU0iayXQ0mFNE6gtUGjNdI8w9Fjr+Efjx7DwtIiVoerKMcFnNUAaM5lkqYYj0qYhupzWU4OuWlK\nJJGCEkRmEkJCyIZ0Go1BHgtIFcM5i0g59PMMVTkCaLwFlauiCPANYt1YNMbQkAMBZEkengFnW2q2\n8A7UWkOTihzgtEGSKGJzybbRS+vrAEuaM9ZalJp6A2nczhiEA6RKiIQjBTi2kT6zSyOqWVe1CRmB\nkl6jO8owHI4QZwlUkgIOKI2GkrQ9zi0NoYYjnLmwDK2PQUX/F1aXEHDYum0b9u3dh83z854Bq5DE\nhFyiRqhArBS01F79gRqZVDOnCI3XxPq1oDjBZzU+C4lkW2PVNWUyhLqwlDHCkeZ9lkLrChEcfvmX\n/y2sM3juhZeQZTlWVxr0BwNUlUOW9TEcjxEphempKTz1/R9g6/wWCBlh29YtEADGZYPRqIYQFEVm\naYqioKwwT/sYLo99aSeHtQLORnBWIs0zbNy4GSdPv4HRaIzHHv8LwNEYw7m5DTh/4Q30p/voJTGi\n2EGgRpzEmO4TAWjXzt3QtUVRM3t3LRTvYjPG+IOzZUAGyJ93xOynEi9fCx+l82tG/ve5hs39p240\nza9PGuxxCDS11lheXvaTvFoSl7U2lDB5NF3bc7FIfWM6sICjCFIBf/t3L+Bvn33xnxeFMjMzg7vv\nvhvPPvss5ufncebMGWzevBmnT5/22tDAtm3bcPz48fA3J06ceEv668HPfRYkUu9TxLpBWRagJlIU\nqMNKptDakvCRNeHDpimJFfUGA88KdMjSDE1dIIljPw0HmJ2d7jT8bKhrRiIBDGCd89EL9RiTNIZw\nxOiJoxhOWtTO024daVxYSxCkshzRYSBBBBVJkauLBSAk6kp7gXaLgVdSVJJ0Uy5leaIwXl2iiT6w\nMP407ucJITJMBVM7DEdDPysxwbAaY+O6aczfvg9QAsY66KaGsDWSmBA6ZdXg9RMncPLUWdRNg7Kq\nMRqO4QQwNzOHres3oDHUaLESAASsAFZWV/w0pBrLq8sYj1cBQxGigAQclS+coJG0SaoQgTr+1lCE\nkcQtVBSgKAeeHCF8wzKKIyLACgQtD/6aSFbUXxRwUA7oxa2sALHwIkA4wupftLRFTY3QVmiIJIKd\nIELWaFT6jZhBS4HGNxeV11HRVY046wHCoW40oiT37MwMcBanTp3H6VP/x0+kNzQ0JPUDGXy6Pehl\ngCOphZmZdRgMeuj3+9g0vwk0BUeHuieANQp63ak9XUq/1ppmu2YpAI4mqe6f5HTtZVXg3xz4JUgp\n8eJLLwFCYnmpwfS6OdhyDKViNFpjZXWE9Rvmce7CIr71rf+NNI0xP78eO37mZ7Bx4xYSuHr1VWyY\nncFoNAKcQ9M4pAlxAJSMEQmBhdVVqKjBqR//BEePvYZjrx+naVBxLwxwHo0oA8izBI0uESugrseY\nm9mMbVu34IP7bgdsBGcs8jwK0q5AWzq6lMVZSgemzwCbpglZHztCq6luHXlpCwmEtTW61YK31iJP\nszXyr/x9Jp9xJtQVqWJnzqVgjvj5AOAIvK5rSNHiydlJW2NgLHDbrTfh/be9L2DZ/+Rr/+MtP/dl\nHfj58+cRRRHWrSNyxeOPP47f+q3fwoEDB3Do0CF8+ctfxqFDh/DpT38aAHDgwAHcd999+I3f+A2c\nPHkSr7zyCu64445LvjZFIr6G6euVUmVQqu0O53mGOOp5AaBW84MkPBnmM6TFsg6RErBWoywbOEN1\nQaUUYhX5pihN5ImlQuMUGv8+tPjWY1pFODwCxV5FpMHh0Rx1XcM0GklKzsAYDRhL+O2oneRjjEMu\nW/2MXpp5iNOlH8QkijDVHxCxQlGpAgCapqIRbwaoywZpHCOLFbIkQaU1at3ACYs4zghfCgslHHRd\nQKkIvTTGjne/C7t37UKa5nAQaAwNsZUOsMOCso+UBjxbYeEkUNYVZCQQpzGp/0EgjnIcO3YMr7zy\nKs6cOYuyqjAqSjgoCEFaM0IIOADFqICf+OVTzgixUlB+iDBtNO+giHYIJ4BYSkCuZbxxc0pJhcRP\nbfcVrSDuaK2Fs4y48ZF2mkFKWn/p+PccpFBQkYBKFeqqgnUCRaW94wR0bQDpYPxBYQzpxxQliVEl\nloYvxHHk0Sg09BnWoTHAcFjCelRTMUixurKMcTEmPXYAU1M0s5IEkxymp6eQ5zkRqAYDzG/ahK3b\ntmFudhZzc3NYWVmBUhGKYgxraW6qdcQ3MNrAWg3rD+HxeAwVRVhaWUEUJ/jcvZ+FtRbPvfgiBCQW\nF8+jP5hBkuRIkgzWOiwuLFNNVgBKxThy5Md47fWT+O53n4KzDhvWz+Fn77gDmzZtwlR/gGI0gtXA\nyJY4cfIkfvzjH+Poa68hTjMqaSYJAIVeP0fdGJw9t0DT6oVD3uthNFrGurk+jKnxrhu2I1IKu3ft\nQtM0KFfH2LRxE95YPh8mKvH9v5SlaYqSx6eJVnHTGILbclORH5TGl1gUGJXmfZFo5YOFIxDHIJla\n8wzy73KJpK7rUE4piiIctNwbYx0ZLruw44cza2ZvEpy18fBnEVQ8L3doAW8DI/zhD3+IgwcPhhe6\n//778aUvfQkLCwv47Gc/i9dff/1NMMIHHngADz/8MKIowle/+lXcddddb35TIfDon38tLB7gJ5DI\nVo+3e+Fd3WSOvBjZwDXVLq6T60l8ArJD7goMdUsgl6ozdXURjG0HjbL2QRdbytfGTuli8D/feOFr\n7ACw/1/90pve85mnvr3mGvnB5dflBghDCwkqZdYMVaUmS+Lhajr0EpIkQe29KXe9hRAYjUdIsqQt\nU/A6+vSQzRkv2JOla66L118IgdpQtLGwsICyLDGuqcyjmwbD4RDaGCwvLWE4GoVxcGVZ0mBomfl1\n4/KChZBR2ARc37bOwVSenCFpmAf/Ds+n5Osy1sJCh/tmbNt0UkqFGYb0AQFn2t+9+P7yuvPfJ0qF\nEVxCKY/zJlEzgh8i9EsiQdEVbVxAG41e3kNVlXDOQ1UdP9eANY2XNKZykHTAhvXrsXXzFmyYm0O/\n36fMJZJEhJqZwfrZGbp2n7k0TYU4iQEBNLqBFRGe/uu/wVPf/2uMygIqSaDiFElGjOU4ph4AnAMs\nad9zCUL68YSXwlM7ZxHFBJt0TqCpDbK8jziJUdclIAzqusT0dB9NU2JmQJDOLMtgjcXWLVuwa+dO\n3LB9OwU6dSuxStLR7dBuIQTet+8Tb9o3R577LgB6DrOMgiTG3FvLmijtAZDmSfi6ZX6Doge05Ssh\nRNAr4fvf7fnwPucDvnHt7FRGefFrdXVNpJSh58Pvw/LCzPBkBIpzDrf/i198y1LKZR34O2VCCHzn\nW3+6ZsqJtRZJh9DAD8vCwgKmpqaCE+eF4YXvCqcnSRKYbezkOZ0C4LvwhDCIoyjAFhlrS0L4bcOD\nyzXC10IZyM/NjEC7Fa2m9Hg8DkQkTquEEEELmannt37wzQ/ik9/5n0Hqkp0138yAPPCHTtM0xDK0\nLWOL5+lJISnS9g80O3bW5+bPQF3vBk442EaHtXDOYTQcBmREkiRI4oQadobISWzsiIuigIwUpqan\nw/2RIglrMBoRtX/KY4UZFseqd8dOnkZVljh79g2cOHkCyyvL0I3zSm2UAUlJTWdyki44dmuN/zmN\n66IMjkbgNdYiz7OAGmh8c4sp8HEcIUlSrKwsBwZpt97Jzw1/nwOCWBJTlO+JsRbattrS/EwqpeC0\nWcMIJIdEGaExGkLw2DQJpbzAm+chwFo4YxApheHqEFkSe2nf2uuq+IlQSqLf62HD+jmSJNi8EfOb\n5zE3N4ckTyCgMBjM4B9fex1/+Ed/hFprqCTFaFyiP5jCYEAyBUpIsHQDP/NCEJ57dnYWsO0oMQpw\nAGMrGONIXkDz9CvKFtIsRhQJ9KdyCOEwWj6PPM+xbmYGGzdsxAf27cPc7CypKWbUPJwaDFCVFVSc\nrNnfAHDzBz75pn3zo2f/Ckq1LFsWi7LWQakoEPTYZ6Q5DdXm2jSzvZVsCTjhs3fWgAMrfu67IlhS\nSjRaByE+43tBsZfG4H4bACRp4rMmgkyzdQ8IXl9rLT70L+/+6XPgf3H4v69x1kopGoDQgU4BbRee\nf483UHeSfVfVLcDWOr/Pi9xNYbR3wPwa3Ojoji7jnxMdeq3M6MWSpPw3PLVaSonRaBRSLiYs8UG0\nd/+db1qX5/76sXD4dEkm/PqsDdyiPgQg2oeNHY6zDlqvPcSMMUiy9vAB4GdStiUshqppTUMyunRe\nVkrjBzmOY0QdZADfDwtK68uyRJ7kVNLwa5ymiW9aUu2jruqw3rIj55okMZpGUz1fU819PB5jaXEJ\nWls0zmBxYZFYaoJmk9ZNAyfoICmKAkoprK6sYGVYopfnKIrSN7B02ChpkgZNHSklCg+97MLWGAHS\n/X4cx4B24bP55kj7d/5rKbzao9HUZ2H0ukNw3PzcEEOPtEW0ITgk9VeovxBJio6lJHy/9WstfCkR\nhkb3Sd8whgTqpoZQEnNzs+jnfQjrsHX7Ddi4aRMe/YvHcPaNc4iShC5fSsSKyHRx4pu5QNg/sWpZ\nrKwJQ44NcNB+oLIAbFuGaJoSSaIwLlZhrUaeZ1g/08f09DR279qFm2+5BcLR52zqGkkcY7g6DAg1\nGanOQU2Z0K23v5kY+PfP/1X4PQ4oUg/ZZF30bvnFgdiQxtLQc4AEx4Rfb+va/g1/To7Cqy6GXLZq\ng0wc6jp62alvy85+ssag8llIlxXKhEb+rOzP9u2/6y0d+FWj0o/HYxhjwhCC0pcEODJjCimnI8Ph\nMEyRHo1GYfJJF6vJs+S4+cMHQxeWw86L6ctd5861sqIoAsW53+9DylYvI3StfTrN//iGdgWbmK1V\nVVUQzucs4VLGh1Eg2XQOEq11qLF15+QlaTtENxx8PlNgcpRSinSWa3q42SGRkFGBLEtDZM+HITt0\nfpi4scwHK0ezfECVfnag1RoCgiKbokaWJuHwabQm1Sc+tCUQK4myqSCEQSKBqipRrNJouzhJAGMA\nK5BIh00b1qHf63vyloQ2JmiIMFt3dbgK7d8vzzKcPnUeaZpiXIyhG42qruAc9XdWV1fwxtk3sLq6\nQo55ag4C1ICFc4iUImSKGlDNHSD0T9NAKuoNwLMtiU8ggwMmPL6H1ymJKG4zSCklkiwNh0S3KSmT\nBAlSAuP4/oo1GrUhFI5raP1o2pOD1Q6V1oB1VI83JElrGoMoyQABnLmwDNssYJBlOPXGBS+aJLBu\n3RyWlpbaEqR0KMcFLACVZWtILfBNOCkEtJSt9K4QkJKb0lRCKsoxlAAaXaGuLSJFxK5YAR/ctw97\n9+6loMkHRaPRCL2MmpyMGFNCIs65NOhQlsVbYqK5ZMV7sy1DOJRlFbJODjKylPafNtofioQkc6B7\nDmuhmwbOtho1XS14Dg672YEQIlw/1925Ls6OOY5jypxkO6WJR+x193k343u7GvjVm8jjCULd08x0\nmlXskFhEfTAYIIoirKyshLFGXINip7O0tAQpJQaDwRqHxpukixM9d+5ccGyqczryoAGOorXWJCgF\nBNgQvybQ1ka7Trbf74M1NngAMX+moijeUt+AHxYuY/A/vsEAwoHDN7ebBbAz5ZQ8iiKsX78eStHI\nLOWHRXCtjVNHniY/HA4D+7PxB1SASrp2WEELBWwhViw+H8g51iKNCF7Ia9F1VnEco64qUJXAIoko\nrcyTlCaVaw0hgCyh+2ysgdYGRTEExhTxRnEE6RysaVCMaGOsm+pDeChqXY7xrm1b6bCIlNdDh4eR\nUsMuS4m1KaXE8dMXAFCfYmlpEefOncPy8jJWVlbaDCNSKJxFYxtIQcSpNCb9eWMM4n4C51phf60V\nTZCSRJKy1sHZBlCAEISakZIa8HQdhGlXUkFJCWkFnCZtGWu0VxD0sFltUTc07JhRUEVZIFIxkjRD\nrRvUmiJ9lUZYLQjfnSYO4/EIcRKj3++jLEtiHbqahimrCLouMC6GIaCKoxgXLozWBA9A27wlkpYK\nEaYQVI+PIoGpwRT2vP9WfPjDdyCRCqvLK8jzHKtVBWcd0iQJQ5Bto2H8cOxipQzB1+XgykTAaf/P\ngZ2UCkniQtbZ1u9FKIEMBgNPUqSSFhsHfuxLOCjjzJj3CUfhUkqkcQLhKCNstIGum4CYs9aiHBdh\nOHLsVUG5n8Y9Os50L9ef69pVc+Bck+RaFGkqt8wkdpT9fj+kIlJKDPr9llIMoPbRrZKSBI2aBql3\n6JFS4RSN/YNXNzVWVlYJ7pXnob7MN5RPQK01xuMxRQox1R37/b5HAbRTzpMkRl0TRrzf72N6asqX\nICKPfnHo9/ooS0KEpEkC4NIPolSSBlEYHTIG6ywa3SCO1uqKhOaJLwXxA0eZAeBsq9bI2sSQ7UHC\npYt+v0cRXlUhS1NEcUwpXlWh5zd3HNNwA2NJR4Kjbaq3k8PjcVecDa2srADWhPUtK5LvdCXVkQeD\nAVZHq1CxwtTMFJYXlqj+H0VoyhIy4syJBnBY65BmObI8h+hGJkKQ84pb0oXWBpIPWF1hdWWEfr/v\ndWkcGn+/jdFgof80TTCdR6jrCr1+hNnBPHa+eytJAmiDpqkDIaNpNIqy9nNPiUZvrEFZlKjqCsvL\ny1heoYEFJIZl/fANiX4eha8BwdUkIBYQIoFxAs7x8+EAbeGUhYOFcUQYMkxsihLqC0iBcdMgTjKI\nNEYUMiWHOJKQilisAJBnOeq6Qn96GsZoYuSmVFrSTUMDM6SEdsS+NU2DheEwSD1LSfRxnjEL51CB\nSgzaNtBNDWs0tm3dig9+cA/ec+O7sW5mgH4/R1PVkFGESCmMhyQSpRIVGu0Mr+VMOckSf4tF6D9c\nyiieGcWRAAAMTUlEQVTbjsK+aFEjrYNlZAcFRW1D8uLgh/tGbWmw8hkWzeMlIk8NpXhKFiGetDaw\n2kLrbr2cyINVVSJJiE+hFM2r1U2FsjBBBqSua+pBRDTW0cD6g+CndKAD16oAluOMgvZAmqYhAi69\nslg3VedoiBuEcdROCF9ZWSFn7NMUrTXWz821aSKADes3AKBIcjweh4hxZWUlNDm7tVEHIp2MRsMw\nqw5AOL05Qjhz5gwG/SkItA8cl1X44WnFj95s+z/2qXd20Sc2sStpl8Ev/3MaOXYeqGFCNi2EClk6\nz/8kB00HA0e9lCm1PQ+gRZ3FcQsaoAxSIU0TVFWFJIkBxIGdyYxRysgRHDiLlEURqaMKIXyA0h4g\nJPvRIMva3oP2DdHL2dWbyONPxrIssbCwgMiL6rNTZrlG49NtLvhzQ4FPS75BUkpcuHAhoFD41E7T\nNETSnKp0m5bUPEoxOzsb6uZcv27hZy08iCK5dtk48g2lHG2RJml4mC6GBAIISJeJTWxi/3RrJXrX\nDohmhM7FZUiSG2iHGdNrrJ2hyfua/QWXT3h+pXMuDF5Rihi9kVyrtcJ+iJ10t4QrXItX5/4SHwRA\nK7fdRalcyq6aA+eFnfPz9KqqImRCXXdSHaIHp2mKc+fOwTmacM2pTyi/+NLH3NxcqOdt3rwZ4/EY\nRVGEUgnXsLnuZIwJjc8oaieQ93q9sPhN04QBDJwacddZCBHYVU3ToNfrYTxsBW345nTRJ1zftkkM\nWV8+PZrYxCZ2ebNJHEqqVVUF4AH1Y7jH02oraa0hHFAVNNOyqhvP01Coyzr0yqw2aEyNKFGhZMpN\n3W4zH+iIi8UeVOEHVpdFGV7PaAOjWyIQ+zAORJ1zQfCKD43AUbiMXdUIXCmF4XAY6k0OLbqD0SVc\nj123bl34UDwpuytww6gLLoGsrq4S+9E7YwCh/svNRgB+RFu9ZuFYKS8sLtZigNfW0+hfr9fDeDxG\nlueAa6PswALzxjDJ0e37MPWDZ8L3nwTw8Xd60a8xexKTNbnYnsRkTbo2+tA+jEYF/vbZ57H/Q/tQ\n1zXR/QGwFj9AAAFjDPr9PqyvK/MeBoA0zVBVrWxBwPALGyLusixD4Mb+oUvU45Ir/x6zSLvQQ6BF\ny7BxuYR9Q5ccFL9NCeXyLc530Lh0wXVtTju4S9vv99801JMRHEKQoPpgMMBgMECv10PWgT3NzMxg\namoKvV4vlGUYUcKHA0MS2XnzQjGSghsibNwx7jY4uhBEdv61l4XMsizABbts0bquURQF/vErX8TK\nz94Bm9D7PnmF1v1asiev9gX8FNqTV/sCfkrMJglGH/0wLjz4HzE1NYWXfvgPGAwG6Pf7QVGQ/QJn\n3UCrM9NFk10M9W1r2lU4ELocEkZjdcsvSZLg1KlTa5REWa+p6+C5NMLlYHbaURQFnZUuQ/Ptyq1X\nLQIXQmA0GiFNU8zMzFCZQSmkgwFqX2eKFOmVBBxmFAXFr8XFRUxPT4domEswZVXRhGmPhZZSoiip\nMZpmvSAV6UDDgZ1zyHJKwWZmZkn4qoP0kMLQuDRDgwyKovKnows1Mobs9Xo9yJj0WGpdhZueJAlG\nY2qKpjlh3OvZGbz8n/9TkJk88cdfw7P//qCnyRdt09PXyWieYju+iev7VVUEmBLDKZtGe3XBlkjQ\npRh32Z1aN0jTlhErpQx6yFya6kI9m8YEaBRHH93+BONtOYPi6AMApCQMer/fh0M7yYSauy3dmSOe\nN/74a/iH//D5EA21mRQ91LwBu1IF3Q3Bn5M/W/c6+ZnqYvgvJncJITxVv61nBqyxI3VL/vtuxtZd\nSyklnKTZq/z3oSEm4zUoCa7VMk6/yzvga3rjD/8ER77wK2s4ArQm2jfd2kAkELt89tiVAuBr7qbp\nXOMFWufDrFka1NuOEYuiCMPhkO4lR6sdaK1zLmTLPHqtG3l2vyYafusXLuZXdAMgmnrUciG01oir\nAnVdhx4Yv07TjMLfE75cwlqNqjFrXl9KCTiDNE/WRMlOWNBYRhXWm4KwivT3rYEFCWHVusGWLVvC\n2nGWz+UWjsx5OHWXT8GfjZFdXRLZW0En2a5qCWUNa8mXVHjTM1658rjsoE6oSHSGJ2Jw6YMdeLfh\nyUIzXeo1f59PYL4GgEo4fD3dZkLkZ0sCrUYK/w1vgICNBj2QUdTSsPnz8aw+fhj4JvKm4dOeR3ox\nPp02WgrnEDITxrQyCob/3zo1Wmd2wow9X1hYwNzcHKQkduP09Ay0bpE0URSFOv0amrC/DufEmnvH\n4kncfa+qKjReLnZoxthAqVeRCCUxbu7weiulwmfskpr4HvT7eahnssPma18LI7NhPS6ebMK9li7W\nlgkXnAkKISD82DL+POG9ZPte3Wvvptb8N5WuPYRMhYaXlBKmsSHF7ipsVlUVnnm2bpZ6KUfYddb8\nbHX31cVsZH5W2dFzGs+/z4fI9PR0eF8mpl2My+bnj9eCs2p2Yl02K/McOCum/UREHP4M/Fq83/ia\n+fuJ5wbwnjbGQHHtuuPsOYNntBln4N3SazfI4nvBQUSWZahrvUb7CCDpWYUW0gvQ4WeaVtGwy5vo\nsiv5evmz8z3gNezuGX6dy9lVodLv3bsXL7744pV+24lNbGITu+bsYx/7GJ588slL/uyqOPCJTWxi\nE5vYP92uWhNzYhOb2MQm9k+ziQOf2MQmNrFr1K64A3/sscdw0003YdeuXXjooYeu9NtfNfvVX/1V\nzM/P47bbbgvfW1hYwJ133ondu3fjF37hF7C0tBR+9ju/8zvYtWsXbrrpJvzlX/7l1bjkd9yOHz+O\nT3ziE7jllltw66234g/+4A8AXN/rUpYl9u/fj7179+Lmm2/GV77yFQDX95qwGWOwb98+fOpTJDkx\nWRMA7gqa1trt2LHDHT161NV17fbs2eOOHDlyJS/hqtn3vvc999xzz7lbb701fO9LX/qSe+ihh5xz\nzj344IPuy1/+snPOuR/96Eduz549rq5rd/ToUbdjxw5njLkq1/1O2unTp93zzz/vnHNudXXV7d69\n2x05cuS6X5fRaOScc65pGrd//3739NNPX/dr4pxzv//7v+/uu+8+96lPfco5N9k/zjl3RSPwZ555\nBjt37sSNN96IOI5xzz334JFHHrmSl3DV7KMf/ShNNOnY4cOHcfDgQQDAwYMH8a1vfQsA8Mgjj+De\ne+9FHMe48cYbsXPnTjzzzDNves1r3TZv3oy9e/cCIGGw973vfTh58uR1vy4stcwcg9nZ2et+TU6c\nOIFHH30Un//85wO07npfE+AKl1BOnjyJG264Ifx/+/btOHny5JW8hJ8qO3v2LObn5wEA8/PzOHv2\nLADg1KlT2L59e/i962Gdjh07hueffx779++/7tfFWou9e/difn4+lJiu9zX54he/iN/7vd9bw46+\n3tcEuMIO/O1YRdezXU6wnn/+/6sNh0N85jOfwVe/+lVMTU2t+dn1uC5SSrzwwgs4ceIEvve97+GJ\nJ55Y8/PrbU2+/e1vY9OmTdi3b99bEluutzVhu6IOfNu2bTh+/Hj4//Hjx9eclNebzc/P48yZMwCA\n06dPY9OmTQDevE4nTpzAtm3brso1vtPWNA0+85nP4P7778enP/1pAJN1YZuZmcHdd9+NZ5999rpe\nkx/84Ac4fPgw3vOe9+Dee+/Fd7/7Xdx///3X9ZqwXVEHfvvtt+OVV17BsWPHUNc1vvnNb+LAgQNX\n8hJ+quzAgQM4dOgQAODQoUPBgR04cADf+MY3UNc1jh49ildeeQV33HHH1bzUd8Scc/i1X/s13Hzz\nzfj1X//18P3reV3Onz8f0BRFUeDxxx/Hvn37rus1eeCBB3D8+HEcPXoU3/jGN/DJT34SX//616/r\nNQl2pbumjz76qNu9e7fbsWOHe+CBB6702181u+eee9yWLVtcHMdu+/bt7uGHH3YXLlxwP/dzP+d2\n7drl7rzzTre4uBh+/7d/+7fdjh073Hvf+1732GOPXcUrf+fs6aefdkIIt2fPHrd37163d+9e953v\nfOe6XpeXXnrJ7du3z+3Zs8fddttt7nd/93edc+66XpOuPfnkkwGFMlkT5yZU+olNbGITu0ZtwsSc\n2MQmNrFr1CYOfGITm9jErlGbOPCJTWxiE7tGbeLAJzaxiU3sGrWJA5/YxCY2sWvUJg58YhOb2MSu\nUZs48IlNbGITu0Zt4sAnNrGJTewatf8Hq9sL34bnPZ4AAAAASUVORK5CYII=\n", + "png": "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\n77fWWvu9733P7t6925ZlaQ8ePGi3b99u67q+JNf9dtrx48ftSy+9ZK21dnV11e7atcseOHDgsl+X\nwWBgrbW2qip7yy232GefffayXxNrrf385z9v77nnHvuxj33MWjvaP9Zae1Ej8Oeeew47duzAtm3b\nEIYh7rrrLjzxxBMX8xIumX3gAx8gRZOW7d+/H/fddx8A4L777sPjjz8OAHjiiSdw9913IwxDbNu2\nDTt27MBzzz130a/57baNGzdibm4OABGDvfe978X8/Pxlvy5MtcwzBlNTU5f9mhw9ehRPPvkkfv3X\nf91D6y73NQEucgllfn4eV1xxhf/31q1bMT8/fzEv4afKFhYWMDs7CwCYnZ3FwsICAODYsWPYunWr\n/73LYZ0OHTqEl156Cbfccstlvy7GGMzNzWF2dtaXmC73Nfmt3/otfO5zn/NYcWC0f4CL7MB/0lTR\n5WztwYgL/fz/V+v3+/jkJz+JRx55BGNjY2t+djmui5QSL7/8Mo4ePYpvfvObeOaZZ9b8/HJbky9/\n+cuYmZnBnj17LjjYcrmtCdtFdeBbtmzBkSNH/L+PHDmy5qS83Gx2dhYnTpwAABw/fhwzMzMAzl2n\no0ePYsuWLZfkGt9uq6oKn/zkJ3HvvffiE5/4BIDRurBNTEzgzjvvxAsvvHBZr8m3v/1t7N+/H+95\nz3tw991342tf+xruvffey3pN2C6qA7/xxhvx2muv4dChQyjLEo899hj27t17MS/hp8r27t2Lffv2\nAQD27dvnHdjevXvxpS99CWVZ4uDBg3jttddw8803X8pLfVvMWotf+7Vfw9VXX43f/M3f9N+/nNfl\n1KlTHk2RZRmefvpp7Nmz57JekwceeABHjhzBwYMH8aUvfQkf+tCH8MUvfvGyXhNvF7tr+uSTT9pd\nu3bZ7du32wceeOBiv/0ls7vuustu2rTJhmFot27dah999FF7+vRp++EPf9ju3LnT3n777XZpacn/\n/u/93u/Z7du32yuvvNI+9dRTl/DK3z579tlnrRDC7t69287Nzdm5uTn7la985bJel1dffdXu2bPH\n7t6921533XX293//96219rJek7Z9/etf9yiU0ZpYOxqlH9nIRjayd6iNJjFHNrKRjewdaiMHPrKR\njWxk71AbOfCRjWxkI3uH2siBj2xkIxvZO9RGDnxkIxvZyN6hNnLgIxvZyEb2DrWRAx/ZyEY2sneo\njRz4yEY2spG9Q+3/AULZeneOI2OUAAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], @@ -779,7 +747,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 19 + "prompt_number": 7 }, { "cell_type": "code", @@ -793,13 +761,13 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 24 + "prompt_number": 8 }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Show top 3 NMS'd detections for 'bicycle' in the image." + "Show top 3 NMS'd detections for 'bicycle' in the image and note the gap between the top scoring box (red) and the remaining boxes." ] }, { @@ -811,23 +779,31 @@ "colors = ['r', 'b', 'y']\n", "for c, det in zip(colors, nms_dets[:3]):\n", " currentAxis.add_patch(\n", - " Rectangle((det[0], det[1]), det[2], det[3],\n", + " Rectangle((det[0], det[1]), det[2]-det[0], det[3]-det[1],\n", " fill=False, edgecolor=c, linewidth=5)\n", - " )" + " )\n", + "print 'scores:', nms_dets[:3, 4]" ], "language": "python", "metadata": {}, "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "scores: [ 0.93699419 -0.65612102 -1.32907355]\n" + ] + }, { "metadata": {}, "output_type": "display_data", - "png": "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\ngg==\n", + "png": "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\n", "text": [ - "" + "" ] } ], - "prompt_number": 25 + "prompt_number": 10 }, { "cell_type": "markdown", @@ -854,7 +830,7 @@ "language": "python", "metadata": {}, "outputs": [], - "prompt_number": 1 + "prompt_number": 10 } ], "metadata": {} From 36edcbd87437843fe4b90095bdca01d1055399ad Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 10 Jun 2014 11:35:08 -0700 Subject: [PATCH 108/408] fix clang compilation problem w/ DummyDataLayer --- src/caffe/layers/dummy_data_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/layers/dummy_data_layer.cpp b/src/caffe/layers/dummy_data_layer.cpp index 8925772f3a5..58044f4c952 100644 --- a/src/caffe/layers/dummy_data_layer.cpp +++ b/src/caffe/layers/dummy_data_layer.cpp @@ -75,7 +75,7 @@ void DummyDataLayer::SetUp(const vector*>& bottom, (*top)[i]->Reshape(num, channels, height, width); } // Run Forward once, with refill_ inverted, to fill the constant Blobs. - Forward(bottom, top); + this->Forward(bottom, top); // Invert the inverted refill_ values to refill the desired (non-constant) // Blobs in every usual forward pass. for (int i = 0; i < refill_.size(); ++i) { From 9241c68540329aa26323f85bd00fd356e47379ab Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 10 Jun 2014 14:46:53 -0700 Subject: [PATCH 109/408] groom install docs - make OS X boost compilation more clear - make punctuation more sincere --- docs/installation.md | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index b84ae3b83e4..1d2c77ec35b 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -21,8 +21,8 @@ Caffe depends on several software packages. * [OpenCV](http://opencv.org/). * [Boost](http://www.boost.org/) (we have only tested 1.55) * `glog`, `gflags`, `protobuf`, `leveldb`, `snappy`, `hdf5` -* For the python wrapper - * `python`, `numpy (>= 1.7)`, Boost-provided `boost.python` +* For the Python wrapper + * `Python`, `numpy (>= 1.7)`, boost-provided `boost.python` * For the MATLAB wrapper * MATLAB with the `mex` compiler. @@ -48,8 +48,7 @@ The choice is yours: ### Python and/or Matlab wrappers (optional) -This is only a requirement if you'd like the Python wrapper for Caffe. -The main required package is `numpy`, and `Boost` (in "Other dependencies" below) must be compiled with Python support. +Python: The main requirements are `numpy` and `boost.python` (provided by boost). `pandas` is useful too and needed for some examples. For **OS X**, we highly recommend using the [Anaconda](https://store.continuum.io/cshop/anaconda/) Python distribution, which provides most of the necessary packages, as well as the `hdf5` library dependency. If you don't, please use Homebrew -- but beware of potential linking errors! @@ -58,7 +57,7 @@ Note that if you use the **Ubuntu** default python, you will need to `apt-get in pip install -r /path/to/caffe/python/requirements.txt -If you would like to have the MATLAB wrapper, install MATLAB, and make sure that its `mex` is in your `$PATH`. +MATLAB: install MATLAB, and make sure that its `mex` is in your `$PATH`. ### The rest of the dependencies @@ -99,12 +98,12 @@ In other `ENV` settings, things may not work as expected. #### 10.8-specific Instructions -Simply run the following. +Simply run the following: - brew install --build-from-source boost + brew install --build-from-source --with-python boost for x in snappy leveldb protobuf gflags glog szip homebrew/science/opencv; do brew install $x; done -Building boost from source is needed to link against your local python (exceptions might be raised during some OS X installs, but **ignore** these and continue). +Building boost from source is needed to link against your local Python (exceptions might be raised during some OS X installs, but **ignore** these and continue). If you do not need the Python wrapper, simply doing `brew install boost` is fine. **Note** that the HDF5 dependency is provided by Anaconda Python in this case. If you're not using Anaconda, include `hdf5` in the list above. @@ -139,18 +138,17 @@ To edit the formulae in turn, run After this, run - for x in snappy leveldb protobuf gflags glog szip boost homebrew/science/opencv; do brew uninstall $x; brew install --build-from-source --fresh -vd $x; done + for x in snappy leveldb protobuf gflags glog szip homebrew/science/opencv; do brew uninstall $x; brew install --build-from-source --fresh -vd $x; done + brew install --build-from-source --with-python --fresh -vd boost + +**Note** that `brew install --build-from-source --fresh -vd boost` is fine if you do not need the Caffe Python wrapper. **Note** that the HDF5 dependency is provided by Anaconda Python in this case. If you're not using Anaconda, include `hdf5` in the list above. -**Note** that in order to build the caffe python wrappers you must install boost using the --with-python option: - - brew install --build-from-source --with-python --fresh -vd boost - #### Windows -There is an unofficial Windows port of Caffe at [niuzhiheng/caffe:windows](https://github.com/niuzhiheng/caffe). Thanks [@niuzhiheng](https://github.com/niuzhiheng). +There is an unofficial Windows port of Caffe at [niuzhiheng/caffe:windows](https://github.com/niuzhiheng/caffe). Thanks [@niuzhiheng](https://github.com/niuzhiheng)! ## Compilation @@ -165,9 +163,9 @@ The defaults should work, but uncomment the relevant lines if using Anaconda Pyt Note that if there is no GPU in your machine, building and running CPU-only works, but GPU tests will naturally fail. -To compile the python and MATLAB wrappers do `make pycaffe` and `make matcaffe` respectively. -Be sure to set your MATLAB and python paths in `Makefile.config` first! -For Python support, you must add the compiled module to your `PYTHONPATH` (as `/path/to/caffe/python` or the like). +To compile the Python and MATLAB wrappers do `make pycaffe` and `make matcaffe` respectively. +Be sure to set your MATLAB and Python paths in `Makefile.config` first! +For Python support, you must add the compiled module to your `$PYTHONPATH` (as `/path/to/caffe/python` or the like). *Distribution*: run `make distribute` to create a `distribute` directory with all the Caffe headers, compiled libraries, binaries, etc. needed for distribution to other machines. From 300f770ac018edad95d582137945d6a643433236 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 11 Jun 2014 09:55:54 -0700 Subject: [PATCH 110/408] drop learning rates and decays from deploy model --- examples/imagenet/imagenet_deploy.prototxt | 32 ---------------------- 1 file changed, 32 deletions(-) diff --git a/examples/imagenet/imagenet_deploy.prototxt b/examples/imagenet/imagenet_deploy.prototxt index fbff3adbe18..4e494f420b5 100644 --- a/examples/imagenet/imagenet_deploy.prototxt +++ b/examples/imagenet/imagenet_deploy.prototxt @@ -9,10 +9,6 @@ layers { type: CONVOLUTION bottom: "data" top: "conv1" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 convolution_param { num_output: 96 kernel_size: 11 @@ -52,10 +48,6 @@ layers { type: CONVOLUTION bottom: "norm1" top: "conv2" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 convolution_param { num_output: 256 pad: 2 @@ -96,10 +88,6 @@ layers { type: CONVOLUTION bottom: "norm2" top: "conv3" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 convolution_param { num_output: 384 pad: 1 @@ -117,10 +105,6 @@ layers { type: CONVOLUTION bottom: "conv3" top: "conv4" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 convolution_param { num_output: 384 pad: 1 @@ -139,10 +123,6 @@ layers { type: CONVOLUTION bottom: "conv4" top: "conv5" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 convolution_param { num_output: 256 pad: 1 @@ -172,10 +152,6 @@ layers { type: INNER_PRODUCT bottom: "pool5" top: "fc6" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 inner_product_param { num_output: 4096 } @@ -200,10 +176,6 @@ layers { type: INNER_PRODUCT bottom: "fc6" top: "fc7" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 inner_product_param { num_output: 4096 } @@ -228,10 +200,6 @@ layers { type: INNER_PRODUCT bottom: "fc7" top: "fc8" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 1 - weight_decay: 0 inner_product_param { num_output: 1000 } From 8dc270e691cb15e540c1b5ac074774163bc6faf1 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 10 Jun 2014 15:01:41 -0700 Subject: [PATCH 111/408] pycaffe: leave grayscale images gray according to arg --- python/caffe/io.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/python/caffe/io.py b/python/caffe/io.py index 0bd2f812bec..1fc97231ca6 100644 --- a/python/caffe/io.py +++ b/python/caffe/io.py @@ -5,19 +5,24 @@ from caffe.proto import caffe_pb2 -def load_image(filename): +def load_image(filename, color=True): """ Load an image converting from grayscale or alpha as needed. Take filename: string + color: flag for color format. True (default) loads as RGB while False + loads as intensity (if image is already grayscale). Give - image: an image of size (H x W x 3) with RGB channels of type uint8. + image: an image with type np.float32 of size (H x W x 3) in RGB or + of size (H x W x 1) in grayscale. """ img = skimage.img_as_float(skimage.io.imread(filename)).astype(np.float32) if img.ndim == 2: - img = np.tile(img[:, :, np.newaxis], (1, 1, 3)) + img = img[:, :, np.newaxis] + if color: + img = np.tile(img, (1, 1, 3)) elif img.shape[2] == 4: img = img[:, :, :3] return img From 6a5b2c19c75dd9f6965ca9a377164bf8b6c96688 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sun, 25 May 2014 23:49:51 -0700 Subject: [PATCH 112/408] save from python for net surgery 0. Scheme desired parameters. 1. Do surgery on the net through `net.params['name'][idx].data[...] = `. 2. Save post-operation net params by `net.save('fname')`. Handwoven deep nets, anyone? --- python/caffe/_caffe.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/python/caffe/_caffe.cpp b/python/caffe/_caffe.cpp index 9f190096ace..e9fe5cd3b05 100644 --- a/python/caffe/_caffe.cpp +++ b/python/caffe/_caffe.cpp @@ -224,6 +224,13 @@ struct CaffeNet { PyArray_DIMS(data_arr)[0]); } + // save the network weights to binary proto for net surgeries. + void save(string filename) { + NetParameter net_param; + net_->ToProto(&net_param, false); + WriteProtoToBinaryFile(net_param, filename.c_str()); + } + // The caffe::Caffe utility functions. void set_mode_cpu() { Caffe::set_mode(Caffe::CPU); } void set_mode_gpu() { Caffe::set_mode(Caffe::GPU); } @@ -315,7 +322,8 @@ BOOST_PYTHON_MODULE(_caffe) { .add_property("layers", &CaffeNet::layers) .add_property("inputs", &CaffeNet::inputs) .add_property("outputs", &CaffeNet::outputs) - .def("_set_input_arrays", &CaffeNet::set_input_arrays); + .def("_set_input_arrays", &CaffeNet::set_input_arrays) + .def("save", &CaffeNet::save); boost::python::class_( "Blob", boost::python::no_init) From f0ee675e2ef3e5519e43e903d86570ca634a0f5d Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 11 Jun 2014 09:57:07 -0700 Subject: [PATCH 113/408] define fully-convolutional imagenet model --- examples/imagenet/imagenet_full_conv.prototxt | 215 ++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 examples/imagenet/imagenet_full_conv.prototxt diff --git a/examples/imagenet/imagenet_full_conv.prototxt b/examples/imagenet/imagenet_full_conv.prototxt new file mode 100644 index 00000000000..6473c1f78fc --- /dev/null +++ b/examples/imagenet/imagenet_full_conv.prototxt @@ -0,0 +1,215 @@ +name: "CaffeNetConv" +input: "data" +input_dim: 1 +input_dim: 3 +input_dim: 454 +input_dim: 454 +layers { + name: "conv1" + type: CONVOLUTION + bottom: "data" + top: "conv1" + convolution_param { + num_output: 96 + kernel_size: 11 + stride: 4 + } +} +layers { + name: "relu1" + type: RELU + bottom: "conv1" + top: "conv1" +} +layers { + name: "pool1" + type: POOLING + bottom: "conv1" + top: "pool1" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layers { + name: "norm1" + type: LRN + bottom: "pool1" + top: "norm1" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layers { + name: "conv2" + type: CONVOLUTION + bottom: "norm1" + top: "conv2" + convolution_param { + num_output: 256 + pad: 2 + kernel_size: 5 + group: 2 + } +} +layers { + name: "relu2" + type: RELU + bottom: "conv2" + top: "conv2" +} +layers { + name: "pool2" + type: POOLING + bottom: "conv2" + top: "pool2" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layers { + name: "norm2" + type: LRN + bottom: "pool2" + top: "norm2" + lrn_param { + local_size: 5 + alpha: 0.0001 + beta: 0.75 + } +} +layers { + name: "conv3" + type: CONVOLUTION + bottom: "norm2" + top: "conv3" + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + } +} +layers { + name: "relu3" + type: RELU + bottom: "conv3" + top: "conv3" +} +layers { + name: "conv4" + type: CONVOLUTION + bottom: "conv3" + top: "conv4" + convolution_param { + num_output: 384 + pad: 1 + kernel_size: 3 + group: 2 + } +} +layers { + name: "relu4" + type: RELU + bottom: "conv4" + top: "conv4" +} +layers { + name: "conv5" + type: CONVOLUTION + bottom: "conv4" + top: "conv5" + convolution_param { + num_output: 256 + pad: 1 + kernel_size: 3 + group: 2 + } +} +layers { + name: "relu5" + type: RELU + bottom: "conv5" + top: "conv5" +} +layers { + name: "pool5" + type: POOLING + bottom: "conv5" + top: "pool5" + pooling_param { + pool: MAX + kernel_size: 3 + stride: 2 + } +} +layers { + name: "fc6-conv" + type: CONVOLUTION + bottom: "pool5" + top: "fc6-conv" + convolution_param { + num_output: 4096 + kernel_size: 6 + } +} +layers { + name: "relu6" + type: RELU + bottom: "fc6-conv" + top: "fc6-conv" +} +layers { + name: "drop6" + type: DROPOUT + bottom: "fc6-conv" + top: "fc6-conv" + dropout_param { + dropout_ratio: 0.5 + } +} +layers { + name: "fc7-conv" + type: CONVOLUTION + bottom: "fc6-conv" + top: "fc7-conv" + convolution_param { + num_output: 4096 + kernel_size: 1 + } +} +layers { + name: "relu7" + type: RELU + bottom: "fc7-conv" + top: "fc7-conv" +} +layers { + name: "drop7" + type: DROPOUT + bottom: "fc7-conv" + top: "fc7-conv" + dropout_param { + dropout_ratio: 0.5 + } +} +layers { + name: "fc8-conv" + type: CONVOLUTION + bottom: "fc7-conv" + top: "fc8-conv" + convolution_param { + num_output: 1000 + kernel_size: 1 + } +} +layers { + name: "prob" + type: SOFTMAX + bottom: "fc8-conv" + top: "prob" +} From c3440fa48b651159ab41d96d8a6c4efdeeb4ffb2 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 12 Jun 2014 14:41:25 -0700 Subject: [PATCH 114/408] make notebook for net surgery of fully-convolutional model --- examples/net_surgery.ipynb | 327 +++++++++++++++++++++++++++++++++++++ 1 file changed, 327 insertions(+) create mode 100644 examples/net_surgery.ipynb diff --git a/examples/net_surgery.ipynb b/examples/net_surgery.ipynb new file mode 100644 index 00000000000..6cba8bb9a0c --- /dev/null +++ b/examples/net_surgery.ipynb @@ -0,0 +1,327 @@ +{ + "metadata": { + "name": "" + }, + "nbformat": 3, + "nbformat_minor": 0, + "worksheets": [ + { + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Net Surgery\n", + "\n", + "Caffe models can be transformed to your particular needs by editing the network parameters. In this example, we translate the inner product classifier layers of the Caffe Reference ImageNet model into convolutional layers. This yields a fully-convolutional model that generates a classification map for any given input size instead of a single classification. In particular, a classification will be made for every 6 $\\times$ 6 region of the `pool5` layer, giving a 8 $\\times$ 8 classification map for our example 454 $\\times$ 454 input dimensions.\n", + "\n", + "Note that this model isn't totally appropriate for sliding-window detection since it was trained for whole-image classification. Sliding-window training and finetuning can be done by defining a sliding-window ground truth and loss such that a loss map is made for every location and solving as usual. (While planned, this is currently an exercise for the reader.)\n", + "\n", + "Roll up your sleeves for net surgery with pycaffe!" + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "!diff imagenet/imagenet_full_conv.prototxt imagenet/imagenet_deploy.prototxt" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "1c1\r\n", + "< name: \"CaffeNetConv\"\r\n", + "---\r\n", + "> name: \"CaffeNet\"\r\n", + "3c3\r\n", + "< input_dim: 1\r\n", + "---\r\n", + "> input_dim: 10\r\n", + "5,6c5,6\r\n", + "< input_dim: 454\r\n", + "< input_dim: 454\r\n", + "---\r\n", + "> input_dim: 227\r\n", + "> input_dim: 227\r\n", + "151,152c151,152\r\n", + "< name: \"fc6-conv\"\r\n", + "< type: CONVOLUTION\r\n", + "---\r\n", + "> name: \"fc6\"\r\n", + "> type: INNER_PRODUCT\r\n", + "154,155c154,155\r\n", + "< top: \"fc6-conv\"\r\n", + "< convolution_param {\r\n", + "---\r\n", + "> top: \"fc6\"\r\n", + "> inner_product_param {\r\n", + "157d156\r\n", + "< kernel_size: 6\r\n", + "163,164c162,163\r\n", + "< bottom: \"fc6-conv\"\r\n", + "< top: \"fc6-conv\"\r\n", + "---\r\n", + "> bottom: \"fc6\"\r\n", + "> top: \"fc6\"\r\n", + "169,170c168,169\r\n", + "< bottom: \"fc6-conv\"\r\n", + "< top: \"fc6-conv\"\r\n", + "---\r\n", + "> bottom: \"fc6\"\r\n", + "> top: \"fc6\"\r\n", + "176,180c175,179\r\n", + "< name: \"fc7-conv\"\r\n", + "< type: CONVOLUTION\r\n", + "< bottom: \"fc6-conv\"\r\n", + "< top: \"fc7-conv\"\r\n", + "< convolution_param {\r\n", + "---\r\n", + "> name: \"fc7\"\r\n", + "> type: INNER_PRODUCT\r\n", + "> bottom: \"fc6\"\r\n", + "> top: \"fc7\"\r\n", + "> inner_product_param {\r\n", + "182d180\r\n", + "< kernel_size: 1\r\n", + "188,189c186,187\r\n", + "< bottom: \"fc7-conv\"\r\n", + "< top: \"fc7-conv\"\r\n", + "---\r\n", + "> bottom: \"fc7\"\r\n", + "> top: \"fc7\"\r\n", + "194,195c192,193\r\n", + "< bottom: \"fc7-conv\"\r\n", + "< top: \"fc7-conv\"\r\n", + "---\r\n", + "> bottom: \"fc7\"\r\n", + "> top: \"fc7\"\r\n", + "201,205c199,203\r\n", + "< name: \"fc8-conv\"\r\n", + "< type: CONVOLUTION\r\n", + "< bottom: \"fc7-conv\"\r\n", + "< top: \"fc8-conv\"\r\n", + "< convolution_param {\r\n", + "---\r\n", + "> name: \"fc8\"\r\n", + "> type: INNER_PRODUCT\r\n", + "> bottom: \"fc7\"\r\n", + "> top: \"fc8\"\r\n", + "> inner_product_param {\r\n", + "207d204\r\n", + "< kernel_size: 1\r\n", + "213c210\r\n", + "< bottom: \"fc8-conv\"\r\n", + "---\r\n", + "> bottom: \"fc8\"\r\n" + ] + } + ], + "prompt_number": 1 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The only differences needed in the architecture are to change the fully-connected classifier inner product layers into convolutional layers with the right filter size -- 6 x 6, since the reference model classifiers take the 36 elements of `pool5` as input -- and stride 1 for dense classification. Note that the layers are renamed so that Caffe does not try to blindly load the old parameters when it maps layer names to the pretrained model." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "import caffe\n", + "\n", + "# Load the original network and extract the fully-connected layers' parameters.\n", + "net = caffe.Net('imagenet/imagenet_deploy.prototxt', 'imagenet/caffe_reference_imagenet_model')\n", + "params = ['fc6', 'fc7', 'fc8']\n", + "# fc_params = {name: (weights, biases)}\n", + "fc_params = {pr: (net.params[pr][0].data, net.params[pr][1].data) for pr in params}\n", + "\n", + "for fc in params:\n", + " print '{} weights are {} dimensional and biases are {} dimensional'.format(fc, fc_params[fc][0].shape, fc_params[fc][1].shape)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fc6 weights are (1, 1, 4096, 9216) dimensional and biases are (1, 1, 1, 4096) dimensional\n", + "fc7 weights are (1, 1, 4096, 4096) dimensional and biases are (1, 1, 1, 4096) dimensional\n", + "fc8 weights are (1, 1, 1000, 4096) dimensional and biases are (1, 1, 1, 1000) dimensional\n" + ] + } + ], + "prompt_number": 2 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Consider the shapes of the inner product parameters. For weights and biases the zeroth and first dimensions are both 1. The second and third weight dimensions are the output and input sizes while the last bias dimension is the output size." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# Load the fully-convolutional network to transplant the parameters.\n", + "net_full_conv = caffe.Net('imagenet/imagenet_full_conv.prototxt', 'imagenet/caffe_reference_imagenet_model')\n", + "params_full_conv = ['fc6-conv', 'fc7-conv', 'fc8-conv']\n", + "# conv_params = {name: (weights, biases)}\n", + "conv_params = {pr: (net_full_conv.params[pr][0].data, net_full_conv.params[pr][1].data) for pr in params_full_conv}\n", + "\n", + "for conv in params_full_conv:\n", + " print '{} weights are {} dimensional and biases are {} dimensional'.format(conv, conv_params[conv][0].shape, conv_params[conv][1].shape)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "output_type": "stream", + "stream": "stdout", + "text": [ + "fc6-conv weights are (4096, 256, 6, 6) dimensional and biases are (1, 1, 1, 4096) dimensional\n", + "fc7-conv weights are (4096, 4096, 1, 1) dimensional and biases are (1, 1, 1, 4096) dimensional\n", + "fc8-conv weights are (1000, 4096, 1, 1) dimensional and biases are (1, 1, 1, 1000) dimensional\n" + ] + } + ], + "prompt_number": 3 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The convolution weights are arranged in output $\\times$ input $\\times$ height $\\times$ width dimensions. To map the inner product weights to convolution filters, we need to roll the flat inner product vectors into channel $\\times$ height $\\times$ width filter matrices.\n", + "\n", + "The biases are identical to those of the inner product -- let's transplant these first since no reshaping is needed." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "for pr, pr_conv in zip(params, params_full_conv):\n", + " conv_params[pr_conv][1][...] = fc_params[pr][1]" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 4 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The output channels have the leading dimension of both the inner product and convolution weights, so the parameters are translated by reshaping the flat input dimensional parameter vector from the inner product into the channel $\\times$ height $\\times$ width filter shape." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "for pr, pr_conv in zip(params, params_full_conv):\n", + " out, in_, h, w = conv_params[pr_conv][0].shape\n", + " W = fc_params[pr][0].reshape((out, in_, h, w))\n", + " conv_params[pr_conv][0][...] = W" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 5 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Next, save the new model weights." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "net_full_conv.save('imagenet/caffe_imagenet_full_conv')" + ], + "language": "python", + "metadata": {}, + "outputs": [], + "prompt_number": 6 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To conclude, let's make a classification map from the example cat image. This gives an 8-by-8 labeling of overlapping image regions." + ] + }, + { + "cell_type": "code", + "collapsed": false, + "input": [ + "# load input and configure preprocessing\n", + "im = caffe.io.load_image('images/cat.jpg')\n", + "plt.imshow(im)\n", + "net_full_conv.set_mean('data', '../python/caffe/imagenet/ilsvrc_2012_mean.npy')\n", + "net_full_conv.set_channel_swap('data', (2,1,0))\n", + "net_full_conv.set_input_scale('data', 255.0)\n", + "# make classification map by forward pass and show top prediction index per location\n", + "out = net_full_conv.forward_all(data=np.asarray([net_full_conv.preprocess('data', im)]))\n", + "out['prob'][0].argmax(axis=0)" + ], + "language": "python", + "metadata": {}, + "outputs": [ + { + "metadata": {}, + "output_type": "pyout", + "prompt_number": 7, + "text": [ + "array([[278, 151, 259, 281, 282, 259, 282, 282],\n", + " [283, 259, 283, 282, 283, 281, 259, 277],\n", + " [283, 283, 283, 287, 287, 287, 287, 282],\n", + " [283, 283, 283, 281, 281, 259, 259, 333],\n", + " [283, 283, 283, 283, 283, 283, 283, 283],\n", + " [283, 283, 283, 283, 283, 259, 283, 333],\n", + " [283, 356, 359, 371, 368, 368, 259, 852],\n", + " [356, 335, 358, 151, 283, 263, 277, 744]])" + ] + }, + { + "metadata": {}, + "output_type": "display_data", + "png": "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\nnridj/C6Y3t7+xVF8/z58+LWrVtCCFlgzp8/L4QQ4vHHHxcf//jHZ1/3yCOPiG984xu392FfB/zC\nL/yC+MpXvvKmWncQBOKBBx4Qzz777Jti3Ts7O+Khhx4SX/3qV8W73vUuIcSb631+W6/ne3t7bGxs\nzP79qtZxdwgODw+l+zewvLzM4eEhAPv7+6yvr8++7k74Wdy8eZNr167x4IMPvinWXZYlV65cYXl5\nedaieDOs+9d//df5vd/7vVeYi78Z1j3FbS2aP06H/mbBy+OAf9zn/7ViMpnwnve8hz/4gz+gVqu9\n4nN36rqntom7u7t8/etf52tf+9orPn8nrvsLX/gCS0tLXL169cfKDO/Edb8ct7Vo/lPruJ2dnVfs\nQncilpeXuXXrFiANUKZqg9dio/f/O7Is4z3veQ+PPfYYv/iLvwi8OdY9xdQ28Zlnnrnj1/3000/z\n+c9/nq2tLd773vfy1a9+lccee+yOX/fLcVuL5gMPPMDzzz8/E/d/7nOf49FHH72dj3Db8eijj/Lp\nT38agE9/+tOzovLoo4/y2c9+ljSVphfPP/88b33rW9/IR/0XQQjBr/zKr3Dx4kV+7dd+bfbxO33d\nJycnswlxFEV85Stf4erVq3f8uh9//HF2dnbY3t7ms5/9LO94xzv4sz/7szt+3a/A7W6ifvGLXxTn\nzp0TZ86cEY8//vjtfvnXFb/8y78sTp06JQzDEOvr6+JP//RPRbfbFQ899JA4e/asePjhh0W/3599\n/e/8zu+IM2fOiPPnz4svf/nLb+CT/8vx1FNPCUVRxOXLl8WVK1fElStXxJe+9KU7ft3f+973xNWr\nV8Xly5fF/fffL373d39XCCHu+HW/HE8++eRsev5mWvdcRjnHHHPM8RowVwTNMcccc7wGzIvmHHPM\nMcdrwLxozjHHHHO8BsyL5hxzzDHHa8C8aM4xxxxzvAbMi+Ycc8wxx2vAvGjOMcccc7wGzIvmHHPM\nMcdrwP8F7/c7xJLyUh8AAAAASUVORK5CYII=\n", + "text": [ + "" + ] + } + ], + "prompt_number": 7 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The classifications include various cats -- 282 = tabby, 283 = tiger, 281 = persian -- and foxes and other mammals.\n", + "\n", + "In this way the fully-connected layers can be extracted as dense features across an image (see `net_full_conv.blobs['fc6'].data` for instance), which is perhaps more useful than the classification map itself." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*A thank you to Rowland Depp for first suggesting this trick.*" + ] + } + ], + "metadata": {} + } + ] +} \ No newline at end of file From 4de3b94e67725b663601e6dac89e8a68e2b11009 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 12 Jun 2014 14:58:07 -0700 Subject: [PATCH 115/408] make test_net use DUMMY_DATA instead of leveldb --- src/caffe/test/test_net.cpp | 101 +++++++++++++----------------------- 1 file changed, 36 insertions(+), 65 deletions(-) diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index 4c7f0e7f7ac..1e43a038455 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -1,8 +1,6 @@ // Copyright 2014 BVLC and contributors. #include -#include -#include #include #include "gtest/gtest.h" @@ -14,43 +12,28 @@ namespace caffe { - template class NetTest : public ::testing::Test { protected: - virtual void SetUp() { // Create the leveldb - filename_ = tmpnam(NULL); // get temp name - LOG(INFO) << "Using temporary leveldb " << filename_; - leveldb::DB* db; - leveldb::Options options; - options.error_if_exists = true; - options.create_if_missing = true; - leveldb::Status status = leveldb::DB::Open(options, filename_, &db); - CHECK(status.ok()); - for (int i = 0; i < 5; ++i) { - Datum datum; - datum.set_label(i); - datum.set_channels(2); - datum.set_height(3); - datum.set_width(4); - std::string* data = datum.mutable_data(); - for (int j = 0; j < 24; ++j) { - data->push_back((uint8_t)i); - } - std::stringstream ss; - ss << i; - db->Put(leveldb::WriteOptions(), ss.str(), datum.SerializeAsString()); - } - delete db; - - const string& proto_prefix = + virtual void SetUp() { + const string& proto = "name: 'TestNetwork' " "layers: { " " name: 'data' " - " type: DATA " - " data_param { "; - const string& proto_suffix = - " batch_size: 1 " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: 5 " + " channels: 2 " + " height: 3 " + " width: 4 " + " num: 5 " + " channels: 1 " + " height: 1 " + " width: 1 " + " data_filler { " + " type: 'gaussian' " + " std: 0.01 " + " } " " } " " top: 'data' " " top: 'label' " @@ -82,55 +65,43 @@ class NetTest : public ::testing::Test { " bottom: 'innerproduct' " " bottom: 'label' " "} "; - proto_ = proto_prefix + "source: '" + string(this->filename_) + - "' " + proto_suffix; + NetParameter param; + CHECK(google::protobuf::TextFormat::ParseFromString(proto, ¶m)); + net_.reset(new Net(param)); } - char* filename_; - string proto_; + shared_ptr > net_; }; typedef ::testing::Types Dtypes; TYPED_TEST_CASE(NetTest, Dtypes); TYPED_TEST(NetTest, TestHasBlob) { - NetParameter param; - CHECK(google::protobuf::TextFormat::ParseFromString(this->proto_, ¶m)); - Net net(param); - EXPECT_TRUE(net.has_blob("data")); - EXPECT_TRUE(net.has_blob("label")); - EXPECT_TRUE(net.has_blob("innerproduct")); - EXPECT_FALSE(net.has_blob("loss")); + EXPECT_TRUE(this->net_->has_blob("data")); + EXPECT_TRUE(this->net_->has_blob("label")); + EXPECT_TRUE(this->net_->has_blob("innerproduct")); + EXPECT_FALSE(this->net_->has_blob("loss")); } TYPED_TEST(NetTest, TestGetBlob) { - NetParameter param; - CHECK(google::protobuf::TextFormat::ParseFromString(this->proto_, ¶m)); - Net net(param); - EXPECT_EQ(net.blob_by_name("data"), net.blobs()[0]); - EXPECT_EQ(net.blob_by_name("label"), net.blobs()[1]); - EXPECT_EQ(net.blob_by_name("innerproduct"), net.blobs()[2]); - EXPECT_FALSE(net.blob_by_name("loss")); + EXPECT_EQ(this->net_->blob_by_name("data"), this->net_->blobs()[0]); + EXPECT_EQ(this->net_->blob_by_name("label"), this->net_->blobs()[1]); + EXPECT_EQ(this->net_->blob_by_name("innerproduct"), this->net_->blobs()[2]); + EXPECT_FALSE(this->net_->blob_by_name("loss")); } TYPED_TEST(NetTest, TestHasLayer) { - NetParameter param; - CHECK(google::protobuf::TextFormat::ParseFromString(this->proto_, ¶m)); - Net net(param); - EXPECT_TRUE(net.has_layer("data")); - EXPECT_TRUE(net.has_layer("innerproduct")); - EXPECT_TRUE(net.has_layer("loss")); - EXPECT_FALSE(net.has_layer("label")); + EXPECT_TRUE(this->net_->has_layer("data")); + EXPECT_TRUE(this->net_->has_layer("innerproduct")); + EXPECT_TRUE(this->net_->has_layer("loss")); + EXPECT_FALSE(this->net_->has_layer("label")); } TYPED_TEST(NetTest, TestGetLayerByName) { - NetParameter param; - CHECK(google::protobuf::TextFormat::ParseFromString(this->proto_, ¶m)); - Net net(param); - EXPECT_EQ(net.layer_by_name("data"), net.layers()[0]); - EXPECT_EQ(net.layer_by_name("innerproduct"), net.layers()[1]); - EXPECT_EQ(net.layer_by_name("loss"), net.layers()[2]); - EXPECT_FALSE(net.layer_by_name("label")); + EXPECT_EQ(this->net_->layer_by_name("data"), this->net_->layers()[0]); + EXPECT_EQ(this->net_->layer_by_name("innerproduct"), this->net_->layers()[1]); + EXPECT_EQ(this->net_->layer_by_name("loss"), this->net_->layers()[2]); + EXPECT_FALSE(this->net_->layer_by_name("label")); } } // namespace caffe From 383d92d3a47b09fd5464d4bc0892591cbe0fd617 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 10 Jun 2014 13:19:34 -0700 Subject: [PATCH 116/408] make Net::Init loop indices clearer --- src/caffe/net.cpp | 77 ++++++++++++++++++++++++----------------------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 9f84b0978f4..0c5ca7d9dbd 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -69,41 +69,42 @@ void Net::Init(const NetParameter& in_param) { top_vecs_.resize(param.layers_size()); bottom_id_vecs_.resize(param.layers_size()); top_id_vecs_.resize(param.layers_size()); - for (int i = 0; i < param.layers_size(); ++i) { + for (int layer_id = 0; layer_id < param.layers_size(); ++layer_id) { bool in_place = false; - const LayerParameter& layer_param = param.layers(i); + const LayerParameter& layer_param = param.layers(layer_id); layers_.push_back(shared_ptr >(GetLayer(layer_param))); layer_names_.push_back(layer_param.name()); LOG(INFO) << "Creating Layer " << layer_param.name(); bool need_backward = param.force_backward(); // Figure out this layer's input and output - for (int j = 0; j < layer_param.bottom_size(); ++j) { - const string& blob_name = layer_param.bottom(j); + for (int bottom_id = 0; bottom_id < layer_param.bottom_size(); + ++bottom_id) { + const string& blob_name = layer_param.bottom(bottom_id); const int blob_id = blob_name_to_idx[blob_name]; if (available_blobs.find(blob_name) == available_blobs.end()) { LOG(FATAL) << "Unknown blob input " << blob_name << - " to layer" << j; + " to layer" << bottom_id; } LOG(INFO) << layer_param.name() << " <- " << blob_name; - bottom_vecs_[i].push_back( + bottom_vecs_[layer_id].push_back( blobs_[blob_id].get()); - bottom_id_vecs_[i].push_back(blob_id); + bottom_id_vecs_[layer_id].push_back(blob_id); // If a blob needs backward, this layer should provide it. need_backward |= blob_need_backward_[blob_id]; available_blobs.erase(blob_name); } - for (int j = 0; j < layer_param.top_size(); ++j) { - const string& blob_name = layer_param.top(j); + for (int top_id = 0; top_id < layer_param.top_size(); ++top_id) { + const string& blob_name = layer_param.top(top_id); // Check if we are doing in-place computation - if (layer_param.bottom_size() > j && - blob_name == layer_param.bottom(j)) { + if (layer_param.bottom_size() > top_id && + blob_name == layer_param.bottom(top_id)) { // In-place computation LOG(INFO) << layer_param.name() << " -> " << blob_name << " (in-place)"; in_place = true; available_blobs.insert(blob_name); - top_vecs_[i].push_back( + top_vecs_[layer_id].push_back( blobs_[blob_name_to_idx[blob_name]].get()); - top_id_vecs_[i].push_back(blob_name_to_idx[blob_name]); + top_id_vecs_[layer_id].push_back(blob_name_to_idx[blob_name]); } else if (blob_name_to_idx.find(blob_name) != blob_name_to_idx.end()) { // If we are not doing in-place computation but has duplicated blobs, // raise an error. @@ -117,33 +118,34 @@ void Net::Init(const NetParameter& in_param) { blob_need_backward_.push_back(param.force_backward()); blob_name_to_idx[blob_name] = blob_names_.size() - 1; available_blobs.insert(blob_name); - top_vecs_[i].push_back(blobs_[blob_names_.size() - 1].get()); - top_id_vecs_[i].push_back(blob_names_.size() - 1); + top_vecs_[layer_id].push_back(blobs_[blob_names_.size() - 1].get()); + top_id_vecs_[layer_id].push_back(blob_names_.size() - 1); } } // After this layer is connected, set it up. - // LOG(INFO) << "Setting up " << layer_names_[i]; - layers_[i]->SetUp(bottom_vecs_[i], &top_vecs_[i]); - for (int topid = 0; topid < top_vecs_[i].size(); ++topid) { - LOG(INFO) << "Top shape: " << top_vecs_[i][topid]->num() << " " - << top_vecs_[i][topid]->channels() << " " - << top_vecs_[i][topid]->height() << " " - << top_vecs_[i][topid]->width() << " (" - << top_vecs_[i][topid]->count() << ")"; + // LOG(INFO) << "Setting up " << layer_names_[layer_id]; + layers_[layer_id]->SetUp(bottom_vecs_[layer_id], &top_vecs_[layer_id]); + for (int top_id = 0; top_id < top_vecs_[layer_id].size(); ++top_id) { + LOG(INFO) << "Top shape: " << top_vecs_[layer_id][top_id]->num() << " " + << top_vecs_[layer_id][top_id]->channels() << " " + << top_vecs_[layer_id][top_id]->height() << " " + << top_vecs_[layer_id][top_id]->width() << " (" + << top_vecs_[layer_id][top_id]->count() << ")"; if (!in_place) - memory_used += top_vecs_[i][topid]->count(); + memory_used += top_vecs_[layer_id][top_id]->count(); } DLOG(INFO) << "Memory required for Data " << memory_used*sizeof(Dtype); - int blobs_lr_size = layers_[i]->layer_param().blobs_lr_size(); - CHECK(blobs_lr_size == layers_[i]->blobs().size() || blobs_lr_size == 0) + int blobs_lr_size = layers_[layer_id]->layer_param().blobs_lr_size(); + CHECK(blobs_lr_size == layers_[layer_id]->blobs().size() || blobs_lr_size == 0) << "Incorrect blobs lr size: should be either 0 or the same as " "the number of the layer's parameter blobs."; if (blobs_lr_size) { // Check if this layer needs backward operation itself - for (int j = 0; j < blobs_lr_size; ++j) { - need_backward |= (layers_[i]->layer_param().blobs_lr(j) > 0); + for (int param_id = 0; param_id < blobs_lr_size; ++param_id) { + need_backward |= + (layers_[layer_id]->layer_param().blobs_lr(param_id) > 0); } - } else if (layers_[i]->blobs().size()) { + } else if (layers_[layer_id]->blobs().size()) { // catch: if a layer param does not specify blobs_lr, we should assume the // learning rate to be 1. Thus we will need to perform backward. need_backward = true; @@ -151,12 +153,13 @@ void Net::Init(const NetParameter& in_param) { // Finally, set the backward flag layer_need_backward_.push_back(need_backward); if (need_backward) { - LOG(INFO) << layer_names_[i] << " needs backward computation."; - for (int j = 0; j < top_id_vecs_[i].size(); ++j) { - blob_need_backward_[top_id_vecs_[i][j]] = true; + LOG(INFO) << layer_names_[layer_id] << " needs backward computation."; + for (int top_id = 0; top_id < top_id_vecs_[layer_id].size(); ++top_id) { + blob_need_backward_[top_id_vecs_[layer_id][top_id]] = true; } } else { - LOG(INFO) << layer_names_[i] << " does not need backward computation."; + LOG(INFO) << layer_names_[layer_id] + << " does not need backward computation."; } } // In the end, all remaining blobs are considered output blobs. @@ -166,11 +169,11 @@ void Net::Init(const NetParameter& in_param) { net_output_blobs_.push_back(blobs_[blob_name_to_idx[*it]].get()); net_output_blob_indices_.push_back(blob_name_to_idx[*it]); } - for (size_t i = 0; i < blob_names_.size(); ++i) { - blob_names_index_[blob_names_[i]] = i; + for (size_t blob_id = 0; blob_id < blob_names_.size(); ++blob_id) { + blob_names_index_[blob_names_[blob_id]] = blob_id; } - for (size_t i = 0; i < layer_names_.size(); ++i) { - layer_names_index_[layer_names_[i]] = i; + for (size_t layer_id = 0; layer_id < layer_names_.size(); ++layer_id) { + layer_names_index_[layer_names_[layer_id]] = layer_id; } GetLearningRateAndWeightDecay(); LOG(INFO) << "Network initialization done."; From 653aa25c262080e1b8a6fdf30e9d0dc4b1cfa6f9 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 10 Jun 2014 19:22:16 -0700 Subject: [PATCH 117/408] refactor Net::Init to call helpers AppendBottom and AppendTop --- include/caffe/net.hpp | 13 ++++ src/caffe/net.cpp | 149 ++++++++++++++++++++++++------------------ 2 files changed, 98 insertions(+), 64 deletions(-) diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index 46d72a6b0a1..5b5dd22a282 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -4,6 +4,7 @@ #define CAFFE_NET_HPP_ #include +#include #include #include @@ -14,6 +15,7 @@ using std::map; using std::vector; +using std::set; using std::string; namespace caffe { @@ -100,6 +102,15 @@ class Net { const shared_ptr > layer_by_name(const string& layer_name); protected: + // Helpers for Init. + // Append a new input or top blob to the net. + void AppendTop(const NetParameter& param, const int layer_id, + const int top_id, set* available_blobs, + map* blob_name_to_idx); + // Append a new bottom blob to the net. + int AppendBottom(const NetParameter& param, const int layer_id, + const int bottom_id, set* available_blobs, + map* blob_name_to_idx); // Function to get misc parameters, e.g. the learning rate multiplier and // weight decay. void GetLearningRateAndWeightDecay(); @@ -135,6 +146,8 @@ class Net { vector params_lr_; // the weight decay multipliers vector params_weight_decay_; + // The bytes of memory used by this net + size_t memory_used_; DISABLE_COPY_AND_ASSIGN(Net); }; diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 0c5ca7d9dbd..41ae7520356 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -44,26 +44,14 @@ void Net::Init(const NetParameter& in_param) { set available_blobs; int num_layers = param.layers_size(); CHECK_EQ(param.input_size() * 4, param.input_dim_size()) - << "Incorrect bottom blob dimension specifications."; - size_t memory_used = 0; + << "Incorrect input blob dimension specifications."; + memory_used_ = 0; // set the input blobs - for (int i = 0; i < param.input_size(); ++i) { - const string& blob_name = param.input(i); - shared_ptr > blob_pointer( - new Blob(param.input_dim(i * 4), - param.input_dim(i * 4 + 1), - param.input_dim(i * 4 + 2), - param.input_dim(i * 4 + 3))); - blobs_.push_back(blob_pointer); - blob_names_.push_back(blob_name); - blob_need_backward_.push_back(param.force_backward()); - net_input_blob_indices_.push_back(i); - net_input_blobs_.push_back(blob_pointer.get()); - blob_name_to_idx[blob_name] = i; - available_blobs.insert(blob_name); - memory_used += blob_pointer->count(); + for (int input_id = 0; input_id < param.input_size(); ++input_id) { + const int layer_id = -1; // inputs have fake layer ID -1 + AppendTop(param, layer_id, input_id, &available_blobs, &blob_name_to_idx); } - DLOG(INFO) << "Memory required for Data" << memory_used*sizeof(Dtype); + DLOG(INFO) << "Memory required for data: " << memory_used_ * sizeof(Dtype); // For each layer, set up their input and output bottom_vecs_.resize(param.layers_size()); top_vecs_.resize(param.layers_size()); @@ -79,48 +67,13 @@ void Net::Init(const NetParameter& in_param) { // Figure out this layer's input and output for (int bottom_id = 0; bottom_id < layer_param.bottom_size(); ++bottom_id) { - const string& blob_name = layer_param.bottom(bottom_id); - const int blob_id = blob_name_to_idx[blob_name]; - if (available_blobs.find(blob_name) == available_blobs.end()) { - LOG(FATAL) << "Unknown blob input " << blob_name << - " to layer" << bottom_id; - } - LOG(INFO) << layer_param.name() << " <- " << blob_name; - bottom_vecs_[layer_id].push_back( - blobs_[blob_id].get()); - bottom_id_vecs_[layer_id].push_back(blob_id); + const int blob_id = AppendBottom(param, layer_id, bottom_id, + &available_blobs, &blob_name_to_idx); // If a blob needs backward, this layer should provide it. need_backward |= blob_need_backward_[blob_id]; - available_blobs.erase(blob_name); } for (int top_id = 0; top_id < layer_param.top_size(); ++top_id) { - const string& blob_name = layer_param.top(top_id); - // Check if we are doing in-place computation - if (layer_param.bottom_size() > top_id && - blob_name == layer_param.bottom(top_id)) { - // In-place computation - LOG(INFO) << layer_param.name() << " -> " << blob_name << " (in-place)"; - in_place = true; - available_blobs.insert(blob_name); - top_vecs_[layer_id].push_back( - blobs_[blob_name_to_idx[blob_name]].get()); - top_id_vecs_[layer_id].push_back(blob_name_to_idx[blob_name]); - } else if (blob_name_to_idx.find(blob_name) != blob_name_to_idx.end()) { - // If we are not doing in-place computation but has duplicated blobs, - // raise an error. - LOG(FATAL) << "Duplicate blobs produced by multiple sources."; - } else { - // Normal output. - LOG(INFO) << layer_param.name() << " -> " << blob_name; - shared_ptr > blob_pointer(new Blob()); - blobs_.push_back(blob_pointer); - blob_names_.push_back(blob_name); - blob_need_backward_.push_back(param.force_backward()); - blob_name_to_idx[blob_name] = blob_names_.size() - 1; - available_blobs.insert(blob_name); - top_vecs_[layer_id].push_back(blobs_[blob_names_.size() - 1].get()); - top_id_vecs_[layer_id].push_back(blob_names_.size() - 1); - } + AppendTop(param, layer_id, top_id, &available_blobs, &blob_name_to_idx); } // After this layer is connected, set it up. // LOG(INFO) << "Setting up " << layer_names_[layer_id]; @@ -131,14 +84,12 @@ void Net::Init(const NetParameter& in_param) { << top_vecs_[layer_id][top_id]->height() << " " << top_vecs_[layer_id][top_id]->width() << " (" << top_vecs_[layer_id][top_id]->count() << ")"; - if (!in_place) - memory_used += top_vecs_[layer_id][top_id]->count(); } - DLOG(INFO) << "Memory required for Data " << memory_used*sizeof(Dtype); - int blobs_lr_size = layers_[layer_id]->layer_param().blobs_lr_size(); - CHECK(blobs_lr_size == layers_[layer_id]->blobs().size() || blobs_lr_size == 0) - << "Incorrect blobs lr size: should be either 0 or the same as " - "the number of the layer's parameter blobs."; + DLOG(INFO) << "Memory required for data: " << memory_used_ * sizeof(Dtype); + const int blobs_lr_size = layers_[layer_id]->layer_param().blobs_lr_size(); + CHECK(blobs_lr_size == layers_[layer_id]->blobs().size() || + blobs_lr_size == 0) << "Incorrect blobs lr size: should be either 0 " + << "or the same as the number of the layer's parameter blobs."; if (blobs_lr_size) { // Check if this layer needs backward operation itself for (int param_id = 0; param_id < blobs_lr_size; ++param_id) { @@ -177,9 +128,79 @@ void Net::Init(const NetParameter& in_param) { } GetLearningRateAndWeightDecay(); LOG(INFO) << "Network initialization done."; - LOG(INFO) << "Memory required for Data " << memory_used*sizeof(Dtype); + LOG(INFO) << "Memory required for data: " << memory_used_ * sizeof(Dtype); +} + +// Helper for Net::Init: add a new input or top blob to the net. (Inputs have +// layer_id == -1, tops have layer_id >= 0.) +template +void Net::AppendTop(const NetParameter& param, const int layer_id, + const int top_id, set* available_blobs, + map* blob_name_to_idx) { + shared_ptr layer_param((layer_id >= 0) ? + (new LayerParameter(param.layers(layer_id))) : NULL); + const string& blob_name = layer_param ? + layer_param->top(top_id) : param.input(top_id); + // Check if we are doing in-place computation + if (layer_param && layer_param->bottom_size() > top_id && + blob_name == layer_param->bottom(top_id)) { + // In-place computation + LOG(INFO) << layer_param->name() << " -> " << blob_name << " (in-place)"; + top_vecs_[layer_id].push_back(blobs_[(*blob_name_to_idx)[blob_name]].get()); + top_id_vecs_[layer_id].push_back((*blob_name_to_idx)[blob_name]); + } else if (blob_name_to_idx->find(blob_name) != blob_name_to_idx->end()) { + // If we are not doing in-place computation but have duplicated blobs, + // raise an error. + LOG(FATAL) << "Duplicate blobs produced by multiple sources."; + } else { + // Normal output. + if (layer_param) { + LOG(INFO) << layer_param->name() << " -> " << blob_name; + } else { + LOG(INFO) << "Input " << top_id << " -> " << blob_name; + } + shared_ptr > blob_pointer(new Blob()); + const int blob_id = blobs_.size(); + blobs_.push_back(blob_pointer); + blob_names_.push_back(blob_name); + blob_need_backward_.push_back(param.force_backward()); + (*blob_name_to_idx)[blob_name] = blob_id; + if (layer_id == -1) { + // Set the (explicitly specified) dimensions of the input blob. + blob_pointer->Reshape(param.input_dim(top_id * 4), + param.input_dim(top_id * 4 + 1), + param.input_dim(top_id * 4 + 2), + param.input_dim(top_id * 4 + 3)); + net_input_blob_indices_.push_back(blob_id); + net_input_blobs_.push_back(blob_pointer.get()); + } else { + top_id_vecs_[layer_id].push_back(blob_id); + top_vecs_[layer_id].push_back(blob_pointer.get()); + } + memory_used_ += blob_pointer->count(); + } + available_blobs->insert(blob_name); } +// Helper for Net::Init: add a new bottom blob to the net. +template +int Net::AppendBottom(const NetParameter& param, + const int layer_id, const int bottom_id, + set* available_blobs, map* blob_name_to_idx) { + const LayerParameter& layer_param = param.layers(layer_id); + const string& blob_name = layer_param.bottom(bottom_id); + if (available_blobs->find(blob_name) == available_blobs->end()) { + LOG(FATAL) << "Unknown blob input " << blob_name + << " (at index " << bottom_id << ") to layer " << layer_id; + } + const int blob_id = (*blob_name_to_idx)[blob_name]; + LOG(INFO) << layer_names_[layer_id] << " <- " << blob_name; + bottom_vecs_[layer_id].push_back(blobs_[blob_id].get()); + bottom_id_vecs_[layer_id].push_back(blob_id); + available_blobs->erase(blob_name); + bool need_backward = param.force_backward() || blob_need_backward_[blob_id]; + return blob_id; +} template void Net::GetLearningRateAndWeightDecay() { From 12f6fd52a8cd5e4b5972f3bf78bb526403c05f77 Mon Sep 17 00:00:00 2001 From: linmin Date: Thu, 22 May 2014 00:15:32 +0800 Subject: [PATCH 118/408] add option for lmdb --- Makefile | 1 + include/caffe/data_layers.hpp | 10 +++ src/caffe/layers/data_layer.cpp | 142 ++++++++++++++++++++++++++------ src/caffe/proto/caffe.proto | 5 ++ 4 files changed, 132 insertions(+), 26 deletions(-) diff --git a/Makefile b/Makefile index c43b30ee33a..943165a4642 100644 --- a/Makefile +++ b/Makefile @@ -129,6 +129,7 @@ LIBRARY_DIRS += $(CUDA_LIB_DIR) LIBRARIES := cudart cublas curand \ pthread \ glog protobuf leveldb snappy \ + lmdb \ boost_system \ hdf5_hl hdf5 \ opencv_core opencv_highgui opencv_imgproc diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 3d3ce94bc88..2b4c278eafe 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -8,6 +8,7 @@ #include #include "leveldb/db.h" +#include "lmdb.h" #include "pthread.h" #include "hdf5.h" #include "boost/scoped_ptr.hpp" @@ -133,8 +134,17 @@ class DataLayer : public Layer { virtual unsigned int PrefetchRand(); shared_ptr prefetch_rng_; + + // LEVELDB shared_ptr db_; shared_ptr iter_; + // LMDB + MDB_env* mdb_env_; + MDB_dbi mdb_dbi_; + MDB_txn* mdb_txn_; + MDB_cursor* mdb_cursor_; + MDB_val mdb_key_, mdb_value_; + int datum_channels_; int datum_height_; int datum_width_; diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index 348753e5db9..3b307ec7743 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -12,6 +12,7 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/rng.hpp" #include "caffe/vision_layers.hpp" +#include "caffe/proto/caffe.pb.h" using std::string; @@ -46,9 +47,22 @@ void* DataLayerPrefetch(void* layer_pointer) { const Dtype* mean = layer->data_mean_.cpu_data(); for (int item_id = 0; item_id < batch_size; ++item_id) { // get a blob - CHECK(layer->iter_); - CHECK(layer->iter_->Valid()); - datum.ParseFromString(layer->iter_->value().ToString()); + switch (layer->layer_param_.data_param().backend()) { + case DataParameter_DB_LEVELDB: + CHECK(layer->iter_); + CHECK(layer->iter_->Valid()); + datum.ParseFromString(layer->iter_->value().ToString()); + break; + case DataParameter_DB_LMDB: + CHECK_EQ(mdb_cursor_get(layer->mdb_cursor_, &layer->mdb_key_, + &layer->mdb_value_, MDB_GET_CURRENT), MDB_SUCCESS); + datum.ParseFromArray(layer->mdb_value_.mv_data, + layer->mdb_value_.mv_size); + break; + default: + LOG(FATAL) << "Unknown database backend"; + } + const string& data = datum.data(); if (crop_size) { CHECK(data.size()) << "Image cropping only support uint8 data"; @@ -110,11 +124,26 @@ void* DataLayerPrefetch(void* layer_pointer) { top_label[item_id] = datum.label(); } // go to the next iter - layer->iter_->Next(); - if (!layer->iter_->Valid()) { - // We have reached the end. Restart from the first. - DLOG(INFO) << "Restarting data prefetching from start."; - layer->iter_->SeekToFirst(); + switch (layer->layer_param_.data_param().backend()) { + case DataParameter_DB_LEVELDB: + layer->iter_->Next(); + if (!layer->iter_->Valid()) { + // We have reached the end. Restart from the first. + DLOG(INFO) << "Restarting data prefetching from start."; + layer->iter_->SeekToFirst(); + } + break; + case DataParameter_DB_LMDB: + if (mdb_cursor_get(layer->mdb_cursor_, &layer->mdb_key_, + &layer->mdb_value_, MDB_NEXT) != MDB_SUCCESS) { + // We have reached the end. Restart from the first. + DLOG(INFO) << "Restarting data prefetching from start."; + CHECK_EQ(mdb_cursor_get(layer->mdb_cursor_, &layer->mdb_key_, + &layer->mdb_value_, MDB_FIRST), MDB_SUCCESS); + } + break; + default: + LOG(FATAL) << "Unknown database backend"; } } @@ -124,6 +153,19 @@ void* DataLayerPrefetch(void* layer_pointer) { template DataLayer::~DataLayer() { JoinPrefetchThread(); + // clean up the database resources + switch (this->layer_param_.data_param().backend()) { + case DataParameter_DB_LEVELDB: + break; // do nothing + case DataParameter_DB_LMDB: + mdb_cursor_close(mdb_cursor_); + mdb_close(mdb_env_, mdb_dbi_); + mdb_txn_abort(mdb_txn_); + mdb_env_close(mdb_env_); + break; + default: + LOG(FATAL) << "Unknown database backend"; + } } template @@ -135,35 +177,83 @@ void DataLayer::SetUp(const vector*>& bottom, } else { output_labels_ = true; } - // Initialize the leveldb - leveldb::DB* db_temp; - leveldb::Options options; - options.create_if_missing = false; - options.max_open_files = 100; - LOG(INFO) << "Opening leveldb " << this->layer_param_.data_param().source(); - leveldb::Status status = leveldb::DB::Open( - options, this->layer_param_.data_param().source(), &db_temp); - CHECK(status.ok()) << "Failed to open leveldb " - << this->layer_param_.data_param().source() << std::endl - << status.ToString(); - db_.reset(db_temp); - iter_.reset(db_->NewIterator(leveldb::ReadOptions())); - iter_->SeekToFirst(); + // Initialize DB + switch (this->layer_param_.data_param().backend()) { + case DataParameter_DB_LEVELDB: + { + leveldb::DB* db_temp; + leveldb::Options options; + options.create_if_missing = false; + options.max_open_files = 100; + LOG(INFO) << "Opening leveldb " << this->layer_param_.data_param().source(); + leveldb::Status status = leveldb::DB::Open( + options, this->layer_param_.data_param().source(), &db_temp); + CHECK(status.ok()) << "Failed to open leveldb " + << this->layer_param_.data_param().source() << std::endl + << status.ToString(); + db_.reset(db_temp); + iter_.reset(db_->NewIterator(leveldb::ReadOptions())); + iter_->SeekToFirst(); + } + break; + case DataParameter_DB_LMDB: + CHECK_EQ(mdb_env_create(&mdb_env_), MDB_SUCCESS) << "mdb_env_create failed"; + CHECK_EQ(mdb_env_set_mapsize(mdb_env_, 1099511627776), MDB_SUCCESS); // 1TB + CHECK_EQ(mdb_env_open(mdb_env_, + this->layer_param_.data_param().source().c_str(), + MDB_RDONLY|MDB_NOTLS, 0664), MDB_SUCCESS) << "mdb_env_open failed"; + CHECK_EQ(mdb_txn_begin(mdb_env_, NULL, MDB_RDONLY, &mdb_txn_), MDB_SUCCESS) + << "mdb_txn_begin failed"; + CHECK_EQ(mdb_open(mdb_txn_, NULL, 0, &mdb_dbi_), MDB_SUCCESS) + << "mdb_open failed"; + CHECK_EQ(mdb_cursor_open(mdb_txn_, mdb_dbi_, &mdb_cursor_), MDB_SUCCESS) + << "mdb_cursor_open failed"; + LOG(INFO) << "Opening lmdb " << this->layer_param_.data_param().source(); + CHECK_EQ(mdb_cursor_get(mdb_cursor_, &mdb_key_, &mdb_value_, MDB_FIRST), + MDB_SUCCESS) << "mdb_cursor_get failed"; + break; + default: + LOG(FATAL) << "Unknown database backend"; + } + // Check if we would need to randomly skip a few data points if (this->layer_param_.data_param().rand_skip()) { unsigned int skip = caffe_rng_rand() % this->layer_param_.data_param().rand_skip(); LOG(INFO) << "Skipping first " << skip << " data points."; while (skip-- > 0) { - iter_->Next(); - if (!iter_->Valid()) { - iter_->SeekToFirst(); + switch (this->layer_param_.data_param().backend()) { + case DataParameter_DB_LEVELDB: + iter_->Next(); + if (!iter_->Valid()) { + iter_->SeekToFirst(); + } + break; + case DataParameter_DB_LMDB: + if(mdb_cursor_get(mdb_cursor_, &mdb_key_, &mdb_value_, MDB_NEXT) + != MDB_SUCCESS) { + CHECK_EQ(mdb_cursor_get(mdb_cursor_, &mdb_key_, &mdb_value_, + MDB_FIRST), MDB_SUCCESS); + } + break; + default: + LOG(FATAL) << "Unknown database backend"; } } } // Read a data point, and use it to initialize the top blob. Datum datum; - datum.ParseFromString(iter_->value().ToString()); + switch (this->layer_param_.data_param().backend()) { + case DataParameter_DB_LEVELDB: + datum.ParseFromString(iter_->value().ToString()); + break; + case DataParameter_DB_LMDB: + datum.ParseFromArray(mdb_value_.mv_data, mdb_value_.mv_size); + break; + default: + LOG(FATAL) << "Unknown database backend"; + } + // image int crop_size = this->layer_param_.data_param().crop_size(); if (crop_size > 0) { diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 60c7daa9031..b85b49c77f7 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -229,6 +229,10 @@ message ConvolutionParameter { // Message that stores parameters used by DataLayer message DataParameter { + enum DB { + LEVELDB = 0; + LMDB = 1; + } // Specify the data source. optional string source = 1; // For data pre-processing, we can do simple scaling and subtracting the @@ -247,6 +251,7 @@ message DataParameter { // point would be set as rand_skip * rand(0,1). Note that rand_skip should not // be larger than the number of keys in the leveldb. optional uint32 rand_skip = 7 [default = 0]; + optional DB backend = 8 [default = LEVELDB]; } // Message that stores parameters used by DropoutLayer From f43f555dc03a8bf616c21f9ae6225012bad3ad1b Mon Sep 17 00:00:00 2001 From: linmin Date: Fri, 13 Jun 2014 10:19:33 +0800 Subject: [PATCH 119/408] add tests for lmdb of datalayer (copied from test_data_layer.cpp) --- src/caffe/test/test_data_layer_lmdb.cpp | 565 ++++++++++++++++++++++++ 1 file changed, 565 insertions(+) create mode 100644 src/caffe/test/test_data_layer_lmdb.cpp diff --git a/src/caffe/test/test_data_layer_lmdb.cpp b/src/caffe/test/test_data_layer_lmdb.cpp new file mode 100644 index 00000000000..9b5b7d2bfc6 --- /dev/null +++ b/src/caffe/test/test_data_layer_lmdb.cpp @@ -0,0 +1,565 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include +#include + +#include "cuda_runtime.h" +#include "leveldb/db.h" +#include "lmdb.h" +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/filler.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/proto/caffe.pb.h" +#include "caffe/test/test_caffe_main.hpp" + +using std::string; +using std::stringstream; + +namespace caffe { + +extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; + +template +class DataLayerTestLmdb : public ::testing::Test { + protected: + DataLayerTestLmdb() + : blob_top_data_(new Blob()), + blob_top_label_(new Blob()), + filename_(new string(tmpnam(NULL))), + seed_(1701) {} + virtual void SetUp() { + blob_top_vec_.push_back(blob_top_data_); + blob_top_vec_.push_back(blob_top_label_); + } + + // Fill the LMDB with data: if unique_pixels, each pixel is unique but + // all images are the same; else each image is unique but all pixels within + // an image are the same. + + void FillLMDB(const bool unique_pixels) { + LOG(INFO) << "Using temporary lmdb " << *filename_; + CHECK_EQ(mkdir(filename_->c_str(), 0744), 0) << "mkdir " << filename_ + << "failed"; + MDB_env *env; + MDB_dbi dbi; + MDB_val mdbkey, mdbdata; + MDB_txn *txn; + CHECK_EQ(mdb_env_create(&env), MDB_SUCCESS) << "mdb_env_create failed"; + CHECK_EQ(mdb_env_set_mapsize(env, 1099511627776), MDB_SUCCESS) // 1TB + << "mdb_env_set_mapsize failed"; + CHECK_EQ(mdb_env_open(env, filename_->c_str(), 0, 0664), MDB_SUCCESS) + << "mdb_env_open failed"; + CHECK_EQ(mdb_txn_begin(env, NULL, 0, &txn), MDB_SUCCESS) + << "mdb_txn_begin failed"; + CHECK_EQ(mdb_open(txn, NULL, 0, &dbi), MDB_SUCCESS) << "mdb_open failed"; + + for (int i = 0; i < 5; ++i) { + Datum datum; + datum.set_label(i); + datum.set_channels(2); + datum.set_height(3); + datum.set_width(4); + std::string* data = datum.mutable_data(); + for (int j = 0; j < 24; ++j) { + int datum = unique_pixels ? j : i; + data->push_back(static_cast(datum)); + } + stringstream ss; + ss << i; + + string value; + datum.SerializeToString(&value); + mdbdata.mv_size = value.size(); + mdbdata.mv_data = reinterpret_cast(&value[0]); + string keystr = ss.str(); + mdbkey.mv_size = keystr.size(); + mdbkey.mv_data = reinterpret_cast(&keystr[0]); + CHECK_EQ(mdb_put(txn, dbi, &mdbkey, &mdbdata, 0), MDB_SUCCESS) + << "mdb_put failed"; + } + CHECK_EQ(mdb_txn_commit(txn), MDB_SUCCESS) << "mdb_txn_commit failed"; + mdb_close(env, dbi); + mdb_env_close(env); + } + + virtual ~DataLayerTestLmdb() { delete blob_top_data_; delete blob_top_label_; } + + shared_ptr filename_; + Blob* const blob_top_data_; + Blob* const blob_top_label_; + vector*> blob_bottom_vec_; + vector*> blob_top_vec_; + int seed_; +}; + +typedef ::testing::Types Dtypes; +TYPED_TEST_CASE(DataLayerTestLmdb, Dtypes); + +TYPED_TEST(DataLayerTestLmdb, TestReadCPU) { + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = false; // all pixels the same; images different + this->FillLMDB(unique_pixels); + const TypeParam scale = 3; + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_scale(scale); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + DataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_data_->num(), 5); + EXPECT_EQ(this->blob_top_data_->channels(), 2); + EXPECT_EQ(this->blob_top_data_->height(), 3); + EXPECT_EQ(this->blob_top_data_->width(), 4); + EXPECT_EQ(this->blob_top_label_->num(), 5); + EXPECT_EQ(this->blob_top_label_->channels(), 1); + EXPECT_EQ(this->blob_top_label_->height(), 1); + EXPECT_EQ(this->blob_top_label_->width(), 1); + + for (int iter = 0; iter < 100; ++iter) { + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 24; ++j) { + EXPECT_EQ(scale * i, this->blob_top_data_->cpu_data()[i * 24 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } +} + +TYPED_TEST(DataLayerTestLmdb, TestReadGPU) { + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = false; // all pixels the same; images different + this->FillLMDB(unique_pixels); + const TypeParam scale = 3; + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_scale(scale); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + DataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_data_->num(), 5); + EXPECT_EQ(this->blob_top_data_->channels(), 2); + EXPECT_EQ(this->blob_top_data_->height(), 3); + EXPECT_EQ(this->blob_top_data_->width(), 4); + EXPECT_EQ(this->blob_top_label_->num(), 5); + EXPECT_EQ(this->blob_top_label_->channels(), 1); + EXPECT_EQ(this->blob_top_label_->height(), 1); + EXPECT_EQ(this->blob_top_label_->width(), 1); + + for (int iter = 0; iter < 100; ++iter) { + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 24; ++j) { + EXPECT_EQ(scale * i, this->blob_top_data_->cpu_data()[i * 24 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } +} + +TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainCPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + const TypeParam scale = 3; + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_scale(scale); + data_param->set_crop_size(1); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + DataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_data_->num(), 5); + EXPECT_EQ(this->blob_top_data_->channels(), 2); + EXPECT_EQ(this->blob_top_data_->height(), 1); + EXPECT_EQ(this->blob_top_data_->width(), 1); + EXPECT_EQ(this->blob_top_label_->num(), 5); + EXPECT_EQ(this->blob_top_label_->channels(), 1); + EXPECT_EQ(this->blob_top_label_->height(), 1); + EXPECT_EQ(this->blob_top_label_->width(), 1); + + for (int iter = 0; iter < 2; ++iter) { + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + int num_with_center_value = 0; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + const TypeParam center_value = scale * (j ? 17 : 5); + num_with_center_value += + (center_value == this->blob_top_data_->cpu_data()[i * 2 + j]); + } + } + // Check we did not get the center crop all 10 times (occurs with + // probability 1-1/12^10 in working implementation). + EXPECT_LT(num_with_center_value, 10); + } +} + +TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainGPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + const TypeParam scale = 3; + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_scale(scale); + data_param->set_crop_size(1); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + DataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_data_->num(), 5); + EXPECT_EQ(this->blob_top_data_->channels(), 2); + EXPECT_EQ(this->blob_top_data_->height(), 1); + EXPECT_EQ(this->blob_top_data_->width(), 1); + EXPECT_EQ(this->blob_top_label_->num(), 5); + EXPECT_EQ(this->blob_top_label_->channels(), 1); + EXPECT_EQ(this->blob_top_label_->height(), 1); + EXPECT_EQ(this->blob_top_label_->width(), 1); + + for (int iter = 0; iter < 2; ++iter) { + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + int num_with_center_value = 0; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + const TypeParam center_value = scale * (j ? 17 : 5); + num_with_center_value += + (center_value == this->blob_top_data_->cpu_data()[i * 2 + j]); + } + } + // Check we did not get the center crop all 10 times (occurs with + // probability 1-1/12^10 in working implementation). + EXPECT_LT(num_with_center_value, 10); + } +} + +// Test that the sequence of random crops is consistent when using +// Caffe::set_random_seed. +TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainSequenceSeededCPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_crop_size(1); + data_param->set_mirror(true); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + // Get crop sequence with Caffe seed 1701. + Caffe::set_random_seed(this->seed_); + vector > crop_sequence; + { + DataLayer layer1(param); + layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + vector iter_crop_sequence; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + iter_crop_sequence.push_back( + this->blob_top_data_->cpu_data()[i * 2 + j]); + } + } + crop_sequence.push_back(iter_crop_sequence); + } + } // destroy 1st data layer and unlock the leveldb + + // Get crop sequence after reseeding Caffe with 1701. + // Check that the sequence is the same as the original. + Caffe::set_random_seed(this->seed_); + DataLayer layer2(param); + layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + EXPECT_EQ(crop_sequence[iter][i * 2 + j], + this->blob_top_data_->cpu_data()[i * 2 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } +} + +// Test that the sequence of random crops is consistent when using +// Caffe::set_random_seed. +TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainSequenceSeededGPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_crop_size(1); + data_param->set_mirror(true); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + // Get crop sequence with Caffe seed 1701. + Caffe::set_random_seed(this->seed_); + vector > crop_sequence; + { + DataLayer layer1(param); + layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + vector iter_crop_sequence; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + iter_crop_sequence.push_back( + this->blob_top_data_->cpu_data()[i * 2 + j]); + } + } + crop_sequence.push_back(iter_crop_sequence); + } + } // destroy 1st data layer and unlock the leveldb + + // Get crop sequence after reseeding Caffe with 1701. + // Check that the sequence is the same as the original. + Caffe::set_random_seed(this->seed_); + DataLayer layer2(param); + layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + EXPECT_EQ(crop_sequence[iter][i * 2 + j], + this->blob_top_data_->cpu_data()[i * 2 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } +} + +// Test that the sequence of random crops differs across iterations when +// Caffe::set_random_seed isn't called (and seeds from srand are ignored). +TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainSequenceUnseededCPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_crop_size(1); + data_param->set_mirror(true); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + // Get crop sequence with Caffe seed 1701, srand seed 1701. + Caffe::set_random_seed(this->seed_); + srand(this->seed_); + vector > crop_sequence; + { + DataLayer layer1(param); + layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + vector iter_crop_sequence; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + iter_crop_sequence.push_back( + this->blob_top_data_->cpu_data()[i * 2 + j]); + } + } + crop_sequence.push_back(iter_crop_sequence); + } + } // destroy 1st data layer and unlock the leveldb + + // Get crop sequence continuing from previous Caffe RNG state; + // reseed srand with 1701. Check that the sequence differs from the original. + srand(this->seed_); + DataLayer layer2(param); + layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + int num_sequence_matches = 0; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + num_sequence_matches += (crop_sequence[iter][i * 2 + j] == + this->blob_top_data_->cpu_data()[i * 2 + j]); + } + } + EXPECT_LT(num_sequence_matches, 10); + } +} + +// Test that the sequence of random crops differs across iterations when +// Caffe::set_random_seed isn't called (and seeds from srand are ignored). +TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainSequenceUnseededGPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_crop_size(1); + data_param->set_mirror(true); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + // Get crop sequence with Caffe seed 1701, srand seed 1701. + Caffe::set_random_seed(this->seed_); + srand(this->seed_); + vector > crop_sequence; + { + DataLayer layer1(param); + layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + vector iter_crop_sequence; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + iter_crop_sequence.push_back( + this->blob_top_data_->cpu_data()[i * 2 + j]); + } + } + crop_sequence.push_back(iter_crop_sequence); + } + } // destroy 1st data layer and unlock the leveldb + + // Get crop sequence continuing from previous Caffe RNG state; + // reseed srand with 1701. Check that the sequence differs from the original. + srand(this->seed_); + DataLayer layer2(param); + layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + int num_sequence_matches = 0; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + num_sequence_matches += (crop_sequence[iter][i * 2 + j] == + this->blob_top_data_->cpu_data()[i * 2 + j]); + } + } + EXPECT_LT(num_sequence_matches, 10); + } +} + +TYPED_TEST(DataLayerTestLmdb, TestReadCropTestCPU) { + Caffe::set_phase(Caffe::TEST); + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + const TypeParam scale = 3; + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_scale(scale); + data_param->set_crop_size(1); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + DataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_data_->num(), 5); + EXPECT_EQ(this->blob_top_data_->channels(), 2); + EXPECT_EQ(this->blob_top_data_->height(), 1); + EXPECT_EQ(this->blob_top_data_->width(), 1); + EXPECT_EQ(this->blob_top_label_->num(), 5); + EXPECT_EQ(this->blob_top_label_->channels(), 1); + EXPECT_EQ(this->blob_top_label_->height(), 1); + EXPECT_EQ(this->blob_top_label_->width(), 1); + + for (int iter = 0; iter < 2; ++iter) { + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + const TypeParam center_value = scale * (j ? 17 : 5); + EXPECT_EQ(center_value, this->blob_top_data_->cpu_data()[i * 2 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } +} + +TYPED_TEST(DataLayerTestLmdb, TestReadCropTestGPU) { + Caffe::set_phase(Caffe::TEST); + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + const TypeParam scale = 3; + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_scale(scale); + data_param->set_crop_size(1); + data_param->set_source(this->filename_->c_str()); + data_param->set_backend(DataParameter_DB_LMDB); + DataLayer layer(param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + EXPECT_EQ(this->blob_top_data_->num(), 5); + EXPECT_EQ(this->blob_top_data_->channels(), 2); + EXPECT_EQ(this->blob_top_data_->height(), 1); + EXPECT_EQ(this->blob_top_data_->width(), 1); + EXPECT_EQ(this->blob_top_label_->num(), 5); + EXPECT_EQ(this->blob_top_label_->channels(), 1); + EXPECT_EQ(this->blob_top_label_->height(), 1); + EXPECT_EQ(this->blob_top_label_->width(), 1); + + for (int iter = 0; iter < 2; ++iter) { + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); + } + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + const TypeParam center_value = scale * (j ? 17 : 5); + EXPECT_EQ(center_value, this->blob_top_data_->cpu_data()[i * 2 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } +} + +} // namespace caffe From c77c6e12e49048e4cfcfac82dee0a8dae3e69d56 Mon Sep 17 00:00:00 2001 From: linmin Date: Fri, 13 Jun 2014 10:26:38 +0800 Subject: [PATCH 120/408] fixed cpplint error --- src/caffe/test/test_data_layer_lmdb.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/caffe/test/test_data_layer_lmdb.cpp b/src/caffe/test/test_data_layer_lmdb.cpp index 9b5b7d2bfc6..f3f9d723b5b 100644 --- a/src/caffe/test/test_data_layer_lmdb.cpp +++ b/src/caffe/test/test_data_layer_lmdb.cpp @@ -1,8 +1,8 @@ // Copyright 2014 BVLC and contributors. +#include #include #include -#include #include "cuda_runtime.h" #include "leveldb/db.h" @@ -48,7 +48,7 @@ class DataLayerTestLmdb : public ::testing::Test { MDB_val mdbkey, mdbdata; MDB_txn *txn; CHECK_EQ(mdb_env_create(&env), MDB_SUCCESS) << "mdb_env_create failed"; - CHECK_EQ(mdb_env_set_mapsize(env, 1099511627776), MDB_SUCCESS) // 1TB + CHECK_EQ(mdb_env_set_mapsize(env, 1099511627776), MDB_SUCCESS) // 1TB << "mdb_env_set_mapsize failed"; CHECK_EQ(mdb_env_open(env, filename_->c_str(), 0, 0664), MDB_SUCCESS) << "mdb_env_open failed"; @@ -85,7 +85,10 @@ class DataLayerTestLmdb : public ::testing::Test { mdb_env_close(env); } - virtual ~DataLayerTestLmdb() { delete blob_top_data_; delete blob_top_label_; } + virtual ~DataLayerTestLmdb() { + delete blob_top_data_; + delete blob_top_label_; + } shared_ptr filename_; Blob* const blob_top_data_; From c17e413b305c29f64fdaa348d070478414a208a6 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 12 Jun 2014 22:29:59 -0700 Subject: [PATCH 121/408] lint --- src/caffe/layers/data_layer.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index 3b307ec7743..f12ae1c12e1 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -156,7 +156,7 @@ DataLayer::~DataLayer() { // clean up the database resources switch (this->layer_param_.data_param().backend()) { case DataParameter_DB_LEVELDB: - break; // do nothing + break; // do nothing case DataParameter_DB_LMDB: mdb_cursor_close(mdb_cursor_); mdb_close(mdb_env_, mdb_dbi_); @@ -198,10 +198,10 @@ void DataLayer::SetUp(const vector*>& bottom, break; case DataParameter_DB_LMDB: CHECK_EQ(mdb_env_create(&mdb_env_), MDB_SUCCESS) << "mdb_env_create failed"; - CHECK_EQ(mdb_env_set_mapsize(mdb_env_, 1099511627776), MDB_SUCCESS); // 1TB + CHECK_EQ(mdb_env_set_mapsize(mdb_env_, 1099511627776), MDB_SUCCESS); // 1TB CHECK_EQ(mdb_env_open(mdb_env_, - this->layer_param_.data_param().source().c_str(), - MDB_RDONLY|MDB_NOTLS, 0664), MDB_SUCCESS) << "mdb_env_open failed"; + this->layer_param_.data_param().source().c_str(), + MDB_RDONLY|MDB_NOTLS, 0664), MDB_SUCCESS) << "mdb_env_open failed"; CHECK_EQ(mdb_txn_begin(mdb_env_, NULL, MDB_RDONLY, &mdb_txn_), MDB_SUCCESS) << "mdb_txn_begin failed"; CHECK_EQ(mdb_open(mdb_txn_, NULL, 0, &mdb_dbi_), MDB_SUCCESS) @@ -230,10 +230,10 @@ void DataLayer::SetUp(const vector*>& bottom, } break; case DataParameter_DB_LMDB: - if(mdb_cursor_get(mdb_cursor_, &mdb_key_, &mdb_value_, MDB_NEXT) + if (mdb_cursor_get(mdb_cursor_, &mdb_key_, &mdb_value_, MDB_NEXT) != MDB_SUCCESS) { CHECK_EQ(mdb_cursor_get(mdb_cursor_, &mdb_key_, &mdb_value_, - MDB_FIRST), MDB_SUCCESS); + MDB_FIRST), MDB_SUCCESS); } break; default: From f8ebd09d067d893289e34b0ccc8ac2d2ac2cca8f Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 12 Jun 2014 22:51:33 -0700 Subject: [PATCH 122/408] unify test_data_layer tests --- src/caffe/test/test_data_layer.cpp | 573 ++++++++++------------------- 1 file changed, 191 insertions(+), 382 deletions(-) diff --git a/src/caffe/test/test_data_layer.cpp b/src/caffe/test/test_data_layer.cpp index 1eae1a4e068..98ac60d47b4 100644 --- a/src/caffe/test/test_data_layer.cpp +++ b/src/caffe/test/test_data_layer.cpp @@ -63,6 +63,187 @@ class DataLayerTest : public ::testing::Test { delete db; } + void TestRead() { + const Dtype scale = 3; + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_scale(scale); + data_param->set_source(filename_->c_str()); + DataLayer layer(param); + layer.SetUp(blob_bottom_vec_, &blob_top_vec_); + EXPECT_EQ(blob_top_data_->num(), 5); + EXPECT_EQ(blob_top_data_->channels(), 2); + EXPECT_EQ(blob_top_data_->height(), 3); + EXPECT_EQ(blob_top_data_->width(), 4); + EXPECT_EQ(blob_top_label_->num(), 5); + EXPECT_EQ(blob_top_label_->channels(), 1); + EXPECT_EQ(blob_top_label_->height(), 1); + EXPECT_EQ(blob_top_label_->width(), 1); + + for (int iter = 0; iter < 100; ++iter) { + layer.Forward(blob_bottom_vec_, &blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, blob_top_label_->cpu_data()[i]); + } + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 24; ++j) { + EXPECT_EQ(scale * i, blob_top_data_->cpu_data()[i * 24 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } + } + + void TestReadCrop() { + const Dtype scale = 3; + LayerParameter param; + Caffe::set_random_seed(1701); + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_scale(scale); + data_param->set_crop_size(1); + data_param->set_source(filename_->c_str()); + DataLayer layer(param); + layer.SetUp(blob_bottom_vec_, &blob_top_vec_); + EXPECT_EQ(blob_top_data_->num(), 5); + EXPECT_EQ(blob_top_data_->channels(), 2); + EXPECT_EQ(blob_top_data_->height(), 1); + EXPECT_EQ(blob_top_data_->width(), 1); + EXPECT_EQ(blob_top_label_->num(), 5); + EXPECT_EQ(blob_top_label_->channels(), 1); + EXPECT_EQ(blob_top_label_->height(), 1); + EXPECT_EQ(blob_top_label_->width(), 1); + + for (int iter = 0; iter < 2; ++iter) { + layer.Forward(blob_bottom_vec_, &blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, blob_top_label_->cpu_data()[i]); + } + int num_with_center_value = 0; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + const Dtype center_value = scale * (j ? 17 : 5); + num_with_center_value += + (center_value == blob_top_data_->cpu_data()[i * 2 + j]); + // At TEST time, check that we always get center value. + if (Caffe::phase() == Caffe::TEST) { + EXPECT_EQ(center_value, this->blob_top_data_->cpu_data()[i * 2 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } + // At TRAIN time, check that we did not get the center crop all 10 times. + // (This check fails with probability 1-1/12^10 in a correct + // implementation, so we call set_random_seed.) + if (Caffe::phase() == Caffe::TRAIN) { + EXPECT_LT(num_with_center_value, 10); + } + } + } + + void TestReadCropTrainSequenceSeeded() { + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_crop_size(1); + data_param->set_mirror(true); + data_param->set_source(filename_->c_str()); + + // Get crop sequence with Caffe seed 1701. + Caffe::set_random_seed(seed_); + vector > crop_sequence; + { + DataLayer layer1(param); + layer1.SetUp(blob_bottom_vec_, &blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer1.Forward(blob_bottom_vec_, &blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, blob_top_label_->cpu_data()[i]); + } + vector iter_crop_sequence; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + iter_crop_sequence.push_back( + blob_top_data_->cpu_data()[i * 2 + j]); + } + } + crop_sequence.push_back(iter_crop_sequence); + } + } // destroy 1st data layer and unlock the leveldb + + // Get crop sequence after reseeding Caffe with 1701. + // Check that the sequence is the same as the original. + Caffe::set_random_seed(seed_); + DataLayer layer2(param); + layer2.SetUp(blob_bottom_vec_, &blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer2.Forward(blob_bottom_vec_, &blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, blob_top_label_->cpu_data()[i]); + } + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + EXPECT_EQ(crop_sequence[iter][i * 2 + j], + blob_top_data_->cpu_data()[i * 2 + j]) + << "debug: iter " << iter << " i " << i << " j " << j; + } + } + } + } + + void TestReadCropTrainSequenceUnseeded() { + LayerParameter param; + DataParameter* data_param = param.mutable_data_param(); + data_param->set_batch_size(5); + data_param->set_crop_size(1); + data_param->set_mirror(true); + data_param->set_source(filename_->c_str()); + + // Get crop sequence with Caffe seed 1701, srand seed 1701. + Caffe::set_random_seed(seed_); + srand(seed_); + vector > crop_sequence; + { + DataLayer layer1(param); + layer1.SetUp(blob_bottom_vec_, &blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer1.Forward(blob_bottom_vec_, &blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, blob_top_label_->cpu_data()[i]); + } + vector iter_crop_sequence; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + iter_crop_sequence.push_back( + blob_top_data_->cpu_data()[i * 2 + j]); + } + } + crop_sequence.push_back(iter_crop_sequence); + } + } // destroy 1st data layer and unlock the leveldb + + // Get crop sequence continuing from previous Caffe RNG state; + // reseed srand with 1701. Check that the sequence differs from the original. + srand(seed_); + DataLayer layer2(param); + layer2.SetUp(blob_bottom_vec_, &blob_top_vec_); + for (int iter = 0; iter < 2; ++iter) { + layer2.Forward(blob_bottom_vec_, &blob_top_vec_); + for (int i = 0; i < 5; ++i) { + EXPECT_EQ(i, blob_top_label_->cpu_data()[i]); + } + int num_sequence_matches = 0; + for (int i = 0; i < 5; ++i) { + for (int j = 0; j < 2; ++j) { + num_sequence_matches += (crop_sequence[iter][i * 2 + j] == + blob_top_data_->cpu_data()[i * 2 + j]); + } + } + EXPECT_LT(num_sequence_matches, 10); + } + } + virtual ~DataLayerTest() { delete blob_top_data_; delete blob_top_label_; } shared_ptr filename_; @@ -80,70 +261,14 @@ TYPED_TEST(DataLayerTest, TestReadCPU) { Caffe::set_mode(Caffe::CPU); const bool unique_pixels = false; // all pixels the same; images different this->FillLevelDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_source(this->filename_->c_str()); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 3); - EXPECT_EQ(this->blob_top_data_->width(), 4); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 100; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 24; ++j) { - EXPECT_EQ(scale * i, this->blob_top_data_->cpu_data()[i * 24 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } + this->TestRead(); } TYPED_TEST(DataLayerTest, TestReadGPU) { Caffe::set_mode(Caffe::GPU); const bool unique_pixels = false; // all pixels the same; images different this->FillLevelDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_source(this->filename_->c_str()); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 3); - EXPECT_EQ(this->blob_top_data_->width(), 4); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 100; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 24; ++j) { - EXPECT_EQ(scale * i, this->blob_top_data_->cpu_data()[i * 24 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } + this->TestRead(); } TYPED_TEST(DataLayerTest, TestReadCropTrainCPU) { @@ -151,41 +276,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainCPU) { Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_crop_size(1); - data_param->set_source(this->filename_->c_str()); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 1); - EXPECT_EQ(this->blob_top_data_->width(), 1); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 2; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - int num_with_center_value = 0; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - const TypeParam center_value = scale * (j ? 17 : 5); - num_with_center_value += - (center_value == this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - // Check we did not get the center crop all 10 times (occurs with - // probability 1-1/12^10 in working implementation). - EXPECT_LT(num_with_center_value, 10); - } + this->TestReadCrop(); } TYPED_TEST(DataLayerTest, TestReadCropTrainGPU) { @@ -193,41 +284,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainGPU) { Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_crop_size(1); - data_param->set_source(this->filename_->c_str()); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 1); - EXPECT_EQ(this->blob_top_data_->width(), 1); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 2; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - int num_with_center_value = 0; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - const TypeParam center_value = scale * (j ? 17 : 5); - num_with_center_value += - (center_value == this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - // Check we did not get the center crop all 10 times (occurs with - // probability 1-1/12^10 in working implementation). - EXPECT_LT(num_with_center_value, 10); - } + this->TestReadCrop(); } // Test that the sequence of random crops is consistent when using @@ -237,53 +294,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededCPU) { Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_crop_size(1); - data_param->set_mirror(true); - data_param->set_source(this->filename_->c_str()); - - // Get crop sequence with Caffe seed 1701. - Caffe::set_random_seed(this->seed_); - vector > crop_sequence; - { - DataLayer layer1(param); - layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - vector iter_crop_sequence; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - iter_crop_sequence.push_back( - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - crop_sequence.push_back(iter_crop_sequence); - } - } // destroy 1st data layer and unlock the leveldb - - // Get crop sequence after reseeding Caffe with 1701. - // Check that the sequence is the same as the original. - Caffe::set_random_seed(this->seed_); - DataLayer layer2(param); - layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - EXPECT_EQ(crop_sequence[iter][i * 2 + j], - this->blob_top_data_->cpu_data()[i * 2 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } + this->TestReadCropTrainSequenceSeeded(); } // Test that the sequence of random crops is consistent when using @@ -293,53 +304,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededGPU) { Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_crop_size(1); - data_param->set_mirror(true); - data_param->set_source(this->filename_->c_str()); - - // Get crop sequence with Caffe seed 1701. - Caffe::set_random_seed(this->seed_); - vector > crop_sequence; - { - DataLayer layer1(param); - layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - vector iter_crop_sequence; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - iter_crop_sequence.push_back( - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - crop_sequence.push_back(iter_crop_sequence); - } - } // destroy 1st data layer and unlock the leveldb - - // Get crop sequence after reseeding Caffe with 1701. - // Check that the sequence is the same as the original. - Caffe::set_random_seed(this->seed_); - DataLayer layer2(param); - layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - EXPECT_EQ(crop_sequence[iter][i * 2 + j], - this->blob_top_data_->cpu_data()[i * 2 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } + this->TestReadCropTrainSequenceSeeded(); } // Test that the sequence of random crops differs across iterations when @@ -349,55 +314,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededCPU) { Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_crop_size(1); - data_param->set_mirror(true); - data_param->set_source(this->filename_->c_str()); - - // Get crop sequence with Caffe seed 1701, srand seed 1701. - Caffe::set_random_seed(this->seed_); - srand(this->seed_); - vector > crop_sequence; - { - DataLayer layer1(param); - layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - vector iter_crop_sequence; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - iter_crop_sequence.push_back( - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - crop_sequence.push_back(iter_crop_sequence); - } - } // destroy 1st data layer and unlock the leveldb - - // Get crop sequence continuing from previous Caffe RNG state; - // reseed srand with 1701. Check that the sequence differs from the original. - srand(this->seed_); - DataLayer layer2(param); - layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - int num_sequence_matches = 0; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - num_sequence_matches += (crop_sequence[iter][i * 2 + j] == - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - EXPECT_LT(num_sequence_matches, 10); - } + this->TestReadCropTrainSequenceUnseeded(); } // Test that the sequence of random crops differs across iterations when @@ -407,55 +324,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededGPU) { Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_crop_size(1); - data_param->set_mirror(true); - data_param->set_source(this->filename_->c_str()); - - // Get crop sequence with Caffe seed 1701, srand seed 1701. - Caffe::set_random_seed(this->seed_); - srand(this->seed_); - vector > crop_sequence; - { - DataLayer layer1(param); - layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - vector iter_crop_sequence; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - iter_crop_sequence.push_back( - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - crop_sequence.push_back(iter_crop_sequence); - } - } // destroy 1st data layer and unlock the leveldb - - // Get crop sequence continuing from previous Caffe RNG state; - // reseed srand with 1701. Check that the sequence differs from the original. - srand(this->seed_); - DataLayer layer2(param); - layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - int num_sequence_matches = 0; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - num_sequence_matches += (crop_sequence[iter][i * 2 + j] == - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - EXPECT_LT(num_sequence_matches, 10); - } + this->TestReadCropTrainSequenceUnseeded(); } TYPED_TEST(DataLayerTest, TestReadCropTestCPU) { @@ -463,37 +332,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTestCPU) { Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_crop_size(1); - data_param->set_source(this->filename_->c_str()); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 1); - EXPECT_EQ(this->blob_top_data_->width(), 1); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 2; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - const TypeParam center_value = scale * (j ? 17 : 5); - EXPECT_EQ(center_value, this->blob_top_data_->cpu_data()[i * 2 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } + this->TestReadCrop(); } TYPED_TEST(DataLayerTest, TestReadCropTestGPU) { @@ -501,37 +340,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTestGPU) { Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_crop_size(1); - data_param->set_source(this->filename_->c_str()); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 1); - EXPECT_EQ(this->blob_top_data_->width(), 1); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 2; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - const TypeParam center_value = scale * (j ? 17 : 5); - EXPECT_EQ(center_value, this->blob_top_data_->cpu_data()[i * 2 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } + this->TestReadCrop(); } } // namespace caffe From 1dd0d94bbea53bd080ad48ae15d53e4e9d47cad7 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 12 Jun 2014 23:07:23 -0700 Subject: [PATCH 123/408] unify data layer tests: was copied four times for all combinations of cpu/gpu and leveldb/lmdb; now just one copy of each test body --- src/caffe/test/test_data_layer.cpp | 167 ++++++- src/caffe/test/test_data_layer_lmdb.cpp | 568 ------------------------ 2 files changed, 154 insertions(+), 581 deletions(-) delete mode 100644 src/caffe/test/test_data_layer_lmdb.cpp diff --git a/src/caffe/test/test_data_layer.cpp b/src/caffe/test/test_data_layer.cpp index 98ac60d47b4..68f2618d323 100644 --- a/src/caffe/test/test_data_layer.cpp +++ b/src/caffe/test/test_data_layer.cpp @@ -27,6 +27,7 @@ class DataLayerTest : public ::testing::Test { : blob_top_data_(new Blob()), blob_top_label_(new Blob()), filename_(new string(tmpnam(NULL))), + backend_(DataParameter_DB_LEVELDB), seed_(1701) {} virtual void SetUp() { blob_top_vec_.push_back(blob_top_data_); @@ -37,6 +38,7 @@ class DataLayerTest : public ::testing::Test { // all images are the same; else each image is unique but all pixels within // an image are the same. void FillLevelDB(const bool unique_pixels) { + backend_ = DataParameter_DB_LEVELDB; LOG(INFO) << "Using temporary leveldb " << *filename_; leveldb::DB* db; leveldb::Options options; @@ -63,6 +65,54 @@ class DataLayerTest : public ::testing::Test { delete db; } + // Fill the LMDB with data: unique_pixels has same meaning as in FillLevelDB. + void FillLMDB(const bool unique_pixels) { + backend_ = DataParameter_DB_LMDB; + LOG(INFO) << "Using temporary lmdb " << *filename_; + CHECK_EQ(mkdir(filename_->c_str(), 0744), 0) << "mkdir " << filename_ + << "failed"; + MDB_env *env; + MDB_dbi dbi; + MDB_val mdbkey, mdbdata; + MDB_txn *txn; + CHECK_EQ(mdb_env_create(&env), MDB_SUCCESS) << "mdb_env_create failed"; + CHECK_EQ(mdb_env_set_mapsize(env, 1099511627776), MDB_SUCCESS) // 1TB + << "mdb_env_set_mapsize failed"; + CHECK_EQ(mdb_env_open(env, filename_->c_str(), 0, 0664), MDB_SUCCESS) + << "mdb_env_open failed"; + CHECK_EQ(mdb_txn_begin(env, NULL, 0, &txn), MDB_SUCCESS) + << "mdb_txn_begin failed"; + CHECK_EQ(mdb_open(txn, NULL, 0, &dbi), MDB_SUCCESS) << "mdb_open failed"; + + for (int i = 0; i < 5; ++i) { + Datum datum; + datum.set_label(i); + datum.set_channels(2); + datum.set_height(3); + datum.set_width(4); + std::string* data = datum.mutable_data(); + for (int j = 0; j < 24; ++j) { + int datum = unique_pixels ? j : i; + data->push_back(static_cast(datum)); + } + stringstream ss; + ss << i; + + string value; + datum.SerializeToString(&value); + mdbdata.mv_size = value.size(); + mdbdata.mv_data = reinterpret_cast(&value[0]); + string keystr = ss.str(); + mdbkey.mv_size = keystr.size(); + mdbkey.mv_data = reinterpret_cast(&keystr[0]); + CHECK_EQ(mdb_put(txn, dbi, &mdbkey, &mdbdata, 0), MDB_SUCCESS) + << "mdb_put failed"; + } + CHECK_EQ(mdb_txn_commit(txn), MDB_SUCCESS) << "mdb_txn_commit failed"; + mdb_close(env, dbi); + mdb_env_close(env); + } + void TestRead() { const Dtype scale = 3; LayerParameter param; @@ -70,6 +120,7 @@ class DataLayerTest : public ::testing::Test { data_param->set_batch_size(5); data_param->set_scale(scale); data_param->set_source(filename_->c_str()); + data_param->set_backend(backend_); DataLayer layer(param); layer.SetUp(blob_bottom_vec_, &blob_top_vec_); EXPECT_EQ(blob_top_data_->num(), 5); @@ -104,6 +155,7 @@ class DataLayerTest : public ::testing::Test { data_param->set_scale(scale); data_param->set_crop_size(1); data_param->set_source(filename_->c_str()); + data_param->set_backend(backend_); DataLayer layer(param); layer.SetUp(blob_bottom_vec_, &blob_top_vec_); EXPECT_EQ(blob_top_data_->num(), 5); @@ -134,7 +186,7 @@ class DataLayerTest : public ::testing::Test { } } // At TRAIN time, check that we did not get the center crop all 10 times. - // (This check fails with probability 1-1/12^10 in a correct + // (This check fails with probability 1-1/12^10 in a correct // implementation, so we call set_random_seed.) if (Caffe::phase() == Caffe::TRAIN) { EXPECT_LT(num_with_center_value, 10); @@ -149,6 +201,7 @@ class DataLayerTest : public ::testing::Test { data_param->set_crop_size(1); data_param->set_mirror(true); data_param->set_source(filename_->c_str()); + data_param->set_backend(backend_); // Get crop sequence with Caffe seed 1701. Caffe::set_random_seed(seed_); @@ -199,6 +252,7 @@ class DataLayerTest : public ::testing::Test { data_param->set_crop_size(1); data_param->set_mirror(true); data_param->set_source(filename_->c_str()); + data_param->set_backend(backend_); // Get crop sequence with Caffe seed 1701, srand seed 1701. Caffe::set_random_seed(seed_); @@ -223,8 +277,8 @@ class DataLayerTest : public ::testing::Test { } } // destroy 1st data layer and unlock the leveldb - // Get crop sequence continuing from previous Caffe RNG state; - // reseed srand with 1701. Check that the sequence differs from the original. + // Get crop sequence continuing from previous Caffe RNG state; reseed + // srand with 1701. Check that the sequence differs from the original. srand(seed_); DataLayer layer2(param); layer2.SetUp(blob_bottom_vec_, &blob_top_vec_); @@ -246,6 +300,7 @@ class DataLayerTest : public ::testing::Test { virtual ~DataLayerTest() { delete blob_top_data_; delete blob_top_label_; } + DataParameter_DB backend_; shared_ptr filename_; Blob* const blob_top_data_; Blob* const blob_top_label_; @@ -257,21 +312,21 @@ class DataLayerTest : public ::testing::Test { typedef ::testing::Types Dtypes; TYPED_TEST_CASE(DataLayerTest, Dtypes); -TYPED_TEST(DataLayerTest, TestReadCPU) { +TYPED_TEST(DataLayerTest, TestReadLevelDBCPU) { Caffe::set_mode(Caffe::CPU); const bool unique_pixels = false; // all pixels the same; images different this->FillLevelDB(unique_pixels); this->TestRead(); } -TYPED_TEST(DataLayerTest, TestReadGPU) { +TYPED_TEST(DataLayerTest, TestReadLevelDBGPU) { Caffe::set_mode(Caffe::GPU); const bool unique_pixels = false; // all pixels the same; images different this->FillLevelDB(unique_pixels); this->TestRead(); } -TYPED_TEST(DataLayerTest, TestReadCropTrainCPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainLevelDBCPU) { Caffe::set_phase(Caffe::TRAIN); Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different @@ -279,7 +334,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainCPU) { this->TestReadCrop(); } -TYPED_TEST(DataLayerTest, TestReadCropTrainGPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainLevelDBGPU) { Caffe::set_phase(Caffe::TRAIN); Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different @@ -289,7 +344,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainGPU) { // Test that the sequence of random crops is consistent when using // Caffe::set_random_seed. -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededCPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLevelDBCPU) { Caffe::set_phase(Caffe::TRAIN); Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different @@ -299,7 +354,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededCPU) { // Test that the sequence of random crops is consistent when using // Caffe::set_random_seed. -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededGPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLevelDBGPU) { Caffe::set_phase(Caffe::TRAIN); Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different @@ -309,7 +364,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededGPU) { // Test that the sequence of random crops differs across iterations when // Caffe::set_random_seed isn't called (and seeds from srand are ignored). -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededCPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLevelDBCPU) { Caffe::set_phase(Caffe::TRAIN); Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different @@ -319,7 +374,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededCPU) { // Test that the sequence of random crops differs across iterations when // Caffe::set_random_seed isn't called (and seeds from srand are ignored). -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededGPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLevelDBGPU) { Caffe::set_phase(Caffe::TRAIN); Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different @@ -327,7 +382,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededGPU) { this->TestReadCropTrainSequenceUnseeded(); } -TYPED_TEST(DataLayerTest, TestReadCropTestCPU) { +TYPED_TEST(DataLayerTest, TestReadCropTestLevelDBCPU) { Caffe::set_phase(Caffe::TEST); Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different @@ -335,7 +390,7 @@ TYPED_TEST(DataLayerTest, TestReadCropTestCPU) { this->TestReadCrop(); } -TYPED_TEST(DataLayerTest, TestReadCropTestGPU) { +TYPED_TEST(DataLayerTest, TestReadCropTestLevelDBGPU) { Caffe::set_phase(Caffe::TEST); Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different @@ -343,4 +398,90 @@ TYPED_TEST(DataLayerTest, TestReadCropTestGPU) { this->TestReadCrop(); } +TYPED_TEST(DataLayerTest, TestReadLMDBCPU) { + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = false; // all pixels the same; images different + this->FillLMDB(unique_pixels); + this->TestRead(); +} + +TYPED_TEST(DataLayerTest, TestReadLMDBGPU) { + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = false; // all pixels the same; images different + this->FillLMDB(unique_pixels); + this->TestRead(); +} + +TYPED_TEST(DataLayerTest, TestReadCropTrainLMDBCPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + this->TestReadCrop(); +} + +TYPED_TEST(DataLayerTest, TestReadCropTrainLMDBGPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + this->TestReadCrop(); +} + +// Test that the sequence of random crops is consistent when using +// Caffe::set_random_seed. +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLMDBCPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + this->TestReadCropTrainSequenceSeeded(); +} + +// Test that the sequence of random crops is consistent when using +// Caffe::set_random_seed. +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLMDBGPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + this->TestReadCropTrainSequenceSeeded(); +} + +// Test that the sequence of random crops differs across iterations when +// Caffe::set_random_seed isn't called (and seeds from srand are ignored). +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLMDBCPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + this->TestReadCropTrainSequenceUnseeded(); +} + +// Test that the sequence of random crops differs across iterations when +// Caffe::set_random_seed isn't called (and seeds from srand are ignored). +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLMDBGPU) { + Caffe::set_phase(Caffe::TRAIN); + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + this->TestReadCropTrainSequenceUnseeded(); +} + +TYPED_TEST(DataLayerTest, TestReadCropTestLMDBCPU) { + Caffe::set_phase(Caffe::TEST); + Caffe::set_mode(Caffe::CPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + this->TestReadCrop(); +} + +TYPED_TEST(DataLayerTest, TestReadCropTestLMDBGPU) { + Caffe::set_phase(Caffe::TEST); + Caffe::set_mode(Caffe::GPU); + const bool unique_pixels = true; // all images the same; pixels different + this->FillLMDB(unique_pixels); + this->TestReadCrop(); +} + } // namespace caffe diff --git a/src/caffe/test/test_data_layer_lmdb.cpp b/src/caffe/test/test_data_layer_lmdb.cpp deleted file mode 100644 index f3f9d723b5b..00000000000 --- a/src/caffe/test/test_data_layer_lmdb.cpp +++ /dev/null @@ -1,568 +0,0 @@ -// Copyright 2014 BVLC and contributors. - -#include -#include -#include - -#include "cuda_runtime.h" -#include "leveldb/db.h" -#include "lmdb.h" -#include "gtest/gtest.h" -#include "caffe/blob.hpp" -#include "caffe/common.hpp" -#include "caffe/filler.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/proto/caffe.pb.h" -#include "caffe/test/test_caffe_main.hpp" - -using std::string; -using std::stringstream; - -namespace caffe { - -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - -template -class DataLayerTestLmdb : public ::testing::Test { - protected: - DataLayerTestLmdb() - : blob_top_data_(new Blob()), - blob_top_label_(new Blob()), - filename_(new string(tmpnam(NULL))), - seed_(1701) {} - virtual void SetUp() { - blob_top_vec_.push_back(blob_top_data_); - blob_top_vec_.push_back(blob_top_label_); - } - - // Fill the LMDB with data: if unique_pixels, each pixel is unique but - // all images are the same; else each image is unique but all pixels within - // an image are the same. - - void FillLMDB(const bool unique_pixels) { - LOG(INFO) << "Using temporary lmdb " << *filename_; - CHECK_EQ(mkdir(filename_->c_str(), 0744), 0) << "mkdir " << filename_ - << "failed"; - MDB_env *env; - MDB_dbi dbi; - MDB_val mdbkey, mdbdata; - MDB_txn *txn; - CHECK_EQ(mdb_env_create(&env), MDB_SUCCESS) << "mdb_env_create failed"; - CHECK_EQ(mdb_env_set_mapsize(env, 1099511627776), MDB_SUCCESS) // 1TB - << "mdb_env_set_mapsize failed"; - CHECK_EQ(mdb_env_open(env, filename_->c_str(), 0, 0664), MDB_SUCCESS) - << "mdb_env_open failed"; - CHECK_EQ(mdb_txn_begin(env, NULL, 0, &txn), MDB_SUCCESS) - << "mdb_txn_begin failed"; - CHECK_EQ(mdb_open(txn, NULL, 0, &dbi), MDB_SUCCESS) << "mdb_open failed"; - - for (int i = 0; i < 5; ++i) { - Datum datum; - datum.set_label(i); - datum.set_channels(2); - datum.set_height(3); - datum.set_width(4); - std::string* data = datum.mutable_data(); - for (int j = 0; j < 24; ++j) { - int datum = unique_pixels ? j : i; - data->push_back(static_cast(datum)); - } - stringstream ss; - ss << i; - - string value; - datum.SerializeToString(&value); - mdbdata.mv_size = value.size(); - mdbdata.mv_data = reinterpret_cast(&value[0]); - string keystr = ss.str(); - mdbkey.mv_size = keystr.size(); - mdbkey.mv_data = reinterpret_cast(&keystr[0]); - CHECK_EQ(mdb_put(txn, dbi, &mdbkey, &mdbdata, 0), MDB_SUCCESS) - << "mdb_put failed"; - } - CHECK_EQ(mdb_txn_commit(txn), MDB_SUCCESS) << "mdb_txn_commit failed"; - mdb_close(env, dbi); - mdb_env_close(env); - } - - virtual ~DataLayerTestLmdb() { - delete blob_top_data_; - delete blob_top_label_; - } - - shared_ptr filename_; - Blob* const blob_top_data_; - Blob* const blob_top_label_; - vector*> blob_bottom_vec_; - vector*> blob_top_vec_; - int seed_; -}; - -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(DataLayerTestLmdb, Dtypes); - -TYPED_TEST(DataLayerTestLmdb, TestReadCPU) { - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = false; // all pixels the same; images different - this->FillLMDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 3); - EXPECT_EQ(this->blob_top_data_->width(), 4); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 100; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 24; ++j) { - EXPECT_EQ(scale * i, this->blob_top_data_->cpu_data()[i * 24 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } -} - -TYPED_TEST(DataLayerTestLmdb, TestReadGPU) { - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = false; // all pixels the same; images different - this->FillLMDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 3); - EXPECT_EQ(this->blob_top_data_->width(), 4); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 100; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 24; ++j) { - EXPECT_EQ(scale * i, this->blob_top_data_->cpu_data()[i * 24 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } -} - -TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainCPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_crop_size(1); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 1); - EXPECT_EQ(this->blob_top_data_->width(), 1); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 2; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - int num_with_center_value = 0; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - const TypeParam center_value = scale * (j ? 17 : 5); - num_with_center_value += - (center_value == this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - // Check we did not get the center crop all 10 times (occurs with - // probability 1-1/12^10 in working implementation). - EXPECT_LT(num_with_center_value, 10); - } -} - -TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainGPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_crop_size(1); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 1); - EXPECT_EQ(this->blob_top_data_->width(), 1); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 2; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - int num_with_center_value = 0; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - const TypeParam center_value = scale * (j ? 17 : 5); - num_with_center_value += - (center_value == this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - // Check we did not get the center crop all 10 times (occurs with - // probability 1-1/12^10 in working implementation). - EXPECT_LT(num_with_center_value, 10); - } -} - -// Test that the sequence of random crops is consistent when using -// Caffe::set_random_seed. -TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainSequenceSeededCPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_crop_size(1); - data_param->set_mirror(true); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - // Get crop sequence with Caffe seed 1701. - Caffe::set_random_seed(this->seed_); - vector > crop_sequence; - { - DataLayer layer1(param); - layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - vector iter_crop_sequence; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - iter_crop_sequence.push_back( - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - crop_sequence.push_back(iter_crop_sequence); - } - } // destroy 1st data layer and unlock the leveldb - - // Get crop sequence after reseeding Caffe with 1701. - // Check that the sequence is the same as the original. - Caffe::set_random_seed(this->seed_); - DataLayer layer2(param); - layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - EXPECT_EQ(crop_sequence[iter][i * 2 + j], - this->blob_top_data_->cpu_data()[i * 2 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } -} - -// Test that the sequence of random crops is consistent when using -// Caffe::set_random_seed. -TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainSequenceSeededGPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_crop_size(1); - data_param->set_mirror(true); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - // Get crop sequence with Caffe seed 1701. - Caffe::set_random_seed(this->seed_); - vector > crop_sequence; - { - DataLayer layer1(param); - layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - vector iter_crop_sequence; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - iter_crop_sequence.push_back( - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - crop_sequence.push_back(iter_crop_sequence); - } - } // destroy 1st data layer and unlock the leveldb - - // Get crop sequence after reseeding Caffe with 1701. - // Check that the sequence is the same as the original. - Caffe::set_random_seed(this->seed_); - DataLayer layer2(param); - layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - EXPECT_EQ(crop_sequence[iter][i * 2 + j], - this->blob_top_data_->cpu_data()[i * 2 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } -} - -// Test that the sequence of random crops differs across iterations when -// Caffe::set_random_seed isn't called (and seeds from srand are ignored). -TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainSequenceUnseededCPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_crop_size(1); - data_param->set_mirror(true); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - // Get crop sequence with Caffe seed 1701, srand seed 1701. - Caffe::set_random_seed(this->seed_); - srand(this->seed_); - vector > crop_sequence; - { - DataLayer layer1(param); - layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - vector iter_crop_sequence; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - iter_crop_sequence.push_back( - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - crop_sequence.push_back(iter_crop_sequence); - } - } // destroy 1st data layer and unlock the leveldb - - // Get crop sequence continuing from previous Caffe RNG state; - // reseed srand with 1701. Check that the sequence differs from the original. - srand(this->seed_); - DataLayer layer2(param); - layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - int num_sequence_matches = 0; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - num_sequence_matches += (crop_sequence[iter][i * 2 + j] == - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - EXPECT_LT(num_sequence_matches, 10); - } -} - -// Test that the sequence of random crops differs across iterations when -// Caffe::set_random_seed isn't called (and seeds from srand are ignored). -TYPED_TEST(DataLayerTestLmdb, TestReadCropTrainSequenceUnseededGPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_crop_size(1); - data_param->set_mirror(true); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - // Get crop sequence with Caffe seed 1701, srand seed 1701. - Caffe::set_random_seed(this->seed_); - srand(this->seed_); - vector > crop_sequence; - { - DataLayer layer1(param); - layer1.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer1.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - vector iter_crop_sequence; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - iter_crop_sequence.push_back( - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - crop_sequence.push_back(iter_crop_sequence); - } - } // destroy 1st data layer and unlock the leveldb - - // Get crop sequence continuing from previous Caffe RNG state; - // reseed srand with 1701. Check that the sequence differs from the original. - srand(this->seed_); - DataLayer layer2(param); - layer2.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int iter = 0; iter < 2; ++iter) { - layer2.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - int num_sequence_matches = 0; - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - num_sequence_matches += (crop_sequence[iter][i * 2 + j] == - this->blob_top_data_->cpu_data()[i * 2 + j]); - } - } - EXPECT_LT(num_sequence_matches, 10); - } -} - -TYPED_TEST(DataLayerTestLmdb, TestReadCropTestCPU) { - Caffe::set_phase(Caffe::TEST); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_crop_size(1); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 1); - EXPECT_EQ(this->blob_top_data_->width(), 1); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 2; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - const TypeParam center_value = scale * (j ? 17 : 5); - EXPECT_EQ(center_value, this->blob_top_data_->cpu_data()[i * 2 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } -} - -TYPED_TEST(DataLayerTestLmdb, TestReadCropTestGPU) { - Caffe::set_phase(Caffe::TEST); - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - const TypeParam scale = 3; - LayerParameter param; - DataParameter* data_param = param.mutable_data_param(); - data_param->set_batch_size(5); - data_param->set_scale(scale); - data_param->set_crop_size(1); - data_param->set_source(this->filename_->c_str()); - data_param->set_backend(DataParameter_DB_LMDB); - DataLayer layer(param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - EXPECT_EQ(this->blob_top_data_->num(), 5); - EXPECT_EQ(this->blob_top_data_->channels(), 2); - EXPECT_EQ(this->blob_top_data_->height(), 1); - EXPECT_EQ(this->blob_top_data_->width(), 1); - EXPECT_EQ(this->blob_top_label_->num(), 5); - EXPECT_EQ(this->blob_top_label_->channels(), 1); - EXPECT_EQ(this->blob_top_label_->height(), 1); - EXPECT_EQ(this->blob_top_label_->width(), 1); - - for (int iter = 0; iter < 2; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - for (int i = 0; i < 5; ++i) { - EXPECT_EQ(i, this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < 5; ++i) { - for (int j = 0; j < 2; ++j) { - const TypeParam center_value = scale * (j ? 17 : 5); - EXPECT_EQ(center_value, this->blob_top_data_->cpu_data()[i * 2 + j]) - << "debug: iter " << iter << " i " << i << " j " << j; - } - } - } -} - -} // namespace caffe From 27ece9381607baf058ae14b151a789b4d7be1a6a Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 13 Jun 2014 11:42:40 -0700 Subject: [PATCH 124/408] add net surgery link to docs (+ drop old comment) --- docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 6857c4e5319..4665425e6ad 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,8 +10,6 @@ Caffe is released under [the BSD 2-Clause license](https://github.com/BVLC/caffe Check out the [classification demo](http://demo.caffe.berkeleyvision.org/)! - - ## Why Caffe? Caffe aims to provide computer vision scientists and practitioners with a **clean and modifiable implementation** of state-of-the-art deep learning algorithms. @@ -35,6 +33,7 @@ Even in CPU mode, computing predictions on an image takes only 20 ms when images * [Image Classification \[notebook\]][imagenet_classification]: classify images with the pretrained ImageNet model by the Python interface. * [Detection \[notebook\]][detection]: run a pretrained model as a detector in Python. * [Visualizing Features and Filters \[notebook\]][visualizing_filters]: extracting features and visualizing trained filters with an example image, viewed layer-by-layer. +* [Editing Model Parameters \[notebook\]][net_surgery]: how to do net surgery and manually change model parameters. * [LeNet / MNIST Demo](/mnist.html): end-to-end training and testing of LeNet on MNIST. * [CIFAR-10 Demo](/cifar10.html): training and testing on the CIFAR-10 data. * [Training ImageNet](/imagenet_training.html): recipe for end-to-end training of an ImageNet classifier. @@ -43,6 +42,7 @@ Even in CPU mode, computing predictions on an image takes only 20 ms when images [imagenet_classification]: http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/imagenet_classification.ipynb [detection]: http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/detection.ipynb [visualizing_filters]: http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/filter_visualization.ipynb +[net_surgery]: http://nbviewer.ipython.org/github/BVLC/caffe/blob/master/examples/net_surgery.ipynb ## Citing Caffe From e0ce93383e7b09d1f90db89b10f269a47fec360e Mon Sep 17 00:00:00 2001 From: linmin Date: Sat, 14 Jun 2014 16:15:18 +0800 Subject: [PATCH 125/408] add lmdb support for convert_imageset --- tools/convert_imageset.cpp | 112 ++++++++++++++++++++++++++++++------- 1 file changed, 92 insertions(+), 20 deletions(-) diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index 524d1950cb0..a381eaf4c03 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -17,6 +17,8 @@ #include #include #include +#include +#include #include #include // NOLINT(readability/streams) @@ -33,12 +35,13 @@ using std::string; int main(int argc, char** argv) { ::google::InitGoogleLogging(argv[0]); - if (argc < 4 || argc > 8) { + if (argc < 4 || argc > 9) { printf("Convert a set of images to the leveldb format used\n" "as input for Caffe.\n" "Usage:\n" " convert_imageset [-g] ROOTFOLDER/ LISTFILE DB_NAME" - " RANDOM_SHUFFLE_DATA[0 or 1] [resize_height] [resize_width]\n" + " RANDOM_SHUFFLE_DATA[0 or 1] DB_BACKEND[leveldb or lmdb]" + " [resize_height] [resize_width]\n" "The ImageNet dataset for the training demo is at\n" " http://www.image-net.org/download-images\n"); return 1; @@ -60,33 +63,71 @@ int main(int argc, char** argv) { std::random_shuffle(lines.begin(), lines.end()); } LOG(INFO) << "A total of " << lines.size() << " images."; - int resize_height = 0; - int resize_width = 0; + + string db_backend = "leveldb"; if (argc >= (arg_offset+6)) { - resize_height = atoi(argv[arg_offset+5]); + db_backend = string(argv[arg_offset+5]); + if (db_backend != "leveldb" || db_backend != "lmdb") { + LOG(FATAL) << "Unknown db backend " << db_backend; + } } + + int resize_height = 0; + int resize_width = 0; if (argc >= (arg_offset+7)) { - resize_width = atoi(argv[arg_offset+6]); + resize_height = atoi(argv[arg_offset+6]); + } + if (argc >= (arg_offset+8)) { + resize_width = atoi(argv[arg_offset+7]); } + // Open new db + // lmdb + MDB_env *mdb_env; + MDB_dbi mdb_dbi; + MDB_val mdb_key, mdb_data; + MDB_txn *mdb_txn; + // leveldb leveldb::DB* db; leveldb::Options options; options.error_if_exists = true; options.create_if_missing = true; options.write_buffer_size = 268435456; - LOG(INFO) << "Opening leveldb " << argv[arg_offset+3]; - leveldb::Status status = leveldb::DB::Open( - options, argv[arg_offset+3], &db); - CHECK(status.ok()) << "Failed to open leveldb " << argv[arg_offset+3]; + leveldb::WriteBatch* batch; + // Open db + if (db_backend == "leveldb") { // leveldb + LOG(INFO) << "Opening leveldb " << argv[arg_offset+3]; + leveldb::Status status = leveldb::DB::Open( + options, argv[arg_offset+3], &db); + CHECK(status.ok()) << "Failed to open leveldb " << argv[arg_offset+3]; + batch = new leveldb::WriteBatch(); + } else if (db_backend == "lmdb") { // lmdb + LOG(INFO) << "Opening lmdb " << argv[arg_offset+3]; + CHECK_EQ(mkdir(argv[arg_offset+3], 0744), 0) + << "mkdir " << argv[arg_offset+3] << "failed"; + CHECK_EQ(mdb_env_create(&mdb_env), MDB_SUCCESS) << "mdb_env_create failed"; + CHECK_EQ(mdb_env_set_mapsize(mdb_env, 1099511627776), MDB_SUCCESS) // 1TB + << "mdb_env_set_mapsize failed"; + CHECK_EQ(mdb_env_open(mdb_env, argv[3], 0, 0664), MDB_SUCCESS) + << "mdb_env_open failed"; + CHECK_EQ(mdb_txn_begin(mdb_env, NULL, 0, &mdb_txn), MDB_SUCCESS) + << "mdb_txn_begin failed"; + CHECK_EQ(mdb_open(mdb_txn, NULL, 0, &mdb_dbi), MDB_SUCCESS) + << "mdb_open failed"; + } else { + LOG(FATAL) << "Unknown db backend " << db_backend; + } + + // Storing to db string root_folder(argv[arg_offset+1]); Datum datum; int count = 0; const int kMaxKeyLength = 256; char key_cstr[kMaxKeyLength]; - leveldb::WriteBatch* batch = new leveldb::WriteBatch(); int data_size; bool data_size_initialized = false; + for (int line_id = 0; line_id < lines.size(); ++line_id) { if (!ReadImageToDatum(root_folder + lines[line_id].first, lines[line_id].second, resize_height, resize_width, is_color, &datum)) { @@ -104,23 +145,54 @@ int main(int argc, char** argv) { snprintf(key_cstr, kMaxKeyLength, "%08d_%s", line_id, lines[line_id].first.c_str()); string value; - // get the value datum.SerializeToString(&value); - batch->Put(string(key_cstr), value); + string keystr(key_cstr); + + // Put in db + if (db_backend == "leveldb") { // leveldb + batch->Put(keystr, value); + } else if (db_backend == "lmdb") { // lmdb + mdb_data.mv_size = value.size(); + mdb_data.mv_data = reinterpret_cast(&value[0]); + mdb_key.mv_size = keystr.size(); + mdb_key.mv_data = reinterpret_cast(&keystr[0]); + CHECK_EQ(mdb_put(mdb_txn, mdb_dbi, &mdb_key, &mdb_data, 0), MDB_SUCCESS) + << "mdb_put failed"; + } else { + LOG(FATAL) << "Unknown db backend " << db_backend; + } + if (++count % 1000 == 0) { - db->Write(leveldb::WriteOptions(), batch); + // Commit txn + if (db_backend == "leveldb") { // leveldb + db->Write(leveldb::WriteOptions(), batch); + delete batch; + batch = new leveldb::WriteBatch(); + } else if (db_backend == "lmdb") { // lmdb + CHECK_EQ(mdb_txn_commit(mdb_txn), MDB_SUCCESS) + << "mdb_txn_commit failed"; + CHECK_EQ(mdb_txn_begin(mdb_env, NULL, 0, &mdb_txn), MDB_SUCCESS) + << "mdb_txn_begin failed"; + } else { + LOG(FATAL) << "Unknown db backend " << db_backend; + } LOG(ERROR) << "Processed " << count << " files."; - delete batch; - batch = new leveldb::WriteBatch(); } } // write the last batch if (count % 1000 != 0) { - db->Write(leveldb::WriteOptions(), batch); + if (db_backend == "leveldb") { // leveldb + db->Write(leveldb::WriteOptions(), batch); + delete batch; + delete db; + } else if (db_backend == "lmdb") { // lmdb + CHECK_EQ(mdb_txn_commit(mdb_txn), MDB_SUCCESS) << "mdb_txn_commit failed"; + mdb_close(mdb_env, mdb_dbi); + mdb_env_close(mdb_env); + } else { + LOG(FATAL) << "Unknown db backend " << db_backend; + } LOG(ERROR) << "Processed " << count << " files."; } - - delete batch; - delete db; return 0; } From 01481d581b7b333c15f00f8c3597194eb285eeb9 Mon Sep 17 00:00:00 2001 From: linmin Date: Sat, 14 Jun 2014 16:15:44 +0800 Subject: [PATCH 126/408] add lmdb support for compute_image_mean --- tools/compute_image_mean.cpp | 145 +++++++++++++++++++++++++++-------- 1 file changed, 115 insertions(+), 30 deletions(-) diff --git a/tools/compute_image_mean.cpp b/tools/compute_image_mean.cpp index 7cf5fe5f222..5b212b66edd 100644 --- a/tools/compute_image_mean.cpp +++ b/tools/compute_image_mean.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include @@ -16,28 +17,69 @@ using std::max; int main(int argc, char** argv) { ::google::InitGoogleLogging(argv[0]); - if (argc != 3) { - LOG(ERROR) << "Usage: compute_image_mean input_leveldb output_file"; + if (argc < 3 || argc > 4) { + LOG(ERROR) << "Usage: compute_image_mean input_leveldb output_file" + << " db_backend[leveldb or lmdb]"; return 1; } + string db_backend = "leveldb"; + if (argc == 4) { + db_backend = string(argv[3]); + } + + // leveldb leveldb::DB* db; leveldb::Options options; options.create_if_missing = false; + leveldb::Iterator* it; + // lmdb + MDB_env* mdb_env; + MDB_dbi mdb_dbi; + MDB_val mdb_key, mdb_value; + MDB_txn* mdb_txn; + MDB_cursor* mdb_cursor; - LOG(INFO) << "Opening leveldb " << argv[1]; - leveldb::Status status = leveldb::DB::Open( - options, argv[1], &db); - CHECK(status.ok()) << "Failed to open leveldb " << argv[1]; + // Open db + if (db_backend == "leveldb") { // leveldb + LOG(INFO) << "Opening leveldb " << argv[1]; + leveldb::Status status = leveldb::DB::Open( + options, argv[1], &db); + CHECK(status.ok()) << "Failed to open leveldb " << argv[1]; + leveldb::ReadOptions read_options; + read_options.fill_cache = false; + it = db->NewIterator(read_options); + it->SeekToFirst(); + } else if (db_backend == "lmdb") { // lmdb + LOG(INFO) << "Opening lmdb " << argv[1]; + CHECK_EQ(mdb_env_create(&mdb_env), MDB_SUCCESS) << "mdb_env_create failed"; + CHECK_EQ(mdb_env_set_mapsize(mdb_env, 1099511627776), MDB_SUCCESS); // 1TB + CHECK_EQ(mdb_env_open(mdb_env, argv[1], MDB_RDONLY, 0664), + MDB_SUCCESS) << "mdb_env_open failed"; + CHECK_EQ(mdb_txn_begin(mdb_env, NULL, MDB_RDONLY, &mdb_txn), MDB_SUCCESS) + << "mdb_txn_begin failed"; + CHECK_EQ(mdb_open(mdb_txn, NULL, 0, &mdb_dbi), MDB_SUCCESS) + << "mdb_open failed"; + CHECK_EQ(mdb_cursor_open(mdb_txn, mdb_dbi, &mdb_cursor), MDB_SUCCESS) + << "mdb_cursor_open failed"; + CHECK_EQ(mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST), + MDB_SUCCESS); + } else { + LOG(FATAL) << "Unknown db backend " << db_backend; + } - leveldb::ReadOptions read_options; - read_options.fill_cache = false; - leveldb::Iterator* it = db->NewIterator(read_options); - it->SeekToFirst(); Datum datum; BlobProto sum_blob; int count = 0; - datum.ParseFromString(it->value().ToString()); + // load first datum + if (db_backend == "leveldb") { + datum.ParseFromString(it->value().ToString()); + } else if (db_backend == "lmdb") { + datum.ParseFromArray(mdb_value.mv_data, mdb_value.mv_size); + } else { + LOG(FATAL) << "Unknown db backend " << db_backend; + } + sum_blob.set_num(1); sum_blob.set_channels(datum.channels()); sum_blob.set_height(datum.height()); @@ -49,28 +91,61 @@ int main(int argc, char** argv) { sum_blob.add_data(0.); } LOG(INFO) << "Starting Iteration"; - for (it->SeekToFirst(); it->Valid(); it->Next()) { - // just a dummy operation - datum.ParseFromString(it->value().ToString()); - const string& data = datum.data(); - size_in_datum = std::max(datum.data().size(), datum.float_data_size()); - CHECK_EQ(size_in_datum, data_size) << "Incorrect data field size " << - size_in_datum; - if (data.size() != 0) { - for (int i = 0; i < size_in_datum; ++i) { - sum_blob.set_data(i, sum_blob.data(i) + (uint8_t)data[i]); + if (db_backend == "leveldb") { // leveldb + for (it->SeekToFirst(); it->Valid(); it->Next()) { + // just a dummy operation + datum.ParseFromString(it->value().ToString()); + const string& data = datum.data(); + size_in_datum = std::max(datum.data().size(), + datum.float_data_size()); + CHECK_EQ(size_in_datum, data_size) << "Incorrect data field size " << + size_in_datum; + if (data.size() != 0) { + for (int i = 0; i < size_in_datum; ++i) { + sum_blob.set_data(i, sum_blob.data(i) + (uint8_t)data[i]); + } + } else { + for (int i = 0; i < size_in_datum; ++i) { + sum_blob.set_data(i, sum_blob.data(i) + + static_cast(datum.float_data(i))); + } } - } else { - for (int i = 0; i < size_in_datum; ++i) { - sum_blob.set_data(i, sum_blob.data(i) + - static_cast(datum.float_data(i))); + ++count; + if (count % 10000 == 0) { + LOG(ERROR) << "Processed " << count << " files."; } } - ++count; - if (count % 10000 == 0) { - LOG(ERROR) << "Processed " << count << " files."; - } + } else if (db_backend == "lmdb") { // lmdb + CHECK_EQ(mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_FIRST), + MDB_SUCCESS); + do { + // just a dummy operation + datum.ParseFromArray(mdb_value.mv_data, mdb_value.mv_size); + const string& data = datum.data(); + size_in_datum = std::max(datum.data().size(), + datum.float_data_size()); + CHECK_EQ(size_in_datum, data_size) << "Incorrect data field size " << + size_in_datum; + if (data.size() != 0) { + for (int i = 0; i < size_in_datum; ++i) { + sum_blob.set_data(i, sum_blob.data(i) + (uint8_t)data[i]); + } + } else { + for (int i = 0; i < size_in_datum; ++i) { + sum_blob.set_data(i, sum_blob.data(i) + + static_cast(datum.float_data(i))); + } + } + ++count; + if (count % 10000 == 0) { + LOG(ERROR) << "Processed " << count << " files."; + } + } while (mdb_cursor_get(mdb_cursor, &mdb_key, &mdb_value, MDB_NEXT) + == MDB_SUCCESS); + } else { + LOG(FATAL) << "Unknown db backend " << db_backend; } + if (count % 10000 != 0) { LOG(ERROR) << "Processed " << count << " files."; } @@ -81,6 +156,16 @@ int main(int argc, char** argv) { LOG(INFO) << "Write to " << argv[2]; WriteProtoToBinaryFile(sum_blob, argv[2]); - delete db; + // Clean up + if (db_backend == "leveldb") { + delete db; + } else if (db_backend == "lmdb") { + mdb_cursor_close(mdb_cursor); + mdb_close(mdb_env, mdb_dbi); + mdb_txn_abort(mdb_txn); + mdb_env_close(mdb_env); + } else { + LOG(FATAL) << "Unknown db backend " << db_backend; + } return 0; } From dbc5ebf31b529db5690dc0d1dad1498ff269e799 Mon Sep 17 00:00:00 2001 From: linmin Date: Sat, 14 Jun 2014 16:35:48 +0800 Subject: [PATCH 127/408] fix string compare error --- tools/convert_imageset.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index a381eaf4c03..aa9515514c3 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -67,7 +67,7 @@ int main(int argc, char** argv) { string db_backend = "leveldb"; if (argc >= (arg_offset+6)) { db_backend = string(argv[arg_offset+5]); - if (db_backend != "leveldb" || db_backend != "lmdb") { + if (!(db_backend == "leveldb") && !(db_backend == "lmdb")) { LOG(FATAL) << "Unknown db backend " << db_backend; } } From 40837161e382812b331213f9694fa529b4ae7a4b Mon Sep 17 00:00:00 2001 From: leelurch Date: Sun, 15 Jun 2014 20:07:04 -0500 Subject: [PATCH 128/408] Add comment for how to set the CUDA path when cuda tools are installed by the package manager. --- Makefile.config.example | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.config.example b/Makefile.config.example index f9d8be80100..9754129beb7 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -3,6 +3,9 @@ # CUDA directory contains bin/ and lib/ directories that we need. CUDA_DIR := /usr/local/cuda +# On Ubuntu 14.04, if cuda tools are installed via +# "sudo apt-get install nvidia-cuda-toolkit" then use this instead: +# CUDA_DIR := /usr # CUDA architecture setting: going with all of them. CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \ From 47ef5629d8ad73aba4a262612ea4c3f537b08c17 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Mon, 16 Jun 2014 15:20:17 -0700 Subject: [PATCH 129/408] in Caffe::SetDevice, call cudaSetDevice before Get Otherwise initialization will be performed on whichever device is default. --- src/caffe/common.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 7edb3a455ac..218feb7d877 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -69,11 +69,13 @@ void Caffe::SetDevice(const int device_id) { if (current_device == device_id) { return; } + // The call to cudaSetDevice must come before any calls to Get, which + // may perform initialization using the GPU. + CUDA_CHECK(cudaSetDevice(device_id)); if (Get().cublas_handle_) CUBLAS_CHECK(cublasDestroy(Get().cublas_handle_)); if (Get().curand_generator_) { CURAND_CHECK(curandDestroyGenerator(Get().curand_generator_)); } - CUDA_CHECK(cudaSetDevice(device_id)); CUBLAS_CHECK(cublasCreate(&Get().cublas_handle_)); CURAND_CHECK(curandCreateGenerator(&Get().curand_generator_, CURAND_RNG_PSEUDO_DEFAULT)); From e43947a44cddaf975fd6a969eb4dd47ee40e7f9c Mon Sep 17 00:00:00 2001 From: Craig Quiter Date: Tue, 17 Jun 2014 00:00:01 -0700 Subject: [PATCH 130/408] Add comment to Makefile.config.example about DEBUG flag issue in OSX per #171. --- Makefile.config.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.config.example b/Makefile.config.example index f9d8be80100..9a75f5e55d5 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -46,7 +46,7 @@ LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib BUILD_DIR := build DISTRIBUTE_DIR := distribute -# Uncomment for debugging. +# Uncomment for debugging. Does not work on OSX due to https://github.com/BVLC/caffe/issues/171 # DEBUG := 1 # The ID of the GPU that 'make runtest' will use to run unit tests. From 3686f872f26e92e5c48e04e24bb89029b225984e Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 19 Jun 2014 12:55:48 -0700 Subject: [PATCH 131/408] Set device_id at the begining of Solver.Init() to avoid using memory in the default GPU --- src/caffe/solver.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 6a8f18f1331..769618175ac 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -36,6 +36,11 @@ void Solver::Init(const SolverParameter& param) { LOG(INFO) << "Initializing solver from parameters: " << std::endl << param.DebugString(); param_ = param; + if (param_.solver_mode() == SolverParameter_SolverMode_GPU && + param_.has_device_id()) { + Caffe::SetDevice(param_.device_id()); + } + Caffe::set_mode(Caffe::Brew(param_.solver_mode())); if (param_.random_seed() >= 0) { Caffe::set_random_seed(param_.random_seed()); } @@ -74,14 +79,8 @@ void Solver::Init(const SolverParameter& param) { LOG(INFO) << "Solver scaffolding done."; } - template void Solver::Solve(const char* resume_file) { - Caffe::set_mode(Caffe::Brew(param_.solver_mode())); - if (param_.solver_mode() == SolverParameter_SolverMode_GPU && - param_.has_device_id()) { - Caffe::SetDevice(param_.device_id()); - } Caffe::set_phase(Caffe::TRAIN); LOG(INFO) << "Solving " << net_->name(); PreSolve(); From f5853bc2eb85dda3e44269e6de8a539d0f54d5a1 Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 19 Jun 2014 16:40:32 -0700 Subject: [PATCH 132/408] Now Loss layers would return the loss in the top blob if requested --- include/caffe/loss_layers.hpp | 4 ++-- src/caffe/layers/euclidean_loss_layer.cpp | 3 +++ src/caffe/layers/infogain_loss_layer.cpp | 3 +++ src/caffe/layers/loss_layer.cpp | 4 ++++ src/caffe/layers/multinomial_logistic_loss_layer.cpp | 3 +++ src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp | 3 +++ src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu | 3 +++ src/caffe/layers/softmax_loss_layer.cpp | 3 +++ 8 files changed, 24 insertions(+), 2 deletions(-) diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index 381bf0f4f8f..dd06ca07187 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -37,7 +37,7 @@ class LossLayer : public Layer { const vector*>& bottom, vector*>* top) {} virtual inline int ExactNumBottomBlobs() const { return 2; } - virtual inline int ExactNumTopBlobs() const { return 0; } + virtual inline int MaxTopBlobs() const { return 1; } }; /* SigmoidCrossEntropyLossLayer @@ -166,7 +166,7 @@ class MultinomialLogisticLossLayer : public LossLayer { /* AccuracyLayer Note: not an actual loss layer! Does not implement backwards step. - Computes the accuracy and logprob of a with respect to b. + Computes the accuracy of a with respect to b. */ template class AccuracyLayer : public Layer { diff --git a/src/caffe/layers/euclidean_loss_layer.cpp b/src/caffe/layers/euclidean_loss_layer.cpp index a894d470c64..766294997f0 100644 --- a/src/caffe/layers/euclidean_loss_layer.cpp +++ b/src/caffe/layers/euclidean_loss_layer.cpp @@ -35,6 +35,9 @@ Dtype EuclideanLossLayer::Forward_cpu(const vector*>& bottom, diff_.mutable_cpu_data()); Dtype dot = caffe_cpu_dot(count, diff_.cpu_data(), diff_.cpu_data()); Dtype loss = dot / bottom[0]->num() / Dtype(2); + if (top->size() == 1) { + (*top)[0]->mutable_cpu_data()[0] = loss; + } return loss; } diff --git a/src/caffe/layers/infogain_loss_layer.cpp b/src/caffe/layers/infogain_loss_layer.cpp index ab6e67d73b1..3e7fc4f812b 100644 --- a/src/caffe/layers/infogain_loss_layer.cpp +++ b/src/caffe/layers/infogain_loss_layer.cpp @@ -48,6 +48,9 @@ Dtype InfogainLossLayer::Forward_cpu(const vector*>& bottom, loss -= infogain_mat[label * dim + j] * log(prob); } } + if (top->size() == 1) { + (*top)[0]->mutable_cpu_data()[0] = loss / num; + } return loss / num; } diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index 14ea975ad0d..ac8ad216732 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -20,6 +20,10 @@ void LossLayer::SetUp( Layer::SetUp(bottom, top); CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; + if (top->size() == 1) { + // Layers should copy the loss in the top blob + (*top)[0]->Reshape(1, 1, 1, 1); + } FurtherSetUp(bottom, top); } diff --git a/src/caffe/layers/multinomial_logistic_loss_layer.cpp b/src/caffe/layers/multinomial_logistic_loss_layer.cpp index 6486621d8aa..5a408795d6d 100644 --- a/src/caffe/layers/multinomial_logistic_loss_layer.cpp +++ b/src/caffe/layers/multinomial_logistic_loss_layer.cpp @@ -35,6 +35,9 @@ Dtype MultinomialLogisticLossLayer::Forward_cpu( Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); loss -= log(prob); } + if (top->size() == 1){ + (*top)[0]->mutable_cpu_data()[0] = loss / num; + } return loss / num; } diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp index a638684f3b6..955581d8875 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp @@ -41,6 +41,9 @@ Dtype SigmoidCrossEntropyLossLayer::Forward_cpu( loss -= input_data[i] * (target[i] - (input_data[i] >= 0)) - log(1 + exp(input_data[i] - 2 * input_data[i] * (input_data[i] >= 0))); } + if (top->size() == 1) { + (*top)[0]->mutable_cpu_data()[0] = loss / num; + } return loss / num; } diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu index 61004541fce..0caed2b83bd 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu @@ -29,6 +29,9 @@ Dtype SigmoidCrossEntropyLossLayer::Forward_gpu( loss -= input_data[i] * (target[i] - (input_data[i] >= 0)) - log(1 + exp(input_data[i] - 2 * input_data[i] * (input_data[i] >= 0))); } + if (top->size() == 1) { + (*top)[0]->mutable_cpu_data()[0] = loss / num; + } return loss / num; } diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index ef6eebabadd..8a37efee395 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -37,6 +37,9 @@ Dtype SoftmaxWithLossLayer::Forward_cpu( loss += -log(max(prob_data[i * dim + static_cast(label[i])], Dtype(FLT_MIN))); } + if (top->size() == 1) { + (*top)[0]->mutable_cpu_data()[0] = loss / num; + } return loss / num; } From 03cd25ce658c0270dd8bcf4c4cc0ff206f87aa05 Mon Sep 17 00:00:00 2001 From: Sergio Date: Thu, 19 Jun 2014 16:45:08 -0700 Subject: [PATCH 133/408] Modified test_net to check loss layer with top --- src/caffe/test/test_net.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index 1e43a038455..7f2f67b59c6 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -64,6 +64,7 @@ class NetTest : public ::testing::Test { " type: SOFTMAX_LOSS " " bottom: 'innerproduct' " " bottom: 'label' " + " top: 'top_loss' " "} "; NetParameter param; CHECK(google::protobuf::TextFormat::ParseFromString(proto, ¶m)); @@ -81,6 +82,7 @@ TYPED_TEST(NetTest, TestHasBlob) { EXPECT_TRUE(this->net_->has_blob("label")); EXPECT_TRUE(this->net_->has_blob("innerproduct")); EXPECT_FALSE(this->net_->has_blob("loss")); + EXPECT_TRUE(this->net_->has_blob("top_loss")); } TYPED_TEST(NetTest, TestGetBlob) { @@ -88,6 +90,7 @@ TYPED_TEST(NetTest, TestGetBlob) { EXPECT_EQ(this->net_->blob_by_name("label"), this->net_->blobs()[1]); EXPECT_EQ(this->net_->blob_by_name("innerproduct"), this->net_->blobs()[2]); EXPECT_FALSE(this->net_->blob_by_name("loss")); + EXPECT_EQ(this->net_->blob_by_name("top_loss"), this->net_->blobs()[3]); } TYPED_TEST(NetTest, TestHasLayer) { From 3d0bc1acbd98de289f038fd836dbab27ffadb4cc Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 20 Jun 2014 01:05:41 -0700 Subject: [PATCH 134/408] remove erroneous comment in ArgMaxLayer --- src/caffe/layers/argmax_layer.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index 70ccfff5a36..cc31c0f52d8 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -31,7 +31,6 @@ Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); for (int i = 0; i < num; ++i) { - // Accuracy Dtype max_val = -FLT_MAX; int max_ind = 0; for (int j = 0; j < dim; ++j) { From bb5f9e67522064eeabf915188788bd27535f377a Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 17 Jun 2014 11:43:10 +0800 Subject: [PATCH 135/408] Fix the condition prefetch_needs_rand in the ImageDataLayer --- src/caffe/layers/image_data_layer.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index 9a79e72fedc..1f7368e7e4d 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -236,9 +236,7 @@ void ImageDataLayer::CreatePrefetchThread() { phase_ = Caffe::phase(); const bool prefetch_needs_rand = this->layer_param_.image_data_param().shuffle() || - ((phase_ == Caffe::TRAIN) && - (this->layer_param_.image_data_param().mirror() || - this->layer_param_.image_data_param().crop_size())); + this->layer_param_.image_data_param().crop_size(); if (prefetch_needs_rand) { const unsigned int prefetch_rng_seed = caffe_rng_rand(); prefetch_rng_.reset(new Caffe::RNG(prefetch_rng_seed)); From ea77c96356a0a432ea990b9dad579a85c5dfe6fa Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 17 Jun 2014 13:35:59 +0800 Subject: [PATCH 136/408] Initialize the RNG generator with an orthogonally newed Generator --- src/caffe/common.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 218feb7d877..6eadfc7917e 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -126,7 +126,7 @@ class Caffe::RNG::Generator { shared_ptr rng_; }; -Caffe::RNG::RNG() : generator_(new Generator) { } +Caffe::RNG::RNG() : generator_(new Generator()) { } Caffe::RNG::RNG(unsigned int seed) : generator_(new Generator(seed)) { } From 21e4a502e7b81d82aa0be8acb58dd2ba7f384500 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Mon, 2 Jun 2014 13:12:48 +0800 Subject: [PATCH 137/408] Extract GPU code out of SyncedMemoryTest::TestCPUWrite --- src/caffe/test/test_syncedmem.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index cd7475898d1..d0d6c31517c 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -39,6 +39,20 @@ TEST_F(SyncedMemoryTest, TestCPUWrite) { for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(cpu_data))[i], 1); } + // do another round + cpu_data = mem.mutable_cpu_data(); + EXPECT_EQ(mem.head(), SyncedMemory::HEAD_AT_CPU); + memset(cpu_data, 2, mem.size()); + for (int i = 0; i < mem.size(); ++i) { + EXPECT_EQ((reinterpret_cast(cpu_data))[i], 2); + } +} + +TEST_F(SyncedMemoryTest, TestGPURead) { + SyncedMemory mem(10); + void* cpu_data = mem.mutable_cpu_data(); + EXPECT_EQ(mem.head(), SyncedMemory::HEAD_AT_CPU); + memset(cpu_data, 1, mem.size()); const void* gpu_data = mem.gpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same @@ -52,9 +66,6 @@ TEST_F(SyncedMemoryTest, TestCPUWrite) { cpu_data = mem.mutable_cpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::HEAD_AT_CPU); memset(cpu_data, 2, mem.size()); - for (int i = 0; i < mem.size(); ++i) { - EXPECT_EQ((reinterpret_cast(cpu_data))[i], 2); - } gpu_data = mem.gpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same From db93727325fa0091dd505975c852e39850f0b99d Mon Sep 17 00:00:00 2001 From: Kai Li Date: Mon, 2 Jun 2014 20:07:48 +0800 Subject: [PATCH 138/408] Separate TestForward into Test{CPU, GPU}Forward in HDF5OutputLayerTest --- src/caffe/test/test_hdf5_output_layer.cpp | 129 +++++++++++++++------- 1 file changed, 91 insertions(+), 38 deletions(-) diff --git a/src/caffe/test/test_hdf5_output_layer.cpp b/src/caffe/test/test_hdf5_output_layer.cpp index 9f793f2fce6..45cf11ba897 100644 --- a/src/caffe/test/test_hdf5_output_layer.cpp +++ b/src/caffe/test/test_hdf5_output_layer.cpp @@ -19,7 +19,7 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template +template class HDF5OutputLayerTest : public ::testing::Test { protected: HDF5OutputLayerTest() @@ -30,7 +30,8 @@ class HDF5OutputLayerTest : public ::testing::Test { num_(5), channels_(8), height_(5), - width_(5) {} + width_(5) { + } virtual ~HDF5OutputLayerTest() { delete blob_data_; @@ -51,9 +52,9 @@ class HDF5OutputLayerTest : public ::testing::Test { int width_; }; -template -void HDF5OutputLayerTest::CheckBlobEqual( - const Blob& b1, const Blob& b2) { +template +void HDF5OutputLayerTest::CheckBlobEqual(const Blob& b1, + const Blob& b2) { EXPECT_EQ(b1.num(), b2.num()); EXPECT_EQ(b1.channels(), b2.channels()); EXPECT_EQ(b1.height(), b2.height()); @@ -72,8 +73,61 @@ void HDF5OutputLayerTest::CheckBlobEqual( typedef ::testing::Types Dtypes; TYPED_TEST_CASE(HDF5OutputLayerTest, Dtypes); -TYPED_TEST(HDF5OutputLayerTest, TestForward) { +/* + * TestCPUForward and TestGPUForward are almost identical except for the mode. + * They are separated to use with `test_all.testbin --gtest_filter="*CPU*"`. + */ +TYPED_TEST(HDF5OutputLayerTest, TestCPUForward) { + LOG(INFO) << "Loading HDF5 file " << this->input_file_name_; + hid_t file_id = H5Fopen(this->input_file_name_.c_str(), H5F_ACC_RDONLY, + H5P_DEFAULT); + ASSERT_GE(file_id, 0)<< "Failed to open HDF5 file" << + this->input_file_name_; + hdf5_load_nd_dataset(file_id, HDF5_DATA_DATASET_NAME, 0, 4, + this->blob_data_); + hdf5_load_nd_dataset(file_id, HDF5_DATA_LABEL_NAME, 0, 4, + this->blob_label_); + herr_t status = H5Fclose(file_id); + EXPECT_GE(status, 0)<< "Failed to close HDF5 file " << + this->input_file_name_; + this->blob_bottom_vec_.push_back(this->blob_data_); + this->blob_bottom_vec_.push_back(this->blob_label_); + + Caffe::set_mode(Caffe::CPU); + LayerParameter param; + param.mutable_hdf5_output_param()->set_file_name(this->output_file_name_); + // This code block ensures that the layer is deconstructed and + // the output hdf5 file is closed. + { + HDF5OutputLayer layer(param); + EXPECT_EQ(layer.file_name(), this->output_file_name_); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + } + file_id = H5Fopen(this->output_file_name_.c_str(), H5F_ACC_RDONLY, + H5P_DEFAULT); + ASSERT_GE( + file_id, 0)<< "Failed to open HDF5 file" << + this->input_file_name_; + + Blob* blob_data = new Blob(); + hdf5_load_nd_dataset(file_id, HDF5_DATA_DATASET_NAME, 0, 4, + blob_data); + this->CheckBlobEqual(*(this->blob_data_), *blob_data); + + Blob* blob_label = new Blob(); + hdf5_load_nd_dataset(file_id, HDF5_DATA_LABEL_NAME, 0, 4, + blob_label); + this->CheckBlobEqual(*(this->blob_label_), *blob_label); + + status = H5Fclose(file_id); + EXPECT_GE(status, 0) << "Failed to close HDF5 file " << + this->output_file_name_; +} + +TYPED_TEST(HDF5OutputLayerTest, TestGPUForward) { LOG(INFO) << "Loading HDF5 file " << this->input_file_name_; + hid_t file_id = H5Fopen(this->input_file_name_.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT); ASSERT_GE(file_id, 0) << "Failed to open HDF5 file" << @@ -88,38 +142,37 @@ TYPED_TEST(HDF5OutputLayerTest, TestForward) { this->blob_bottom_vec_.push_back(this->blob_data_); this->blob_bottom_vec_.push_back(this->blob_label_); - Caffe::Brew modes[] = { Caffe::CPU, Caffe::GPU }; - for (int m = 0; m < 2; ++m) { - Caffe::set_mode(modes[m]); - LayerParameter param; - param.mutable_hdf5_output_param()->set_file_name(this->output_file_name_); - // This code block ensures that the layer is deconstructed and - // the output hdf5 file is closed. - { - HDF5OutputLayer layer(param); - EXPECT_EQ(layer.file_name(), this->output_file_name_); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - } - hid_t file_id = H5Fopen(this->output_file_name_.c_str(), H5F_ACC_RDONLY, - H5P_DEFAULT); - ASSERT_GE(file_id, 0) << "Failed to open HDF5 file" << - this->input_file_name_; - - Blob* blob_data = new Blob(); - hdf5_load_nd_dataset(file_id, HDF5_DATA_DATASET_NAME, 0, 4, - blob_data); - this->CheckBlobEqual(*(this->blob_data_), *blob_data); - - Blob* blob_label = new Blob(); - hdf5_load_nd_dataset(file_id, HDF5_DATA_LABEL_NAME, 0, 4, - blob_label); - this->CheckBlobEqual(*(this->blob_label_), *blob_label); - - herr_t status = H5Fclose(file_id); - EXPECT_GE(status, 0) << "Failed to close HDF5 file " << - this->output_file_name_; + Caffe::set_mode(Caffe::GPU); + LayerParameter param; + param.mutable_hdf5_output_param()->set_file_name(this->output_file_name_); + // This code block ensures that the layer is deconstructed and + // the output hdf5 file is closed. + { + HDF5OutputLayer layer(param); + EXPECT_EQ(layer.file_name(), this->output_file_name_); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); } + file_id = H5Fopen(this->output_file_name_.c_str(), H5F_ACC_RDONLY, + H5P_DEFAULT); + ASSERT_GE( + file_id, 0)<< "Failed to open HDF5 file" << + this->input_file_name_; + + Blob* blob_data = new Blob(); + hdf5_load_nd_dataset(file_id, HDF5_DATA_DATASET_NAME, 0, 4, + blob_data); + this->CheckBlobEqual(*(this->blob_data_), *blob_data); + + Blob* blob_label = new Blob(); + hdf5_load_nd_dataset(file_id, HDF5_DATA_LABEL_NAME, 0, 4, + blob_label); + this->CheckBlobEqual(*(this->blob_label_), *blob_label); + + status = H5Fclose(file_id); + EXPECT_GE(status, 0) << "Failed to close HDF5 file " << + this->output_file_name_; } -} // namespace caffe +} + // namespace caffe From 485a96df6c6b2e0774ae90f7df40083cd77b45dd Mon Sep 17 00:00:00 2001 From: Kai Li Date: Sun, 8 Jun 2014 00:00:26 +0800 Subject: [PATCH 139/408] Suppress redundant log messages of unavailable curand --- src/caffe/common.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 218feb7d877..f5600690212 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -50,6 +50,7 @@ void Caffe::set_random_seed(const unsigned int seed) { // Curand seed // Yangqing's note: simply setting the generator seed does not seem to // work on the tesla K20s, so I wrote the ugly reset thing below. + static bool curand_availability_logged = false; if (Get().curand_generator_) { CURAND_CHECK(curandDestroyGenerator(curand_generator())); CURAND_CHECK(curandCreateGenerator(&Get().curand_generator_, @@ -57,7 +58,11 @@ void Caffe::set_random_seed(const unsigned int seed) { CURAND_CHECK(curandSetPseudoRandomGeneratorSeed(curand_generator(), seed)); } else { - LOG(ERROR) << "Curand not available. Skipping setting the curand seed."; + if (!curand_availability_logged) { + LOG(ERROR) << + "Curand not available. Skipping setting the curand seed."; + curand_availability_logged = true; + } } // RNG seed Get().random_generator_.reset(new RNG(seed)); From b61070e309976146afdd94c5d95c78f43bef2e02 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 10 Jun 2014 09:24:39 +0800 Subject: [PATCH 140/408] Revert the namespace ending comment to the same line of the bracket --- src/caffe/test/test_hdf5_output_layer.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/caffe/test/test_hdf5_output_layer.cpp b/src/caffe/test/test_hdf5_output_layer.cpp index 45cf11ba897..5b396ef551e 100644 --- a/src/caffe/test/test_hdf5_output_layer.cpp +++ b/src/caffe/test/test_hdf5_output_layer.cpp @@ -174,5 +174,4 @@ TYPED_TEST(HDF5OutputLayerTest, TestGPUForward) { this->output_file_name_; } -} - // namespace caffe +} // namespace caffe From 9aa085863762d8b582159bafedc2559608e447c0 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 10 Jun 2014 09:26:31 +0800 Subject: [PATCH 141/408] Rename curand_availability_logged according to the Google style guide --- src/caffe/common.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index f5600690212..88fd3a9c5b6 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -50,7 +50,7 @@ void Caffe::set_random_seed(const unsigned int seed) { // Curand seed // Yangqing's note: simply setting the generator seed does not seem to // work on the tesla K20s, so I wrote the ugly reset thing below. - static bool curand_availability_logged = false; + static bool g_curand_availability_logged = false; if (Get().curand_generator_) { CURAND_CHECK(curandDestroyGenerator(curand_generator())); CURAND_CHECK(curandCreateGenerator(&Get().curand_generator_, @@ -58,10 +58,10 @@ void Caffe::set_random_seed(const unsigned int seed) { CURAND_CHECK(curandSetPseudoRandomGeneratorSeed(curand_generator(), seed)); } else { - if (!curand_availability_logged) { + if (!g_curand_availability_logged) { LOG(ERROR) << "Curand not available. Skipping setting the curand seed."; - curand_availability_logged = true; + g_curand_availability_logged = true; } } // RNG seed From a3ab2c7aa954d28a88e3c863d28a8287e166776f Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 17 Jun 2014 09:36:46 +0800 Subject: [PATCH 142/408] Verify the result of memtest in SyncedMemoryTest::TestGPURead --- src/caffe/test/test_syncedmem.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index d0d6c31517c..7bbbbab6a57 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -66,6 +66,9 @@ TEST_F(SyncedMemoryTest, TestGPURead) { cpu_data = mem.mutable_cpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::HEAD_AT_CPU); memset(cpu_data, 2, mem.size()); + for (int i = 0; i < mem.size(); ++i) { + EXPECT_EQ((reinterpret_cast(cpu_data))[i], 2); + } gpu_data = mem.gpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same From f2452d8966823bcb993ce64e6045f544d96c3ace Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 18:26:05 -0700 Subject: [PATCH 143/408] Merge HingeLoss and L2HingeLoss by adding hinge_norm to params Conflicts: src/caffe/layers/loss_layer.cpp src/caffe/proto/caffe.proto src/caffe/test/test_l2_hinge_loss_layer.cpp --- src/caffe/proto/caffe.proto | 10 ++++++++++ src/caffe/test/test_hinge_loss_layer.cpp | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index b85b49c77f7..f1e82f1bfda 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -194,6 +194,7 @@ message LayerParameter { optional PowerParameter power_param = 21; optional WindowDataParameter window_data_param = 20; optional ThresholdParameter threshold_param = 25; + optional HingeLossParameter hinge_loss_param = 29; // DEPRECATED: The layer parameters specified as a V0LayerParameter. // This should never be used by any code except to upgrade to the new @@ -305,6 +306,15 @@ message HDF5OutputParameter { optional string file_name = 1; } +message HingeLossParameter { + enum Norm { + L1 = 0; + L2 = 1; + } + // Specify the Norm to use L1 or L2 + optional Norm hinge_norm = 1 [default = L1]; +} + // Message that stores parameters used by ImageDataLayer message ImageDataParameter { // Specify the data source. diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index 1725827755f..e862e1eb191 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -70,4 +70,28 @@ TYPED_TEST(HingeLossLayerTest, TestGradientGPU) { &(this->blob_top_vec_), 0, -1, -1); } + +TYPED_TEST(HingeLossLayerTest, TestGradientCPUL2) { + LayerParameter layer_param; + HingeLossParameter* hinge_loss_param = layer_param.mutable_hinge_loss_param(); + hinge_loss_param->set_hinge_norm(HingeLossParameter_Norm_L2); + Caffe::set_mode(Caffe::CPU); + HingeLossLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + GradientChecker checker(1e-2, 2e-3, 1701, 1, 0.01); + checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_), 0, -1, -1); +} + +TYPED_TEST(HingeLossLayerTest, TestGradientGPUL2) { + LayerParameter layer_param; + HingeLossParameter* hinge_loss_param = layer_param.mutable_hinge_loss_param(); + hinge_loss_param->set_hinge_norm(HingeLossParameter_Norm_L2); + Caffe::set_mode(Caffe::GPU); + HingeLossLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + GradientChecker checker(1e-2, 2e-3, 1701, 1, 0.01); + checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_), 0, -1, -1); +} } // namespace caffe From f25687e1be1915d04171c6f5e9c1cdb0e03731c0 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 18:29:14 -0700 Subject: [PATCH 144/408] Removed L2HingeLoss class now a case within HingeLoss class Conflicts: include/caffe/vision_layers.hpp src/caffe/layers/loss_layer.cpp src/caffe/proto/caffe.proto src/caffe/test/test_l2_hinge_loss_layer.cpp --- src/caffe/proto/caffe.proto | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index f1e82f1bfda..b15172fa1ef 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -307,9 +307,9 @@ message HDF5OutputParameter { } message HingeLossParameter { - enum Norm { - L1 = 0; - L2 = 1; + enum Norm { + L1 = 1; + L2 = 2; } // Specify the Norm to use L1 or L2 optional Norm hinge_norm = 1 [default = L1]; From eaa30176f47e7c57009caf6a4755e67253a6bf9d Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 18:32:49 -0700 Subject: [PATCH 145/408] Remove spaces and merge tests into one file Conflicts: src/caffe/layers/loss_layer.cpp src/caffe/test/test_hinge_loss_layer.cpp --- src/caffe/layers/loss_layer.cpp | 1 + src/caffe/test/test_hinge_loss_layer.cpp | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index 14ea975ad0d..a8e63c443cc 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -21,6 +21,7 @@ void LossLayer::SetUp( CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; FurtherSetUp(bottom, top); + } INSTANTIATE_CLASS(LossLayer); diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index e862e1eb191..ec74b03c5d7 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -71,8 +71,9 @@ TYPED_TEST(HingeLossLayerTest, TestGradientGPU) { } -TYPED_TEST(HingeLossLayerTest, TestGradientCPUL2) { +TYPED_TEST(HingeLossLayerTest, TestGradientL2CPU) { LayerParameter layer_param; + // Set norm to L2 HingeLossParameter* hinge_loss_param = layer_param.mutable_hinge_loss_param(); hinge_loss_param->set_hinge_norm(HingeLossParameter_Norm_L2); Caffe::set_mode(Caffe::CPU); @@ -83,8 +84,10 @@ TYPED_TEST(HingeLossLayerTest, TestGradientCPUL2) { &(this->blob_top_vec_), 0, -1, -1); } -TYPED_TEST(HingeLossLayerTest, TestGradientGPUL2) { + +TYPED_TEST(HingeLossLayerTest, TestGradientL2GPU) { LayerParameter layer_param; + // Set norm to L2 HingeLossParameter* hinge_loss_param = layer_param.mutable_hinge_loss_param(); hinge_loss_param->set_hinge_norm(HingeLossParameter_Norm_L2); Caffe::set_mode(Caffe::GPU); @@ -94,4 +97,5 @@ TYPED_TEST(HingeLossLayerTest, TestGradientGPUL2) { checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_), 0, -1, -1); } + } // namespace caffe From 7be676cfb743bd2dddb2b070da5bf5c52a9cd8d5 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 18:34:24 -0700 Subject: [PATCH 146/408] Fixed switch and test l2hingeloss Conflicts: src/caffe/layers/loss_layer.cpp src/caffe/test/test_hinge_loss_layer.cpp --- src/caffe/test/test_hinge_loss_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index ec74b03c5d7..64657c88dd7 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -79,7 +79,7 @@ TYPED_TEST(HingeLossLayerTest, TestGradientL2CPU) { Caffe::set_mode(Caffe::CPU); HingeLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 2e-3, 1701, 1, 0.01); + GradientChecker checker(1e-2, 2e-3, 1701); checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_), 0, -1, -1); } @@ -93,7 +93,7 @@ TYPED_TEST(HingeLossLayerTest, TestGradientL2GPU) { Caffe::set_mode(Caffe::GPU); HingeLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 2e-3, 1701, 1, 0.01); + GradientChecker checker(1e-2, 2e-3, 1701); checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_), 0, -1, -1); } From 4094170e85d349c821ce3bf68cf95840ba188745 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 18:35:25 -0700 Subject: [PATCH 147/408] Fix the loss to follow the convention Conflicts: src/caffe/layers/loss_layer.cpp --- src/caffe/layers/loss_layer.cpp | 246 ++++++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index a8e63c443cc..33a221f50d2 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -20,8 +20,254 @@ void LossLayer::SetUp( Layer::SetUp(bottom, top); CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; +<<<<<<< HEAD FurtherSetUp(bottom, top); +======= + CHECK_EQ(bottom[1]->channels(), 1); + CHECK_EQ(bottom[1]->height(), 1); + CHECK_EQ(bottom[1]->width(), 1); +} + +template +Dtype MultinomialLogisticLossLayer::Forward_cpu( + const vector*>& bottom, vector*>* top) { + const Dtype* bottom_data = bottom[0]->cpu_data(); + const Dtype* bottom_label = bottom[1]->cpu_data(); + int num = bottom[0]->num(); + int dim = bottom[0]->count() / bottom[0]->num(); + Dtype loss = 0; + for (int i = 0; i < num; ++i) { + int label = static_cast(bottom_label[i]); + Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); + loss -= log(prob); + } + return loss / num; +} + +template +void MultinomialLogisticLossLayer::Backward_cpu( + const vector*>& top, const bool propagate_down, + vector*>* bottom) { + const Dtype* bottom_data = (*bottom)[0]->cpu_data(); + const Dtype* bottom_label = (*bottom)[1]->cpu_data(); + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + int num = (*bottom)[0]->num(); + int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); + memset(bottom_diff, 0, sizeof(Dtype) * (*bottom)[0]->count()); + for (int i = 0; i < num; ++i) { + int label = static_cast(bottom_label[i]); + Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); + bottom_diff[i * dim + label] = -1. / prob / num; + } +} + + +template +void InfogainLossLayer::SetUp( + const vector*>& bottom, vector*>* top) { + CHECK_EQ(bottom.size(), 2) << "Loss Layer takes two blobs as input."; + CHECK_EQ(top->size(), 0) << "Loss Layer takes no output."; + CHECK_EQ(bottom[0]->num(), bottom[1]->num()) + << "The data and label should have the same number."; + CHECK_EQ(bottom[1]->channels(), 1); + CHECK_EQ(bottom[1]->height(), 1); + CHECK_EQ(bottom[1]->width(), 1); + BlobProto blob_proto; + ReadProtoFromBinaryFile(this->layer_param_.infogain_loss_param().source(), + &blob_proto); + infogain_.FromProto(blob_proto); + CHECK_EQ(infogain_.num(), 1); + CHECK_EQ(infogain_.channels(), 1); + CHECK_EQ(infogain_.height(), infogain_.width()); +} + + +template +Dtype InfogainLossLayer::Forward_cpu(const vector*>& bottom, + vector*>* top) { + const Dtype* bottom_data = bottom[0]->cpu_data(); + const Dtype* bottom_label = bottom[1]->cpu_data(); + const Dtype* infogain_mat = infogain_.cpu_data(); + int num = bottom[0]->num(); + int dim = bottom[0]->count() / bottom[0]->num(); + CHECK_EQ(infogain_.height(), dim); + Dtype loss = 0; + for (int i = 0; i < num; ++i) { + int label = static_cast(bottom_label[i]); + for (int j = 0; j < dim; ++j) { + Dtype prob = max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); + loss -= infogain_mat[label * dim + j] * log(prob); + } + } + return loss / num; +} + +template +void InfogainLossLayer::Backward_cpu(const vector*>& top, + const bool propagate_down, + vector*>* bottom) { + const Dtype* bottom_data = (*bottom)[0]->cpu_data(); + const Dtype* bottom_label = (*bottom)[1]->cpu_data(); + const Dtype* infogain_mat = infogain_.cpu_data(); + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + int num = (*bottom)[0]->num(); + int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); + CHECK_EQ(infogain_.height(), dim); + for (int i = 0; i < num; ++i) { + int label = static_cast(bottom_label[i]); + for (int j = 0; j < dim; ++j) { + Dtype prob = max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); + bottom_diff[i * dim + j] = - infogain_mat[label * dim + j] / prob / num; + } + } +} + + +template +void EuclideanLossLayer::SetUp( + const vector*>& bottom, vector*>* top) { + CHECK_EQ(bottom.size(), 2) << "Loss Layer takes two blobs as input."; + CHECK_EQ(top->size(), 0) << "Loss Layer takes no as output."; + CHECK_EQ(bottom[0]->num(), bottom[1]->num()) + << "The data and label should have the same number."; + CHECK_EQ(bottom[0]->channels(), bottom[1]->channels()); + CHECK_EQ(bottom[0]->height(), bottom[1]->height()); + CHECK_EQ(bottom[0]->width(), bottom[1]->width()); + difference_.Reshape(bottom[0]->num(), bottom[0]->channels(), + bottom[0]->height(), bottom[0]->width()); +} + +template +Dtype EuclideanLossLayer::Forward_cpu(const vector*>& bottom, + vector*>* top) { + int count = bottom[0]->count(); + int num = bottom[0]->num(); + caffe_sub(count, bottom[0]->cpu_data(), bottom[1]->cpu_data(), + difference_.mutable_cpu_data()); + Dtype loss = caffe_cpu_dot( + count, difference_.cpu_data(), difference_.cpu_data()) / num / Dtype(2); + return loss; +} + +template +void EuclideanLossLayer::Backward_cpu(const vector*>& top, + const bool propagate_down, vector*>* bottom) { + int count = (*bottom)[0]->count(); + int num = (*bottom)[0]->num(); + // Compute the gradient + caffe_cpu_axpby(count, Dtype(1) / num, difference_.cpu_data(), Dtype(0), + (*bottom)[0]->mutable_cpu_diff()); +} + +template +void AccuracyLayer::SetUp( + const vector*>& bottom, vector*>* top) { + CHECK_EQ(bottom.size(), 2) << "Accuracy Layer takes two blobs as input."; + CHECK_EQ(top->size(), 1) << "Accuracy Layer takes 1 output."; + CHECK_EQ(bottom[0]->num(), bottom[1]->num()) + << "The data and label should have the same number."; + CHECK_EQ(bottom[1]->channels(), 1); + CHECK_EQ(bottom[1]->height(), 1); + CHECK_EQ(bottom[1]->width(), 1); + (*top)[0]->Reshape(1, 2, 1, 1); +} + +template +Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, + vector*>* top) { + Dtype accuracy = 0; + Dtype logprob = 0; + const Dtype* bottom_data = bottom[0]->cpu_data(); + const Dtype* bottom_label = bottom[1]->cpu_data(); + int num = bottom[0]->num(); + int dim = bottom[0]->count() / bottom[0]->num(); + for (int i = 0; i < num; ++i) { + // Accuracy + Dtype maxval = -FLT_MAX; + int max_id = 0; + for (int j = 0; j < dim; ++j) { + if (bottom_data[i * dim + j] > maxval) { + maxval = bottom_data[i * dim + j]; + max_id = j; + } + } + if (max_id == static_cast(bottom_label[i])) { + ++accuracy; + } + Dtype prob = max(bottom_data[i * dim + static_cast(bottom_label[i])], + Dtype(kLOG_THRESHOLD)); + logprob -= log(prob); + } + // LOG(INFO) << "Accuracy: " << accuracy; + (*top)[0]->mutable_cpu_data()[0] = accuracy / num; + (*top)[0]->mutable_cpu_data()[1] = logprob / num; + // Accuracy layer should not be used as a loss function. + return Dtype(0); +} + +template +void HingeLossLayer::SetUp(const vector*>& bottom, + vector*>* top) { + CHECK_EQ(bottom.size(), 2) << "Hinge Loss Layer takes two blobs as input."; + CHECK_EQ(top->size(), 0) << "Hinge Loss Layer takes no output."; + C_ = this->layer_param_.hinge_loss_param().c_param(); +} + +template +Dtype HingeLossLayer::Forward_cpu(const vector*>& bottom, + vector*>* top) { + const Dtype* bottom_data = bottom[0]->cpu_data(); + Dtype* bottom_diff = bottom[0]->mutable_cpu_diff(); + const Dtype* label = bottom[1]->cpu_data(); + int num = bottom[0]->num(); + int count = bottom[0]->count(); + int dim = count / num; + + caffe_copy(count, bottom_data, bottom_diff); + for (int i = 0; i < num; ++i) { + bottom_diff[i * dim + static_cast(label[i])] *= -1; + } + for (int i = 0; i < num; ++i) { + for (int j = 0; j < dim; ++j) { + bottom_diff[i * dim + j] = max(Dtype(0), 1 + bottom_diff[i * dim + j]); + } + } + switch (this->layer_param_.hinge_loss_param().hinge_norm()) { + case HingeLossParameter_Norm_L1: + return caffe_cpu_asum(count, bottom_diff) / num * C_; + case HingeLossParameter_Norm_L2: + return caffe_cpu_dot(count, bottom_diff, bottom_diff) / num * C_; + default: + LOG(FATAL) << "Unknown hinge_norm"; + } +} + +template +void HingeLossLayer::Backward_cpu(const vector*>& top, + const bool propagate_down, vector*>* bottom) { + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + const Dtype* label = (*bottom)[1]->cpu_data(); + int num = (*bottom)[0]->num(); + int count = (*bottom)[0]->count(); + int dim = count / num; + + for (int i = 0; i < num; ++i) { + bottom_diff[i * dim + static_cast(label[i])] *= -1; + } + + switch (this->layer_param_.hinge_loss_param().hinge_norm()) { + case HingeLossParameter_Norm_L1: + caffe_cpu_sign(count, bottom_diff, bottom_diff); + caffe_scal(count, Dtype(C_ / num), bottom_diff); + break; + case HingeLossParameter_Norm_L2: + caffe_scal(count, Dtype(2 * C_ / num), bottom_diff); + break; + default: + LOG(FATAL) << "Unknown hinge_norm"; + } +>>>>>>> 161e7cb... Fix the loss to follow the convention } INSTANTIATE_CLASS(LossLayer); From 4c711140543dc88eb2e9c3a46eff8bfb77c1aae0 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 18:37:34 -0700 Subject: [PATCH 148/408] Unify L1 and L2 Hinge_Loss to follow convention --- src/caffe/layers/hinge_loss_layer.cpp | 26 ++- src/caffe/layers/loss_layer.cpp | 246 -------------------------- 2 files changed, 22 insertions(+), 250 deletions(-) diff --git a/src/caffe/layers/hinge_loss_layer.cpp b/src/caffe/layers/hinge_loss_layer.cpp index 24329fba028..f0f8521ff16 100644 --- a/src/caffe/layers/hinge_loss_layer.cpp +++ b/src/caffe/layers/hinge_loss_layer.cpp @@ -14,6 +14,7 @@ using std::max; namespace caffe { + template Dtype HingeLossLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { @@ -33,7 +34,14 @@ Dtype HingeLossLayer::Forward_cpu(const vector*>& bottom, bottom_diff[i * dim + j] = max(Dtype(0), 1 + bottom_diff[i * dim + j]); } } - return caffe_cpu_asum(count, bottom_diff) / num; + switch (this->layer_param_.hinge_loss_param().hinge_norm()) { + case HingeLossParameter_Norm_L1: + return caffe_cpu_asum(count, bottom_diff) / num; + case HingeLossParameter_Norm_L2: + return caffe_cpu_dot(count, bottom_diff, bottom_diff) / num; + default: + LOG(FATAL) << "Unknown hinge_norm"; + } } template @@ -44,12 +52,22 @@ void HingeLossLayer::Backward_cpu(const vector*>& top, int num = (*bottom)[0]->num(); int count = (*bottom)[0]->count(); int dim = count / num; - - caffe_cpu_sign(count, bottom_diff, bottom_diff); + for (int i = 0; i < num; ++i) { bottom_diff[i * dim + static_cast(label[i])] *= -1; } - caffe_scal(count, Dtype(1. / num), bottom_diff); + + switch (this->layer_param_.hinge_loss_param().hinge_norm()) { + case HingeLossParameter_Norm_L1: + caffe_cpu_sign(count, bottom_diff, bottom_diff); + caffe_scal(count, Dtype(C_ / num), bottom_diff); + break; + case HingeLossParameter_Norm_L2: + caffe_scal(count, Dtype(2 * C_ / num), bottom_diff); + break; + default: + LOG(FATAL) << "Unknown hinge_norm"; + } } INSTANTIATE_CLASS(HingeLossLayer); diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index 33a221f50d2..a8e63c443cc 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -20,254 +20,8 @@ void LossLayer::SetUp( Layer::SetUp(bottom, top); CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; -<<<<<<< HEAD FurtherSetUp(bottom, top); -======= - CHECK_EQ(bottom[1]->channels(), 1); - CHECK_EQ(bottom[1]->height(), 1); - CHECK_EQ(bottom[1]->width(), 1); -} - -template -Dtype MultinomialLogisticLossLayer::Forward_cpu( - const vector*>& bottom, vector*>* top) { - const Dtype* bottom_data = bottom[0]->cpu_data(); - const Dtype* bottom_label = bottom[1]->cpu_data(); - int num = bottom[0]->num(); - int dim = bottom[0]->count() / bottom[0]->num(); - Dtype loss = 0; - for (int i = 0; i < num; ++i) { - int label = static_cast(bottom_label[i]); - Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); - loss -= log(prob); - } - return loss / num; -} - -template -void MultinomialLogisticLossLayer::Backward_cpu( - const vector*>& top, const bool propagate_down, - vector*>* bottom) { - const Dtype* bottom_data = (*bottom)[0]->cpu_data(); - const Dtype* bottom_label = (*bottom)[1]->cpu_data(); - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - int num = (*bottom)[0]->num(); - int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); - memset(bottom_diff, 0, sizeof(Dtype) * (*bottom)[0]->count()); - for (int i = 0; i < num; ++i) { - int label = static_cast(bottom_label[i]); - Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); - bottom_diff[i * dim + label] = -1. / prob / num; - } -} - - -template -void InfogainLossLayer::SetUp( - const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 2) << "Loss Layer takes two blobs as input."; - CHECK_EQ(top->size(), 0) << "Loss Layer takes no output."; - CHECK_EQ(bottom[0]->num(), bottom[1]->num()) - << "The data and label should have the same number."; - CHECK_EQ(bottom[1]->channels(), 1); - CHECK_EQ(bottom[1]->height(), 1); - CHECK_EQ(bottom[1]->width(), 1); - BlobProto blob_proto; - ReadProtoFromBinaryFile(this->layer_param_.infogain_loss_param().source(), - &blob_proto); - infogain_.FromProto(blob_proto); - CHECK_EQ(infogain_.num(), 1); - CHECK_EQ(infogain_.channels(), 1); - CHECK_EQ(infogain_.height(), infogain_.width()); -} - - -template -Dtype InfogainLossLayer::Forward_cpu(const vector*>& bottom, - vector*>* top) { - const Dtype* bottom_data = bottom[0]->cpu_data(); - const Dtype* bottom_label = bottom[1]->cpu_data(); - const Dtype* infogain_mat = infogain_.cpu_data(); - int num = bottom[0]->num(); - int dim = bottom[0]->count() / bottom[0]->num(); - CHECK_EQ(infogain_.height(), dim); - Dtype loss = 0; - for (int i = 0; i < num; ++i) { - int label = static_cast(bottom_label[i]); - for (int j = 0; j < dim; ++j) { - Dtype prob = max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); - loss -= infogain_mat[label * dim + j] * log(prob); - } - } - return loss / num; -} - -template -void InfogainLossLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, - vector*>* bottom) { - const Dtype* bottom_data = (*bottom)[0]->cpu_data(); - const Dtype* bottom_label = (*bottom)[1]->cpu_data(); - const Dtype* infogain_mat = infogain_.cpu_data(); - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - int num = (*bottom)[0]->num(); - int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); - CHECK_EQ(infogain_.height(), dim); - for (int i = 0; i < num; ++i) { - int label = static_cast(bottom_label[i]); - for (int j = 0; j < dim; ++j) { - Dtype prob = max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); - bottom_diff[i * dim + j] = - infogain_mat[label * dim + j] / prob / num; - } - } -} - - -template -void EuclideanLossLayer::SetUp( - const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 2) << "Loss Layer takes two blobs as input."; - CHECK_EQ(top->size(), 0) << "Loss Layer takes no as output."; - CHECK_EQ(bottom[0]->num(), bottom[1]->num()) - << "The data and label should have the same number."; - CHECK_EQ(bottom[0]->channels(), bottom[1]->channels()); - CHECK_EQ(bottom[0]->height(), bottom[1]->height()); - CHECK_EQ(bottom[0]->width(), bottom[1]->width()); - difference_.Reshape(bottom[0]->num(), bottom[0]->channels(), - bottom[0]->height(), bottom[0]->width()); -} - -template -Dtype EuclideanLossLayer::Forward_cpu(const vector*>& bottom, - vector*>* top) { - int count = bottom[0]->count(); - int num = bottom[0]->num(); - caffe_sub(count, bottom[0]->cpu_data(), bottom[1]->cpu_data(), - difference_.mutable_cpu_data()); - Dtype loss = caffe_cpu_dot( - count, difference_.cpu_data(), difference_.cpu_data()) / num / Dtype(2); - return loss; -} - -template -void EuclideanLossLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - int count = (*bottom)[0]->count(); - int num = (*bottom)[0]->num(); - // Compute the gradient - caffe_cpu_axpby(count, Dtype(1) / num, difference_.cpu_data(), Dtype(0), - (*bottom)[0]->mutable_cpu_diff()); -} - -template -void AccuracyLayer::SetUp( - const vector*>& bottom, vector*>* top) { - CHECK_EQ(bottom.size(), 2) << "Accuracy Layer takes two blobs as input."; - CHECK_EQ(top->size(), 1) << "Accuracy Layer takes 1 output."; - CHECK_EQ(bottom[0]->num(), bottom[1]->num()) - << "The data and label should have the same number."; - CHECK_EQ(bottom[1]->channels(), 1); - CHECK_EQ(bottom[1]->height(), 1); - CHECK_EQ(bottom[1]->width(), 1); - (*top)[0]->Reshape(1, 2, 1, 1); -} - -template -Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, - vector*>* top) { - Dtype accuracy = 0; - Dtype logprob = 0; - const Dtype* bottom_data = bottom[0]->cpu_data(); - const Dtype* bottom_label = bottom[1]->cpu_data(); - int num = bottom[0]->num(); - int dim = bottom[0]->count() / bottom[0]->num(); - for (int i = 0; i < num; ++i) { - // Accuracy - Dtype maxval = -FLT_MAX; - int max_id = 0; - for (int j = 0; j < dim; ++j) { - if (bottom_data[i * dim + j] > maxval) { - maxval = bottom_data[i * dim + j]; - max_id = j; - } - } - if (max_id == static_cast(bottom_label[i])) { - ++accuracy; - } - Dtype prob = max(bottom_data[i * dim + static_cast(bottom_label[i])], - Dtype(kLOG_THRESHOLD)); - logprob -= log(prob); - } - // LOG(INFO) << "Accuracy: " << accuracy; - (*top)[0]->mutable_cpu_data()[0] = accuracy / num; - (*top)[0]->mutable_cpu_data()[1] = logprob / num; - // Accuracy layer should not be used as a loss function. - return Dtype(0); -} - -template -void HingeLossLayer::SetUp(const vector*>& bottom, - vector*>* top) { - CHECK_EQ(bottom.size(), 2) << "Hinge Loss Layer takes two blobs as input."; - CHECK_EQ(top->size(), 0) << "Hinge Loss Layer takes no output."; - C_ = this->layer_param_.hinge_loss_param().c_param(); -} - -template -Dtype HingeLossLayer::Forward_cpu(const vector*>& bottom, - vector*>* top) { - const Dtype* bottom_data = bottom[0]->cpu_data(); - Dtype* bottom_diff = bottom[0]->mutable_cpu_diff(); - const Dtype* label = bottom[1]->cpu_data(); - int num = bottom[0]->num(); - int count = bottom[0]->count(); - int dim = count / num; - - caffe_copy(count, bottom_data, bottom_diff); - for (int i = 0; i < num; ++i) { - bottom_diff[i * dim + static_cast(label[i])] *= -1; - } - for (int i = 0; i < num; ++i) { - for (int j = 0; j < dim; ++j) { - bottom_diff[i * dim + j] = max(Dtype(0), 1 + bottom_diff[i * dim + j]); - } - } - switch (this->layer_param_.hinge_loss_param().hinge_norm()) { - case HingeLossParameter_Norm_L1: - return caffe_cpu_asum(count, bottom_diff) / num * C_; - case HingeLossParameter_Norm_L2: - return caffe_cpu_dot(count, bottom_diff, bottom_diff) / num * C_; - default: - LOG(FATAL) << "Unknown hinge_norm"; - } -} - -template -void HingeLossLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - const Dtype* label = (*bottom)[1]->cpu_data(); - int num = (*bottom)[0]->num(); - int count = (*bottom)[0]->count(); - int dim = count / num; - - for (int i = 0; i < num; ++i) { - bottom_diff[i * dim + static_cast(label[i])] *= -1; - } - - switch (this->layer_param_.hinge_loss_param().hinge_norm()) { - case HingeLossParameter_Norm_L1: - caffe_cpu_sign(count, bottom_diff, bottom_diff); - caffe_scal(count, Dtype(C_ / num), bottom_diff); - break; - case HingeLossParameter_Norm_L2: - caffe_scal(count, Dtype(2 * C_ / num), bottom_diff); - break; - default: - LOG(FATAL) << "Unknown hinge_norm"; - } ->>>>>>> 161e7cb... Fix the loss to follow the convention } INSTANTIATE_CLASS(LossLayer); From 8d4dacf6d9b5151937927eea34f96ebc6912eb31 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 19:55:59 -0700 Subject: [PATCH 149/408] Now AccuracyLayer only computes accuracy, one should use LossLayers to compute loss Changed all val.prototxt in examples to add a LossLayer to compute loss in Test --- examples/cifar10/cifar10_full_test.prototxt | 15 +++++----- examples/cifar10/cifar10_quick_test.prototxt | 15 +++++----- .../feature_extraction/imagenet_val.prototxt | 7 +++++ examples/imagenet/alexnet_val.prototxt | 15 +++++----- examples/imagenet/imagenet_val.prototxt | 15 +++++----- .../mnist/lenet_consolidated_solver.prototxt | 30 ++++++++++--------- examples/mnist/lenet_test.prototxt | 15 +++++----- .../mnist/mnist_autoencoder_test.prototxt | 1 + .../pascal_finetune_val.prototxt | 16 +++++----- include/caffe/loss_layers.hpp | 5 +++- src/caffe/layers/accuracy_layer.cpp | 8 ++--- 11 files changed, 79 insertions(+), 63 deletions(-) diff --git a/examples/cifar10/cifar10_full_test.prototxt b/examples/cifar10/cifar10_full_test.prototxt index 0e1957a9045..1f77b4f0348 100644 --- a/examples/cifar10/cifar10_full_test.prototxt +++ b/examples/cifar10/cifar10_full_test.prototxt @@ -166,16 +166,17 @@ layers { } } } -layers { - name: "prob" - type: SOFTMAX - bottom: "ip1" - top: "prob" -} layers { name: "accuracy" type: ACCURACY - bottom: "prob" + bottom: "ip1" bottom: "label" top: "accuracy" } +layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "ip1" + bottom: "label" + top: "loss" +} diff --git a/examples/cifar10/cifar10_quick_test.prototxt b/examples/cifar10/cifar10_quick_test.prototxt index a154b9a0ea7..aa82c32aa24 100644 --- a/examples/cifar10/cifar10_quick_test.prototxt +++ b/examples/cifar10/cifar10_quick_test.prototxt @@ -160,16 +160,17 @@ layers { } } } -layers { - name: "prob" - type: SOFTMAX - bottom: "ip2" - top: "prob" -} layers { name: "accuracy" type: ACCURACY - bottom: "prob" + bottom: "ip2" bottom: "label" top: "accuracy" } +layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "ip2" + bottom: "label" + top: "loss" +} diff --git a/examples/feature_extraction/imagenet_val.prototxt b/examples/feature_extraction/imagenet_val.prototxt index 14bfe770ef8..b0451a1a114 100644 --- a/examples/feature_extraction/imagenet_val.prototxt +++ b/examples/feature_extraction/imagenet_val.prototxt @@ -227,3 +227,10 @@ layers { bottom: "label" top: "accuracy" } +layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "fc8" + bottom: "label" + top: "loss" +} diff --git a/examples/imagenet/alexnet_val.prototxt b/examples/imagenet/alexnet_val.prototxt index 3fd6296ef9d..1d8d86b78ff 100644 --- a/examples/imagenet/alexnet_val.prototxt +++ b/examples/imagenet/alexnet_val.prototxt @@ -213,15 +213,16 @@ layers { top: "fc8" } layers { - name: "prob" - type: SOFTMAX + name: "accuracy" + type: ACCURACY bottom: "fc8" - top: "prob" + bottom: "label" + top: "accuracy" } layers { - top: "accuracy" - name: "accuracy" - type: ACCURACY - bottom: "prob" + name: "loss" + type: SOFTMAX_LOSS + bottom: "fc8" bottom: "label" + top: "loss" } diff --git a/examples/imagenet/imagenet_val.prototxt b/examples/imagenet/imagenet_val.prototxt index dd26f40ea14..8be5150cdd2 100644 --- a/examples/imagenet/imagenet_val.prototxt +++ b/examples/imagenet/imagenet_val.prototxt @@ -212,16 +212,17 @@ layers { num_output: 1000 } } -layers { - name: "prob" - type: SOFTMAX - bottom: "fc8" - top: "prob" -} layers { name: "accuracy" type: ACCURACY - bottom: "prob" + bottom: "fc8" bottom: "label" top: "accuracy" } +layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "fc8" + bottom: "label" + top: "loss" +} \ No newline at end of file diff --git a/examples/mnist/lenet_consolidated_solver.prototxt b/examples/mnist/lenet_consolidated_solver.prototxt index 07cbc211414..ef851e0f656 100644 --- a/examples/mnist/lenet_consolidated_solver.prototxt +++ b/examples/mnist/lenet_consolidated_solver.prototxt @@ -262,19 +262,20 @@ test_net_param { } } } - layers { - name: "prob" - type: SOFTMAX - bottom: "ip2" - top: "prob" - } layers { name: "accuracy" type: ACCURACY - bottom: "prob" + bottom: "ip2" bottom: "label" top: "accuracy" } + layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "ip2" + bottom: "label" + top: "loss" + } } # The train set has 60K images, so we run 600 test iters (600 * 100 = 60K). @@ -385,19 +386,20 @@ test_net_param { } } } - layers { - name: "prob" - type: SOFTMAX - bottom: "ip2" - top: "prob" - } layers { name: "accuracy" type: ACCURACY - bottom: "prob" + bottom: "ip2" bottom: "label" top: "accuracy" } + layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "ip2" + bottom: "label" + top: "loss" + } } # Expected results for first and last 500 iterations: diff --git a/examples/mnist/lenet_test.prototxt b/examples/mnist/lenet_test.prototxt index 3b59b75513d..2497f02ae86 100644 --- a/examples/mnist/lenet_test.prototxt +++ b/examples/mnist/lenet_test.prototxt @@ -102,16 +102,17 @@ layers { } } } -layers { - name: "prob" - type: SOFTMAX - bottom: "ip2" - top: "prob" -} layers { name: "accuracy" type: ACCURACY - bottom: "prob" + bottom: "ip2" bottom: "label" top: "accuracy" } +layers { + name: "loss" + type: SOFTMAX_LOSS + bottom: "ip2" + bottom: "label" + top: "loss" +} diff --git a/examples/mnist/mnist_autoencoder_test.prototxt b/examples/mnist/mnist_autoencoder_test.prototxt index 5090e82fe0a..b52364c17fc 100644 --- a/examples/mnist/mnist_autoencoder_test.prototxt +++ b/examples/mnist/mnist_autoencoder_test.prototxt @@ -142,4 +142,5 @@ layers { bottom: "flatdata" name: "loss" type: EUCLIDEAN_LOSS + top: "loss" } diff --git a/examples/pascal-finetuning/pascal_finetune_val.prototxt b/examples/pascal-finetuning/pascal_finetune_val.prototxt index ff898fe7376..91ded585d85 100644 --- a/examples/pascal-finetuning/pascal_finetune_val.prototxt +++ b/examples/pascal-finetuning/pascal_finetune_val.prototxt @@ -313,16 +313,18 @@ layers { } } } -layers { - name: "prob" - type: SOFTMAX - bottom: "fc8_pascal" - top: "prob" -} layers { name: "accuracy" type: ACCURACY - bottom: "prob" + bottom: "fc8_pascal" bottom: "label" top: "accuracy" } +layers { + name: "prob" + type: SOFTMAX_LOSS + bottom: "fc8_pascal" + bottom: "label" + top: "loss" +} + diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index dd06ca07187..2f98a1246be 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -166,7 +166,7 @@ class MultinomialLogisticLossLayer : public LossLayer { /* AccuracyLayer Note: not an actual loss layer! Does not implement backwards step. - Computes the accuracy of a with respect to b. + Computes the accuracy of argmax(a) with respect to b. */ template class AccuracyLayer : public Layer { @@ -180,6 +180,9 @@ class AccuracyLayer : public Layer { return LayerParameter_LayerType_ACCURACY; } + virtual inline int ExactNumBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 1; } + protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index fbc943eaf2d..899750f869a 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -23,14 +23,13 @@ void AccuracyLayer::SetUp( CHECK_EQ(bottom[1]->channels(), 1); CHECK_EQ(bottom[1]->height(), 1); CHECK_EQ(bottom[1]->width(), 1); - (*top)[0]->Reshape(1, 2, 1, 1); + (*top)[0]->Reshape(1, 1, 1, 1); } template Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { Dtype accuracy = 0; - Dtype logprob = 0; const Dtype* bottom_data = bottom[0]->cpu_data(); const Dtype* bottom_label = bottom[1]->cpu_data(); int num = bottom[0]->num(); @@ -48,13 +47,10 @@ Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, if (max_id == static_cast(bottom_label[i])) { ++accuracy; } - Dtype prob = max(bottom_data[i * dim + static_cast(bottom_label[i])], - Dtype(kLOG_THRESHOLD)); - logprob -= log(prob); } // LOG(INFO) << "Accuracy: " << accuracy; (*top)[0]->mutable_cpu_data()[0] = accuracy / num; - (*top)[0]->mutable_cpu_data()[1] = logprob / num; + // Accuracy layer should not be used as a loss function. return Dtype(0); } From 909fb3924098874a5c68bea4aac7cc1fffe3d220 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 20:22:34 -0700 Subject: [PATCH 150/408] Remove C_ mentions, extra spaces and change hinge_norm to norm --- src/caffe/layers/hinge_loss_layer.cpp | 15 +++++++-------- src/caffe/layers/loss_layer.cpp | 1 - src/caffe/proto/caffe.proto | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/caffe/layers/hinge_loss_layer.cpp b/src/caffe/layers/hinge_loss_layer.cpp index f0f8521ff16..e47d3c90114 100644 --- a/src/caffe/layers/hinge_loss_layer.cpp +++ b/src/caffe/layers/hinge_loss_layer.cpp @@ -14,7 +14,6 @@ using std::max; namespace caffe { - template Dtype HingeLossLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { @@ -34,13 +33,13 @@ Dtype HingeLossLayer::Forward_cpu(const vector*>& bottom, bottom_diff[i * dim + j] = max(Dtype(0), 1 + bottom_diff[i * dim + j]); } } - switch (this->layer_param_.hinge_loss_param().hinge_norm()) { + switch (this->layer_param_.hinge_loss_param().norm()) { case HingeLossParameter_Norm_L1: return caffe_cpu_asum(count, bottom_diff) / num; case HingeLossParameter_Norm_L2: return caffe_cpu_dot(count, bottom_diff, bottom_diff) / num; default: - LOG(FATAL) << "Unknown hinge_norm"; + LOG(FATAL) << "Unknown Norm"; } } @@ -52,21 +51,21 @@ void HingeLossLayer::Backward_cpu(const vector*>& top, int num = (*bottom)[0]->num(); int count = (*bottom)[0]->count(); int dim = count / num; - + for (int i = 0; i < num; ++i) { bottom_diff[i * dim + static_cast(label[i])] *= -1; } - switch (this->layer_param_.hinge_loss_param().hinge_norm()) { + switch (this->layer_param_.hinge_loss_param().norm()) { case HingeLossParameter_Norm_L1: caffe_cpu_sign(count, bottom_diff, bottom_diff); - caffe_scal(count, Dtype(C_ / num), bottom_diff); + caffe_scal(count, Dtype(1. / num), bottom_diff); break; case HingeLossParameter_Norm_L2: - caffe_scal(count, Dtype(2 * C_ / num), bottom_diff); + caffe_scal(count, Dtype(2. / num), bottom_diff); break; default: - LOG(FATAL) << "Unknown hinge_norm"; + LOG(FATAL) << "Unknown Norm"; } } diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index a8e63c443cc..14ea975ad0d 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -21,7 +21,6 @@ void LossLayer::SetUp( CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; FurtherSetUp(bottom, top); - } INSTANTIATE_CLASS(LossLayer); diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index b15172fa1ef..954f1033e97 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -312,7 +312,7 @@ message HingeLossParameter { L2 = 2; } // Specify the Norm to use L1 or L2 - optional Norm hinge_norm = 1 [default = L1]; + optional Norm norm = 1 [default = L1]; } // Message that stores parameters used by ImageDataLayer From 60ff8bacdde3ac37c2942efd307aa644425add1e Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 20 Jun 2014 20:26:51 -0700 Subject: [PATCH 151/408] Change hinge_norm to norm in test_hinge_loss --- src/caffe/test/test_hinge_loss_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index 64657c88dd7..2e8db475914 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -75,7 +75,7 @@ TYPED_TEST(HingeLossLayerTest, TestGradientL2CPU) { LayerParameter layer_param; // Set norm to L2 HingeLossParameter* hinge_loss_param = layer_param.mutable_hinge_loss_param(); - hinge_loss_param->set_hinge_norm(HingeLossParameter_Norm_L2); + hinge_loss_param->set_norm(HingeLossParameter_Norm_L2); Caffe::set_mode(Caffe::CPU); HingeLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); @@ -89,7 +89,7 @@ TYPED_TEST(HingeLossLayerTest, TestGradientL2GPU) { LayerParameter layer_param; // Set norm to L2 HingeLossParameter* hinge_loss_param = layer_param.mutable_hinge_loss_param(); - hinge_loss_param->set_hinge_norm(HingeLossParameter_Norm_L2); + hinge_loss_param->set_norm(HingeLossParameter_Norm_L2); Caffe::set_mode(Caffe::GPU); HingeLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); From 8042be6966653b3290d3c763c53727384e93d723 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Sat, 21 Jun 2014 14:08:15 -0700 Subject: [PATCH 152/408] fix whitespace error in HingeLossLayer --- src/caffe/layers/hinge_loss_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/layers/hinge_loss_layer.cpp b/src/caffe/layers/hinge_loss_layer.cpp index e47d3c90114..fd00d8c6930 100644 --- a/src/caffe/layers/hinge_loss_layer.cpp +++ b/src/caffe/layers/hinge_loss_layer.cpp @@ -66,7 +66,7 @@ void HingeLossLayer::Backward_cpu(const vector*>& top, break; default: LOG(FATAL) << "Unknown Norm"; - } + } } INSTANTIATE_CLASS(HingeLossLayer); From bddd10ae03ae63cea6651463520ba8a4b89f3dad Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Sat, 21 Jun 2014 14:08:30 -0700 Subject: [PATCH 153/408] explicitly name L1 hinge test --- src/caffe/test/test_hinge_loss_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index 2e8db475914..318030b67a3 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -50,7 +50,7 @@ typedef ::testing::Types Dtypes; TYPED_TEST_CASE(HingeLossLayerTest, Dtypes); -TYPED_TEST(HingeLossLayerTest, TestGradientCPU) { +TYPED_TEST(HingeLossLayerTest, TestGradientL1CPU) { LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); HingeLossLayer layer(layer_param); @@ -60,7 +60,7 @@ TYPED_TEST(HingeLossLayerTest, TestGradientCPU) { &(this->blob_top_vec_), 0, -1, -1); } -TYPED_TEST(HingeLossLayerTest, TestGradientGPU) { +TYPED_TEST(HingeLossLayerTest, TestGradientL1GPU) { LayerParameter layer_param; Caffe::set_mode(Caffe::GPU); HingeLossLayer layer(layer_param); From 93049bd7d5e788ca95ee36c4630ba96b7f6a840b Mon Sep 17 00:00:00 2001 From: Craig Quiter Date: Sat, 21 Jun 2014 15:22:05 -0700 Subject: [PATCH 154/408] There are 256 filters in conv2. AlexNet paper splits conv2 into two GPU's, each with 128 filters. Reference paper: http://www.cs.toronto.edu/~fritz/absps/imagenet.pdf Applying #528 to dev instead of master per @Yangqing. --- examples/filter_visualization.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/filter_visualization.ipynb b/examples/filter_visualization.ipynb index 6f494821028..130df97074a 100644 --- a/examples/filter_visualization.ipynb +++ b/examples/filter_visualization.ipynb @@ -298,7 +298,7 @@ "source": [ "The second layer filters, `conv2`\n", "\n", - "There are 128 filters, each of which has dimension 5 x 5 x 48. We show only the first 48 filters, with each channel shown separately, so that each filter is a row." + "There are 256 filters, each of which has dimension 5 x 5 x 48. We show only the first 48 filters, with each channel shown separately, so that each filter is a row." ] }, { @@ -611,4 +611,4 @@ "metadata": {} } ] -} \ No newline at end of file +} From da0f89bbd495c604f63744374165cdc9f3cbba9f Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 17 Jun 2014 14:53:00 +0800 Subject: [PATCH 155/408] Extract multiple features in a single Forward pass --- tools/extract_features.cpp | 123 +++++++++++++++++++++++-------------- 1 file changed, 76 insertions(+), 47 deletions(-) diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index cdad6676d7f..99eb0dbce26 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include @@ -32,9 +33,14 @@ int feature_extraction_pipeline(int argc, char** argv) { LOG(ERROR)<< "This program takes in a trained network and an input data layer, and then" " extract features of the input data produced by the net.\n" - "Usage: demo_extract_features pretrained_net_param" - " feature_extraction_proto_file extract_feature_blob_name" - " save_feature_leveldb_name num_mini_batches [CPU/GPU] [DEVICE_ID=0]"; + "Usage: extract_features pretrained_net_param" + " feature_extraction_proto_file extract_feature_blob_name1[,name2,...]" + " save_feature_leveldb_name1[,name2,...] num_mini_batches [CPU/GPU]" + " [DEVICE_ID=0]\n" + "Note: you can extract multiple features in one pass by specifying" + " multiple feature blob names and leveldb names seperated by ','." + " The names cannot contain white space characters and the number of blobs" + " and leveldbs must be equal."; return 1; } int arg_pos = num_required_args; @@ -91,29 +97,46 @@ int feature_extraction_pipeline(int argc, char** argv) { new Net(feature_extraction_proto)); feature_extraction_net->CopyTrainedLayersFrom(pretrained_binary_proto); - string extract_feature_blob_name(argv[++arg_pos]); - CHECK(feature_extraction_net->has_blob(extract_feature_blob_name)) - << "Unknown feature blob name " << extract_feature_blob_name - << " in the network " << feature_extraction_proto; + string extract_feature_blob_names(argv[++arg_pos]); + vector blob_names; + boost::split(blob_names, extract_feature_blob_names, boost::is_any_of(",")); + + string save_feature_leveldb_names(argv[++arg_pos]); + vector leveldb_names; + boost::split(leveldb_names, save_feature_leveldb_names, + boost::is_any_of(",")); + CHECK_EQ(blob_names.size(), leveldb_names.size()) << + " the number of blob names and leveldb names must be equal"; + size_t num_features = blob_names.size(); + + for (size_t i = 0; i < num_features; i++) { + CHECK(feature_extraction_net->has_blob(blob_names[i])) + << "Unknown feature blob name " << blob_names[i] + << " in the network " << feature_extraction_proto; + } - string save_feature_leveldb_name(argv[++arg_pos]); - leveldb::DB* db; leveldb::Options options; options.error_if_exists = true; options.create_if_missing = true; options.write_buffer_size = 268435456; - LOG(INFO)<< "Opening leveldb " << save_feature_leveldb_name; - leveldb::Status status = leveldb::DB::Open(options, - save_feature_leveldb_name.c_str(), - &db); - CHECK(status.ok()) << "Failed to open leveldb " << save_feature_leveldb_name; + vector feature_dbs; + for (size_t i = 0; i < num_features; ++i) { + LOG(INFO)<< "Opening leveldb " << leveldb_names[i]; + leveldb::DB* db; + leveldb::Status status = leveldb::DB::Open(options, + leveldb_names[i].c_str(), + &db); + CHECK(status.ok()) << "Failed to open leveldb " << leveldb_names[i]; + feature_dbs.push_back(db); + } int num_mini_batches = atoi(argv[++arg_pos]); LOG(ERROR)<< "Extacting Features"; Datum datum; - leveldb::WriteBatch* batch = new leveldb::WriteBatch(); + vector feature_batches( + num_features, new leveldb::WriteBatch()); const int kMaxKeyStrLength = 100; char key_str[kMaxKeyStrLength]; int num_bytes_of_binary_code = sizeof(Dtype); @@ -121,45 +144,51 @@ int feature_extraction_pipeline(int argc, char** argv) { int image_index = 0; for (int batch_index = 0; batch_index < num_mini_batches; ++batch_index) { feature_extraction_net->Forward(input_vec); - const shared_ptr > feature_blob = feature_extraction_net - ->blob_by_name(extract_feature_blob_name); - int num_features = feature_blob->num(); - int dim_features = feature_blob->count() / num_features; - Dtype* feature_blob_data; - for (int n = 0; n < num_features; ++n) { - datum.set_height(dim_features); - datum.set_width(1); - datum.set_channels(1); - datum.clear_data(); - datum.clear_float_data(); - feature_blob_data = feature_blob->mutable_cpu_data() + - feature_blob->offset(n); - for (int d = 0; d < dim_features; ++d) { - datum.add_float_data(feature_blob_data[d]); - } - string value; - datum.SerializeToString(&value); - snprintf(key_str, kMaxKeyStrLength, "%d", image_index); - batch->Put(string(key_str), value); - ++image_index; - if (image_index % 1000 == 0) { - db->Write(leveldb::WriteOptions(), batch); - LOG(ERROR)<< "Extracted features of " << image_index << - " query images."; - delete batch; - batch = new leveldb::WriteBatch(); - } - } // for (int n = 0; n < num_features; ++n) + for (int i = 0; i < num_features; ++i) { + const shared_ptr > feature_blob = feature_extraction_net + ->blob_by_name(blob_names[i]); + int batch_size = feature_blob->num(); + int dim_features = feature_blob->count() / batch_size; + Dtype* feature_blob_data; + for (int n = 0; n < batch_size; ++n) { + datum.set_height(dim_features); + datum.set_width(1); + datum.set_channels(1); + datum.clear_data(); + datum.clear_float_data(); + feature_blob_data = feature_blob->mutable_cpu_data() + + feature_blob->offset(n); + for (int d = 0; d < dim_features; ++d) { + datum.add_float_data(feature_blob_data[d]); + } + string value; + datum.SerializeToString(&value); + snprintf(key_str, kMaxKeyStrLength, "%d", image_index); + feature_batches[i]->Put(string(key_str), value); + ++image_index; + if (image_index % 1000 == 0) { + feature_dbs[i]->Write(leveldb::WriteOptions(), feature_batches[i]); + LOG(ERROR)<< "Extracted features of " << image_index << + " query images."; + delete feature_batches[i]; + feature_batches[i] = new leveldb::WriteBatch(); + } + } // for (int n = 0; n < batch_size; ++n) + } // for (int i = 0; i < num_features; ++i) } // for (int batch_index = 0; batch_index < num_mini_batches; ++batch_index) // write the last batch if (image_index % 1000 != 0) { - db->Write(leveldb::WriteOptions(), batch); + for (int i = 0; i < num_features; ++i) { + feature_dbs[i]->Write(leveldb::WriteOptions(), feature_batches[i]); + } LOG(ERROR)<< "Extracted features of " << image_index << " query images."; } - delete batch; - delete db; + for (int i = 0; i < num_features; ++i) { + delete feature_batches[i]; + delete feature_dbs[i]; + } LOG(ERROR)<< "Successfully extracted the features!"; return 0; } From 4415f8c0453cd272fb2439711f74efd3f88aab1d Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 17 Jun 2014 16:27:24 +0800 Subject: [PATCH 156/408] Progress should be reported for each feature blob --- tools/extract_features.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index 99eb0dbce26..aa665a00084 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -141,7 +141,7 @@ int feature_extraction_pipeline(int argc, char** argv) { char key_str[kMaxKeyStrLength]; int num_bytes_of_binary_code = sizeof(Dtype); vector*> input_vec; - int image_index = 0; + vector image_indices(num_features, 0); for (int batch_index = 0; batch_index < num_mini_batches; ++batch_index) { feature_extraction_net->Forward(input_vec); for (int i = 0; i < num_features; ++i) { @@ -163,13 +163,13 @@ int feature_extraction_pipeline(int argc, char** argv) { } string value; datum.SerializeToString(&value); - snprintf(key_str, kMaxKeyStrLength, "%d", image_index); + snprintf(key_str, kMaxKeyStrLength, "%d", image_indices[i]); feature_batches[i]->Put(string(key_str), value); - ++image_index; - if (image_index % 1000 == 0) { + ++image_indices[i]; + if (image_indices[i] % 1000 == 0) { feature_dbs[i]->Write(leveldb::WriteOptions(), feature_batches[i]); - LOG(ERROR)<< "Extracted features of " << image_index << - " query images."; + LOG(ERROR)<< "Extracted features of " << image_indices[i] << + " query images for feature blob " << blob_names[i]; delete feature_batches[i]; feature_batches[i] = new leveldb::WriteBatch(); } @@ -177,12 +177,12 @@ int feature_extraction_pipeline(int argc, char** argv) { } // for (int i = 0; i < num_features; ++i) } // for (int batch_index = 0; batch_index < num_mini_batches; ++batch_index) // write the last batch - if (image_index % 1000 != 0) { - for (int i = 0; i < num_features; ++i) { + for (int i = 0; i < num_features; ++i) { + if (image_indices[i] % 1000 != 0) { feature_dbs[i]->Write(leveldb::WriteOptions(), feature_batches[i]); } - LOG(ERROR)<< "Extracted features of " << image_index << - " query images."; + LOG(ERROR)<< "Extracted features of " << image_indices[i] << + " query images for feature blob " << blob_names[i]; } for (int i = 0; i < num_features; ++i) { From 738be6fdfc5faec5fc111e040c2436628d1b9989 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 17 Jun 2014 16:56:30 +0800 Subject: [PATCH 157/408] No need to manually delete the pointers which are managed by std::vector --- tools/extract_features.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index aa665a00084..66d4be1eaf1 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -185,10 +185,6 @@ int feature_extraction_pipeline(int argc, char** argv) { " query images for feature blob " << blob_names[i]; } - for (int i = 0; i < num_features; ++i) { - delete feature_batches[i]; - delete feature_dbs[i]; - } LOG(ERROR)<< "Successfully extracted the features!"; return 0; } From 4a276b03fa94bd040a3596e77e34ae0468665a10 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Fri, 20 Jun 2014 10:14:19 +0800 Subject: [PATCH 158/408] Replace the raw pointers with shared_ptr to ensure memory is released --- tools/extract_features.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index 66d4be1eaf1..1bff7ca4f1d 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -119,7 +119,7 @@ int feature_extraction_pipeline(int argc, char** argv) { options.error_if_exists = true; options.create_if_missing = true; options.write_buffer_size = 268435456; - vector feature_dbs; + vector > feature_dbs; for (size_t i = 0; i < num_features; ++i) { LOG(INFO)<< "Opening leveldb " << leveldb_names[i]; leveldb::DB* db; @@ -127,7 +127,7 @@ int feature_extraction_pipeline(int argc, char** argv) { leveldb_names[i].c_str(), &db); CHECK(status.ok()) << "Failed to open leveldb " << leveldb_names[i]; - feature_dbs.push_back(db); + feature_dbs.push_back(shared_ptr(db)); } int num_mini_batches = atoi(argv[++arg_pos]); @@ -135,8 +135,9 @@ int feature_extraction_pipeline(int argc, char** argv) { LOG(ERROR)<< "Extacting Features"; Datum datum; - vector feature_batches( - num_features, new leveldb::WriteBatch()); + vector > feature_batches( + num_features, + shared_ptr(new leveldb::WriteBatch())); const int kMaxKeyStrLength = 100; char key_str[kMaxKeyStrLength]; int num_bytes_of_binary_code = sizeof(Dtype); @@ -167,11 +168,11 @@ int feature_extraction_pipeline(int argc, char** argv) { feature_batches[i]->Put(string(key_str), value); ++image_indices[i]; if (image_indices[i] % 1000 == 0) { - feature_dbs[i]->Write(leveldb::WriteOptions(), feature_batches[i]); + feature_dbs[i]->Write(leveldb::WriteOptions(), + feature_batches[i].get()); LOG(ERROR)<< "Extracted features of " << image_indices[i] << " query images for feature blob " << blob_names[i]; - delete feature_batches[i]; - feature_batches[i] = new leveldb::WriteBatch(); + feature_batches[i].reset(new leveldb::WriteBatch()); } } // for (int n = 0; n < batch_size; ++n) } // for (int i = 0; i < num_features; ++i) @@ -179,7 +180,7 @@ int feature_extraction_pipeline(int argc, char** argv) { // write the last batch for (int i = 0; i < num_features; ++i) { if (image_indices[i] % 1000 != 0) { - feature_dbs[i]->Write(leveldb::WriteOptions(), feature_batches[i]); + feature_dbs[i]->Write(leveldb::WriteOptions(), feature_batches[i].get()); } LOG(ERROR)<< "Extracted features of " << image_indices[i] << " query images for feature blob " << blob_names[i]; From dda092c84e35943ced8be41fd545aea4ab3c6409 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 24 Jun 2014 22:14:54 +0800 Subject: [PATCH 159/408] Init google logging --- tools/extract_features.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index 1bff7ca4f1d..becc1f86d47 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -28,6 +28,7 @@ int main(int argc, char** argv) { template int feature_extraction_pipeline(int argc, char** argv) { + ::google::InitGoogleLogging(argv[0]); const int num_required_args = 6; if (argc < num_required_args) { LOG(ERROR)<< From adab413fc65f760f9bc2097f379c2703e3641de4 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 25 Jun 2014 11:01:10 +0800 Subject: [PATCH 160/408] fix SOFTMAX_LOSS to work with loss top blob interface --- include/caffe/vision_layers.hpp | 2 +- src/caffe/layers/softmax_loss_layer.cpp | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index fc3dbbe1938..b7e1068c7d3 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -425,7 +425,7 @@ class SoftmaxWithLossLayer : public Layer { return LayerParameter_LayerType_SOFTMAX_LOSS; } virtual inline int ExactNumBottomBlobs() const { return 2; } - virtual inline int ExactNumTopBlobs() const { return 0; } + virtual inline int MaxTopBlobs() const { return 2; } protected: virtual Dtype Forward_cpu(const vector*>& bottom, diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index 8a37efee395..bdb3272ee25 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -20,6 +20,15 @@ void SoftmaxWithLossLayer::SetUp(const vector*>& bottom, softmax_bottom_vec_.push_back(bottom[0]); softmax_top_vec_.push_back(&prob_); softmax_layer_->SetUp(softmax_bottom_vec_, &softmax_top_vec_); + if (top->size() >= 1) { + // softmax loss (averaged across batch) + (*top)[0]->Reshape(1, 1, 1, 1); + } + if (top->size() == 2) { + // softmax output + (*top)[1]->Reshape(bottom[0]->num(), bottom[0]->channels(), + bottom[0]->height(), bottom[0]->width()); + } } template @@ -37,9 +46,12 @@ Dtype SoftmaxWithLossLayer::Forward_cpu( loss += -log(max(prob_data[i * dim + static_cast(label[i])], Dtype(FLT_MIN))); } - if (top->size() == 1) { + if (top->size() >= 1) { (*top)[0]->mutable_cpu_data()[0] = loss / num; } + if (top->size() == 2) { + (*top)[1]->ShareData(prob_); + } return loss / num; } From ba09a9c3484096827c9f966beebdd9ef34764f8f Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Mon, 26 May 2014 02:02:42 -0700 Subject: [PATCH 161/408] actually check status values from all HDF5 calls --- src/caffe/layers/hdf5_data_layer.cpp | 1 + src/caffe/util/io.cpp | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/src/caffe/layers/hdf5_data_layer.cpp b/src/caffe/layers/hdf5_data_layer.cpp index d5c64f05696..50863b8d93a 100644 --- a/src/caffe/layers/hdf5_data_layer.cpp +++ b/src/caffe/layers/hdf5_data_layer.cpp @@ -45,6 +45,7 @@ void HDF5DataLayer::LoadHDF5FileData(const char* filename) { file_id, "label", MIN_LABEL_DIM, MAX_LABEL_DIM, &label_blob_); herr_t status = H5Fclose(file_id); + CHECK_GE(status, 0) << "Failed to close HDF5 file " << filename; CHECK_EQ(data_blob_.num(), label_blob_.num()); LOG(INFO) << "Successully loaded " << data_blob_.num() << " rows"; } diff --git a/src/caffe/util/io.cpp b/src/caffe/util/io.cpp index 65f82547071..ff65bd64d88 100644 --- a/src/caffe/util/io.cpp +++ b/src/caffe/util/io.cpp @@ -123,6 +123,7 @@ void hdf5_load_nd_dataset_helper( herr_t status; int ndims; status = H5LTget_dataset_ndims(file_id, dataset_name_, &ndims); + CHECK_GE(status, 0) << "Failed to get dataset ndims for " << dataset_name_; CHECK_GE(ndims, min_dim); CHECK_LE(ndims, max_dim); @@ -131,6 +132,7 @@ void hdf5_load_nd_dataset_helper( H5T_class_t class_; status = H5LTget_dataset_info( file_id, dataset_name_, dims.data(), &class_, NULL); + CHECK_GE(status, 0) << "Failed to get dataset info for " << dataset_name_; CHECK_EQ(class_, H5T_FLOAT) << "Expected float or double data"; blob->Reshape( @@ -146,6 +148,7 @@ void hdf5_load_nd_dataset(hid_t file_id, const char* dataset_name_, hdf5_load_nd_dataset_helper(file_id, dataset_name_, min_dim, max_dim, blob); herr_t status = H5LTread_dataset_float( file_id, dataset_name_, blob->mutable_cpu_data()); + CHECK_GE(status, 0) << "Failed to read float dataset " << dataset_name_; } template <> @@ -154,6 +157,7 @@ void hdf5_load_nd_dataset(hid_t file_id, const char* dataset_name_, hdf5_load_nd_dataset_helper(file_id, dataset_name_, min_dim, max_dim, blob); herr_t status = H5LTread_dataset_double( file_id, dataset_name_, blob->mutable_cpu_data()); + CHECK_GE(status, 0) << "Failed to read double dataset " << dataset_name_; } template <> From c0bcf68f8d2b063dd6b92acdfc30c7d5a5fb44ea Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Tue, 10 Jun 2014 15:34:52 -0700 Subject: [PATCH 162/408] check if window file is empty in WindowDataLayer Also note that window files containing windows with different numbers of channels may not work correctly. --- src/caffe/layers/window_data_layer.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index e08bed7d56f..fd4860f98be 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -291,7 +291,10 @@ void WindowDataLayer::SetUp(const vector*>& bottom, string hashtag; int image_index, channels; - while (infile >> hashtag >> image_index) { + if (!(infile >> hashtag >> image_index)) { + LOG(FATAL) << "Window file is empty"; + } + do { CHECK_EQ(hashtag, "#"); // read image path string image_path; @@ -347,7 +350,7 @@ void WindowDataLayer::SetUp(const vector*>& bottom, << image_size[2] << " " << "windows to process: " << num_windows; } - } + } while (infile >> hashtag >> image_index); LOG(INFO) << "Number of images: " << image_index+1; From 636d51c4a61464908f9236ae158b49aca0686da4 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Mon, 26 May 2014 02:31:05 -0700 Subject: [PATCH 163/408] initialize in declared order --- include/caffe/blob.hpp | 4 ++-- src/caffe/common.cpp | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/caffe/blob.hpp b/include/caffe/blob.hpp index 75101462faf..c04375a10e2 100644 --- a/include/caffe/blob.hpp +++ b/include/caffe/blob.hpp @@ -13,8 +13,8 @@ template class Blob { public: Blob() - : num_(0), channels_(0), height_(0), width_(0), count_(0), data_(), - diff_() {} + : data_(), diff_(), num_(0), channels_(0), height_(0), width_(0), + count_(0) {} explicit Blob(const int num, const int channels, const int height, const int width); void Reshape(const int num, const int channels, const int height, diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 6eadfc7917e..387d008c614 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -22,9 +22,8 @@ int64_t cluster_seedgen(void) { Caffe::Caffe() - : mode_(Caffe::CPU), phase_(Caffe::TRAIN), cublas_handle_(NULL), - curand_generator_(NULL), - random_generator_() { + : cublas_handle_(NULL), curand_generator_(NULL), random_generator_(), + mode_(Caffe::CPU), phase_(Caffe::TRAIN) { // Try to create a cublas handler, and report an error if failed (but we will // keep the program running as one might just want to run CPU code). if (cublasCreate(&cublas_handle_) != CUBLAS_STATUS_SUCCESS) { From 1ee22bf761c7d6af2dc53c3ec34a4171d749cf72 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Wed, 11 Jun 2014 19:31:22 -0700 Subject: [PATCH 164/408] initialize in declared order in tests --- src/caffe/test/test_data_layer.cpp | 4 ++-- src/caffe/test/test_hdf5data_layer.cpp | 6 +++--- src/caffe/test/test_image_data_layer.cpp | 6 +++--- src/caffe/test/test_lrn_layer.cpp | 6 +++--- src/caffe/test/test_memory_data_layer.cpp | 7 ++++--- src/caffe/test/test_random_number_generator.cpp | 4 ++-- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/caffe/test/test_data_layer.cpp b/src/caffe/test/test_data_layer.cpp index 68f2618d323..782fe1212c6 100644 --- a/src/caffe/test/test_data_layer.cpp +++ b/src/caffe/test/test_data_layer.cpp @@ -24,9 +24,9 @@ template class DataLayerTest : public ::testing::Test { protected: DataLayerTest() - : blob_top_data_(new Blob()), + : filename_(new string(tmpnam(NULL))), + blob_top_data_(new Blob()), blob_top_label_(new Blob()), - filename_(new string(tmpnam(NULL))), backend_(DataParameter_DB_LEVELDB), seed_(1701) {} virtual void SetUp() { diff --git a/src/caffe/test/test_hdf5data_layer.cpp b/src/caffe/test/test_hdf5data_layer.cpp index a0ed113b36e..dd2027c5591 100644 --- a/src/caffe/test/test_hdf5data_layer.cpp +++ b/src/caffe/test/test_hdf5data_layer.cpp @@ -24,9 +24,9 @@ template class HDF5DataLayerTest : public ::testing::Test { protected: HDF5DataLayerTest() - : blob_top_data_(new Blob()), - blob_top_label_(new Blob()), - filename(NULL) {} + : filename(NULL), + blob_top_data_(new Blob()), + blob_top_label_(new Blob()) {} virtual void SetUp() { blob_top_vec_.push_back(blob_top_data_); blob_top_vec_.push_back(blob_top_label_); diff --git a/src/caffe/test/test_image_data_layer.cpp b/src/caffe/test/test_image_data_layer.cpp index fea5793d4be..2278f4e2eb8 100644 --- a/src/caffe/test/test_image_data_layer.cpp +++ b/src/caffe/test/test_image_data_layer.cpp @@ -27,10 +27,10 @@ template class ImageDataLayerTest : public ::testing::Test { protected: ImageDataLayerTest() - : blob_top_data_(new Blob()), - blob_top_label_(new Blob()), + : seed_(1701), filename_(new string(tmpnam(NULL))), - seed_(1701) {} + blob_top_data_(new Blob()), + blob_top_label_(new Blob()) {} virtual void SetUp() { blob_top_vec_.push_back(blob_top_data_); blob_top_vec_.push_back(blob_top_label_); diff --git a/src/caffe/test/test_lrn_layer.cpp b/src/caffe/test/test_lrn_layer.cpp index 1923128dd71..47c46ee1dfe 100644 --- a/src/caffe/test/test_lrn_layer.cpp +++ b/src/caffe/test/test_lrn_layer.cpp @@ -25,9 +25,9 @@ template class LRNLayerTest : public ::testing::Test { protected: LRNLayerTest() - : blob_bottom_(new Blob()), - blob_top_(new Blob()), - epsilon_(Dtype(1e-5)) {} + : epsilon_(Dtype(1e-5)), + blob_bottom_(new Blob()), + blob_top_(new Blob()) {} virtual void SetUp() { Caffe::set_random_seed(1701); blob_bottom_->Reshape(2, 7, 3, 3); diff --git a/src/caffe/test/test_memory_data_layer.cpp b/src/caffe/test/test_memory_data_layer.cpp index 15f01bd41e3..9781439f2fe 100644 --- a/src/caffe/test/test_memory_data_layer.cpp +++ b/src/caffe/test/test_memory_data_layer.cpp @@ -12,9 +12,10 @@ template class MemoryDataLayerTest : public ::testing::Test { protected: MemoryDataLayerTest() - : data_blob_(new Blob()), - label_blob_(new Blob()), - data_(new Blob()), labels_(new Blob()) {} + : data_(new Blob()), + labels_(new Blob()), + data_blob_(new Blob()), + label_blob_(new Blob()) {} virtual void SetUp() { batch_size_ = 8; batches_ = 12; diff --git a/src/caffe/test/test_random_number_generator.cpp b/src/caffe/test/test_random_number_generator.cpp index 62daf6087fd..4116de4c252 100644 --- a/src/caffe/test/test_random_number_generator.cpp +++ b/src/caffe/test/test_random_number_generator.cpp @@ -16,9 +16,9 @@ template class RandomNumberGeneratorTest : public ::testing::Test { protected: RandomNumberGeneratorTest() - : sample_size_(10000), + : mean_bound_multiplier_(3.8), // ~99.99% confidence for test failure. + sample_size_(10000), seed_(1701), - mean_bound_multiplier_(3.8), // ~99.99% confidence for test failure. data_(new SyncedMemory(sample_size_ * sizeof(Dtype))), data_2_(new SyncedMemory(sample_size_ * sizeof(Dtype))), int_data_(new SyncedMemory(sample_size_ * sizeof(int))), From a65cb967e66c6ec6248ea0923b4398c708af959d Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Mon, 26 May 2014 02:31:34 -0700 Subject: [PATCH 165/408] remove unused variables --- src/caffe/layers/tanh_layer.cpp | 1 - src/caffe/net.cpp | 3 --- tools/extract_features.cpp | 1 - 3 files changed, 5 deletions(-) diff --git a/src/caffe/layers/tanh_layer.cpp b/src/caffe/layers/tanh_layer.cpp index 66f530f82d5..77b4410411c 100644 --- a/src/caffe/layers/tanh_layer.cpp +++ b/src/caffe/layers/tanh_layer.cpp @@ -33,7 +33,6 @@ void TanHLayer::Backward_cpu(const vector*>& top, const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); const int count = (*bottom)[0]->count(); - Dtype exp2x; Dtype tanhx; for (int i = 0; i < count; ++i) { tanhx = top_data[i]; diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 41ae7520356..d76d284df2e 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -42,7 +42,6 @@ void Net::Init(const NetParameter& in_param) { name_ = param.name(); map blob_name_to_idx; set available_blobs; - int num_layers = param.layers_size(); CHECK_EQ(param.input_size() * 4, param.input_dim_size()) << "Incorrect input blob dimension specifications."; memory_used_ = 0; @@ -58,7 +57,6 @@ void Net::Init(const NetParameter& in_param) { bottom_id_vecs_.resize(param.layers_size()); top_id_vecs_.resize(param.layers_size()); for (int layer_id = 0; layer_id < param.layers_size(); ++layer_id) { - bool in_place = false; const LayerParameter& layer_param = param.layers(layer_id); layers_.push_back(shared_ptr >(GetLayer(layer_param))); layer_names_.push_back(layer_param.name()); @@ -198,7 +196,6 @@ int Net::AppendBottom(const NetParameter& param, bottom_vecs_[layer_id].push_back(blobs_[blob_id].get()); bottom_id_vecs_[layer_id].push_back(blob_id); available_blobs->erase(blob_name); - bool need_backward = param.force_backward() || blob_need_backward_[blob_id]; return blob_id; } diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index cdad6676d7f..3a670d96c9a 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -116,7 +116,6 @@ int feature_extraction_pipeline(int argc, char** argv) { leveldb::WriteBatch* batch = new leveldb::WriteBatch(); const int kMaxKeyStrLength = 100; char key_str[kMaxKeyStrLength]; - int num_bytes_of_binary_code = sizeof(Dtype); vector*> input_vec; int image_index = 0; for (int batch_index = 0; batch_index < num_mini_batches; ++batch_index) { From 88472c9b173f9885af192d8b78ebf9b18b89dee5 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Wed, 11 Jun 2014 19:31:40 -0700 Subject: [PATCH 166/408] remove unused variables from tests --- src/caffe/test/test_hdf5data_layer.cpp | 1 - src/caffe/test/test_lrn_layer.cpp | 1 - src/caffe/test/test_neuron_layer.cpp | 2 -- src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp | 1 - src/gtest/gtest-all.cpp | 1 - 5 files changed, 6 deletions(-) diff --git a/src/caffe/test/test_hdf5data_layer.cpp b/src/caffe/test/test_hdf5data_layer.cpp index dd2027c5591..1cbca0090fd 100644 --- a/src/caffe/test/test_hdf5data_layer.cpp +++ b/src/caffe/test/test_hdf5data_layer.cpp @@ -61,7 +61,6 @@ TYPED_TEST(HDF5DataLayerTest, TestRead) { int batch_size = 5; hdf5_data_param->set_batch_size(batch_size); hdf5_data_param->set_source(*(this->filename)); - int num_rows = 10; int num_cols = 8; int height = 5; int width = 5; diff --git a/src/caffe/test/test_lrn_layer.cpp b/src/caffe/test/test_lrn_layer.cpp index 47c46ee1dfe..7f0a211a50b 100644 --- a/src/caffe/test/test_lrn_layer.cpp +++ b/src/caffe/test/test_lrn_layer.cpp @@ -55,7 +55,6 @@ void LRNLayerTest::ReferenceLRNForward( Blob* blob_top) { blob_top->Reshape(blob_bottom.num(), blob_bottom.channels(), blob_bottom.height(), blob_bottom.width()); - const Dtype* bottom_data = blob_bottom.cpu_data(); Dtype* top_data = blob_top->mutable_cpu_data(); LRNParameter lrn_param = layer_param.lrn_param(); Dtype alpha = lrn_param.alpha(); diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index 2210b4612ad..ca70e1acd9b 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -189,7 +189,6 @@ TYPED_TEST(NeuronLayerTest, TestDropoutCPUTestPhase) { // Now, check values const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); const TypeParam* top_data = this->blob_top_->cpu_data(); - float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); for (int i = 0; i < this->blob_bottom_->count(); ++i) { if (top_data[i] != 0) { EXPECT_EQ(top_data[i], bottom_data[i]); @@ -244,7 +243,6 @@ TYPED_TEST(NeuronLayerTest, TestDropoutGPUTestPhase) { // Now, check values const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); const TypeParam* top_data = this->blob_top_->cpu_data(); - float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); for (int i = 0; i < this->blob_bottom_->count(); ++i) { if (top_data[i] != 0) { EXPECT_EQ(top_data[i], bottom_data[i]); diff --git a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp index d8018be0c25..089d5950967 100644 --- a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp @@ -69,7 +69,6 @@ class SigmoidCrossEntropyLossLayerTest : public ::testing::Test { targets_filler_param.set_max(1.0); UniformFiller targets_filler(targets_filler_param); Dtype eps = 2e-2; - int num_inf = 0; for (int i = 0; i < 100; ++i) { // Fill the data vector data_filler.Fill(this->blob_bottom_data_); diff --git a/src/gtest/gtest-all.cpp b/src/gtest/gtest-all.cpp index 5ced66a90f1..926197419fc 100644 --- a/src/gtest/gtest-all.cpp +++ b/src/gtest/gtest-all.cpp @@ -601,7 +601,6 @@ class GTestFlagSaver { bool list_tests_; String output_; bool print_time_; - bool pretty_; internal::Int32 random_seed_; internal::Int32 repeat_; bool shuffle_; From e84dfb26bbda927e591cf9b15a752d44004c7c8f Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Wed, 11 Jun 2014 15:29:04 -0700 Subject: [PATCH 167/408] add missing const qualifiers to MemoryDataLayer ExactNum* functions --- include/caffe/data_layers.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 2b4c278eafe..fc93daacd3c 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -248,8 +248,8 @@ class MemoryDataLayer : public Layer { virtual inline LayerParameter_LayerType type() const { return LayerParameter_LayerType_MEMORY_DATA; } - virtual inline int ExactNumBottomBlobs() { return 0; } - virtual inline int ExactNumTopBlobs() { return 2; } + virtual inline int ExactNumBottomBlobs() const { return 0; } + virtual inline int ExactNumTopBlobs() const { return 2; } // Reset should accept const pointers, but can't, because the memory // will be given to Blob, which is mutable From c41c15a138de23e0bba80c31ad7813f556be6be4 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Tue, 10 Jun 2014 14:45:36 -0700 Subject: [PATCH 168/408] move CUDA 6.0 check into switch statement itself This allows -Wswitch to be turned on so that the compiler can check exhaustiveness. --- include/caffe/common.hpp | 5 ----- src/caffe/common.cpp | 2 ++ 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index 7bfa5d402bd..bd4e39f136d 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -56,11 +56,6 @@ private:\ // CUDA: check for error after kernel execution and exit loudly if there is one. #define CUDA_POST_KERNEL_CHECK CUDA_CHECK(cudaPeekAtLastError()) -// Define not supported status for pre-6.0 compatibility. -#if CUDA_VERSION < 6000 -#define CUBLAS_STATUS_NOT_SUPPORTED 831486 -#endif - namespace caffe { // We will use the boost shared_ptr instead of the new C++11 one mainly diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 387d008c614..2964b2ce1d0 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -156,8 +156,10 @@ const char* cublasGetErrorString(cublasStatus_t error) { return "CUBLAS_STATUS_EXECUTION_FAILED"; case CUBLAS_STATUS_INTERNAL_ERROR: return "CUBLAS_STATUS_INTERNAL_ERROR"; +#if CUDA_VERSION >= 6000 case CUBLAS_STATUS_NOT_SUPPORTED: return "CUBLAS_STATUS_NOT_SUPPORTED"; +#endif } return "Unknown cublas status"; } From 1334c3fa58eb935d38e2c648f1b05dd995661a70 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Tue, 10 Jun 2014 14:50:24 -0700 Subject: [PATCH 169/408] initialize and comment variables that the compiler finds suspicious --- src/caffe/layers/data_layer.cpp | 2 +- src/caffe/layers/pooling_layer.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index f12ae1c12e1..29c4fec8ca4 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -26,7 +26,7 @@ void* DataLayerPrefetch(void* layer_pointer) { Datum datum; CHECK(layer->prefetch_data_); Dtype* top_data = layer->prefetch_data_->mutable_cpu_data(); - Dtype* top_label; + Dtype* top_label = NULL; // suppress warnings about uninitialized variables if (layer->output_labels_) { top_label = layer->prefetch_label_->mutable_cpu_data(); } diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 8f5f82d6ff7..ba84edeab5d 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -87,8 +87,8 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, const int top_count = (*top)[0]->count(); // We'll output the mask to top[1] if it's of size >1. const bool use_top_mask = top->size() > 1; - int* mask; - Dtype* top_mask; + int* mask = NULL; // suppress warnings about uninitalized variables + Dtype* top_mask = NULL; // Different pooling methods. We explicitly do the switch outside the for // loop to save time, although this results in more code. switch (this->layer_param_.pooling_param().pool()) { @@ -195,8 +195,8 @@ void PoolingLayer::Backward_cpu(const vector*>& top, caffe_set((*bottom)[0]->count(), Dtype(0), bottom_diff); // We'll output the mask to top[1] if it's of size >1. const bool use_top_mask = top.size() > 1; - const int* mask; - const Dtype* top_mask; + const int* mask = NULL; // suppress warnings about uninitialized variables + const Dtype* top_mask = NULL; switch (this->layer_param_.pooling_param().pool()) { case PoolingParameter_PoolMethod_MAX: // The main loop From cd81969b245a245fb72e9e33c9f5ffdbfdf1389f Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Tue, 10 Jun 2014 15:34:01 -0700 Subject: [PATCH 170/408] don't end comments with \, so that -Wcomment can be used --- tools/convert_imageset.cpp | 2 +- tools/dump_network.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index aa9515514c3..c4bc0b32439 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -2,7 +2,7 @@ // This program converts a set of images to a leveldb by storing them as Datum // proto buffers. // Usage: -// convert_imageset [-g] ROOTFOLDER/ LISTFILE DB_NAME RANDOM_SHUFFLE[0 or 1] \ +// convert_imageset [-g] ROOTFOLDER/ LISTFILE DB_NAME RANDOM_SHUFFLE[0 or 1] // [resize_height] [resize_width] // where ROOTFOLDER is the root folder that holds all the images, and LISTFILE // should be a list of files as well as their labels, in the format as diff --git a/tools/dump_network.cpp b/tools/dump_network.cpp index f29e150b048..8ed8edac284 100644 --- a/tools/dump_network.cpp +++ b/tools/dump_network.cpp @@ -4,7 +4,7 @@ // all the intermediate blobs produced by the net to individual binary // files stored in protobuffer binary formats. // Usage: -// dump_network input_net_param trained_net_param \ +// dump_network input_net_param trained_net_param // input_blob output_prefix 0/1 // if input_net_param is 'none', we will directly load the network from // trained_net_param. If the last argv is 1, we will do a forward-backward pass From ff5e35ee776bae64ce2433f514fd3533fced02b1 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Tue, 10 Jun 2014 15:38:06 -0700 Subject: [PATCH 171/408] upgrade warnings to -Wall -Werror -Wno-sign-compare --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 943165a4642..e821b20d13b 100644 --- a/Makefile +++ b/Makefile @@ -134,7 +134,7 @@ LIBRARIES := cudart cublas curand \ hdf5_hl hdf5 \ opencv_core opencv_highgui opencv_imgproc PYTHON_LIBRARIES := boost_python python2.7 -WARNINGS := -Wall +WARNINGS := -Wall -Werror -Wno-sign-compare ############################## # Set build directories From 8490718f4c3f00329a3236ba9ed2795d585f8f3c Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Tue, 10 Jun 2014 15:39:44 -0700 Subject: [PATCH 172/408] add WARNINGS to CXXFLAGS --- Makefile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index e821b20d13b..8ab82b91a3c 100644 --- a/Makefile +++ b/Makefile @@ -218,7 +218,7 @@ LIBRARY_DIRS += $(BLAS_LIB) # Complete build flags. COMMON_FLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) -CXXFLAGS += -pthread -fPIC $(COMMON_FLAGS) +CXXFLAGS += -pthread -fPIC $(COMMON_FLAGS) $(WARNINGS) NVCCFLAGS := -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) \ $(foreach library,$(LIBRARIES),-l$(library)) @@ -283,7 +283,7 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) exit 1; \ fi $(MATLAB_DIR)/bin/mex $(MAT$(PROJECT)_SRC) $(STATIC_NAME) \ - CXXFLAGS="\$$CXXFLAGS $(CXXFLAGS) $(WARNINGS)" \ + CXXFLAGS="\$$CXXFLAGS $(CXXFLAGS)" \ CXXLIBS="\$$CXXLIBS $(LDFLAGS)" -o $@ @ echo @@ -306,7 +306,7 @@ $(ALL_BUILD_DIRS): | $(BUILD_DIR_LINK) @ mkdir -p $@ $(NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) - $(CXX) -shared -o $@ $(OBJS) $(CXXFLAGS) $(LDFLAGS) $(WARNINGS) + $(CXX) -shared -o $@ $(OBJS) $(CXXFLAGS) $(LDFLAGS) @ echo $(STATIC_NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) @@ -321,21 +321,21 @@ $(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HDRS) \ $(TEST_ALL_BIN): $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ | $(TEST_BIN_DIR) $(CXX) $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ - -o $@ $(CXXFLAGS) $(LDFLAGS) $(WARNINGS) + -o $@ $(CXXFLAGS) $(LDFLAGS) @ echo $(TEST_BIN_DIR)/%.testbin: $(TEST_BUILD_DIR)/%.o $(GTEST_OBJ) $(STATIC_NAME) \ | $(TEST_BIN_DIR) $(CXX) $(TEST_MAIN_SRC) $< $(GTEST_OBJ) $(STATIC_NAME) \ - -o $@ $(CXXFLAGS) $(LDFLAGS) $(WARNINGS) + -o $@ $(CXXFLAGS) $(LDFLAGS) @ echo $(TOOL_BINS): %.bin : %.o $(STATIC_NAME) - $(CXX) $< $(STATIC_NAME) -o $@ $(CXXFLAGS) $(LDFLAGS) $(WARNINGS) + $(CXX) $< $(STATIC_NAME) -o $@ $(CXXFLAGS) $(LDFLAGS) @ echo $(EXAMPLE_BINS): %.bin : %.o $(STATIC_NAME) - $(CXX) $< $(STATIC_NAME) -o $@ $(CXXFLAGS) $(LDFLAGS) $(WARNINGS) + $(CXX) $< $(STATIC_NAME) -o $@ $(CXXFLAGS) $(LDFLAGS) @ echo $(LAYER_BUILD_DIR)/%.o: src/$(PROJECT)/layers/%.cpp $(HXX_SRCS) \ From aa7371147e42e80a24da5cfc8d40bb207337a7f3 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 13 Jun 2014 19:59:33 -0700 Subject: [PATCH 173/408] turn off some warnings for older compilers --- Makefile | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8ab82b91a3c..d62f4150c2e 100644 --- a/Makefile +++ b/Makefile @@ -168,6 +168,11 @@ endif ifeq ($(LINUX), 1) CXX := /usr/bin/g++ + GCCVERSION := $(shell $(CXX) -dumpversion | cut -f1,2 -d.) + # older versions of gcc are too dumb to build boost with -Wuninitalized + ifeq ($(shell echo $(GCCVERSION) \< 4.6 | bc), 1) + WARNINGS += -Wno-uninitialized + endif endif # OS X: @@ -175,6 +180,8 @@ endif # libstdc++ instead of libc++ for CUDA compatibility on 10.9 ifeq ($(OSX), 1) CXX := /usr/bin/clang++ + # clang throws this warning for cuda headers + WARNINGS += -Wno-unneeded-internal-declaration ifneq ($(findstring 10.9, $(shell sw_vers -productVersion)),) CXXFLAGS += -stdlib=libstdc++ endif @@ -220,6 +227,8 @@ LIBRARY_DIRS += $(BLAS_LIB) COMMON_FLAGS += $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) CXXFLAGS += -pthread -fPIC $(COMMON_FLAGS) $(WARNINGS) NVCCFLAGS := -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) +# mex may invoke an older gcc that is too liberal with -Wuninitalized +MATLAB_CXXFLAGS := $(CXXFLAGS) -Wno-uninitialized LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) \ $(foreach library,$(LIBRARIES),-l$(library)) PYTHON_LDFLAGS := $(LDFLAGS) $(foreach library,$(PYTHON_LIBRARIES),-l$(library)) @@ -283,7 +292,7 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) exit 1; \ fi $(MATLAB_DIR)/bin/mex $(MAT$(PROJECT)_SRC) $(STATIC_NAME) \ - CXXFLAGS="\$$CXXFLAGS $(CXXFLAGS)" \ + CXXFLAGS="\$$CXXFLAGS $(MATLAB_CXXFLAGS)" \ CXXLIBS="\$$CXXLIBS $(LDFLAGS)" -o $@ @ echo From 73001f2fc0548a034bcd6398361207c9aac31ce4 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 25 Jun 2014 17:32:27 -0700 Subject: [PATCH 174/408] fix test data layer post-lmdb --- src/caffe/test/test_data_layer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_data_layer.cpp b/src/caffe/test/test_data_layer.cpp index 782fe1212c6..8ba5f29ff91 100644 --- a/src/caffe/test/test_data_layer.cpp +++ b/src/caffe/test/test_data_layer.cpp @@ -24,10 +24,10 @@ template class DataLayerTest : public ::testing::Test { protected: DataLayerTest() - : filename_(new string(tmpnam(NULL))), + : backend_(DataParameter_DB_LEVELDB), + filename_(new string(tmpnam(NULL))), blob_top_data_(new Blob()), blob_top_label_(new Blob()), - backend_(DataParameter_DB_LEVELDB), seed_(1701) {} virtual void SetUp() { blob_top_vec_.push_back(blob_top_data_); From 30ad1e237907be354541b1fb79761d909d07728f Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 25 Jun 2014 17:35:40 -0700 Subject: [PATCH 175/408] make clang++ happy on OSX by not linking with pthread --- Makefile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index d62f4150c2e..32ce4722aa6 100644 --- a/Makefile +++ b/Makefile @@ -184,6 +184,7 @@ ifeq ($(OSX), 1) WARNINGS += -Wno-unneeded-internal-declaration ifneq ($(findstring 10.9, $(shell sw_vers -productVersion)),) CXXFLAGS += -stdlib=libstdc++ + LINKFLAGS += -stdlib=libstdc++ endif endif @@ -229,6 +230,7 @@ CXXFLAGS += -pthread -fPIC $(COMMON_FLAGS) $(WARNINGS) NVCCFLAGS := -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS) # mex may invoke an older gcc that is too liberal with -Wuninitalized MATLAB_CXXFLAGS := $(CXXFLAGS) -Wno-uninitialized +LINKFLAGS += -fPIC $(COMMON_FLAGS) $(WARNINGS) LDFLAGS += $(foreach librarydir,$(LIBRARY_DIRS),-L$(librarydir)) \ $(foreach library,$(LIBRARIES),-l$(library)) PYTHON_LDFLAGS := $(LDFLAGS) $(foreach library,$(PYTHON_LIBRARIES),-l$(library)) @@ -278,7 +280,7 @@ py: $(PY$(PROJECT)_SO) $(PROTO_GEN_PY) $(PY$(PROJECT)_SO): $(STATIC_NAME) $(PY$(PROJECT)_SRC) $(CXX) -shared -o $@ $(PY$(PROJECT)_SRC) \ - $(STATIC_NAME) $(CXXFLAGS) $(PYTHON_LDFLAGS) + $(STATIC_NAME) $(LINKFLAGS) $(PYTHON_LDFLAGS) @ echo mat$(PROJECT): mat @@ -315,7 +317,7 @@ $(ALL_BUILD_DIRS): | $(BUILD_DIR_LINK) @ mkdir -p $@ $(NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) - $(CXX) -shared -o $@ $(OBJS) $(CXXFLAGS) $(LDFLAGS) + $(CXX) -shared -o $@ $(OBJS) $(LINKFLAGS) $(LDFLAGS) @ echo $(STATIC_NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) @@ -330,21 +332,21 @@ $(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HDRS) \ $(TEST_ALL_BIN): $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ | $(TEST_BIN_DIR) $(CXX) $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ - -o $@ $(CXXFLAGS) $(LDFLAGS) + -o $@ $(LINKFLAGS) $(LDFLAGS) @ echo $(TEST_BIN_DIR)/%.testbin: $(TEST_BUILD_DIR)/%.o $(GTEST_OBJ) $(STATIC_NAME) \ | $(TEST_BIN_DIR) $(CXX) $(TEST_MAIN_SRC) $< $(GTEST_OBJ) $(STATIC_NAME) \ - -o $@ $(CXXFLAGS) $(LDFLAGS) + -o $@ $(LINKFLAGS) $(LDFLAGS) @ echo $(TOOL_BINS): %.bin : %.o $(STATIC_NAME) - $(CXX) $< $(STATIC_NAME) -o $@ $(CXXFLAGS) $(LDFLAGS) + $(CXX) $< $(STATIC_NAME) -o $@ $(LINKFLAGS) $(LDFLAGS) @ echo $(EXAMPLE_BINS): %.bin : %.o $(STATIC_NAME) - $(CXX) $< $(STATIC_NAME) -o $@ $(CXXFLAGS) $(LDFLAGS) + $(CXX) $< $(STATIC_NAME) -o $@ $(LINKFLAGS) $(LDFLAGS) @ echo $(LAYER_BUILD_DIR)/%.o: src/$(PROJECT)/layers/%.cpp $(HXX_SRCS) \ From 89fd7e333480d0eb4d78fb14dc6f435e76c5638c Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 25 Jun 2014 17:58:38 -0700 Subject: [PATCH 176/408] content ourselves to -Wall without -Werror for now --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 32ce4722aa6..77e2ff5edbe 100644 --- a/Makefile +++ b/Makefile @@ -134,7 +134,7 @@ LIBRARIES := cudart cublas curand \ hdf5_hl hdf5 \ opencv_core opencv_highgui opencv_imgproc PYTHON_LIBRARIES := boost_python python2.7 -WARNINGS := -Wall -Werror -Wno-sign-compare +WARNINGS := -Wall -Wno-sign-compare ############################## # Set build directories From 61e1ef03537461f708bcb110e9decb69ca4de544 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 26 Jun 2014 10:21:19 -0700 Subject: [PATCH 177/408] file SoftmaxWithLoss in with loss layers --- include/caffe/loss_layers.hpp | 43 +++++++++++++++++++++++++++++++++ include/caffe/vision_layers.hpp | 40 ------------------------------ 2 files changed, 43 insertions(+), 40 deletions(-) diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index 2f98a1246be..db7c63edca1 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -40,6 +40,49 @@ class LossLayer : public Layer { virtual inline int MaxTopBlobs() const { return 1; } }; +// Forward declare SoftmaxLayer for use in SoftmaxWithLossLayer. +template class SoftmaxLayer; + +/* SoftmaxWithLossLayer + Implements softmax and computes the loss. + + It is preferred over separate softmax + multinomiallogisticloss + layers due to more numerically stable gradients. + + In test, this layer could be replaced by simple softmax layer. +*/ +template +class SoftmaxWithLossLayer : public Layer { + public: + explicit SoftmaxWithLossLayer(const LayerParameter& param) + : Layer(param), softmax_layer_(new SoftmaxLayer(param)) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SOFTMAX_LOSS; + } + virtual inline int ExactNumBottomBlobs() const { return 2; } + virtual inline int MaxTopBlobs() const { return 2; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const bool propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const bool propagate_down, vector*>* bottom); + + shared_ptr > softmax_layer_; + // prob stores the output probability of the layer. + Blob prob_; + // Vector holders to call the underlying softmax layer forward and backward. + vector*> softmax_bottom_vec_; + vector*> softmax_top_vec_; +}; + /* SigmoidCrossEntropyLossLayer */ template diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index b7e1068c7d3..3fd7e2f8bdb 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -405,46 +405,6 @@ class SoftmaxLayer : public Layer { Blob scale_; }; -/* SoftmaxWithLossLayer - Implements softmax and computes the loss. - - It is preferred over separate softmax + multinomiallogisticloss - layers due to more numerically stable gradients. - - In test, this layer could be replaced by simple softmax layer. -*/ -template -class SoftmaxWithLossLayer : public Layer { - public: - explicit SoftmaxWithLossLayer(const LayerParameter& param) - : Layer(param), softmax_layer_(new SoftmaxLayer(param)) {} - virtual void SetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_SOFTMAX_LOSS; - } - virtual inline int ExactNumBottomBlobs() const { return 2; } - virtual inline int MaxTopBlobs() const { return 2; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); - virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); - - shared_ptr > softmax_layer_; - // prob stores the output probability of the layer. - Blob prob_; - // Vector holders to call the underlying softmax layer forward and backward. - vector*> softmax_bottom_vec_; - vector*> softmax_top_vec_; -}; - /* SplitLayer */ template From 74443591d62feb2755d98ed87fb4aecc22d78297 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 10 Jun 2014 12:38:59 -0700 Subject: [PATCH 178/408] change Backward interface: propagate_down is a vector -- use to fix long-standing issue with how this is handled in loss layers (esp. EuclideanLossLayer) --- include/caffe/data_layers.hpp | 28 ++-- include/caffe/layer.hpp | 8 +- include/caffe/loss_layers.hpp | 27 ++-- include/caffe/net.hpp | 4 + include/caffe/neuron_layers.hpp | 26 ++-- include/caffe/vision_layers.hpp | 48 +++--- src/caffe/layers/bnll_layer.cpp | 4 +- src/caffe/layers/bnll_layer.cu | 4 +- src/caffe/layers/concat_layer.cpp | 22 +-- src/caffe/layers/concat_layer.cu | 22 +-- src/caffe/layers/conv_layer.cpp | 4 +- src/caffe/layers/conv_layer.cu | 4 +- src/caffe/layers/dropout_layer.cpp | 4 +- src/caffe/layers/dropout_layer.cu | 4 +- src/caffe/layers/eltwise_layer.cpp | 12 +- src/caffe/layers/eltwise_layer.cu | 12 +- src/caffe/layers/euclidean_loss_layer.cpp | 24 +-- src/caffe/layers/euclidean_loss_layer.cu | 45 ++++++ src/caffe/layers/flatten_layer.cpp | 2 +- src/caffe/layers/flatten_layer.cu | 2 +- src/caffe/layers/hdf5_data_layer.cpp | 5 - src/caffe/layers/hdf5_data_layer.cu | 5 - src/caffe/layers/hdf5_output_layer.cpp | 2 +- src/caffe/layers/hdf5_output_layer.cu | 2 +- src/caffe/layers/hinge_loss_layer.cpp | 44 +++--- src/caffe/layers/im2col_layer.cpp | 2 +- src/caffe/layers/im2col_layer.cu | 2 +- src/caffe/layers/infogain_loss_layer.cpp | 32 ++-- src/caffe/layers/inner_product_layer.cpp | 4 +- src/caffe/layers/inner_product_layer.cu | 4 +- src/caffe/layers/lrn_layer.cpp | 20 +-- src/caffe/layers/lrn_layer.cu | 4 +- .../multinomial_logistic_loss_layer.cpp | 28 ++-- src/caffe/layers/pooling_layer.cpp | 4 +- src/caffe/layers/pooling_layer.cu | 4 +- src/caffe/layers/power_layer.cpp | 4 +- src/caffe/layers/power_layer.cu | 4 +- src/caffe/layers/relu_layer.cpp | 4 +- src/caffe/layers/relu_layer.cu | 4 +- .../sigmoid_cross_entropy_loss_layer.cpp | 28 ++-- .../sigmoid_cross_entropy_loss_layer.cu | 28 ++-- src/caffe/layers/sigmoid_layer.cpp | 4 +- src/caffe/layers/sigmoid_layer.cu | 4 +- src/caffe/layers/softmax_layer.cpp | 2 +- src/caffe/layers/softmax_layer.cu | 2 +- src/caffe/layers/softmax_loss_layer.cpp | 29 ++-- src/caffe/layers/softmax_loss_layer.cu | 2 +- src/caffe/layers/split_layer.cpp | 4 +- src/caffe/layers/split_layer.cu | 4 +- src/caffe/layers/tanh_layer.cpp | 4 +- src/caffe/layers/tanh_layer.cu | 4 +- src/caffe/net.cpp | 6 +- src/caffe/test/test_euclidean_loss_layer.cpp | 14 +- src/caffe/test/test_gradient_check_util.hpp | 6 +- src/caffe/test/test_lrn_layer.cpp | 10 +- .../test/test_maxpool_dropout_layers.cpp | 20 ++- src/caffe/test/test_net.cpp | 143 +++++++++++++++++- tools/net_speed_benchmark.cpp | 5 +- 58 files changed, 522 insertions(+), 281 deletions(-) create mode 100644 src/caffe/layers/euclidean_loss_layer.cu diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index fc93daacd3c..2c6be551d8f 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -47,9 +47,9 @@ class HDF5OutputLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void SaveBlobs(); std::string file_name_; @@ -80,9 +80,9 @@ class HDF5DataLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom) {} virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom) {} virtual void LoadHDF5FileData(const char* filename); std::vector hdf_filenames_; @@ -125,9 +125,9 @@ class DataLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} virtual void CreatePrefetchThread(); virtual void JoinPrefetchThread(); @@ -175,9 +175,9 @@ class DummyDataLayer : public Layer { virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} vector > > fillers_; vector refill_; @@ -211,9 +211,9 @@ class ImageDataLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} virtual void ShuffleImages(); @@ -263,9 +263,9 @@ class MemoryDataLayer : public Layer { virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} Dtype* data_; Dtype* labels_; @@ -306,9 +306,9 @@ class WindowDataLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { return; } + const vector& propagate_down, vector*>* bottom) {} virtual void CreatePrefetchThread(); virtual void JoinPrefetchThread(); diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index af3d5441b34..12e7610d756 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -46,7 +46,7 @@ class Layer { inline Dtype Forward(const vector*>& bottom, vector*>* top); inline void Backward(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom); // Returns the vector of blobs. @@ -104,10 +104,10 @@ class Layer { // Backward functions: compute the gradients for any parameters and // for the bottom blobs if propagate_down is true. virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) = 0; virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { // LOG(WARNING) << "Using CPU code as backup."; Backward_cpu(top, propagate_down, bottom); @@ -172,7 +172,7 @@ inline Dtype Layer::Forward(const vector*>& bottom, template inline void Layer::Backward(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { switch (Caffe::mode()) { case Caffe::CPU: diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index db7c63edca1..b8adc996be5 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -62,7 +62,6 @@ class SoftmaxWithLossLayer : public Layer { virtual inline LayerParameter_LayerType type() const { return LayerParameter_LayerType_SOFTMAX_LOSS; } - virtual inline int ExactNumBottomBlobs() const { return 2; } virtual inline int MaxTopBlobs() const { return 2; } protected: @@ -71,9 +70,9 @@ class SoftmaxWithLossLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); shared_ptr > softmax_layer_; // prob stores the output probability of the layer. @@ -105,9 +104,9 @@ class SigmoidCrossEntropyLossLayer : public LossLayer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); shared_ptr > sigmoid_layer_; // sigmoid_output stores the output of the sigmoid layer. @@ -138,8 +137,12 @@ class EuclideanLossLayer : public LossLayer { protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); Blob diff_; }; @@ -162,7 +165,7 @@ class InfogainLossLayer : public LossLayer { virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); Blob infogain_; }; @@ -183,7 +186,7 @@ class HingeLossLayer : public LossLayer { virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); }; /* MultinomialLogisticLossLayer @@ -204,7 +207,7 @@ class MultinomialLogisticLossLayer : public LossLayer { virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); }; /* AccuracyLayer @@ -230,15 +233,11 @@ class AccuracyLayer : public Layer { virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { NOT_IMPLEMENTED; } }; -/* Also see -- SoftmaxWithLossLayer in vision_layers.hpp -*/ - } // namespace caffe #endif // CAFFE_LOSS_LAYERS_HPP_ diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index 5b5dd22a282..d05ca09f20a 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -81,6 +81,9 @@ class Net { // this unless you do per-layer checks such as gradients. inline vector*> >& bottom_vecs() { return bottom_vecs_; } inline vector*> >& top_vecs() { return top_vecs_; } + inline vector >& bottom_need_backward() { + return bottom_need_backward_; + } // returns the parameters inline vector > >& params() { return params_; } // returns the parameter learning rate multipliers @@ -131,6 +134,7 @@ class Net { // pointers. vector*> > bottom_vecs_; vector > bottom_id_vecs_; + vector > bottom_need_backward_; // top_vecs stores the vectors containing the output for each layer vector*> > top_vecs_; vector > top_id_vecs_; diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index ed664df7570..e52e395e24b 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -64,9 +64,9 @@ class BNLLLayer : public NeuronLayer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); }; /* DropoutLayer @@ -97,9 +97,9 @@ class DropoutLayer : public NeuronLayer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); shared_ptr > rand_vec_; Dtype threshold_; @@ -131,9 +131,9 @@ class PowerLayer : public NeuronLayer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); Dtype power_; Dtype scale_; @@ -167,9 +167,9 @@ class ReLULayer : public NeuronLayer { vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); }; /* SigmoidLayer @@ -199,9 +199,9 @@ class SigmoidLayer : public NeuronLayer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); }; /* TanHLayer @@ -227,9 +227,9 @@ class TanHLayer : public NeuronLayer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); }; /* ThresholdLayer @@ -260,7 +260,7 @@ class ThresholdLayer : public NeuronLayer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { NOT_IMPLEMENTED; } diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 3fd7e2f8bdb..b68dcbf6e83 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -44,7 +44,7 @@ class ArgMaxLayer : public Layer { virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { NOT_IMPLEMENTED; } bool out_max_val_; @@ -74,9 +74,9 @@ class ConcatLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); Blob col_bob_; int count_; @@ -109,9 +109,9 @@ class ConvolutionLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); int kernel_size_; int stride_; @@ -153,9 +153,9 @@ class EltwiseLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); EltwiseParameter_EltwiseOp op_; vector coeffs_; @@ -183,9 +183,9 @@ class FlattenLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); int count_; }; @@ -212,9 +212,9 @@ class Im2colLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); int kernel_size_; int stride_; @@ -246,9 +246,9 @@ class InnerProductLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); int M_; int K_; @@ -284,9 +284,9 @@ class LRNLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual Dtype CrossChannelForward_cpu(const vector*>& bottom, vector*>* top); @@ -295,11 +295,11 @@ class LRNLayer : public Layer { virtual Dtype WithinChannelForward(const vector*>& bottom, vector*>* top); virtual void CrossChannelBackward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void CrossChannelBackward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void WithinChannelBackward(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); int size_; int pre_pad_; @@ -356,9 +356,9 @@ class PoolingLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); int max_top_blobs_; int kernel_size_; @@ -395,9 +395,9 @@ class SoftmaxLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); // sum_multiplier is just used to carry out sum using blas Blob sum_multiplier_; @@ -427,9 +427,9 @@ class SplitLayer : public Layer { virtual Dtype Forward_gpu(const vector*>& bottom, vector*>* top); virtual void Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); virtual void Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom); + const vector& propagate_down, vector*>* bottom); int count_; }; diff --git a/src/caffe/layers/bnll_layer.cpp b/src/caffe/layers/bnll_layer.cpp index d08adc49eef..95e6bd8748c 100644 --- a/src/caffe/layers/bnll_layer.cpp +++ b/src/caffe/layers/bnll_layer.cpp @@ -28,9 +28,9 @@ Dtype BNLLLayer::Forward_cpu(const vector*>& bottom, template void BNLLLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { const Dtype* bottom_data = (*bottom)[0]->cpu_data(); const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); diff --git a/src/caffe/layers/bnll_layer.cu b/src/caffe/layers/bnll_layer.cu index 75bea00e993..7849d11c25d 100644 --- a/src/caffe/layers/bnll_layer.cu +++ b/src/caffe/layers/bnll_layer.cu @@ -45,9 +45,9 @@ __global__ void BNLLBackward(const int n, const Dtype* in_diff, template void BNLLLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { const Dtype* bottom_data = (*bottom)[0]->gpu_data(); const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); diff --git a/src/caffe/layers/concat_layer.cpp b/src/caffe/layers/concat_layer.cpp index 4541ee74215..4c894ddffc4 100644 --- a/src/caffe/layers/concat_layer.cpp +++ b/src/caffe/layers/concat_layer.cpp @@ -70,26 +70,30 @@ Dtype ConcatLayer::Forward_cpu(const vector*>& bottom, template void ConcatLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->cpu_diff(); if (concat_dim_ == 0) { int offset_num = 0; for (int i = 0; i < bottom->size(); ++i) { Blob* blob = (*bottom)[i]; - Dtype* bottom_diff = blob->mutable_cpu_diff(); - caffe_copy(blob->count(), - top_diff+top[0]->offset(offset_num), bottom_diff); + if (propagate_down[i]) { + Dtype* bottom_diff = blob->mutable_cpu_diff(); + caffe_copy(blob->count(), top_diff + top[0]->offset(offset_num), + bottom_diff); + } offset_num += blob->num(); } } else if (concat_dim_ == 1) { int offset_channel = 0; for (int i = 0; i < bottom->size(); ++i) { Blob* blob = (*bottom)[i]; - Dtype* bottom_diff = blob->mutable_cpu_diff(); - int num_elem = blob->channels()*blob->height()*blob->width(); - for (int n = 0; n < num_; ++n) { - caffe_copy(num_elem, top_diff+top[0]->offset(n, offset_channel), - bottom_diff+blob->offset(n)); + if (propagate_down[i]) { + Dtype* bottom_diff = blob->mutable_cpu_diff(); + int num_elem = blob->channels()*blob->height()*blob->width(); + for (int n = 0; n < num_; ++n) { + caffe_copy(num_elem, top_diff + top[0]->offset(n, offset_channel), + bottom_diff + blob->offset(n)); + } } offset_channel += blob->channels(); } diff --git a/src/caffe/layers/concat_layer.cu b/src/caffe/layers/concat_layer.cu index 2820bf0dfdf..ca0cf0c1b5b 100644 --- a/src/caffe/layers/concat_layer.cu +++ b/src/caffe/layers/concat_layer.cu @@ -41,26 +41,30 @@ Dtype ConcatLayer::Forward_gpu(const vector*>& bottom, template void ConcatLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->gpu_diff(); if (concat_dim_ == 0) { int offset_num = 0; for (int i = 0; i < bottom->size(); ++i) { Blob* blob = (*bottom)[i]; - Dtype* bottom_diff = blob->mutable_gpu_diff(); - caffe_gpu_copy(blob->count(), - top_diff + top[0]->offset(offset_num), bottom_diff); + if (propagate_down[i]) { + Dtype* bottom_diff = blob->mutable_gpu_diff(); + caffe_gpu_copy(blob->count(), top_diff + top[0]->offset(offset_num), + bottom_diff); + } offset_num += blob->num(); } } else if (concat_dim_ == 1) { int offset_channel = 0; for (int i = 0; i < bottom->size(); ++i) { Blob* blob = (*bottom)[i]; - Dtype* bottom_diff = blob->mutable_gpu_diff(); - int num_elem = blob->channels()*blob->height()*blob->width(); - for (int n = 0; n < num_; ++n) { - caffe_gpu_copy(num_elem, top_diff + top[0]->offset(n, offset_channel), - bottom_diff + blob->offset(n)); + if (propagate_down[i]) { + Dtype* bottom_diff = blob->mutable_gpu_diff(); + int num_elem = blob->channels()*blob->height()*blob->width(); + for (int n = 0; n < num_; ++n) { + caffe_gpu_copy(num_elem, top_diff + top[0]->offset(n, offset_channel), + bottom_diff + blob->offset(n)); + } } offset_channel += blob->channels(); } diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index 880b83afccb..9ec8da47e1a 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -109,7 +109,7 @@ Dtype ConvolutionLayer::Forward_cpu(const vector*>& bottom, template void ConvolutionLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->cpu_diff(); const Dtype* weight = this->blobs_[0]->cpu_data(); Dtype* weight_diff = this->blobs_[0]->mutable_cpu_diff(); @@ -148,7 +148,7 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, weight_diff + weight_offset * g); } // gradient w.r.t. bottom data, if necessary - if (propagate_down) { + if (propagate_down[0]) { for (int g = 0; g < group_; ++g) { caffe_cpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, (Dtype)1., weight + weight_offset * g, diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index 51f5d159879..85f95fd32c9 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -43,7 +43,7 @@ Dtype ConvolutionLayer::Forward_gpu(const vector*>& bottom, template void ConvolutionLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->gpu_diff(); const Dtype* weight = this->blobs_[0]->gpu_data(); Dtype* weight_diff = this->blobs_[0]->mutable_gpu_diff(); @@ -84,7 +84,7 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, weight_diff + weight_offset * g); } // gradient w.r.t. bottom data, if necessary - if (propagate_down) { + if (propagate_down[0]) { for (int g = 0; g < group_; ++g) { caffe_gpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, (Dtype)1., weight + weight_offset * g, diff --git a/src/caffe/layers/dropout_layer.cpp b/src/caffe/layers/dropout_layer.cpp index f1e54112986..e9a1a524d63 100644 --- a/src/caffe/layers/dropout_layer.cpp +++ b/src/caffe/layers/dropout_layer.cpp @@ -47,10 +47,10 @@ Dtype DropoutLayer::Forward_cpu(const vector*>& bottom, template void DropoutLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { CHECK(Caffe::phase() == Caffe::TRAIN); - if (propagate_down) { + if (propagate_down[0]) { const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); const unsigned int* mask = rand_vec_->cpu_data(); diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index 3c25d6a1292..2c7226402e8 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -56,10 +56,10 @@ __global__ void DropoutBackward(const int n, const Dtype* in_diff, template void DropoutLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { CHECK(Caffe::phase() == Caffe::TRAIN); - if (propagate_down) { + if (propagate_down[0]) { const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); const unsigned int* mask = diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index 5e5d760c993..2c265f6678f 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -67,12 +67,12 @@ Dtype EltwiseLayer::Forward_cpu( template void EltwiseLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - if (propagate_down) { - const int count = top[0]->count(); - const Dtype* top_data = top[0]->cpu_data(); - const Dtype* top_diff = top[0]->cpu_diff(); - for (int i = 0; i < bottom->size(); ++i) { + const vector& propagate_down, vector*>* bottom) { + const int count = top[0]->count(); + const Dtype* top_data = top[0]->cpu_data(); + const Dtype* top_diff = top[0]->cpu_diff(); + for (int i = 0; i < bottom->size(); ++i) { + if (propagate_down[i]) { const Dtype* bottom_data = (*bottom)[i]->cpu_data(); Dtype* bottom_diff = (*bottom)[i]->mutable_cpu_diff(); switch (op_) { diff --git a/src/caffe/layers/eltwise_layer.cu b/src/caffe/layers/eltwise_layer.cu index 75827badb80..3860944889c 100644 --- a/src/caffe/layers/eltwise_layer.cu +++ b/src/caffe/layers/eltwise_layer.cu @@ -36,12 +36,12 @@ Dtype EltwiseLayer::Forward_gpu( template void EltwiseLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - if (propagate_down) { - const int count = top[0]->count(); - const Dtype* top_data = top[0]->gpu_data(); - const Dtype* top_diff = top[0]->gpu_diff(); - for (int i = 0; i < bottom->size(); ++i) { + const vector& propagate_down, vector*>* bottom) { + const int count = top[0]->count(); + const Dtype* top_data = top[0]->gpu_data(); + const Dtype* top_diff = top[0]->gpu_diff(); + for (int i = 0; i < bottom->size(); ++i) { + if (propagate_down[i]) { const Dtype* bottom_data = (*bottom)[i]->gpu_data(); Dtype* bottom_diff = (*bottom)[i]->mutable_gpu_diff(); switch (op_) { diff --git a/src/caffe/layers/euclidean_loss_layer.cpp b/src/caffe/layers/euclidean_loss_layer.cpp index 766294997f0..2478a514cac 100644 --- a/src/caffe/layers/euclidean_loss_layer.cpp +++ b/src/caffe/layers/euclidean_loss_layer.cpp @@ -1,8 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include -#include -#include #include #include "caffe/layer.hpp" @@ -10,8 +7,6 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" -using std::max; - namespace caffe { template @@ -43,13 +38,18 @@ Dtype EuclideanLossLayer::Forward_cpu(const vector*>& bottom, template void EuclideanLossLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - caffe_cpu_axpby( - (*bottom)[0]->count(), // count - Dtype(1) / (*bottom)[0]->num(), // alpha - diff_.cpu_data(), // a - Dtype(0), // beta - (*bottom)[0]->mutable_cpu_diff()); // b + const vector& propagate_down, vector*>* bottom) { + for (int i = 0; i < 2; ++i) { + if (propagate_down[i]) { + const Dtype sign = (i == 0) ? 1 : -1; + caffe_cpu_axpby( + (*bottom)[i]->count(), // count + sign / (*bottom)[i]->num(), // alpha + diff_.cpu_data(), // a + Dtype(0), // beta + (*bottom)[i]->mutable_cpu_diff()); // b + } + } } INSTANTIATE_CLASS(EuclideanLossLayer); diff --git a/src/caffe/layers/euclidean_loss_layer.cu b/src/caffe/layers/euclidean_loss_layer.cu new file mode 100644 index 00000000000..b070ea96ff8 --- /dev/null +++ b/src/caffe/layers/euclidean_loss_layer.cu @@ -0,0 +1,45 @@ +// Copyright 2014 BVLC and contributors. + +#include + +#include "caffe/layer.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/util/math_functions.hpp" +#include "caffe/util/io.hpp" + +namespace caffe { + +template +Dtype EuclideanLossLayer::Forward_gpu(const vector*>& bottom, + vector*>* top) { + int count = bottom[0]->count(); + caffe_gpu_sub( + count, + bottom[0]->gpu_data(), + bottom[1]->gpu_data(), + diff_.mutable_gpu_data()); + Dtype dot; + caffe_gpu_dot(count, diff_.gpu_data(), diff_.gpu_data(), &dot); + Dtype loss = dot / bottom[0]->num() / Dtype(2); + return loss; +} + +template +void EuclideanLossLayer::Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom) { + for (int i = 0; i < 2; ++i) { + if (propagate_down[i]) { + const Dtype sign = (i == 0) ? 1 : -1; + caffe_gpu_axpby( + (*bottom)[i]->count(), // count + sign / (*bottom)[i]->num(), // alpha + diff_.gpu_data(), // a + Dtype(0), // beta + (*bottom)[i]->mutable_gpu_diff()); // b + } + } +} + +INSTANTIATE_CLASS(EuclideanLossLayer); + +} // namespace caffe diff --git a/src/caffe/layers/flatten_layer.cpp b/src/caffe/layers/flatten_layer.cpp index 95f4859f8d9..9494da9a255 100644 --- a/src/caffe/layers/flatten_layer.cpp +++ b/src/caffe/layers/flatten_layer.cpp @@ -29,7 +29,7 @@ Dtype FlattenLayer::Forward_cpu(const vector*>& bottom, template void FlattenLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { (*bottom)[0]->ShareDiff(*top[0]); } diff --git a/src/caffe/layers/flatten_layer.cu b/src/caffe/layers/flatten_layer.cu index 157eeb1dcdc..68add383c48 100644 --- a/src/caffe/layers/flatten_layer.cu +++ b/src/caffe/layers/flatten_layer.cu @@ -17,7 +17,7 @@ Dtype FlattenLayer::Forward_gpu(const vector*>& bottom, template void FlattenLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { (*bottom)[0]->ShareDiff(*top[0]); } diff --git a/src/caffe/layers/hdf5_data_layer.cpp b/src/caffe/layers/hdf5_data_layer.cpp index 50863b8d93a..2ba7fa77f45 100644 --- a/src/caffe/layers/hdf5_data_layer.cpp +++ b/src/caffe/layers/hdf5_data_layer.cpp @@ -114,11 +114,6 @@ Dtype HDF5DataLayer::Forward_cpu(const vector*>& bottom, return Dtype(0.); } -// The backward operations are dummy - they do not carry any computation. -template -void HDF5DataLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { } - INSTANTIATE_CLASS(HDF5DataLayer); } // namespace caffe diff --git a/src/caffe/layers/hdf5_data_layer.cu b/src/caffe/layers/hdf5_data_layer.cu index 9c5bb5a818f..b2b09ef7dd1 100644 --- a/src/caffe/layers/hdf5_data_layer.cu +++ b/src/caffe/layers/hdf5_data_layer.cu @@ -54,11 +54,6 @@ Dtype HDF5DataLayer::Forward_gpu(const vector*>& bottom, return Dtype(0.); } -template -void HDF5DataLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { -} - INSTANTIATE_CLASS(HDF5DataLayer); } // namespace caffe diff --git a/src/caffe/layers/hdf5_output_layer.cpp b/src/caffe/layers/hdf5_output_layer.cpp index 0961b9b73a3..3a513b9c366 100644 --- a/src/caffe/layers/hdf5_output_layer.cpp +++ b/src/caffe/layers/hdf5_output_layer.cpp @@ -67,7 +67,7 @@ Dtype HDF5OutputLayer::Forward_cpu(const vector*>& bottom, template void HDF5OutputLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { return; } diff --git a/src/caffe/layers/hdf5_output_layer.cu b/src/caffe/layers/hdf5_output_layer.cu index b9948252285..59505ee6acf 100644 --- a/src/caffe/layers/hdf5_output_layer.cu +++ b/src/caffe/layers/hdf5_output_layer.cu @@ -40,7 +40,7 @@ Dtype HDF5OutputLayer::Forward_gpu(const vector*>& bottom, template void HDF5OutputLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { return; } diff --git a/src/caffe/layers/hinge_loss_layer.cpp b/src/caffe/layers/hinge_loss_layer.cpp index fd00d8c6930..8097761d22b 100644 --- a/src/caffe/layers/hinge_loss_layer.cpp +++ b/src/caffe/layers/hinge_loss_layer.cpp @@ -45,27 +45,33 @@ Dtype HingeLossLayer::Forward_cpu(const vector*>& bottom, template void HingeLossLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - const Dtype* label = (*bottom)[1]->cpu_data(); - int num = (*bottom)[0]->num(); - int count = (*bottom)[0]->count(); - int dim = count / num; - - for (int i = 0; i < num; ++i) { - bottom_diff[i * dim + static_cast(label[i])] *= -1; + const vector& propagate_down, vector*>* bottom) { + if (propagate_down[1]) { + LOG(FATAL) << this->type_name() + << " Layer cannot backpropagate to label inputs."; } + if (propagate_down[0]) { + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + const Dtype* label = (*bottom)[1]->cpu_data(); + int num = (*bottom)[0]->num(); + int count = (*bottom)[0]->count(); + int dim = count / num; - switch (this->layer_param_.hinge_loss_param().norm()) { - case HingeLossParameter_Norm_L1: - caffe_cpu_sign(count, bottom_diff, bottom_diff); - caffe_scal(count, Dtype(1. / num), bottom_diff); - break; - case HingeLossParameter_Norm_L2: - caffe_scal(count, Dtype(2. / num), bottom_diff); - break; - default: - LOG(FATAL) << "Unknown Norm"; + for (int i = 0; i < num; ++i) { + bottom_diff[i * dim + static_cast(label[i])] *= -1; + } + + switch (this->layer_param_.hinge_loss_param().norm()) { + case HingeLossParameter_Norm_L1: + caffe_cpu_sign(count, bottom_diff, bottom_diff); + caffe_scal(count, Dtype(1. / num), bottom_diff); + break; + case HingeLossParameter_Norm_L2: + caffe_scal(count, Dtype(2. / num), bottom_diff); + break; + default: + LOG(FATAL) << "Unknown Norm"; + } } } diff --git a/src/caffe/layers/im2col_layer.cpp b/src/caffe/layers/im2col_layer.cpp index f0c26c9a1cb..e047dfb80a7 100644 --- a/src/caffe/layers/im2col_layer.cpp +++ b/src/caffe/layers/im2col_layer.cpp @@ -38,7 +38,7 @@ Dtype Im2colLayer::Forward_cpu(const vector*>& bottom, template void Im2colLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); for (int n = 0; n < top[0]->num(); ++n) { diff --git a/src/caffe/layers/im2col_layer.cu b/src/caffe/layers/im2col_layer.cu index 26bc1b97959..9cfb74e815c 100644 --- a/src/caffe/layers/im2col_layer.cu +++ b/src/caffe/layers/im2col_layer.cu @@ -23,7 +23,7 @@ Dtype Im2colLayer::Forward_gpu(const vector*>& bottom, template void Im2colLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); for (int n = 0; n < top[0]->num(); ++n) { diff --git a/src/caffe/layers/infogain_loss_layer.cpp b/src/caffe/layers/infogain_loss_layer.cpp index 3e7fc4f812b..a72874e4bb4 100644 --- a/src/caffe/layers/infogain_loss_layer.cpp +++ b/src/caffe/layers/infogain_loss_layer.cpp @@ -56,20 +56,26 @@ Dtype InfogainLossLayer::Forward_cpu(const vector*>& bottom, template void InfogainLossLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - const Dtype* bottom_data = (*bottom)[0]->cpu_data(); - const Dtype* bottom_label = (*bottom)[1]->cpu_data(); - const Dtype* infogain_mat = infogain_.cpu_data(); - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - int num = (*bottom)[0]->num(); - int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); - CHECK_EQ(infogain_.height(), dim); - for (int i = 0; i < num; ++i) { - int label = static_cast(bottom_label[i]); - for (int j = 0; j < dim; ++j) { - Dtype prob = max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); - bottom_diff[i * dim + j] = - infogain_mat[label * dim + j] / prob / num; + if (propagate_down[1]) { + LOG(FATAL) << this->type_name() + << " Layer cannot backpropagate to label inputs."; + } + if (propagate_down[0]) { + const Dtype* bottom_data = (*bottom)[0]->cpu_data(); + const Dtype* bottom_label = (*bottom)[1]->cpu_data(); + const Dtype* infogain_mat = infogain_.cpu_data(); + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + int num = (*bottom)[0]->num(); + int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); + CHECK_EQ(infogain_.height(), dim); + for (int i = 0; i < num; ++i) { + int label = static_cast(bottom_label[i]); + for (int j = 0; j < dim; ++j) { + Dtype prob = max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); + bottom_diff[i * dim + j] = - infogain_mat[label * dim + j] / prob / num; + } } } } diff --git a/src/caffe/layers/inner_product_layer.cpp b/src/caffe/layers/inner_product_layer.cpp index 971254c9c45..ddf55e49b63 100644 --- a/src/caffe/layers/inner_product_layer.cpp +++ b/src/caffe/layers/inner_product_layer.cpp @@ -74,7 +74,7 @@ Dtype InnerProductLayer::Forward_cpu(const vector*>& bottom, template void InnerProductLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->cpu_diff(); const Dtype* bottom_data = (*bottom)[0]->cpu_data(); @@ -87,7 +87,7 @@ void InnerProductLayer::Backward_cpu(const vector*>& top, reinterpret_cast(bias_multiplier_->cpu_data()), (Dtype)0., this->blobs_[1]->mutable_cpu_diff()); } - if (propagate_down) { + if (propagate_down[0]) { // Gradient with respect to bottom data caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, M_, K_, N_, (Dtype)1., top_diff, this->blobs_[0]->cpu_data(), (Dtype)0., diff --git a/src/caffe/layers/inner_product_layer.cu b/src/caffe/layers/inner_product_layer.cu index f139c23c310..5b95a57b23b 100644 --- a/src/caffe/layers/inner_product_layer.cu +++ b/src/caffe/layers/inner_product_layer.cu @@ -31,7 +31,7 @@ Dtype InnerProductLayer::Forward_gpu(const vector*>& bottom, template void InnerProductLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->gpu_diff(); const Dtype* bottom_data = (*bottom)[0]->gpu_data(); @@ -44,7 +44,7 @@ void InnerProductLayer::Backward_gpu(const vector*>& top, reinterpret_cast(bias_multiplier_->gpu_data()), (Dtype)0., this->blobs_[1]->mutable_gpu_diff()); } - if (propagate_down) { + if (propagate_down[0]) { // Gradient with respect to bottom data caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, M_, K_, N_, (Dtype)1., top_diff, this->blobs_[0]->gpu_data(), (Dtype)0., diff --git a/src/caffe/layers/lrn_layer.cpp b/src/caffe/layers/lrn_layer.cpp index 071e7198544..a86c1d4c59d 100644 --- a/src/caffe/layers/lrn_layer.cpp +++ b/src/caffe/layers/lrn_layer.cpp @@ -173,7 +173,7 @@ Dtype LRNLayer::WithinChannelForward( template void LRNLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { switch (this->layer_param_.lrn_param().norm_region()) { case LRNParameter_NormRegion_ACROSS_CHANNELS: CrossChannelBackward_cpu(top, propagate_down, bottom); @@ -188,7 +188,7 @@ void LRNLayer::Backward_cpu(const vector*>& top, template void LRNLayer::CrossChannelBackward_cpu( - const vector*>& top, const bool propagate_down, + const vector*>& top, const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->cpu_diff(); const Dtype* top_data = top[0]->cpu_data(); @@ -243,14 +243,16 @@ void LRNLayer::CrossChannelBackward_cpu( template void LRNLayer::WithinChannelBackward( - const vector*>& top, const bool propagate_down, + const vector*>& top, const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { - product_layer_->Backward(top, true, &product_bottom_vec_); - power_layer_->Backward(power_top_vec_, true, &pool_top_vec_); - pool_layer_->Backward(pool_top_vec_, true, &square_top_vec_); - square_layer_->Backward(square_top_vec_, true, &square_bottom_vec_); - split_layer_->Backward(split_top_vec_, true, bottom); + if (propagate_down[0]) { + vector product_propagate_down(2, true); + product_layer_->Backward(top, product_propagate_down, &product_bottom_vec_); + power_layer_->Backward(power_top_vec_, propagate_down, &pool_top_vec_); + pool_layer_->Backward(pool_top_vec_, propagate_down, &square_top_vec_); + square_layer_->Backward(square_top_vec_, propagate_down, + &square_bottom_vec_); + split_layer_->Backward(split_top_vec_, propagate_down, bottom); } } diff --git a/src/caffe/layers/lrn_layer.cu b/src/caffe/layers/lrn_layer.cu index b2097eb99cf..237a42b2860 100644 --- a/src/caffe/layers/lrn_layer.cu +++ b/src/caffe/layers/lrn_layer.cu @@ -104,7 +104,7 @@ Dtype LRNLayer::CrossChannelForward_gpu( template void LRNLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { switch (this->layer_param_.lrn_param().norm_region()) { case LRNParameter_NormRegion_ACROSS_CHANNELS: CrossChannelBackward_gpu(top, propagate_down, bottom); @@ -180,7 +180,7 @@ __global__ void LRNComputeDiff(const int nthreads, const Dtype* bottom_data, template void LRNLayer::CrossChannelBackward_gpu( - const vector*>& top, const bool propagate_down, + const vector*>& top, const vector& propagate_down, vector*>* bottom) { int n_threads = num_ * height_ * width_; // NOLINT_NEXT_LINE(whitespace/operators) diff --git a/src/caffe/layers/multinomial_logistic_loss_layer.cpp b/src/caffe/layers/multinomial_logistic_loss_layer.cpp index 5a408795d6d..013d4034240 100644 --- a/src/caffe/layers/multinomial_logistic_loss_layer.cpp +++ b/src/caffe/layers/multinomial_logistic_loss_layer.cpp @@ -43,18 +43,24 @@ Dtype MultinomialLogisticLossLayer::Forward_cpu( template void MultinomialLogisticLossLayer::Backward_cpu( - const vector*>& top, const bool propagate_down, + const vector*>& top, const vector& propagate_down, vector*>* bottom) { - const Dtype* bottom_data = (*bottom)[0]->cpu_data(); - const Dtype* bottom_label = (*bottom)[1]->cpu_data(); - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - int num = (*bottom)[0]->num(); - int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); - memset(bottom_diff, 0, sizeof(Dtype) * (*bottom)[0]->count()); - for (int i = 0; i < num; ++i) { - int label = static_cast(bottom_label[i]); - Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); - bottom_diff[i * dim + label] = -1. / prob / num; + if (propagate_down[1]) { + LOG(FATAL) << this->type_name() + << " Layer cannot backpropagate to label inputs."; + } + if (propagate_down[0]) { + const Dtype* bottom_data = (*bottom)[0]->cpu_data(); + const Dtype* bottom_label = (*bottom)[1]->cpu_data(); + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + int num = (*bottom)[0]->num(); + int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); + memset(bottom_diff, 0, sizeof(Dtype) * (*bottom)[0]->count()); + for (int i = 0; i < num; ++i) { + int label = static_cast(bottom_label[i]); + Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); + bottom_diff[i * dim + label] = -1. / prob / num; + } } } diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index ba84edeab5d..bc002078814 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -184,8 +184,8 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, template void PoolingLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - if (!propagate_down) { + const vector& propagate_down, vector*>* bottom) { + if (!propagate_down[0]) { return; } const Dtype* top_diff = top[0]->cpu_diff(); diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index abba6252cc6..f07fe3c48ac 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -322,8 +322,8 @@ __global__ void StoPoolBackward(const int nthreads, template void PoolingLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - if (!propagate_down) { + const vector& propagate_down, vector*>* bottom) { + if (!propagate_down[0]) { return; } const Dtype* top_diff = top[0]->gpu_diff(); diff --git a/src/caffe/layers/power_layer.cpp b/src/caffe/layers/power_layer.cpp index 85c84423aa2..5ff3392968e 100644 --- a/src/caffe/layers/power_layer.cpp +++ b/src/caffe/layers/power_layer.cpp @@ -49,9 +49,9 @@ Dtype PowerLayer::Forward_cpu(const vector*>& bottom, template void PowerLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); const int count = (*bottom)[0]->count(); const Dtype* top_diff = top[0]->cpu_diff(); diff --git a/src/caffe/layers/power_layer.cu b/src/caffe/layers/power_layer.cu index 9a25de72d36..6d699636e21 100644 --- a/src/caffe/layers/power_layer.cu +++ b/src/caffe/layers/power_layer.cu @@ -38,9 +38,9 @@ Dtype PowerLayer::Forward_gpu(const vector*>& bottom, template void PowerLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); const int count = (*bottom)[0]->count(); const Dtype* top_diff = top[0]->gpu_diff(); diff --git a/src/caffe/layers/relu_layer.cpp b/src/caffe/layers/relu_layer.cpp index 7a33e556268..d7a8509b247 100644 --- a/src/caffe/layers/relu_layer.cpp +++ b/src/caffe/layers/relu_layer.cpp @@ -24,9 +24,9 @@ Dtype ReLULayer::Forward_cpu(const vector*>& bottom, template void ReLULayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { const Dtype* bottom_data = (*bottom)[0]->cpu_data(); const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); diff --git a/src/caffe/layers/relu_layer.cu b/src/caffe/layers/relu_layer.cu index 51e5ef26c81..a5b24afab60 100644 --- a/src/caffe/layers/relu_layer.cu +++ b/src/caffe/layers/relu_layer.cu @@ -45,9 +45,9 @@ __global__ void ReLUBackward(const int n, const Dtype* in_diff, template void ReLULayer::Backward_gpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { const Dtype* bottom_data = (*bottom)[0]->gpu_data(); const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp index 955581d8875..8cb830ff248 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp @@ -16,7 +16,7 @@ template void SigmoidCrossEntropyLossLayer::FurtherSetUp( const vector*>& bottom, vector*>* top) { CHECK_EQ(bottom[0]->count(), bottom[1]->count()) << - "SigmoidCrossEntropyLoss Layer inputs must have same count."; + "SIGMOID_CROSS_ENTROPY_LOSS layer inputs must have the same count."; sigmoid_bottom_vec_.clear(); sigmoid_bottom_vec_.push_back(bottom[0]); sigmoid_top_vec_.clear(); @@ -49,17 +49,23 @@ Dtype SigmoidCrossEntropyLossLayer::Forward_cpu( template void SigmoidCrossEntropyLossLayer::Backward_cpu( - const vector*>& top, const bool propagate_down, + const vector*>& top, const vector& propagate_down, vector*>* bottom) { - // First, compute the diff - const int count = (*bottom)[0]->count(); - const int num = (*bottom)[0]->num(); - const Dtype* sigmoid_output_data = sigmoid_output_->cpu_data(); - const Dtype* target = (*bottom)[1]->cpu_data(); - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - caffe_sub(count, sigmoid_output_data, target, bottom_diff); - // Scale down gradient - caffe_scal(count, Dtype(1) / num, bottom_diff); + if (propagate_down[1]) { + LOG(FATAL) << this->type_name() + << " Layer cannot backpropagate to label inputs."; + } + if (propagate_down[0]) { + // First, compute the diff + const int count = (*bottom)[0]->count(); + const int num = (*bottom)[0]->num(); + const Dtype* sigmoid_output_data = sigmoid_output_->cpu_data(); + const Dtype* target = (*bottom)[1]->cpu_data(); + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + caffe_sub(count, sigmoid_output_data, target, bottom_diff); + // Scale down gradient + caffe_scal(count, Dtype(1) / num, bottom_diff); + } } INSTANTIATE_CLASS(SigmoidCrossEntropyLossLayer); diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu index 0caed2b83bd..8f7275827e2 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu @@ -37,18 +37,24 @@ Dtype SigmoidCrossEntropyLossLayer::Forward_gpu( template void SigmoidCrossEntropyLossLayer::Backward_gpu( - const vector*>& top, const bool propagate_down, + const vector*>& top, const vector& propagate_down, vector*>* bottom) { - // First, compute the diff - const int count = (*bottom)[0]->count(); - const int num = (*bottom)[0]->num(); - const Dtype* sigmoid_output_data = sigmoid_output_->gpu_data(); - const Dtype* target = (*bottom)[1]->gpu_data(); - Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); - caffe_gpu_copy(count, sigmoid_output_data, bottom_diff); - caffe_gpu_axpy(count, Dtype(-1), target, bottom_diff); - // Scale down gradient - caffe_gpu_scal(count, Dtype(1) / num, bottom_diff); + if (propagate_down[1]) { + LOG(FATAL) << this->type_name() + << " Layer cannot backpropagate to label inputs."; + } + if (propagate_down[0]) { + // First, compute the diff + const int count = (*bottom)[0]->count(); + const int num = (*bottom)[0]->num(); + const Dtype* sigmoid_output_data = sigmoid_output_->gpu_data(); + const Dtype* target = (*bottom)[1]->gpu_data(); + Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); + caffe_gpu_copy(count, sigmoid_output_data, bottom_diff); + caffe_gpu_axpy(count, Dtype(-1), target, bottom_diff); + // Scale down gradient + caffe_gpu_scal(count, Dtype(1) / num, bottom_diff); + } } INSTANTIATE_CLASS(SigmoidCrossEntropyLossLayer); diff --git a/src/caffe/layers/sigmoid_layer.cpp b/src/caffe/layers/sigmoid_layer.cpp index 88a7920fc18..50139d863dd 100644 --- a/src/caffe/layers/sigmoid_layer.cpp +++ b/src/caffe/layers/sigmoid_layer.cpp @@ -28,9 +28,9 @@ Dtype SigmoidLayer::Forward_cpu(const vector*>& bottom, template void SigmoidLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { const Dtype* top_data = top[0]->cpu_data(); const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); diff --git a/src/caffe/layers/sigmoid_layer.cu b/src/caffe/layers/sigmoid_layer.cu index aa8568abb3f..d55968e58c2 100644 --- a/src/caffe/layers/sigmoid_layer.cu +++ b/src/caffe/layers/sigmoid_layer.cu @@ -47,9 +47,9 @@ __global__ void SigmoidBackward(const int n, const Dtype* in_diff, template void SigmoidLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { const Dtype* top_data = top[0]->gpu_data(); const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); diff --git a/src/caffe/layers/softmax_layer.cpp b/src/caffe/layers/softmax_layer.cpp index dbe16da2343..57847d005f6 100644 --- a/src/caffe/layers/softmax_layer.cpp +++ b/src/caffe/layers/softmax_layer.cpp @@ -60,7 +60,7 @@ Dtype SoftmaxLayer::Forward_cpu(const vector*>& bottom, template void SoftmaxLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->cpu_diff(); const Dtype* top_data = top[0]->cpu_data(); diff --git a/src/caffe/layers/softmax_layer.cu b/src/caffe/layers/softmax_layer.cu index a264a819b78..f53883c9206 100644 --- a/src/caffe/layers/softmax_layer.cu +++ b/src/caffe/layers/softmax_layer.cu @@ -79,7 +79,7 @@ Dtype SoftmaxLayer::Forward_gpu(const vector*>& bottom, // TODO(Yangqing): implement the GPU version of softmax. template void SoftmaxLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { const Dtype* top_diff = top[0]->gpu_diff(); const Dtype* top_data = top[0]->gpu_data(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index bdb3272ee25..1a3601aa9e6 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -57,20 +57,25 @@ Dtype SoftmaxWithLossLayer::Forward_cpu( template void SoftmaxWithLossLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - // Compute the diff - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - const Dtype* prob_data = prob_.cpu_data(); - memcpy(bottom_diff, prob_data, sizeof(Dtype) * prob_.count()); - const Dtype* label = (*bottom)[1]->cpu_data(); - int num = prob_.num(); - int dim = prob_.count() / num; - for (int i = 0; i < num; ++i) { - bottom_diff[i * dim + static_cast(label[i])] -= 1; + if (propagate_down[1]) { + LOG(FATAL) << this->type_name() + << " Layer cannot backpropagate to label inputs."; + } + if (propagate_down[0]) { + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + const Dtype* prob_data = prob_.cpu_data(); + memcpy(bottom_diff, prob_data, sizeof(Dtype) * prob_.count()); + const Dtype* label = (*bottom)[1]->cpu_data(); + int num = prob_.num(); + int dim = prob_.count() / num; + for (int i = 0; i < num; ++i) { + bottom_diff[i * dim + static_cast(label[i])] -= 1; + } + // Scale down gradient + caffe_scal(prob_.count(), Dtype(1) / num, bottom_diff); } - // Scale down gradient - caffe_scal(prob_.count(), Dtype(1) / num, bottom_diff); } diff --git a/src/caffe/layers/softmax_loss_layer.cu b/src/caffe/layers/softmax_loss_layer.cu index 24a3c384c96..e46be6ba85d 100644 --- a/src/caffe/layers/softmax_loss_layer.cu +++ b/src/caffe/layers/softmax_loss_layer.cu @@ -21,7 +21,7 @@ Dtype SoftmaxWithLossLayer::Forward_gpu( template void SoftmaxWithLossLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { + const vector& propagate_down, vector*>* bottom) { // TODO(Yangqing): implement the GPU version of softmax. Backward_cpu(top, propagate_down, bottom); } diff --git a/src/caffe/layers/split_layer.cpp b/src/caffe/layers/split_layer.cpp index 2f99ca1842c..28abd95f5ff 100644 --- a/src/caffe/layers/split_layer.cpp +++ b/src/caffe/layers/split_layer.cpp @@ -37,8 +37,8 @@ Dtype SplitLayer::Forward_cpu(const vector*>& bottom, template void SplitLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - if (propagate_down) { + const vector& propagate_down, vector*>* bottom) { + if (propagate_down[0]) { (*bottom)[0]->ShareDiff(*top[0]); // Add remaining top blob diffs. Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); diff --git a/src/caffe/layers/split_layer.cu b/src/caffe/layers/split_layer.cu index e2269b8beab..4c921d39f17 100644 --- a/src/caffe/layers/split_layer.cu +++ b/src/caffe/layers/split_layer.cu @@ -19,8 +19,8 @@ Dtype SplitLayer::Forward_gpu(const vector*>& bottom, template void SplitLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, vector*>* bottom) { - if (propagate_down) { + const vector& propagate_down, vector*>* bottom) { + if (propagate_down[0]) { (*bottom)[0]->ShareDiff(*top[0]); // Add remaining top blob diffs. Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); diff --git a/src/caffe/layers/tanh_layer.cpp b/src/caffe/layers/tanh_layer.cpp index 77b4410411c..6b5166d53e9 100644 --- a/src/caffe/layers/tanh_layer.cpp +++ b/src/caffe/layers/tanh_layer.cpp @@ -26,9 +26,9 @@ Dtype TanHLayer::Forward_cpu(const vector*>& bottom, template void TanHLayer::Backward_cpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { const Dtype* top_data = top[0]->cpu_data(); const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); diff --git a/src/caffe/layers/tanh_layer.cu b/src/caffe/layers/tanh_layer.cu index aa822d84f38..9307cab2ec5 100644 --- a/src/caffe/layers/tanh_layer.cu +++ b/src/caffe/layers/tanh_layer.cu @@ -42,9 +42,9 @@ __global__ void TanHBackward(const int n, const Dtype* in_diff, template void TanHLayer::Backward_gpu(const vector*>& top, - const bool propagate_down, + const vector& propagate_down, vector*>* bottom) { - if (propagate_down) { + if (propagate_down[0]) { const Dtype* top_data = top[0]->gpu_data(); const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index d76d284df2e..8687d0070ce 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -56,6 +56,7 @@ void Net::Init(const NetParameter& in_param) { top_vecs_.resize(param.layers_size()); bottom_id_vecs_.resize(param.layers_size()); top_id_vecs_.resize(param.layers_size()); + bottom_need_backward_.resize(param.layers_size()); for (int layer_id = 0; layer_id < param.layers_size(); ++layer_id) { const LayerParameter& layer_param = param.layers(layer_id); layers_.push_back(shared_ptr >(GetLayer(layer_param))); @@ -196,6 +197,8 @@ int Net::AppendBottom(const NetParameter& param, bottom_vecs_[layer_id].push_back(blobs_[blob_id].get()); bottom_id_vecs_[layer_id].push_back(blob_id); available_blobs->erase(blob_name); + const bool need_backward = param.force_backward() || blob_need_backward_[blob_id]; + bottom_need_backward_[layer_id].push_back(need_backward); return blob_id; } @@ -288,7 +291,8 @@ template void Net::Backward() { for (int i = layers_.size() - 1; i >= 0; --i) { if (layer_need_backward_[i]) { - layers_[i]->Backward(top_vecs_[i], true, &bottom_vecs_[i]); + layers_[i]->Backward( + top_vecs_[i], bottom_need_backward_[i], &bottom_vecs_[i]); } } } diff --git a/src/caffe/test/test_euclidean_loss_layer.cpp b/src/caffe/test/test_euclidean_loss_layer.cpp index d5e4107ac5e..02945b655de 100644 --- a/src/caffe/test/test_euclidean_loss_layer.cpp +++ b/src/caffe/test/test_euclidean_loss_layer.cpp @@ -47,13 +47,23 @@ typedef ::testing::Types Dtypes; TYPED_TEST_CASE(EuclideanLossLayerTest, Dtypes); TYPED_TEST(EuclideanLossLayerTest, TestGradientCPU) { - LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); + LayerParameter layer_param; + EuclideanLossLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + GradientChecker checker(1e-2, 1e-2, 1701); + checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_), -1, -1, -1); +} + +TYPED_TEST(EuclideanLossLayerTest, TestGradientGPU) { + Caffe::set_mode(Caffe::GPU); + LayerParameter layer_param; EuclideanLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); GradientChecker checker(1e-2, 1e-2, 1701); checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_), 0, -1, -1); + &(this->blob_top_vec_), -1, -1, -1); } } // namespace caffe diff --git a/src/caffe/test/test_gradient_check_util.hpp b/src/caffe/test/test_gradient_check_util.hpp index bcf03973dd3..ff104b90eb9 100644 --- a/src/caffe/test/test_gradient_check_util.hpp +++ b/src/caffe/test/test_gradient_check_util.hpp @@ -86,6 +86,7 @@ void GradientChecker::CheckGradientSingle(Layer* layer, } // First, figure out what blobs we need to check against. vector*> blobs_to_check; + vector propagate_down(bottom->size(), check_bottom < 0); for (int i = 0; i < layer->blobs().size(); ++i) { blobs_to_check.push_back(layer->blobs()[i].get()); } @@ -94,8 +95,9 @@ void GradientChecker::CheckGradientSingle(Layer* layer, blobs_to_check.push_back((*bottom)[i]); } } else { - CHECK(check_bottom < bottom->size()); + CHECK_LT(check_bottom, bottom->size()); blobs_to_check.push_back((*bottom)[check_bottom]); + propagate_down[check_bottom] = true; } // Compute the gradient analytically using Backward Caffe::set_random_seed(seed_); @@ -103,7 +105,7 @@ void GradientChecker::CheckGradientSingle(Layer* layer, Dtype computed_objective = layer->Forward(*bottom, top); // Get additional loss from the objective computed_objective += GetObjAndGradient(top, top_id, top_data_id); - layer->Backward(*top, true, bottom); + layer->Backward(*top, propagate_down, bottom); // Store computed gradients for all checked blobs vector > > computed_gradient_blobs(blobs_to_check.size()); diff --git a/src/caffe/test/test_lrn_layer.cpp b/src/caffe/test/test_lrn_layer.cpp index 7f0a211a50b..6996a234fc6 100644 --- a/src/caffe/test/test_lrn_layer.cpp +++ b/src/caffe/test/test_lrn_layer.cpp @@ -164,7 +164,9 @@ TYPED_TEST(LRNLayerTest, TestCPUGradientAcrossChannels) { for (int i = 0; i < this->blob_top_->count(); ++i) { this->blob_top_->mutable_cpu_diff()[i] = 1.; } - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + vector propagate_down(this->blob_bottom_vec_.size(), true); + layer.Backward(this->blob_top_vec_, propagate_down, + &(this->blob_bottom_vec_)); // for (int i = 0; i < this->blob_bottom_->count(); ++i) { // std::cout << "CPU diff " << this->blob_bottom_->cpu_diff()[i] // << std::endl; @@ -183,7 +185,9 @@ TYPED_TEST(LRNLayerTest, TestGPUGradientAcrossChannels) { for (int i = 0; i < this->blob_top_->count(); ++i) { this->blob_top_->mutable_cpu_diff()[i] = 1.; } - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + vector propagate_down(this->blob_bottom_vec_.size(), true); + layer.Backward(this->blob_top_vec_, propagate_down, + &(this->blob_bottom_vec_)); // for (int i = 0; i < this->blob_bottom_->count(); ++i) { // std::cout << "GPU diff " << this->blob_bottom_->cpu_diff()[i] // << std::endl; @@ -254,7 +258,6 @@ TYPED_TEST(LRNLayerTest, TestCPUGradientWithinChannel) { for (int i = 0; i < this->blob_top_->count(); ++i) { this->blob_top_->mutable_cpu_diff()[i] = 1.; } - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } @@ -272,7 +275,6 @@ TYPED_TEST(LRNLayerTest, TestGPUGradientWithinChannel) { for (int i = 0; i < this->blob_top_->count(); ++i) { this->blob_top_->mutable_cpu_diff()[i] = 1.; } - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_maxpool_dropout_layers.cpp b/src/caffe/test/test_maxpool_dropout_layers.cpp index 3862e12697b..ac6f86f0cf8 100644 --- a/src/caffe/test/test_maxpool_dropout_layers.cpp +++ b/src/caffe/test/test_maxpool_dropout_layers.cpp @@ -130,7 +130,9 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUBackward) { for (int i = 0; i < this->blob_top_->count(); ++i) { this->blob_top_->mutable_cpu_diff()[i] = 1.; } - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + vector propagate_down(this->blob_bottom_vec_.size(), true); + layer.Backward(this->blob_top_vec_, propagate_down, + &(this->blob_bottom_vec_)); const TypeParam* bottom_diff = this->blob_bottom_->cpu_diff(); TypeParam sum = 0.; for (int i = 0; i < this->blob_bottom_->count(); ++i) { @@ -141,8 +143,10 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUBackward) { DropoutLayer dropout_layer(layer_param); dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); - dropout_layer.Backward(this->blob_top_vec_, true, &(this->blob_top_vec_)); - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + dropout_layer.Backward(this->blob_top_vec_, propagate_down, + &(this->blob_top_vec_)); + layer.Backward(this->blob_top_vec_, propagate_down, + &(this->blob_bottom_vec_)); TypeParam sum_with_dropout = 0.; bottom_diff = this->blob_bottom_->cpu_diff(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { @@ -164,7 +168,9 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUBackward) { for (int i = 0; i < this->blob_top_->count(); ++i) { this->blob_top_->mutable_cpu_diff()[i] = 1.; } - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + vector propagate_down(this->blob_bottom_vec_.size(), true); + layer.Backward(this->blob_top_vec_, propagate_down, + &(this->blob_bottom_vec_)); const TypeParam* bottom_diff = this->blob_bottom_->cpu_diff(); TypeParam sum = 0.; for (int i = 0; i < this->blob_bottom_->count(); ++i) { @@ -175,8 +181,10 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUBackward) { DropoutLayer dropout_layer(layer_param); dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); - dropout_layer.Backward(this->blob_top_vec_, true, &(this->blob_top_vec_)); - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); + dropout_layer.Backward(this->blob_top_vec_, propagate_down, + &(this->blob_top_vec_)); + layer.Backward(this->blob_top_vec_, propagate_down, + &(this->blob_bottom_vec_)); TypeParam sum_with_dropout = 0.; bottom_diff = this->blob_bottom_->cpu_diff(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index 7f2f67b59c6..eb368cd6c22 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -1,7 +1,9 @@ // Copyright 2014 BVLC and contributors. -#include #include +#include + +#include "google/protobuf/text_format.h" #include "gtest/gtest.h" #include "caffe/common.hpp" @@ -15,9 +17,15 @@ namespace caffe { template class NetTest : public ::testing::Test { protected: - virtual void SetUp() { - const string& proto = - "name: 'TestNetwork' " + virtual void InitNetFromProtoString(const string& proto) { + NetParameter param; + CHECK(google::protobuf::TextFormat::ParseFromString(proto, ¶m)); + net_.reset(new Net(param)); + } + + virtual void InitTinyNet(const bool force_backward = false) { + string proto = + "name: 'TinyTestNetwork' " "layers: { " " name: 'data' " " type: DUMMY_DATA " @@ -66,9 +74,84 @@ class NetTest : public ::testing::Test { " bottom: 'label' " " top: 'top_loss' " "} "; - NetParameter param; - CHECK(google::protobuf::TextFormat::ParseFromString(proto, ¶m)); - net_.reset(new Net(param)); + if (force_backward) { + proto += "force_backward: true "; + } + InitNetFromProtoString(proto); + } + + virtual void InitTrickyNet() { + const string& proto = + "name: 'TrickyTestNetwork' " + "layers: { " + " name: 'data' " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: 5 " + " channels: 2 " + " height: 3 " + " width: 4 " + " num: 5 " + " channels: 1 " + " height: 1 " + " width: 1 " + " data_filler { " + " type: 'gaussian' " + " std: 0.01 " + " } " + " } " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerproduct' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 1000 " + " weight_filler { " + " type: 'gaussian' " + " std: 0.01 " + " } " + " bias_filler { " + " type: 'constant' " + " value: 0 " + " } " + " } " + " blobs_lr: 1. " + " blobs_lr: 2. " + " weight_decay: 1. " + " weight_decay: 0. " + " bottom: 'data' " + " top: 'transformed_data' " + "} " + "layers: { " + " name: 'innerproduct' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 1 " + " weight_filler { " + " type: 'gaussian' " + " std: 0.01 " + " } " + " bias_filler { " + " type: 'constant' " + " value: 0 " + " } " + " } " + " blobs_lr: 1. " + " blobs_lr: 2. " + " weight_decay: 1. " + " weight_decay: 0. " + " bottom: 'label' " + " top: 'transformed_label' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'transformed_data' " + " bottom: 'transformed_label' " + "} "; + InitNetFromProtoString(proto); } shared_ptr > net_; @@ -78,6 +161,7 @@ typedef ::testing::Types Dtypes; TYPED_TEST_CASE(NetTest, Dtypes); TYPED_TEST(NetTest, TestHasBlob) { + this->InitTinyNet(); EXPECT_TRUE(this->net_->has_blob("data")); EXPECT_TRUE(this->net_->has_blob("label")); EXPECT_TRUE(this->net_->has_blob("innerproduct")); @@ -86,6 +170,7 @@ TYPED_TEST(NetTest, TestHasBlob) { } TYPED_TEST(NetTest, TestGetBlob) { + this->InitTinyNet(); EXPECT_EQ(this->net_->blob_by_name("data"), this->net_->blobs()[0]); EXPECT_EQ(this->net_->blob_by_name("label"), this->net_->blobs()[1]); EXPECT_EQ(this->net_->blob_by_name("innerproduct"), this->net_->blobs()[2]); @@ -94,6 +179,7 @@ TYPED_TEST(NetTest, TestGetBlob) { } TYPED_TEST(NetTest, TestHasLayer) { + this->InitTinyNet(); EXPECT_TRUE(this->net_->has_layer("data")); EXPECT_TRUE(this->net_->has_layer("innerproduct")); EXPECT_TRUE(this->net_->has_layer("loss")); @@ -101,10 +187,53 @@ TYPED_TEST(NetTest, TestHasLayer) { } TYPED_TEST(NetTest, TestGetLayerByName) { + this->InitTinyNet(); EXPECT_EQ(this->net_->layer_by_name("data"), this->net_->layers()[0]); EXPECT_EQ(this->net_->layer_by_name("innerproduct"), this->net_->layers()[1]); EXPECT_EQ(this->net_->layer_by_name("loss"), this->net_->layers()[2]); EXPECT_FALSE(this->net_->layer_by_name("label")); } +TYPED_TEST(NetTest, TestBottomNeedBackward) { + this->InitTinyNet(); + const vector >& bottom_need_backward = + this->net_->bottom_need_backward(); + EXPECT_EQ(3, bottom_need_backward.size()); + EXPECT_EQ(0, bottom_need_backward[0].size()); + EXPECT_EQ(1, bottom_need_backward[1].size()); + EXPECT_EQ(false, bottom_need_backward[1][0]); + EXPECT_EQ(2, bottom_need_backward[2].size()); + EXPECT_EQ(true, bottom_need_backward[2][0]); + EXPECT_EQ(false, bottom_need_backward[2][1]); +} + +TYPED_TEST(NetTest, TestBottomNeedBackwardForce) { + const bool force_backward = true; + this->InitTinyNet(force_backward); + const vector >& bottom_need_backward = + this->net_->bottom_need_backward(); + EXPECT_EQ(3, bottom_need_backward.size()); + EXPECT_EQ(0, bottom_need_backward[0].size()); + EXPECT_EQ(1, bottom_need_backward[1].size()); + EXPECT_EQ(true, bottom_need_backward[1][0]); + EXPECT_EQ(2, bottom_need_backward[2].size()); + EXPECT_EQ(true, bottom_need_backward[2][0]); + EXPECT_EQ(true, bottom_need_backward[2][1]); +} + +TYPED_TEST(NetTest, TestBottomNeedBackwardTricky) { + this->InitTrickyNet(); + const vector >& bottom_need_backward = + this->net_->bottom_need_backward(); + EXPECT_EQ(4, bottom_need_backward.size()); + EXPECT_EQ(0, bottom_need_backward[0].size()); + EXPECT_EQ(1, bottom_need_backward[1].size()); + EXPECT_EQ(false, bottom_need_backward[1][0]); + EXPECT_EQ(1, bottom_need_backward[2].size()); + EXPECT_EQ(false, bottom_need_backward[2][0]); + EXPECT_EQ(2, bottom_need_backward[3].size()); + EXPECT_EQ(true, bottom_need_backward[3][0]); + EXPECT_EQ(true, bottom_need_backward[3][1]); +} + } // namespace caffe diff --git a/tools/net_speed_benchmark.cpp b/tools/net_speed_benchmark.cpp index 36a00779f60..4b65cfd3dcc 100644 --- a/tools/net_speed_benchmark.cpp +++ b/tools/net_speed_benchmark.cpp @@ -64,6 +64,8 @@ int main(int argc, char** argv) { const vector > >& layers = caffe_net.layers(); vector*> >& bottom_vecs = caffe_net.bottom_vecs(); vector*> >& top_vecs = caffe_net.top_vecs(); + const vector >& bottom_need_backward = + caffe_net.bottom_need_backward(); LOG(ERROR) << "*** Benchmark begins ***"; Timer total_timer; total_timer.Start(); @@ -87,7 +89,8 @@ int main(int argc, char** argv) { const string& layername = layers[i]->layer_param().name(); timer.Start(); for (int j = 0; j < total_iter; ++j) { - layers[i]->Backward(top_vecs[i], true, &bottom_vecs[i]); + layers[i]->Backward(top_vecs[i], bottom_need_backward[i], + &bottom_vecs[i]); } LOG(ERROR) << layername << "\tbackward: " << timer.MilliSeconds() << " milli seconds."; From a04834f6ceee13310b7f4e17ccf639c1e7abd459 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 16 Jun 2014 16:37:17 -0700 Subject: [PATCH 179/408] force_backward works properly with non-backproppable things --- include/caffe/layer.hpp | 8 ++++ include/caffe/loss_layers.hpp | 15 +++++++ src/caffe/net.cpp | 21 ++++++++-- src/caffe/test/test_net.cpp | 73 +++++++++++++++++++++++++++++++++++ 4 files changed, 114 insertions(+), 3 deletions(-) diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index 12e7610d756..690c36ba23f 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -84,6 +84,14 @@ class Layer { virtual inline int MinTopBlobs() const { return -1; } virtual inline int MaxTopBlobs() const { return -1; } + // Declare for each bottom blob whether to allow force_backward -- that is, + // if AllowForceBackward(i) == false, we will ignore the force_backward + // setting and backpropagate to blob i only if it needs gradient information + // (as is done when force_backward == false). + virtual inline bool AllowForceBackward(const int bottom_index) const { + return true; + } + protected: // The protobuf that stores the layer parameters LayerParameter layer_param_; diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index b8adc996be5..bb03f637450 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -38,6 +38,11 @@ class LossLayer : public Layer { virtual inline int ExactNumBottomBlobs() const { return 2; } virtual inline int MaxTopBlobs() const { return 1; } + // We usually cannot backpropagate to the labels; ignore force_backward for + // these inputs. + virtual inline bool AllowForceBackward(const int bottom_index) const { + return bottom_index != 1; + } }; // Forward declare SoftmaxLayer for use in SoftmaxWithLossLayer. @@ -63,6 +68,11 @@ class SoftmaxWithLossLayer : public Layer { return LayerParameter_LayerType_SOFTMAX_LOSS; } virtual inline int MaxTopBlobs() const { return 2; } + // We cannot backpropagate to the labels; ignore force_backward for these + // inputs. + virtual inline bool AllowForceBackward(const int bottom_index) const { + return bottom_index != 1; + } protected: virtual Dtype Forward_cpu(const vector*>& bottom, @@ -133,6 +143,11 @@ class EuclideanLossLayer : public LossLayer { virtual inline LayerParameter_LayerType type() const { return LayerParameter_LayerType_EUCLIDEAN_LOSS; } + // Unlike most loss layers, in the EuclideanLossLayer we can backpropagate + // to both inputs. + virtual inline bool AllowForceBackward(const int bottom_index) const { + return true; + } protected: virtual Dtype Forward_cpu(const vector*>& bottom, diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 8687d0070ce..a6537619a8b 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -62,7 +62,7 @@ void Net::Init(const NetParameter& in_param) { layers_.push_back(shared_ptr >(GetLayer(layer_param))); layer_names_.push_back(layer_param.name()); LOG(INFO) << "Creating Layer " << layer_param.name(); - bool need_backward = param.force_backward(); + bool need_backward = false; // Figure out this layer's input and output for (int bottom_id = 0; bottom_id < layer_param.bottom_size(); ++bottom_id) { @@ -112,6 +112,21 @@ void Net::Init(const NetParameter& in_param) { << " does not need backward computation."; } } + // Handle force_backward if needed. + if (param.force_backward()) { + for (int layer_id = 0; layer_id < layers_.size(); ++layer_id) { + layer_need_backward_[layer_id] = true; + for (int bottom_id = 0; + bottom_id < bottom_need_backward_[layer_id].size(); ++bottom_id) { + bottom_need_backward_[layer_id][bottom_id] = + bottom_need_backward_[layer_id][bottom_id] || + layers_[layer_id]->AllowForceBackward(bottom_id); + blob_need_backward_[bottom_id_vecs_[layer_id][bottom_id]] = + blob_need_backward_[bottom_id_vecs_[layer_id][bottom_id]] || + bottom_need_backward_[layer_id][bottom_id]; + } + } + } // In the end, all remaining blobs are considered output blobs. for (set::iterator it = available_blobs.begin(); it != available_blobs.end(); ++it) { @@ -162,7 +177,7 @@ void Net::AppendTop(const NetParameter& param, const int layer_id, const int blob_id = blobs_.size(); blobs_.push_back(blob_pointer); blob_names_.push_back(blob_name); - blob_need_backward_.push_back(param.force_backward()); + blob_need_backward_.push_back(false); (*blob_name_to_idx)[blob_name] = blob_id; if (layer_id == -1) { // Set the (explicitly specified) dimensions of the input blob. @@ -197,7 +212,7 @@ int Net::AppendBottom(const NetParameter& param, bottom_vecs_[layer_id].push_back(blobs_[blob_id].get()); bottom_id_vecs_[layer_id].push_back(blob_id); available_blobs->erase(blob_name); - const bool need_backward = param.force_backward() || blob_need_backward_[blob_id]; + const bool need_backward = blob_need_backward_[blob_id]; bottom_need_backward_[layer_id].push_back(need_backward); return blob_id; } diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index eb368cd6c22..8fb02fcb7a7 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -80,6 +80,62 @@ class NetTest : public ::testing::Test { InitNetFromProtoString(proto); } + virtual void InitTinyNetEuclidean(const bool force_backward = false) { + string proto = + "name: 'TinyTestEuclidLossNetwork' " + "layers: { " + " name: 'data' " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: 5 " + " channels: 2 " + " height: 3 " + " width: 4 " + " num: 5 " + " channels: 1 " + " height: 1 " + " width: 1 " + " data_filler { " + " type: 'gaussian' " + " std: 0.01 " + " } " + " } " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerproduct' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 1 " + " weight_filler { " + " type: 'gaussian' " + " std: 0.01 " + " } " + " bias_filler { " + " type: 'constant' " + " value: 0 " + " } " + " } " + " blobs_lr: 1. " + " blobs_lr: 2. " + " weight_decay: 1. " + " weight_decay: 0. " + " bottom: 'data' " + " top: 'innerproduct' " + "} " + "layers: { " + " name: 'loss' " + " type: EUCLIDEAN_LOSS " + " bottom: 'innerproduct' " + " bottom: 'label' " + "} "; + if (force_backward) { + proto += "force_backward: true "; + } + InitNetFromProtoString(proto); + } + virtual void InitTrickyNet() { const string& proto = "name: 'TrickyTestNetwork' " @@ -218,6 +274,20 @@ TYPED_TEST(NetTest, TestBottomNeedBackwardForce) { EXPECT_EQ(true, bottom_need_backward[1][0]); EXPECT_EQ(2, bottom_need_backward[2].size()); EXPECT_EQ(true, bottom_need_backward[2][0]); + EXPECT_EQ(false, bottom_need_backward[2][1]); +} + +TYPED_TEST(NetTest, TestBottomNeedBackwardEuclideanForce) { + const bool force_backward = true; + this->InitTinyNetEuclidean(force_backward); + const vector >& bottom_need_backward = + this->net_->bottom_need_backward(); + EXPECT_EQ(3, bottom_need_backward.size()); + EXPECT_EQ(0, bottom_need_backward[0].size()); + EXPECT_EQ(1, bottom_need_backward[1].size()); + EXPECT_EQ(true, bottom_need_backward[1][0]); + EXPECT_EQ(2, bottom_need_backward[2].size()); + EXPECT_EQ(true, bottom_need_backward[2][0]); EXPECT_EQ(true, bottom_need_backward[2][1]); } @@ -233,6 +303,9 @@ TYPED_TEST(NetTest, TestBottomNeedBackwardTricky) { EXPECT_EQ(false, bottom_need_backward[2][0]); EXPECT_EQ(2, bottom_need_backward[3].size()); EXPECT_EQ(true, bottom_need_backward[3][0]); + // The label input to the SoftmaxLossLayer should say it "needs backward" + // since it has weights under it, even though we expect this to cause a crash + // at training/test time. EXPECT_EQ(true, bottom_need_backward[3][1]); } From 41685ac81b6bab42c4fa47cc6c8faa203a4d0c54 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 8 Jun 2014 19:53:45 -0700 Subject: [PATCH 180/408] weight sharing --- include/caffe/net.hpp | 10 +- src/caffe/net.cpp | 111 ++++++++- src/caffe/proto/caffe.proto | 12 + src/caffe/test/test_net.cpp | 469 ++++++++++++++++++++++++++++++++++++ 4 files changed, 594 insertions(+), 8 deletions(-) diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index d05ca09f20a..aa540edf27e 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include "caffe/blob.hpp" @@ -14,9 +15,10 @@ #include "caffe/proto/caffe.pb.h" using std::map; -using std::vector; +using std::pair; using std::set; using std::string; +using std::vector; namespace caffe { @@ -103,6 +105,7 @@ class Net { const shared_ptr > blob_by_name(const string& blob_name); bool has_layer(const string& layer_name); const shared_ptr > layer_by_name(const string& layer_name); + const map& param_names_index() { return param_names_index_; } protected: // Helpers for Init. @@ -114,6 +117,8 @@ class Net { int AppendBottom(const NetParameter& param, const int layer_id, const int bottom_id, set* available_blobs, map* blob_name_to_idx); + void AppendParam(const NetParameter& param, const int layer_id, + const int param_id); // Function to get misc parameters, e.g. the learning rate multiplier and // weight decay. void GetLearningRateAndWeightDecay(); @@ -138,6 +143,9 @@ class Net { // top_vecs stores the vectors containing the output for each layer vector*> > top_vecs_; vector > top_id_vecs_; + vector param_owners_; + vector > param_net_indices_; + map param_names_index_; // blob indices for the input and the output of the net vector net_input_blob_indices_; vector net_output_blob_indices_; diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index a6537619a8b..fc532b7b376 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -11,10 +11,12 @@ #include "caffe/net.hpp" #include "caffe/util/io.hpp" #include "caffe/util/insert_splits.hpp" +#include "caffe/util/math_functions.hpp" #include "caffe/util/upgrade_proto.hpp" -using std::pair; +using std::make_pair; using std::map; +using std::pair; using std::set; namespace caffe { @@ -86,8 +88,9 @@ void Net::Init(const NetParameter& in_param) { } DLOG(INFO) << "Memory required for data: " << memory_used_ * sizeof(Dtype); const int blobs_lr_size = layers_[layer_id]->layer_param().blobs_lr_size(); - CHECK(blobs_lr_size == layers_[layer_id]->blobs().size() || - blobs_lr_size == 0) << "Incorrect blobs lr size: should be either 0 " + const int num_param_blobs = layers_[layer_id]->blobs().size(); + CHECK(blobs_lr_size == num_param_blobs || blobs_lr_size == 0) + << "Incorrect blobs lr size: should be either 0 " << "or the same as the number of the layer's parameter blobs."; if (blobs_lr_size) { // Check if this layer needs backward operation itself @@ -100,6 +103,17 @@ void Net::Init(const NetParameter& in_param) { // learning rate to be 1. Thus we will need to perform backward. need_backward = true; } + const int blob_name_size = layer_param.blob_name_size(); + CHECK(blob_name_size == num_param_blobs || blob_name_size == 0) + << "Incorrect blob_name size: should be either 0 or the same as " + "the number of the layer's parameter blobs: " << num_param_blobs; + const int blob_share_mode_size = layer_param.blob_share_mode_size(); + CHECK(blob_share_mode_size == num_param_blobs || blob_share_mode_size == 0) + << "Incorrect blob_share_mode size: should be either 0 or the same as " + "the number of the layer's parameter blobs: " << num_param_blobs; + for (int param_id = 0; param_id < num_param_blobs; ++param_id) { + AppendParam(param, layer_id, param_id); + } // Finally, set the backward flag layer_need_backward_.push_back(need_backward); if (need_backward) { @@ -217,14 +231,69 @@ int Net::AppendBottom(const NetParameter& param, return blob_id; } +template +void Net::AppendParam(const NetParameter& param, const int layer_id, + const int param_id) { + const LayerParameter& layer_param = layers_[layer_id]->layer_param(); + const int blob_name_size = layer_param.blob_name_size(); + string param_name; + if (blob_name_size) { + param_name = layer_param.blob_name(param_id); + } + const int net_param_id = params_.size(); + params_.push_back(layers_[layer_id]->blobs()[param_id]); + param_net_indices_.push_back(make_pair(layer_id, param_id)); + if (!blob_name_size || !param_name.size() || (param_name.size() && + param_names_index_.find(param_name) == param_names_index_.end())) { + // This layer "owns" this parameter blob -- it is either anonymous + // (i.e., not given a param_name) or explicitly given a name that we + // haven't already seen. + param_owners_.push_back(-1); + if (blob_name_size) { + param_names_index_[param_name] = net_param_id; + } + } else { + // Named param blob with name we've seen before: share params + const int owner_net_param_id = param_names_index_[param_name]; + param_owners_.push_back(owner_net_param_id); + const pair& owner_index = + param_net_indices_[owner_net_param_id]; + const int owner_layer_id = owner_index.first; + const int owner_param_id = owner_index.second; + LOG(INFO) << "Sharing parameters '" << param_name << "' owned by " + << "layer '" << layer_names_[owner_layer_id] << "', param " + << "index " << owner_param_id; + Blob* this_blob = layers_[layer_id]->blobs()[param_id].get(); + Blob* owner_blob = + layers_[owner_layer_id]->blobs()[owner_param_id].get(); + const int blob_share_mode_size = layer_param.blob_share_mode_size(); + if (blob_share_mode_size > param_id && + (layer_param.blob_share_mode(param_id) == + LayerParameter_DimCheckMode_PERMISSIVE)) { + // Permissive dimension checking -- only check counts are the same. + CHECK_EQ(this_blob->count(), owner_blob->count()) + << "Shared parameter blobs must have the same count."; + } else { + // Strict dimension checking -- all dims must be the same. + CHECK_EQ(this_blob->num(), owner_blob->num()) + << "Shared parameter blobs must have the same num."; + CHECK_EQ(this_blob->channels(), owner_blob->channels()) + << "Shared parameter blobs must have the same channels."; + CHECK_EQ(this_blob->height(), owner_blob->height()) + << "Shared parameter blobs must have the same height."; + CHECK_EQ(this_blob->width(), owner_blob->width()) + << "Shared parameter blobs must have the same width."; + } + layers_[layer_id]->blobs()[param_id]->ShareData( + *layers_[owner_layer_id]->blobs()[owner_param_id]); + } +} + template void Net::GetLearningRateAndWeightDecay() { LOG(INFO) << "Collecting Learning Rate and Weight Decay."; for (int i = 0; i < layers_.size(); ++i) { vector > >& layer_blobs = layers_[i]->blobs(); - for (int j = 0; j < layer_blobs.size(); ++j) { - params_.push_back(layer_blobs[j]); - } // push the learning rate mutlipliers if (layers_[i]->layer_param().blobs_lr_size()) { CHECK_EQ(layers_[i]->layer_param().blobs_lr_size(), layer_blobs.size()); @@ -403,8 +472,36 @@ void Net::ToProto(NetParameter* param, bool write_diff) { template void Net::Update() { + // First, accumulate the diffs of any shared parameters into their owner's + // diff. (Assumes that the learning rate, weight decay, etc. have already been + // accounted for in the current diff.) for (int i = 0; i < params_.size(); ++i) { - params_[i]->Update(); + if (param_owners_[i] < 0) { + continue; + } + const int count = params_[i]->count(); + const Dtype* this_diff; + Dtype* owner_diff; + switch (Caffe::mode()) { + case Caffe::CPU: + this_diff = params_[i]->cpu_diff(); + owner_diff = params_[param_owners_[i]]->mutable_cpu_diff(); + caffe_add(count, this_diff, owner_diff, owner_diff); + break; + case Caffe::GPU: + this_diff = params_[i]->gpu_diff(); + owner_diff = params_[param_owners_[i]]->mutable_gpu_diff(); + caffe_gpu_add(count, this_diff, owner_diff, owner_diff); + break; + default: + LOG(FATAL) << "Unknown caffe mode: " << Caffe::mode(); + } + } + // Now, update the owned parameters. + for (int i = 0; i < params_.size(); ++i) { + if (param_owners_[i] < 0) { + params_[i]->Update(); + } } } diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 954f1033e97..76b643d5ff4 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -170,6 +170,18 @@ message LayerParameter { // The blobs containing the numeric parameters of the layer repeated BlobProto blobs = 6; + // The names of the parameter blobs -- useful for sharing parameters among + // layers (but never required). + repeated string blob_name = 1001; + // Whether to require shared weights to have the same shape, or just the same + // count -- defaults to STRICT if unspecified. + repeated DimCheckMode blob_share_mode = 1002; + enum DimCheckMode { + // STRICT (default) requires that num, channels, height, width each match. + STRICT = 0; + // PERMISSIVE requires only the count (num*channels*height*width) to match. + PERMISSIVE = 1; + } // The ratio that is multiplied on the global learning rate. If you want to // set the learning ratio for one blob, you need to set it for all blobs. repeated float blobs_lr = 7; diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index 8fb02fcb7a7..1eb7b077cdf 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -1,6 +1,7 @@ // Copyright 2014 BVLC and contributors. #include +#include #include #include "google/protobuf/text_format.h" @@ -8,6 +9,7 @@ #include "gtest/gtest.h" #include "caffe/common.hpp" #include "caffe/net.hpp" +#include "caffe/util/math_functions.hpp" #include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" @@ -17,6 +19,8 @@ namespace caffe { template class NetTest : public ::testing::Test { protected: + NetTest() : seed_(1701) {} + virtual void InitNetFromProtoString(const string& proto) { NetParameter param; CHECK(google::protobuf::TextFormat::ParseFromString(proto, ¶m)); @@ -210,6 +214,245 @@ class NetTest : public ::testing::Test { InitNetFromProtoString(proto); } + virtual void InitUnsharedWeightsNet() { + const string& proto = + "name: 'UnsharedWeightsNetwork' " + "layers: { " + " name: 'data' " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: 5 " + " channels: 2 " + " height: 3 " + " width: 4 " + " data_filler { " + " type: 'gaussian' " + " std: 0.01 " + " } " + " } " + " top: 'data' " + "} " + "layers: { " + " name: 'innerproduct1' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " bias_term: false " + " weight_filler { " + " type: 'gaussian' " + " std: 10 " + " } " + " } " + " blob_name: 'unsharedweights1' " + " bottom: 'data' " + " top: 'innerproduct1' " + "} " + "layers: { " + " name: 'innerproduct2' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " bias_term: false " + " weight_filler { " + " type: 'gaussian' " + " std: 10 " + " } " + " } " + " blob_name: 'unsharedweights2' " + " bottom: 'data' " + " top: 'innerproduct2' " + "} " + "layers: { " + " name: 'loss' " + " type: EUCLIDEAN_LOSS " + " bottom: 'innerproduct1' " + " bottom: 'innerproduct2' " + "} "; + InitNetFromProtoString(proto); + } + + virtual void InitSharedWeightsNet() { + const string& proto = + "name: 'SharedWeightsNetwork' " + "layers: { " + " name: 'data' " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: 5 " + " channels: 2 " + " height: 3 " + " width: 4 " + " data_filler { " + " type: 'gaussian' " + " std: 0.01 " + " } " + " } " + " top: 'data' " + "} " + "layers: { " + " name: 'innerproduct1' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " bias_term: false " + " weight_filler { " + " type: 'gaussian' " + " std: 10 " + " } " + " } " + " blob_name: 'sharedweights' " + " bottom: 'data' " + " top: 'innerproduct1' " + "} " + "layers: { " + " name: 'innerproduct2' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " bias_term: false " + " weight_filler { " + " type: 'gaussian' " + " std: 10 " + " } " + " } " + " blob_name: 'sharedweights' " + " bottom: 'data' " + " top: 'innerproduct2' " + "} " + "layers: { " + " name: 'loss' " + " type: EUCLIDEAN_LOSS " + " bottom: 'innerproduct1' " + " bottom: 'innerproduct2' " + "} "; + InitNetFromProtoString(proto); + } + + virtual void InitDiffDataUnsharedWeightsNet() { + const string& proto = + "name: 'DiffDataUnsharedWeightsNetwork' " + "layers: { " + " name: 'data' " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: 10 " + " channels: 10 " + " height: 1 " + " width: 1 " + " num: 10 " + " channels: 10 " + " height: 1 " + " width: 1 " + " data_filler { " + " type: 'gaussian' " + " std: 10 " + " } " + " } " + " top: 'data1' " + " top: 'data2' " + "} " + "layers: { " + " name: 'innerproduct1' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " bias_term: false " + " weight_filler { " + " type: 'constant' " + " value: 0.5 " + " } " + " } " + " blob_name: 'unsharedweights1' " + " bottom: 'data1' " + " top: 'innerproduct1' " + "} " + "layers: { " + " name: 'innerproduct2' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " bias_term: false " + " weight_filler { " + " type: 'constant' " + " value: 0.5 " + " } " + " } " + " blob_name: 'unsharedweights2' " + " bottom: 'innerproduct1' " + " top: 'innerproduct2' " + "} " + "layers: { " + " name: 'loss' " + " type: EUCLIDEAN_LOSS " + " bottom: 'data2' " + " bottom: 'innerproduct2' " + "} "; + InitNetFromProtoString(proto); + } + + virtual void InitDiffDataSharedWeightsNet() { + const string& proto = + "name: 'DiffDataSharedWeightsNetwork' " + "layers: { " + " name: 'data' " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: 10 " + " channels: 10 " + " height: 1 " + " width: 1 " + " num: 10 " + " channels: 10 " + " height: 1 " + " width: 1 " + " data_filler { " + " type: 'gaussian' " + " std: 10 " + " } " + " } " + " top: 'data1' " + " top: 'data2' " + "} " + "layers: { " + " name: 'innerproduct1' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " bias_term: false " + " weight_filler { " + " type: 'constant' " + " value: 0.5 " + " } " + " } " + " blob_name: 'sharedweights' " + " bottom: 'data1' " + " top: 'innerproduct1' " + "} " + "layers: { " + " name: 'innerproduct2' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " bias_term: false " + " weight_filler { " + " type: 'constant' " + " value: 0.5 " + " } " + " } " + " blob_name: 'sharedweights' " + " bottom: 'innerproduct1' " + " top: 'innerproduct2' " + "} " + "layers: { " + " name: 'loss' " + " type: EUCLIDEAN_LOSS " + " bottom: 'data2' " + " bottom: 'innerproduct2' " + "} "; + InitNetFromProtoString(proto); + } + + int seed_; shared_ptr > net_; }; @@ -309,4 +552,230 @@ TYPED_TEST(NetTest, TestBottomNeedBackwardTricky) { EXPECT_EQ(true, bottom_need_backward[3][1]); } +TYPED_TEST(NetTest, TestUnsharedWeightsDataNet) { + this->InitUnsharedWeightsNet(); + vector*> bottom; + TypeParam loss; + this->net_->Forward(bottom, &loss); + EXPECT_GT(loss, 0); +} + +TYPED_TEST(NetTest, TestSharedWeightsDataNet) { + this->InitSharedWeightsNet(); + vector*> bottom; + TypeParam loss; + this->net_->Forward(bottom, &loss); + EXPECT_FLOAT_EQ(loss, 0); +} + +TYPED_TEST(NetTest, TestUnsharedWeightsDiffNet) { + this->InitUnsharedWeightsNet(); + vector*> bottom; + Net* net = this->net_.get(); + net->Forward(bottom); + net->Backward(); + Layer* ip1_layer = net->layer_by_name("innerproduct1").get(); + Layer* ip2_layer = net->layer_by_name("innerproduct2").get(); + const int count = ip1_layer->blobs()[0]->count(); + const TypeParam* grad1 = ip1_layer->blobs()[0]->cpu_diff(); + const TypeParam* grad2 = ip2_layer->blobs()[0]->cpu_diff(); + for (int i = 0; i < count; ++i) { + EXPECT_GT(fabs(grad1[i]), 0); + EXPECT_FLOAT_EQ(-1 * grad1[i], grad2[i]); + } +} + +TYPED_TEST(NetTest, TestSharedWeightsDiffNet) { + this->InitSharedWeightsNet(); + vector*> bottom; + Net* net = this->net_.get(); + TypeParam loss; + net->Forward(bottom, &loss); + net->Backward(); + EXPECT_FLOAT_EQ(loss, 0); + Layer* ip1_layer = net->layer_by_name("innerproduct1").get(); + Layer* ip2_layer = net->layer_by_name("innerproduct2").get(); + const int count = ip1_layer->blobs()[0]->count(); + const TypeParam* grad1 = ip1_layer->blobs()[0]->cpu_diff(); + const TypeParam* grad2 = ip2_layer->blobs()[0]->cpu_diff(); + for (int i = 0; i < count; ++i) { + EXPECT_FLOAT_EQ(0, grad1[i]); + EXPECT_FLOAT_EQ(0, grad2[i]); + } +} + +TYPED_TEST(NetTest, TestSharedWeightsUpdateCPU) { + Caffe::set_random_seed(this->seed_); + Caffe::set_mode(Caffe::CPU); + this->InitDiffDataSharedWeightsNet(); + vector*> bottom; + EXPECT_EQ(this->net_->layer_names()[1], "innerproduct1"); + EXPECT_EQ(this->net_->layer_names()[2], "innerproduct2"); + Blob* ip1_weights = this->net_->layers()[1]->blobs()[0].get(); + Blob* ip2_weights = this->net_->layers()[2]->blobs()[0].get(); + // Check that data blobs of shared weights share the same location in memory. + EXPECT_EQ(ip1_weights->cpu_data(), ip2_weights->cpu_data()); + // Check that diff blobs of shared weights are at different locations in + // locations. (The diffs should be accumulated at update time.) + EXPECT_NE(ip1_weights->cpu_diff(), ip2_weights->cpu_diff()); + this->net_->Forward(bottom); + this->net_->Backward(); + // Compute the expected update as the data minus the two diffs. + Blob shared_params; + const bool reshape = true; + const bool copy_diff = false; + shared_params.CopyFrom(*ip1_weights, copy_diff, reshape); + shared_params.CopyFrom(*ip1_weights, !copy_diff, reshape); + const int count = ip1_weights->count(); + // Make sure the diffs are non-trivial. + for (int i = 0; i < count; ++i) { + EXPECT_NE(0, ip1_weights->cpu_diff()[i]); + EXPECT_NE(0, ip2_weights->cpu_diff()[i]); + EXPECT_NE(ip1_weights->cpu_diff()[i], ip2_weights->cpu_diff()[i]); + } + caffe_axpy(count, TypeParam(1), ip2_weights->cpu_diff(), + shared_params.mutable_cpu_diff()); + caffe_axpy(count, TypeParam(-1), shared_params.cpu_diff(), + shared_params.mutable_cpu_data()); + const TypeParam* expected_updated_params = shared_params.cpu_data(); + this->net_->Update(); + const TypeParam* actual_updated_params = ip1_weights->cpu_data(); + for (int i = 0; i < count; ++i) { + EXPECT_EQ(expected_updated_params[i], actual_updated_params[i]); + } + // Check that data blobs of shared weights STILL point to the same memory + // location (because ... who knows). + EXPECT_EQ(ip1_weights->cpu_data(), ip2_weights->cpu_data()); + + Caffe::set_random_seed(this->seed_); + this->InitDiffDataUnsharedWeightsNet(); + EXPECT_EQ(this->net_->layer_names()[1], "innerproduct1"); + EXPECT_EQ(this->net_->layer_names()[2], "innerproduct2"); + ip1_weights = this->net_->layers()[1]->blobs()[0].get(); + ip2_weights = this->net_->layers()[2]->blobs()[0].get(); + // Check that data and diff blobs of unshared weights are at different + // locations in memory. + EXPECT_NE(ip1_weights->cpu_data(), ip2_weights->cpu_data()); + EXPECT_NE(ip1_weights->cpu_diff(), ip2_weights->cpu_diff()); + this->net_->Forward(bottom); + this->net_->Backward(); + // Compute the expected update. + Blob unshared_params1; + unshared_params1.CopyFrom(*ip1_weights, copy_diff, reshape); + unshared_params1.CopyFrom(*ip1_weights, !copy_diff, reshape); + Blob unshared_params2; + unshared_params2.CopyFrom(*ip2_weights, copy_diff, reshape); + unshared_params2.CopyFrom(*ip2_weights, !copy_diff, reshape); + // Make sure the diffs are non-trivial and sum to the diff in the shared net. + for (int i = 0; i < count; ++i) { + EXPECT_NE(0, ip1_weights->cpu_diff()[i]); + EXPECT_NE(0, ip2_weights->cpu_diff()[i]); + EXPECT_NE(ip1_weights->cpu_diff()[i], ip2_weights->cpu_diff()[i]); + EXPECT_EQ(ip1_weights->cpu_diff()[i] + ip2_weights->cpu_diff()[i], + shared_params.cpu_diff()[i]); + } + caffe_axpy(count, TypeParam(-1), ip1_weights->cpu_diff(), + unshared_params1.mutable_cpu_data()); + caffe_axpy(count, TypeParam(-1), ip2_weights->cpu_diff(), + unshared_params2.mutable_cpu_data()); + const TypeParam* expected_updated_params1 = unshared_params1.cpu_data(); + const TypeParam* expected_updated_params2 = unshared_params2.cpu_data(); + this->net_->Update(); + const TypeParam* actual_updated_params1 = ip1_weights->cpu_data(); + const TypeParam* actual_updated_params2 = ip2_weights->cpu_data(); + for (int i = 0; i < count; ++i) { + EXPECT_EQ(expected_updated_params1[i], actual_updated_params1[i]); + EXPECT_EQ(expected_updated_params2[i], actual_updated_params2[i]); + EXPECT_NE(actual_updated_params1[i], actual_updated_params2[i]); + EXPECT_NE(expected_updated_params, expected_updated_params1); + } +} + +TYPED_TEST(NetTest, TestSharedWeightsUpdateGPU) { + Caffe::set_random_seed(this->seed_); + Caffe::set_mode(Caffe::GPU); + this->InitDiffDataSharedWeightsNet(); + vector*> bottom; + EXPECT_EQ(this->net_->layer_names()[1], "innerproduct1"); + EXPECT_EQ(this->net_->layer_names()[2], "innerproduct2"); + Blob* ip1_weights = this->net_->layers()[1]->blobs()[0].get(); + Blob* ip2_weights = this->net_->layers()[2]->blobs()[0].get(); + // Check that data blobs of shared weights share the same location in memory. + EXPECT_EQ(ip1_weights->cpu_data(), ip2_weights->cpu_data()); + // Check that diff blobs of shared weights are at different locations in + // locations. (The diffs should be accumulated at update time.) + EXPECT_NE(ip1_weights->cpu_diff(), ip2_weights->cpu_diff()); + this->net_->Forward(bottom); + this->net_->Backward(); + // Compute the expected update as the data minus the two diffs. + Blob shared_params; + const bool reshape = true; + const bool copy_diff = false; + shared_params.CopyFrom(*ip1_weights, copy_diff, reshape); + shared_params.CopyFrom(*ip1_weights, !copy_diff, reshape); + const int count = ip1_weights->count(); + // Make sure the diffs are non-trivial. + for (int i = 0; i < count; ++i) { + EXPECT_NE(0, ip1_weights->cpu_diff()[i]); + EXPECT_NE(0, ip2_weights->cpu_diff()[i]); + EXPECT_NE(ip1_weights->cpu_diff()[i], ip2_weights->cpu_diff()[i]); + } + caffe_axpy(count, TypeParam(1), ip2_weights->cpu_diff(), + shared_params.mutable_cpu_diff()); + caffe_axpy(count, TypeParam(-1), shared_params.cpu_diff(), + shared_params.mutable_cpu_data()); + const TypeParam* expected_updated_params = shared_params.cpu_data(); + this->net_->Update(); + const TypeParam* actual_updated_params = ip1_weights->cpu_data(); + for (int i = 0; i < count; ++i) { + EXPECT_EQ(expected_updated_params[i], actual_updated_params[i]); + } + // Check that data blobs of shared weights STILL point to the same memory + // location (because ... who knows). + EXPECT_EQ(ip1_weights->cpu_data(), ip2_weights->cpu_data()); + + Caffe::set_random_seed(this->seed_); + this->InitDiffDataUnsharedWeightsNet(); + EXPECT_EQ(this->net_->layer_names()[1], "innerproduct1"); + EXPECT_EQ(this->net_->layer_names()[2], "innerproduct2"); + ip1_weights = this->net_->layers()[1]->blobs()[0].get(); + ip2_weights = this->net_->layers()[2]->blobs()[0].get(); + // Check that data and diff blobs of unshared weights are at different + // locations in memory. + EXPECT_NE(ip1_weights->cpu_data(), ip2_weights->cpu_data()); + EXPECT_NE(ip1_weights->cpu_diff(), ip2_weights->cpu_diff()); + this->net_->Forward(bottom); + this->net_->Backward(); + // Compute the expected update. + Blob unshared_params1; + unshared_params1.CopyFrom(*ip1_weights, copy_diff, reshape); + unshared_params1.CopyFrom(*ip1_weights, !copy_diff, reshape); + Blob unshared_params2; + unshared_params2.CopyFrom(*ip2_weights, copy_diff, reshape); + unshared_params2.CopyFrom(*ip2_weights, !copy_diff, reshape); + // Make sure the diffs are non-trivial and sum to the diff in the shared net. + for (int i = 0; i < count; ++i) { + EXPECT_NE(0, ip1_weights->cpu_diff()[i]); + EXPECT_NE(0, ip2_weights->cpu_diff()[i]); + EXPECT_NE(ip1_weights->cpu_diff()[i], ip2_weights->cpu_diff()[i]); + EXPECT_EQ(ip1_weights->cpu_diff()[i] + ip2_weights->cpu_diff()[i], + shared_params.cpu_diff()[i]); + } + caffe_axpy(count, TypeParam(-1), ip1_weights->cpu_diff(), + unshared_params1.mutable_cpu_data()); + caffe_axpy(count, TypeParam(-1), ip2_weights->cpu_diff(), + unshared_params2.mutable_cpu_data()); + const TypeParam* expected_updated_params1 = unshared_params1.cpu_data(); + const TypeParam* expected_updated_params2 = unshared_params2.cpu_data(); + this->net_->Update(); + const TypeParam* actual_updated_params1 = ip1_weights->cpu_data(); + const TypeParam* actual_updated_params2 = ip2_weights->cpu_data(); + for (int i = 0; i < count; ++i) { + EXPECT_EQ(expected_updated_params1[i], actual_updated_params1[i]); + EXPECT_EQ(expected_updated_params2[i], actual_updated_params2[i]); + EXPECT_NE(actual_updated_params1[i], actual_updated_params2[i]); + EXPECT_NE(expected_updated_params, expected_updated_params1); + } +} + } // namespace caffe From 26e022acedcb53b2c45147b635fc9081b66396af Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 26 Jun 2014 12:49:00 -0700 Subject: [PATCH 181/408] change weight blob field name to param --- src/caffe/net.cpp | 16 ++++++++-------- src/caffe/proto/caffe.proto | 6 +++--- src/caffe/test/test_net.cpp | 16 ++++++++-------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index fc532b7b376..e25c754bda6 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -103,9 +103,9 @@ void Net::Init(const NetParameter& in_param) { // learning rate to be 1. Thus we will need to perform backward. need_backward = true; } - const int blob_name_size = layer_param.blob_name_size(); - CHECK(blob_name_size == num_param_blobs || blob_name_size == 0) - << "Incorrect blob_name size: should be either 0 or the same as " + const int param_size = layer_param.param_size(); + CHECK(param_size == num_param_blobs || param_size == 0) + << "Incorrect param size: should be either 0 or the same as " "the number of the layer's parameter blobs: " << num_param_blobs; const int blob_share_mode_size = layer_param.blob_share_mode_size(); CHECK(blob_share_mode_size == num_param_blobs || blob_share_mode_size == 0) @@ -235,21 +235,21 @@ template void Net::AppendParam(const NetParameter& param, const int layer_id, const int param_id) { const LayerParameter& layer_param = layers_[layer_id]->layer_param(); - const int blob_name_size = layer_param.blob_name_size(); + const int param_size = layer_param.param_size(); string param_name; - if (blob_name_size) { - param_name = layer_param.blob_name(param_id); + if (param_size) { + param_name = layer_param.param(param_id); } const int net_param_id = params_.size(); params_.push_back(layers_[layer_id]->blobs()[param_id]); param_net_indices_.push_back(make_pair(layer_id, param_id)); - if (!blob_name_size || !param_name.size() || (param_name.size() && + if (!param_size || !param_name.size() || (param_name.size() && param_names_index_.find(param_name) == param_names_index_.end())) { // This layer "owns" this parameter blob -- it is either anonymous // (i.e., not given a param_name) or explicitly given a name that we // haven't already seen. param_owners_.push_back(-1); - if (blob_name_size) { + if (param_size) { param_names_index_[param_name] = net_param_id; } } else { diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 76b643d5ff4..fd71f45fab4 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -172,7 +172,7 @@ message LayerParameter { repeated BlobProto blobs = 6; // The names of the parameter blobs -- useful for sharing parameters among // layers (but never required). - repeated string blob_name = 1001; + repeated string param = 1001; // Whether to require shared weights to have the same shape, or just the same // count -- defaults to STRICT if unspecified. repeated DimCheckMode blob_share_mode = 1002; @@ -319,9 +319,9 @@ message HDF5OutputParameter { } message HingeLossParameter { - enum Norm { + enum Norm { L1 = 1; - L2 = 2; + L2 = 2; } // Specify the Norm to use L1 or L2 optional Norm norm = 1 [default = L1]; diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index 1eb7b077cdf..18b03476996 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -243,7 +243,7 @@ class NetTest : public ::testing::Test { " std: 10 " " } " " } " - " blob_name: 'unsharedweights1' " + " param: 'unsharedweights1' " " bottom: 'data' " " top: 'innerproduct1' " "} " @@ -258,7 +258,7 @@ class NetTest : public ::testing::Test { " std: 10 " " } " " } " - " blob_name: 'unsharedweights2' " + " param: 'unsharedweights2' " " bottom: 'data' " " top: 'innerproduct2' " "} " @@ -300,7 +300,7 @@ class NetTest : public ::testing::Test { " std: 10 " " } " " } " - " blob_name: 'sharedweights' " + " param: 'sharedweights' " " bottom: 'data' " " top: 'innerproduct1' " "} " @@ -315,7 +315,7 @@ class NetTest : public ::testing::Test { " std: 10 " " } " " } " - " blob_name: 'sharedweights' " + " param: 'sharedweights' " " bottom: 'data' " " top: 'innerproduct2' " "} " @@ -362,7 +362,7 @@ class NetTest : public ::testing::Test { " value: 0.5 " " } " " } " - " blob_name: 'unsharedweights1' " + " param: 'unsharedweights1' " " bottom: 'data1' " " top: 'innerproduct1' " "} " @@ -377,7 +377,7 @@ class NetTest : public ::testing::Test { " value: 0.5 " " } " " } " - " blob_name: 'unsharedweights2' " + " param: 'unsharedweights2' " " bottom: 'innerproduct1' " " top: 'innerproduct2' " "} " @@ -424,7 +424,7 @@ class NetTest : public ::testing::Test { " value: 0.5 " " } " " } " - " blob_name: 'sharedweights' " + " param: 'sharedweights' " " bottom: 'data1' " " top: 'innerproduct1' " "} " @@ -439,7 +439,7 @@ class NetTest : public ::testing::Test { " value: 0.5 " " } " " } " - " blob_name: 'sharedweights' " + " param: 'sharedweights' " " bottom: 'innerproduct1' " " top: 'innerproduct2' " "} " From a71354f87d9b4cf205180e5339b958fc684e8a51 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 26 Jun 2014 13:05:44 -0700 Subject: [PATCH 182/408] rename layer -> param mapping for clarity --- include/caffe/net.hpp | 2 +- src/caffe/net.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index aa540edf27e..cbd5becde2d 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -144,7 +144,7 @@ class Net { vector*> > top_vecs_; vector > top_id_vecs_; vector param_owners_; - vector > param_net_indices_; + vector > layer_param_indices_; map param_names_index_; // blob indices for the input and the output of the net vector net_input_blob_indices_; diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index e25c754bda6..f364e6767c6 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -242,7 +242,7 @@ void Net::AppendParam(const NetParameter& param, const int layer_id, } const int net_param_id = params_.size(); params_.push_back(layers_[layer_id]->blobs()[param_id]); - param_net_indices_.push_back(make_pair(layer_id, param_id)); + layer_param_indices_.push_back(make_pair(layer_id, param_id)); if (!param_size || !param_name.size() || (param_name.size() && param_names_index_.find(param_name) == param_names_index_.end())) { // This layer "owns" this parameter blob -- it is either anonymous @@ -257,7 +257,7 @@ void Net::AppendParam(const NetParameter& param, const int layer_id, const int owner_net_param_id = param_names_index_[param_name]; param_owners_.push_back(owner_net_param_id); const pair& owner_index = - param_net_indices_[owner_net_param_id]; + layer_param_indices_[owner_net_param_id]; const int owner_layer_id = owner_index.first; const int owner_param_id = owner_index.second; LOG(INFO) << "Sharing parameters '" << param_name << "' owned by " From 6450e0f0c8e19cde6c5e3c26ffb50deba4308bc7 Mon Sep 17 00:00:00 2001 From: James Thewlis Date: Thu, 26 Jun 2014 18:12:30 +0100 Subject: [PATCH 183/408] Test for im2col kernel With associated Makefile changes for .cu tests This tests that the grid-stride loop works for im2col, using the CPU version as a reference. --- Makefile | 14 ++- src/caffe/test/test_im2col_kernel.cu | 125 +++++++++++++++++++++++++++ 2 files changed, 136 insertions(+), 3 deletions(-) create mode 100644 src/caffe/test/test_im2col_kernel.cu diff --git a/Makefile b/Makefile index 77e2ff5edbe..14072747b19 100644 --- a/Makefile +++ b/Makefile @@ -30,11 +30,12 @@ CXX_SRCS := $(shell find src/$(PROJECT) ! -name "test_*.cpp" -name "*.cpp") # HXX_SRCS are the header files HXX_SRCS := $(shell find include/$(PROJECT) -name "*.hpp") # CU_SRCS are the cuda source files -CU_SRCS := $(shell find src/$(PROJECT) -name "*.cu") +CU_SRCS := $(shell find src/$(PROJECT) ! -name "test_*.cu" -name "*.cu") # TEST_SRCS are the test source files TEST_MAIN_SRC := src/$(PROJECT)/test/test_caffe_main.cpp TEST_SRCS := $(shell find src/$(PROJECT) -name "test_*.cpp") TEST_SRCS := $(filter-out $(TEST_MAIN_SRC), $(TEST_SRCS)) +TEST_CU_SRCS := $(shell find src/$(PROJECT) -name "test_*.cu") GTEST_SRC := src/gtest/gtest-all.cpp # TEST_HDRS are the test header files TEST_HDRS := $(shell find src/$(PROJECT) -name "test_*.hpp") @@ -101,7 +102,9 @@ OBJS := $(PROTO_OBJS) $(CXX_OBJS) $(CU_OBJS) TOOL_OBJS := $(addprefix $(BUILD_DIR)/, ${TOOL_SRCS:.cpp=.o}) TOOL_BUILD_DIR := $(BUILD_DIR)/tools TEST_BUILD_DIR := $(BUILD_DIR)/src/$(PROJECT)/test -TEST_OBJS := $(addprefix $(BUILD_DIR)/, ${TEST_SRCS:.cpp=.o}) +TEST_CXX_OBJS := $(addprefix $(BUILD_DIR)/, ${TEST_SRCS:.cpp=.o}) +TEST_CU_OBJS := $(addprefix $(BUILD_DIR)/, ${TEST_CU_SRCS:.cu=.cuo}) +TEST_OBJS := $(TEST_CXX_OBJS) $(TEST_CU_OBJS) GTEST_OBJ := $(addprefix $(BUILD_DIR)/, ${GTEST_SRC:.cpp=.o}) GTEST_BUILD_DIR := $(dir $(GTEST_OBJ)) EXAMPLE_OBJS := $(addprefix $(BUILD_DIR)/, ${EXAMPLE_SRCS:.cpp=.o}) @@ -329,13 +332,18 @@ $(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HDRS) \ $(CXX) $< $(CXXFLAGS) -c -o $@ @ echo +$(TEST_BUILD_DIR)/%.cuo: src/$(PROJECT)/test/%.cu $(HXX_SRCS) $(TEST_HDRS) \ + | $(TEST_BUILD_DIR) + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ + @ echo + $(TEST_ALL_BIN): $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ | $(TEST_BIN_DIR) $(CXX) $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ -o $@ $(LINKFLAGS) $(LDFLAGS) @ echo -$(TEST_BIN_DIR)/%.testbin: $(TEST_BUILD_DIR)/%.o $(GTEST_OBJ) $(STATIC_NAME) \ +$(TEST_BIN_DIR)/%.testbin: $(TEST_BUILD_DIR)/%.*o $(GTEST_OBJ) $(STATIC_NAME) \ | $(TEST_BIN_DIR) $(CXX) $(TEST_MAIN_SRC) $< $(GTEST_OBJ) $(STATIC_NAME) \ -o $@ $(LINKFLAGS) $(LDFLAGS) diff --git a/src/caffe/test/test_im2col_kernel.cu b/src/caffe/test/test_im2col_kernel.cu new file mode 100644 index 00000000000..f49a5b7e4d9 --- /dev/null +++ b/src/caffe/test/test_im2col_kernel.cu @@ -0,0 +1,125 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include + +#include "cuda_runtime.h" +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/filler.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/util/im2col.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +namespace caffe { + +// Forward declare kernel functions +template +__global__ void im2col_gpu_kernel(const int n, const Dtype* data_im, + const int height, const int width, const int ksize, const int pad, + const int stride, const int height_col, const int width_col, + Dtype* data_col); + +extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; + +template +class Im2colKernelTest : public ::testing::Test { + protected: + Im2colKernelTest() + // big so launches > 1024 threads + : blob_bottom_(new Blob(5, 500, 10, 10)), + blob_top_(new Blob()), + blob_top_cpu_(new Blob()) { + FillerParameter filler_param; + GaussianFiller filler(filler_param); + filler.Fill(this->blob_bottom_); + + height_ = blob_bottom_->height(); + width_ = blob_bottom_->width(); + channels_ = blob_bottom_->channels(); + pad_ = 0; + stride_ = 2; + kernel_size_ = 3; + height_col_ = (height_ + 2 * pad_ - kernel_size_) / stride_ + 1; + width_col_ = (width_ + 2 * pad_ - kernel_size_) / stride_ + 1; + } + + virtual ~Im2colKernelTest() { + delete blob_bottom_; + delete blob_top_; + delete blob_top_cpu_; + } + + Blob* const blob_bottom_; + Blob* const blob_top_; + Blob* const blob_top_cpu_; + int height_; + int width_; + int channels_; + int pad_; + int stride_; + int kernel_size_; + int height_col_; + int width_col_; +}; + +typedef ::testing::Types Dtypes; +TYPED_TEST_CASE(Im2colKernelTest, Dtypes); + +TYPED_TEST(Im2colKernelTest, TestGPU) { + Caffe::set_mode(Caffe::GPU); + + // Reshape the blobs to correct size for im2col output + this->blob_top_->Reshape(this->blob_bottom_->num(), + this->channels_ * this->kernel_size_ * this->kernel_size_, + this->height_col_, + this->width_col_); + + this->blob_top_cpu_->Reshape(this->blob_bottom_->num(), + this->channels_ * this->kernel_size_ * this->kernel_size_, + this->height_col_, + this->width_col_); + + const TypeParam* bottom_data = this->blob_bottom_->gpu_data(); + TypeParam* top_data = this->blob_top_->mutable_gpu_data(); + TypeParam* cpu_data = this->blob_top_cpu_->mutable_cpu_data(); + + // CPU Version + for (int n = 0; n < this->blob_bottom_->num(); ++n) { + im2col_cpu(this->blob_bottom_->cpu_data() + this->blob_bottom_->offset(n), + this->channels_, this->height_, this->width_, this->kernel_size_, + this->pad_, this->stride_, cpu_data + this->blob_top_cpu_->offset(n)); + } + + // GPU version + int num_kernels = this->channels_ * this->height_col_ * this->width_col_; + int default_grid_dim = CAFFE_GET_BLOCKS(num_kernels); + + // Launch with different grid sizes + for (int grid_div = 2; grid_div <= 8; grid_div++) { + for (int n = 0; n < this->blob_bottom_->num(); ++n) { + int grid_dim = default_grid_dim/grid_div; + // NOLINT_NEXT_LINE(whitespace/operators) + im2col_gpu_kernel<<>>( + num_kernels, bottom_data + this->blob_bottom_->offset(n), + this->height_, this->width_, this->kernel_size_, this->pad_, + this->stride_, this->height_col_, this->width_col_, + top_data + this->blob_top_->offset(n)); + CUDA_POST_KERNEL_CHECK; + } + + // Compare results against CPU version + for (int i = 0; i < this->blob_top_->count(); ++i) { + TypeParam cpuval = cpu_data[i]; + TypeParam gpuval = this->blob_top_->cpu_data()[i]; + EXPECT_EQ(cpuval, gpuval); + if (cpuval != gpuval) { + break; + } + } + } +} + +} // namespace caffe From 423808dd60c5077dda16432080caa69a2e6f8d13 Mon Sep 17 00:00:00 2001 From: James Thewlis Date: Fri, 27 Jun 2014 10:49:08 +0100 Subject: [PATCH 184/408] Make resizing & cropping with PIL work Previously it was trying to use undefined variables --- tools/extra/resize_and_crop_images.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/extra/resize_and_crop_images.py b/tools/extra/resize_and_crop_images.py index 0ab75dc2ae5..c844f590c06 100755 --- a/tools/extra/resize_and_crop_images.py +++ b/tools/extra/resize_and_crop_images.py @@ -3,7 +3,7 @@ import gflags import os import cv2 -import PIL +from PIL import Image # gflags gflags.DEFINE_string('image_lib', 'opencv', @@ -37,9 +37,10 @@ def resize_and_crop_image(self, input_file, output_file, output_side_length = 25 class PILResizeCrop: ## http://united-coders.com/christian-harms/image-resizing-tips-every-coder-should-know/ - def resize_and_crop_image(self, input_file, output_file, output_side_length = 256): + def resize_and_crop_image(self, input_file, output_file, output_side_length = 256, fit = True): '''Downsample the image. ''' + img = Image.open(input_file) box = (output_side_length, output_side_length) #preresize image with factor 2, 4, 8 and fast algorithm factor = 1 From 180a75bb960b8494a7d1096d2d7557fe5f19192a Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 27 Jun 2014 08:47:42 -0700 Subject: [PATCH 185/408] add latest CUDA arch to fix invalid device function errors ...on devices of that architecture. --- Makefile.config.example | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile.config.example b/Makefile.config.example index 9754129beb7..c41bada9ac2 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -7,11 +7,15 @@ CUDA_DIR := /usr/local/cuda # "sudo apt-get install nvidia-cuda-toolkit" then use this instead: # CUDA_DIR := /usr -# CUDA architecture setting: going with all of them. +# CUDA architecture setting: going with all of them (up to CUDA 5.5 compatible). +# For the latest architecture, you need to install CUDA >= 6.0 and uncomment +# the *_50 lines below. CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \ -gencode arch=compute_20,code=sm_21 \ -gencode arch=compute_30,code=sm_30 \ -gencode arch=compute_35,code=sm_35 + #-gencode=arch=compute_50,code=sm_50 \ + #-gencode=arch=compute_50,code=compute_50 # BLAS choice: # atlas for ATLAS (default) From 5890a353e6a158ff1b30a12565a6864f4c047f55 Mon Sep 17 00:00:00 2001 From: Rob Hess Date: Fri, 13 Jun 2014 18:16:04 -0700 Subject: [PATCH 186/408] Add parameter for AccuracyLayer in proto. --- src/caffe/proto/caffe.proto | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index fd71f45fab4..48d6fe27ed8 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -188,6 +188,7 @@ message LayerParameter { // The weight decay that is multiplied on the global weight decay. repeated float weight_decay = 8; + optional AccuracyParameter accuracy_param = 27; optional ArgMaxParameter argmax_param = 23; optional ConcatParameter concat_param = 9; optional ConvolutionParameter convolution_param = 10; @@ -214,6 +215,14 @@ message LayerParameter { optional V0LayerParameter layer = 1; } +// Message that stores parameters used by AccuracyLayer +message AccuracyParameter { + // When computing accuracy, count as correct by comparing the true label to + // the top k scoring classes. By default, only compare to the top scoring + // class (i.e. argmax). + optional uint32 compare_to_top_k = 1 [default = 1]; +} + // Message that stores parameters used by ArgMaxLayer message ArgMaxParameter { // If true produce pairs (argmax, maxval) From 1c640c976b113839514ca5b70a28f6a921cf9eb2 Mon Sep 17 00:00:00 2001 From: Rob Hess Date: Fri, 13 Jun 2014 19:07:38 -0700 Subject: [PATCH 187/408] Incorporate top_k param into AccuracyLayer and check it's value. --- include/caffe/loss_layers.hpp | 2 ++ src/caffe/layers/accuracy_layer.cpp | 3 +++ src/caffe/proto/caffe.proto | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index bb03f637450..3a4d41662fd 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -251,6 +251,8 @@ class AccuracyLayer : public Layer { const vector& propagate_down, vector*>* bottom) { NOT_IMPLEMENTED; } + + int top_k_; }; } // namespace caffe diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index 899750f869a..55f620d8af6 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -18,8 +18,11 @@ template void AccuracyLayer::SetUp( const vector*>& bottom, vector*>* top) { Layer::SetUp(bottom, top); + top_k_ = this->layer_param_.accuracy_param().top_k(); CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; + CHECK_LE(top_k_, bottom[0]->count() / bottom[0]->num()) + << "top_k must be less than the number of classes."; CHECK_EQ(bottom[1]->channels(), 1); CHECK_EQ(bottom[1]->height(), 1); CHECK_EQ(bottom[1]->width(), 1); diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 48d6fe27ed8..936a215e131 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -220,7 +220,7 @@ message AccuracyParameter { // When computing accuracy, count as correct by comparing the true label to // the top k scoring classes. By default, only compare to the top scoring // class (i.e. argmax). - optional uint32 compare_to_top_k = 1 [default = 1]; + optional uint32 top_k = 1 [default = 1]; } // Message that stores parameters used by ArgMaxLayer From 5a887fc30fba742501ad395165d3f0968738db04 Mon Sep 17 00:00:00 2001 From: Rob Hess Date: Mon, 16 Jun 2014 13:35:46 -0700 Subject: [PATCH 188/408] Compute top-k accuracy in AccuracyLayer. --- src/caffe/layers/accuracy_layer.cpp | 34 +++++++++++++++++++---------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index 55f620d8af6..a284f6b191a 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -22,7 +22,7 @@ void AccuracyLayer::SetUp( CHECK_EQ(bottom[0]->num(), bottom[1]->num()) << "The data and label should have the same number."; CHECK_LE(top_k_, bottom[0]->count() / bottom[0]->num()) - << "top_k must be less than the number of classes."; + << "top_k must be less than or equal to the number of classes."; CHECK_EQ(bottom[1]->channels(), 1); CHECK_EQ(bottom[1]->height(), 1); CHECK_EQ(bottom[1]->width(), 1); @@ -37,20 +37,32 @@ Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, const Dtype* bottom_label = bottom[1]->cpu_data(); int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); + Dtype* maxval = new Dtype[top_k_+1]; + int* max_id = new int[top_k_+1]; for (int i = 0; i < num; ++i) { - // Accuracy - Dtype maxval = -FLT_MAX; - int max_id = 0; - for (int j = 0; j < dim; ++j) { - if (bottom_data[i * dim + j] > maxval) { - maxval = bottom_data[i * dim + j]; - max_id = j; + // Top-k accuracy + std::fill_n(maxval, top_k_, -FLT_MAX); + std::fill_n(max_id, top_k_, 0); + for (int j = 0, k; j < dim; ++j) { + // insert into (reverse-)sorted top-k array + Dtype val = bottom_data[i * dim + j]; + for (k = top_k_; k > 0 && maxval[k-1] < val; k--) { + maxval[k] = maxval[k-1]; + max_id[k] = max_id[k-1]; } + maxval[k] = val; + max_id[k] = j; } - if (max_id == static_cast(bottom_label[i])) { - ++accuracy; - } + // check if true label is in top k predictions + for (int k = 0; k < top_k_; k++) + if (max_id[k] == static_cast(bottom_label[i])) { + ++accuracy; + break; + } } + delete[] maxval; + delete[] max_id; + // LOG(INFO) << "Accuracy: " << accuracy; (*top)[0]->mutable_cpu_data()[0] = accuracy / num; From fde99cce7735a7362f458a8592e4662965734482 Mon Sep 17 00:00:00 2001 From: Rob Hess Date: Thu, 19 Jun 2014 15:12:56 -0700 Subject: [PATCH 189/408] Use vectors instead of arrays. --- src/caffe/layers/accuracy_layer.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index a284f6b191a..409965519ca 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -37,12 +37,12 @@ Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, const Dtype* bottom_label = bottom[1]->cpu_data(); int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); - Dtype* maxval = new Dtype[top_k_+1]; - int* max_id = new int[top_k_+1]; + vector maxval(top_k_+1); + vector max_id(top_k_+1); for (int i = 0; i < num; ++i) { // Top-k accuracy - std::fill_n(maxval, top_k_, -FLT_MAX); - std::fill_n(max_id, top_k_, 0); + std::fill_n(maxval.begin(), top_k_, -FLT_MAX); + std::fill_n(max_id.begin(), top_k_, 0); for (int j = 0, k; j < dim; ++j) { // insert into (reverse-)sorted top-k array Dtype val = bottom_data[i * dim + j]; @@ -60,8 +60,6 @@ Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, break; } } - delete[] maxval; - delete[] max_id; // LOG(INFO) << "Accuracy: " << accuracy; (*top)[0]->mutable_cpu_data()[0] = accuracy / num; From cca6500874f35fc051eab76230e96eda2ff24688 Mon Sep 17 00:00:00 2001 From: cypof Date: Thu, 19 Jun 2014 15:52:10 -0700 Subject: [PATCH 190/408] Next LayerParameter proto id --- src/caffe/proto/caffe.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 936a215e131..e42c208ecb5 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -115,7 +115,7 @@ message SolverState { // NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available ID: 27 (last added: dummy_data_param) +// LayerParameter next available ID: 28 (last added: dummy_data_param) message LayerParameter { repeated string bottom = 2; // the name of the bottom blobs repeated string top = 3; // the name of the top blobs From e2e443b27e032f04e08fe2469363897a7702036f Mon Sep 17 00:00:00 2001 From: Rob Hess Date: Fri, 20 Jun 2014 14:37:07 -0700 Subject: [PATCH 191/408] Add unit test for accuracy layer. --- src/caffe/test/test_accuracy_layer.cpp | 90 ++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 src/caffe/test/test_accuracy_layer.cpp diff --git a/src/caffe/test/test_accuracy_layer.cpp b/src/caffe/test/test_accuracy_layer.cpp new file mode 100644 index 00000000000..f87089b6c8b --- /dev/null +++ b/src/caffe/test/test_accuracy_layer.cpp @@ -0,0 +1,90 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include +#include +#include + +#include "cuda_runtime.h" +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/filler.hpp" +#include "caffe/vision_layers.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +namespace caffe { + +extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; + +template +class AccuracyLayerTest : public ::testing::Test { + protected: + AccuracyLayerTest() + : blob_bottom_data_(new Blob(2, 10, 1, 1)), + blob_bottom_label_(new Blob(2, 1, 1, 1)), + blob_top_(new Blob()), + top_k_(3) { + // fill the probability values + FillerParameter filler_param; + GaussianFiller filler(filler_param); + filler.Fill(this->blob_bottom_data_); + + // set the labels; first label is set to max-probability index + Dtype m_val = -FLT_MAX; + int m_id = 0; + for (int i = 0; i < 10; i++) + if (blob_bottom_data_->data_at(0, i, 0, 0) > m_val) { + m_val = blob_bottom_data_->data_at(0, i, 0, 0); + m_id = i; + } + Dtype* label_data = blob_bottom_label_->mutable_cpu_data(); + int offset = blob_bottom_label_->offset(0); + label_data[offset] = m_id; + + // set the labels; first label is set to min-probability index + m_val = FLT_MAX; + m_id = 0; + for (int i = 0; i < 10; i++) + if (blob_bottom_data_->data_at(1, i, 0, 0) < m_val) { + m_val = blob_bottom_data_->data_at(1, i, 0, 0); + m_id = i; + } + offset = blob_bottom_label_->offset(1); + label_data[offset] = m_id; + + blob_bottom_vec_.push_back(blob_bottom_data_); + blob_bottom_vec_.push_back(blob_bottom_label_); + blob_top_vec_.push_back(blob_top_); + } + virtual ~AccuracyLayerTest() { + delete blob_bottom_data_; + delete blob_bottom_label_; + delete blob_top_; + } + Blob* const blob_bottom_data_; + Blob* const blob_bottom_label_; + Blob* const blob_top_; + vector*> blob_bottom_vec_; + vector*> blob_top_vec_; + int top_k_; +}; + +typedef ::testing::Types Dtypes; +TYPED_TEST_CASE(AccuracyLayerTest, Dtypes); + +TYPED_TEST(AccuracyLayerTest, TestForwardCPU) { + LayerParameter layer_param; + AccuracyParameter* accuracy_param = layer_param.mutable_accuracy_param(); + accuracy_param->set_top_k(this->top_k_); + Caffe::set_mode(Caffe::CPU); + AccuracyLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + + // Output accuracy should be ~0.5 + EXPECT_NEAR(this->blob_top_->data_at(0, 0, 0, 0), 0.5, 1e-4); +} + +} // namespace caffe From 4a57e726c83d54c251392101d5bb9888cd1c1d78 Mon Sep 17 00:00:00 2001 From: Rob Hess Date: Fri, 20 Jun 2014 14:39:58 -0700 Subject: [PATCH 192/408] Update name of last added param. --- src/caffe/proto/caffe.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index e42c208ecb5..adb75264f8e 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -115,7 +115,7 @@ message SolverState { // NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available ID: 28 (last added: dummy_data_param) +// LayerParameter next available ID: 28 (last added: accuracy_param) message LayerParameter { repeated string bottom = 2; // the name of the bottom blobs repeated string top = 3; // the name of the top blobs From 228c3266377330cd46b36cec3343a0fc1980976f Mon Sep 17 00:00:00 2001 From: Rob Hess Date: Mon, 23 Jun 2014 17:22:43 -0700 Subject: [PATCH 193/408] Comment-fix. --- src/caffe/test/test_accuracy_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/test/test_accuracy_layer.cpp b/src/caffe/test/test_accuracy_layer.cpp index f87089b6c8b..deb72af34ec 100644 --- a/src/caffe/test/test_accuracy_layer.cpp +++ b/src/caffe/test/test_accuracy_layer.cpp @@ -43,7 +43,7 @@ class AccuracyLayerTest : public ::testing::Test { int offset = blob_bottom_label_->offset(0); label_data[offset] = m_id; - // set the labels; first label is set to min-probability index + // set the labels; second label is set to min-probability index m_val = FLT_MAX; m_id = 0; for (int i = 0; i < 10; i++) From a63feadb088f1fdcfc0cdc5d1ec73978f574375e Mon Sep 17 00:00:00 2001 From: James Thewlis Date: Sat, 28 Jun 2014 00:49:53 +0100 Subject: [PATCH 194/408] Fix building tests with parallel make The changes for .cu tests meant that creating TEST_BUILD_DIR wasn't happening first --- Makefile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 14072747b19..6d8cb905128 100644 --- a/Makefile +++ b/Makefile @@ -116,8 +116,11 @@ TOOL_BINS := ${TOOL_OBJS:.o=.bin} EXAMPLE_BINS := ${EXAMPLE_OBJS:.o=.bin} # Put the test binaries in build/test for convenience. TEST_BIN_DIR := $(BUILD_DIR)/test -TEST_BINS := $(addsuffix .testbin,$(addprefix $(TEST_BIN_DIR)/, \ - $(foreach obj,$(TEST_OBJS),$(basename $(notdir $(obj)))))) +TEST_CU_BINS := $(addsuffix .testbin,$(addprefix $(TEST_BIN_DIR)/, \ + $(foreach obj,$(TEST_CU_OBJS),$(basename $(notdir $(obj)))))) +TEST_CXX_BINS := $(addsuffix .testbin,$(addprefix $(TEST_BIN_DIR)/, \ + $(foreach obj,$(TEST_CXX_OBJS),$(basename $(notdir $(obj)))))) +TEST_BINS := $(TEST_CXX_BINS) $(TEST_CU_BINS) TEST_ALL_BIN := $(TEST_BIN_DIR)/test_all.testbin ############################## @@ -343,7 +346,13 @@ $(TEST_ALL_BIN): $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ -o $@ $(LINKFLAGS) $(LDFLAGS) @ echo -$(TEST_BIN_DIR)/%.testbin: $(TEST_BUILD_DIR)/%.*o $(GTEST_OBJ) $(STATIC_NAME) \ +$(TEST_CU_BINS): $(TEST_BIN_DIR)/%.testbin: $(TEST_BUILD_DIR)/%.cuo $(GTEST_OBJ) $(STATIC_NAME) \ + | $(TEST_BIN_DIR) + $(CXX) $(TEST_MAIN_SRC) $< $(GTEST_OBJ) $(STATIC_NAME) \ + -o $@ $(LINKFLAGS) $(LDFLAGS) + @ echo + +$(TEST_CXX_BINS): $(TEST_BIN_DIR)/%.testbin: $(TEST_BUILD_DIR)/%.o $(GTEST_OBJ) $(STATIC_NAME) \ | $(TEST_BIN_DIR) $(CXX) $(TEST_MAIN_SRC) $< $(GTEST_OBJ) $(STATIC_NAME) \ -o $@ $(LINKFLAGS) $(LDFLAGS) From aa654a5daea5e6f6f5c5514687ed75662637901e Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 27 Jun 2014 18:54:08 -0700 Subject: [PATCH 195/408] Modify Dropout to allow backward pass in TEST phase Conflicts: src/caffe/layers/dropout_layer.cpp src/caffe/layers/dropout_layer.cu --- src/caffe/layers/dropout_layer.cpp | 13 ++++++++----- src/caffe/layers/dropout_layer.cu | 19 +++++++++++-------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/src/caffe/layers/dropout_layer.cpp b/src/caffe/layers/dropout_layer.cpp index e9a1a524d63..a3501bf518c 100644 --- a/src/caffe/layers/dropout_layer.cpp +++ b/src/caffe/layers/dropout_layer.cpp @@ -49,14 +49,17 @@ template void DropoutLayer::Backward_cpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { - CHECK(Caffe::phase() == Caffe::TRAIN); if (propagate_down[0]) { const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - const unsigned int* mask = rand_vec_->cpu_data(); - const int count = (*bottom)[0]->count(); - for (int i = 0; i < count; ++i) { - bottom_diff[i] = top_diff[i] * mask[i] * scale_; + if (Caffe::phase() == Caffe::TRAIN) { + const unsigned int* mask = rand_vec_->cpu_data(); + const int count = (*bottom)[0]->count(); + for (int i = 0; i < count; ++i) { + bottom_diff[i] = top_diff[i] * mask[i] * scale_; + } + } else { + caffe_copy(top[0]->count(), top_diff, bottom_diff); } } } diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index 2c7226402e8..0040d263803 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -58,17 +58,20 @@ template void DropoutLayer::Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { - CHECK(Caffe::phase() == Caffe::TRAIN); if (propagate_down[0]) { const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); - const unsigned int* mask = - static_cast(rand_vec_->gpu_data()); - const int count = (*bottom)[0]->count(); - // NOLINT_NEXT_LINE(whitespace/operators) - DropoutBackward<<>>( - count, top_diff, mask, uint_thres_, scale_, bottom_diff); - CUDA_POST_KERNEL_CHECK; + if (Caffe::phase() == Caffe::TRAIN) { + const unsigned int* mask = + static_cast(rand_vec_->gpu_data()); + const int count = (*bottom)[0]->count(); + // NOLINT_NEXT_LINE(whitespace/operators) + DropoutBackward<<>>( + count, top_diff, mask, uint_thres_, scale_, bottom_diff); + CUDA_POST_KERNEL_CHECK; + } else { + caffe_gpu_copy(top[0]->count(), bottom_data, top_data); + } } } From ae83a22e5805612f07264b7f2ac30986317e7624 Mon Sep 17 00:00:00 2001 From: Sergio Date: Fri, 13 Jun 2014 18:54:28 -0700 Subject: [PATCH 196/408] Fix var names in Dropout.cu --- src/caffe/layers/dropout_layer.cu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index 0040d263803..2e0b0d3aa2c 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -70,7 +70,7 @@ void DropoutLayer::Backward_gpu(const vector*>& top, count, top_diff, mask, uint_thres_, scale_, bottom_diff); CUDA_POST_KERNEL_CHECK; } else { - caffe_gpu_copy(top[0]->count(), bottom_data, top_data); + caffe_gpu_copy(top[0]->count(), top_diff, bottom_diff); } } } From 06da1a7de277763164c8bf0c700429785b531c09 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sat, 14 Jun 2014 08:39:35 -0700 Subject: [PATCH 197/408] Added test to Dropout to check gradients during Test phase --- src/caffe/layers/dropout_layer.cu | 3 ++- src/caffe/test/test_neuron_layer.cpp | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index 2e0b0d3aa2c..225e0919409 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -66,7 +66,8 @@ void DropoutLayer::Backward_gpu(const vector*>& top, static_cast(rand_vec_->gpu_data()); const int count = (*bottom)[0]->count(); // NOLINT_NEXT_LINE(whitespace/operators) - DropoutBackward<<>>( + DropoutBackward<<>>( count, top_diff, mask, uint_thres_, scale_, bottom_diff); CUDA_POST_KERNEL_CHECK; } else { diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index ca70e1acd9b..c7c0dc1675d 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -178,6 +178,15 @@ TYPED_TEST(NeuronLayerTest, TestDropoutGradientCPU) { &(this->blob_top_vec_)); } +TYPED_TEST(NeuronLayerTest, TestDropoutGradientCPUTest) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + Caffe::set_phase(Caffe::TEST); + DropoutLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); +} TYPED_TEST(NeuronLayerTest, TestDropoutCPUTestPhase) { LayerParameter layer_param; @@ -232,6 +241,22 @@ TYPED_TEST(NeuronLayerTest, TestDropoutGradientGPU) { } } +TYPED_TEST(NeuronLayerTest, TestDropoutGradientGPUTest) { + if (CAFFE_TEST_CUDA_PROP.major >= 2) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::GPU); + Caffe::set_phase(Caffe::TEST); + DropoutLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + // it is too expensive to call curand multiple times, so we don't do an + // exhaustive gradient check. + checker.CheckGradient(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + } else { + LOG(ERROR) << "Skipping test to spare my laptop."; + } +} + TYPED_TEST(NeuronLayerTest, TestDropoutGPUTestPhase) { LayerParameter layer_param; From 2dd0bc13b51d456a1cd1aaa2dbaf7372baeda7b3 Mon Sep 17 00:00:00 2001 From: Sergio Date: Wed, 18 Jun 2014 18:49:14 -0700 Subject: [PATCH 198/408] Check that pointers are different before copying in caffe_copy and caffe_gpu_copy --- src/caffe/util/math_functions.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index 67274ef73cc..90df51248e2 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -151,22 +151,30 @@ void caffe_add_scalar(const int N, const double alpha, double* Y) { template <> void caffe_copy(const int N, const float* X, float* Y) { - cblas_scopy(N, X, 1, Y, 1); + if (X != Y) { + cblas_scopy(N, X, 1, Y, 1); + } } template <> void caffe_copy(const int N, const double* X, double* Y) { - cblas_dcopy(N, X, 1, Y, 1); + if (X != Y) { + cblas_dcopy(N, X, 1, Y, 1); + } } template <> void caffe_gpu_copy(const int N, const float* X, float* Y) { - CUBLAS_CHECK(cublasScopy(Caffe::cublas_handle(), N, X, 1, Y, 1)); + if (X != Y) { + CUBLAS_CHECK(cublasScopy(Caffe::cublas_handle(), N, X, 1, Y, 1)); + } } template <> void caffe_gpu_copy(const int N, const double* X, double* Y) { - CUBLAS_CHECK(cublasDcopy(Caffe::cublas_handle(), N, X, 1, Y, 1)); + if (X != Y) { + CUBLAS_CHECK(cublasDcopy(Caffe::cublas_handle(), N, X, 1, Y, 1)); + } } template <> From 5316ca0a06efe71eed59dc4eef1f17606c8f2b56 Mon Sep 17 00:00:00 2001 From: Sergio Date: Sat, 28 Jun 2014 10:22:13 -0700 Subject: [PATCH 199/408] Remove Cuda.major >= 2 check on Dropout test --- src/caffe/test/test_neuron_layer.cpp | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index c7c0dc1675d..a439128a13b 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -226,7 +226,6 @@ TYPED_TEST(NeuronLayerTest, TestDropoutGPU) { TYPED_TEST(NeuronLayerTest, TestDropoutGradientGPU) { - if (CAFFE_TEST_CUDA_PROP.major >= 2) { LayerParameter layer_param; Caffe::set_mode(Caffe::GPU); Caffe::set_phase(Caffe::TRAIN); @@ -236,13 +235,9 @@ TYPED_TEST(NeuronLayerTest, TestDropoutGradientGPU) { // exhaustive gradient check. checker.CheckGradient(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); - } else { - LOG(ERROR) << "Skipping test to spare my laptop."; - } } TYPED_TEST(NeuronLayerTest, TestDropoutGradientGPUTest) { - if (CAFFE_TEST_CUDA_PROP.major >= 2) { LayerParameter layer_param; Caffe::set_mode(Caffe::GPU); Caffe::set_phase(Caffe::TEST); @@ -252,9 +247,6 @@ TYPED_TEST(NeuronLayerTest, TestDropoutGradientGPUTest) { // exhaustive gradient check. checker.CheckGradient(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); - } else { - LOG(ERROR) << "Skipping test to spare my laptop."; - } } From e6a46c2be6f5917c84198de49848887daa28098a Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sat, 28 Jun 2014 13:54:58 -0700 Subject: [PATCH 200/408] lint --- src/caffe/layers/multinomial_logistic_loss_layer.cpp | 2 +- src/caffe/net.cpp | 1 + tools/compute_image_mean.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/caffe/layers/multinomial_logistic_loss_layer.cpp b/src/caffe/layers/multinomial_logistic_loss_layer.cpp index 013d4034240..dd5cae44d6d 100644 --- a/src/caffe/layers/multinomial_logistic_loss_layer.cpp +++ b/src/caffe/layers/multinomial_logistic_loss_layer.cpp @@ -35,7 +35,7 @@ Dtype MultinomialLogisticLossLayer::Forward_cpu( Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); loss -= log(prob); } - if (top->size() == 1){ + if (top->size() == 1) { (*top)[0]->mutable_cpu_data()[0] = loss / num; } return loss / num; diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index f364e6767c6..c0f124b0ea7 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include "caffe/common.hpp" diff --git a/tools/compute_image_mean.cpp b/tools/compute_image_mean.cpp index 5b212b66edd..a7cbc8bd6b1 100644 --- a/tools/compute_image_mean.cpp +++ b/tools/compute_image_mean.cpp @@ -53,7 +53,7 @@ int main(int argc, char** argv) { } else if (db_backend == "lmdb") { // lmdb LOG(INFO) << "Opening lmdb " << argv[1]; CHECK_EQ(mdb_env_create(&mdb_env), MDB_SUCCESS) << "mdb_env_create failed"; - CHECK_EQ(mdb_env_set_mapsize(mdb_env, 1099511627776), MDB_SUCCESS); // 1TB + CHECK_EQ(mdb_env_set_mapsize(mdb_env, 1099511627776), MDB_SUCCESS); // 1TB CHECK_EQ(mdb_env_open(mdb_env, argv[1], MDB_RDONLY, 0664), MDB_SUCCESS) << "mdb_env_open failed"; CHECK_EQ(mdb_txn_begin(mdb_env, NULL, MDB_RDONLY, &mdb_txn), MDB_SUCCESS) From fae9b13f717789084275c546619adc79452fe44e Mon Sep 17 00:00:00 2001 From: yzhuan <465022947@qq.com> Date: Mon, 30 Jun 2014 16:08:55 +0800 Subject: [PATCH 201/408] Update Makefile.config.example fix some typing error --- Makefile.config.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.config.example b/Makefile.config.example index 73c3740b1c7..6c3948fc2d7 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -13,9 +13,9 @@ CUDA_DIR := /usr/local/cuda CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \ -gencode arch=compute_20,code=sm_21 \ -gencode arch=compute_30,code=sm_30 \ - -gencode arch=compute_35,code=sm_35 - #-gencode=arch=compute_50,code=sm_50 \ - #-gencode=arch=compute_50,code=compute_50 + -gencode arch=compute_35,code=sm_35 \ + #-gencode arch=compute_50,code=sm_50 \ + #-gencode arch=compute_50,code=compute_50 # BLAS choice: # atlas for ATLAS (default) From 9dc87346005c5676aaaa62b17d6d1749ab56bb6c Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 1 Jul 2014 10:15:29 -0700 Subject: [PATCH 202/408] fix uninitialized variable warnings in tools --- tools/compute_image_mean.cpp | 2 +- tools/convert_imageset.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/compute_image_mean.cpp b/tools/compute_image_mean.cpp index a7cbc8bd6b1..0c0f0f3f7e5 100644 --- a/tools/compute_image_mean.cpp +++ b/tools/compute_image_mean.cpp @@ -32,7 +32,7 @@ int main(int argc, char** argv) { leveldb::DB* db; leveldb::Options options; options.create_if_missing = false; - leveldb::Iterator* it; + leveldb::Iterator* it = NULL; // lmdb MDB_env* mdb_env; MDB_dbi mdb_dbi; diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index c4bc0b32439..28de653b2c7 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -93,7 +93,7 @@ int main(int argc, char** argv) { options.error_if_exists = true; options.create_if_missing = true; options.write_buffer_size = 268435456; - leveldb::WriteBatch* batch; + leveldb::WriteBatch* batch = NULL; // Open db if (db_backend == "leveldb") { // leveldb From eada9dbdb5084fdcfb89b9da4bbcf825c1a84477 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Thu, 3 Jul 2014 20:15:53 +0800 Subject: [PATCH 203/408] Separate layers relatively independent of images out of vision_layers --- include/caffe/common_layers.hpp | 182 ++++++++++++++++++++++++++++++++ include/caffe/vision_layers.hpp | 165 +---------------------------- 2 files changed, 185 insertions(+), 162 deletions(-) create mode 100644 include/caffe/common_layers.hpp diff --git a/include/caffe/common_layers.hpp b/include/caffe/common_layers.hpp new file mode 100644 index 00000000000..761c19fa7e2 --- /dev/null +++ b/include/caffe/common_layers.hpp @@ -0,0 +1,182 @@ +// Copyright 2014 BVLC and contributors. + +#ifndef CAFFE_COMMON_LAYERS_HPP_ +#define CAFFE_COMMON_LAYERS_HPP_ + +#include +#include +#include + +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/layer.hpp" +#include "caffe/neuron_layers.hpp" +#include "caffe/loss_layers.hpp" +#include "caffe/data_layers.hpp" +#include "caffe/proto/caffe.pb.h" + +namespace caffe { + +/* ArgmaxLayer + Compute the index of the max value across all (channels x height x width). + [In the future, can take specific dimension.] + Intended for use after a classification layer to produce prediction. + If parameter out_max_val is set to true, then output is a vector of pairs + (max_ind, max_val) for each image. + + NOTE: does not implement Backwards operation. +*/ +template +class ArgMaxLayer : public Layer { + public: + explicit ArgMaxLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_ARGMAX; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom) { + NOT_IMPLEMENTED; + } + bool out_max_val_; +}; + +/* ConcatLayer + Takes at least two blobs and concatenates them along either num or + channel dim, outputting the result. +*/ +template +class ConcatLayer : public Layer { + public: + explicit ConcatLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_CONCAT; + } + virtual inline int MinBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 1; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + + Blob col_bob_; + int count_; + int num_; + int channels_; + int height_; + int width_; + int concat_dim_; +}; + +/* FlattenLayer +*/ +template +class FlattenLayer : public Layer { + public: + explicit FlattenLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_FLATTEN; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + + int count_; +}; + +/* SoftmaxLayer +*/ +template +class SoftmaxLayer : public Layer { + public: + explicit SoftmaxLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SOFTMAX; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int ExactNumTopBlobs() const { return 1; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + + // sum_multiplier is just used to carry out sum using blas + Blob sum_multiplier_; + // scale is an intermediate blob to hold temporary results. + Blob scale_; +}; + +/* SplitLayer +*/ +template +class SplitLayer : public Layer { + public: + explicit SplitLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SPLIT; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int MinTopBlobs() const { return 1; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + + int count_; +}; + +} // namespace caffe + +#endif // CAFFE_COMMON_LAYERS_HPP_ diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index b68dcbf6e83..ef04772a98c 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -9,84 +9,15 @@ #include "caffe/blob.hpp" #include "caffe/common.hpp" +#include "caffe/common_layers.hpp" +#include "caffe/data_layers.hpp" #include "caffe/layer.hpp" -#include "caffe/neuron_layers.hpp" #include "caffe/loss_layers.hpp" -#include "caffe/data_layers.hpp" +#include "caffe/neuron_layers.hpp" #include "caffe/proto/caffe.pb.h" namespace caffe { -/* ArgmaxLayer - Compute the index of the max value across all (channels x height x width). - [In the future, can take specific dimension.] - Intended for use after a classification layer to produce prediction. - If parameter out_max_val is set to true, then output is a vector of pairs - (max_ind, max_val) for each image. - - NOTE: does not implement Backwards operation. -*/ -template -class ArgMaxLayer : public Layer { - public: - explicit ArgMaxLayer(const LayerParameter& param) - : Layer(param) {} - virtual void SetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_ARGMAX; - } - virtual inline int ExactNumBottomBlobs() const { return 1; } - virtual inline int ExactNumTopBlobs() const { return 1; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom) { - NOT_IMPLEMENTED; - } - bool out_max_val_; -}; - -/* ConcatLayer - Takes at least two blobs and concatenates them along either num or - channel dim, outputting the result. -*/ -template -class ConcatLayer : public Layer { - public: - explicit ConcatLayer(const LayerParameter& param) - : Layer(param) {} - virtual void SetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_CONCAT; - } - virtual inline int MinBottomBlobs() const { return 2; } - virtual inline int ExactNumTopBlobs() const { return 1; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - virtual void Backward_gpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - - Blob col_bob_; - int count_; - int num_; - int channels_; - int height_; - int width_; - int concat_dim_; -}; - /* ConvolutionLayer */ template @@ -161,35 +92,6 @@ class EltwiseLayer : public Layer { vector coeffs_; }; -/* FlattenLayer -*/ -template -class FlattenLayer : public Layer { - public: - explicit FlattenLayer(const LayerParameter& param) - : Layer(param) {} - virtual void SetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_FLATTEN; - } - virtual inline int ExactNumBottomBlobs() const { return 1; } - virtual inline int ExactNumTopBlobs() const { return 1; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - virtual void Backward_gpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - - int count_; -}; - /* Im2colLayer */ template @@ -373,67 +275,6 @@ class PoolingLayer : public Layer { shared_ptr > max_idx_; }; -/* SoftmaxLayer -*/ -template -class SoftmaxLayer : public Layer { - public: - explicit SoftmaxLayer(const LayerParameter& param) - : Layer(param) {} - virtual void SetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_SOFTMAX; - } - virtual inline int ExactNumBottomBlobs() const { return 1; } - virtual inline int ExactNumTopBlobs() const { return 1; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - virtual void Backward_gpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - - // sum_multiplier is just used to carry out sum using blas - Blob sum_multiplier_; - // scale is an intermediate blob to hold temporary results. - Blob scale_; -}; - -/* SplitLayer -*/ -template -class SplitLayer : public Layer { - public: - explicit SplitLayer(const LayerParameter& param) - : Layer(param) {} - virtual void SetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_SPLIT; - } - virtual inline int ExactNumBottomBlobs() const { return 1; } - virtual inline int MinTopBlobs() const { return 1; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - virtual void Backward_gpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - - int count_; -}; - } // namespace caffe #endif // CAFFE_VISION_LAYERS_HPP_ From 8e1689faa55f4e7dc57a222792eb80e0afe1a3a7 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Thu, 3 Jul 2014 20:16:54 +0800 Subject: [PATCH 204/408] Arrange the data layers to be in alphabetical order --- include/caffe/data_layers.hpp | 137 +++++++++++++++++----------------- 1 file changed, 68 insertions(+), 69 deletions(-) diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 2c6be551d8f..06c90ea9923 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -24,75 +24,6 @@ namespace caffe { #define HDF5_DATA_DATASET_NAME "data" #define HDF5_DATA_LABEL_NAME "label" -template -class HDF5OutputLayer : public Layer { - public: - explicit HDF5OutputLayer(const LayerParameter& param); - virtual ~HDF5OutputLayer(); - virtual void SetUp(const vector*>& bottom, - vector*>* top) {} - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_HDF5_OUTPUT; - } - // TODO: no limit on the number of blobs - virtual inline int ExactNumBottomBlobs() const { return 2; } - virtual inline int ExactNumTopBlobs() const { return 0; } - - inline std::string file_name() const { return file_name_; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - virtual void Backward_gpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - virtual void SaveBlobs(); - - std::string file_name_; - hid_t file_id_; - Blob data_blob_; - Blob label_blob_; -}; - - -template -class HDF5DataLayer : public Layer { - public: - explicit HDF5DataLayer(const LayerParameter& param) - : Layer(param) {} - virtual ~HDF5DataLayer(); - virtual void SetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_HDF5_DATA; - } - virtual inline int ExactNumBottomBlobs() const { return 0; } - virtual inline int ExactNumTopBlobs() const { return 2; } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom) {} - virtual void Backward_gpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom) {} - virtual void LoadHDF5FileData(const char* filename); - - std::vector hdf_filenames_; - unsigned int num_files_; - unsigned int current_file_; - hsize_t current_row_; - Blob data_blob_; - Blob label_blob_; -}; - // TODO: DataLayer, ImageDataLayer, and WindowDataLayer all have the // same basic structure and a lot of duplicated code. @@ -183,6 +114,74 @@ class DummyDataLayer : public Layer { vector refill_; }; +template +class HDF5DataLayer : public Layer { + public: + explicit HDF5DataLayer(const LayerParameter& param) + : Layer(param) {} + virtual ~HDF5DataLayer(); + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_HDF5_DATA; + } + virtual inline int ExactNumBottomBlobs() const { return 0; } + virtual inline int ExactNumTopBlobs() const { return 2; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom) {} + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom) {} + virtual void LoadHDF5FileData(const char* filename); + + std::vector hdf_filenames_; + unsigned int num_files_; + unsigned int current_file_; + hsize_t current_row_; + Blob data_blob_; + Blob label_blob_; +}; + +template +class HDF5OutputLayer : public Layer { + public: + explicit HDF5OutputLayer(const LayerParameter& param); + virtual ~HDF5OutputLayer(); + virtual void SetUp(const vector*>& bottom, + vector*>* top) {} + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_HDF5_OUTPUT; + } + // TODO: no limit on the number of blobs + virtual inline int ExactNumBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 0; } + + inline std::string file_name() const { return file_name_; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + virtual void SaveBlobs(); + + std::string file_name_; + hid_t file_id_; + Blob data_blob_; + Blob label_blob_; +}; + // This function is used to create a pthread that prefetches the data. template void* ImageDataLayerPrefetch(void* layer_pointer); From 97deb9101b5a555b135ddc9826ab2925536be69a Mon Sep 17 00:00:00 2001 From: Kai Li Date: Thu, 3 Jul 2014 20:17:41 +0800 Subject: [PATCH 205/408] Organize the loss layers in alphabetical order --- include/caffe/loss_layers.hpp | 206 +++++++++++++++++----------------- 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index 3a4d41662fd..fb7f5539674 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -22,6 +22,36 @@ namespace caffe { const float kLOG_THRESHOLD = 1e-20; +/* AccuracyLayer + Note: not an actual loss layer! Does not implement backwards step. + Computes the accuracy of argmax(a) with respect to b. +*/ +template +class AccuracyLayer : public Layer { + public: + explicit AccuracyLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_ACCURACY; + } + + virtual inline int ExactNumBottomBlobs() const { return 2; } + virtual inline int ExactNumTopBlobs() const { return 1; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom) { + NOT_IMPLEMENTED; + } + + int top_k_; +}; + /* LossLayer Takes two inputs of same num (a and b), and has no output. The gradient is propagated to a. @@ -45,67 +75,27 @@ class LossLayer : public Layer { } }; -// Forward declare SoftmaxLayer for use in SoftmaxWithLossLayer. -template class SoftmaxLayer; - -/* SoftmaxWithLossLayer - Implements softmax and computes the loss. - - It is preferred over separate softmax + multinomiallogisticloss - layers due to more numerically stable gradients. +/* EuclideanLossLayer + Compute the L_2 distance between the two inputs. - In test, this layer could be replaced by simple softmax layer. + loss = (1/2 \sum_i (a_i - b_i)^2) + a' = 1/I (a - b) */ template -class SoftmaxWithLossLayer : public Layer { +class EuclideanLossLayer : public LossLayer { public: - explicit SoftmaxWithLossLayer(const LayerParameter& param) - : Layer(param), softmax_layer_(new SoftmaxLayer(param)) {} - virtual void SetUp(const vector*>& bottom, + explicit EuclideanLossLayer(const LayerParameter& param) + : LossLayer(param), diff_() {} + virtual void FurtherSetUp(const vector*>& bottom, vector*>* top); virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_SOFTMAX_LOSS; + return LayerParameter_LayerType_EUCLIDEAN_LOSS; } - virtual inline int MaxTopBlobs() const { return 2; } - // We cannot backpropagate to the labels; ignore force_backward for these - // inputs. + // Unlike most loss layers, in the EuclideanLossLayer we can backpropagate + // to both inputs. virtual inline bool AllowForceBackward(const int bottom_index) const { - return bottom_index != 1; - } - - protected: - virtual Dtype Forward_cpu(const vector*>& bottom, - vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); - virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - virtual void Backward_gpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - - shared_ptr > softmax_layer_; - // prob stores the output probability of the layer. - Blob prob_; - // Vector holders to call the underlying softmax layer forward and backward. - vector*> softmax_bottom_vec_; - vector*> softmax_top_vec_; -}; - -/* SigmoidCrossEntropyLossLayer -*/ -template -class SigmoidCrossEntropyLossLayer : public LossLayer { - public: - explicit SigmoidCrossEntropyLossLayer(const LayerParameter& param) - : LossLayer(param), - sigmoid_layer_(new SigmoidLayer(param)), - sigmoid_output_(new Blob()) {} - virtual void FurtherSetUp(const vector*>& bottom, - vector*>* top); - - virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_SIGMOID_CROSS_ENTROPY_LOSS; + return true; } protected: @@ -118,48 +108,26 @@ class SigmoidCrossEntropyLossLayer : public LossLayer { virtual void Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom); - shared_ptr > sigmoid_layer_; - // sigmoid_output stores the output of the sigmoid layer. - shared_ptr > sigmoid_output_; - // Vector holders to call the underlying sigmoid layer forward and backward. - vector*> sigmoid_bottom_vec_; - vector*> sigmoid_top_vec_; + Blob diff_; }; -/* EuclideanLossLayer - Compute the L_2 distance between the two inputs. - - loss = (1/2 \sum_i (a_i - b_i)^2) - a' = 1/I (a - b) +/* HingeLossLayer */ template -class EuclideanLossLayer : public LossLayer { +class HingeLossLayer : public LossLayer { public: - explicit EuclideanLossLayer(const LayerParameter& param) - : LossLayer(param), diff_() {} - virtual void FurtherSetUp(const vector*>& bottom, - vector*>* top); + explicit HingeLossLayer(const LayerParameter& param) + : LossLayer(param) {} virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_EUCLIDEAN_LOSS; - } - // Unlike most loss layers, in the EuclideanLossLayer we can backpropagate - // to both inputs. - virtual inline bool AllowForceBackward(const int bottom_index) const { - return true; + return LayerParameter_LayerType_HINGE_LOSS; } protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); - virtual Dtype Forward_gpu(const vector*>& bottom, - vector*>* top); virtual void Backward_cpu(const vector*>& top, const vector& propagate_down, vector*>* bottom); - virtual void Backward_gpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom); - - Blob diff_; }; /* InfogainLossLayer @@ -185,16 +153,18 @@ class InfogainLossLayer : public LossLayer { Blob infogain_; }; -/* HingeLossLayer +/* MultinomialLogisticLossLayer */ template -class HingeLossLayer : public LossLayer { +class MultinomialLogisticLossLayer : public LossLayer { public: - explicit HingeLossLayer(const LayerParameter& param) + explicit MultinomialLogisticLossLayer(const LayerParameter& param) : LossLayer(param) {} + virtual void FurtherSetUp(const vector*>& bottom, + vector*>* top); virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_HINGE_LOSS; + return LayerParameter_LayerType_MULTINOMIAL_LOGISTIC_LOSS; } protected: @@ -204,55 +174,85 @@ class HingeLossLayer : public LossLayer { const vector& propagate_down, vector*>* bottom); }; -/* MultinomialLogisticLossLayer +/* SigmoidCrossEntropyLossLayer */ template -class MultinomialLogisticLossLayer : public LossLayer { +class SigmoidCrossEntropyLossLayer : public LossLayer { public: - explicit MultinomialLogisticLossLayer(const LayerParameter& param) - : LossLayer(param) {} + explicit SigmoidCrossEntropyLossLayer(const LayerParameter& param) + : LossLayer(param), + sigmoid_layer_(new SigmoidLayer(param)), + sigmoid_output_(new Blob()) {} virtual void FurtherSetUp(const vector*>& bottom, vector*>* top); virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_MULTINOMIAL_LOGISTIC_LOSS; + return LayerParameter_LayerType_SIGMOID_CROSS_ENTROPY_LOSS; } protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); virtual void Backward_cpu(const vector*>& top, const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + + shared_ptr > sigmoid_layer_; + // sigmoid_output stores the output of the sigmoid layer. + shared_ptr > sigmoid_output_; + // Vector holders to call the underlying sigmoid layer forward and backward. + vector*> sigmoid_bottom_vec_; + vector*> sigmoid_top_vec_; }; -/* AccuracyLayer - Note: not an actual loss layer! Does not implement backwards step. - Computes the accuracy of argmax(a) with respect to b. +// Forward declare SoftmaxLayer for use in SoftmaxWithLossLayer. +template class SoftmaxLayer; + +/* SoftmaxWithLossLayer + Implements softmax and computes the loss. + + It is preferred over separate softmax + multinomiallogisticloss + layers due to more numerically stable gradients. + + In test, this layer could be replaced by simple softmax layer. */ template -class AccuracyLayer : public Layer { +class SoftmaxWithLossLayer : public Layer { public: - explicit AccuracyLayer(const LayerParameter& param) - : Layer(param) {} + explicit SoftmaxWithLossLayer(const LayerParameter& param) + : Layer(param), softmax_layer_(new SoftmaxLayer(param)) {} virtual void SetUp(const vector*>& bottom, vector*>* top); virtual inline LayerParameter_LayerType type() const { - return LayerParameter_LayerType_ACCURACY; + return LayerParameter_LayerType_SOFTMAX_LOSS; + } + virtual inline int MaxTopBlobs() const { return 2; } + // We cannot backpropagate to the labels; ignore force_backward for these + // inputs. + virtual inline bool AllowForceBackward(const int bottom_index) const { + return bottom_index != 1; } - - virtual inline int ExactNumBottomBlobs() const { return 2; } - virtual inline int ExactNumTopBlobs() const { return 1; } protected: virtual Dtype Forward_cpu(const vector*>& bottom, vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); virtual void Backward_cpu(const vector*>& top, - const vector& propagate_down, vector*>* bottom) { - NOT_IMPLEMENTED; - } + const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); - int top_k_; + shared_ptr > softmax_layer_; + // prob stores the output probability of the layer. + Blob prob_; + // Vector holders to call the underlying softmax layer forward and backward. + vector*> softmax_bottom_vec_; + vector*> softmax_top_vec_; }; } // namespace caffe From 872e6c5bc794c8535f4c6d7211f12e8c597dabf7 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 3 Jul 2014 14:39:35 -0700 Subject: [PATCH 206/408] add EqualNumBottomTopBlobs() property for layers; use in ConvolutionLayer --- include/caffe/layer.hpp | 9 +++++++++ include/caffe/vision_layers.hpp | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index 690c36ba23f..b8afcfe37cf 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -84,6 +84,10 @@ class Layer { virtual inline int MinTopBlobs() const { return -1; } virtual inline int MaxTopBlobs() const { return -1; } + // EqualNumBottomTopBlobs should return true for layers requiring an equal + // number of bottom and top blobs. + virtual inline bool EqualNumBottomTopBlobs() const { return false; } + // Declare for each bottom blob whether to allow force_backward -- that is, // if AllowForceBackward(i) == false, we will ignore the force_backward // setting and backpropagate to blob i only if it needs gradient information @@ -156,6 +160,11 @@ class Layer { << type_name() << " Layer produces at most " << MaxTopBlobs() << " top blob(s) as output."; } + if (EqualNumBottomTopBlobs()) { + CHECK_EQ(bottom.size(), top.size()) + << type_name() << " Layer produces one top blob as output for each " + << "bottom blob input."; + } } DISABLE_COPY_AND_ASSIGN(Layer); diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index b68dcbf6e83..c9beebe6849 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -100,8 +100,9 @@ class ConvolutionLayer : public Layer { virtual inline LayerParameter_LayerType type() const { return LayerParameter_LayerType_CONVOLUTION; } - virtual inline int ExactNumBottomBlobs() const { return 1; } - virtual inline int ExactNumTopBlobs() const { return 1; } + virtual inline int MinBottomBlobs() const { return 1; } + virtual inline int MinTopBlobs() const { return 1; } + virtual inline bool EqualNumBottomTopBlobs() const { return true; } protected: virtual Dtype Forward_cpu(const vector*>& bottom, From a2b287472d7d85f997d2621bc4a2486c3837f6ba Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 3 Jul 2014 15:33:12 -0700 Subject: [PATCH 207/408] ConvolutionLayer can take N bottom blobs and N top blobs --- src/caffe/layers/conv_layer.cpp | 141 ++++++++++++---------- src/caffe/layers/conv_layer.cu | 124 ++++++++++--------- src/caffe/test/test_convolution_layer.cpp | 60 +++++++-- 3 files changed, 195 insertions(+), 130 deletions(-) diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index 9ec8da47e1a..67913bfa574 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -22,6 +22,16 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); width_ = bottom[0]->width(); + // TODO: generalize to handle inputs of different shapes. + for (int bottom_id = 1; bottom_id < bottom.size(); ++bottom_id) { + CHECK_EQ(num_, bottom[bottom_id]->num()) << "Inputs must have same num."; + CHECK_EQ(channels_, bottom[bottom_id]->channels()) + << "Inputs must have same channels."; + CHECK_EQ(height_, bottom[bottom_id]->height()) + << "Inputs must have same height."; + CHECK_EQ(width_, bottom[bottom_id]->width()) + << "Inputs must have same width."; + } num_output_ = this->layer_param_.convolution_param().num_output(); CHECK_GT(num_output_, 0); CHECK_EQ(channels_ % group_, 0); @@ -39,7 +49,9 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, M_ = num_output_ / group_; K_ = channels_ * kernel_size_ * kernel_size_ / group_; N_ = height_out * width_out; - (*top)[0]->Reshape(bottom[0]->num(), num_output_, height_out, width_out); + for (int top_id = 0; top_id < top->size(); ++top_id) { + (*top)[top_id]->Reshape(num_, num_output_, height_out, width_out); + } // Check if we need to set up the weights if (this->blobs_.size() > 0) { LOG(INFO) << "Skipping parameter initialization"; @@ -56,7 +68,7 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, shared_ptr > weight_filler(GetFiller( this->layer_param_.convolution_param().weight_filler())); weight_filler->Fill(this->blobs_[0].get()); - // If necessary, intiialize and fill the bias term + // If necessary, initialize and fill the bias term if (bias_term_) { this->blobs_[1].reset(new Blob(1, 1, 1, num_output_)); shared_ptr > bias_filler(GetFiller( @@ -79,29 +91,31 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, template Dtype ConvolutionLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { - const Dtype* bottom_data = bottom[0]->cpu_data(); - Dtype* top_data = (*top)[0]->mutable_cpu_data(); - Dtype* col_data = col_buffer_.mutable_cpu_data(); - const Dtype* weight = this->blobs_[0]->cpu_data(); - int weight_offset = M_ * K_; - int col_offset = K_ * N_; - int top_offset = M_ * N_; - for (int n = 0; n < num_; ++n) { - // First, im2col - im2col_cpu(bottom_data + bottom[0]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); - // Second, innerproduct with groups - for (int g = 0; g < group_; ++g) { - caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, K_, - (Dtype)1., weight + weight_offset * g, col_data + col_offset * g, - (Dtype)0., top_data + (*top)[0]->offset(n) + top_offset * g); - } - // third, add bias - if (bias_term_) { - caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, num_output_, - N_, 1, (Dtype)1., this->blobs_[1]->cpu_data(), - reinterpret_cast(bias_multiplier_->cpu_data()), - (Dtype)1., top_data + (*top)[0]->offset(n)); + for (int i = 0; i < bottom.size(); ++i) { + const Dtype* bottom_data = bottom[i]->cpu_data(); + Dtype* top_data = (*top)[i]->mutable_cpu_data(); + Dtype* col_data = col_buffer_.mutable_cpu_data(); + const Dtype* weight = this->blobs_[0]->cpu_data(); + int weight_offset = M_ * K_; + int col_offset = K_ * N_; + int top_offset = M_ * N_; + for (int n = 0; n < num_; ++n) { + // First, im2col + im2col_cpu(bottom_data + bottom[i]->offset(n), channels_, height_, + width_, kernel_size_, pad_, stride_, col_data); + // Second, innerproduct with groups + for (int g = 0; g < group_; ++g) { + caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, K_, + (Dtype)1., weight + weight_offset * g, col_data + col_offset * g, + (Dtype)0., top_data + (*top)[i]->offset(n) + top_offset * g); + } + // third, add bias + if (bias_term_) { + caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, num_output_, + N_, 1, (Dtype)1., this->blobs_[1]->cpu_data(), + reinterpret_cast(bias_multiplier_->cpu_data()), + (Dtype)1., top_data + (*top)[i]->offset(n)); + } } } return Dtype(0.); @@ -110,54 +124,57 @@ Dtype ConvolutionLayer::Forward_cpu(const vector*>& bottom, template void ConvolutionLayer::Backward_cpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { - const Dtype* top_diff = top[0]->cpu_diff(); const Dtype* weight = this->blobs_[0]->cpu_data(); Dtype* weight_diff = this->blobs_[0]->mutable_cpu_diff(); - const Dtype* bottom_data = (*bottom)[0]->cpu_data(); - Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); - Dtype* col_data = col_buffer_.mutable_cpu_data(); - Dtype* col_diff = col_buffer_.mutable_cpu_diff(); - // bias gradient if necessary + memset(weight_diff, 0, sizeof(Dtype) * this->blobs_[0]->count()); Dtype* bias_diff = NULL; - if (bias_term_) { bias_diff = this->blobs_[1]->mutable_cpu_diff(); memset(bias_diff, 0, sizeof(Dtype) * this->blobs_[1]->count()); - for (int n = 0; n < num_; ++n) { - caffe_cpu_gemv(CblasNoTrans, num_output_, N_, - 1., top_diff + top[0]->offset(n), - reinterpret_cast(bias_multiplier_->cpu_data()), 1., - bias_diff); - } } + const int weight_offset = M_ * K_; + const int col_offset = K_ * N_; + const int top_offset = M_ * N_; + for (int i = 0; i < top.size(); ++i) { + const Dtype* top_diff = top[i]->cpu_diff(); + const Dtype* bottom_data = (*bottom)[i]->cpu_data(); + Dtype* bottom_diff = (*bottom)[i]->mutable_cpu_diff(); + Dtype* col_data = col_buffer_.mutable_cpu_data(); + Dtype* col_diff = col_buffer_.mutable_cpu_diff(); - int weight_offset = M_ * K_; - int col_offset = K_ * N_; - int top_offset = M_ * N_; - memset(weight_diff, 0, sizeof(Dtype) * this->blobs_[0]->count()); - for (int n = 0; n < num_; ++n) { - // since we saved memory in the forward pass by not storing all col data, - // we will need to recompute them. - im2col_cpu(bottom_data + (*bottom)[0]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); - // gradient w.r.t. weight. Note that we will accumulate diffs. - for (int g = 0; g < group_; ++g) { - caffe_cpu_gemm(CblasNoTrans, CblasTrans, M_, K_, N_, - (Dtype)1., top_diff + top[0]->offset(n) + top_offset * g, - col_data + col_offset * g, (Dtype)1., - weight_diff + weight_offset * g); + // Bias gradient, if necessary. + if (bias_term_) { + for (int n = 0; n < num_; ++n) { + caffe_cpu_gemv(CblasNoTrans, num_output_, N_, + 1., top_diff + top[0]->offset(n), + static_cast(bias_multiplier_->cpu_data()), 1., + bias_diff); + } } - // gradient w.r.t. bottom data, if necessary - if (propagate_down[0]) { + for (int n = 0; n < num_; ++n) { + // Since we saved memory in the forward pass by not storing all col data, + // we will need to recompute them. + im2col_cpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, + width_, kernel_size_, pad_, stride_, col_data); + // gradient w.r.t. weight. Note that we will accumulate diffs. for (int g = 0; g < group_; ++g) { - caffe_cpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, - (Dtype)1., weight + weight_offset * g, - top_diff + top[0]->offset(n) + top_offset * g, - (Dtype)0., col_diff + col_offset * g); + caffe_cpu_gemm(CblasNoTrans, CblasTrans, M_, K_, N_, + (Dtype)1., top_diff + top[i]->offset(n) + top_offset * g, + col_data + col_offset * g, (Dtype)1., + weight_diff + weight_offset * g); + } + // gradient w.r.t. bottom data, if necessary + if (propagate_down[i]) { + for (int g = 0; g < group_; ++g) { + caffe_cpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, + (Dtype)1., weight + weight_offset * g, + top_diff + top[i]->offset(n) + top_offset * g, + (Dtype)0., col_diff + col_offset * g); + } + // col2im back to the data + col2im_cpu(col_diff, channels_, height_, width_, kernel_size_, pad_, + stride_, bottom_diff + (*bottom)[i]->offset(n)); } - // col2im back to the data - col2im_cpu(col_diff, channels_, height_, width_, kernel_size_, pad_, - stride_, bottom_diff + (*bottom)[0]->offset(n)); } } } diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index 85f95fd32c9..71b00c9566b 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -13,29 +13,31 @@ namespace caffe { template Dtype ConvolutionLayer::Forward_gpu(const vector*>& bottom, vector*>* top) { - const Dtype* bottom_data = bottom[0]->gpu_data(); - Dtype* top_data = (*top)[0]->mutable_gpu_data(); - Dtype* col_data = col_buffer_.mutable_gpu_data(); - const Dtype* weight = this->blobs_[0]->gpu_data(); - int weight_offset = M_ * K_; - int col_offset = K_ * N_; - int top_offset = M_ * N_; - for (int n = 0; n < num_; ++n) { - // First, im2col - im2col_gpu(bottom_data + bottom[0]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); - // Second, innerproduct with groups - for (int g = 0; g < group_; ++g) { - caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, K_, - (Dtype)1., weight + weight_offset * g, col_data + col_offset * g, - (Dtype)0., top_data + (*top)[0]->offset(n) + top_offset * g); - } - // third, add bias - if (bias_term_) { - caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, num_output_, - N_, 1, (Dtype)1., this->blobs_[1]->gpu_data(), - reinterpret_cast(bias_multiplier_->gpu_data()), - (Dtype)1., top_data + (*top)[0]->offset(n)); + for (int i = 0; i < bottom.size(); ++i) { + const Dtype* bottom_data = bottom[i]->gpu_data(); + Dtype* top_data = (*top)[i]->mutable_gpu_data(); + Dtype* col_data = col_buffer_.mutable_gpu_data(); + const Dtype* weight = this->blobs_[0]->gpu_data(); + int weight_offset = M_ * K_; + int col_offset = K_ * N_; + int top_offset = M_ * N_; + for (int n = 0; n < num_; ++n) { + // First, im2col + im2col_gpu(bottom_data + bottom[i]->offset(n), channels_, height_, + width_, kernel_size_, pad_, stride_, col_data); + // Second, innerproduct with groups + for (int g = 0; g < group_; ++g) { + caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, K_, + (Dtype)1., weight + weight_offset * g, col_data + col_offset * g, + (Dtype)0., top_data + (*top)[i]->offset(n) + top_offset * g); + } + // third, add bias + if (bias_term_) { + caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, num_output_, + N_, 1, (Dtype)1., this->blobs_[1]->gpu_data(), + reinterpret_cast(bias_multiplier_->gpu_data()), + (Dtype)1., top_data + (*top)[i]->offset(n)); + } } } return Dtype(0.); @@ -44,56 +46,58 @@ Dtype ConvolutionLayer::Forward_gpu(const vector*>& bottom, template void ConvolutionLayer::Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { - const Dtype* top_diff = top[0]->gpu_diff(); const Dtype* weight = this->blobs_[0]->gpu_data(); Dtype* weight_diff = this->blobs_[0]->mutable_gpu_diff(); - const Dtype* bottom_data = (*bottom)[0]->gpu_data(); - Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); + CUDA_CHECK(cudaMemset(weight_diff, 0, + sizeof(Dtype) * this->blobs_[0]->count())); Dtype* col_data = col_buffer_.mutable_gpu_data(); Dtype* col_diff = col_buffer_.mutable_gpu_diff(); - // bias gradient if necessary Dtype* bias_diff = NULL; - if (bias_term_) { bias_diff = this->blobs_[1]->mutable_gpu_diff(); CUDA_CHECK(cudaMemset(bias_diff, 0, sizeof(Dtype) * this->blobs_[1]->count())); - for (int n = 0; n < num_; ++n) { - caffe_gpu_gemv(CblasNoTrans, num_output_, N_, - 1., top_diff + top[0]->offset(n), - reinterpret_cast(bias_multiplier_->gpu_data()), - 1., bias_diff); - } } - - int weight_offset = M_ * K_; - int col_offset = K_ * N_; - int top_offset = M_ * N_; - CUDA_CHECK(cudaMemset(weight_diff, 0, - sizeof(Dtype) * this->blobs_[0]->count())); - for (int n = 0; n < num_; ++n) { - // since we saved memory in the forward pass by not storing all col data, - // we will need to recompute them. - im2col_gpu(bottom_data + (*bottom)[0]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); - // gradient w.r.t. weight. Note that we will accumulate diffs. - for (int g = 0; g < group_; ++g) { - caffe_gpu_gemm(CblasNoTrans, CblasTrans, M_, K_, N_, - (Dtype)1., top_diff + top[0]->offset(n) + top_offset * g, - col_data + col_offset * g, (Dtype)1., - weight_diff + weight_offset * g); + const int weight_offset = M_ * K_; + const int col_offset = K_ * N_; + const int top_offset = M_ * N_; + for (int i = 0; i < top.size(); ++i) { + const Dtype* top_diff = top[i]->gpu_diff(); + const Dtype* bottom_data = (*bottom)[i]->gpu_data(); + Dtype* bottom_diff = (*bottom)[i]->mutable_gpu_diff(); + // Bias gradient, if necessary. + if (bias_term_) { + for (int n = 0; n < num_; ++n) { + caffe_gpu_gemv(CblasNoTrans, num_output_, N_, + 1., top_diff + top[0]->offset(n), + static_cast(bias_multiplier_->gpu_data()), + 1., bias_diff); + } } - // gradient w.r.t. bottom data, if necessary - if (propagate_down[0]) { + for (int n = 0; n < num_; ++n) { + // since we saved memory in the forward pass by not storing all col data, + // we will need to recompute them. + im2col_gpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, + width_, kernel_size_, pad_, stride_, col_data); + // gradient w.r.t. weight. Note that we will accumulate diffs. for (int g = 0; g < group_; ++g) { - caffe_gpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, - (Dtype)1., weight + weight_offset * g, - top_diff + top[0]->offset(n) + top_offset * g, - (Dtype)0., col_diff + col_offset * g); + caffe_gpu_gemm(CblasNoTrans, CblasTrans, M_, K_, N_, + (Dtype)1., top_diff + top[i]->offset(n) + top_offset * g, + col_data + col_offset * g, (Dtype)1., + weight_diff + weight_offset * g); + } + // gradient w.r.t. bottom data, if necessary + if (propagate_down[i]) { + for (int g = 0; g < group_; ++g) { + caffe_gpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, + (Dtype)1., weight + weight_offset * g, + top_diff + top[i]->offset(n) + top_offset * g, + (Dtype)0., col_diff + col_offset * g); + } + // col2im back to the data + col2im_gpu(col_diff, channels_, height_, width_, kernel_size_, pad_, + stride_, bottom_diff + (*bottom)[i]->offset(n)); } - // col2im back to the data - col2im_gpu(col_diff, channels_, height_, width_, kernel_size_, pad_, - stride_, bottom_diff + (*bottom)[0]->offset(n)); } } } diff --git a/src/caffe/test/test_convolution_layer.cpp b/src/caffe/test/test_convolution_layer.cpp index b08486e10a3..f7401015538 100644 --- a/src/caffe/test/test_convolution_layer.cpp +++ b/src/caffe/test/test_convolution_layer.cpp @@ -21,22 +21,32 @@ template class ConvolutionLayerTest : public ::testing::Test { protected: ConvolutionLayerTest() - : blob_bottom_(new Blob()), - blob_top_(new Blob()) {} + : blob_bottom_(new Blob(2, 3, 6, 4)), + blob_bottom_2_(new Blob(2, 3, 6, 4)), + blob_top_(new Blob()), + blob_top_2_(new Blob()) {} virtual void SetUp() { - blob_bottom_->Reshape(2, 3, 6, 4); // fill the values FillerParameter filler_param; filler_param.set_value(1.); GaussianFiller filler(filler_param); filler.Fill(this->blob_bottom_); + filler.Fill(this->blob_bottom_2_); blob_bottom_vec_.push_back(blob_bottom_); blob_top_vec_.push_back(blob_top_); } - virtual ~ConvolutionLayerTest() { delete blob_bottom_; delete blob_top_; } + virtual ~ConvolutionLayerTest() { + delete blob_bottom_; + delete blob_bottom_2_; + delete blob_top_; + delete blob_top_2_; + } + Blob* const blob_bottom_; + Blob* const blob_bottom_2_; Blob* const blob_top_; + Blob* const blob_top_2_; vector*> blob_bottom_vec_; vector*> blob_top_vec_; }; @@ -51,6 +61,8 @@ TYPED_TEST(ConvolutionLayerTest, TestSetup) { convolution_param->set_kernel_size(3); convolution_param->set_stride(2); convolution_param->set_num_output(4); + this->blob_bottom_vec_.push_back(this->blob_bottom_2_); + this->blob_top_vec_.push_back(this->blob_top_2_); shared_ptr > layer( new ConvolutionLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -58,6 +70,10 @@ TYPED_TEST(ConvolutionLayerTest, TestSetup) { EXPECT_EQ(this->blob_top_->channels(), 4); EXPECT_EQ(this->blob_top_->height(), 2); EXPECT_EQ(this->blob_top_->width(), 1); + EXPECT_EQ(this->blob_top_2_->num(), 2); + EXPECT_EQ(this->blob_top_2_->channels(), 4); + EXPECT_EQ(this->blob_top_2_->height(), 2); + EXPECT_EQ(this->blob_top_2_->width(), 1); // setting group should not change the shape convolution_param->set_num_output(3); convolution_param->set_group(3); @@ -67,14 +83,24 @@ TYPED_TEST(ConvolutionLayerTest, TestSetup) { EXPECT_EQ(this->blob_top_->channels(), 3); EXPECT_EQ(this->blob_top_->height(), 2); EXPECT_EQ(this->blob_top_->width(), 1); + EXPECT_EQ(this->blob_top_2_->num(), 2); + EXPECT_EQ(this->blob_top_2_->channels(), 3); + EXPECT_EQ(this->blob_top_2_->height(), 2); + EXPECT_EQ(this->blob_top_2_->width(), 1); } TYPED_TEST(ConvolutionLayerTest, TestCPUSimpleConvolution) { // We will simply see if the convolution layer carries out averaging well. + shared_ptr > filler; FillerParameter filler_param; filler_param.set_value(1.); - ConstantFiller filler(filler_param); - filler.Fill(this->blob_bottom_); + filler.reset(new ConstantFiller(filler_param)); + filler->Fill(this->blob_bottom_); + filler_param.set_value(2.); + filler.reset(new ConstantFiller(filler_param)); + filler->Fill(this->blob_bottom_2_); + this->blob_bottom_vec_.push_back(this->blob_bottom_2_); + this->blob_top_vec_.push_back(this->blob_top_2_); LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); @@ -95,14 +121,24 @@ TYPED_TEST(ConvolutionLayerTest, TestCPUSimpleConvolution) { for (int i = 0; i < this->blob_top_->count(); ++i) { EXPECT_NEAR(top_data[i], 27.1, 1e-4); } + top_data = this->blob_top_2_->cpu_data(); + for (int i = 0; i < this->blob_top_2_->count(); ++i) { + EXPECT_NEAR(top_data[i], 54.1, 1e-4); + } } TYPED_TEST(ConvolutionLayerTest, TestGPUSimpleConvolution) { // We will simply see if the convolution layer carries out averaging well. + shared_ptr > filler; FillerParameter filler_param; filler_param.set_value(1.); - ConstantFiller filler(filler_param); - filler.Fill(this->blob_bottom_); + filler.reset(new ConstantFiller(filler_param)); + filler->Fill(this->blob_bottom_); + filler_param.set_value(2.); + filler.reset(new ConstantFiller(filler_param)); + filler->Fill(this->blob_bottom_2_); + this->blob_bottom_vec_.push_back(this->blob_bottom_2_); + this->blob_top_vec_.push_back(this->blob_top_2_); LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); @@ -123,6 +159,10 @@ TYPED_TEST(ConvolutionLayerTest, TestGPUSimpleConvolution) { for (int i = 0; i < this->blob_top_->count(); ++i) { EXPECT_NEAR(top_data[i], 27.1, 1e-4); } + top_data = this->blob_top_2_->cpu_data(); + for (int i = 0; i < this->blob_top_2_->count(); ++i) { + EXPECT_NEAR(top_data[i], 54.1, 1e-4); + } } TYPED_TEST(ConvolutionLayerTest, TestCPUSimpleConvolutionGroup) { @@ -223,6 +263,8 @@ TYPED_TEST(ConvolutionLayerTest, TestCPUGradient) { LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); + this->blob_bottom_vec_.push_back(this->blob_bottom_2_); + this->blob_top_vec_.push_back(this->blob_top_2_); convolution_param->set_kernel_size(3); convolution_param->set_stride(2); convolution_param->set_num_output(2); @@ -256,6 +298,8 @@ TYPED_TEST(ConvolutionLayerTest, TestGPUGradient) { LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); + this->blob_bottom_vec_.push_back(this->blob_bottom_2_); + this->blob_top_vec_.push_back(this->blob_top_2_); convolution_param->set_kernel_size(3); convolution_param->set_stride(2); convolution_param->set_num_output(2); From 1fcd29fb9aaedb763f58a1702dedc4a1e3904422 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 27 Jun 2014 15:01:02 -0700 Subject: [PATCH 208/408] report UVA in platform test --- src/caffe/test/test_platform.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/caffe/test/test_platform.cpp b/src/caffe/test/test_platform.cpp index c3868f34d9f..7cf8306e8c9 100644 --- a/src/caffe/test/test_platform.cpp +++ b/src/caffe/test/test_platform.cpp @@ -47,6 +47,8 @@ TEST_F(PlatformTest, TestInitialization) { CAFFE_TEST_CUDA_PROP.multiProcessorCount); printf("Kernel execution timeout: %s\n", (CAFFE_TEST_CUDA_PROP.kernelExecTimeoutEnabled ? "Yes" : "No")); + printf("Unified virtual addressing: %s\n", + (CAFFE_TEST_CUDA_PROP.unifiedAddressing ? "Yes" : "No")); EXPECT_TRUE(true); } From 9f74b6b129ab6ae161d569ce73d346553e04ec49 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 27 Jun 2014 18:36:48 -0700 Subject: [PATCH 209/408] switch to unified virtual addressing CUDA memcpy Host / device copies are distinguished by the virtual address of the pointers instead of explicit memcpy modes. --- matlab/caffe/matcaffe.cpp | 10 +++++----- src/caffe/blob.cpp | 4 ++-- src/caffe/layers/data_layer.cu | 4 ++-- src/caffe/layers/hdf5_data_layer.cu | 4 ++-- src/caffe/layers/hdf5_output_layer.cu | 4 ++-- src/caffe/layers/image_data_layer.cu | 4 ++-- src/caffe/layers/window_data_layer.cu | 4 ++-- src/caffe/syncedmem.cpp | 4 ++-- src/caffe/test/test_syncedmem.cpp | 4 ++-- 9 files changed, 21 insertions(+), 21 deletions(-) diff --git a/matlab/caffe/matcaffe.cpp b/matlab/caffe/matcaffe.cpp index 21f51e83994..1b2b65ec7d8 100644 --- a/matlab/caffe/matcaffe.cpp +++ b/matlab/caffe/matcaffe.cpp @@ -59,7 +59,7 @@ static mxArray* do_forward(const mxArray* const bottom) { break; case Caffe::GPU: cudaMemcpy(input_blobs[i]->mutable_gpu_data(), data_ptr, - sizeof(float) * input_blobs[i]->count(), cudaMemcpyHostToDevice); + sizeof(float) * input_blobs[i]->count(), cudaMemcpyDefault); break; default: LOG(FATAL) << "Unknown Caffe mode."; @@ -82,7 +82,7 @@ static mxArray* do_forward(const mxArray* const bottom) { break; case Caffe::GPU: cudaMemcpy(data_ptr, output_blobs[i]->gpu_data(), - sizeof(float) * output_blobs[i]->count(), cudaMemcpyDeviceToHost); + sizeof(float) * output_blobs[i]->count(), cudaMemcpyDefault); break; default: LOG(FATAL) << "Unknown Caffe mode."; @@ -109,7 +109,7 @@ static mxArray* do_backward(const mxArray* const top_diff) { break; case Caffe::GPU: cudaMemcpy(output_blobs[i]->mutable_gpu_diff(), data_ptr, - sizeof(float) * output_blobs[i]->count(), cudaMemcpyHostToDevice); + sizeof(float) * output_blobs[i]->count(), cudaMemcpyDefault); break; default: LOG(FATAL) << "Unknown Caffe mode."; @@ -134,7 +134,7 @@ static mxArray* do_backward(const mxArray* const top_diff) { break; case Caffe::GPU: cudaMemcpy(data_ptr, input_blobs[i]->gpu_diff(), - sizeof(float) * input_blobs[i]->count(), cudaMemcpyDeviceToHost); + sizeof(float) * input_blobs[i]->count(), cudaMemcpyDefault); break; default: LOG(FATAL) << "Unknown Caffe mode."; @@ -211,7 +211,7 @@ static mxArray* do_get_weights() { break; case Caffe::GPU: CUDA_CHECK(cudaMemcpy(weights_ptr, layer_blobs[j]->gpu_data(), - sizeof(float) * layer_blobs[j]->count(), cudaMemcpyDeviceToHost)); + sizeof(float) * layer_blobs[j]->count(), cudaMemcpyDefault)); break; default: LOG(FATAL) << "Unknown caffe mode: " << Caffe::mode(); diff --git a/src/caffe/blob.cpp b/src/caffe/blob.cpp index e603712fd82..eb1075a0273 100644 --- a/src/caffe/blob.cpp +++ b/src/caffe/blob.cpp @@ -150,10 +150,10 @@ void Blob::CopyFrom(const Blob& source, bool copy_diff, bool reshape) { case Caffe::GPU: if (copy_diff) { CUDA_CHECK(cudaMemcpy(diff_->mutable_gpu_data(), source.gpu_diff(), - sizeof(Dtype) * count_, cudaMemcpyDeviceToDevice)); + sizeof(Dtype) * count_, cudaMemcpyDefault)); } else { CUDA_CHECK(cudaMemcpy(data_->mutable_gpu_data(), source.gpu_data(), - sizeof(Dtype) * count_, cudaMemcpyDeviceToDevice)); + sizeof(Dtype) * count_, cudaMemcpyDefault)); } break; case Caffe::CPU: diff --git a/src/caffe/layers/data_layer.cu b/src/caffe/layers/data_layer.cu index 2ff9a292b3e..5a8bb0bfc65 100644 --- a/src/caffe/layers/data_layer.cu +++ b/src/caffe/layers/data_layer.cu @@ -23,11 +23,11 @@ Dtype DataLayer::Forward_gpu(const vector*>& bottom, // Copy the data CUDA_CHECK(cudaMemcpy((*top)[0]->mutable_gpu_data(), prefetch_data_->cpu_data(), sizeof(Dtype) * prefetch_data_->count(), - cudaMemcpyHostToDevice)); + cudaMemcpyDefault)); if (output_labels_) { CUDA_CHECK(cudaMemcpy((*top)[1]->mutable_gpu_data(), prefetch_label_->cpu_data(), sizeof(Dtype) * prefetch_label_->count(), - cudaMemcpyHostToDevice)); + cudaMemcpyDefault)); } // Start a new prefetch thread CreatePrefetchThread(); diff --git a/src/caffe/layers/hdf5_data_layer.cu b/src/caffe/layers/hdf5_data_layer.cu index b2b09ef7dd1..232f55fd677 100644 --- a/src/caffe/layers/hdf5_data_layer.cu +++ b/src/caffe/layers/hdf5_data_layer.cu @@ -44,12 +44,12 @@ Dtype HDF5DataLayer::Forward_gpu(const vector*>& bottom, &(*top)[0]->mutable_gpu_data()[i * data_count], &data_blob_.cpu_data()[current_row_ * data_count], sizeof(Dtype) * data_count, - cudaMemcpyHostToDevice)); + cudaMemcpyDefault)); CUDA_CHECK(cudaMemcpy( &(*top)[1]->mutable_gpu_data()[i * label_data_count], &label_blob_.cpu_data()[current_row_ * label_data_count], sizeof(Dtype) * label_data_count, - cudaMemcpyHostToDevice)); + cudaMemcpyDefault)); } return Dtype(0.); } diff --git a/src/caffe/layers/hdf5_output_layer.cu b/src/caffe/layers/hdf5_output_layer.cu index 59505ee6acf..19567c12b2b 100644 --- a/src/caffe/layers/hdf5_output_layer.cu +++ b/src/caffe/layers/hdf5_output_layer.cu @@ -29,10 +29,10 @@ Dtype HDF5OutputLayer::Forward_gpu(const vector*>& bottom, for (int i = 0; i < bottom[0]->num(); ++i) { CUDA_CHECK(cudaMemcpy(&data_blob_.mutable_cpu_data()[i * data_datum_dim], &bottom[0]->gpu_data()[i * data_datum_dim], - sizeof(Dtype) * data_datum_dim, cudaMemcpyDeviceToHost)); + sizeof(Dtype) * data_datum_dim, cudaMemcpyDefault)); CUDA_CHECK(cudaMemcpy(&label_blob_.mutable_cpu_data()[i * label_datum_dim], &bottom[1]->gpu_data()[i * label_datum_dim], - sizeof(Dtype) * label_datum_dim, cudaMemcpyDeviceToHost)); + sizeof(Dtype) * label_datum_dim, cudaMemcpyDefault)); } SaveBlobs(); return Dtype(0.); diff --git a/src/caffe/layers/image_data_layer.cu b/src/caffe/layers/image_data_layer.cu index 98047297d80..3f905bc461a 100644 --- a/src/caffe/layers/image_data_layer.cu +++ b/src/caffe/layers/image_data_layer.cu @@ -29,10 +29,10 @@ Dtype ImageDataLayer::Forward_gpu(const vector*>& bottom, // Copy the data CUDA_CHECK(cudaMemcpy((*top)[0]->mutable_gpu_data(), prefetch_data_->cpu_data(), sizeof(Dtype) * prefetch_data_->count(), - cudaMemcpyHostToDevice)); + cudaMemcpyDefault)); CUDA_CHECK(cudaMemcpy((*top)[1]->mutable_gpu_data(), prefetch_label_->cpu_data(), sizeof(Dtype) * prefetch_label_->count(), - cudaMemcpyHostToDevice)); + cudaMemcpyDefault)); // Start a new prefetch thread CreatePrefetchThread(); return Dtype(0.); diff --git a/src/caffe/layers/window_data_layer.cu b/src/caffe/layers/window_data_layer.cu index bc49fef6545..5e8cdb7841d 100644 --- a/src/caffe/layers/window_data_layer.cu +++ b/src/caffe/layers/window_data_layer.cu @@ -30,10 +30,10 @@ Dtype WindowDataLayer::Forward_gpu(const vector*>& bottom, // Copy the data CUDA_CHECK(cudaMemcpy((*top)[0]->mutable_gpu_data(), prefetch_data_->cpu_data(), sizeof(Dtype) * prefetch_data_->count(), - cudaMemcpyHostToDevice)); + cudaMemcpyDefault)); CUDA_CHECK(cudaMemcpy((*top)[1]->mutable_gpu_data(), prefetch_label_->cpu_data(), sizeof(Dtype) * prefetch_label_->count(), - cudaMemcpyHostToDevice)); + cudaMemcpyDefault)); // Start a new prefetch thread CreatePrefetchThread(); return Dtype(0.); diff --git a/src/caffe/syncedmem.cpp b/src/caffe/syncedmem.cpp index fec37d6e9ec..ec4c528f46d 100644 --- a/src/caffe/syncedmem.cpp +++ b/src/caffe/syncedmem.cpp @@ -32,7 +32,7 @@ inline void SyncedMemory::to_cpu() { CaffeMallocHost(&cpu_ptr_, size_); own_cpu_data_ = true; } - CUDA_CHECK(cudaMemcpy(cpu_ptr_, gpu_ptr_, size_, cudaMemcpyDeviceToHost)); + CUDA_CHECK(cudaMemcpy(cpu_ptr_, gpu_ptr_, size_, cudaMemcpyDefault)); head_ = SYNCED; break; case HEAD_AT_CPU: @@ -52,7 +52,7 @@ inline void SyncedMemory::to_gpu() { if (gpu_ptr_ == NULL) { CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_)); } - CUDA_CHECK(cudaMemcpy(gpu_ptr_, cpu_ptr_, size_, cudaMemcpyHostToDevice)); + CUDA_CHECK(cudaMemcpy(gpu_ptr_, cpu_ptr_, size_, cudaMemcpyDefault)); head_ = SYNCED; break; case HEAD_AT_GPU: diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index 7bbbbab6a57..e741f0f70da 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -58,7 +58,7 @@ TEST_F(SyncedMemoryTest, TestGPURead) { // check if values are the same char* recovered_value = new char[10]; cudaMemcpy(reinterpret_cast(recovered_value), gpu_data, 10, - cudaMemcpyDeviceToHost); + cudaMemcpyDefault); for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(recovered_value))[i], 1); } @@ -73,7 +73,7 @@ TEST_F(SyncedMemoryTest, TestGPURead) { EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same cudaMemcpy(reinterpret_cast(recovered_value), gpu_data, 10, - cudaMemcpyDeviceToHost); + cudaMemcpyDefault); for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(recovered_value))[i], 2); } From 803a7a94f3033e4d389de57c18524c98ac744b3f Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 27 Jun 2014 18:38:39 -0700 Subject: [PATCH 210/408] replace softmax cudaMemcpy with caffe_gpu_copy --- src/caffe/layers/softmax_layer.cu | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/caffe/layers/softmax_layer.cu b/src/caffe/layers/softmax_layer.cu index f53883c9206..5ec4412ccfb 100644 --- a/src/caffe/layers/softmax_layer.cu +++ b/src/caffe/layers/softmax_layer.cu @@ -50,8 +50,7 @@ Dtype SoftmaxLayer::Forward_gpu(const vector*>& bottom, Dtype* scale_data = scale_.mutable_gpu_data(); int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); - CUDA_CHECK(cudaMemcpy(top_data, bottom_data, - sizeof(Dtype) * bottom[0]->count(), cudaMemcpyDeviceToDevice)); + caffe_gpu_copy(bottom[0]->count(), bottom_data, top_data); // we need to subtract the max to avoid numerical issues, compute the exp, // and then normalize. // Compute max @@ -85,8 +84,7 @@ void SoftmaxLayer::Backward_gpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); int num = top[0]->num(); int dim = top[0]->count() / top[0]->num(); - CUDA_CHECK(cudaMemcpy(bottom_diff, top_diff, - sizeof(Dtype) * top[0]->count(), cudaMemcpyDeviceToDevice)); + caffe_gpu_copy(top[0]->count(), top_diff, bottom_diff); // Compute inner1d(top_diff, top_data) and subtract them from the bottom diff // cuda dot returns the result to cpu, so we temporarily change the pointer // mode From aaa9f24d369798cfa268f465ec5a1c35257ed500 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 27 Jun 2014 21:25:36 -0700 Subject: [PATCH 211/408] do all caffe_copy() as UVA mem copy, and drop caffe_gpu_copy() Do all memory copies by `cudaMemcpy` in UVA mode so that the same `caffe_copy()` interface works for all transfers. `cudaMemcpy()` is used in lieu of BLAS copies because they do not understand UVA. Drop the now unnecessary `caffe_gpu_copy()` since location of the pointers is now irrelevant to the interface. --- include/caffe/util/math_functions.hpp | 5 ++--- src/caffe/util/math_functions.cpp | 21 +++++++++++++-------- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/include/caffe/util/math_functions.hpp b/include/caffe/util/math_functions.hpp index 99519974243..b5f4dfbd1a8 100644 --- a/include/caffe/util/math_functions.hpp +++ b/include/caffe/util/math_functions.hpp @@ -59,15 +59,14 @@ void caffe_gpu_axpby(const int N, const Dtype alpha, const Dtype* X, template void caffe_copy(const int N, const Dtype *X, Dtype *Y); +void caffe_copy(const size_t N, const void *X, void *Y); + template void caffe_set(const int N, const Dtype alpha, Dtype *X); template void caffe_gpu_set(const int N, const Dtype alpha, Dtype *X); -template -void caffe_gpu_copy(const int N, const Dtype *X, Dtype *Y); - template void caffe_add_scalar(const int N, const Dtype alpha, Dtype *X); diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index 90df51248e2..b1b62edb0d2 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -150,30 +150,35 @@ void caffe_add_scalar(const int N, const double alpha, double* Y) { } template <> -void caffe_copy(const int N, const float* X, float* Y) { +void caffe_copy(const int N, const int* X, int* Y) { if (X != Y) { - cblas_scopy(N, X, 1, Y, 1); + CUDA_CHECK(cudaMemcpy(Y, X, sizeof(int) * N, cudaMemcpyDefault)); } } template <> -void caffe_copy(const int N, const double* X, double* Y) { +void caffe_copy(const int N, const unsigned int* X, + unsigned int* Y) { if (X != Y) { - cblas_dcopy(N, X, 1, Y, 1); + CUDA_CHECK(cudaMemcpy(Y, X, sizeof(unsigned int) * N, cudaMemcpyDefault)); } } template <> -void caffe_gpu_copy(const int N, const float* X, float* Y) { +void caffe_copy(const int N, const float* X, float* Y) { if (X != Y) { - CUBLAS_CHECK(cublasScopy(Caffe::cublas_handle(), N, X, 1, Y, 1)); + CUDA_CHECK(cudaMemcpy(Y, X, sizeof(float) * N, cudaMemcpyDefault)); } } template <> -void caffe_gpu_copy(const int N, const double* X, double* Y) { +void caffe_copy(const int N, const double* X, double* Y) { + CUDA_CHECK(cudaMemcpy(Y, X, sizeof(double) * N, cudaMemcpyDefault)); +} + +void caffe_copy(const size_t N, const void* X, void* Y) { if (X != Y) { - CUBLAS_CHECK(cublasDcopy(Caffe::cublas_handle(), N, X, 1, Y, 1)); + CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); } } From 1da30a555827e778e36c5db72ef9cc672ad85675 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 27 Jun 2014 19:51:33 -0700 Subject: [PATCH 212/408] replace all memcpy by caffe_copy --- include/caffe/blob.hpp | 1 + include/caffe/syncedmem.hpp | 1 + matlab/caffe/matcaffe.cpp | 38 +++++++++---------- src/caffe/blob.cpp | 16 ++++---- src/caffe/layers/concat_layer.cu | 8 ++-- src/caffe/layers/data_layer.cu | 10 ++--- src/caffe/layers/dropout_layer.cu | 2 +- src/caffe/layers/eltwise_layer.cu | 2 +- src/caffe/layers/hdf5_data_layer.cu | 16 +++----- src/caffe/layers/hdf5_output_layer.cpp | 10 ++--- src/caffe/layers/hdf5_output_layer.cu | 10 ++--- src/caffe/layers/image_data_layer.cu | 10 ++--- src/caffe/layers/power_layer.cu | 4 +- .../sigmoid_cross_entropy_loss_layer.cu | 2 +- src/caffe/layers/softmax_layer.cpp | 4 +- src/caffe/layers/softmax_layer.cu | 4 +- src/caffe/layers/softmax_loss_layer.cpp | 2 +- src/caffe/layers/window_data_layer.cu | 10 ++--- src/caffe/solver.cpp | 2 +- src/caffe/syncedmem.cpp | 5 ++- src/caffe/test/test_gradient_check_util.hpp | 4 +- src/caffe/test/test_math_functions.cpp | 2 +- src/caffe/test/test_syncedmem.cpp | 7 ++-- src/caffe/test/test_util_blas.cpp | 16 ++++---- 24 files changed, 86 insertions(+), 100 deletions(-) diff --git a/include/caffe/blob.hpp b/include/caffe/blob.hpp index c04375a10e2..bbea86aea69 100644 --- a/include/caffe/blob.hpp +++ b/include/caffe/blob.hpp @@ -6,6 +6,7 @@ #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/util/math_functions.hpp" namespace caffe { diff --git a/include/caffe/syncedmem.hpp b/include/caffe/syncedmem.hpp index bed55c3806e..2b7f349025a 100644 --- a/include/caffe/syncedmem.hpp +++ b/include/caffe/syncedmem.hpp @@ -6,6 +6,7 @@ #include #include "caffe/common.hpp" +#include "caffe/util/math_functions.hpp" namespace caffe { diff --git a/matlab/caffe/matcaffe.cpp b/matlab/caffe/matcaffe.cpp index 1b2b65ec7d8..957ebea008e 100644 --- a/matlab/caffe/matcaffe.cpp +++ b/matlab/caffe/matcaffe.cpp @@ -54,12 +54,12 @@ static mxArray* do_forward(const mxArray* const bottom) { reinterpret_cast(mxGetPr(elem)); switch (Caffe::mode()) { case Caffe::CPU: - memcpy(input_blobs[i]->mutable_cpu_data(), data_ptr, - sizeof(float) * input_blobs[i]->count()); + caffe_copy(input_blobs[i]->count(), data_ptr, + input_blobs[i]->mutable_cpu_data()); break; case Caffe::GPU: - cudaMemcpy(input_blobs[i]->mutable_gpu_data(), data_ptr, - sizeof(float) * input_blobs[i]->count(), cudaMemcpyDefault); + caffe_copy(input_blobs[i]->count(), data_ptr, + input_blobs[i]->mutable_gpu_data()); break; default: LOG(FATAL) << "Unknown Caffe mode."; @@ -77,12 +77,12 @@ static mxArray* do_forward(const mxArray* const bottom) { float* data_ptr = reinterpret_cast(mxGetPr(mx_blob)); switch (Caffe::mode()) { case Caffe::CPU: - memcpy(data_ptr, output_blobs[i]->cpu_data(), - sizeof(float) * output_blobs[i]->count()); + caffe_copy(output_blobs[i]->count(), output_blobs[i]->cpu_data(), + data_ptr); break; case Caffe::GPU: - cudaMemcpy(data_ptr, output_blobs[i]->gpu_data(), - sizeof(float) * output_blobs[i]->count(), cudaMemcpyDefault); + caffe_copy(output_blobs[i]->count(), output_blobs[i]->gpu_data(), + data_ptr); break; default: LOG(FATAL) << "Unknown Caffe mode."; @@ -104,12 +104,12 @@ static mxArray* do_backward(const mxArray* const top_diff) { reinterpret_cast(mxGetPr(elem)); switch (Caffe::mode()) { case Caffe::CPU: - memcpy(output_blobs[i]->mutable_cpu_diff(), data_ptr, - sizeof(float) * output_blobs[i]->count()); + caffe_copy(output_blobs[i]->count(), data_ptr, + output_blobs[i]->mutable_cpu_diff()); break; case Caffe::GPU: - cudaMemcpy(output_blobs[i]->mutable_gpu_diff(), data_ptr, - sizeof(float) * output_blobs[i]->count(), cudaMemcpyDefault); + caffe_copy(output_blobs[i]->count(), data_ptr, + output_blobs[i]->mutable_gpu_diff()); break; default: LOG(FATAL) << "Unknown Caffe mode."; @@ -129,12 +129,10 @@ static mxArray* do_backward(const mxArray* const top_diff) { float* data_ptr = reinterpret_cast(mxGetPr(mx_blob)); switch (Caffe::mode()) { case Caffe::CPU: - memcpy(data_ptr, input_blobs[i]->cpu_diff(), - sizeof(float) * input_blobs[i]->count()); + caffe_copy(input_blobs[i]->count(), input_blobs[i]->cpu_diff(), data_ptr); break; case Caffe::GPU: - cudaMemcpy(data_ptr, input_blobs[i]->gpu_diff(), - sizeof(float) * input_blobs[i]->count(), cudaMemcpyDefault); + caffe_copy(input_blobs[i]->count(), input_blobs[i]->gpu_diff(), data_ptr); break; default: LOG(FATAL) << "Unknown Caffe mode."; @@ -206,12 +204,12 @@ static mxArray* do_get_weights() { switch (Caffe::mode()) { case Caffe::CPU: - memcpy(weights_ptr, layer_blobs[j]->cpu_data(), - sizeof(float) * layer_blobs[j]->count()); + caffe_copy(layer_blobs[j]->count(), layer_blobs[j]->cpu_data(), + weights_ptr); break; case Caffe::GPU: - CUDA_CHECK(cudaMemcpy(weights_ptr, layer_blobs[j]->gpu_data(), - sizeof(float) * layer_blobs[j]->count(), cudaMemcpyDefault)); + caffe_copy(layer_blobs[j]->count(), layer_blobs[j]->gpu_data(), + weights_ptr); break; default: LOG(FATAL) << "Unknown caffe mode: " << Caffe::mode(); diff --git a/src/caffe/blob.cpp b/src/caffe/blob.cpp index eb1075a0273..69ff49efc46 100644 --- a/src/caffe/blob.cpp +++ b/src/caffe/blob.cpp @@ -149,20 +149,20 @@ void Blob::CopyFrom(const Blob& source, bool copy_diff, bool reshape) { switch (Caffe::mode()) { case Caffe::GPU: if (copy_diff) { - CUDA_CHECK(cudaMemcpy(diff_->mutable_gpu_data(), source.gpu_diff(), - sizeof(Dtype) * count_, cudaMemcpyDefault)); + caffe_copy(count_, source.gpu_diff(), + reinterpret_cast(diff_->mutable_gpu_data())); } else { - CUDA_CHECK(cudaMemcpy(data_->mutable_gpu_data(), source.gpu_data(), - sizeof(Dtype) * count_, cudaMemcpyDefault)); + caffe_copy(count_, source.gpu_data(), + reinterpret_cast(data_->mutable_gpu_data())); } break; case Caffe::CPU: if (copy_diff) { - memcpy(diff_->mutable_cpu_data(), source.cpu_diff(), - sizeof(Dtype) * count_); + caffe_copy(count_, source.cpu_diff(), + reinterpret_cast(diff_->mutable_cpu_data())); } else { - memcpy(data_->mutable_cpu_data(), source.cpu_data(), - sizeof(Dtype) * count_); + caffe_copy(count_, source.cpu_data(), + reinterpret_cast(data_->mutable_cpu_data())); } break; default: diff --git a/src/caffe/layers/concat_layer.cu b/src/caffe/layers/concat_layer.cu index ca0cf0c1b5b..2643d7441c8 100644 --- a/src/caffe/layers/concat_layer.cu +++ b/src/caffe/layers/concat_layer.cu @@ -16,7 +16,7 @@ Dtype ConcatLayer::Forward_gpu(const vector*>& bottom, int offset_num = 0; for (int i = 0; i < bottom.size(); ++i) { const Dtype* bottom_data = bottom[i]->gpu_data(); - caffe_gpu_copy(bottom[i]->count(), bottom_data, + caffe_copy(bottom[i]->count(), bottom_data, top_data + (*top)[0]->offset(offset_num)); offset_num += bottom[i]->num(); } @@ -27,7 +27,7 @@ Dtype ConcatLayer::Forward_gpu(const vector*>& bottom, int num_elem = bottom[i]->channels() * bottom[i]->height() * bottom[i]->width(); for (int n = 0; n < num_; ++n) { - caffe_gpu_copy(num_elem, bottom_data+bottom[i]->offset(n), + caffe_copy(num_elem, bottom_data+bottom[i]->offset(n), top_data + (*top)[0]->offset(n, offset_channel)); } offset_channel += bottom[i]->channels(); @@ -49,7 +49,7 @@ void ConcatLayer::Backward_gpu(const vector*>& top, Blob* blob = (*bottom)[i]; if (propagate_down[i]) { Dtype* bottom_diff = blob->mutable_gpu_diff(); - caffe_gpu_copy(blob->count(), top_diff + top[0]->offset(offset_num), + caffe_copy(blob->count(), top_diff + top[0]->offset(offset_num), bottom_diff); } offset_num += blob->num(); @@ -62,7 +62,7 @@ void ConcatLayer::Backward_gpu(const vector*>& top, Dtype* bottom_diff = blob->mutable_gpu_diff(); int num_elem = blob->channels()*blob->height()*blob->width(); for (int n = 0; n < num_; ++n) { - caffe_gpu_copy(num_elem, top_diff + top[0]->offset(n, offset_channel), + caffe_copy(num_elem, top_diff + top[0]->offset(n, offset_channel), bottom_diff + blob->offset(n)); } } diff --git a/src/caffe/layers/data_layer.cu b/src/caffe/layers/data_layer.cu index 5a8bb0bfc65..40316a16772 100644 --- a/src/caffe/layers/data_layer.cu +++ b/src/caffe/layers/data_layer.cu @@ -21,13 +21,11 @@ Dtype DataLayer::Forward_gpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - CUDA_CHECK(cudaMemcpy((*top)[0]->mutable_gpu_data(), - prefetch_data_->cpu_data(), sizeof(Dtype) * prefetch_data_->count(), - cudaMemcpyDefault)); + caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + (*top)[0]->mutable_gpu_data()); if (output_labels_) { - CUDA_CHECK(cudaMemcpy((*top)[1]->mutable_gpu_data(), - prefetch_label_->cpu_data(), sizeof(Dtype) * prefetch_label_->count(), - cudaMemcpyDefault)); + caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + (*top)[1]->mutable_gpu_data()); } // Start a new prefetch thread CreatePrefetchThread(); diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index 225e0919409..11a426312ce 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -40,7 +40,7 @@ Dtype DropoutLayer::Forward_gpu(const vector*>& bottom, count, bottom_data, mask, uint_thres_, scale_, top_data); CUDA_POST_KERNEL_CHECK; } else { - caffe_gpu_copy(count, bottom_data, top_data); + caffe_copy(count, bottom_data, top_data); } return Dtype(0); } diff --git a/src/caffe/layers/eltwise_layer.cu b/src/caffe/layers/eltwise_layer.cu index 3860944889c..99c14feace1 100644 --- a/src/caffe/layers/eltwise_layer.cu +++ b/src/caffe/layers/eltwise_layer.cu @@ -51,7 +51,7 @@ void EltwiseLayer::Backward_gpu(const vector*>& top, break; case EltwiseParameter_EltwiseOp_SUM: if (coeffs_[i] == Dtype(1.)) { - caffe_gpu_copy(count, top_diff, bottom_diff); + caffe_copy(count, top_diff, bottom_diff); } else { caffe_gpu_scale(count, coeffs_[i], top_diff, bottom_diff); } diff --git a/src/caffe/layers/hdf5_data_layer.cu b/src/caffe/layers/hdf5_data_layer.cu index 232f55fd677..3c27f37e360 100644 --- a/src/caffe/layers/hdf5_data_layer.cu +++ b/src/caffe/layers/hdf5_data_layer.cu @@ -40,16 +40,12 @@ Dtype HDF5DataLayer::Forward_gpu(const vector*>& bottom, } current_row_ = 0; } - CUDA_CHECK(cudaMemcpy( - &(*top)[0]->mutable_gpu_data()[i * data_count], - &data_blob_.cpu_data()[current_row_ * data_count], - sizeof(Dtype) * data_count, - cudaMemcpyDefault)); - CUDA_CHECK(cudaMemcpy( - &(*top)[1]->mutable_gpu_data()[i * label_data_count], - &label_blob_.cpu_data()[current_row_ * label_data_count], - sizeof(Dtype) * label_data_count, - cudaMemcpyDefault)); + caffe_copy(data_count, + &data_blob_.cpu_data()[current_row_ * data_count], + &(*top)[0]->mutable_gpu_data()[i * data_count]); + caffe_copy(label_data_count, + &label_blob_.cpu_data()[current_row_ * label_data_count], + &(*top)[1]->mutable_gpu_data()[i * label_data_count]); } return Dtype(0.); } diff --git a/src/caffe/layers/hdf5_output_layer.cpp b/src/caffe/layers/hdf5_output_layer.cpp index 3a513b9c366..8307ad7c184 100644 --- a/src/caffe/layers/hdf5_output_layer.cpp +++ b/src/caffe/layers/hdf5_output_layer.cpp @@ -54,12 +54,10 @@ Dtype HDF5OutputLayer::Forward_cpu(const vector*>& bottom, const int label_datum_dim = bottom[1]->count() / bottom[1]->num(); for (int i = 0; i < bottom[0]->num(); ++i) { - memcpy(&data_blob_.mutable_cpu_data()[i * data_datum_dim], - &bottom[0]->cpu_data()[i * data_datum_dim], - sizeof(Dtype) * data_datum_dim); - memcpy(&label_blob_.mutable_cpu_data()[i * label_datum_dim], - &bottom[1]->cpu_data()[i * label_datum_dim], - sizeof(Dtype) * label_datum_dim); + caffe_copy(data_datum_dim, &bottom[0]->cpu_data()[i * data_datum_dim], + &data_blob_.mutable_cpu_data()[i * data_datum_dim]); + caffe_copy(label_datum_dim, &bottom[0]->cpu_data()[i * label_datum_dim], + &label_blob_.mutable_cpu_data()[i * label_datum_dim]); } SaveBlobs(); return Dtype(0.); diff --git a/src/caffe/layers/hdf5_output_layer.cu b/src/caffe/layers/hdf5_output_layer.cu index 19567c12b2b..744b8fe1128 100644 --- a/src/caffe/layers/hdf5_output_layer.cu +++ b/src/caffe/layers/hdf5_output_layer.cu @@ -27,12 +27,10 @@ Dtype HDF5OutputLayer::Forward_gpu(const vector*>& bottom, const int label_datum_dim = bottom[1]->count() / bottom[1]->num(); for (int i = 0; i < bottom[0]->num(); ++i) { - CUDA_CHECK(cudaMemcpy(&data_blob_.mutable_cpu_data()[i * data_datum_dim], - &bottom[0]->gpu_data()[i * data_datum_dim], - sizeof(Dtype) * data_datum_dim, cudaMemcpyDefault)); - CUDA_CHECK(cudaMemcpy(&label_blob_.mutable_cpu_data()[i * label_datum_dim], - &bottom[1]->gpu_data()[i * label_datum_dim], - sizeof(Dtype) * label_datum_dim, cudaMemcpyDefault)); + caffe_copy(data_datum_dim, &bottom[0]->gpu_data()[i * data_datum_dim], + &data_blob_.mutable_cpu_data()[i * data_datum_dim]); + caffe_copy(label_datum_dim, &bottom[0]->gpu_data()[i * label_datum_dim], + &label_blob_.mutable_cpu_data()[i * label_datum_dim]); } SaveBlobs(); return Dtype(0.); diff --git a/src/caffe/layers/image_data_layer.cu b/src/caffe/layers/image_data_layer.cu index 3f905bc461a..dd5bdbc2068 100644 --- a/src/caffe/layers/image_data_layer.cu +++ b/src/caffe/layers/image_data_layer.cu @@ -27,12 +27,10 @@ Dtype ImageDataLayer::Forward_gpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - CUDA_CHECK(cudaMemcpy((*top)[0]->mutable_gpu_data(), - prefetch_data_->cpu_data(), sizeof(Dtype) * prefetch_data_->count(), - cudaMemcpyDefault)); - CUDA_CHECK(cudaMemcpy((*top)[1]->mutable_gpu_data(), - prefetch_label_->cpu_data(), sizeof(Dtype) * prefetch_label_->count(), - cudaMemcpyDefault)); + caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + (*top)[0]->mutable_gpu_data()); + caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + (*top)[1]->mutable_gpu_data()); // Start a new prefetch thread CreatePrefetchThread(); return Dtype(0.); diff --git a/src/caffe/layers/power_layer.cu b/src/caffe/layers/power_layer.cu index 6d699636e21..e7f9831eb13 100644 --- a/src/caffe/layers/power_layer.cu +++ b/src/caffe/layers/power_layer.cu @@ -23,7 +23,7 @@ Dtype PowerLayer::Forward_gpu(const vector*>& bottom, return Dtype(0); } const Dtype* bottom_data = bottom[0]->gpu_data(); - caffe_gpu_copy(count, bottom_data, top_data); + caffe_copy(count, bottom_data, top_data); if (scale_ != Dtype(1)) { caffe_gpu_scal(count, scale_, top_data); } @@ -68,7 +68,7 @@ void PowerLayer::Backward_gpu(const vector*>& top, caffe_gpu_div(count, top_data, bottom_data, bottom_diff); caffe_gpu_scal(count, power_, bottom_diff); } else { - caffe_gpu_copy(count, bottom_data, bottom_diff); + caffe_copy(count, bottom_data, bottom_diff); if (scale_ != Dtype(1)) { caffe_gpu_scal(count, scale_, bottom_diff); } diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu index 8f7275827e2..0c858cdfc19 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu @@ -50,7 +50,7 @@ void SigmoidCrossEntropyLossLayer::Backward_gpu( const Dtype* sigmoid_output_data = sigmoid_output_->gpu_data(); const Dtype* target = (*bottom)[1]->gpu_data(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); - caffe_gpu_copy(count, sigmoid_output_data, bottom_diff); + caffe_copy(count, sigmoid_output_data, bottom_diff); caffe_gpu_axpy(count, Dtype(-1), target, bottom_diff); // Scale down gradient caffe_gpu_scal(count, Dtype(1) / num, bottom_diff); diff --git a/src/caffe/layers/softmax_layer.cpp b/src/caffe/layers/softmax_layer.cpp index 57847d005f6..5d60d9df1ba 100644 --- a/src/caffe/layers/softmax_layer.cpp +++ b/src/caffe/layers/softmax_layer.cpp @@ -34,7 +34,7 @@ Dtype SoftmaxLayer::Forward_cpu(const vector*>& bottom, Dtype* scale_data = scale_.mutable_cpu_data(); int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); - memcpy(top_data, bottom_data, sizeof(Dtype) * bottom[0]->count()); + caffe_copy(bottom[0]->count(), bottom_data, top_data); // we need to subtract the max to avoid numerical issues, compute the exp, // and then normalize. for (int i = 0; i < num; ++i) { @@ -68,7 +68,7 @@ void SoftmaxLayer::Backward_cpu(const vector*>& top, Dtype* scale_data = scale_.mutable_cpu_data(); int num = top[0]->num(); int dim = top[0]->count() / top[0]->num(); - memcpy(bottom_diff, top_diff, sizeof(Dtype) * top[0]->count()); + caffe_copy(top[0]->count(), top_diff, bottom_diff); // Compute inner1d(top_diff, top_data) and subtract them from the bottom diff for (int i = 0; i < num; ++i) { scale_data[i] = caffe_cpu_dot(dim, top_diff + i * dim, diff --git a/src/caffe/layers/softmax_layer.cu b/src/caffe/layers/softmax_layer.cu index 5ec4412ccfb..ceeaff5b020 100644 --- a/src/caffe/layers/softmax_layer.cu +++ b/src/caffe/layers/softmax_layer.cu @@ -50,7 +50,7 @@ Dtype SoftmaxLayer::Forward_gpu(const vector*>& bottom, Dtype* scale_data = scale_.mutable_gpu_data(); int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); - caffe_gpu_copy(bottom[0]->count(), bottom_data, top_data); + caffe_copy(bottom[0]->count(), bottom_data, top_data); // we need to subtract the max to avoid numerical issues, compute the exp, // and then normalize. // Compute max @@ -84,7 +84,7 @@ void SoftmaxLayer::Backward_gpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); int num = top[0]->num(); int dim = top[0]->count() / top[0]->num(); - caffe_gpu_copy(top[0]->count(), top_diff, bottom_diff); + caffe_copy(top[0]->count(), top_diff, bottom_diff); // Compute inner1d(top_diff, top_data) and subtract them from the bottom diff // cuda dot returns the result to cpu, so we temporarily change the pointer // mode diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index 1a3601aa9e6..37c5ebc45be 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -66,7 +66,7 @@ void SoftmaxWithLossLayer::Backward_cpu(const vector*>& top, if (propagate_down[0]) { Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); const Dtype* prob_data = prob_.cpu_data(); - memcpy(bottom_diff, prob_data, sizeof(Dtype) * prob_.count()); + caffe_copy(prob_.count(), prob_data, bottom_diff); const Dtype* label = (*bottom)[1]->cpu_data(); int num = prob_.num(); int dim = prob_.count() / num; diff --git a/src/caffe/layers/window_data_layer.cu b/src/caffe/layers/window_data_layer.cu index 5e8cdb7841d..ca664fcef41 100644 --- a/src/caffe/layers/window_data_layer.cu +++ b/src/caffe/layers/window_data_layer.cu @@ -28,12 +28,10 @@ Dtype WindowDataLayer::Forward_gpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - CUDA_CHECK(cudaMemcpy((*top)[0]->mutable_gpu_data(), - prefetch_data_->cpu_data(), sizeof(Dtype) * prefetch_data_->count(), - cudaMemcpyDefault)); - CUDA_CHECK(cudaMemcpy((*top)[1]->mutable_gpu_data(), - prefetch_label_->cpu_data(), sizeof(Dtype) * prefetch_label_->count(), - cudaMemcpyDefault)); + caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + (*top)[0]->mutable_gpu_data()); + caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + (*top)[1]->mutable_gpu_data()); // Start a new prefetch thread CreatePrefetchThread(); return Dtype(0.); diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 769618175ac..ca1d92525c9 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -310,7 +310,7 @@ void SGDSolver::ComputeUpdateValue() { history_[param_id]->mutable_gpu_data()); } // copy - caffe_gpu_copy(net_params[param_id]->count(), + caffe_copy(net_params[param_id]->count(), history_[param_id]->gpu_data(), net_params[param_id]->mutable_gpu_diff()); } diff --git a/src/caffe/syncedmem.cpp b/src/caffe/syncedmem.cpp index ec4c528f46d..011d35976a5 100644 --- a/src/caffe/syncedmem.cpp +++ b/src/caffe/syncedmem.cpp @@ -6,6 +6,7 @@ #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" +#include "caffe/util/math_functions.hpp" namespace caffe { @@ -32,7 +33,7 @@ inline void SyncedMemory::to_cpu() { CaffeMallocHost(&cpu_ptr_, size_); own_cpu_data_ = true; } - CUDA_CHECK(cudaMemcpy(cpu_ptr_, gpu_ptr_, size_, cudaMemcpyDefault)); + caffe_copy(size_, gpu_ptr_, cpu_ptr_); head_ = SYNCED; break; case HEAD_AT_CPU: @@ -52,7 +53,7 @@ inline void SyncedMemory::to_gpu() { if (gpu_ptr_ == NULL) { CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_)); } - CUDA_CHECK(cudaMemcpy(gpu_ptr_, cpu_ptr_, size_, cudaMemcpyDefault)); + caffe_copy(size_, cpu_ptr_, gpu_ptr_); head_ = SYNCED; break; case HEAD_AT_GPU: diff --git a/src/caffe/test/test_gradient_check_util.hpp b/src/caffe/test/test_gradient_check_util.hpp index ff104b90eb9..2d551f82428 100644 --- a/src/caffe/test/test_gradient_check_util.hpp +++ b/src/caffe/test/test_gradient_check_util.hpp @@ -230,7 +230,7 @@ Dtype GradientChecker::GetObjAndGradient(vector*>* top, loss += top_blob_data[j] * top_blob_data[j]; } // set the diff: simply the data. - memcpy(top_blob_diff, top_blob_data, sizeof(Dtype) * top_blob->count()); + caffe_copy(top_blob->count(), top_blob_data, top_blob_diff); } loss /= 2.; } else { @@ -238,7 +238,7 @@ Dtype GradientChecker::GetObjAndGradient(vector*>* top, for (int i = 0; i < top->size(); ++i) { Blob* top_blob = (*top)[i]; Dtype* top_blob_diff = top_blob->mutable_cpu_diff(); - memset(top_blob_diff, 0, sizeof(Dtype) * top_blob->count()); + caffe_set(top_blob->count(), Dtype(0), top_blob_diff); } loss = (*top)[top_id]->cpu_data()[top_data_id]; (*top)[top_id]->mutable_cpu_diff()[top_data_id] = 1.; diff --git a/src/caffe/test/test_math_functions.cpp b/src/caffe/test/test_math_functions.cpp index d0265767c07..941d8b9479a 100644 --- a/src/caffe/test/test_math_functions.cpp +++ b/src/caffe/test/test_math_functions.cpp @@ -219,7 +219,7 @@ TYPED_TEST(MathFunctionsTest, TestCopyGPU) { const int n = this->blob_bottom_->count(); const TypeParam* bottom_data = this->blob_bottom_->gpu_data(); TypeParam* top_data = this->blob_top_->mutable_gpu_data(); - caffe_gpu_copy(n, bottom_data, top_data); + caffe_copy(n, bottom_data, top_data); bottom_data = this->blob_bottom_->cpu_data(); top_data = this->blob_top_->mutable_cpu_data(); for (int i = 0; i < n; ++i) { diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index e741f0f70da..a7a5131578e 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -7,6 +7,7 @@ #include "gtest/gtest.h" #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" +#include "caffe/util/math_functions.hpp" #include "caffe/test/test_caffe_main.hpp" @@ -57,8 +58,7 @@ TEST_F(SyncedMemoryTest, TestGPURead) { EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same char* recovered_value = new char[10]; - cudaMemcpy(reinterpret_cast(recovered_value), gpu_data, 10, - cudaMemcpyDefault); + caffe_copy(size_t(10), gpu_data, reinterpret_cast(recovered_value)); for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(recovered_value))[i], 1); } @@ -72,8 +72,7 @@ TEST_F(SyncedMemoryTest, TestGPURead) { gpu_data = mem.gpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same - cudaMemcpy(reinterpret_cast(recovered_value), gpu_data, 10, - cudaMemcpyDefault); + caffe_copy(size_t(10), gpu_data, reinterpret_cast(recovered_value)); for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(recovered_value))[i], 2); } diff --git a/src/caffe/test/test_util_blas.cpp b/src/caffe/test/test_util_blas.cpp index 2e4c6795952..5b4c48eaf80 100644 --- a/src/caffe/test/test_util_blas.cpp +++ b/src/caffe/test/test_util_blas.cpp @@ -30,8 +30,8 @@ TYPED_TEST(GemmTest, TestGemm) { TypeParam A_reshape_data[6] = {1, 4, 2, 5, 3, 6}; TypeParam B_reshape_data[12] = {1, 5, 9, 2, 6, 10, 3, 7, 11, 4, 8, 12}; TypeParam result[8] = {38, 44, 50, 56, 83, 98, 113, 128}; - memcpy(A.mutable_cpu_data(), data, 6 * sizeof(TypeParam)); - memcpy(B.mutable_cpu_data(), data, 12 * sizeof(TypeParam)); + caffe_copy(6, data, A.mutable_cpu_data()); + caffe_copy(12, data, B.mutable_cpu_data()); if (sizeof(TypeParam) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) { // [1, 2, 3; 4 5 6] * [1, 2, 3, 4; 5, 6, 7, 8; 9, 10, 11, 12]; @@ -48,7 +48,7 @@ TYPED_TEST(GemmTest, TestGemm) { // Test when we have a transposed A A.Reshape(1, 1, 3, 2); - memcpy(A.mutable_cpu_data(), A_reshape_data, 6 * sizeof(TypeParam)); + caffe_copy(6, A_reshape_data, A.mutable_cpu_data()); caffe_cpu_gemm(CblasTrans, CblasNoTrans, 2, 4, 3, 1., A.cpu_data(), B.cpu_data(), 0., C.mutable_cpu_data()); for (int i = 0; i < 8; ++i) { @@ -62,7 +62,7 @@ TYPED_TEST(GemmTest, TestGemm) { // Test when we have a transposed A and a transposed B too B.Reshape(1, 1, 4, 3); - memcpy(B.mutable_cpu_data(), B_reshape_data, 12 * sizeof(TypeParam)); + caffe_copy(12, B_reshape_data, B.mutable_cpu_data()); caffe_cpu_gemm(CblasTrans, CblasTrans, 2, 4, 3, 1., A.cpu_data(), B.cpu_data(), 0., C.mutable_cpu_data()); for (int i = 0; i < 8; ++i) { @@ -76,7 +76,7 @@ TYPED_TEST(GemmTest, TestGemm) { // Test when we have a transposed B A.Reshape(1, 1, 2, 3); - memcpy(A.mutable_cpu_data(), data, 6 * sizeof(TypeParam)); + caffe_copy(6, data, A.mutable_cpu_data()); caffe_cpu_gemm(CblasNoTrans, CblasTrans, 2, 4, 3, 1., A.cpu_data(), B.cpu_data(), 0., C.mutable_cpu_data()); for (int i = 0; i < 8; ++i) { @@ -100,8 +100,8 @@ TYPED_TEST(GemmTest, TestGemv) { TypeParam data[6] = {1, 2, 3, 4, 5, 6}; TypeParam result_2[2] = {14, 32}; TypeParam result_3[3] = {9, 12, 15}; - memcpy(A.mutable_cpu_data(), data, 6 * sizeof(TypeParam)); - memcpy(x.mutable_cpu_data(), data, 3 * sizeof(TypeParam)); + caffe_copy(6, data, A.mutable_cpu_data()); + caffe_copy(3, data, x.mutable_cpu_data()); if (sizeof(TypeParam) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) { caffe_cpu_gemv(CblasNoTrans, 2, 3, 1., A.cpu_data(), @@ -116,7 +116,7 @@ TYPED_TEST(GemmTest, TestGemv) { } // Test transpose case - memcpy(y.mutable_cpu_data(), data, 2 * sizeof(TypeParam)); + caffe_copy(2, data, y.mutable_cpu_data()); caffe_cpu_gemv(CblasTrans, 2, 3, 1., A.cpu_data(), y.cpu_data(), 0., x.mutable_cpu_data()); for (int i = 0; i < 3; ++i) { From af624faa55eb75f31de5f612b3d6b1553d652563 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sat, 28 Jun 2014 01:52:49 -0700 Subject: [PATCH 213/408] replace all memset with caffe_set() / caffe_gpu_set() ...except for `SyncedMem` since it has no type. --- src/caffe/layers/conv_layer.cpp | 4 ++-- src/caffe/layers/conv_layer.cu | 6 ++---- src/caffe/layers/lrn_layer.cpp | 6 +++--- .../multinomial_logistic_loss_layer.cpp | 2 +- src/caffe/layers/window_data_layer.cpp | 2 +- src/caffe/util/im2col.cpp | 3 ++- src/caffe/util/im2col.cu | 2 -- src/caffe/util/math_functions.cu | 21 +++++++------------ 8 files changed, 18 insertions(+), 28 deletions(-) diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index 67913bfa574..963dc688a0e 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -126,11 +126,11 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { const Dtype* weight = this->blobs_[0]->cpu_data(); Dtype* weight_diff = this->blobs_[0]->mutable_cpu_diff(); - memset(weight_diff, 0, sizeof(Dtype) * this->blobs_[0]->count()); + caffe_set(this->blobs_[0]->count(), Dtype(0), weight_diff); Dtype* bias_diff = NULL; if (bias_term_) { bias_diff = this->blobs_[1]->mutable_cpu_diff(); - memset(bias_diff, 0, sizeof(Dtype) * this->blobs_[1]->count()); + caffe_set(this->blobs_[1]->count(), Dtype(0), bias_diff); } const int weight_offset = M_ * K_; const int col_offset = K_ * N_; diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index 71b00c9566b..59ec58dfebe 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -48,15 +48,13 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { const Dtype* weight = this->blobs_[0]->gpu_data(); Dtype* weight_diff = this->blobs_[0]->mutable_gpu_diff(); - CUDA_CHECK(cudaMemset(weight_diff, 0, - sizeof(Dtype) * this->blobs_[0]->count())); + caffe_gpu_set(this->blobs_[0]->count(), Dtype(0), weight_diff); Dtype* col_data = col_buffer_.mutable_gpu_data(); Dtype* col_diff = col_buffer_.mutable_gpu_diff(); Dtype* bias_diff = NULL; if (bias_term_) { bias_diff = this->blobs_[1]->mutable_gpu_diff(); - CUDA_CHECK(cudaMemset(bias_diff, 0, - sizeof(Dtype) * this->blobs_[1]->count())); + caffe_gpu_set(this->blobs_[1]->count(), Dtype(0), bias_diff); } const int weight_offset = M_ * K_; const int col_offset = K_ * N_; diff --git a/src/caffe/layers/lrn_layer.cpp b/src/caffe/layers/lrn_layer.cpp index a86c1d4c59d..2bda0430c15 100644 --- a/src/caffe/layers/lrn_layer.cpp +++ b/src/caffe/layers/lrn_layer.cpp @@ -123,7 +123,7 @@ Dtype LRNLayer::CrossChannelForward_cpu( } Blob padded_square(1, channels_ + size_ - 1, height_, width_); Dtype* padded_square_data = padded_square.mutable_cpu_data(); - memset(padded_square_data, 0, sizeof(Dtype) * padded_square.count()); + caffe_set(padded_square.count(), Dtype(0), padded_square_data); Dtype alpha_over_size = alpha_ / size_; // go through the images for (int n = 0; n < num_; ++n) { @@ -201,7 +201,7 @@ void LRNLayer::CrossChannelBackward_cpu( Dtype* accum_ratio_data = accum_ratio.mutable_cpu_data(); // We hack a little bit by using the diff() to store an additional result Dtype* accum_ratio_times_bottom = accum_ratio.mutable_cpu_diff(); - memset(padded_ratio_data, 0, sizeof(Dtype) * padded_ratio.count()); + caffe_set(padded_ratio.count(), Dtype(0), padded_ratio_data); Dtype cache_ratio_value = 2. * alpha_ * beta_ / size_; caffe_powx(scale_.count(), scale_data, -beta_, bottom_diff); @@ -220,7 +220,7 @@ void LRNLayer::CrossChannelBackward_cpu( scale_data + block_offset, padded_ratio_data + padded_ratio.offset(0, inverse_pre_pad)); // Now, compute the accumulated ratios and the bottom diff - memset(accum_ratio_data, 0, sizeof(Dtype) * accum_ratio.count()); + caffe_set(accum_ratio.count(), Dtype(0), accum_ratio_data); for (int c = 0; c < size_ - 1; ++c) { caffe_axpy(height_ * width_, 1., padded_ratio_data + padded_ratio.offset(0, c), accum_ratio_data); diff --git a/src/caffe/layers/multinomial_logistic_loss_layer.cpp b/src/caffe/layers/multinomial_logistic_loss_layer.cpp index dd5cae44d6d..8687784d6ab 100644 --- a/src/caffe/layers/multinomial_logistic_loss_layer.cpp +++ b/src/caffe/layers/multinomial_logistic_loss_layer.cpp @@ -55,7 +55,7 @@ void MultinomialLogisticLossLayer::Backward_cpu( Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); int num = (*bottom)[0]->num(); int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); - memset(bottom_diff, 0, sizeof(Dtype) * (*bottom)[0]->count()); + caffe_set((*bottom)[0]->count(), Dtype(0), bottom_diff); for (int i = 0; i < num; ++i) { int label = static_cast(bottom_label[i]); Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index fd4860f98be..5dbdff330ff 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -59,7 +59,7 @@ void* WindowDataLayerPrefetch(void* layer_pointer) { bool use_square = (crop_mode == "square") ? true : false; // zero out batch - memset(top_data, 0, sizeof(Dtype)*layer->prefetch_data_->count()); + caffe_set(layer->prefetch_data_->count(), Dtype(0), top_data); const int num_fg = static_cast(static_cast(batch_size) * fg_fraction); diff --git a/src/caffe/util/im2col.cpp b/src/caffe/util/im2col.cpp index 037410e29b7..ce4e18848bf 100644 --- a/src/caffe/util/im2col.cpp +++ b/src/caffe/util/im2col.cpp @@ -5,6 +5,7 @@ #include #include "caffe/util/im2col.hpp" +#include "caffe/util/math_functions.hpp" namespace caffe { @@ -45,7 +46,7 @@ template void col2im_cpu(const Dtype* data_col, const int channels, const int height, const int width, const int ksize, const int pad, const int stride, Dtype* data_im) { - memset(data_im, 0, sizeof(Dtype) * height * width * channels); + caffe_set(height * width * channels, Dtype(0), data_im); int height_col = (height + 2 * pad - ksize) / stride + 1; int width_col = (width + 2 * pad - ksize) / stride + 1; int channels_col = channels * ksize * ksize; diff --git a/src/caffe/util/im2col.cu b/src/caffe/util/im2col.cu index ec4465eff66..79faa6cb5c9 100644 --- a/src/caffe/util/im2col.cu +++ b/src/caffe/util/im2col.cu @@ -106,8 +106,6 @@ template void col2im_gpu(const Dtype* data_col, const int channels, const int height, const int width, const int ksize, const int pad, const int stride, Dtype* data_im) { - // CUDA_CHECK(cudaMemset(data_im, 0, - // sizeof(Dtype) * height * width * channels)); int height_col = (height + 2 * pad - ksize) / stride + 1; int width_col = (width + 2 * pad - ksize) / stride + 1; int num_kernels = channels * height * width; diff --git a/src/caffe/util/math_functions.cu b/src/caffe/util/math_functions.cu index 63c8fac69c5..849e53b9ca4 100644 --- a/src/caffe/util/math_functions.cu +++ b/src/caffe/util/math_functions.cu @@ -20,27 +20,20 @@ __global__ void set_kernel(const int n, const Dtype alpha, Dtype* y) { } } -template <> -void caffe_gpu_set(const int N, const float alpha, float* Y) { +template +void caffe_gpu_set(const int N, const Dtype alpha, Dtype* Y) { if (alpha == 0) { - CUDA_CHECK(cudaMemset(Y, 0, sizeof(float) * N)); + CUDA_CHECK(cudaMemset(Y, 0, sizeof(Dtype) * N)); return; } // NOLINT_NEXT_LINE(whitespace/operators) - set_kernel<<>>( + set_kernel<<>>( N, alpha, Y); } -template <> -void caffe_gpu_set(const int N, const double alpha, double* Y) { - if (alpha == 0) { - CUDA_CHECK(cudaMemset(Y, 0, sizeof(double) * N)); - return; - } - // NOLINT_NEXT_LINE(whitespace/operators) - set_kernel<<>>( - N, alpha, Y); -} +template void caffe_gpu_set(const int N, const int alpha, int* Y); +template void caffe_gpu_set(const int N, const float alpha, float* Y); +template void caffe_gpu_set(const int N, const double alpha, double* Y); template __global__ void add_scalar_kernel(const int n, const Dtype alpha, Dtype* y) { From 6461365565bd8a661522a267c7caae1a37313935 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sat, 28 Jun 2014 13:48:37 -0700 Subject: [PATCH 214/408] reduce caffe_copy to instantiations, split off caffe_memcpy for void* --- include/caffe/util/math_functions.hpp | 2 +- src/caffe/layers/dropout_layer.cu | 2 +- src/caffe/syncedmem.cpp | 4 ++-- src/caffe/test/test_syncedmem.cpp | 4 ++-- src/caffe/util/math_functions.cpp | 32 ++++++++------------------- 5 files changed, 15 insertions(+), 29 deletions(-) diff --git a/include/caffe/util/math_functions.hpp b/include/caffe/util/math_functions.hpp index b5f4dfbd1a8..97a057103db 100644 --- a/include/caffe/util/math_functions.hpp +++ b/include/caffe/util/math_functions.hpp @@ -59,7 +59,7 @@ void caffe_gpu_axpby(const int N, const Dtype alpha, const Dtype* X, template void caffe_copy(const int N, const Dtype *X, Dtype *Y); -void caffe_copy(const size_t N, const void *X, void *Y); +void caffe_memcpy(const size_t N, const void *X, void *Y); template void caffe_set(const int N, const Dtype alpha, Dtype *X); diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index 11a426312ce..c9f3ecd2dd5 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -71,7 +71,7 @@ void DropoutLayer::Backward_gpu(const vector*>& top, count, top_diff, mask, uint_thres_, scale_, bottom_diff); CUDA_POST_KERNEL_CHECK; } else { - caffe_gpu_copy(top[0]->count(), top_diff, bottom_diff); + caffe_copy(top[0]->count(), top_diff, bottom_diff); } } } diff --git a/src/caffe/syncedmem.cpp b/src/caffe/syncedmem.cpp index 011d35976a5..9fe55280de9 100644 --- a/src/caffe/syncedmem.cpp +++ b/src/caffe/syncedmem.cpp @@ -33,7 +33,7 @@ inline void SyncedMemory::to_cpu() { CaffeMallocHost(&cpu_ptr_, size_); own_cpu_data_ = true; } - caffe_copy(size_, gpu_ptr_, cpu_ptr_); + caffe_memcpy(size_, gpu_ptr_, cpu_ptr_); head_ = SYNCED; break; case HEAD_AT_CPU: @@ -53,7 +53,7 @@ inline void SyncedMemory::to_gpu() { if (gpu_ptr_ == NULL) { CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_)); } - caffe_copy(size_, cpu_ptr_, gpu_ptr_); + caffe_memcpy(size_, cpu_ptr_, gpu_ptr_); head_ = SYNCED; break; case HEAD_AT_GPU: diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index a7a5131578e..3aaeafc353e 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -58,7 +58,7 @@ TEST_F(SyncedMemoryTest, TestGPURead) { EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same char* recovered_value = new char[10]; - caffe_copy(size_t(10), gpu_data, reinterpret_cast(recovered_value)); + caffe_memcpy(10, gpu_data, recovered_value); for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(recovered_value))[i], 1); } @@ -72,7 +72,7 @@ TEST_F(SyncedMemoryTest, TestGPURead) { gpu_data = mem.gpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same - caffe_copy(size_t(10), gpu_data, reinterpret_cast(recovered_value)); + caffe_memcpy(10, gpu_data, recovered_value); for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(recovered_value))[i], 2); } diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index b1b62edb0d2..918bb3c361c 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -149,34 +149,20 @@ void caffe_add_scalar(const int N, const double alpha, double* Y) { } } -template <> -void caffe_copy(const int N, const int* X, int* Y) { - if (X != Y) { - CUDA_CHECK(cudaMemcpy(Y, X, sizeof(int) * N, cudaMemcpyDefault)); - } -} - -template <> -void caffe_copy(const int N, const unsigned int* X, - unsigned int* Y) { - if (X != Y) { - CUDA_CHECK(cudaMemcpy(Y, X, sizeof(unsigned int) * N, cudaMemcpyDefault)); - } -} - -template <> -void caffe_copy(const int N, const float* X, float* Y) { +template +void caffe_copy(const int N, const Dtype* X, Dtype* Y) { if (X != Y) { - CUDA_CHECK(cudaMemcpy(Y, X, sizeof(float) * N, cudaMemcpyDefault)); + CUDA_CHECK(cudaMemcpy(Y, X, sizeof(Dtype) * N, cudaMemcpyDefault)); } } -template <> -void caffe_copy(const int N, const double* X, double* Y) { - CUDA_CHECK(cudaMemcpy(Y, X, sizeof(double) * N, cudaMemcpyDefault)); -} +template void caffe_copy(const int N, const int* X, int* Y); +template void caffe_copy(const int N, const unsigned int* X, + unsigned int* Y); +template void caffe_copy(const int N, const float* X, float* Y); +template void caffe_copy(const int N, const double* X, double* Y); -void caffe_copy(const size_t N, const void* X, void* Y) { +void caffe_memcpy(const size_t N, const void* X, void* Y) { if (X != Y) { CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); } From 19e909ba982baeaf5505812ea49aba7066967576 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sat, 28 Jun 2014 14:05:35 -0700 Subject: [PATCH 215/408] fix casts (static for void*) --- src/caffe/blob.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/caffe/blob.cpp b/src/caffe/blob.cpp index 69ff49efc46..8df46323eee 100644 --- a/src/caffe/blob.cpp +++ b/src/caffe/blob.cpp @@ -75,25 +75,25 @@ const Dtype* Blob::gpu_diff() const { template Dtype* Blob::mutable_cpu_data() { CHECK(data_); - return reinterpret_cast(data_->mutable_cpu_data()); + return static_cast(data_->mutable_cpu_data()); } template Dtype* Blob::mutable_gpu_data() { CHECK(data_); - return reinterpret_cast(data_->mutable_gpu_data()); + return static_cast(data_->mutable_gpu_data()); } template Dtype* Blob::mutable_cpu_diff() { CHECK(diff_); - return reinterpret_cast(diff_->mutable_cpu_data()); + return static_cast(diff_->mutable_cpu_data()); } template Dtype* Blob::mutable_gpu_diff() { CHECK(diff_); - return reinterpret_cast(diff_->mutable_gpu_data()); + return static_cast(diff_->mutable_gpu_data()); } template @@ -121,15 +121,15 @@ void Blob::Update() { case SyncedMemory::HEAD_AT_CPU: // perform computation on CPU caffe_axpy(count_, Dtype(-1), - reinterpret_cast(diff_->cpu_data()), - reinterpret_cast(data_->mutable_cpu_data())); + static_cast(diff_->cpu_data()), + static_cast(data_->mutable_cpu_data())); break; case SyncedMemory::HEAD_AT_GPU: case SyncedMemory::SYNCED: // perform computation on GPU caffe_gpu_axpy(count_, Dtype(-1), - reinterpret_cast(diff_->gpu_data()), - reinterpret_cast(data_->mutable_gpu_data())); + static_cast(diff_->gpu_data()), + static_cast(data_->mutable_gpu_data())); break; default: LOG(FATAL) << "Syncedmem not initialized."; @@ -150,19 +150,19 @@ void Blob::CopyFrom(const Blob& source, bool copy_diff, bool reshape) { case Caffe::GPU: if (copy_diff) { caffe_copy(count_, source.gpu_diff(), - reinterpret_cast(diff_->mutable_gpu_data())); + static_cast(diff_->mutable_gpu_data())); } else { caffe_copy(count_, source.gpu_data(), - reinterpret_cast(data_->mutable_gpu_data())); + static_cast(data_->mutable_gpu_data())); } break; case Caffe::CPU: if (copy_diff) { caffe_copy(count_, source.cpu_diff(), - reinterpret_cast(diff_->mutable_cpu_data())); + static_cast(diff_->mutable_cpu_data())); } else { caffe_copy(count_, source.cpu_data(), - reinterpret_cast(data_->mutable_cpu_data())); + static_cast(data_->mutable_cpu_data())); } break; default: From 18a4e2d1fc7a269e03be24f3a23bc59bc071a03e Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 3 Jul 2014 18:15:38 -0700 Subject: [PATCH 216/408] customize compiler setting in Makefile.config in case of issues with default compilers or exotic platforms. --- Makefile | 5 +++++ Makefile.config.example | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/Makefile b/Makefile index 6d8cb905128..f8abc1b2b88 100644 --- a/Makefile +++ b/Makefile @@ -194,6 +194,11 @@ ifeq ($(OSX), 1) endif endif +# Custom compiler +ifdef CUSTOM_CXX + CXX := $(CUSTOM_CXX) +endif + # Debugging ifeq ($(DEBUG), 1) COMMON_FLAGS := -DDEBUG -g -O0 diff --git a/Makefile.config.example b/Makefile.config.example index 6c3948fc2d7..17c90016f75 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -1,6 +1,10 @@ ## Refer to http://caffe.berkeleyvision.org/installation.html # Contributions simplifying and improving our build system are welcome! +# To customize your choice of compiler, uncomment and set the following. +# N.B. the default for Linux is g++ and the default for OSX is clang++ +# CUSTOM_CXX := g++ + # CUDA directory contains bin/ and lib/ directories that we need. CUDA_DIR := /usr/local/cuda # On Ubuntu 14.04, if cuda tools are installed via From 4e5ef959abd2f5a3f18010963f12537425ce091e Mon Sep 17 00:00:00 2001 From: Ronghang Hu Date: Thu, 3 Jul 2014 20:30:25 -0700 Subject: [PATCH 217/408] Update caffe.proto Add pad_h, pad_w, kernel_size_h, kernel_size_w, stride_h, stride_w to support pooling on rectangle regions. --- src/caffe/proto/caffe.proto | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index adb75264f8e..effebd09a38 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -405,11 +405,17 @@ message PoolingParameter { STOCHASTIC = 2; } optional PoolMethod pool = 1 [default = MAX]; // The pooling method - optional uint32 kernel_size = 2; // The kernel size - optional uint32 stride = 3 [default = 1]; // The stride - // The padding size -- currently implemented only for average and max pooling. - // average pooling zero pads. max pooling -inf pads. - optional uint32 pad = 4 [default = 0]; + // Pad, kernel size, and stride are all given as a single value for equal + // dimensions in height and width or as Y, X pairs. + optional uint32 pad = 4 [default = 0]; // The padding size (equal in Y, X) + optional uint32 pad_h = 9 [default = 0]; // The padding height + optional uint32 pad_w = 10 [default = 0]; // The padding width + optional uint32 kernel_size = 2; // The kernel size (square) + optional uint32 kernel_size_h = 5; // The kernel height + optional uint32 kernel_size_w = 6; // The kernel width + optional uint32 stride = 3 [default = 1]; // The stride (equal in Y, X) + optional uint32 stride_h = 7; // The stride height + optional uint32 stride_w = 8; // The stride width } // Message that stores parameters used by PowerLayer From 9905c20130783046248b8c17a3cbc17847019d22 Mon Sep 17 00:00:00 2001 From: Ronghang Hu Date: Thu, 3 Jul 2014 20:33:50 -0700 Subject: [PATCH 218/408] Update vision_layers.hpp Replace pad_, kernel_size_, stride_ with pad_h_, pad_w_, kernel_size_h_, kernel_size_w_, stride_h_, stride_w_ to support pooling on rectangle regions. --- include/caffe/vision_layers.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index b68dcbf6e83..62b65bc1780 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -361,9 +361,9 @@ class PoolingLayer : public Layer { const vector& propagate_down, vector*>* bottom); int max_top_blobs_; - int kernel_size_; - int stride_; - int pad_; + int kernel_size_h_, kernel_size_w_; + int stride_h_, stride_w_; + int pad_h_, pad_w_; int channels_; int height_; int width_; From dd82d97190a2c14ebe3799a7ed01ff2c38578f96 Mon Sep 17 00:00:00 2001 From: Ronghang Hu Date: Thu, 3 Jul 2014 20:42:58 -0700 Subject: [PATCH 219/408] Update pooling_layer.cpp Replace pad_, kernel_size_, stride_ with pad_h_, pad_w_, kernel_size_h_, kernel_size_w_, stride_h_, stride_w_ to support pooling on rectangle regions. --- src/caffe/layers/pooling_layer.cpp | 81 +++++++++++++++++++++--------- 1 file changed, 57 insertions(+), 24 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index bc002078814..3b64741fa5f 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -28,35 +28,68 @@ void PoolingLayer::SetUp(const vector*>& bottom, max_top_blobs_ = 1; } Layer::SetUp(bottom, top); - kernel_size_ = this->layer_param_.pooling_param().kernel_size(); - stride_ = this->layer_param_.pooling_param().stride(); - pad_ = this->layer_param_.pooling_param().pad(); - if (pad_ != 0) { + PoolingParameter pool_param = this->layer_param_.pooling_param(); + CHECK(!pool_param.has_kernel_size() != + !(pool_param.has_kernel_h() && pool_param.has_kernel_w())) + << "Filter size is kernel_size OR kernel_h and kernel_w; not both"; + CHECK(pool_param.has_kernel_size() || + (pool_param.has_kernel_h() && pool_param.has_kernel_w())) + << "For non-square filters both kernel_h and kernel_w are required."; + CHECK((pool_param.has_pad() + && !(pool_param.has_pad_h() || pool_param.has_pad_w())) + || (!pool_param.has_pad() + && (pool_param.has_pad_h() && pool_param.has_pad_w()) + || (!pool_param.has_pad_h() && !pool_param.has_pad_w()))) + << "Padding size is pad OR pad_h and pad_w; not both"; + CHECK(!pool_param.has_stride() != + !(pool_param.has_stride_h() && pool_param.has_stride_w())) + << "Stride is stride OR stride_h and stride_w are required."; + if (pool_param.has_kernel_size()) { + kernel_h_ = kernel_w_ = pool_param.kernel_size(); + } else { + kernel_h_ = pool_param.kernel_h(); + kernel_w_ = pool_param.kernel_w(); + } + CHECK_GT(kernel_h_ * kernel_w_, 0) << "Filter dimensions cannot be zero."; + if (pool_param.has_pad()) { + pad_h_ = pad_w_ = pool_param.pad(); + } else { + pad_h_ = pool_param.pad_h(); + pad_w_ = pool_param.pad_w(); + } + if (pool_param.has_stride()) { + stride_h_ = stride_w_ = pool_param.stride(); + } else { + stride_h_ = pool_param.stride_h(); + stride_w_ = pool_param.stride_w(); + } + if (pad_h_ != 0 || pad_w_ != 0) { CHECK(this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_AVE || this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX) << "Padding implemented only for average and max pooling."; - CHECK_LT(pad_, kernel_size_); + CHECK_LT(pad_h_, kernel_size_h_); + CHECK_LT(pad_w_, kernel_size_w_); } channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); width_ = bottom[0]->width(); pooled_height_ = static_cast(ceil(static_cast( - height_ + 2 * pad_ - kernel_size_) / stride_)) + 1; + height_ + 2 * pad_h_ - kernel_size_h_) / stride_h_)) + 1; pooled_width_ = static_cast(ceil(static_cast( - width_ + 2 * pad_ - kernel_size_) / stride_)) + 1; - if (pad_) { + width_ + 2 * pad_w_ - kernel_size_w_) / stride_w_)) + 1; + if (pad_h_ || pad_w_) { // If we have padding, ensure that the last pooling starts strictly // inside the image (instead of at the padding); otherwise clip the last. - if ((pooled_height_ - 1) * stride_ >= height_ + pad_) { + if ((pooled_height_ - 1) * stride_h_ >= height_ + pad_h_) { --pooled_height_; } - if ((pooled_width_ - 1) * stride_ >= width_ + pad_) { + if ((pooled_width_ - 1) * stride_w_ >= width_ + pad_w_) { --pooled_width_; } - CHECK_LT((pooled_height_ - 1) * stride_, height_ + pad_); - CHECK_LT((pooled_width_ - 1) * stride_, width_ + pad_); + CHECK_LT((pooled_height_ - 1) * stride_h_, height_ + pad_h_); + CHECK_LT((pooled_width_ - 1) * stride_w_, width_ + pad_w_); } (*top)[0]->Reshape(bottom[0]->num(), channels_, pooled_height_, pooled_width_); @@ -107,10 +140,10 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, for (int c = 0; c < channels_; ++c) { for (int ph = 0; ph < pooled_height_; ++ph) { for (int pw = 0; pw < pooled_width_; ++pw) { - int hstart = ph * stride_ - pad_; - int wstart = pw * stride_ - pad_; - int hend = min(hstart + kernel_size_, height_); - int wend = min(wstart + kernel_size_, width_); + int hstart = ph * stride_h_ - pad_h_; + int wstart = pw * stride_w_ - pad_w_; + int hend = min(hstart + kernel_size_h_, height_); + int wend = min(wstart + kernel_size_w_, width_); hstart = max(hstart, 0); wstart = max(wstart, 0); const int pool_index = ph * pooled_width_ + pw; @@ -149,10 +182,10 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, for (int c = 0; c < channels_; ++c) { for (int ph = 0; ph < pooled_height_; ++ph) { for (int pw = 0; pw < pooled_width_; ++pw) { - int hstart = ph * stride_ - pad_; - int wstart = pw * stride_ - pad_; - int hend = min(hstart + kernel_size_, height_ + pad_); - int wend = min(wstart + kernel_size_, width_ + pad_); + int hstart = ph * stride_h_ - pad_h_; + int wstart = pw * stride_w_ - pad_w_; + int hend = min(hstart + kernel_size_h_, height_ + pad_h_); + int wend = min(wstart + kernel_size_w_, width_ + pad_w_); int pool_size = (hend - hstart) * (wend - wstart); hstart = max(hstart, 0); wstart = max(wstart, 0); @@ -231,10 +264,10 @@ void PoolingLayer::Backward_cpu(const vector*>& top, for (int c = 0; c < channels_; ++c) { for (int ph = 0; ph < pooled_height_; ++ph) { for (int pw = 0; pw < pooled_width_; ++pw) { - int hstart = ph * stride_ - pad_; - int wstart = pw * stride_ - pad_; - int hend = min(hstart + kernel_size_, height_ + pad_); - int wend = min(wstart + kernel_size_, width_ + pad_); + int hstart = ph * stride_h_ - pad_h_; + int wstart = pw * stride_w_ - pad_w_; + int hend = min(hstart + kernel_size_h_, height_ + pad_h_); + int wend = min(wstart + kernel_size_w_, width_ + pad_w_); int pool_size = (hend - hstart) * (wend - wstart); hstart = max(hstart, 0); wstart = max(wstart, 0); From ce88f9f966d68db43a7c0a7563c27c59e8433cdc Mon Sep 17 00:00:00 2001 From: Ronghang Hu Date: Thu, 3 Jul 2014 21:05:23 -0700 Subject: [PATCH 220/408] Update pooling_layer.cu Replace pad_, kernel_size_, stride_ with pad_h_, pad_w_, kernel_size_h_, kernel_size_w_, stride_h_, stride_w_ to support pooling on rectangle regions. --- src/caffe/layers/pooling_layer.cu | 117 ++++++++++++++++-------------- 1 file changed, 64 insertions(+), 53 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index f07fe3c48ac..3ac74f8bbb3 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -17,17 +17,18 @@ template __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, const int pad, Dtype* top_data, + const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int stride_w, const int pad_h, const int pad_w, Dtype* top_data, int* mask, Dtype* top_mask) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int c = (index / pooled_width / pooled_height) % channels; int n = index / pooled_width / pooled_height / channels; - int hstart = ph * stride - pad; - int wstart = pw * stride - pad; - int hend = min(hstart + kernel_size, height); - int wend = min(wstart + kernel_size, width); + int hstart = ph * stride_h - pad_h; + int wstart = pw * stride_w - pad_w; + int hend = min(hstart + kernel_size_h, height); + int wend = min(wstart + kernel_size_w, width); hstart = max(hstart, 0); wstart = max(wstart, 0); Dtype maxval = -FLT_MAX; @@ -54,16 +55,17 @@ template __global__ void AvePoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, const int pad, Dtype* top_data) { + const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int stride_w, const int pad_h, const int pad_w, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int c = (index / pooled_width / pooled_height) % channels; int n = index / pooled_width / pooled_height / channels; - int hstart = ph * stride - pad; - int wstart = pw * stride - pad; - int hend = min(hstart + kernel_size, height + pad); - int wend = min(wstart + kernel_size, width + pad); + int hstart = ph * stride_h - pad_h; + int wstart = pw * stride_w - pad_w; + int hend = min(hstart + kernel_size_h, height + pad_h); + int wend = min(wstart + kernel_size_w, width + pad_w); int pool_size = (hend - hstart) * (wend - wstart); hstart = max(hstart, 0); wstart = max(wstart, 0); @@ -85,16 +87,17 @@ __global__ void StoPoolForwardTrain(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* rand_idx, Dtype* top_data) { + const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int stride_w, Dtype* rand_idx, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int c = (index / pooled_width / pooled_height) % channels; int n = index / pooled_width / pooled_height / channels; - int hstart = ph * stride; - int hend = min(hstart + kernel_size, height); - int wstart = pw * stride; - int wend = min(wstart + kernel_size, width); + int hstart = ph * stride_h; + int hend = min(hstart + kernel_size_h, height); + int wstart = pw * stride_w; + int wend = min(wstart + kernel_size_w, width); Dtype cumsum = 0.; bottom_data += (n * channels + c) * height * width; // First pass: get sum @@ -125,16 +128,17 @@ __global__ void StoPoolForwardTest(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* top_data) { + const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int stride_w, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; int ph = (index / pooled_width) % pooled_height; int c = (index / pooled_width / pooled_height) % channels; int n = index / pooled_width / pooled_height / channels; - int hstart = ph * stride; - int hend = min(hstart + kernel_size, height); - int wstart = pw * stride; - int wend = min(wstart + kernel_size, width); + int hstart = ph * stride_h; + int hend = min(hstart + kernel_size_h, height); + int wstart = pw * stride_w; + int wend = min(wstart + kernel_size_w, width); // We set cumsum to be 0 to avoid divide-by-zero problems Dtype cumsum = FLT_MIN; Dtype cumvalues = 0.; @@ -171,15 +175,16 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, - pad_, top_data, mask, top_mask); + height_, width_, pooled_height_, pooled_width_, kernel_size_h_, + kernel_size_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data, + mask, top_mask); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) AvePoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, - pad_, top_data); + height_, width_, pooled_height_, pooled_width_, kernel_size_h_, + kernel_size_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data); break; case PoolingParameter_PoolMethod_STOCHASTIC: if (Caffe::phase() == Caffe::TRAIN) { @@ -190,15 +195,16 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, StoPoolForwardTrain<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, + height_, width_, pooled_height_, pooled_width_, kernel_size_h_, + kernel_size_w_, stride_h_, stride_w_, rand_idx_.mutable_gpu_data(), top_data); } else { // NOLINT_NEXT_LINE(whitespace/operators) StoPoolForwardTest<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, - top_data); + height_, width_, pooled_height_, pooled_width_, kernel_size_h_, + kernel_size_w_, stride_h_, stride_w_, top_data); } break; default: @@ -213,8 +219,9 @@ template __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, const int* mask, const Dtype* top_mask, const int num, const int channels, const int height, const int width, const int pooled_height, - const int pooled_width, const int kernel_size, const int stride, - const int pad, Dtype* bottom_diff) { + const int pooled_width, const int kernel_size_h, const int kernel_size_w, + const int stride_h, const int stride_w, const int pad_h, const int pad_w, + Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset @@ -223,11 +230,11 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, int c = (index / width / height) % channels; int n = index / width / height / channels; int phstart = - (h + pad < kernel_size) ? 0 : (h + pad - kernel_size) / stride + 1; - int phend = min((h + pad) / stride + 1, pooled_height); + (h + pad_h < kernel_size_h) ? 0 : (h + pad_h - kernel_size_h) / stride_h + 1; + int phend = min((h + pad_h) / stride_h + 1, pooled_height); int pwstart = - (w + pad < kernel_size) ? 0 : (w + pad - kernel_size) / stride + 1; - int pwend = min((w + pad) / stride + 1, pooled_width); + (w + pad_w < kernel_size_w) ? 0 : (w + pad_w - kernel_size_w) / stride_w + 1; + int pwend = min((w + pad_w) / stride_w + 1, pooled_width); Dtype gradient = 0; int offset = (n * channels + c) * pooled_height * pooled_width; top_diff += offset; @@ -258,28 +265,29 @@ template __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, const int pad, + const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int stride_w, const int pad_h, const int pad_w, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset - int w = index % width + pad; - int h = (index / width) % height + pad; + int w = index % width + pad_w; + int h = (index / width) % height + pad_h; int c = (index / width / height) % channels; int n = index / width / height / channels; - int phstart = (h < kernel_size) ? 0 : (h - kernel_size) / stride + 1; - int phend = min(h / stride + 1, pooled_height); - int pwstart = (w < kernel_size) ? 0 : (w - kernel_size) / stride + 1; - int pwend = min(w / stride + 1, pooled_width); + int phstart = (h < kernel_size_h) ? 0 : (h - kernel_size_h) / stride_h + 1; + int phend = min(h / stride_h + 1, pooled_height); + int pwstart = (w < kernel_size_w) ? 0 : (w - kernel_size_w) / stride_w + 1; + int pwend = min(w / stride_w + 1, pooled_width); Dtype gradient = 0; top_diff += (n * channels + c) * pooled_height * pooled_width; for (int ph = phstart; ph < phend; ++ph) { for (int pw = pwstart; pw < pwend; ++pw) { // figure out the pooling size - int hstart = ph * stride - pad; - int wstart = pw * stride - pad; - int hend = min(hstart + kernel_size, height + pad); - int wend = min(wstart + kernel_size, width + pad); + int hstart = ph * stride_h - pad_h; + int wstart = pw * stride_w - pad_w; + int hend = min(hstart + kernel_size_h, height + pad_h); + int wend = min(wstart + kernel_size_w, width + pad_w); int pool_size = (hend - hstart) * (wend - wstart); gradient += top_diff[ph * pooled_width + pw] / pool_size; } @@ -294,7 +302,8 @@ __global__ void StoPoolBackward(const int nthreads, const Dtype* rand_idx, const Dtype* top_diff, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size, const int stride, Dtype* bottom_diff) { + const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int stride_w, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index // find out the local offset @@ -302,10 +311,10 @@ __global__ void StoPoolBackward(const int nthreads, int h = (index / width) % height; int c = (index / width / height) % channels; int n = index / width / height / channels; - int phstart = (h < kernel_size) ? 0 : (h - kernel_size) / stride + 1; - int phend = min(h / stride + 1, pooled_height); - int pwstart = (w < kernel_size) ? 0 : (w - kernel_size) / stride + 1; - int pwend = min(w / stride + 1, pooled_width); + int phstart = (h < kernel_size_h) ? 0 : (h - kernel_size_h) / stride_h + 1; + int phend = min(h / stride_h + 1, pooled_height); + int pwstart = (w < kernel_size_w) ? 0 : (w - kernel_size_w) / stride_w + 1; + int pwend = min(w / stride_w + 1, pooled_width); Dtype gradient = 0; rand_idx += (n * channels + c) * pooled_height * pooled_width; top_diff += (n * channels + c) * pooled_height * pooled_width; @@ -345,21 +354,23 @@ void PoolingLayer::Backward_gpu(const vector*>& top, MaxPoolBackward<<>>( count, top_diff, mask, top_mask, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, - kernel_size_, stride_, pad_, bottom_diff); + kernel_size_h_, kernel_size_w_, stride_h_, stride_w_, pad_h_, pad_w_, + bottom_diff); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) AvePoolBackward<<>>( count, top_diff, top[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_, stride_, - pad_, bottom_diff); + height_, width_, pooled_height_, pooled_width_, kernel_size_h_, + kernel_size_w_, stride_h_, stride_w_, pad_h_, pad_w_, bottom_diff); break; case PoolingParameter_PoolMethod_STOCHASTIC: // NOLINT_NEXT_LINE(whitespace/operators) StoPoolBackward<<>>( count, rand_idx_.gpu_data(), top_diff, top[0]->num(), channels_, height_, width_, pooled_height_, - pooled_width_, kernel_size_, stride_, bottom_diff); + pooled_width_, kernel_size_h_, kernel_size_w_, stride_h_, stride_w_, + bottom_diff); break; default: LOG(FATAL) << "Unknown pooling method."; From 7b727b020d1159dea63ef56daf98eaa147fd0ebb Mon Sep 17 00:00:00 2001 From: Ronghang Hu Date: Fri, 4 Jul 2014 17:29:56 -0700 Subject: [PATCH 221/408] fixing pooling SetUp() to allow default values for stride and pad --- src/caffe/layers/pooling_layer.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 3b64741fa5f..d4feaad178f 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -35,15 +35,15 @@ void PoolingLayer::SetUp(const vector*>& bottom, CHECK(pool_param.has_kernel_size() || (pool_param.has_kernel_h() && pool_param.has_kernel_w())) << "For non-square filters both kernel_h and kernel_w are required."; - CHECK((pool_param.has_pad() - && !(pool_param.has_pad_h() || pool_param.has_pad_w())) - || (!pool_param.has_pad() - && (pool_param.has_pad_h() && pool_param.has_pad_w()) - || (!pool_param.has_pad_h() && !pool_param.has_pad_w()))) - << "Padding size is pad OR pad_h and pad_w; not both"; - CHECK(!pool_param.has_stride() != - !(pool_param.has_stride_h() && pool_param.has_stride_w())) + CHECK((!pool_param.has_pad() && pool_param.has_pad_h() + && pool_param.has_pad_w()) + || (!pool_param.has_pad_h() && !pool_param.has_pad_w())) + << "pad is pad OR pad_h and pad_w are required."; + CHECK((!pool_param.has_stride() && pool_param.has_stride_h() + && pool_param.has_stride_w()) + || (!pool_param.has_stride_h() && !pool_param.has_stride_w())) << "Stride is stride OR stride_h and stride_w are required."; + if (pool_param.has_kernel_size()) { kernel_h_ = kernel_w_ = pool_param.kernel_size(); } else { @@ -51,13 +51,13 @@ void PoolingLayer::SetUp(const vector*>& bottom, kernel_w_ = pool_param.kernel_w(); } CHECK_GT(kernel_h_ * kernel_w_, 0) << "Filter dimensions cannot be zero."; - if (pool_param.has_pad()) { + if (!pool_param.has_pad_h()) { pad_h_ = pad_w_ = pool_param.pad(); } else { pad_h_ = pool_param.pad_h(); pad_w_ = pool_param.pad_w(); } - if (pool_param.has_stride()) { + if (!pool_param.has_stride_h()) { stride_h_ = stride_w_ = pool_param.stride(); } else { stride_h_ = pool_param.stride_h(); From f74979e7de2532ae4eccffa8aabad46c31a90285 Mon Sep 17 00:00:00 2001 From: Ronghang Hu Date: Sat, 5 Jul 2014 08:21:50 -0700 Subject: [PATCH 222/408] add tests for rectangular pooling regions --- include/caffe/vision_layers.hpp | 2 +- src/caffe/layers/pooling_layer.cpp | 24 +-- src/caffe/layers/pooling_layer.cu | 70 +++---- src/caffe/proto/caffe.proto | 4 +- src/caffe/test/test_pooling_layer.cpp | 270 +++++++++++++++++++++++++- 5 files changed, 314 insertions(+), 56 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 62b65bc1780..450524e2a7d 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -361,7 +361,7 @@ class PoolingLayer : public Layer { const vector& propagate_down, vector*>* bottom); int max_top_blobs_; - int kernel_size_h_, kernel_size_w_; + int kernel_h_, kernel_w_; int stride_h_, stride_w_; int pad_h_, pad_w_; int channels_; diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index d4feaad178f..d8cd2e2139d 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -43,14 +43,14 @@ void PoolingLayer::SetUp(const vector*>& bottom, && pool_param.has_stride_w()) || (!pool_param.has_stride_h() && !pool_param.has_stride_w())) << "Stride is stride OR stride_h and stride_w are required."; - if (pool_param.has_kernel_size()) { kernel_h_ = kernel_w_ = pool_param.kernel_size(); } else { kernel_h_ = pool_param.kernel_h(); kernel_w_ = pool_param.kernel_w(); } - CHECK_GT(kernel_h_ * kernel_w_, 0) << "Filter dimensions cannot be zero."; + CHECK_GT(kernel_h_, 0) << "Filter dimensions cannot be zero."; + CHECK_GT(kernel_w_, 0) << "Filter dimensions cannot be zero."; if (!pool_param.has_pad_h()) { pad_h_ = pad_w_ = pool_param.pad(); } else { @@ -69,16 +69,16 @@ void PoolingLayer::SetUp(const vector*>& bottom, || this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX) << "Padding implemented only for average and max pooling."; - CHECK_LT(pad_h_, kernel_size_h_); - CHECK_LT(pad_w_, kernel_size_w_); + CHECK_LT(pad_h_, kernel_h_); + CHECK_LT(pad_w_, kernel_w_); } channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); width_ = bottom[0]->width(); pooled_height_ = static_cast(ceil(static_cast( - height_ + 2 * pad_h_ - kernel_size_h_) / stride_h_)) + 1; + height_ + 2 * pad_h_ - kernel_h_) / stride_h_)) + 1; pooled_width_ = static_cast(ceil(static_cast( - width_ + 2 * pad_w_ - kernel_size_w_) / stride_w_)) + 1; + width_ + 2 * pad_w_ - kernel_w_) / stride_w_)) + 1; if (pad_h_ || pad_w_) { // If we have padding, ensure that the last pooling starts strictly // inside the image (instead of at the padding); otherwise clip the last. @@ -142,8 +142,8 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, for (int pw = 0; pw < pooled_width_; ++pw) { int hstart = ph * stride_h_ - pad_h_; int wstart = pw * stride_w_ - pad_w_; - int hend = min(hstart + kernel_size_h_, height_); - int wend = min(wstart + kernel_size_w_, width_); + int hend = min(hstart + kernel_h_, height_); + int wend = min(wstart + kernel_w_, width_); hstart = max(hstart, 0); wstart = max(wstart, 0); const int pool_index = ph * pooled_width_ + pw; @@ -184,8 +184,8 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, for (int pw = 0; pw < pooled_width_; ++pw) { int hstart = ph * stride_h_ - pad_h_; int wstart = pw * stride_w_ - pad_w_; - int hend = min(hstart + kernel_size_h_, height_ + pad_h_); - int wend = min(wstart + kernel_size_w_, width_ + pad_w_); + int hend = min(hstart + kernel_h_, height_ + pad_h_); + int wend = min(wstart + kernel_w_, width_ + pad_w_); int pool_size = (hend - hstart) * (wend - wstart); hstart = max(hstart, 0); wstart = max(wstart, 0); @@ -266,8 +266,8 @@ void PoolingLayer::Backward_cpu(const vector*>& top, for (int pw = 0; pw < pooled_width_; ++pw) { int hstart = ph * stride_h_ - pad_h_; int wstart = pw * stride_w_ - pad_w_; - int hend = min(hstart + kernel_size_h_, height_ + pad_h_); - int wend = min(wstart + kernel_size_w_, width_ + pad_w_); + int hend = min(hstart + kernel_h_, height_ + pad_h_); + int wend = min(wstart + kernel_w_, width_ + pad_w_); int pool_size = (hend - hstart) * (wend - wstart); hstart = max(hstart, 0); wstart = max(wstart, 0); diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 3ac74f8bbb3..e38028dd061 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -17,7 +17,7 @@ template __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, Dtype* top_data, int* mask, Dtype* top_mask) { CUDA_KERNEL_LOOP(index, nthreads) { @@ -27,8 +27,8 @@ __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, int n = index / pooled_width / pooled_height / channels; int hstart = ph * stride_h - pad_h; int wstart = pw * stride_w - pad_w; - int hend = min(hstart + kernel_size_h, height); - int wend = min(wstart + kernel_size_w, width); + int hend = min(hstart + kernel_h, height); + int wend = min(wstart + kernel_w, width); hstart = max(hstart, 0); wstart = max(wstart, 0); Dtype maxval = -FLT_MAX; @@ -55,7 +55,7 @@ template __global__ void AvePoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; @@ -64,8 +64,8 @@ __global__ void AvePoolForward(const int nthreads, const Dtype* bottom_data, int n = index / pooled_width / pooled_height / channels; int hstart = ph * stride_h - pad_h; int wstart = pw * stride_w - pad_w; - int hend = min(hstart + kernel_size_h, height + pad_h); - int wend = min(wstart + kernel_size_w, width + pad_w); + int hend = min(hstart + kernel_h, height + pad_h); + int wend = min(wstart + kernel_w, width + pad_w); int pool_size = (hend - hstart) * (wend - wstart); hstart = max(hstart, 0); wstart = max(wstart, 0); @@ -87,7 +87,7 @@ __global__ void StoPoolForwardTrain(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, Dtype* rand_idx, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; @@ -95,9 +95,9 @@ __global__ void StoPoolForwardTrain(const int nthreads, int c = (index / pooled_width / pooled_height) % channels; int n = index / pooled_width / pooled_height / channels; int hstart = ph * stride_h; - int hend = min(hstart + kernel_size_h, height); + int hend = min(hstart + kernel_h, height); int wstart = pw * stride_w; - int wend = min(wstart + kernel_size_w, width); + int wend = min(wstart + kernel_w, width); Dtype cumsum = 0.; bottom_data += (n * channels + c) * height * width; // First pass: get sum @@ -128,7 +128,7 @@ __global__ void StoPoolForwardTest(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; @@ -136,9 +136,9 @@ __global__ void StoPoolForwardTest(const int nthreads, int c = (index / pooled_width / pooled_height) % channels; int n = index / pooled_width / pooled_height / channels; int hstart = ph * stride_h; - int hend = min(hstart + kernel_size_h, height); + int hend = min(hstart + kernel_h, height); int wstart = pw * stride_w; - int wend = min(wstart + kernel_size_w, width); + int wend = min(wstart + kernel_w, width); // We set cumsum to be 0 to avoid divide-by-zero problems Dtype cumsum = FLT_MIN; Dtype cumvalues = 0.; @@ -175,16 +175,16 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_h_, - kernel_size_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data, + height_, width_, pooled_height_, pooled_width_, kernel_h_, + kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data, mask, top_mask); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) AvePoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_h_, - kernel_size_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data); + height_, width_, pooled_height_, pooled_width_, kernel_h_, + kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data); break; case PoolingParameter_PoolMethod_STOCHASTIC: if (Caffe::phase() == Caffe::TRAIN) { @@ -195,16 +195,16 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, StoPoolForwardTrain<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_h_, - kernel_size_w_, stride_h_, stride_w_, + height_, width_, pooled_height_, pooled_width_, kernel_h_, + kernel_w_, stride_h_, stride_w_, rand_idx_.mutable_gpu_data(), top_data); } else { // NOLINT_NEXT_LINE(whitespace/operators) StoPoolForwardTest<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_h_, - kernel_size_w_, stride_h_, stride_w_, top_data); + height_, width_, pooled_height_, pooled_width_, kernel_h_, + kernel_w_, stride_h_, stride_w_, top_data); } break; default: @@ -219,7 +219,7 @@ template __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, const int* mask, const Dtype* top_mask, const int num, const int channels, const int height, const int width, const int pooled_height, - const int pooled_width, const int kernel_size_h, const int kernel_size_w, + const int pooled_width, const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { @@ -230,10 +230,10 @@ __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, int c = (index / width / height) % channels; int n = index / width / height / channels; int phstart = - (h + pad_h < kernel_size_h) ? 0 : (h + pad_h - kernel_size_h) / stride_h + 1; + (h + pad_h < kernel_h) ? 0 : (h + pad_h - kernel_h) / stride_h + 1; int phend = min((h + pad_h) / stride_h + 1, pooled_height); int pwstart = - (w + pad_w < kernel_size_w) ? 0 : (w + pad_w - kernel_size_w) / stride_w + 1; + (w + pad_w < kernel_w) ? 0 : (w + pad_w - kernel_w) / stride_w + 1; int pwend = min((w + pad_w) / stride_w + 1, pooled_width); Dtype gradient = 0; int offset = (n * channels + c) * pooled_height * pooled_width; @@ -265,7 +265,7 @@ template __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { @@ -275,9 +275,9 @@ __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, int h = (index / width) % height + pad_h; int c = (index / width / height) % channels; int n = index / width / height / channels; - int phstart = (h < kernel_size_h) ? 0 : (h - kernel_size_h) / stride_h + 1; + int phstart = (h < kernel_h) ? 0 : (h - kernel_h) / stride_h + 1; int phend = min(h / stride_h + 1, pooled_height); - int pwstart = (w < kernel_size_w) ? 0 : (w - kernel_size_w) / stride_w + 1; + int pwstart = (w < kernel_w) ? 0 : (w - kernel_w) / stride_w + 1; int pwend = min(w / stride_w + 1, pooled_width); Dtype gradient = 0; top_diff += (n * channels + c) * pooled_height * pooled_width; @@ -286,8 +286,8 @@ __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, // figure out the pooling size int hstart = ph * stride_h - pad_h; int wstart = pw * stride_w - pad_w; - int hend = min(hstart + kernel_size_h, height + pad_h); - int wend = min(wstart + kernel_size_w, width + pad_w); + int hend = min(hstart + kernel_h, height + pad_h); + int wend = min(wstart + kernel_w, width + pad_w); int pool_size = (hend - hstart) * (wend - wstart); gradient += top_diff[ph * pooled_width + pw] / pool_size; } @@ -302,7 +302,7 @@ __global__ void StoPoolBackward(const int nthreads, const Dtype* rand_idx, const Dtype* top_diff, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_size_h, const int kernel_size_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index @@ -311,9 +311,9 @@ __global__ void StoPoolBackward(const int nthreads, int h = (index / width) % height; int c = (index / width / height) % channels; int n = index / width / height / channels; - int phstart = (h < kernel_size_h) ? 0 : (h - kernel_size_h) / stride_h + 1; + int phstart = (h < kernel_h) ? 0 : (h - kernel_h) / stride_h + 1; int phend = min(h / stride_h + 1, pooled_height); - int pwstart = (w < kernel_size_w) ? 0 : (w - kernel_size_w) / stride_w + 1; + int pwstart = (w < kernel_w) ? 0 : (w - kernel_w) / stride_w + 1; int pwend = min(w / stride_w + 1, pooled_width); Dtype gradient = 0; rand_idx += (n * channels + c) * pooled_height * pooled_width; @@ -354,22 +354,22 @@ void PoolingLayer::Backward_gpu(const vector*>& top, MaxPoolBackward<<>>( count, top_diff, mask, top_mask, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, - kernel_size_h_, kernel_size_w_, stride_h_, stride_w_, pad_h_, pad_w_, + kernel_h_, kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, bottom_diff); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) AvePoolBackward<<>>( count, top_diff, top[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_size_h_, - kernel_size_w_, stride_h_, stride_w_, pad_h_, pad_w_, bottom_diff); + height_, width_, pooled_height_, pooled_width_, kernel_h_, + kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, bottom_diff); break; case PoolingParameter_PoolMethod_STOCHASTIC: // NOLINT_NEXT_LINE(whitespace/operators) StoPoolBackward<<>>( count, rand_idx_.gpu_data(), top_diff, top[0]->num(), channels_, height_, width_, pooled_height_, - pooled_width_, kernel_size_h_, kernel_size_w_, stride_h_, stride_w_, + pooled_width_, kernel_h_, kernel_w_, stride_h_, stride_w_, bottom_diff); break; default: diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index effebd09a38..70a4ab2e8e9 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -411,8 +411,8 @@ message PoolingParameter { optional uint32 pad_h = 9 [default = 0]; // The padding height optional uint32 pad_w = 10 [default = 0]; // The padding width optional uint32 kernel_size = 2; // The kernel size (square) - optional uint32 kernel_size_h = 5; // The kernel height - optional uint32 kernel_size_w = 6; // The kernel width + optional uint32 kernel_h = 5; // The kernel height + optional uint32 kernel_w = 6; // The kernel width optional uint32 stride = 3 [default = 1]; // The stride (equal in Y, X) optional uint32 stride_h = 7; // The stride height optional uint32 stride_w = 8; // The stride width diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index b13d11f6c6d..651d20305b4 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -44,8 +44,8 @@ class PoolingLayerTest : public ::testing::Test { Blob* const blob_top_mask_; vector*> blob_bottom_vec_; vector*> blob_top_vec_; - - void TestForward() { + // Test for 2x 2 square pooling layer + void TestForwardSquare() { LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(2); @@ -116,6 +116,256 @@ class PoolingLayerTest : public ::testing::Test { } } } + // Test for 3x 2 rectangular pooling layer with kernel_h > kernel_w + void TestForwardRectHigh() { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(3); + pooling_param->set_kernel_w(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + const int num = 2; + const int channels = 2; + blob_bottom_->Reshape(num, channels, 6, 6); + // Input: 2x 2 channels of: + // [35 1 6 26 19 24] + // [ 3 32 7 21 23 25] + // [31 9 2 22 27 20] + // [ 8 28 33 17 10 15] + // [30 5 34 12 14 16] + // [ 4 36 29 13 18 11] (this is generated by magic(6) in MATLAB) + for (int i = 0; i < 36 * num * channels; i += 36) { + blob_bottom_->mutable_cpu_data()[i + 0] = 35; + blob_bottom_->mutable_cpu_data()[i + 1] = 1; + blob_bottom_->mutable_cpu_data()[i + 2] = 6; + blob_bottom_->mutable_cpu_data()[i + 3] = 26; + blob_bottom_->mutable_cpu_data()[i + 4] = 19; + blob_bottom_->mutable_cpu_data()[i + 5] = 24; + blob_bottom_->mutable_cpu_data()[i + 6] = 3; + blob_bottom_->mutable_cpu_data()[i + 7] = 32; + blob_bottom_->mutable_cpu_data()[i + 8] = 7; + blob_bottom_->mutable_cpu_data()[i + 9] = 21; + blob_bottom_->mutable_cpu_data()[i + 10] = 23; + blob_bottom_->mutable_cpu_data()[i + 11] = 25; + blob_bottom_->mutable_cpu_data()[i + 12] = 31; + blob_bottom_->mutable_cpu_data()[i + 13] = 9; + blob_bottom_->mutable_cpu_data()[i + 14] = 2; + blob_bottom_->mutable_cpu_data()[i + 15] = 22; + blob_bottom_->mutable_cpu_data()[i + 16] = 27; + blob_bottom_->mutable_cpu_data()[i + 17] = 20; + blob_bottom_->mutable_cpu_data()[i + 18] = 8; + blob_bottom_->mutable_cpu_data()[i + 19] = 28; + blob_bottom_->mutable_cpu_data()[i + 20] = 33; + blob_bottom_->mutable_cpu_data()[i + 21] = 17; + blob_bottom_->mutable_cpu_data()[i + 22] = 10; + blob_bottom_->mutable_cpu_data()[i + 23] = 15; + blob_bottom_->mutable_cpu_data()[i + 24] = 30; + blob_bottom_->mutable_cpu_data()[i + 25] = 5; + blob_bottom_->mutable_cpu_data()[i + 26] = 34; + blob_bottom_->mutable_cpu_data()[i + 27] = 12; + blob_bottom_->mutable_cpu_data()[i + 28] = 14; + blob_bottom_->mutable_cpu_data()[i + 29] = 16; + blob_bottom_->mutable_cpu_data()[i + 30] = 4; + blob_bottom_->mutable_cpu_data()[i + 31] = 36; + blob_bottom_->mutable_cpu_data()[i + 32] = 29; + blob_bottom_->mutable_cpu_data()[i + 33] = 13; + blob_bottom_->mutable_cpu_data()[i + 34] = 18; + blob_bottom_->mutable_cpu_data()[i + 35] = 11; + } + PoolingLayer layer(layer_param); + layer.SetUp(blob_bottom_vec_, &blob_top_vec_); + EXPECT_EQ(blob_top_->num(), num); + EXPECT_EQ(blob_top_->channels(), channels); + EXPECT_EQ(blob_top_->height(), 4); + EXPECT_EQ(blob_top_->width(), 5); + if (blob_top_vec_.size() > 1) { + EXPECT_EQ(blob_top_mask_->num(), num); + EXPECT_EQ(blob_top_mask_->channels(), channels); + EXPECT_EQ(blob_top_mask_->height(), 4); + EXPECT_EQ(blob_top_mask_->width(), 5); + } + layer.Forward(blob_bottom_vec_, &blob_top_vec_); + // Expected output: 2x 2 channels of: + // [35 32 26 27 27] + // [32 33 33 27 27] + // [31 34 34 27 27] + // [36 36 34 18 18] + for (int i = 0; i < 20 * num * channels; i += 20) { + EXPECT_EQ(blob_top_->cpu_data()[i + 0], 35); + EXPECT_EQ(blob_top_->cpu_data()[i + 1], 32); + EXPECT_EQ(blob_top_->cpu_data()[i + 2], 26); + EXPECT_EQ(blob_top_->cpu_data()[i + 3], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 4], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 5], 32); + EXPECT_EQ(blob_top_->cpu_data()[i + 6], 33); + EXPECT_EQ(blob_top_->cpu_data()[i + 7], 33); + EXPECT_EQ(blob_top_->cpu_data()[i + 8], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 9], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 10], 31); + EXPECT_EQ(blob_top_->cpu_data()[i + 11], 34); + EXPECT_EQ(blob_top_->cpu_data()[i + 12], 34); + EXPECT_EQ(blob_top_->cpu_data()[i + 13], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 14], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 15], 36); + EXPECT_EQ(blob_top_->cpu_data()[i + 16], 36); + EXPECT_EQ(blob_top_->cpu_data()[i + 17], 34); + EXPECT_EQ(blob_top_->cpu_data()[i + 18], 18); + EXPECT_EQ(blob_top_->cpu_data()[i + 19], 18); + } + if (blob_top_vec_.size() > 1) { + // [ 1 8 4 17 17] + // [ 8 21 21 17 17] + // [13 27 27 17 17] + // [32 32 27 35 35] + for (int i = 0; i < 20 * num * channels; i += 20) { + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 0], 0); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 1], 7); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 2], 3); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 3], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 4], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 5], 7); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 6], 20); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 7], 20); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 8], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 9], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 10], 12); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 11], 26); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 12], 26); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 13], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 14], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 15], 31); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 16], 31); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 17], 26); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 18], 34); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 19], 34); + } + } + } + // Test for rectangular pooling layer with kernel_w > kernel_h + void TestForwardRectWide() { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(2); + pooling_param->set_kernel_w(3); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + const int num = 2; + const int channels = 2; + blob_bottom_->Reshape(num, channels, 6, 6); + // Input: 2x 2 channels of: + // [35 1 6 26 19 24] + // [ 3 32 7 21 23 25] + // [31 9 2 22 27 20] + // [ 8 28 33 17 10 15] + // [30 5 34 12 14 16] + // [ 4 36 29 13 18 11] (this is generated by magic(6) in MATLAB) + for (int i = 0; i < 36 * num * channels; i += 36) { + blob_bottom_->mutable_cpu_data()[i + 0] = 35; + blob_bottom_->mutable_cpu_data()[i + 1] = 1; + blob_bottom_->mutable_cpu_data()[i + 2] = 6; + blob_bottom_->mutable_cpu_data()[i + 3] = 26; + blob_bottom_->mutable_cpu_data()[i + 4] = 19; + blob_bottom_->mutable_cpu_data()[i + 5] = 24; + blob_bottom_->mutable_cpu_data()[i + 6] = 3; + blob_bottom_->mutable_cpu_data()[i + 7] = 32; + blob_bottom_->mutable_cpu_data()[i + 8] = 7; + blob_bottom_->mutable_cpu_data()[i + 9] = 21; + blob_bottom_->mutable_cpu_data()[i + 10] = 23; + blob_bottom_->mutable_cpu_data()[i + 11] = 25; + blob_bottom_->mutable_cpu_data()[i + 12] = 31; + blob_bottom_->mutable_cpu_data()[i + 13] = 9; + blob_bottom_->mutable_cpu_data()[i + 14] = 2; + blob_bottom_->mutable_cpu_data()[i + 15] = 22; + blob_bottom_->mutable_cpu_data()[i + 16] = 27; + blob_bottom_->mutable_cpu_data()[i + 17] = 20; + blob_bottom_->mutable_cpu_data()[i + 18] = 8; + blob_bottom_->mutable_cpu_data()[i + 19] = 28; + blob_bottom_->mutable_cpu_data()[i + 20] = 33; + blob_bottom_->mutable_cpu_data()[i + 21] = 17; + blob_bottom_->mutable_cpu_data()[i + 22] = 10; + blob_bottom_->mutable_cpu_data()[i + 23] = 15; + blob_bottom_->mutable_cpu_data()[i + 24] = 30; + blob_bottom_->mutable_cpu_data()[i + 25] = 5; + blob_bottom_->mutable_cpu_data()[i + 26] = 34; + blob_bottom_->mutable_cpu_data()[i + 27] = 12; + blob_bottom_->mutable_cpu_data()[i + 28] = 14; + blob_bottom_->mutable_cpu_data()[i + 29] = 16; + blob_bottom_->mutable_cpu_data()[i + 30] = 4; + blob_bottom_->mutable_cpu_data()[i + 31] = 36; + blob_bottom_->mutable_cpu_data()[i + 32] = 29; + blob_bottom_->mutable_cpu_data()[i + 33] = 13; + blob_bottom_->mutable_cpu_data()[i + 34] = 18; + blob_bottom_->mutable_cpu_data()[i + 35] = 11; + } + PoolingLayer layer(layer_param); + layer.SetUp(blob_bottom_vec_, &blob_top_vec_); + EXPECT_EQ(blob_top_->num(), num); + EXPECT_EQ(blob_top_->channels(), channels); + EXPECT_EQ(blob_top_->height(), 5); + EXPECT_EQ(blob_top_->width(), 4); + if (blob_top_vec_.size() > 1) { + EXPECT_EQ(blob_top_mask_->num(), num); + EXPECT_EQ(blob_top_mask_->channels(), channels); + EXPECT_EQ(blob_top_mask_->height(), 5); + EXPECT_EQ(blob_top_mask_->width(), 4); + } + layer.Forward(blob_bottom_vec_, &blob_top_vec_); + // Expected output: 2x 2 channels of: + // [35 32 26 26] + // [32 32 27 27] + // [33 33 33 27] + // [34 34 34 17] + // [36 36 34 18] + for (int i = 0; i < 20 * num * channels; i += 20) { + EXPECT_EQ(blob_top_->cpu_data()[i + 0], 35); + EXPECT_EQ(blob_top_->cpu_data()[i + 1], 32); + EXPECT_EQ(blob_top_->cpu_data()[i + 2], 26); + EXPECT_EQ(blob_top_->cpu_data()[i + 3], 26); + EXPECT_EQ(blob_top_->cpu_data()[i + 4], 32); + EXPECT_EQ(blob_top_->cpu_data()[i + 5], 32); + EXPECT_EQ(blob_top_->cpu_data()[i + 6], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 7], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 8], 33); + EXPECT_EQ(blob_top_->cpu_data()[i + 9], 33); + EXPECT_EQ(blob_top_->cpu_data()[i + 10], 33); + EXPECT_EQ(blob_top_->cpu_data()[i + 11], 27); + EXPECT_EQ(blob_top_->cpu_data()[i + 12], 34); + EXPECT_EQ(blob_top_->cpu_data()[i + 13], 34); + EXPECT_EQ(blob_top_->cpu_data()[i + 14], 34); + EXPECT_EQ(blob_top_->cpu_data()[i + 15], 17); + EXPECT_EQ(blob_top_->cpu_data()[i + 16], 36); + EXPECT_EQ(blob_top_->cpu_data()[i + 17], 36); + EXPECT_EQ(blob_top_->cpu_data()[i + 18], 34); + EXPECT_EQ(blob_top_->cpu_data()[i + 19], 18); + } + if (blob_top_vec_.size() > 1) { + // [ 1 8 4 4] + // [ 8 8 17 17] + // [21 21 21 17] + // [27 27 27 22] + // [32 32 27 35] + for (int i = 0; i < 20 * num * channels; i += 20) { + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 0], 0); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 1], 7); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 2], 3); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 3], 3); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 4], 7); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 5], 7); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 6], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 7], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 8], 20); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 9], 20); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 10], 20); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 11], 16); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 12], 26); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 13], 26); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 14], 26); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 15], 21); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 16], 31); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 17], 31); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 18], 26); + EXPECT_EQ(blob_top_mask_->cpu_data()[i + 19], 34); + } + } + } }; typedef ::testing::Types Dtypes; @@ -207,24 +457,32 @@ TYPED_TEST(PoolingLayerTest, PrintCPUBackward) { TYPED_TEST(PoolingLayerTest, TestCPUForwardMax) { Caffe::set_mode(Caffe::CPU); - this->TestForward(); + this->TestForwardSquare(); + this->TestForwardRectHigh(); + this->TestForwardRectWide(); } TYPED_TEST(PoolingLayerTest, TestGPUForwardMax) { Caffe::set_mode(Caffe::GPU); - this->TestForward(); + this->TestForwardSquare(); + this->TestForwardRectHigh(); + this->TestForwardRectWide(); } TYPED_TEST(PoolingLayerTest, TestCPUForwardMaxTopMask) { Caffe::set_mode(Caffe::CPU); this->blob_top_vec_.push_back(this->blob_top_mask_); - this->TestForward(); + this->TestForwardSquare(); + this->TestForwardRectHigh(); + this->TestForwardRectWide(); } TYPED_TEST(PoolingLayerTest, TestGPUForwardMaxTopMask) { Caffe::set_mode(Caffe::GPU); this->blob_top_vec_.push_back(this->blob_top_mask_); - this->TestForward(); + this->TestForwardSquare(); + this->TestForwardRectHigh(); + this->TestForwardRectWide(); } TYPED_TEST(PoolingLayerTest, TestCPUGradientMax) { From e10977f8a598f6753c28d1388e0900e7805280ac Mon Sep 17 00:00:00 2001 From: Ronghang Hu Date: Mon, 7 Jul 2014 11:32:58 -0700 Subject: [PATCH 223/408] fixed style errors --- src/caffe/layers/pooling_layer.cpp | 4 ++-- src/caffe/layers/pooling_layer.cu | 34 +++++++++++++-------------- src/caffe/test/test_pooling_layer.cpp | 6 +++-- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index d8cd2e2139d..9151ff23674 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -35,11 +35,11 @@ void PoolingLayer::SetUp(const vector*>& bottom, CHECK(pool_param.has_kernel_size() || (pool_param.has_kernel_h() && pool_param.has_kernel_w())) << "For non-square filters both kernel_h and kernel_w are required."; - CHECK((!pool_param.has_pad() && pool_param.has_pad_h() + CHECK((!pool_param.has_pad() && pool_param.has_pad_h() && pool_param.has_pad_w()) || (!pool_param.has_pad_h() && !pool_param.has_pad_w())) << "pad is pad OR pad_h and pad_w are required."; - CHECK((!pool_param.has_stride() && pool_param.has_stride_h() + CHECK((!pool_param.has_stride() && pool_param.has_stride_h() && pool_param.has_stride_w()) || (!pool_param.has_stride_h() && !pool_param.has_stride_w())) << "Stride is stride OR stride_h and stride_w are required."; diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index e38028dd061..a44b1770ee3 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -17,7 +17,7 @@ template __global__ void MaxPoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_h, const int kernel_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, Dtype* top_data, int* mask, Dtype* top_mask) { CUDA_KERNEL_LOOP(index, nthreads) { @@ -55,7 +55,7 @@ template __global__ void AvePoolForward(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_h, const int kernel_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, const int pad_h, const int pad_w, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; @@ -87,7 +87,7 @@ __global__ void StoPoolForwardTrain(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_h, const int kernel_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, Dtype* rand_idx, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; @@ -128,7 +128,7 @@ __global__ void StoPoolForwardTest(const int nthreads, const Dtype* bottom_data, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_h, const int kernel_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, Dtype* top_data) { CUDA_KERNEL_LOOP(index, nthreads) { int pw = index % pooled_width; @@ -175,15 +175,15 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_h_, - kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data, + height_, width_, pooled_height_, pooled_width_, kernel_h_, + kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data, mask, top_mask); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) AvePoolForward<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_h_, + height_, width_, pooled_height_, pooled_width_, kernel_h_, kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, top_data); break; case PoolingParameter_PoolMethod_STOCHASTIC: @@ -195,7 +195,7 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, StoPoolForwardTrain<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_h_, + height_, width_, pooled_height_, pooled_width_, kernel_h_, kernel_w_, stride_h_, stride_w_, rand_idx_.mutable_gpu_data(), top_data); } else { @@ -203,7 +203,7 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, StoPoolForwardTest<<>>( count, bottom_data, bottom[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_h_, + height_, width_, pooled_height_, pooled_width_, kernel_h_, kernel_w_, stride_h_, stride_w_, top_data); } break; @@ -219,8 +219,8 @@ template __global__ void MaxPoolBackward(const int nthreads, const Dtype* top_diff, const int* mask, const Dtype* top_mask, const int num, const int channels, const int height, const int width, const int pooled_height, - const int pooled_width, const int kernel_h, const int kernel_w, - const int stride_h, const int stride_w, const int pad_h, const int pad_w, + const int pooled_width, const int kernel_h, const int kernel_w, + const int stride_h, const int stride_w, const int pad_h, const int pad_w, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index @@ -265,8 +265,8 @@ template __global__ void AvePoolBackward(const int nthreads, const Dtype* top_diff, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_h, const int kernel_w, const int stride_h, - const int stride_w, const int pad_h, const int pad_w, + const int kernel_h, const int kernel_w, const int stride_h, + const int stride_w, const int pad_h, const int pad_w, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index @@ -302,7 +302,7 @@ __global__ void StoPoolBackward(const int nthreads, const Dtype* rand_idx, const Dtype* top_diff, const int num, const int channels, const int height, const int width, const int pooled_height, const int pooled_width, - const int kernel_h, const int kernel_w, const int stride_h, + const int kernel_h, const int kernel_w, const int stride_h, const int stride_w, Dtype* bottom_diff) { CUDA_KERNEL_LOOP(index, nthreads) { // find out the local index @@ -354,14 +354,14 @@ void PoolingLayer::Backward_gpu(const vector*>& top, MaxPoolBackward<<>>( count, top_diff, mask, top_mask, top[0]->num(), channels_, height_, width_, pooled_height_, pooled_width_, - kernel_h_, kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, + kernel_h_, kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, bottom_diff); break; case PoolingParameter_PoolMethod_AVE: // NOLINT_NEXT_LINE(whitespace/operators) AvePoolBackward<<>>( count, top_diff, top[0]->num(), channels_, - height_, width_, pooled_height_, pooled_width_, kernel_h_, + height_, width_, pooled_height_, pooled_width_, kernel_h_, kernel_w_, stride_h_, stride_w_, pad_h_, pad_w_, bottom_diff); break; case PoolingParameter_PoolMethod_STOCHASTIC: @@ -369,7 +369,7 @@ void PoolingLayer::Backward_gpu(const vector*>& top, StoPoolBackward<<>>( count, rand_idx_.gpu_data(), top_diff, top[0]->num(), channels_, height_, width_, pooled_height_, - pooled_width_, kernel_h_, kernel_w_, stride_h_, stride_w_, + pooled_width_, kernel_h_, kernel_w_, stride_h_, stride_w_, bottom_diff); break; default: diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index 651d20305b4..bb21113a666 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -132,7 +132,8 @@ class PoolingLayerTest : public ::testing::Test { // [31 9 2 22 27 20] // [ 8 28 33 17 10 15] // [30 5 34 12 14 16] - // [ 4 36 29 13 18 11] (this is generated by magic(6) in MATLAB) + // [ 4 36 29 13 18 11] + // (this is generated by magic(6) in MATLAB) for (int i = 0; i < 36 * num * channels; i += 36) { blob_bottom_->mutable_cpu_data()[i + 0] = 35; blob_bottom_->mutable_cpu_data()[i + 1] = 1; @@ -256,7 +257,8 @@ class PoolingLayerTest : public ::testing::Test { // [31 9 2 22 27 20] // [ 8 28 33 17 10 15] // [30 5 34 12 14 16] - // [ 4 36 29 13 18 11] (this is generated by magic(6) in MATLAB) + // [ 4 36 29 13 18 11] + // (this is generated by magic(6) in MATLAB) for (int i = 0; i < 36 * num * channels; i += 36) { blob_bottom_->mutable_cpu_data()[i + 0] = 35; blob_bottom_->mutable_cpu_data()[i + 1] = 1; From 45e201d42d2c2243a06ceb9376998903ac227f4b Mon Sep 17 00:00:00 2001 From: Ronghang Hu Date: Mon, 7 Jul 2014 12:12:59 -0700 Subject: [PATCH 224/408] added gradient check for non-square pooling --- src/caffe/test/test_pooling_layer.cpp | 214 +++++++++++++++----------- 1 file changed, 128 insertions(+), 86 deletions(-) diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index bb21113a666..fdc3ea4cafa 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -488,31 +488,41 @@ TYPED_TEST(PoolingLayerTest, TestGPUForwardMaxTopMask) { } TYPED_TEST(PoolingLayerTest, TestCPUGradientMax) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pad(1); - pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - Caffe::set_mode(Caffe::CPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-4, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { + for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(kernel_h); + pooling_param->set_kernel_w(kernel_w); + pooling_param->set_stride(2); + pooling_param->set_pad(1); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + Caffe::set_mode(Caffe::CPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-4, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + } + } } TYPED_TEST(PoolingLayerTest, TestGPUGradientMax) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pad(1); - pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-4, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { + for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(kernel_h); + pooling_param->set_kernel_w(kernel_w); + pooling_param->set_stride(2); + pooling_param->set_pad(1); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + Caffe::set_mode(Caffe::GPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-4, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + } + } } TYPED_TEST(PoolingLayerTest, TestCPUForwardMaxPadded) { @@ -608,31 +618,43 @@ TYPED_TEST(PoolingLayerTest, TestGPUForwardMaxPadded) { TYPED_TEST(PoolingLayerTest, TestCPUGradientMaxTopMask) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - this->blob_top_vec_.push_back(this->blob_top_mask_); - Caffe::set_mode(Caffe::CPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-4, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { + for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(kernel_h); + pooling_param->set_kernel_w(kernel_w); + pooling_param->set_stride(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + this->blob_top_vec_.push_back(this->blob_top_mask_); + Caffe::set_mode(Caffe::CPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-4, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + this->blob_top_vec_.pop_back(); + } + } } TYPED_TEST(PoolingLayerTest, TestGPUGradientMaxTopMask) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - this->blob_top_vec_.push_back(this->blob_top_mask_); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-4, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { + for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(kernel_h); + pooling_param->set_kernel_w(kernel_w); + pooling_param->set_stride(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); + this->blob_top_vec_.push_back(this->blob_top_mask_); + Caffe::set_mode(Caffe::GPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-4, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + this->blob_top_vec_.pop_back(); + } + } } @@ -703,60 +725,80 @@ TYPED_TEST(PoolingLayerTest, TestGPUForwardAve) { TYPED_TEST(PoolingLayerTest, TestCPUGradientAve) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::CPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { + for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(kernel_h); + pooling_param->set_kernel_w(kernel_w); + pooling_param->set_stride(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); + Caffe::set_mode(Caffe::CPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + } + } } TYPED_TEST(PoolingLayerTest, TestGPUGradientAve) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { + for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(kernel_h); + pooling_param->set_kernel_w(kernel_w); + pooling_param->set_stride(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); + Caffe::set_mode(Caffe::GPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + } + } } TYPED_TEST(PoolingLayerTest, TestCPUGradientAvePadded) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pad(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::CPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { + for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(kernel_h); + pooling_param->set_kernel_w(kernel_w); + pooling_param->set_stride(2); + pooling_param->set_pad(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); + Caffe::set_mode(Caffe::CPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + } + } } TYPED_TEST(PoolingLayerTest, TestGPUGradientAvePadded) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pad(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { + for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { + LayerParameter layer_param; + PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); + pooling_param->set_kernel_h(kernel_h); + pooling_param->set_kernel_w(kernel_w); + pooling_param->set_stride(2); + pooling_param->set_pad(2); + pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); + Caffe::set_mode(Caffe::GPU); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); + } + } } From e5be75459a706d0e1261851894d11c223d07d4d6 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 8 Jul 2014 15:02:00 -0700 Subject: [PATCH 225/408] Don't make clean when running linecount --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f8abc1b2b88..c8b25d935bf 100644 --- a/Makefile +++ b/Makefile @@ -266,7 +266,7 @@ SUPERCLEAN_EXTS := .so .a .o .bin .testbin .pb.cc .pb.h _pb2.py .cuo all: $(NAME) $(STATIC_NAME) tools examples -linecount: clean +linecount: cloc --read-lang-def=$(PROJECT).cloc src/$(PROJECT)/ lint: $(LINT_REPORT) From ba8a2bb8c99f39b66cd915b5cfab0d3991b1488f Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 8 Jul 2014 15:58:12 -0700 Subject: [PATCH 226/408] Dump compiler warnings to *.warnings.txt; use "make warn" to print them --- Makefile | 68 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 56 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index c8b25d935bf..4d67aa32802 100644 --- a/Makefile +++ b/Makefile @@ -123,6 +123,22 @@ TEST_CXX_BINS := $(addsuffix .testbin,$(addprefix $(TEST_BIN_DIR)/, \ TEST_BINS := $(TEST_CXX_BINS) $(TEST_CU_BINS) TEST_ALL_BIN := $(TEST_BIN_DIR)/test_all.testbin +############################## +# Derive compiler warning dump locations +############################## +WARNS_EXT := warnings.txt +CXX_WARNS := $(addprefix $(BUILD_DIR)/, ${CXX_SRCS:.cpp=.o.${WARNS_EXT}}) +CU_WARNS := $(addprefix $(BUILD_DIR)/, ${CU_SRCS:.cu=.cuo.${WARNS_EXT}}) +TOOL_WARNS := $(addprefix $(BUILD_DIR)/, ${TOOL_SRCS:.cpp=.o.${WARNS_EXT}}) +EXAMPLE_WARNS := $(addprefix $(BUILD_DIR)/, ${EXAMPLE_SRCS:.cpp=.o.${WARNS_EXT}}) +TEST_WARNS := $(addprefix $(BUILD_DIR)/, ${TEST_SRCS:.cpp=.o.${WARNS_EXT}}) +TEST_CU_WARNS := $(addprefix $(BUILD_DIR)/, ${TEST_CU_SRCS:.cu=.cuo.${WARNS_EXT}}) +ALL_CXX_WARNS := $(CXX_WARNS) $(TOOL_WARNS) $(EXAMPLE_WARNS) $(TEST_WARNS) +ALL_CU_WARNS := $(CU_WARNS) $(TEST_CU_WARNS) +ALL_WARNS := $(ALL_CXX_WARNS) $(ALL_CU_WARNS) + +ALL_WARNS_FILENAME := $(BUILD_DIR)/$(WARNS_EXT) + ############################## # Derive include and lib directories ############################## @@ -262,7 +278,7 @@ SUPERCLEAN_EXTS := .so .a .o .bin .testbin .pb.cc .pb.h _pb2.py .cuo ############################## .PHONY: all test clean linecount lint tools examples $(DIST_ALIASES) \ py mat py$(PROJECT) mat$(PROJECT) proto runtest \ - superclean supercleanlist supercleanfiles + superclean supercleanlist supercleanfiles warn all: $(NAME) $(STATIC_NAME) tools examples @@ -312,6 +328,23 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) runtest: $(TEST_ALL_BIN) $(TEST_ALL_BIN) $(TEST_GPUID) --gtest_shuffle +warn: $(ALL_WARNS_FILENAME) + +$(ALL_WARNS_FILENAME): $(ALL_WARNS) | $(BUILD_DIR) + @ touch $(ALL_WARNS) + @ cat $(ALL_WARNS) > $@ + @ # If the concatenated warning file is non-empty, touch all dependencies + @ # so that "make warn" always prints the error list and only says + @ # "nothing to be done" when there are no warnings. + @ if [ -s "$@" ]; then touch $(ALL_WARNS); else echo "No compiler warnings!"; fi + @ cat $@ + +$(ALL_CXX_WARNS): %.o.${WARNS_EXT} : %.o + @ cat $@ + +$(ALL_CU_WARNS): %.cuo.${WARNS_EXT} : %.cuo + @ cat $@ + $(BUILD_DIR_LINK): $(BUILD_DIR)/.linked # Create a target ".linked" in this BUILD_DIR to tell Make that the "build" link @@ -337,12 +370,14 @@ $(STATIC_NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) $(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HDRS) \ | $(TEST_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(TEST_BUILD_DIR)/%.cuo: src/$(PROJECT)/test/%.cu $(HXX_SRCS) $(TEST_HDRS) \ | $(TEST_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(TEST_ALL_BIN): $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ @@ -373,42 +408,51 @@ $(EXAMPLE_BINS): %.bin : %.o $(STATIC_NAME) $(LAYER_BUILD_DIR)/%.o: src/$(PROJECT)/layers/%.cpp $(HXX_SRCS) \ | $(LAYER_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(PROTO_BUILD_DIR)/%.pb.o: $(PROTO_BUILD_DIR)/%.pb.cc $(PROTO_GEN_HEADER) \ | $(PROTO_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(UTIL_BUILD_DIR)/%.o: src/$(PROJECT)/util/%.cpp $(HXX_SRCS) | $(UTIL_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(GTEST_OBJ): $(GTEST_SRC) | $(GTEST_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(LAYER_BUILD_DIR)/%.cuo: src/$(PROJECT)/layers/%.cu $(HXX_SRCS) \ | $(LAYER_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(UTIL_BUILD_DIR)/%.cuo: src/$(PROJECT)/util/%.cu | $(UTIL_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(TOOL_BUILD_DIR)/%.o: tools/%.cpp $(PROTO_GEN_HEADER) | $(TOOL_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(EXAMPLE_BUILD_DIR)/%.o: examples/%.cpp $(PROTO_GEN_HEADER) \ | $(EXAMPLE_BUILD_DIRS) - $(CXX) $< $(CXXFLAGS) -c -o $@ + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo $(BUILD_DIR)/src/$(PROJECT)/%.o: src/$(PROJECT)/%.cpp $(HXX_SRCS) - $(CXX) $< $(CXXFLAGS) -c -o $@ + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} + @ cat $@.${WARNS_EXT} @ echo proto: $(PROTO_GEN_CC) $(PROTO_GEN_HEADER) From 933dc6e7d9fc190ad64bf61d53217c2af9465b1d Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 8 Jul 2014 17:52:49 -0700 Subject: [PATCH 227/408] Output a lint report for every source file linted; use to lint incrementally --- Makefile | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index 4d67aa32802..74e4a944bc3 100644 --- a/Makefile +++ b/Makefile @@ -62,6 +62,9 @@ NONGEN_CXX_SRCS := $(shell find \ examples \ tools \ -name "*.cpp" -or -name "*.hpp" -or -name "*.cu" -or -name "*.cuh") +LINT_OUTPUT_DIR := $(BUILD_DIR)/lint +LINT_EXT := lint.txt +LINT_OUTPUTS := $(addsuffix .$(LINT_EXT), $(addprefix $(LINT_OUTPUT_DIR)/, ${NONGEN_CXX_SRCS})) LINT_REPORT := $(BUILD_DIR)/cpp_lint.log FAILED_LINT_REPORT := $(BUILD_DIR)/cpp_lint.error_log # PY$(PROJECT)_SRC is the python wrapper for $(PROJECT) @@ -173,6 +176,7 @@ ALL_BUILD_DIRS := $(sort \ $(LAYER_BUILD_DIR) $(UTIL_BUILD_DIR) $(TOOL_BUILD_DIR) \ $(TEST_BUILD_DIR) $(TEST_BIN_DIR) $(GTEST_BUILD_DIR) \ $(EXAMPLE_BUILD_DIRS) \ + $(LINT_OUTPUT_DIR) \ $(PROTO_BUILD_DIR) $(PROTO_BUILD_INCLUDE_DIR) $(PY_PROTO_BUILD_DIR) \ $(DISTRIBUTE_SUBDIRS)) @@ -287,13 +291,22 @@ linecount: lint: $(LINT_REPORT) -$(LINT_REPORT): $(NONGEN_CXX_SRCS) | $(BUILD_DIR) - @ (python ./scripts/cpp_lint.py $(NONGEN_CXX_SRCS) > $(LINT_REPORT) 2>&1 \ - && ($(RM) $(FAILED_LINT_REPORT); echo "No lint errors!")) || ( \ - mv $(LINT_REPORT) $(FAILED_LINT_REPORT); \ - grep -v "^Done processing " $(FAILED_LINT_REPORT); \ - echo "Found 1 or more lint errors; see log at $(FAILED_LINT_REPORT)"; \ - exit 1) +$(LINT_REPORT): $(LINT_OUTPUTS) + @ cat $(LINT_OUTPUTS) > $@ + @ if [ -s "$@" ]; then \ + cat $@; mv $@ $(FAILED_LINT_REPORT); \ + else \ + echo "No lint errors!"; \ + fi + +$(LINT_OUTPUTS): $(LINT_OUTPUT_DIR)/%.lint.txt : % | $(LINT_OUTPUT_DIR) + @ mkdir -p $(dir $@) + @ python ./scripts/cpp_lint.py $< 2>&1 \ + | grep -v "^Done processing " \ + | grep -v "^Total errors found: 0" \ + > $@ \ + || true + @ if [ -s "$@" ]; then touch $<; cat $@; fi test: $(TEST_ALL_BIN) $(TEST_BINS) From d86735ed3bc1d84bb5e0e01958f8a3bab277b503 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Wed, 9 Jul 2014 11:37:14 -0700 Subject: [PATCH 228/408] Makefile: cleanup lint/warn report logic (and make the two more consistent) --- Makefile | 99 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/Makefile b/Makefile index 74e4a944bc3..a55e44b0836 100644 --- a/Makefile +++ b/Makefile @@ -62,11 +62,11 @@ NONGEN_CXX_SRCS := $(shell find \ examples \ tools \ -name "*.cpp" -or -name "*.hpp" -or -name "*.cu" -or -name "*.cuh") -LINT_OUTPUT_DIR := $(BUILD_DIR)/lint +LINT_OUTPUT_DIR := $(BUILD_DIR)/.lint LINT_EXT := lint.txt -LINT_OUTPUTS := $(addsuffix .$(LINT_EXT), $(addprefix $(LINT_OUTPUT_DIR)/, ${NONGEN_CXX_SRCS})) -LINT_REPORT := $(BUILD_DIR)/cpp_lint.log -FAILED_LINT_REPORT := $(BUILD_DIR)/cpp_lint.error_log +LINT_OUTPUTS := $(addsuffix .$(LINT_EXT), $(addprefix $(LINT_OUTPUT_DIR)/, $(NONGEN_CXX_SRCS))) +EMPTY_LINT_REPORT := $(BUILD_DIR)/.$(LINT_EXT) +NONEMPTY_LINT_REPORT := $(BUILD_DIR)/$(LINT_EXT) # PY$(PROJECT)_SRC is the python wrapper for $(PROJECT) PY$(PROJECT)_SRC := python/$(PROJECT)/_$(PROJECT).cpp PY$(PROJECT)_SO := python/$(PROJECT)/_$(PROJECT).so @@ -130,17 +130,18 @@ TEST_ALL_BIN := $(TEST_BIN_DIR)/test_all.testbin # Derive compiler warning dump locations ############################## WARNS_EXT := warnings.txt -CXX_WARNS := $(addprefix $(BUILD_DIR)/, ${CXX_SRCS:.cpp=.o.${WARNS_EXT}}) -CU_WARNS := $(addprefix $(BUILD_DIR)/, ${CU_SRCS:.cu=.cuo.${WARNS_EXT}}) -TOOL_WARNS := $(addprefix $(BUILD_DIR)/, ${TOOL_SRCS:.cpp=.o.${WARNS_EXT}}) -EXAMPLE_WARNS := $(addprefix $(BUILD_DIR)/, ${EXAMPLE_SRCS:.cpp=.o.${WARNS_EXT}}) -TEST_WARNS := $(addprefix $(BUILD_DIR)/, ${TEST_SRCS:.cpp=.o.${WARNS_EXT}}) -TEST_CU_WARNS := $(addprefix $(BUILD_DIR)/, ${TEST_CU_SRCS:.cu=.cuo.${WARNS_EXT}}) +CXX_WARNS := $(addprefix $(BUILD_DIR)/, ${CXX_SRCS:.cpp=.o.$(WARNS_EXT)}) +CU_WARNS := $(addprefix $(BUILD_DIR)/, ${CU_SRCS:.cu=.cuo.$(WARNS_EXT)}) +TOOL_WARNS := $(addprefix $(BUILD_DIR)/, ${TOOL_SRCS:.cpp=.o.$(WARNS_EXT)}) +EXAMPLE_WARNS := $(addprefix $(BUILD_DIR)/, ${EXAMPLE_SRCS:.cpp=.o.$(WARNS_EXT)}) +TEST_WARNS := $(addprefix $(BUILD_DIR)/, ${TEST_SRCS:.cpp=.o.$(WARNS_EXT)}) +TEST_CU_WARNS := $(addprefix $(BUILD_DIR)/, ${TEST_CU_SRCS:.cu=.cuo.$(WARNS_EXT)}) ALL_CXX_WARNS := $(CXX_WARNS) $(TOOL_WARNS) $(EXAMPLE_WARNS) $(TEST_WARNS) ALL_CU_WARNS := $(CU_WARNS) $(TEST_CU_WARNS) ALL_WARNS := $(ALL_CXX_WARNS) $(ALL_CU_WARNS) -ALL_WARNS_FILENAME := $(BUILD_DIR)/$(WARNS_EXT) +EMPTY_WARN_REPORT := $(BUILD_DIR)/.$(WARNS_EXT) +NONEMPTY_WARN_REPORT := $(BUILD_DIR)/$(WARNS_EXT) ############################## # Derive include and lib directories @@ -289,13 +290,15 @@ all: $(NAME) $(STATIC_NAME) tools examples linecount: cloc --read-lang-def=$(PROJECT).cloc src/$(PROJECT)/ -lint: $(LINT_REPORT) +lint: $(EMPTY_LINT_REPORT) -$(LINT_REPORT): $(LINT_OUTPUTS) +$(EMPTY_LINT_REPORT): $(LINT_OUTPUTS) | $(BUILD_DIR) @ cat $(LINT_OUTPUTS) > $@ @ if [ -s "$@" ]; then \ - cat $@; mv $@ $(FAILED_LINT_REPORT); \ + cat $@; \ + mv $@ $(NONEMPTY_LINT_REPORT); \ else \ + $(RM) $(NONEMPTY_LINT_REPORT); \ echo "No lint errors!"; \ fi @@ -306,7 +309,6 @@ $(LINT_OUTPUTS): $(LINT_OUTPUT_DIR)/%.lint.txt : % | $(LINT_OUTPUT_DIR) | grep -v "^Total errors found: 0" \ > $@ \ || true - @ if [ -s "$@" ]; then touch $<; cat $@; fi test: $(TEST_ALL_BIN) $(TEST_BINS) @@ -341,22 +343,21 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) runtest: $(TEST_ALL_BIN) $(TEST_ALL_BIN) $(TEST_GPUID) --gtest_shuffle -warn: $(ALL_WARNS_FILENAME) +warn: $(EMPTY_WARN_REPORT) -$(ALL_WARNS_FILENAME): $(ALL_WARNS) | $(BUILD_DIR) - @ touch $(ALL_WARNS) +$(EMPTY_WARN_REPORT): $(ALL_WARNS) | $(BUILD_DIR) @ cat $(ALL_WARNS) > $@ - @ # If the concatenated warning file is non-empty, touch all dependencies - @ # so that "make warn" always prints the error list and only says - @ # "nothing to be done" when there are no warnings. - @ if [ -s "$@" ]; then touch $(ALL_WARNS); else echo "No compiler warnings!"; fi - @ cat $@ + @ if [ -s "$@" ]; then \ + cat $@; \ + mv $@ $(NONEMPTY_WARN_REPORT); \ + else \ + $(RM) $(NONEMPTY_WARN_REPORT); \ + echo "No compiler warnings!"; \ + fi -$(ALL_CXX_WARNS): %.o.${WARNS_EXT} : %.o - @ cat $@ +$(ALL_CXX_WARNS): %.o.$(WARNS_EXT) : %.o -$(ALL_CU_WARNS): %.cuo.${WARNS_EXT} : %.cuo - @ cat $@ +$(ALL_CU_WARNS): %.cuo.$(WARNS_EXT) : %.cuo $(BUILD_DIR_LINK): $(BUILD_DIR)/.linked @@ -383,14 +384,14 @@ $(STATIC_NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) $(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HDRS) \ | $(TEST_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(TEST_BUILD_DIR)/%.cuo: src/$(PROJECT)/test/%.cu $(HXX_SRCS) $(TEST_HDRS) \ | $(TEST_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(TEST_ALL_BIN): $(TEST_MAIN_SRC) $(TEST_OBJS) $(GTEST_OBJ) $(STATIC_NAME) \ @@ -421,51 +422,51 @@ $(EXAMPLE_BINS): %.bin : %.o $(STATIC_NAME) $(LAYER_BUILD_DIR)/%.o: src/$(PROJECT)/layers/%.cpp $(HXX_SRCS) \ | $(LAYER_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(PROTO_BUILD_DIR)/%.pb.o: $(PROTO_BUILD_DIR)/%.pb.cc $(PROTO_GEN_HEADER) \ | $(PROTO_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(UTIL_BUILD_DIR)/%.o: src/$(PROJECT)/util/%.cpp $(HXX_SRCS) | $(UTIL_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(GTEST_OBJ): $(GTEST_SRC) | $(GTEST_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(LAYER_BUILD_DIR)/%.cuo: src/$(PROJECT)/layers/%.cu $(HXX_SRCS) \ | $(LAYER_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(UTIL_BUILD_DIR)/%.cuo: src/$(PROJECT)/util/%.cu | $(UTIL_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(TOOL_BUILD_DIR)/%.o: tools/%.cpp $(PROTO_GEN_HEADER) | $(TOOL_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(EXAMPLE_BUILD_DIR)/%.o: examples/%.cpp $(PROTO_GEN_HEADER) \ | $(EXAMPLE_BUILD_DIRS) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo $(BUILD_DIR)/src/$(PROJECT)/%.o: src/$(PROJECT)/%.cpp $(HXX_SRCS) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.${WARNS_EXT} - @ cat $@.${WARNS_EXT} + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + @ cat $@.$(WARNS_EXT) @ echo proto: $(PROTO_GEN_CC) $(PROTO_GEN_HEADER) From 37329cbc2c283a4701c18170a1f19c69d92e5168 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Wed, 9 Jul 2014 15:47:21 -0700 Subject: [PATCH 229/408] fix bug introduced by warning logs: errors didn't print because they are logged to the warnings file --- Makefile | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index a55e44b0836..839532eff56 100644 --- a/Makefile +++ b/Makefile @@ -384,13 +384,15 @@ $(STATIC_NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) $(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HDRS) \ | $(TEST_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(TEST_BUILD_DIR)/%.cuo: src/$(PROJECT)/test/%.cu $(HXX_SRCS) $(TEST_HDRS) \ | $(TEST_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo @@ -422,50 +424,59 @@ $(EXAMPLE_BINS): %.bin : %.o $(STATIC_NAME) $(LAYER_BUILD_DIR)/%.o: src/$(PROJECT)/layers/%.cpp $(HXX_SRCS) \ | $(LAYER_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(PROTO_BUILD_DIR)/%.pb.o: $(PROTO_BUILD_DIR)/%.pb.cc $(PROTO_GEN_HEADER) \ | $(PROTO_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(UTIL_BUILD_DIR)/%.o: src/$(PROJECT)/util/%.cpp $(HXX_SRCS) | $(UTIL_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(GTEST_OBJ): $(GTEST_SRC) | $(GTEST_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(LAYER_BUILD_DIR)/%.cuo: src/$(PROJECT)/layers/%.cu $(HXX_SRCS) \ | $(LAYER_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(UTIL_BUILD_DIR)/%.cuo: src/$(PROJECT)/util/%.cu | $(UTIL_BUILD_DIR) - $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) + $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(TOOL_BUILD_DIR)/%.o: tools/%.cpp $(PROTO_GEN_HEADER) | $(TOOL_BUILD_DIR) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(EXAMPLE_BUILD_DIR)/%.o: examples/%.cpp $(PROTO_GEN_HEADER) \ | $(EXAMPLE_BUILD_DIRS) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo $(BUILD_DIR)/src/$(PROJECT)/%.o: src/$(PROJECT)/%.cpp $(HXX_SRCS) - $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) + $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ + || cat $@.$(WARNS_EXT); exit 1 @ cat $@.$(WARNS_EXT) @ echo From 1679815f678f5bf78951d415a04a12b4f64173f3 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Wed, 9 Jul 2014 16:39:17 -0700 Subject: [PATCH 230/408] makefile hotfix --- Makefile | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 839532eff56..829602b7946 100644 --- a/Makefile +++ b/Makefile @@ -385,14 +385,14 @@ $(STATIC_NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) $(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HDRS) \ | $(TEST_BUILD_DIR) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(TEST_BUILD_DIR)/%.cuo: src/$(PROJECT)/test/%.cu $(HXX_SRCS) $(TEST_HDRS) \ | $(TEST_BUILD_DIR) $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo @@ -425,58 +425,58 @@ $(EXAMPLE_BINS): %.bin : %.o $(STATIC_NAME) $(LAYER_BUILD_DIR)/%.o: src/$(PROJECT)/layers/%.cpp $(HXX_SRCS) \ | $(LAYER_BUILD_DIR) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(PROTO_BUILD_DIR)/%.pb.o: $(PROTO_BUILD_DIR)/%.pb.cc $(PROTO_GEN_HEADER) \ | $(PROTO_BUILD_DIR) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(UTIL_BUILD_DIR)/%.o: src/$(PROJECT)/util/%.cpp $(HXX_SRCS) | $(UTIL_BUILD_DIR) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(GTEST_OBJ): $(GTEST_SRC) | $(GTEST_BUILD_DIR) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(LAYER_BUILD_DIR)/%.cuo: src/$(PROJECT)/layers/%.cu $(HXX_SRCS) \ | $(LAYER_BUILD_DIR) $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(UTIL_BUILD_DIR)/%.cuo: src/$(PROJECT)/util/%.cu | $(UTIL_BUILD_DIR) $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(TOOL_BUILD_DIR)/%.o: tools/%.cpp $(PROTO_GEN_HEADER) | $(TOOL_BUILD_DIR) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(EXAMPLE_BUILD_DIR)/%.o: examples/%.cpp $(PROTO_GEN_HEADER) \ | $(EXAMPLE_BUILD_DIRS) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo $(BUILD_DIR)/src/$(PROJECT)/%.o: src/$(PROJECT)/%.cpp $(HXX_SRCS) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ - || cat $@.$(WARNS_EXT); exit 1 + || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo From 3bd49bac72bbaeea225a1e5e5a730482b366241a Mon Sep 17 00:00:00 2001 From: Kai Li Date: Mon, 7 Jul 2014 15:26:24 +0800 Subject: [PATCH 231/408] Avoid using cudaMemcpy for memcpy when there is no GPU and CUDA driver --- src/caffe/test/test_math_functions.cpp | 2 ++ src/caffe/util/math_functions.cpp | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_math_functions.cpp b/src/caffe/test/test_math_functions.cpp index 941d8b9479a..ddb9f060972 100644 --- a/src/caffe/test/test_math_functions.cpp +++ b/src/caffe/test/test_math_functions.cpp @@ -209,6 +209,7 @@ TYPED_TEST(MathFunctionsTest, TestCopyCPU) { const int n = this->blob_bottom_->count(); const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); TypeParam* top_data = this->blob_top_->mutable_cpu_data(); + Caffe::set_mode(Caffe::CPU); caffe_copy(n, bottom_data, top_data); for (int i = 0; i < n; ++i) { EXPECT_EQ(bottom_data[i], top_data[i]); @@ -219,6 +220,7 @@ TYPED_TEST(MathFunctionsTest, TestCopyGPU) { const int n = this->blob_bottom_->count(); const TypeParam* bottom_data = this->blob_bottom_->gpu_data(); TypeParam* top_data = this->blob_top_->mutable_gpu_data(); + Caffe::set_mode(Caffe::GPU); caffe_copy(n, bottom_data, top_data); bottom_data = this->blob_bottom_->cpu_data(); top_data = this->blob_top_->mutable_cpu_data(); diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index 918bb3c361c..df32093238f 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -152,7 +152,11 @@ void caffe_add_scalar(const int N, const double alpha, double* Y) { template void caffe_copy(const int N, const Dtype* X, Dtype* Y) { if (X != Y) { - CUDA_CHECK(cudaMemcpy(Y, X, sizeof(Dtype) * N, cudaMemcpyDefault)); + if (Caffe::mode() == Caffe::CPU) { + memcpy(Y, X, sizeof(Dtype) * N); + } else { + CUDA_CHECK(cudaMemcpy(Y, X, sizeof(Dtype) * N, cudaMemcpyDefault)); + } } } @@ -164,7 +168,11 @@ template void caffe_copy(const int N, const double* X, double* Y); void caffe_memcpy(const size_t N, const void* X, void* Y) { if (X != Y) { - CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); + if (Caffe::mode() == Caffe::CPU) { + memcpy(Y, X, N); + } else { + CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); + } } } From 4d16ed5969d8963babd63ae650289dfb8fd633f4 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Wed, 9 Jul 2014 09:47:28 +0800 Subject: [PATCH 232/408] Check the GPU mode to decide which memcpy to use --- src/caffe/util/math_functions.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index df32093238f..9311a398721 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -152,10 +152,10 @@ void caffe_add_scalar(const int N, const double alpha, double* Y) { template void caffe_copy(const int N, const Dtype* X, Dtype* Y) { if (X != Y) { - if (Caffe::mode() == Caffe::CPU) { - memcpy(Y, X, sizeof(Dtype) * N); - } else { + if (Caffe::mode() == Caffe::GPU) { CUDA_CHECK(cudaMemcpy(Y, X, sizeof(Dtype) * N, cudaMemcpyDefault)); + } else { + memcpy(Y, X, sizeof(Dtype) * N); } } } @@ -168,10 +168,10 @@ template void caffe_copy(const int N, const double* X, double* Y); void caffe_memcpy(const size_t N, const void* X, void* Y) { if (X != Y) { - if (Caffe::mode() == Caffe::CPU) { - memcpy(Y, X, N); - } else { + if (Caffe::mode() == Caffe::GPU) { CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); + } else { + memcpy(Y, X, N); } } } From 00433d8082796bdaa2cafa067c158a5f31245985 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Wed, 9 Jul 2014 10:12:07 +0800 Subject: [PATCH 233/408] Switch to GPU mode when pointer is move to or from GPU in SyncedMemory --- src/caffe/syncedmem.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/caffe/syncedmem.cpp b/src/caffe/syncedmem.cpp index 9fe55280de9..5d6d0585222 100644 --- a/src/caffe/syncedmem.cpp +++ b/src/caffe/syncedmem.cpp @@ -33,6 +33,7 @@ inline void SyncedMemory::to_cpu() { CaffeMallocHost(&cpu_ptr_, size_); own_cpu_data_ = true; } + Caffe::set_mode(Caffe::GPU); caffe_memcpy(size_, gpu_ptr_, cpu_ptr_); head_ = SYNCED; break; @@ -53,6 +54,7 @@ inline void SyncedMemory::to_gpu() { if (gpu_ptr_ == NULL) { CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_)); } + Caffe::set_mode(Caffe::GPU); caffe_memcpy(size_, cpu_ptr_, gpu_ptr_); head_ = SYNCED; break; From ac0dd39252812aba1f67b9b0b0e18e62ea1742e6 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Thu, 10 Jul 2014 01:57:16 +0800 Subject: [PATCH 234/408] Implement @Yangqing's solution to copy memory in the SyncedMemory --- src/caffe/syncedmem.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/caffe/syncedmem.cpp b/src/caffe/syncedmem.cpp index 5d6d0585222..3f9a3be9ebf 100644 --- a/src/caffe/syncedmem.cpp +++ b/src/caffe/syncedmem.cpp @@ -33,8 +33,7 @@ inline void SyncedMemory::to_cpu() { CaffeMallocHost(&cpu_ptr_, size_); own_cpu_data_ = true; } - Caffe::set_mode(Caffe::GPU); - caffe_memcpy(size_, gpu_ptr_, cpu_ptr_); + CUDA_CHECK(cudaMemcpy(cpu_ptr_, gpu_ptr_, size_, cudaMemcpyDefault)); head_ = SYNCED; break; case HEAD_AT_CPU: @@ -54,8 +53,7 @@ inline void SyncedMemory::to_gpu() { if (gpu_ptr_ == NULL) { CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_)); } - Caffe::set_mode(Caffe::GPU); - caffe_memcpy(size_, cpu_ptr_, gpu_ptr_); + CUDA_CHECK(cudaMemcpy(gpu_ptr_, cpu_ptr_, size_, cudaMemcpyDefault)); head_ = SYNCED; break; case HEAD_AT_GPU: From 904c2ce69b728c988004cef6796fbdf07ecb4c1e Mon Sep 17 00:00:00 2001 From: Kai Li Date: Thu, 10 Jul 2014 07:50:31 +0800 Subject: [PATCH 235/408] Replace cudaMemcpy with caffe_gpu_memcpy in SyncedMemory per @longjon --- include/caffe/util/math_functions.hpp | 2 +- src/caffe/syncedmem.cpp | 4 ++-- src/caffe/test/test_syncedmem.cpp | 4 ++-- src/caffe/util/math_functions.cpp | 8 ++------ 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/include/caffe/util/math_functions.hpp b/include/caffe/util/math_functions.hpp index 97a057103db..2df0fc983f9 100644 --- a/include/caffe/util/math_functions.hpp +++ b/include/caffe/util/math_functions.hpp @@ -59,7 +59,7 @@ void caffe_gpu_axpby(const int N, const Dtype alpha, const Dtype* X, template void caffe_copy(const int N, const Dtype *X, Dtype *Y); -void caffe_memcpy(const size_t N, const void *X, void *Y); +void caffe_gpu_memcpy(const size_t N, const void *X, void *Y); template void caffe_set(const int N, const Dtype alpha, Dtype *X); diff --git a/src/caffe/syncedmem.cpp b/src/caffe/syncedmem.cpp index 3f9a3be9ebf..77dfe7a4636 100644 --- a/src/caffe/syncedmem.cpp +++ b/src/caffe/syncedmem.cpp @@ -33,7 +33,7 @@ inline void SyncedMemory::to_cpu() { CaffeMallocHost(&cpu_ptr_, size_); own_cpu_data_ = true; } - CUDA_CHECK(cudaMemcpy(cpu_ptr_, gpu_ptr_, size_, cudaMemcpyDefault)); + caffe_gpu_memcpy(size_, gpu_ptr_, cpu_ptr_); head_ = SYNCED; break; case HEAD_AT_CPU: @@ -53,7 +53,7 @@ inline void SyncedMemory::to_gpu() { if (gpu_ptr_ == NULL) { CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_)); } - CUDA_CHECK(cudaMemcpy(gpu_ptr_, cpu_ptr_, size_, cudaMemcpyDefault)); + caffe_gpu_memcpy(size_, cpu_ptr_, gpu_ptr_); head_ = SYNCED; break; case HEAD_AT_GPU: diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index 3aaeafc353e..3a757088e89 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -58,7 +58,7 @@ TEST_F(SyncedMemoryTest, TestGPURead) { EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same char* recovered_value = new char[10]; - caffe_memcpy(10, gpu_data, recovered_value); + caffe_gpu_memcpy(10, gpu_data, recovered_value); for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(recovered_value))[i], 1); } @@ -72,7 +72,7 @@ TEST_F(SyncedMemoryTest, TestGPURead) { gpu_data = mem.gpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same - caffe_memcpy(10, gpu_data, recovered_value); + caffe_gpu_memcpy(10, gpu_data, recovered_value); for (int i = 0; i < mem.size(); ++i) { EXPECT_EQ((reinterpret_cast(recovered_value))[i], 2); } diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index 9311a398721..b989ca2ab69 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -166,13 +166,9 @@ template void caffe_copy(const int N, const unsigned int* X, template void caffe_copy(const int N, const float* X, float* Y); template void caffe_copy(const int N, const double* X, double* Y); -void caffe_memcpy(const size_t N, const void* X, void* Y) { +void caffe_gpu_memcpy(const size_t N, const void* X, void* Y) { if (X != Y) { - if (Caffe::mode() == Caffe::GPU) { - CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); - } else { - memcpy(Y, X, N); - } + CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); } } From e07a2c0eea903e8d7c7050e14d177bbd0f8f611a Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 11 Jul 2014 06:09:41 +0200 Subject: [PATCH 236/408] fix link for caffe_rcnn_imagenet_model --- examples/imagenet/get_caffe_rcnn_imagenet_model.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/imagenet/get_caffe_rcnn_imagenet_model.sh b/examples/imagenet/get_caffe_rcnn_imagenet_model.sh index 7cd47fa33a6..c7f36edcbf0 100755 --- a/examples/imagenet/get_caffe_rcnn_imagenet_model.sh +++ b/examples/imagenet/get_caffe_rcnn_imagenet_model.sh @@ -23,5 +23,5 @@ fi echo "Downloading..." -wget --no-check-certificate https://www.dropbox.com/s/0i3etlgmsmgf5ei/$MODEL +wget http://dl.caffe.berkeleyvision.org/$MODEL echo "Done. Please run this command again to verify that checksum = $CHECKSUM." From e5ce15d29d183f8a2cdc48ab12e90d254cf4fad1 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 12 Jul 2014 06:58:35 -0700 Subject: [PATCH 237/408] Move test headers to include/. Add a test param to test both CPU and GPU (with both float and double Dtypes). --- Makefile | 9 +- include/caffe/test/test_caffe_main.hpp | 62 ++++ .../caffe/test/test_gradient_check_util.hpp | 0 src/caffe/test/test_accuracy_layer.cpp | 4 +- src/caffe/test/test_argmax_layer.cpp | 4 +- src/caffe/test/test_benchmark.cpp | 106 +------ src/caffe/test/test_blob.cpp | 5 +- src/caffe/test/test_caffe_main.cpp | 2 +- src/caffe/test/test_caffe_main.hpp | 20 -- src/caffe/test/test_common.cpp | 6 +- src/caffe/test/test_concat_layer.cpp | 39 +-- src/caffe/test/test_convolution_layer.cpp | 185 ++---------- src/caffe/test/test_data_layer.cpp | 125 +------- src/caffe/test/test_dummy_data_layer.cpp | 3 +- src/caffe/test/test_eltwise_layer.cpp | 172 +++-------- src/caffe/test/test_euclidean_loss_layer.cpp | 26 +- src/caffe/test/test_filler.cpp | 10 +- src/caffe/test/test_flatten_layer.cpp | 48 +-- src/caffe/test/test_hdf5_output_layer.cpp | 78 +---- src/caffe/test/test_hdf5data_layer.cpp | 88 +++--- src/caffe/test/test_hinge_loss_layer.cpp | 49 +-- src/caffe/test/test_im2col_kernel.cu | 3 +- src/caffe/test/test_im2col_layer.cpp | 55 +--- src/caffe/test/test_image_data_layer.cpp | 24 +- src/caffe/test/test_inner_product_layer.cpp | 78 ++--- src/caffe/test/test_lrn_layer.cpp | 123 ++------ src/caffe/test/test_math_functions.cpp | 3 +- .../test/test_maxpool_dropout_layers.cpp | 108 ++----- src/caffe/test/test_memory_data_layer.cpp | 3 +- .../test_multinomial_logistic_loss_layer.cpp | 3 +- src/caffe/test/test_net.cpp | 170 +++-------- src/caffe/test/test_neuron_layer.cpp | 251 ++++------------ src/caffe/test/test_pooling_layer.cpp | 281 +++--------------- src/caffe/test/test_power_layer.cpp | 189 ++++-------- .../test/test_random_number_generator.cpp | 5 +- .../test_sigmoid_cross_entropy_loss_layer.cpp | 36 +-- src/caffe/test/test_softmax_layer.cpp | 9 +- .../test/test_softmax_with_loss_layer.cpp | 27 +- src/caffe/test/test_split_layer.cpp | 89 ++---- src/caffe/test/test_stochastic_pooling.cpp | 3 +- src/caffe/test/test_syncedmem.cpp | 28 +- src/caffe/test/test_tanh_layer.cpp | 54 +--- src/caffe/test/test_threshold_layer.cpp | 83 ++---- src/caffe/test/test_util_blas.cpp | 10 +- 44 files changed, 684 insertions(+), 1992 deletions(-) create mode 100644 include/caffe/test/test_caffe_main.hpp rename {src => include}/caffe/test/test_gradient_check_util.hpp (100%) delete mode 100644 src/caffe/test/test_caffe_main.hpp diff --git a/Makefile b/Makefile index 829602b7946..c17d4980b79 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ STATIC_NAME := $(LIB_BUILD_DIR)/lib$(PROJECT).a # CXX_SRCS are the source files excluding the test ones. CXX_SRCS := $(shell find src/$(PROJECT) ! -name "test_*.cpp" -name "*.cpp") # HXX_SRCS are the header files -HXX_SRCS := $(shell find include/$(PROJECT) -name "*.hpp") +HXX_SRCS := $(shell find include/$(PROJECT) ! -name "test_*.hpp" -name "*.hpp") # CU_SRCS are the cuda source files CU_SRCS := $(shell find src/$(PROJECT) ! -name "test_*.cu" -name "*.cu") # TEST_SRCS are the test source files @@ -38,7 +38,7 @@ TEST_SRCS := $(filter-out $(TEST_MAIN_SRC), $(TEST_SRCS)) TEST_CU_SRCS := $(shell find src/$(PROJECT) -name "test_*.cu") GTEST_SRC := src/gtest/gtest-all.cpp # TEST_HDRS are the test header files -TEST_HDRS := $(shell find src/$(PROJECT) -name "test_*.hpp") +TEST_HDRS := $(shell find include/$(PROJECT) -name "test_*.hpp") # TOOL_SRCS are the source files for the tool binaries TOOL_SRCS := $(shell find tools -name "*.cpp") # EXAMPLE_SRCS are the source files for the example binaries @@ -282,7 +282,7 @@ SUPERCLEAN_EXTS := .so .a .o .bin .testbin .pb.cc .pb.h _pb2.py .cuo # Define build targets ############################## .PHONY: all test clean linecount lint tools examples $(DIST_ALIASES) \ - py mat py$(PROJECT) mat$(PROJECT) proto runtest \ + py mat py$(PROJECT) mat$(PROJECT) proto runtest runtestnogpu \ superclean supercleanlist supercleanfiles warn all: $(NAME) $(STATIC_NAME) tools examples @@ -343,6 +343,9 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) runtest: $(TEST_ALL_BIN) $(TEST_ALL_BIN) $(TEST_GPUID) --gtest_shuffle +runtestnogpu: $(TEST_ALL_BIN) + $(TEST_ALL_BIN) --gtest_shuffle --gtest_filter="-*GPU*:*/2.*:*/3.*" + warn: $(EMPTY_WARN_REPORT) $(EMPTY_WARN_REPORT): $(ALL_WARNS) | $(BUILD_DIR) diff --git a/include/caffe/test/test_caffe_main.hpp b/include/caffe/test/test_caffe_main.hpp new file mode 100644 index 00000000000..e1a76455bed --- /dev/null +++ b/include/caffe/test/test_caffe_main.hpp @@ -0,0 +1,62 @@ +// Copyright 2014 BVLC and contributors. + +// The main caffe test code. Your test cpp code should include this hpp +// to allow a main function to be compiled into the binary. +#ifndef CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ +#define CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ + +#include +#include +#include + +#include +#include + +#include "caffe/common.hpp" + +using std::cout; +using std::endl; + +int main(int argc, char** argv); + +namespace caffe { + +template +class MultiDeviceTest : public ::testing::Test { + public: + typedef typename TypeParam::Dtype Dtype; + protected: + MultiDeviceTest() { + Caffe::set_mode(TypeParam::device); + } + virtual ~MultiDeviceTest() {} +}; + +typedef ::testing::Types TestDtypes; + +struct FloatCPU { + typedef float Dtype; + static const Caffe::Brew device = Caffe::CPU; +}; + +struct DoubleCPU { + typedef double Dtype; + static const Caffe::Brew device = Caffe::CPU; +}; + +struct FloatGPU { + typedef float Dtype; + static const Caffe::Brew device = Caffe::GPU; +}; + +struct DoubleGPU { + typedef double Dtype; + static const Caffe::Brew device = Caffe::GPU; +}; + +typedef ::testing::Types + TestDtypesAndDevices; + +} // namespace caffe + +#endif // CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ diff --git a/src/caffe/test/test_gradient_check_util.hpp b/include/caffe/test/test_gradient_check_util.hpp similarity index 100% rename from src/caffe/test/test_gradient_check_util.hpp rename to include/caffe/test/test_gradient_check_util.hpp diff --git a/src/caffe/test/test_accuracy_layer.cpp b/src/caffe/test/test_accuracy_layer.cpp index deb72af34ec..355a36b3c95 100644 --- a/src/caffe/test/test_accuracy_layer.cpp +++ b/src/caffe/test/test_accuracy_layer.cpp @@ -71,14 +71,12 @@ class AccuracyLayerTest : public ::testing::Test { int top_k_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(AccuracyLayerTest, Dtypes); +TYPED_TEST_CASE(AccuracyLayerTest, TestDtypes); TYPED_TEST(AccuracyLayerTest, TestForwardCPU) { LayerParameter layer_param; AccuracyParameter* accuracy_param = layer_param.mutable_accuracy_param(); accuracy_param->set_top_k(this->top_k_); - Caffe::set_mode(Caffe::CPU); AccuracyLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index c4150e5abe0..44a13b99b1a 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -37,9 +37,7 @@ class ArgMaxLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(ArgMaxLayerTest, Dtypes); - +TYPED_TEST_CASE(ArgMaxLayerTest, TestDtypes); TYPED_TEST(ArgMaxLayerTest, TestSetup) { LayerParameter layer_param; diff --git a/src/caffe/test/test_benchmark.cpp b/src/caffe/test/test_benchmark.cpp index 40eee9c80f9..82880088073 100644 --- a/src/caffe/test/test_benchmark.cpp +++ b/src/caffe/test/test_benchmark.cpp @@ -12,26 +12,19 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -class BenchmarkTest : public ::testing::Test {}; +template +class BenchmarkTest : public MultiDeviceTest {}; -TEST_F(BenchmarkTest, TestTimerConstructorCPU) { - Caffe::set_mode(Caffe::CPU); - Timer timer; - EXPECT_TRUE(timer.initted()); - EXPECT_FALSE(timer.running()); - EXPECT_FALSE(timer.has_run_at_least_once()); -} +TYPED_TEST_CASE(BenchmarkTest, TestDtypesAndDevices); -TEST_F(BenchmarkTest, TestTimerConstructorGPU) { - Caffe::set_mode(Caffe::GPU); +TYPED_TEST(BenchmarkTest, TestTimerConstructor) { Timer timer; EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_FALSE(timer.has_run_at_least_once()); } -TEST_F(BenchmarkTest, TestTimerStartCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(BenchmarkTest, TestTimerStart) { Timer timer; timer.Start(); EXPECT_TRUE(timer.initted()); @@ -48,26 +41,7 @@ TEST_F(BenchmarkTest, TestTimerStartCPU) { EXPECT_TRUE(timer.has_run_at_least_once()); } -TEST_F(BenchmarkTest, TestTimerStartGPU) { - Caffe::set_mode(Caffe::GPU); - Timer timer; - timer.Start(); - EXPECT_TRUE(timer.initted()); - EXPECT_TRUE(timer.running()); - EXPECT_TRUE(timer.has_run_at_least_once()); - timer.Stop(); - timer.Start(); - EXPECT_TRUE(timer.initted()); - EXPECT_TRUE(timer.running()); - EXPECT_TRUE(timer.has_run_at_least_once()); - timer.Start(); - EXPECT_TRUE(timer.initted()); - EXPECT_TRUE(timer.running()); - EXPECT_TRUE(timer.has_run_at_least_once()); -} - -TEST_F(BenchmarkTest, TestTimerStopCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(BenchmarkTest, TestTimerStop) { Timer timer; timer.Stop(); EXPECT_TRUE(timer.initted()); @@ -84,83 +58,31 @@ TEST_F(BenchmarkTest, TestTimerStopCPU) { EXPECT_TRUE(timer.has_run_at_least_once()); } -TEST_F(BenchmarkTest, TestTimerStopGPU) { - Caffe::set_mode(Caffe::GPU); - Timer timer; - timer.Stop(); - EXPECT_TRUE(timer.initted()); - EXPECT_FALSE(timer.running()); - EXPECT_FALSE(timer.has_run_at_least_once()); - timer.Start(); - timer.Stop(); - EXPECT_TRUE(timer.initted()); - EXPECT_FALSE(timer.running()); - EXPECT_TRUE(timer.has_run_at_least_once()); - timer.Stop(); - EXPECT_TRUE(timer.initted()); - EXPECT_FALSE(timer.running()); - EXPECT_TRUE(timer.has_run_at_least_once()); -} - -TEST_F(BenchmarkTest, TestTimerMilliSecondsCPU) { - Caffe::set_mode(Caffe::CPU); - Timer timer; - CHECK_EQ(timer.MilliSeconds(), 0); - EXPECT_TRUE(timer.initted()); - EXPECT_FALSE(timer.running()); - EXPECT_FALSE(timer.has_run_at_least_once()); - timer.Start(); - usleep(300 * 1000); - CHECK_GE(timer.MilliSeconds(), 298); - CHECK_LE(timer.MilliSeconds(), 302); - EXPECT_TRUE(timer.initted()); - EXPECT_FALSE(timer.running()); - EXPECT_TRUE(timer.has_run_at_least_once()); -} - -TEST_F(BenchmarkTest, TestTimerMilliSecondsGPU) { - Caffe::set_mode(Caffe::GPU); - Timer timer; - CHECK_EQ(timer.MilliSeconds(), 0); - EXPECT_TRUE(timer.initted()); - EXPECT_FALSE(timer.running()); - EXPECT_FALSE(timer.has_run_at_least_once()); - timer.Start(); - usleep(300 * 1000); - CHECK_GE(timer.MilliSeconds(), 298); - CHECK_LE(timer.MilliSeconds(), 302); - EXPECT_TRUE(timer.initted()); - EXPECT_FALSE(timer.running()); - EXPECT_TRUE(timer.has_run_at_least_once()); -} - -TEST_F(BenchmarkTest, TestTimerSecondsCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(BenchmarkTest, TestTimerMilliSeconds) { Timer timer; - CHECK_EQ(timer.Seconds(), 0); + EXPECT_EQ(timer.MilliSeconds(), 0); EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_FALSE(timer.has_run_at_least_once()); timer.Start(); usleep(300 * 1000); - CHECK_GE(timer.Seconds(), 0.298); - CHECK_LE(timer.Seconds(), 0.302); + EXPECT_GE(timer.MilliSeconds(), 298); + EXPECT_LE(timer.MilliSeconds(), 302); EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_TRUE(timer.has_run_at_least_once()); } -TEST_F(BenchmarkTest, TestTimerSecondsGPU) { - Caffe::set_mode(Caffe::GPU); +TYPED_TEST(BenchmarkTest, TestTimerSeconds) { Timer timer; - CHECK_EQ(timer.Seconds(), 0); + EXPECT_EQ(timer.Seconds(), 0); EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_FALSE(timer.has_run_at_least_once()); timer.Start(); usleep(300 * 1000); - CHECK_GE(timer.Seconds(), 0.298); - CHECK_LE(timer.Seconds(), 0.302); + EXPECT_GE(timer.Seconds(), 0.298); + EXPECT_LE(timer.Seconds(), 0.302); EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_TRUE(timer.has_run_at_least_once()); diff --git a/src/caffe/test/test_blob.cpp b/src/caffe/test/test_blob.cpp index 5d38e54ff75..a5240940fd8 100644 --- a/src/caffe/test/test_blob.cpp +++ b/src/caffe/test/test_blob.cpp @@ -23,8 +23,7 @@ class BlobSimpleTest : public ::testing::Test { Blob* const blob_preshaped_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(BlobSimpleTest, Dtypes); +TYPED_TEST_CASE(BlobSimpleTest, TestDtypes); TYPED_TEST(BlobSimpleTest, TestInitialization) { EXPECT_TRUE(this->blob_); @@ -41,7 +40,7 @@ TYPED_TEST(BlobSimpleTest, TestInitialization) { EXPECT_EQ(this->blob_->count(), 0); } -TYPED_TEST(BlobSimpleTest, TestPointers) { +TYPED_TEST(BlobSimpleTest, TestPointersCPUGPU) { EXPECT_TRUE(this->blob_preshaped_->gpu_data()); EXPECT_TRUE(this->blob_preshaped_->cpu_data()); EXPECT_TRUE(this->blob_preshaped_->mutable_gpu_data()); diff --git a/src/caffe/test/test_caffe_main.cpp b/src/caffe/test/test_caffe_main.cpp index ecc117e3b36..07e6b8d5ef2 100644 --- a/src/caffe/test/test_caffe_main.cpp +++ b/src/caffe/test/test_caffe_main.cpp @@ -3,7 +3,7 @@ // The main caffe test code. Your test cpp code should include this hpp // to allow a main function to be compiled into the binary. -#include "test_caffe_main.hpp" +#include "caffe/test/test_caffe_main.hpp" namespace caffe { cudaDeviceProp CAFFE_TEST_CUDA_PROP; diff --git a/src/caffe/test/test_caffe_main.hpp b/src/caffe/test/test_caffe_main.hpp deleted file mode 100644 index df64cbb41cc..00000000000 --- a/src/caffe/test/test_caffe_main.hpp +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2014 BVLC and contributors. - -// The main caffe test code. Your test cpp code should include this hpp -// to allow a main function to be compiled into the binary. -#ifndef CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ -#define CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ - -#include -#include -#include - -#include -#include - -using std::cout; -using std::endl; - -int main(int argc, char** argv); - -#endif // CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ diff --git a/src/caffe/test/test_common.cpp b/src/caffe/test/test_common.cpp index 13c2d9514f7..a452b612890 100644 --- a/src/caffe/test/test_common.cpp +++ b/src/caffe/test/test_common.cpp @@ -13,7 +13,7 @@ namespace caffe { class CommonTest : public ::testing::Test {}; -TEST_F(CommonTest, TestCublasHandler) { +TEST_F(CommonTest, TestCublasHandlerGPU) { int cuda_device_id; CUDA_CHECK(cudaGetDevice(&cuda_device_id)); EXPECT_TRUE(Caffe::cublas_handle()); @@ -53,10 +53,10 @@ TEST_F(CommonTest, TestRandSeedGPU) { SyncedMemory data_b(10 * sizeof(unsigned int)); Caffe::set_random_seed(1701); CURAND_CHECK(curandGenerate(Caffe::curand_generator(), - reinterpret_cast(data_a.mutable_gpu_data()), 10)); + static_cast(data_a.mutable_gpu_data()), 10)); Caffe::set_random_seed(1701); CURAND_CHECK(curandGenerate(Caffe::curand_generator(), - reinterpret_cast(data_b.mutable_gpu_data()), 10)); + static_cast(data_b.mutable_gpu_data()), 10)); for (int i = 0; i < 10; ++i) { EXPECT_EQ(((const unsigned int*)(data_a.cpu_data()))[i], ((const unsigned int*)(data_b.cpu_data()))[i]); diff --git a/src/caffe/test/test_concat_layer.cpp b/src/caffe/test/test_concat_layer.cpp index 72e3c902cf1..ff208a90d3a 100644 --- a/src/caffe/test/test_concat_layer.cpp +++ b/src/caffe/test/test_concat_layer.cpp @@ -17,8 +17,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class ConcatLayerTest : public ::testing::Test { +template +class ConcatLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: ConcatLayerTest() : blob_bottom_0(new Blob(2, 3, 6, 5)), @@ -55,13 +57,13 @@ class ConcatLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(ConcatLayerTest, Dtypes); +TYPED_TEST_CASE(ConcatLayerTest, TestDtypesAndDevices); TYPED_TEST(ConcatLayerTest, TestSetupNum) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; layer_param.mutable_concat_param()->set_concat_dim(0); - ConcatLayer layer(layer_param); + ConcatLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_1, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_0->num() + this->blob_bottom_2->num()); @@ -71,8 +73,9 @@ TYPED_TEST(ConcatLayerTest, TestSetupNum) { } TYPED_TEST(ConcatLayerTest, TestSetupChannels) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - ConcatLayer layer(layer_param); + ConcatLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_0, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_0->num()); EXPECT_EQ(this->blob_top_->channels(), @@ -82,10 +85,10 @@ TYPED_TEST(ConcatLayerTest, TestSetupChannels) { } -TYPED_TEST(ConcatLayerTest, TestCPUNum) { +TYPED_TEST(ConcatLayerTest, TestNum) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - ConcatLayer layer(layer_param); - Caffe::set_mode(Caffe::CPU); + ConcatLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_0, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_0, &(this->blob_top_vec_)); for (int n = 0; n < this->blob_top_->num(); ++n) { @@ -108,21 +111,11 @@ TYPED_TEST(ConcatLayerTest, TestCPUNum) { } } - -TYPED_TEST(ConcatLayerTest, TestCPUGradient) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - ConcatLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradient(&layer, &(this->blob_bottom_vec_0), - &(this->blob_top_vec_)); -} - -TYPED_TEST(ConcatLayerTest, TestGPUGradient) { +TYPED_TEST(ConcatLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - ConcatLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + ConcatLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradient(&layer, &(this->blob_bottom_vec_0), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_convolution_layer.cpp b/src/caffe/test/test_convolution_layer.cpp index f7401015538..6f3e3146117 100644 --- a/src/caffe/test/test_convolution_layer.cpp +++ b/src/caffe/test/test_convolution_layer.cpp @@ -17,8 +17,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class ConvolutionLayerTest : public ::testing::Test { +template +class ConvolutionLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: ConvolutionLayerTest() : blob_bottom_(new Blob(2, 3, 6, 4)), @@ -51,10 +53,10 @@ class ConvolutionLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(ConvolutionLayerTest, Dtypes); +TYPED_TEST_CASE(ConvolutionLayerTest, TestDtypesAndDevices); TYPED_TEST(ConvolutionLayerTest, TestSetup) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); @@ -63,8 +65,8 @@ TYPED_TEST(ConvolutionLayerTest, TestSetup) { convolution_param->set_num_output(4); this->blob_bottom_vec_.push_back(this->blob_bottom_2_); this->blob_top_vec_.push_back(this->blob_top_2_); - shared_ptr > layer( - new ConvolutionLayer(layer_param)); + shared_ptr > layer( + new ConvolutionLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->channels(), 4); @@ -77,7 +79,7 @@ TYPED_TEST(ConvolutionLayerTest, TestSetup) { // setting group should not change the shape convolution_param->set_num_output(3); convolution_param->set_group(3); - layer.reset(new ConvolutionLayer(layer_param)); + layer.reset(new ConvolutionLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->channels(), 3); @@ -89,15 +91,16 @@ TYPED_TEST(ConvolutionLayerTest, TestSetup) { EXPECT_EQ(this->blob_top_2_->width(), 1); } -TYPED_TEST(ConvolutionLayerTest, TestCPUSimpleConvolution) { +TYPED_TEST(ConvolutionLayerTest, TestSimpleConvolution) { // We will simply see if the convolution layer carries out averaging well. - shared_ptr > filler; + typedef typename TypeParam::Dtype Dtype; + shared_ptr > filler; FillerParameter filler_param; filler_param.set_value(1.); - filler.reset(new ConstantFiller(filler_param)); + filler.reset(new ConstantFiller(filler_param)); filler->Fill(this->blob_bottom_); filler_param.set_value(2.); - filler.reset(new ConstantFiller(filler_param)); + filler.reset(new ConstantFiller(filler_param)); filler->Fill(this->blob_bottom_2_); this->blob_bottom_vec_.push_back(this->blob_bottom_2_); this->blob_top_vec_.push_back(this->blob_top_2_); @@ -111,13 +114,12 @@ TYPED_TEST(ConvolutionLayerTest, TestCPUSimpleConvolution) { convolution_param->mutable_weight_filler()->set_value(1); convolution_param->mutable_bias_filler()->set_type("constant"); convolution_param->mutable_bias_filler()->set_value(0.1); - shared_ptr > layer( - new ConvolutionLayer(layer_param)); + shared_ptr > layer( + new ConvolutionLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - Caffe::set_mode(Caffe::CPU); layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // After the convolution, the output should all have output values 27.1 - const TypeParam* top_data = this->blob_top_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_top_->count(); ++i) { EXPECT_NEAR(top_data[i], 27.1, 1e-4); } @@ -127,98 +129,14 @@ TYPED_TEST(ConvolutionLayerTest, TestCPUSimpleConvolution) { } } -TYPED_TEST(ConvolutionLayerTest, TestGPUSimpleConvolution) { - // We will simply see if the convolution layer carries out averaging well. - shared_ptr > filler; - FillerParameter filler_param; - filler_param.set_value(1.); - filler.reset(new ConstantFiller(filler_param)); - filler->Fill(this->blob_bottom_); - filler_param.set_value(2.); - filler.reset(new ConstantFiller(filler_param)); - filler->Fill(this->blob_bottom_2_); - this->blob_bottom_vec_.push_back(this->blob_bottom_2_); - this->blob_top_vec_.push_back(this->blob_top_2_); - LayerParameter layer_param; - ConvolutionParameter* convolution_param = - layer_param.mutable_convolution_param(); - convolution_param->set_kernel_size(3); - convolution_param->set_stride(2); - convolution_param->set_num_output(4); - convolution_param->mutable_weight_filler()->set_type("constant"); - convolution_param->mutable_weight_filler()->set_value(1); - convolution_param->mutable_bias_filler()->set_type("constant"); - convolution_param->mutable_bias_filler()->set_value(0.1); - shared_ptr > layer( - new ConvolutionLayer(layer_param)); - layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - Caffe::set_mode(Caffe::GPU); - layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // After the convolution, the output should all have output values 27.1 - const TypeParam* top_data = this->blob_top_->cpu_data(); - for (int i = 0; i < this->blob_top_->count(); ++i) { - EXPECT_NEAR(top_data[i], 27.1, 1e-4); - } - top_data = this->blob_top_2_->cpu_data(); - for (int i = 0; i < this->blob_top_2_->count(); ++i) { - EXPECT_NEAR(top_data[i], 54.1, 1e-4); - } -} - -TYPED_TEST(ConvolutionLayerTest, TestCPUSimpleConvolutionGroup) { - // We will simply see if the convolution layer carries out averaging well. - FillerParameter filler_param; - filler_param.set_value(1.); - ConstantFiller filler(filler_param); - filler.Fill(this->blob_bottom_); - TypeParam* bottom_data = this->blob_bottom_->mutable_cpu_data(); - for (int n = 0; n < this->blob_bottom_->num(); ++n) { - for (int c = 0; c < this->blob_bottom_->channels(); ++c) { - for (int h = 0; h < this->blob_bottom_->height(); ++h) { - for (int w = 0; w < this->blob_bottom_->width(); ++w) { - bottom_data[this->blob_bottom_->offset(n, c, h, w)] = c; - } - } - } - } - LayerParameter layer_param; - ConvolutionParameter* convolution_param = - layer_param.mutable_convolution_param(); - convolution_param->set_kernel_size(3); - convolution_param->set_stride(2); - convolution_param->set_num_output(3); - convolution_param->set_group(3); - convolution_param->mutable_weight_filler()->set_type("constant"); - convolution_param->mutable_weight_filler()->set_value(1); - convolution_param->mutable_bias_filler()->set_type("constant"); - convolution_param->mutable_bias_filler()->set_value(0.1); - shared_ptr > layer( - new ConvolutionLayer(layer_param)); - layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - Caffe::set_mode(Caffe::CPU); - layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // After the convolution, the output should all have output values 9.1 - const TypeParam* top_data = this->blob_top_->cpu_data(); - for (int n = 0; n < this->blob_top_->num(); ++n) { - for (int c = 0; c < this->blob_top_->channels(); ++c) { - for (int h = 0; h < this->blob_top_->height(); ++h) { - for (int w = 0; w < this->blob_top_->width(); ++w) { - TypeParam data = top_data[this->blob_top_->offset(n, c, h, w)]; - EXPECT_NEAR(data, c * 9 + 0.1, 1e-4); - } - } - } - } -} - - -TYPED_TEST(ConvolutionLayerTest, TestGPUSimpleConvolutionGroup) { +TYPED_TEST(ConvolutionLayerTest, TestSimpleConvolutionGroup) { // We will simply see if the convolution layer carries out averaging well. + typedef typename TypeParam::Dtype Dtype; FillerParameter filler_param; filler_param.set_value(1.); - ConstantFiller filler(filler_param); + ConstantFiller filler(filler_param); filler.Fill(this->blob_bottom_); - TypeParam* bottom_data = this->blob_bottom_->mutable_cpu_data(); + Dtype* bottom_data = this->blob_bottom_->mutable_cpu_data(); for (int n = 0; n < this->blob_bottom_->num(); ++n) { for (int c = 0; c < this->blob_bottom_->channels(); ++c) { for (int h = 0; h < this->blob_bottom_->height(); ++h) { @@ -239,18 +157,17 @@ TYPED_TEST(ConvolutionLayerTest, TestGPUSimpleConvolutionGroup) { convolution_param->mutable_weight_filler()->set_value(1); convolution_param->mutable_bias_filler()->set_type("constant"); convolution_param->mutable_bias_filler()->set_value(0.1); - shared_ptr > layer( - new ConvolutionLayer(layer_param)); + shared_ptr > layer( + new ConvolutionLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - Caffe::set_mode(Caffe::GPU); layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // After the convolution, the output should all have output values 9.1 - const TypeParam* top_data = this->blob_top_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); for (int n = 0; n < this->blob_top_->num(); ++n) { for (int c = 0; c < this->blob_top_->channels(); ++c) { for (int h = 0; h < this->blob_top_->height(); ++h) { for (int w = 0; w < this->blob_top_->width(); ++w) { - TypeParam data = top_data[this->blob_top_->offset(n, c, h, w)]; + Dtype data = top_data[this->blob_top_->offset(n, c, h, w)]; EXPECT_NEAR(data, c * 9 + 0.1, 1e-4); } } @@ -258,43 +175,8 @@ TYPED_TEST(ConvolutionLayerTest, TestGPUSimpleConvolutionGroup) { } } - -TYPED_TEST(ConvolutionLayerTest, TestCPUGradient) { - LayerParameter layer_param; - ConvolutionParameter* convolution_param = - layer_param.mutable_convolution_param(); - this->blob_bottom_vec_.push_back(this->blob_bottom_2_); - this->blob_top_vec_.push_back(this->blob_top_2_); - convolution_param->set_kernel_size(3); - convolution_param->set_stride(2); - convolution_param->set_num_output(2); - convolution_param->mutable_weight_filler()->set_type("gaussian"); - convolution_param->mutable_bias_filler()->set_type("gaussian"); - Caffe::set_mode(Caffe::CPU); - ConvolutionLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(ConvolutionLayerTest, TestCPUGradientGroup) { - LayerParameter layer_param; - ConvolutionParameter* convolution_param = - layer_param.mutable_convolution_param(); - convolution_param->set_kernel_size(3); - convolution_param->set_stride(2); - convolution_param->set_num_output(3); - convolution_param->set_group(3); - convolution_param->mutable_weight_filler()->set_type("gaussian"); - convolution_param->mutable_bias_filler()->set_type("gaussian"); - Caffe::set_mode(Caffe::CPU); - ConvolutionLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(ConvolutionLayerTest, TestGPUGradient) { +TYPED_TEST(ConvolutionLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); @@ -305,14 +187,14 @@ TYPED_TEST(ConvolutionLayerTest, TestGPUGradient) { convolution_param->set_num_output(2); convolution_param->mutable_weight_filler()->set_type("gaussian"); convolution_param->mutable_bias_filler()->set_type("gaussian"); - Caffe::set_mode(Caffe::GPU); - ConvolutionLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + ConvolutionLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } -TYPED_TEST(ConvolutionLayerTest, TestGPUGradientGroup) { +TYPED_TEST(ConvolutionLayerTest, TestGradientGroup) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); @@ -322,9 +204,8 @@ TYPED_TEST(ConvolutionLayerTest, TestGPUGradientGroup) { convolution_param->set_group(3); convolution_param->mutable_weight_filler()->set_type("gaussian"); convolution_param->mutable_bias_filler()->set_type("gaussian"); - Caffe::set_mode(Caffe::GPU); - ConvolutionLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + ConvolutionLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_data_layer.cpp b/src/caffe/test/test_data_layer.cpp index 8ba5f29ff91..8cd157dd98a 100644 --- a/src/caffe/test/test_data_layer.cpp +++ b/src/caffe/test/test_data_layer.cpp @@ -20,8 +20,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class DataLayerTest : public ::testing::Test { +template +class DataLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: DataLayerTest() : backend_(DataParameter_DB_LEVELDB), @@ -309,54 +311,25 @@ class DataLayerTest : public ::testing::Test { int seed_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(DataLayerTest, Dtypes); +TYPED_TEST_CASE(DataLayerTest, TestDtypesAndDevices); -TYPED_TEST(DataLayerTest, TestReadLevelDBCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(DataLayerTest, TestReadLevelDB) { const bool unique_pixels = false; // all pixels the same; images different this->FillLevelDB(unique_pixels); this->TestRead(); } -TYPED_TEST(DataLayerTest, TestReadLevelDBGPU) { - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = false; // all pixels the same; images different - this->FillLevelDB(unique_pixels); - this->TestRead(); -} - -TYPED_TEST(DataLayerTest, TestReadCropTrainLevelDBCPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainLevelDB) { Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); this->TestReadCrop(); } -TYPED_TEST(DataLayerTest, TestReadCropTrainLevelDBGPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLevelDB(unique_pixels); - this->TestReadCrop(); -} - -// Test that the sequence of random crops is consistent when using -// Caffe::set_random_seed. -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLevelDBCPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLevelDB(unique_pixels); - this->TestReadCropTrainSequenceSeeded(); -} - // Test that the sequence of random crops is consistent when using // Caffe::set_random_seed. -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLevelDBGPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLevelDB) { Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); this->TestReadCropTrainSequenceSeeded(); @@ -364,65 +337,28 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLevelDBGPU) { // Test that the sequence of random crops differs across iterations when // Caffe::set_random_seed isn't called (and seeds from srand are ignored). -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLevelDBCPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLevelDB) { Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); this->TestReadCropTrainSequenceUnseeded(); } -// Test that the sequence of random crops differs across iterations when -// Caffe::set_random_seed isn't called (and seeds from srand are ignored). -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLevelDBGPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLevelDB(unique_pixels); - this->TestReadCropTrainSequenceUnseeded(); -} - -TYPED_TEST(DataLayerTest, TestReadCropTestLevelDBCPU) { - Caffe::set_phase(Caffe::TEST); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLevelDB(unique_pixels); - this->TestReadCrop(); -} - -TYPED_TEST(DataLayerTest, TestReadCropTestLevelDBGPU) { +TYPED_TEST(DataLayerTest, TestReadCropTestLevelDB) { Caffe::set_phase(Caffe::TEST); - Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLevelDB(unique_pixels); this->TestReadCrop(); } -TYPED_TEST(DataLayerTest, TestReadLMDBCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(DataLayerTest, TestReadLMDB) { const bool unique_pixels = false; // all pixels the same; images different this->FillLMDB(unique_pixels); this->TestRead(); } -TYPED_TEST(DataLayerTest, TestReadLMDBGPU) { - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = false; // all pixels the same; images different - this->FillLMDB(unique_pixels); - this->TestRead(); -} - -TYPED_TEST(DataLayerTest, TestReadCropTrainLMDBCPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainLMDB) { Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - this->TestReadCrop(); -} - -TYPED_TEST(DataLayerTest, TestReadCropTrainLMDBGPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLMDB(unique_pixels); this->TestReadCrop(); @@ -430,55 +366,24 @@ TYPED_TEST(DataLayerTest, TestReadCropTrainLMDBGPU) { // Test that the sequence of random crops is consistent when using // Caffe::set_random_seed. -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLMDBCPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLMDB) { Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLMDB(unique_pixels); this->TestReadCropTrainSequenceSeeded(); } -// Test that the sequence of random crops is consistent when using -// Caffe::set_random_seed. -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceSeededLMDBGPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - this->TestReadCropTrainSequenceSeeded(); -} - -// Test that the sequence of random crops differs across iterations when -// Caffe::set_random_seed isn't called (and seeds from srand are ignored). -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLMDBCPU) { - Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - this->TestReadCropTrainSequenceUnseeded(); -} - // Test that the sequence of random crops differs across iterations when // Caffe::set_random_seed isn't called (and seeds from srand are ignored). -TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLMDBGPU) { +TYPED_TEST(DataLayerTest, TestReadCropTrainSequenceUnseededLMDB) { Caffe::set_phase(Caffe::TRAIN); - Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLMDB(unique_pixels); this->TestReadCropTrainSequenceUnseeded(); } -TYPED_TEST(DataLayerTest, TestReadCropTestLMDBCPU) { - Caffe::set_phase(Caffe::TEST); - Caffe::set_mode(Caffe::CPU); - const bool unique_pixels = true; // all images the same; pixels different - this->FillLMDB(unique_pixels); - this->TestReadCrop(); -} - -TYPED_TEST(DataLayerTest, TestReadCropTestLMDBGPU) { +TYPED_TEST(DataLayerTest, TestReadCropTestLMDB) { Caffe::set_phase(Caffe::TEST); - Caffe::set_mode(Caffe::GPU); const bool unique_pixels = true; // all images the same; pixels different this->FillLMDB(unique_pixels); this->TestReadCrop(); diff --git a/src/caffe/test/test_dummy_data_layer.cpp b/src/caffe/test/test_dummy_data_layer.cpp index 7d9287e86ab..3a83a79772c 100644 --- a/src/caffe/test/test_dummy_data_layer.cpp +++ b/src/caffe/test/test_dummy_data_layer.cpp @@ -46,8 +46,7 @@ class DummyDataLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(DummyDataLayerTest, Dtypes); +TYPED_TEST_CASE(DummyDataLayerTest, TestDtypes); TYPED_TEST(DummyDataLayerTest, TestOneTopConstant) { Caffe::set_mode(Caffe::CPU); diff --git a/src/caffe/test/test_eltwise_layer.cpp b/src/caffe/test/test_eltwise_layer.cpp index 5f72f625da4..66490d2bc4e 100644 --- a/src/caffe/test/test_eltwise_layer.cpp +++ b/src/caffe/test/test_eltwise_layer.cpp @@ -16,8 +16,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class EltwiseLayerTest : public ::testing::Test { +template +class EltwiseLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: EltwiseLayerTest() : blob_bottom_a_(new Blob(2, 3, 4, 5)), @@ -49,15 +51,15 @@ class EltwiseLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(EltwiseLayerTest, Dtypes); +TYPED_TEST_CASE(EltwiseLayerTest, TestDtypesAndDevices); TYPED_TEST(EltwiseLayerTest, TestSetUp) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); - shared_ptr > layer( - new EltwiseLayer(layer_param)); + shared_ptr > layer( + new EltwiseLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->channels(), 3); @@ -65,185 +67,99 @@ TYPED_TEST(EltwiseLayerTest, TestSetUp) { EXPECT_EQ(this->blob_top_->width(), 5); } -TYPED_TEST(EltwiseLayerTest, TestProdCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(EltwiseLayerTest, TestProd) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); - shared_ptr > layer( - new EltwiseLayer(layer_param)); + shared_ptr > layer( + new EltwiseLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* data = this->blob_top_->cpu_data(); + const Dtype* data = this->blob_top_->cpu_data(); const int count = this->blob_top_->count(); - const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); - const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); - const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); + const Dtype* in_data_a = this->blob_bottom_a_->cpu_data(); + const Dtype* in_data_b = this->blob_bottom_b_->cpu_data(); + const Dtype* in_data_c = this->blob_bottom_c_->cpu_data(); for (int i = 0; i < count; ++i) { EXPECT_EQ(data[i], in_data_a[i] * in_data_b[i] * in_data_c[i]); } } -TYPED_TEST(EltwiseLayerTest, TestSumCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(EltwiseLayerTest, TestSum) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); - shared_ptr > layer( - new EltwiseLayer(layer_param)); + shared_ptr > layer( + new EltwiseLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* data = this->blob_top_->cpu_data(); + const Dtype* data = this->blob_top_->cpu_data(); const int count = this->blob_top_->count(); - const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); - const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); - const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); + const Dtype* in_data_a = this->blob_bottom_a_->cpu_data(); + const Dtype* in_data_b = this->blob_bottom_b_->cpu_data(); + const Dtype* in_data_c = this->blob_bottom_c_->cpu_data(); for (int i = 0; i < count; ++i) { EXPECT_EQ(data[i], in_data_a[i] + in_data_b[i] + in_data_c[i]); } } -TYPED_TEST(EltwiseLayerTest, TestSumCoeffCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(EltwiseLayerTest, TestSumCoeff) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); eltwise_param->add_coeff(1); eltwise_param->add_coeff(-0.5); eltwise_param->add_coeff(2); - shared_ptr > layer( - new EltwiseLayer(layer_param)); + shared_ptr > layer( + new EltwiseLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* data = this->blob_top_->cpu_data(); + const Dtype* data = this->blob_top_->cpu_data(); const int count = this->blob_top_->count(); - const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); - const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); - const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); + const Dtype* in_data_a = this->blob_bottom_a_->cpu_data(); + const Dtype* in_data_b = this->blob_bottom_b_->cpu_data(); + const Dtype* in_data_c = this->blob_bottom_c_->cpu_data(); for (int i = 0; i < count; ++i) { EXPECT_NEAR(data[i], in_data_a[i] - 0.5*in_data_b[i] + 2*in_data_c[i], 1e-4); } } -TYPED_TEST(EltwiseLayerTest, TestProdGPU) { - Caffe::set_mode(Caffe::GPU); +TYPED_TEST(EltwiseLayerTest, TestProdGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); - shared_ptr > layer( - new EltwiseLayer(layer_param)); - layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* data = this->blob_top_->cpu_data(); - const int count = this->blob_top_->count(); - const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); - const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); - const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); - for (int i = 0; i < count; ++i) { - EXPECT_EQ(data[i], in_data_a[i] * in_data_b[i] * in_data_c[i]); - } -} - -TYPED_TEST(EltwiseLayerTest, TestSumGPU) { - Caffe::set_mode(Caffe::GPU); - LayerParameter layer_param; - EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); - eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); - shared_ptr > layer( - new EltwiseLayer(layer_param)); - layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* data = this->blob_top_->cpu_data(); - const int count = this->blob_top_->count(); - const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); - const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); - const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); - for (int i = 0; i < count; ++i) { - EXPECT_EQ(data[i], in_data_a[i] + in_data_b[i] + in_data_c[i]); - } -} - -TYPED_TEST(EltwiseLayerTest, TestSumCoeffGPU) { - Caffe::set_mode(Caffe::GPU); - LayerParameter layer_param; - EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); - eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); - eltwise_param->add_coeff(1); - eltwise_param->add_coeff(-0.5); - eltwise_param->add_coeff(2); - shared_ptr > layer( - new EltwiseLayer(layer_param)); - layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* data = this->blob_top_->cpu_data(); - const int count = this->blob_top_->count(); - const TypeParam* in_data_a = this->blob_bottom_a_->cpu_data(); - const TypeParam* in_data_b = this->blob_bottom_b_->cpu_data(); - const TypeParam* in_data_c = this->blob_bottom_c_->cpu_data(); - for (int i = 0; i < count; ++i) { - EXPECT_NEAR(data[i], in_data_a[i] - 0.5*in_data_b[i] + 2*in_data_c[i], - 1e-4); - } -} - -TYPED_TEST(EltwiseLayerTest, TestProdCPUGradient) { - Caffe::set_mode(Caffe::CPU); - LayerParameter layer_param; - EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); - eltwise_param->set_operation(EltwiseParameter_EltwiseOp_PROD); - EltwiseLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(EltwiseLayerTest, TestSumCPUGradient) { - Caffe::set_mode(Caffe::CPU); - LayerParameter layer_param; - EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); - eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); - EltwiseLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(EltwiseLayerTest, TestSumCoeffCPUGradient) { - Caffe::set_mode(Caffe::CPU); - LayerParameter layer_param; - EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); - eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); - eltwise_param->add_coeff(1); - eltwise_param->add_coeff(-0.5); - eltwise_param->add_coeff(2); - EltwiseLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + EltwiseLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } -TYPED_TEST(EltwiseLayerTest, TestSumGPUGradient) { - Caffe::set_mode(Caffe::GPU); +TYPED_TEST(EltwiseLayerTest, TestSumGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); - EltwiseLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); + EltwiseLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } -TYPED_TEST(EltwiseLayerTest, TestSumCoeffGPUGradient) { - Caffe::set_mode(Caffe::GPU); +TYPED_TEST(EltwiseLayerTest, TestSumCoeffGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; EltwiseParameter* eltwise_param = layer_param.mutable_eltwise_param(); eltwise_param->set_operation(EltwiseParameter_EltwiseOp_SUM); eltwise_param->add_coeff(1); eltwise_param->add_coeff(-0.5); eltwise_param->add_coeff(2); - EltwiseLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + EltwiseLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_euclidean_loss_layer.cpp b/src/caffe/test/test_euclidean_loss_layer.cpp index 02945b655de..8c796945b89 100644 --- a/src/caffe/test/test_euclidean_loss_layer.cpp +++ b/src/caffe/test/test_euclidean_loss_layer.cpp @@ -19,8 +19,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class EuclideanLossLayerTest : public ::testing::Test { +template +class EuclideanLossLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: EuclideanLossLayerTest() : blob_bottom_data_(new Blob(10, 5, 1, 1)), @@ -43,27 +45,17 @@ class EuclideanLossLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(EuclideanLossLayerTest, Dtypes); +TYPED_TEST_CASE(EuclideanLossLayerTest, TestDtypesAndDevices); -TYPED_TEST(EuclideanLossLayerTest, TestGradientCPU) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(EuclideanLossLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - EuclideanLossLayer layer(layer_param); + EuclideanLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 1e-2, 1701); + GradientChecker checker(1e-2, 1e-2, 1701); checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_), -1, -1, -1); } -TYPED_TEST(EuclideanLossLayerTest, TestGradientGPU) { - Caffe::set_mode(Caffe::GPU); - LayerParameter layer_param; - EuclideanLossLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 1e-2, 1701); - checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_), -1, -1, -1); -} } // namespace caffe diff --git a/src/caffe/test/test_filler.cpp b/src/caffe/test/test_filler.cpp index e8b556a66b5..93eda7e8330 100644 --- a/src/caffe/test/test_filler.cpp +++ b/src/caffe/test/test_filler.cpp @@ -10,8 +10,6 @@ namespace caffe { -typedef ::testing::Types Dtypes; - template class ConstantFillerTest : public ::testing::Test { protected: @@ -28,7 +26,7 @@ class ConstantFillerTest : public ::testing::Test { shared_ptr > filler_; }; -TYPED_TEST_CASE(ConstantFillerTest, Dtypes); +TYPED_TEST_CASE(ConstantFillerTest, TestDtypes); TYPED_TEST(ConstantFillerTest, TestFill) { EXPECT_TRUE(this->blob_); @@ -57,7 +55,7 @@ class UniformFillerTest : public ::testing::Test { shared_ptr > filler_; }; -TYPED_TEST_CASE(UniformFillerTest, Dtypes); +TYPED_TEST_CASE(UniformFillerTest, TestDtypes); TYPED_TEST(UniformFillerTest, TestFill) { EXPECT_TRUE(this->blob_); @@ -84,7 +82,7 @@ class PositiveUnitballFillerTest : public ::testing::Test { shared_ptr > filler_; }; -TYPED_TEST_CASE(PositiveUnitballFillerTest, Dtypes); +TYPED_TEST_CASE(PositiveUnitballFillerTest, TestDtypes); TYPED_TEST(PositiveUnitballFillerTest, TestFill) { EXPECT_TRUE(this->blob_); @@ -123,7 +121,7 @@ class GaussianFillerTest : public ::testing::Test { shared_ptr > filler_; }; -TYPED_TEST_CASE(GaussianFillerTest, Dtypes); +TYPED_TEST_CASE(GaussianFillerTest, TestDtypes); TYPED_TEST(GaussianFillerTest, TestFill) { EXPECT_TRUE(this->blob_); diff --git a/src/caffe/test/test_flatten_layer.cpp b/src/caffe/test/test_flatten_layer.cpp index 52c567b0295..e6e777e69c0 100644 --- a/src/caffe/test/test_flatten_layer.cpp +++ b/src/caffe/test/test_flatten_layer.cpp @@ -17,8 +17,9 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class FlattenLayerTest : public ::testing::Test { +template +class FlattenLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; protected: FlattenLayerTest() : blob_bottom_(new Blob(2, 3, 6, 5)), @@ -38,12 +39,12 @@ class FlattenLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(FlattenLayerTest, Dtypes); +TYPED_TEST_CASE(FlattenLayerTest, TestDtypesAndDevices); TYPED_TEST(FlattenLayerTest, TestSetup) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - FlattenLayer layer(layer_param); + FlattenLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->channels(), 3 * 6 * 5); @@ -51,10 +52,10 @@ TYPED_TEST(FlattenLayerTest, TestSetup) { EXPECT_EQ(this->blob_top_->width(), 1); } -TYPED_TEST(FlattenLayerTest, TestCPU) { +TYPED_TEST(FlattenLayerTest, Test) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - FlattenLayer layer(layer_param); - Caffe::set_mode(Caffe::CPU); + FlattenLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); for (int c = 0; c < 3 * 6 * 5; ++c) { @@ -65,34 +66,11 @@ TYPED_TEST(FlattenLayerTest, TestCPU) { } } -TYPED_TEST(FlattenLayerTest, TestGPU) { +TYPED_TEST(FlattenLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - FlattenLayer layer(layer_param); - Caffe::set_mode(Caffe::GPU); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - for (int c = 0; c < 3 * 6 * 5; ++c) { - EXPECT_EQ(this->blob_top_->data_at(0, c, 0, 0), - this->blob_bottom_->data_at(0, c / (6 * 5), (c / 5) % 6, c % 5)); - EXPECT_EQ(this->blob_top_->data_at(1, c, 0, 0), - this->blob_bottom_->data_at(1, c / (6 * 5), (c / 5) % 6, c % 5)); - } -} - -TYPED_TEST(FlattenLayerTest, TestCPUGradient) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - FlattenLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(FlattenLayerTest, TestGPUGradient) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - FlattenLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); + FlattenLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_hdf5_output_layer.cpp b/src/caffe/test/test_hdf5_output_layer.cpp index 5b396ef551e..6fd9a2fc194 100644 --- a/src/caffe/test/test_hdf5_output_layer.cpp +++ b/src/caffe/test/test_hdf5_output_layer.cpp @@ -19,8 +19,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class HDF5OutputLayerTest : public ::testing::Test { +template +class HDF5OutputLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: HDF5OutputLayerTest() : output_file_name_(tmpnam(NULL)), @@ -52,9 +54,9 @@ class HDF5OutputLayerTest : public ::testing::Test { int width_; }; -template -void HDF5OutputLayerTest::CheckBlobEqual(const Blob& b1, - const Blob& b2) { +template +void HDF5OutputLayerTest::CheckBlobEqual(const Blob& b1, + const Blob& b2) { EXPECT_EQ(b1.num(), b2.num()); EXPECT_EQ(b1.channels(), b2.channels()); EXPECT_EQ(b1.height(), b2.height()); @@ -70,14 +72,10 @@ void HDF5OutputLayerTest::CheckBlobEqual(const Blob& b1, } } -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(HDF5OutputLayerTest, Dtypes); +TYPED_TEST_CASE(HDF5OutputLayerTest, TestDtypesAndDevices); -/* - * TestCPUForward and TestGPUForward are almost identical except for the mode. - * They are separated to use with `test_all.testbin --gtest_filter="*CPU*"`. - */ -TYPED_TEST(HDF5OutputLayerTest, TestCPUForward) { +TYPED_TEST(HDF5OutputLayerTest, TestForward) { + typedef typename TypeParam::Dtype Dtype; LOG(INFO) << "Loading HDF5 file " << this->input_file_name_; hid_t file_id = H5Fopen(this->input_file_name_.c_str(), H5F_ACC_RDONLY, H5P_DEFAULT); @@ -93,62 +91,12 @@ TYPED_TEST(HDF5OutputLayerTest, TestCPUForward) { this->blob_bottom_vec_.push_back(this->blob_data_); this->blob_bottom_vec_.push_back(this->blob_label_); - Caffe::set_mode(Caffe::CPU); - LayerParameter param; - param.mutable_hdf5_output_param()->set_file_name(this->output_file_name_); - // This code block ensures that the layer is deconstructed and - // the output hdf5 file is closed. - { - HDF5OutputLayer layer(param); - EXPECT_EQ(layer.file_name(), this->output_file_name_); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - } - file_id = H5Fopen(this->output_file_name_.c_str(), H5F_ACC_RDONLY, - H5P_DEFAULT); - ASSERT_GE( - file_id, 0)<< "Failed to open HDF5 file" << - this->input_file_name_; - - Blob* blob_data = new Blob(); - hdf5_load_nd_dataset(file_id, HDF5_DATA_DATASET_NAME, 0, 4, - blob_data); - this->CheckBlobEqual(*(this->blob_data_), *blob_data); - - Blob* blob_label = new Blob(); - hdf5_load_nd_dataset(file_id, HDF5_DATA_LABEL_NAME, 0, 4, - blob_label); - this->CheckBlobEqual(*(this->blob_label_), *blob_label); - - status = H5Fclose(file_id); - EXPECT_GE(status, 0) << "Failed to close HDF5 file " << - this->output_file_name_; -} - -TYPED_TEST(HDF5OutputLayerTest, TestGPUForward) { - LOG(INFO) << "Loading HDF5 file " << this->input_file_name_; - - hid_t file_id = H5Fopen(this->input_file_name_.c_str(), H5F_ACC_RDONLY, - H5P_DEFAULT); - ASSERT_GE(file_id, 0) << "Failed to open HDF5 file" << - this->input_file_name_; - hdf5_load_nd_dataset(file_id, HDF5_DATA_DATASET_NAME, 0, 4, - this->blob_data_); - hdf5_load_nd_dataset(file_id, HDF5_DATA_LABEL_NAME, 0, 4, - this->blob_label_); - herr_t status = H5Fclose(file_id); - EXPECT_GE(status, 0) << "Failed to close HDF5 file " << - this->input_file_name_; - this->blob_bottom_vec_.push_back(this->blob_data_); - this->blob_bottom_vec_.push_back(this->blob_label_); - - Caffe::set_mode(Caffe::GPU); LayerParameter param; param.mutable_hdf5_output_param()->set_file_name(this->output_file_name_); // This code block ensures that the layer is deconstructed and // the output hdf5 file is closed. { - HDF5OutputLayer layer(param); + HDF5OutputLayer layer(param); EXPECT_EQ(layer.file_name(), this->output_file_name_); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); @@ -159,12 +107,12 @@ TYPED_TEST(HDF5OutputLayerTest, TestGPUForward) { file_id, 0)<< "Failed to open HDF5 file" << this->input_file_name_; - Blob* blob_data = new Blob(); + Blob* blob_data = new Blob(); hdf5_load_nd_dataset(file_id, HDF5_DATA_DATASET_NAME, 0, 4, blob_data); this->CheckBlobEqual(*(this->blob_data_), *blob_data); - Blob* blob_label = new Blob(); + Blob* blob_label = new Blob(); hdf5_load_nd_dataset(file_id, HDF5_DATA_LABEL_NAME, 0, 4, blob_label); this->CheckBlobEqual(*(this->blob_label_), *blob_label); diff --git a/src/caffe/test/test_hdf5data_layer.cpp b/src/caffe/test/test_hdf5data_layer.cpp index 1cbca0090fd..3eb24210d99 100644 --- a/src/caffe/test/test_hdf5data_layer.cpp +++ b/src/caffe/test/test_hdf5data_layer.cpp @@ -20,8 +20,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class HDF5DataLayerTest : public ::testing::Test { +template +class HDF5DataLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: HDF5DataLayerTest() : filename(NULL), @@ -49,10 +51,10 @@ class HDF5DataLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(HDF5DataLayerTest, Dtypes); +TYPED_TEST_CASE(HDF5DataLayerTest, TestDtypesAndDevices); TYPED_TEST(HDF5DataLayerTest, TestRead) { + typedef typename TypeParam::Dtype Dtype; // Create LayerParameter with the known parameters. // The data file we are reading has 10 rows and 8 columns, // with values from 0 to 10*8 reshaped in row-major order. @@ -66,7 +68,7 @@ TYPED_TEST(HDF5DataLayerTest, TestRead) { int width = 5; // Test that the layer setup got the correct parameters. - HDF5DataLayer layer(param); + HDF5DataLayer layer(param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); EXPECT_EQ(this->blob_top_data_->num(), batch_size); EXPECT_EQ(this->blob_top_data_->channels(), num_cols); @@ -78,49 +80,41 @@ TYPED_TEST(HDF5DataLayerTest, TestRead) { EXPECT_EQ(this->blob_top_label_->height(), 1); EXPECT_EQ(this->blob_top_label_->width(), 1); - for (int t = 0; t < 2; ++t) { - // TODO: make this a TypedTest instead of this silly loop. - if (t == 0) { - Caffe::set_mode(Caffe::CPU); - } else { - Caffe::set_mode(Caffe::GPU); + layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); + + // Go through the data 10 times (5 batches). + const int data_size = num_cols * height * width; + for (int iter = 0; iter < 10; ++iter) { + layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); + + // On even iterations, we're reading the first half of the data. + // On odd iterations, we're reading the second half of the data. + int label_offset = (iter % 2 == 0) ? 0 : batch_size; + int data_offset = (iter % 2 == 0) ? 0 : batch_size * data_size; + + // Every two iterations we are reading the second file, + // which has the same labels, but data is offset by total data size, + // which is 2000 (see generate_sample_data). + int file_offset = (iter % 4 < 2) ? 0 : 2000; + + for (int i = 0; i < batch_size; ++i) { + EXPECT_EQ( + label_offset + i, + this->blob_top_label_->cpu_data()[i]); } - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - - // Go through the data 10 times (5 batches). - const int data_size = num_cols * height * width; - for (int iter = 0; iter < 10; ++iter) { - layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - - // On even iterations, we're reading the first half of the data. - // On odd iterations, we're reading the second half of the data. - int label_offset = (iter % 2 == 0) ? 0 : batch_size; - int data_offset = (iter % 2 == 0) ? 0 : batch_size * data_size; - - // Every two iterations we are reading the second file, - // which has the same labels, but data is offset by total data size, - // which is 2000 (see generate_sample_data). - int file_offset = (iter % 4 < 2) ? 0 : 2000; - - for (int i = 0; i < batch_size; ++i) { - EXPECT_EQ( - label_offset + i, - this->blob_top_label_->cpu_data()[i]); - } - for (int i = 0; i < batch_size; ++i) { - for (int j = 0; j < num_cols; ++j) { - for (int h = 0; h < height; ++h) { - for (int w = 0; w < width; ++w) { - int idx = ( - i * num_cols * height * width + - j * height * width + - h * width + w); - EXPECT_EQ( - file_offset + data_offset + idx, - this->blob_top_data_->cpu_data()[idx]) - << "debug: i " << i << " j " << j - << " iter " << iter << " t " << t; - } + for (int i = 0; i < batch_size; ++i) { + for (int j = 0; j < num_cols; ++j) { + for (int h = 0; h < height; ++h) { + for (int w = 0; w < width; ++w) { + int idx = ( + i * num_cols * height * width + + j * height * width + + h * width + w); + EXPECT_EQ( + file_offset + data_offset + idx, + this->blob_top_data_->cpu_data()[idx]) + << "debug: i " << i << " j " << j + << " iter " << iter; } } } diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index 318030b67a3..868e9e9ae16 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -19,8 +19,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class HingeLossLayerTest : public ::testing::Test { +template +class HingeLossLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: HingeLossLayerTest() : blob_bottom_data_(new Blob(10, 5, 1, 1)), @@ -46,56 +48,31 @@ class HingeLossLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(HingeLossLayerTest, Dtypes); +TYPED_TEST_CASE(HingeLossLayerTest, TestDtypesAndDevices); -TYPED_TEST(HingeLossLayerTest, TestGradientL1CPU) { +TYPED_TEST(HingeLossLayerTest, TestGradientL1) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - HingeLossLayer layer(layer_param); + HingeLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 1e-3, 1701, 1, 0.01); + GradientChecker checker(1e-2, 1e-3, 1701, 1, 0.01); checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_), 0, -1, -1); } -TYPED_TEST(HingeLossLayerTest, TestGradientL1GPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - HingeLossLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 1e-3, 1701, 1, 0.01); - checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_), 0, -1, -1); -} - - -TYPED_TEST(HingeLossLayerTest, TestGradientL2CPU) { +TYPED_TEST(HingeLossLayerTest, TestGradientL2) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; // Set norm to L2 HingeLossParameter* hinge_loss_param = layer_param.mutable_hinge_loss_param(); hinge_loss_param->set_norm(HingeLossParameter_Norm_L2); - Caffe::set_mode(Caffe::CPU); - HingeLossLayer layer(layer_param); + HingeLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 2e-3, 1701); + GradientChecker checker(1e-2, 2e-3, 1701); checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_), 0, -1, -1); } -TYPED_TEST(HingeLossLayerTest, TestGradientL2GPU) { - LayerParameter layer_param; - // Set norm to L2 - HingeLossParameter* hinge_loss_param = layer_param.mutable_hinge_loss_param(); - hinge_loss_param->set_norm(HingeLossParameter_Norm_L2); - Caffe::set_mode(Caffe::GPU); - HingeLossLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 2e-3, 1701); - checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_), 0, -1, -1); -} - } // namespace caffe diff --git a/src/caffe/test/test_im2col_kernel.cu b/src/caffe/test/test_im2col_kernel.cu index f49a5b7e4d9..bd4404a0000 100644 --- a/src/caffe/test/test_im2col_kernel.cu +++ b/src/caffe/test/test_im2col_kernel.cu @@ -65,8 +65,7 @@ class Im2colKernelTest : public ::testing::Test { int width_col_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(Im2colKernelTest, Dtypes); +TYPED_TEST_CASE(Im2colKernelTest, TestDtypes); TYPED_TEST(Im2colKernelTest, TestGPU) { Caffe::set_mode(Caffe::GPU); diff --git a/src/caffe/test/test_im2col_layer.cpp b/src/caffe/test/test_im2col_layer.cpp index 7f677ca03d6..5be191742fc 100644 --- a/src/caffe/test/test_im2col_layer.cpp +++ b/src/caffe/test/test_im2col_layer.cpp @@ -17,8 +17,9 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class Im2colLayerTest : public ::testing::Test { +template +class Im2colLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; protected: Im2colLayerTest() : blob_bottom_(new Blob(2, 3, 6, 5)), @@ -37,16 +38,16 @@ class Im2colLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(Im2colLayerTest, Dtypes); +TYPED_TEST_CASE(Im2colLayerTest, TestDtypesAndDevices); TYPED_TEST(Im2colLayerTest, TestSetup) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); convolution_param->set_kernel_size(3); convolution_param->set_stride(2); - Im2colLayer layer(layer_param); + Im2colLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->channels(), 27); @@ -54,31 +55,14 @@ TYPED_TEST(Im2colLayerTest, TestSetup) { EXPECT_EQ(this->blob_top_->width(), 2); } -TYPED_TEST(Im2colLayerTest, TestCPU) { +TYPED_TEST(Im2colLayerTest, TestForward) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); convolution_param->set_kernel_size(3); convolution_param->set_stride(2); - Im2colLayer layer(layer_param); - Caffe::set_mode(Caffe::CPU); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // We are lazy and will only check the top left block - for (int c = 0; c < 27; ++c) { - EXPECT_EQ(this->blob_top_->data_at(0, c, 0, 0), - this->blob_bottom_->data_at(0, (c / 9), (c / 3) % 3, c % 3)); - } -} - -TYPED_TEST(Im2colLayerTest, TestGPU) { - LayerParameter layer_param; - ConvolutionParameter* convolution_param = - layer_param.mutable_convolution_param(); - convolution_param->set_kernel_size(3); - convolution_param->set_stride(2); - Im2colLayer layer(layer_param); - Caffe::set_mode(Caffe::GPU); + Im2colLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // We are lazy and will only check the top left block @@ -88,28 +72,15 @@ TYPED_TEST(Im2colLayerTest, TestGPU) { } } -TYPED_TEST(Im2colLayerTest, TestCPUGradient) { - LayerParameter layer_param; - ConvolutionParameter* convolution_param = - layer_param.mutable_convolution_param(); - convolution_param->set_kernel_size(3); - convolution_param->set_stride(2); - Caffe::set_mode(Caffe::CPU); - Im2colLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(Im2colLayerTest, TestGPUGradient) { +TYPED_TEST(Im2colLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; ConvolutionParameter* convolution_param = layer_param.mutable_convolution_param(); convolution_param->set_kernel_size(3); convolution_param->set_stride(2); - Caffe::set_mode(Caffe::GPU); - Im2colLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); + Im2colLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_image_data_layer.cpp b/src/caffe/test/test_image_data_layer.cpp index 2278f4e2eb8..fbd4a1ca9d4 100644 --- a/src/caffe/test/test_image_data_layer.cpp +++ b/src/caffe/test/test_image_data_layer.cpp @@ -23,8 +23,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class ImageDataLayerTest : public ::testing::Test { +template +class ImageDataLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: ImageDataLayerTest() : seed_(1701), @@ -57,16 +59,16 @@ class ImageDataLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(ImageDataLayerTest, Dtypes); +TYPED_TEST_CASE(ImageDataLayerTest, TestDtypesAndDevices); TYPED_TEST(ImageDataLayerTest, TestRead) { + typedef typename TypeParam::Dtype Dtype; LayerParameter param; ImageDataParameter* image_data_param = param.mutable_image_data_param(); image_data_param->set_batch_size(5); image_data_param->set_source(this->filename_->c_str()); image_data_param->set_shuffle(false); - ImageDataLayer layer(param); + ImageDataLayer layer(param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); EXPECT_EQ(this->blob_top_data_->num(), 5); EXPECT_EQ(this->blob_top_data_->channels(), 3); @@ -86,6 +88,7 @@ TYPED_TEST(ImageDataLayerTest, TestRead) { } TYPED_TEST(ImageDataLayerTest, TestResize) { + typedef typename TypeParam::Dtype Dtype; LayerParameter param; ImageDataParameter* image_data_param = param.mutable_image_data_param(); image_data_param->set_batch_size(5); @@ -93,7 +96,7 @@ TYPED_TEST(ImageDataLayerTest, TestResize) { image_data_param->set_new_height(256); image_data_param->set_new_width(256); image_data_param->set_shuffle(false); - ImageDataLayer layer(param); + ImageDataLayer layer(param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); EXPECT_EQ(this->blob_top_data_->num(), 5); EXPECT_EQ(this->blob_top_data_->channels(), 3); @@ -113,12 +116,13 @@ TYPED_TEST(ImageDataLayerTest, TestResize) { } TYPED_TEST(ImageDataLayerTest, TestShuffle) { + typedef typename TypeParam::Dtype Dtype; LayerParameter param; ImageDataParameter* image_data_param = param.mutable_image_data_param(); image_data_param->set_batch_size(5); image_data_param->set_source(this->filename_->c_str()); image_data_param->set_shuffle(true); - ImageDataLayer layer(param); + ImageDataLayer layer(param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); EXPECT_EQ(this->blob_top_data_->num(), 5); EXPECT_EQ(this->blob_top_data_->channels(), 3); @@ -131,14 +135,14 @@ TYPED_TEST(ImageDataLayerTest, TestShuffle) { // Go through the data twice for (int iter = 0; iter < 2; ++iter) { layer.Forward(this->blob_bottom_vec_, &this->blob_top_vec_); - map values_to_indices; + map values_to_indices; int num_in_order = 0; for (int i = 0; i < 5; ++i) { - TypeParam value = this->blob_top_label_->cpu_data()[i]; + Dtype value = this->blob_top_label_->cpu_data()[i]; // Check that the value has not been seen already (no duplicates). EXPECT_EQ(values_to_indices.find(value), values_to_indices.end()); values_to_indices[value] = i; - num_in_order += (value == TypeParam(i)); + num_in_order += (value == Dtype(i)); } EXPECT_EQ(5, values_to_indices.size()); EXPECT_GT(5, num_in_order); diff --git a/src/caffe/test/test_inner_product_layer.cpp b/src/caffe/test/test_inner_product_layer.cpp index 91917df6cae..ad4783f991a 100644 --- a/src/caffe/test/test_inner_product_layer.cpp +++ b/src/caffe/test/test_inner_product_layer.cpp @@ -17,8 +17,9 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class InnerProductLayerTest : public ::testing::Test { +template +class InnerProductLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; protected: InnerProductLayerTest() : blob_bottom_(new Blob(2, 3, 4, 5)), @@ -37,16 +38,16 @@ class InnerProductLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(InnerProductLayerTest, Dtypes); +TYPED_TEST_CASE(InnerProductLayerTest, TestDtypesAndDevices); TYPED_TEST(InnerProductLayerTest, TestSetUp) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; InnerProductParameter* inner_product_param = layer_param.mutable_inner_product_param(); inner_product_param->set_num_output(10); - shared_ptr > layer( - new InnerProductLayer(layer_param)); + shared_ptr > layer( + new InnerProductLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->height(), 1); @@ -54,43 +55,23 @@ TYPED_TEST(InnerProductLayerTest, TestSetUp) { EXPECT_EQ(this->blob_top_->channels(), 10); } -TYPED_TEST(InnerProductLayerTest, TestCPU) { - LayerParameter layer_param; - InnerProductParameter* inner_product_param = - layer_param.mutable_inner_product_param(); - Caffe::set_mode(Caffe::CPU); - inner_product_param->set_num_output(10); - inner_product_param->mutable_weight_filler()->set_type("uniform"); - inner_product_param->mutable_bias_filler()->set_type("uniform"); - inner_product_param->mutable_bias_filler()->set_min(1); - inner_product_param->mutable_bias_filler()->set_max(2); - shared_ptr > layer( - new InnerProductLayer(layer_param)); - layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* data = this->blob_top_->cpu_data(); - const int count = this->blob_top_->count(); - for (int i = 0; i < count; ++i) { - EXPECT_GE(data[i], 1.); - } -} - -TYPED_TEST(InnerProductLayerTest, TestGPU) { - if (sizeof(TypeParam) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) { +TYPED_TEST(InnerProductLayerTest, TestForward) { + typedef typename TypeParam::Dtype Dtype; + if (Caffe::mode() == Caffe::CPU || + sizeof(Dtype) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) { LayerParameter layer_param; InnerProductParameter* inner_product_param = layer_param.mutable_inner_product_param(); - Caffe::set_mode(Caffe::GPU); inner_product_param->set_num_output(10); inner_product_param->mutable_weight_filler()->set_type("uniform"); inner_product_param->mutable_bias_filler()->set_type("uniform"); inner_product_param->mutable_bias_filler()->set_min(1); inner_product_param->mutable_bias_filler()->set_max(2); - shared_ptr > layer( - new InnerProductLayer(layer_param)); + shared_ptr > layer( + new InnerProductLayer(layer_param)); layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* data = this->blob_top_->cpu_data(); + const Dtype* data = this->blob_top_->cpu_data(); const int count = this->blob_top_->count(); for (int i = 0; i < count; ++i) { EXPECT_GE(data[i], 1.); @@ -100,34 +81,21 @@ TYPED_TEST(InnerProductLayerTest, TestGPU) { } } -TYPED_TEST(InnerProductLayerTest, TestCPUGradient) { - LayerParameter layer_param; - InnerProductParameter* inner_product_param = - layer_param.mutable_inner_product_param(); - Caffe::set_mode(Caffe::CPU); - inner_product_param->set_num_output(10); - inner_product_param->mutable_weight_filler()->set_type("gaussian"); - inner_product_param->mutable_bias_filler()->set_type("gaussian"); - inner_product_param->mutable_bias_filler()->set_min(1); - inner_product_param->mutable_bias_filler()->set_max(2); - InnerProductLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(InnerProductLayerTest, TestGPUGradient) { - if (sizeof(TypeParam) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) { +TYPED_TEST(InnerProductLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; + if (Caffe::mode() == Caffe::CPU || + sizeof(Dtype) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) { LayerParameter layer_param; InnerProductParameter* inner_product_param = layer_param.mutable_inner_product_param(); - Caffe::set_mode(Caffe::GPU); inner_product_param->set_num_output(10); inner_product_param->mutable_weight_filler()->set_type("gaussian"); inner_product_param->mutable_bias_filler()->set_type("gaussian"); - InnerProductLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradient(&layer, &(this->blob_bottom_vec_), + inner_product_param->mutable_bias_filler()->set_min(1); + inner_product_param->mutable_bias_filler()->set_max(2); + InnerProductLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } else { LOG(ERROR) << "Skipping test due to old architecture."; diff --git a/src/caffe/test/test_lrn_layer.cpp b/src/caffe/test/test_lrn_layer.cpp index 6996a234fc6..a627c97f40f 100644 --- a/src/caffe/test/test_lrn_layer.cpp +++ b/src/caffe/test/test_lrn_layer.cpp @@ -21,8 +21,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class LRNLayerTest : public ::testing::Test { +template +class LRNLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: LRNLayerTest() : epsilon_(Dtype(1e-5)), @@ -49,10 +51,11 @@ class LRNLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -template -void LRNLayerTest::ReferenceLRNForward( +template +void LRNLayerTest::ReferenceLRNForward( const Blob& blob_bottom, const LayerParameter& layer_param, Blob* blob_top) { + typedef typename TypeParam::Dtype Dtype; blob_top->Reshape(blob_bottom.num(), blob_bottom.channels(), blob_bottom.height(), blob_bottom.width()); Dtype* top_data = blob_top->mutable_cpu_data(); @@ -111,12 +114,12 @@ void LRNLayerTest::ReferenceLRNForward( } } -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(LRNLayerTest, Dtypes); +TYPED_TEST_CASE(LRNLayerTest, TestDtypesAndDevices); TYPED_TEST(LRNLayerTest, TestSetupAcrossChannels) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - LRNLayer layer(layer_param); + LRNLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->channels(), 7); @@ -124,28 +127,13 @@ TYPED_TEST(LRNLayerTest, TestSetupAcrossChannels) { EXPECT_EQ(this->blob_top_->width(), 3); } -TYPED_TEST(LRNLayerTest, TestCPUForwardAcrossChannels) { - LayerParameter layer_param; - LRNLayer layer(layer_param); - Caffe::set_mode(Caffe::CPU); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - Blob top_reference; - this->ReferenceLRNForward(*(this->blob_bottom_), layer_param, - &top_reference); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_NEAR(this->blob_top_->cpu_data()[i], top_reference.cpu_data()[i], - this->epsilon_); - } -} - -TYPED_TEST(LRNLayerTest, TestGPUForwardAcrossChannels) { +TYPED_TEST(LRNLayerTest, TestForwardAcrossChannels) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - LRNLayer layer(layer_param); - Caffe::set_mode(Caffe::GPU); + LRNLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - Blob top_reference; + Blob top_reference; this->ReferenceLRNForward(*(this->blob_bottom_), layer_param, &top_reference); for (int i = 0; i < this->blob_bottom_->count(); ++i) { @@ -154,11 +142,11 @@ TYPED_TEST(LRNLayerTest, TestGPUForwardAcrossChannels) { } } -TYPED_TEST(LRNLayerTest, TestCPUGradientAcrossChannels) { +TYPED_TEST(LRNLayerTest, TestGradientAcrossChannels) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - LRNLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - Caffe::set_mode(Caffe::CPU); + LRNLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); for (int i = 0; i < this->blob_top_->count(); ++i) { @@ -175,33 +163,13 @@ TYPED_TEST(LRNLayerTest, TestCPUGradientAcrossChannels) { &(this->blob_top_vec_)); } -TYPED_TEST(LRNLayerTest, TestGPUGradientAcrossChannels) { - LayerParameter layer_param; - LRNLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - Caffe::set_mode(Caffe::GPU); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - for (int i = 0; i < this->blob_top_->count(); ++i) { - this->blob_top_->mutable_cpu_diff()[i] = 1.; - } - vector propagate_down(this->blob_bottom_vec_.size(), true); - layer.Backward(this->blob_top_vec_, propagate_down, - &(this->blob_bottom_vec_)); - // for (int i = 0; i < this->blob_bottom_->count(); ++i) { - // std::cout << "GPU diff " << this->blob_bottom_->cpu_diff()[i] - // << std::endl; - // } - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - TYPED_TEST(LRNLayerTest, TestSetupWithinChannel) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; layer_param.mutable_lrn_param()->set_norm_region( LRNParameter_NormRegion_WITHIN_CHANNEL); layer_param.mutable_lrn_param()->set_local_size(3); - LRNLayer layer(layer_param); + LRNLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 2); EXPECT_EQ(this->blob_top_->channels(), 7); @@ -209,16 +177,16 @@ TYPED_TEST(LRNLayerTest, TestSetupWithinChannel) { EXPECT_EQ(this->blob_top_->width(), 3); } -TYPED_TEST(LRNLayerTest, TestCPUForwardWithinChannel) { +TYPED_TEST(LRNLayerTest, TestForwardWithinChannel) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; layer_param.mutable_lrn_param()->set_norm_region( LRNParameter_NormRegion_WITHIN_CHANNEL); layer_param.mutable_lrn_param()->set_local_size(3); - LRNLayer layer(layer_param); - Caffe::set_mode(Caffe::CPU); + LRNLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - Blob top_reference; + Blob top_reference; this->ReferenceLRNForward(*(this->blob_bottom_), layer_param, &top_reference); for (int i = 0; i < this->blob_bottom_->count(); ++i) { @@ -227,49 +195,14 @@ TYPED_TEST(LRNLayerTest, TestCPUForwardWithinChannel) { } } -TYPED_TEST(LRNLayerTest, TestGPUForwardWithinChannel) { - LayerParameter layer_param; - layer_param.mutable_lrn_param()->set_norm_region( - LRNParameter_NormRegion_WITHIN_CHANNEL); - layer_param.mutable_lrn_param()->set_local_size(3); - LRNLayer layer(layer_param); - Caffe::set_mode(Caffe::GPU); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - Blob top_reference; - this->ReferenceLRNForward(*(this->blob_bottom_), layer_param, - &top_reference); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_NEAR(this->blob_top_->cpu_data()[i], top_reference.cpu_data()[i], - this->epsilon_); - } -} - -TYPED_TEST(LRNLayerTest, TestCPUGradientWithinChannel) { - LayerParameter layer_param; - layer_param.mutable_lrn_param()->set_norm_region( - LRNParameter_NormRegion_WITHIN_CHANNEL); - layer_param.mutable_lrn_param()->set_local_size(3); - LRNLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - Caffe::set_mode(Caffe::CPU); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - for (int i = 0; i < this->blob_top_->count(); ++i) { - this->blob_top_->mutable_cpu_diff()[i] = 1.; - } - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(LRNLayerTest, TestGPUGradientWithinChannel) { +TYPED_TEST(LRNLayerTest, TestGradientWithinChannel) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; layer_param.mutable_lrn_param()->set_norm_region( LRNParameter_NormRegion_WITHIN_CHANNEL); layer_param.mutable_lrn_param()->set_local_size(3); - LRNLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - Caffe::set_mode(Caffe::GPU); + LRNLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); for (int i = 0; i < this->blob_top_->count(); ++i) { diff --git a/src/caffe/test/test_math_functions.cpp b/src/caffe/test/test_math_functions.cpp index ddb9f060972..2a70c9c4aba 100644 --- a/src/caffe/test/test_math_functions.cpp +++ b/src/caffe/test/test_math_functions.cpp @@ -65,8 +65,7 @@ class MathFunctionsTest : public ::testing::Test { Blob* const blob_top_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(MathFunctionsTest, Dtypes); +TYPED_TEST_CASE(MathFunctionsTest, TestDtypes); TYPED_TEST(MathFunctionsTest, TestNothing) { // The first test case of a test suite takes the longest time diff --git a/src/caffe/test/test_maxpool_dropout_layers.cpp b/src/caffe/test/test_maxpool_dropout_layers.cpp index ac6f86f0cf8..eef375acea7 100644 --- a/src/caffe/test/test_maxpool_dropout_layers.cpp +++ b/src/caffe/test/test_maxpool_dropout_layers.cpp @@ -16,8 +16,9 @@ namespace caffe { -template -class MaxPoolingDropoutTest : public ::testing::Test { +template +class MaxPoolingDropoutTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; protected: MaxPoolingDropoutTest() : blob_bottom_(new Blob()), @@ -40,17 +41,17 @@ class MaxPoolingDropoutTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(MaxPoolingDropoutTest, Dtypes); +TYPED_TEST_CASE(MaxPoolingDropoutTest, TestDtypesAndDevices); TYPED_TEST(MaxPoolingDropoutTest, TestSetup) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(2); - PoolingLayer max_layer(layer_param); + PoolingLayer max_layer(layer_param); max_layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - DropoutLayer dropout_layer(layer_param); + DropoutLayer dropout_layer(layer_param); dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); EXPECT_EQ(this->blob_top_->channels(), this->blob_bottom_->channels()); @@ -59,27 +60,27 @@ TYPED_TEST(MaxPoolingDropoutTest, TestSetup) { } -TYPED_TEST(MaxPoolingDropoutTest, CPUForward) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(MaxPoolingDropoutTest, TestForward) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(2); - PoolingLayer layer(layer_param); + PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* top_data = this->blob_top_->cpu_data(); - TypeParam sum = 0.; + const Dtype* top_data = this->blob_top_->cpu_data(); + Dtype sum = 0.; for (int i = 0; i < this->blob_top_->count(); ++i) { sum += top_data[i]; } EXPECT_EQ(sum, this->blob_top_->count()); // Dropout in-place - DropoutLayer dropout_layer(layer_param); + DropoutLayer dropout_layer(layer_param); dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); sum = 0.; - TypeParam scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); + Dtype scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_top_->count(); ++i) { sum += top_data[i]; @@ -88,81 +89,14 @@ TYPED_TEST(MaxPoolingDropoutTest, CPUForward) { EXPECT_LE(sum, this->blob_top_->count()*scale); } -TYPED_TEST(MaxPoolingDropoutTest, GPUForward) { - Caffe::set_mode(Caffe::GPU); - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - PoolingLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - const TypeParam* top_data = this->blob_top_->cpu_data(); - TypeParam sum = 0.; - for (int i = 0; i < this->blob_top_->count(); ++i) { - sum += top_data[i]; - } - EXPECT_EQ(sum, this->blob_top_->count()); - - DropoutLayer dropout_layer(layer_param); - dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); - dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); - sum = 0.; - TypeParam scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); - top_data = this->blob_top_->cpu_data(); - for (int i = 0; i < this->blob_top_->count(); ++i) { - sum += top_data[i]; - } - EXPECT_GE(sum, 0); - EXPECT_LE(sum, this->blob_top_->count()*scale); -} - -TYPED_TEST(MaxPoolingDropoutTest, CPUBackward) { - Caffe::set_mode(Caffe::CPU); - Caffe::set_phase(Caffe::TRAIN); - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - PoolingLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - for (int i = 0; i < this->blob_top_->count(); ++i) { - this->blob_top_->mutable_cpu_diff()[i] = 1.; - } - vector propagate_down(this->blob_bottom_vec_.size(), true); - layer.Backward(this->blob_top_vec_, propagate_down, - &(this->blob_bottom_vec_)); - const TypeParam* bottom_diff = this->blob_bottom_->cpu_diff(); - TypeParam sum = 0.; - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - sum += bottom_diff[i]; - } - EXPECT_EQ(sum, this->blob_top_->count()); - // Dropout in-place - DropoutLayer dropout_layer(layer_param); - dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); - dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); - dropout_layer.Backward(this->blob_top_vec_, propagate_down, - &(this->blob_top_vec_)); - layer.Backward(this->blob_top_vec_, propagate_down, - &(this->blob_bottom_vec_)); - TypeParam sum_with_dropout = 0.; - bottom_diff = this->blob_bottom_->cpu_diff(); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - sum_with_dropout += bottom_diff[i]; - } - EXPECT_GE(sum_with_dropout, sum); -} - -TYPED_TEST(MaxPoolingDropoutTest, GPUBackward) { - Caffe::set_mode(Caffe::GPU); +TYPED_TEST(MaxPoolingDropoutTest, TestBackward) { + typedef typename TypeParam::Dtype Dtype; Caffe::set_phase(Caffe::TRAIN); LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(2); - PoolingLayer layer(layer_param); + PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); for (int i = 0; i < this->blob_top_->count(); ++i) { @@ -171,21 +105,21 @@ TYPED_TEST(MaxPoolingDropoutTest, GPUBackward) { vector propagate_down(this->blob_bottom_vec_.size(), true); layer.Backward(this->blob_top_vec_, propagate_down, &(this->blob_bottom_vec_)); - const TypeParam* bottom_diff = this->blob_bottom_->cpu_diff(); - TypeParam sum = 0.; + const Dtype* bottom_diff = this->blob_bottom_->cpu_diff(); + Dtype sum = 0.; for (int i = 0; i < this->blob_bottom_->count(); ++i) { sum += bottom_diff[i]; } EXPECT_EQ(sum, this->blob_top_->count()); // Dropout in-place - DropoutLayer dropout_layer(layer_param); + DropoutLayer dropout_layer(layer_param); dropout_layer.SetUp(this->blob_top_vec_, &(this->blob_top_vec_)); dropout_layer.Forward(this->blob_top_vec_, &(this->blob_top_vec_)); dropout_layer.Backward(this->blob_top_vec_, propagate_down, &(this->blob_top_vec_)); layer.Backward(this->blob_top_vec_, propagate_down, &(this->blob_bottom_vec_)); - TypeParam sum_with_dropout = 0.; + Dtype sum_with_dropout = 0.; bottom_diff = this->blob_bottom_->cpu_diff(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { sum_with_dropout += bottom_diff[i]; diff --git a/src/caffe/test/test_memory_data_layer.cpp b/src/caffe/test/test_memory_data_layer.cpp index 9781439f2fe..c9d588986c2 100644 --- a/src/caffe/test/test_memory_data_layer.cpp +++ b/src/caffe/test/test_memory_data_layer.cpp @@ -55,8 +55,7 @@ class MemoryDataLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(MemoryDataLayerTest, Dtypes); +TYPED_TEST_CASE(MemoryDataLayerTest, TestDtypes); TYPED_TEST(MemoryDataLayerTest, TestSetup) { LayerParameter layer_param; diff --git a/src/caffe/test/test_multinomial_logistic_loss_layer.cpp b/src/caffe/test/test_multinomial_logistic_loss_layer.cpp index aa475ca27c7..d73347e8e2e 100644 --- a/src/caffe/test/test_multinomial_logistic_loss_layer.cpp +++ b/src/caffe/test/test_multinomial_logistic_loss_layer.cpp @@ -46,8 +46,7 @@ class MultinomialLogisticLossLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(MultinomialLogisticLossLayerTest, Dtypes); +TYPED_TEST_CASE(MultinomialLogisticLossLayerTest, TestDtypes); TYPED_TEST(MultinomialLogisticLossLayerTest, TestGradientCPU) { diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index 18b03476996..129d4447c41 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -16,8 +16,10 @@ namespace caffe { -template +template class NetTest : public ::testing::Test { + typedef typename TypeParam::Dtype Dtype; + protected: NetTest() : seed_(1701) {} @@ -456,8 +458,7 @@ class NetTest : public ::testing::Test { shared_ptr > net_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(NetTest, Dtypes); +TYPED_TEST_CASE(NetTest, TestDtypesAndDevices); TYPED_TEST(NetTest, TestHasBlob) { this->InitTinyNet(); @@ -507,6 +508,7 @@ TYPED_TEST(NetTest, TestBottomNeedBackward) { } TYPED_TEST(NetTest, TestBottomNeedBackwardForce) { + typedef typename TypeParam::Dtype Dtype; const bool force_backward = true; this->InitTinyNet(force_backward); const vector >& bottom_need_backward = @@ -521,6 +523,7 @@ TYPED_TEST(NetTest, TestBottomNeedBackwardForce) { } TYPED_TEST(NetTest, TestBottomNeedBackwardEuclideanForce) { + typedef typename TypeParam::Dtype Dtype; const bool force_backward = true; this->InitTinyNetEuclidean(force_backward); const vector >& bottom_need_backward = @@ -553,32 +556,35 @@ TYPED_TEST(NetTest, TestBottomNeedBackwardTricky) { } TYPED_TEST(NetTest, TestUnsharedWeightsDataNet) { + typedef typename TypeParam::Dtype Dtype; this->InitUnsharedWeightsNet(); - vector*> bottom; - TypeParam loss; + vector*> bottom; + Dtype loss; this->net_->Forward(bottom, &loss); EXPECT_GT(loss, 0); } TYPED_TEST(NetTest, TestSharedWeightsDataNet) { + typedef typename TypeParam::Dtype Dtype; this->InitSharedWeightsNet(); - vector*> bottom; - TypeParam loss; + vector*> bottom; + Dtype loss; this->net_->Forward(bottom, &loss); EXPECT_FLOAT_EQ(loss, 0); } TYPED_TEST(NetTest, TestUnsharedWeightsDiffNet) { + typedef typename TypeParam::Dtype Dtype; this->InitUnsharedWeightsNet(); - vector*> bottom; - Net* net = this->net_.get(); + vector*> bottom; + Net* net = this->net_.get(); net->Forward(bottom); net->Backward(); - Layer* ip1_layer = net->layer_by_name("innerproduct1").get(); - Layer* ip2_layer = net->layer_by_name("innerproduct2").get(); + Layer* ip1_layer = net->layer_by_name("innerproduct1").get(); + Layer* ip2_layer = net->layer_by_name("innerproduct2").get(); const int count = ip1_layer->blobs()[0]->count(); - const TypeParam* grad1 = ip1_layer->blobs()[0]->cpu_diff(); - const TypeParam* grad2 = ip2_layer->blobs()[0]->cpu_diff(); + const Dtype* grad1 = ip1_layer->blobs()[0]->cpu_diff(); + const Dtype* grad2 = ip2_layer->blobs()[0]->cpu_diff(); for (int i = 0; i < count; ++i) { EXPECT_GT(fabs(grad1[i]), 0); EXPECT_FLOAT_EQ(-1 * grad1[i], grad2[i]); @@ -586,120 +592,34 @@ TYPED_TEST(NetTest, TestUnsharedWeightsDiffNet) { } TYPED_TEST(NetTest, TestSharedWeightsDiffNet) { + typedef typename TypeParam::Dtype Dtype; this->InitSharedWeightsNet(); - vector*> bottom; - Net* net = this->net_.get(); - TypeParam loss; + vector*> bottom; + Net* net = this->net_.get(); + Dtype loss; net->Forward(bottom, &loss); net->Backward(); EXPECT_FLOAT_EQ(loss, 0); - Layer* ip1_layer = net->layer_by_name("innerproduct1").get(); - Layer* ip2_layer = net->layer_by_name("innerproduct2").get(); + Layer* ip1_layer = net->layer_by_name("innerproduct1").get(); + Layer* ip2_layer = net->layer_by_name("innerproduct2").get(); const int count = ip1_layer->blobs()[0]->count(); - const TypeParam* grad1 = ip1_layer->blobs()[0]->cpu_diff(); - const TypeParam* grad2 = ip2_layer->blobs()[0]->cpu_diff(); + const Dtype* grad1 = ip1_layer->blobs()[0]->cpu_diff(); + const Dtype* grad2 = ip2_layer->blobs()[0]->cpu_diff(); for (int i = 0; i < count; ++i) { EXPECT_FLOAT_EQ(0, grad1[i]); EXPECT_FLOAT_EQ(0, grad2[i]); } } -TYPED_TEST(NetTest, TestSharedWeightsUpdateCPU) { - Caffe::set_random_seed(this->seed_); - Caffe::set_mode(Caffe::CPU); - this->InitDiffDataSharedWeightsNet(); - vector*> bottom; - EXPECT_EQ(this->net_->layer_names()[1], "innerproduct1"); - EXPECT_EQ(this->net_->layer_names()[2], "innerproduct2"); - Blob* ip1_weights = this->net_->layers()[1]->blobs()[0].get(); - Blob* ip2_weights = this->net_->layers()[2]->blobs()[0].get(); - // Check that data blobs of shared weights share the same location in memory. - EXPECT_EQ(ip1_weights->cpu_data(), ip2_weights->cpu_data()); - // Check that diff blobs of shared weights are at different locations in - // locations. (The diffs should be accumulated at update time.) - EXPECT_NE(ip1_weights->cpu_diff(), ip2_weights->cpu_diff()); - this->net_->Forward(bottom); - this->net_->Backward(); - // Compute the expected update as the data minus the two diffs. - Blob shared_params; - const bool reshape = true; - const bool copy_diff = false; - shared_params.CopyFrom(*ip1_weights, copy_diff, reshape); - shared_params.CopyFrom(*ip1_weights, !copy_diff, reshape); - const int count = ip1_weights->count(); - // Make sure the diffs are non-trivial. - for (int i = 0; i < count; ++i) { - EXPECT_NE(0, ip1_weights->cpu_diff()[i]); - EXPECT_NE(0, ip2_weights->cpu_diff()[i]); - EXPECT_NE(ip1_weights->cpu_diff()[i], ip2_weights->cpu_diff()[i]); - } - caffe_axpy(count, TypeParam(1), ip2_weights->cpu_diff(), - shared_params.mutable_cpu_diff()); - caffe_axpy(count, TypeParam(-1), shared_params.cpu_diff(), - shared_params.mutable_cpu_data()); - const TypeParam* expected_updated_params = shared_params.cpu_data(); - this->net_->Update(); - const TypeParam* actual_updated_params = ip1_weights->cpu_data(); - for (int i = 0; i < count; ++i) { - EXPECT_EQ(expected_updated_params[i], actual_updated_params[i]); - } - // Check that data blobs of shared weights STILL point to the same memory - // location (because ... who knows). - EXPECT_EQ(ip1_weights->cpu_data(), ip2_weights->cpu_data()); - - Caffe::set_random_seed(this->seed_); - this->InitDiffDataUnsharedWeightsNet(); - EXPECT_EQ(this->net_->layer_names()[1], "innerproduct1"); - EXPECT_EQ(this->net_->layer_names()[2], "innerproduct2"); - ip1_weights = this->net_->layers()[1]->blobs()[0].get(); - ip2_weights = this->net_->layers()[2]->blobs()[0].get(); - // Check that data and diff blobs of unshared weights are at different - // locations in memory. - EXPECT_NE(ip1_weights->cpu_data(), ip2_weights->cpu_data()); - EXPECT_NE(ip1_weights->cpu_diff(), ip2_weights->cpu_diff()); - this->net_->Forward(bottom); - this->net_->Backward(); - // Compute the expected update. - Blob unshared_params1; - unshared_params1.CopyFrom(*ip1_weights, copy_diff, reshape); - unshared_params1.CopyFrom(*ip1_weights, !copy_diff, reshape); - Blob unshared_params2; - unshared_params2.CopyFrom(*ip2_weights, copy_diff, reshape); - unshared_params2.CopyFrom(*ip2_weights, !copy_diff, reshape); - // Make sure the diffs are non-trivial and sum to the diff in the shared net. - for (int i = 0; i < count; ++i) { - EXPECT_NE(0, ip1_weights->cpu_diff()[i]); - EXPECT_NE(0, ip2_weights->cpu_diff()[i]); - EXPECT_NE(ip1_weights->cpu_diff()[i], ip2_weights->cpu_diff()[i]); - EXPECT_EQ(ip1_weights->cpu_diff()[i] + ip2_weights->cpu_diff()[i], - shared_params.cpu_diff()[i]); - } - caffe_axpy(count, TypeParam(-1), ip1_weights->cpu_diff(), - unshared_params1.mutable_cpu_data()); - caffe_axpy(count, TypeParam(-1), ip2_weights->cpu_diff(), - unshared_params2.mutable_cpu_data()); - const TypeParam* expected_updated_params1 = unshared_params1.cpu_data(); - const TypeParam* expected_updated_params2 = unshared_params2.cpu_data(); - this->net_->Update(); - const TypeParam* actual_updated_params1 = ip1_weights->cpu_data(); - const TypeParam* actual_updated_params2 = ip2_weights->cpu_data(); - for (int i = 0; i < count; ++i) { - EXPECT_EQ(expected_updated_params1[i], actual_updated_params1[i]); - EXPECT_EQ(expected_updated_params2[i], actual_updated_params2[i]); - EXPECT_NE(actual_updated_params1[i], actual_updated_params2[i]); - EXPECT_NE(expected_updated_params, expected_updated_params1); - } -} - -TYPED_TEST(NetTest, TestSharedWeightsUpdateGPU) { +TYPED_TEST(NetTest, TestSharedWeightsUpdate) { + typedef typename TypeParam::Dtype Dtype; Caffe::set_random_seed(this->seed_); - Caffe::set_mode(Caffe::GPU); this->InitDiffDataSharedWeightsNet(); - vector*> bottom; + vector*> bottom; EXPECT_EQ(this->net_->layer_names()[1], "innerproduct1"); EXPECT_EQ(this->net_->layer_names()[2], "innerproduct2"); - Blob* ip1_weights = this->net_->layers()[1]->blobs()[0].get(); - Blob* ip2_weights = this->net_->layers()[2]->blobs()[0].get(); + Blob* ip1_weights = this->net_->layers()[1]->blobs()[0].get(); + Blob* ip2_weights = this->net_->layers()[2]->blobs()[0].get(); // Check that data blobs of shared weights share the same location in memory. EXPECT_EQ(ip1_weights->cpu_data(), ip2_weights->cpu_data()); // Check that diff blobs of shared weights are at different locations in @@ -708,7 +628,7 @@ TYPED_TEST(NetTest, TestSharedWeightsUpdateGPU) { this->net_->Forward(bottom); this->net_->Backward(); // Compute the expected update as the data minus the two diffs. - Blob shared_params; + Blob shared_params; const bool reshape = true; const bool copy_diff = false; shared_params.CopyFrom(*ip1_weights, copy_diff, reshape); @@ -720,13 +640,13 @@ TYPED_TEST(NetTest, TestSharedWeightsUpdateGPU) { EXPECT_NE(0, ip2_weights->cpu_diff()[i]); EXPECT_NE(ip1_weights->cpu_diff()[i], ip2_weights->cpu_diff()[i]); } - caffe_axpy(count, TypeParam(1), ip2_weights->cpu_diff(), + caffe_axpy(count, Dtype(1), ip2_weights->cpu_diff(), shared_params.mutable_cpu_diff()); - caffe_axpy(count, TypeParam(-1), shared_params.cpu_diff(), + caffe_axpy(count, Dtype(-1), shared_params.cpu_diff(), shared_params.mutable_cpu_data()); - const TypeParam* expected_updated_params = shared_params.cpu_data(); + const Dtype* expected_updated_params = shared_params.cpu_data(); this->net_->Update(); - const TypeParam* actual_updated_params = ip1_weights->cpu_data(); + const Dtype* actual_updated_params = ip1_weights->cpu_data(); for (int i = 0; i < count; ++i) { EXPECT_EQ(expected_updated_params[i], actual_updated_params[i]); } @@ -747,10 +667,10 @@ TYPED_TEST(NetTest, TestSharedWeightsUpdateGPU) { this->net_->Forward(bottom); this->net_->Backward(); // Compute the expected update. - Blob unshared_params1; + Blob unshared_params1; unshared_params1.CopyFrom(*ip1_weights, copy_diff, reshape); unshared_params1.CopyFrom(*ip1_weights, !copy_diff, reshape); - Blob unshared_params2; + Blob unshared_params2; unshared_params2.CopyFrom(*ip2_weights, copy_diff, reshape); unshared_params2.CopyFrom(*ip2_weights, !copy_diff, reshape); // Make sure the diffs are non-trivial and sum to the diff in the shared net. @@ -761,15 +681,15 @@ TYPED_TEST(NetTest, TestSharedWeightsUpdateGPU) { EXPECT_EQ(ip1_weights->cpu_diff()[i] + ip2_weights->cpu_diff()[i], shared_params.cpu_diff()[i]); } - caffe_axpy(count, TypeParam(-1), ip1_weights->cpu_diff(), + caffe_axpy(count, Dtype(-1), ip1_weights->cpu_diff(), unshared_params1.mutable_cpu_data()); - caffe_axpy(count, TypeParam(-1), ip2_weights->cpu_diff(), + caffe_axpy(count, Dtype(-1), ip2_weights->cpu_diff(), unshared_params2.mutable_cpu_data()); - const TypeParam* expected_updated_params1 = unshared_params1.cpu_data(); - const TypeParam* expected_updated_params2 = unshared_params2.cpu_data(); + const Dtype* expected_updated_params1 = unshared_params1.cpu_data(); + const Dtype* expected_updated_params2 = unshared_params2.cpu_data(); this->net_->Update(); - const TypeParam* actual_updated_params1 = ip1_weights->cpu_data(); - const TypeParam* actual_updated_params2 = ip2_weights->cpu_data(); + const Dtype* actual_updated_params1 = ip1_weights->cpu_data(); + const Dtype* actual_updated_params2 = ip2_weights->cpu_data(); for (int i = 0; i < count; ++i) { EXPECT_EQ(expected_updated_params1[i], actual_updated_params1[i]); EXPECT_EQ(expected_updated_params2[i], actual_updated_params2[i]); diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index a439128a13b..f44471843a9 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -17,8 +17,9 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class NeuronLayerTest : public ::testing::Test { +template +class NeuronLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; protected: NeuronLayerTest() : blob_bottom_(new Blob(2, 3, 4, 5)), @@ -38,97 +39,41 @@ class NeuronLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(NeuronLayerTest, Dtypes); +TYPED_TEST_CASE(NeuronLayerTest, TestDtypesAndDevices); -TYPED_TEST(NeuronLayerTest, TestReLUCPU) { +TYPED_TEST(NeuronLayerTest, TestReLU) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - ReLULayer layer(layer_param); + ReLULayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_TRUE(top_data[i] == 0 || top_data[i] == bottom_data[i]); } } - -TYPED_TEST(NeuronLayerTest, TestReLUGradientCPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - ReLULayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3, 1701, 0., 0.01); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - - -TYPED_TEST(NeuronLayerTest, TestReLUGPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - ReLULayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_GE(top_data[i], 0.); - EXPECT_TRUE(top_data[i] == 0 || top_data[i] == bottom_data[i]); - } -} - - -TYPED_TEST(NeuronLayerTest, TestReLUGradientGPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - ReLULayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3, 1701, 0., 0.01); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - - -TYPED_TEST(NeuronLayerTest, TestSigmoidCPU) { +TYPED_TEST(NeuronLayerTest, TestReLUGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - SigmoidLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_FLOAT_EQ(top_data[i], 1. / (1 + exp(-bottom_data[i]))); - // check that we squashed the value between 0 and 1 - EXPECT_GE(top_data[i], 0.); - EXPECT_LE(top_data[i], 1.); - } -} - - -TYPED_TEST(NeuronLayerTest, TestSigmoidGradientCPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - SigmoidLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3, 1701, 0., 0.01); + ReLULayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3, 1701, 0., 0.01); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } -TYPED_TEST(NeuronLayerTest, TestSigmoidGPU) { +TYPED_TEST(NeuronLayerTest, TestSigmoid) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - SigmoidLayer layer(layer_param); + SigmoidLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_FLOAT_EQ(top_data[i], 1. / (1 + exp(-bottom_data[i]))); // check that we squashed the value between 0 and 1 @@ -137,28 +82,25 @@ TYPED_TEST(NeuronLayerTest, TestSigmoidGPU) { } } - -TYPED_TEST(NeuronLayerTest, TestSigmoidGradientGPU) { +TYPED_TEST(NeuronLayerTest, TestSigmoidGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - SigmoidLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3, 1701, 0., 0.01); + SigmoidLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3, 1701, 0., 0.01); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } - - -TYPED_TEST(NeuronLayerTest, TestDropoutCPU) { +TYPED_TEST(NeuronLayerTest, TestDropout) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); Caffe::set_phase(Caffe::TRAIN); - DropoutLayer layer(layer_param); + DropoutLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); for (int i = 0; i < this->blob_bottom_->count(); ++i) { if (top_data[i] != 0) { @@ -167,37 +109,16 @@ TYPED_TEST(NeuronLayerTest, TestDropoutCPU) { } } - -TYPED_TEST(NeuronLayerTest, TestDropoutGradientCPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - Caffe::set_phase(Caffe::TRAIN); - DropoutLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(NeuronLayerTest, TestDropoutGradientCPUTest) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - Caffe::set_phase(Caffe::TEST); - DropoutLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(NeuronLayerTest, TestDropoutCPUTestPhase) { +TYPED_TEST(NeuronLayerTest, TestDropoutTestPhase) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); Caffe::set_phase(Caffe::TEST); - DropoutLayer layer(layer_param); + DropoutLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { if (top_data[i] != 0) { EXPECT_EQ(top_data[i], bottom_data[i]); @@ -205,116 +126,46 @@ TYPED_TEST(NeuronLayerTest, TestDropoutCPUTestPhase) { } } - -TYPED_TEST(NeuronLayerTest, TestDropoutGPU) { +TYPED_TEST(NeuronLayerTest, TestDropoutGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); Caffe::set_phase(Caffe::TRAIN); - DropoutLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - if (top_data[i] != 0) { - EXPECT_EQ(top_data[i], bottom_data[i] * scale); - } - } -} - - -TYPED_TEST(NeuronLayerTest, TestDropoutGradientGPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - Caffe::set_phase(Caffe::TRAIN); - DropoutLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - // it is too expensive to call curand multiple times, so we don't do an - // exhaustive gradient check. - checker.CheckGradient(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(NeuronLayerTest, TestDropoutGradientGPUTest) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - Caffe::set_phase(Caffe::TEST); - DropoutLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - // it is too expensive to call curand multiple times, so we don't do an - // exhaustive gradient check. - checker.CheckGradient(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); + DropoutLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); } - -TYPED_TEST(NeuronLayerTest, TestDropoutGPUTestPhase) { +TYPED_TEST(NeuronLayerTest, TestDropoutGradientTest) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); Caffe::set_phase(Caffe::TEST); - DropoutLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - if (top_data[i] != 0) { - EXPECT_EQ(top_data[i], bottom_data[i]); - } - } -} - - -TYPED_TEST(NeuronLayerTest, TestBNLLCPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - BNLLLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_GE(top_data[i], 0.); - EXPECT_GE(top_data[i], bottom_data[i]); - } -} - - -TYPED_TEST(NeuronLayerTest, TestBNLLGradientCPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - BNLLLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + DropoutLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } - -TYPED_TEST(NeuronLayerTest, TestBNLLGPU) { +TYPED_TEST(NeuronLayerTest, TestBNLL) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - BNLLLayer layer(layer_param); + BNLLLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_GE(top_data[i], bottom_data[i]); } } - -TYPED_TEST(NeuronLayerTest, TestBNLLGradientGPU) { +TYPED_TEST(NeuronLayerTest, TestBNLLGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - BNLLLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + BNLLLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index fdc3ea4cafa..b209d821a32 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -17,8 +17,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class PoolingLayerTest : public ::testing::Test { +template +class PoolingLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: PoolingLayerTest() : blob_bottom_(new Blob()), @@ -370,15 +372,15 @@ class PoolingLayerTest : public ::testing::Test { } }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(PoolingLayerTest, Dtypes); +TYPED_TEST_CASE(PoolingLayerTest, TestDtypesAndDevices); TYPED_TEST(PoolingLayerTest, TestSetup) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(2); - PoolingLayer layer(layer_param); + PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); EXPECT_EQ(this->blob_top_->channels(), this->blob_bottom_->channels()); @@ -387,13 +389,14 @@ TYPED_TEST(PoolingLayerTest, TestSetup) { } TYPED_TEST(PoolingLayerTest, TestSetupPadded) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(2); pooling_param->set_pad(1); pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - PoolingLayer layer(layer_param); + PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); EXPECT_EQ(this->blob_top_->channels(), this->blob_bottom_->channels()); @@ -402,41 +405,11 @@ TYPED_TEST(PoolingLayerTest, TestSetupPadded) { } /* -TYPED_TEST(PoolingLayerTest, PrintGPUBackward) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - cout << "bottom data " << i << " " << this->blob_bottom_->cpu_data()[i] << endl; - } - for (int i = 0; i < this->blob_top_->count(); ++i) { - cout << "top data " << i << " " << this->blob_top_->cpu_data()[i] << endl; - } - - for (int i = 0; i < this->blob_top_->count(); ++i) { - this->blob_top_->mutable_cpu_diff()[i] = 1.; - } - layer.Backward(this->blob_top_vec_, true, &(this->blob_bottom_vec_)); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - cout << "bottom diff " << i << " " << this->blob_bottom_->cpu_diff()[i] << endl; - } -} -*/ - -/* -TYPED_TEST(PoolingLayerTest, PrintCPUBackward) { +TYPED_TEST(PoolingLayerTest, PrintBackward) { LayerParameter layer_param; layer_param.set_kernelsize(3); layer_param.set_stride(2); layer_param.set_pool(LayerParameter_PoolMethod_MAX); - Caffe::set_mode(Caffe::CPU); PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -457,56 +430,21 @@ TYPED_TEST(PoolingLayerTest, PrintCPUBackward) { } */ -TYPED_TEST(PoolingLayerTest, TestCPUForwardMax) { - Caffe::set_mode(Caffe::CPU); - this->TestForwardSquare(); - this->TestForwardRectHigh(); - this->TestForwardRectWide(); -} - -TYPED_TEST(PoolingLayerTest, TestGPUForwardMax) { - Caffe::set_mode(Caffe::GPU); +TYPED_TEST(PoolingLayerTest, TestForwardMax) { this->TestForwardSquare(); this->TestForwardRectHigh(); this->TestForwardRectWide(); } -TYPED_TEST(PoolingLayerTest, TestCPUForwardMaxTopMask) { - Caffe::set_mode(Caffe::CPU); +TYPED_TEST(PoolingLayerTest, TestForwardMaxTopMask) { this->blob_top_vec_.push_back(this->blob_top_mask_); this->TestForwardSquare(); this->TestForwardRectHigh(); this->TestForwardRectWide(); } -TYPED_TEST(PoolingLayerTest, TestGPUForwardMaxTopMask) { - Caffe::set_mode(Caffe::GPU); - this->blob_top_vec_.push_back(this->blob_top_mask_); - this->TestForwardSquare(); - this->TestForwardRectHigh(); - this->TestForwardRectWide(); -} - -TYPED_TEST(PoolingLayerTest, TestCPUGradientMax) { - for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { - for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_h(kernel_h); - pooling_param->set_kernel_w(kernel_w); - pooling_param->set_stride(2); - pooling_param->set_pad(1); - pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - Caffe::set_mode(Caffe::CPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-4, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); - } - } -} - -TYPED_TEST(PoolingLayerTest, TestGPUGradientMax) { +TYPED_TEST(PoolingLayerTest, TestGradientMax) { + typedef typename TypeParam::Dtype Dtype; for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { LayerParameter layer_param; @@ -516,23 +454,22 @@ TYPED_TEST(PoolingLayerTest, TestGPUGradientMax) { pooling_param->set_stride(2); pooling_param->set_pad(1); pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-4, 1e-2); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-4, 1e-2); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } } } -TYPED_TEST(PoolingLayerTest, TestCPUForwardMaxPadded) { +TYPED_TEST(PoolingLayerTest, TestForwardMaxPadded) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(2); pooling_param->set_pad(2); pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - Caffe::set_mode(Caffe::CPU); this->blob_bottom_->Reshape(1, 1, 3, 3); // Input: // [ 1 2 4 ] @@ -547,14 +484,14 @@ TYPED_TEST(PoolingLayerTest, TestCPUForwardMaxPadded) { this->blob_bottom_->mutable_cpu_data()[6] = 4; this->blob_bottom_->mutable_cpu_data()[7] = 2; this->blob_bottom_->mutable_cpu_data()[8] = 1; - PoolingLayer layer(layer_param); + PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 1); EXPECT_EQ(this->blob_top_->channels(), 1); EXPECT_EQ(this->blob_top_->height(), 3); EXPECT_EQ(this->blob_top_->width(), 3); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - TypeParam epsilon = 1e-8; + Dtype epsilon = 1e-8; // Output: // [ 1 4 4 ] // [ 4 4 4 ] @@ -570,54 +507,8 @@ TYPED_TEST(PoolingLayerTest, TestCPUForwardMaxPadded) { EXPECT_NEAR(this->blob_top_->cpu_data()[8], 1, epsilon); } - -TYPED_TEST(PoolingLayerTest, TestGPUForwardMaxPadded) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(2); - pooling_param->set_pad(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - Caffe::set_mode(Caffe::GPU); - this->blob_bottom_->Reshape(1, 1, 3, 3); - // Input: - // [ 1 2 4 ] - // [ 2 3 2 ] - // [ 4 2 1 ] - this->blob_bottom_->mutable_cpu_data()[0] = 1; - this->blob_bottom_->mutable_cpu_data()[1] = 2; - this->blob_bottom_->mutable_cpu_data()[2] = 4; - this->blob_bottom_->mutable_cpu_data()[3] = 2; - this->blob_bottom_->mutable_cpu_data()[4] = 3; - this->blob_bottom_->mutable_cpu_data()[5] = 2; - this->blob_bottom_->mutable_cpu_data()[6] = 4; - this->blob_bottom_->mutable_cpu_data()[7] = 2; - this->blob_bottom_->mutable_cpu_data()[8] = 1; - PoolingLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - EXPECT_EQ(this->blob_top_->num(), 1); - EXPECT_EQ(this->blob_top_->channels(), 1); - EXPECT_EQ(this->blob_top_->height(), 3); - EXPECT_EQ(this->blob_top_->width(), 3); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - TypeParam epsilon = 1e-8; - // Output: - // [ 1 4 4 ] - // [ 4 4 4 ] - // [ 4 4 1 ] - EXPECT_NEAR(this->blob_top_->cpu_data()[0], 1, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[1], 4, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[2], 4, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[3], 4, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[4], 4, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[5], 4, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[6], 4, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[7], 4, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[8], 1, epsilon); -} - - -TYPED_TEST(PoolingLayerTest, TestCPUGradientMaxTopMask) { +TYPED_TEST(PoolingLayerTest, TestGradientMaxTopMask) { + typedef typename TypeParam::Dtype Dtype; for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { LayerParameter layer_param; @@ -627,9 +518,8 @@ TYPED_TEST(PoolingLayerTest, TestCPUGradientMaxTopMask) { pooling_param->set_stride(2); pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); this->blob_top_vec_.push_back(this->blob_top_mask_); - Caffe::set_mode(Caffe::CPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-4, 1e-2); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-4, 1e-2); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); this->blob_top_vec_.pop_back(); @@ -637,48 +527,27 @@ TYPED_TEST(PoolingLayerTest, TestCPUGradientMaxTopMask) { } } -TYPED_TEST(PoolingLayerTest, TestGPUGradientMaxTopMask) { - for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { - for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_h(kernel_h); - pooling_param->set_kernel_w(kernel_w); - pooling_param->set_stride(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_MAX); - this->blob_top_vec_.push_back(this->blob_top_mask_); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-4, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); - this->blob_top_vec_.pop_back(); - } - } -} - - -TYPED_TEST(PoolingLayerTest, TestCPUForwardAve) { +TYPED_TEST(PoolingLayerTest, TestForwardAve) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); pooling_param->set_kernel_size(3); pooling_param->set_stride(1); pooling_param->set_pad(1); pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::CPU); this->blob_bottom_->Reshape(1, 1, 3, 3); FillerParameter filler_param; - filler_param.set_value(TypeParam(2)); - ConstantFiller filler(filler_param); + filler_param.set_value(Dtype(2)); + ConstantFiller filler(filler_param); filler.Fill(this->blob_bottom_); - PoolingLayer layer(layer_param); + PoolingLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), 1); EXPECT_EQ(this->blob_top_->channels(), 1); EXPECT_EQ(this->blob_top_->height(), 3); EXPECT_EQ(this->blob_top_->width(), 3); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - TypeParam epsilon = 1e-5; + Dtype epsilon = 1e-5; EXPECT_NEAR(this->blob_top_->cpu_data()[0], 8.0 / 9, epsilon); EXPECT_NEAR(this->blob_top_->cpu_data()[1], 4.0 / 3, epsilon); EXPECT_NEAR(this->blob_top_->cpu_data()[2], 8.0 / 9, epsilon); @@ -690,79 +559,8 @@ TYPED_TEST(PoolingLayerTest, TestCPUForwardAve) { EXPECT_NEAR(this->blob_top_->cpu_data()[8], 8.0 / 9, epsilon); } - -TYPED_TEST(PoolingLayerTest, TestGPUForwardAve) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_size(3); - pooling_param->set_stride(1); - pooling_param->set_pad(1); - pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::GPU); - this->blob_bottom_->Reshape(1, 1, 3, 3); - FillerParameter filler_param; - filler_param.set_value(TypeParam(2)); - ConstantFiller filler(filler_param); - filler.Fill(this->blob_bottom_); - PoolingLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - EXPECT_EQ(this->blob_top_->num(), 1); - EXPECT_EQ(this->blob_top_->channels(), 1); - EXPECT_EQ(this->blob_top_->height(), 3); - EXPECT_EQ(this->blob_top_->width(), 3); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - TypeParam epsilon = 1e-5; - EXPECT_NEAR(this->blob_top_->cpu_data()[0], 8.0 / 9, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[1], 4.0 / 3, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[2], 8.0 / 9, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[3], 4.0 / 3, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[4], 2.0 , epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[5], 4.0 / 3, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[6], 8.0 / 9, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[7], 4.0 / 3, epsilon); - EXPECT_NEAR(this->blob_top_->cpu_data()[8], 8.0 / 9, epsilon); -} - - -TYPED_TEST(PoolingLayerTest, TestCPUGradientAve) { - for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { - for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_h(kernel_h); - pooling_param->set_kernel_w(kernel_w); - pooling_param->set_stride(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::CPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); - } - } -} - - -TYPED_TEST(PoolingLayerTest, TestGPUGradientAve) { - for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { - for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { - LayerParameter layer_param; - PoolingParameter* pooling_param = layer_param.mutable_pooling_param(); - pooling_param->set_kernel_h(kernel_h); - pooling_param->set_kernel_w(kernel_w); - pooling_param->set_stride(2); - pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); - } - } -} - - -TYPED_TEST(PoolingLayerTest, TestCPUGradientAvePadded) { +TYPED_TEST(PoolingLayerTest, TestGradientAve) { + typedef typename TypeParam::Dtype Dtype; for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { LayerParameter layer_param; @@ -770,19 +568,17 @@ TYPED_TEST(PoolingLayerTest, TestCPUGradientAvePadded) { pooling_param->set_kernel_h(kernel_h); pooling_param->set_kernel_w(kernel_w); pooling_param->set_stride(2); - pooling_param->set_pad(2); pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::CPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } } } - -TYPED_TEST(PoolingLayerTest, TestGPUGradientAvePadded) { +TYPED_TEST(PoolingLayerTest, TestGradientAvePadded) { + typedef typename TypeParam::Dtype Dtype; for (int kernel_h = 3; kernel_h <= 4; kernel_h++) { for (int kernel_w = 3; kernel_w <= 4; kernel_w++) { LayerParameter layer_param; @@ -792,9 +588,8 @@ TYPED_TEST(PoolingLayerTest, TestGPUGradientAvePadded) { pooling_param->set_stride(2); pooling_param->set_pad(2); pooling_param->set_pool(PoolingParameter_PoolMethod_AVE); - Caffe::set_mode(Caffe::GPU); - PoolingLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); + PoolingLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_power_layer.cpp b/src/caffe/test/test_power_layer.cpp index 99b127d3dbc..a1b716ad531 100644 --- a/src/caffe/test/test_power_layer.cpp +++ b/src/caffe/test/test_power_layer.cpp @@ -20,8 +20,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class PowerLayerTest : public ::testing::Test { +template +class PowerLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: PowerLayerTest() : blob_bottom_(new Blob(2, 3, 4, 5)), @@ -90,166 +92,85 @@ class PowerLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(PowerLayerTest, Dtypes); - -TYPED_TEST(PowerLayerTest, TestPowerCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 0.37; - TypeParam scale = 0.83; - TypeParam shift = -2.4; - this->TestForward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerGradientCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 0.37; - TypeParam scale = 0.83; - TypeParam shift = -2.4; - this->TestBackward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerGradientShiftZeroCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 0.37; - TypeParam scale = 0.83; - TypeParam shift = 0.0; - this->TestBackward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerZeroCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 0.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; - this->TestForward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerZeroGradientCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 0.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; - this->TestBackward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerOneCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 1.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; - this->TestForward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerOneGradientCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 1.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; - this->TestBackward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerTwoCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 2.0; - TypeParam scale = 0.34; - TypeParam shift = -2.4; - this->TestForward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerTwoGradientCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 2.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; - this->TestBackward(power, scale, shift); -} - -TYPED_TEST(PowerLayerTest, TestPowerTwoScaleHalfGradientCPU) { - Caffe::set_mode(Caffe::CPU); - TypeParam power = 2.0; - TypeParam scale = 0.5; - TypeParam shift = -2.4; - this->TestBackward(power, scale, shift); -} +TYPED_TEST_CASE(PowerLayerTest, TestDtypesAndDevices); -TYPED_TEST(PowerLayerTest, TestPowerGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 0.37; - TypeParam scale = 0.83; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPower) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 0.37; + Dtype scale = 0.83; + Dtype shift = -2.4; this->TestForward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerGradientGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 0.37; - TypeParam scale = 0.83; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPowerGradient) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 0.37; + Dtype scale = 0.83; + Dtype shift = -2.4; this->TestBackward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerGradientShiftZeroGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 0.37; - TypeParam scale = 0.83; - TypeParam shift = 0.0; +TYPED_TEST(PowerLayerTest, TestPowerGradientShiftZero) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 0.37; + Dtype scale = 0.83; + Dtype shift = 0.0; this->TestBackward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerZeroGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 0.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPowerZero) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 0.0; + Dtype scale = 0.83; + Dtype shift = -2.4; this->TestForward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerZeroGradientGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 0.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPowerZeroGradient) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 0.0; + Dtype scale = 0.83; + Dtype shift = -2.4; this->TestBackward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerOneGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 1.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPowerOne) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 1.0; + Dtype scale = 0.83; + Dtype shift = -2.4; this->TestForward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerOneGradientGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 1.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPowerOneGradient) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 1.0; + Dtype scale = 0.83; + Dtype shift = -2.4; this->TestBackward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerTwoGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 2.0; - TypeParam scale = 0.34; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPowerTwo) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 2.0; + Dtype scale = 0.34; + Dtype shift = -2.4; this->TestForward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerTwoGradientGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 2.0; - TypeParam scale = 0.83; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPowerTwoGradient) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 2.0; + Dtype scale = 0.83; + Dtype shift = -2.4; this->TestBackward(power, scale, shift); } -TYPED_TEST(PowerLayerTest, TestPowerTwoScaleHalfGradientGPU) { - Caffe::set_mode(Caffe::GPU); - TypeParam power = 2.0; - TypeParam scale = 0.5; - TypeParam shift = -2.4; +TYPED_TEST(PowerLayerTest, TestPowerTwoScaleHalfGradient) { + typedef typename TypeParam::Dtype Dtype; + Dtype power = 2.0; + Dtype scale = 0.5; + Dtype shift = -2.4; this->TestBackward(power, scale, shift); } diff --git a/src/caffe/test/test_random_number_generator.cpp b/src/caffe/test/test_random_number_generator.cpp index 4116de4c252..3ab4680e976 100644 --- a/src/caffe/test/test_random_number_generator.cpp +++ b/src/caffe/test/test_random_number_generator.cpp @@ -202,10 +202,7 @@ class RandomNumberGeneratorTest : public ::testing::Test { shared_ptr int_data_2_; }; - -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(RandomNumberGeneratorTest, Dtypes); - +TYPED_TEST_CASE(RandomNumberGeneratorTest, TestDtypes); TYPED_TEST(RandomNumberGeneratorTest, TestRngGaussian) { const TypeParam mu = 0; diff --git a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp index 089d5950967..76bbfb48a17 100644 --- a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp @@ -18,8 +18,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class SigmoidCrossEntropyLossLayerTest : public ::testing::Test { +template +class SigmoidCrossEntropyLossLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: SigmoidCrossEntropyLossLayerTest() : blob_bottom_data_(new Blob(10, 5, 1, 1)), @@ -95,36 +97,18 @@ class SigmoidCrossEntropyLossLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(SigmoidCrossEntropyLossLayerTest, Dtypes); - - -TYPED_TEST(SigmoidCrossEntropyLossLayerTest, TestSigmoidCrossEntropyLossCPU) { - Caffe::set_mode(Caffe::CPU); - this->TestForward(); -} +TYPED_TEST_CASE(SigmoidCrossEntropyLossLayerTest, TestDtypesAndDevices); -TYPED_TEST(SigmoidCrossEntropyLossLayerTest, TestSigmoidCrossEntropyLossGPU) { - Caffe::set_mode(Caffe::GPU); +TYPED_TEST(SigmoidCrossEntropyLossLayerTest, TestSigmoidCrossEntropyLoss) { this->TestForward(); } -TYPED_TEST(SigmoidCrossEntropyLossLayerTest, TestGradientCPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - SigmoidCrossEntropyLossLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 1e-2, 1701); - checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_), 0, -1, -1); -} - -TYPED_TEST(SigmoidCrossEntropyLossLayerTest, TestGradientGPU) { +TYPED_TEST(SigmoidCrossEntropyLossLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - SigmoidCrossEntropyLossLayer layer(layer_param); + SigmoidCrossEntropyLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 1e-2, 1701); + GradientChecker checker(1e-2, 1e-2, 1701); checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_), 0, -1, -1); } diff --git a/src/caffe/test/test_softmax_layer.cpp b/src/caffe/test/test_softmax_layer.cpp index 3ba302d4c60..4a9c0f2867d 100644 --- a/src/caffe/test/test_softmax_layer.cpp +++ b/src/caffe/test/test_softmax_layer.cpp @@ -38,12 +38,10 @@ class SoftmaxLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(SoftmaxLayerTest, Dtypes); +TYPED_TEST_CASE(SoftmaxLayerTest, TestDtypes); -TYPED_TEST(SoftmaxLayerTest, TestForwardCPU) { +TYPED_TEST(SoftmaxLayerTest, TestForward) { LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); SoftmaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -73,9 +71,8 @@ TYPED_TEST(SoftmaxLayerTest, TestForwardCPU) { } } -TYPED_TEST(SoftmaxLayerTest, TestGradientCPU) { +TYPED_TEST(SoftmaxLayerTest, TestGradient) { LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); SoftmaxLayer layer(layer_param); GradientChecker checker(1e-2, 1e-3); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), diff --git a/src/caffe/test/test_softmax_with_loss_layer.cpp b/src/caffe/test/test_softmax_with_loss_layer.cpp index 8b8be8e8b6d..efd6e33c2f7 100644 --- a/src/caffe/test/test_softmax_with_loss_layer.cpp +++ b/src/caffe/test/test_softmax_with_loss_layer.cpp @@ -19,8 +19,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class SoftmaxWithLossLayerTest : public ::testing::Test { +template +class SoftmaxWithLossLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: SoftmaxWithLossLayerTest() : blob_bottom_data_(new Blob(10, 5, 1, 1)), @@ -46,26 +48,15 @@ class SoftmaxWithLossLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(SoftmaxWithLossLayerTest, Dtypes); - +TYPED_TEST_CASE(SoftmaxWithLossLayerTest, TestDtypesAndDevices); -TYPED_TEST(SoftmaxWithLossLayerTest, TestGradientCPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - SoftmaxWithLossLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 1e-2, 1701); - checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_), 0, -1, -1); -} -TYPED_TEST(SoftmaxWithLossLayerTest, TestGradientGPU) { +TYPED_TEST(SoftmaxWithLossLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - SoftmaxWithLossLayer layer(layer_param); + SoftmaxWithLossLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &this->blob_top_vec_); - GradientChecker checker(1e-2, 1e-2, 1701); + GradientChecker checker(1e-2, 1e-2, 1701); checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_), 0, -1, -1); } diff --git a/src/caffe/test/test_split_layer.cpp b/src/caffe/test/test_split_layer.cpp index 327bcf937ac..455fb59d4d3 100644 --- a/src/caffe/test/test_split_layer.cpp +++ b/src/caffe/test/test_split_layer.cpp @@ -20,8 +20,10 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class SplitLayerTest : public ::testing::Test { +template +class SplitLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + protected: SplitLayerTest() : blob_bottom_(new Blob(2, 3, 6, 5)), @@ -47,12 +49,12 @@ class SplitLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(SplitLayerTest, Dtypes); +TYPED_TEST_CASE(SplitLayerTest, TestDtypesAndDevices); TYPED_TEST(SplitLayerTest, TestSetup) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - SplitLayer layer(layer_param); + SplitLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_a_->num(), 2); EXPECT_EQ(this->blob_top_a_->channels(), 3); @@ -64,91 +66,46 @@ TYPED_TEST(SplitLayerTest, TestSetup) { EXPECT_EQ(this->blob_top_b_->width(), 5); } -TYPED_TEST(SplitLayerTest, TestCPU) { +TYPED_TEST(SplitLayerTest, Test) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - SplitLayer layer(layer_param); - Caffe::set_mode(Caffe::CPU); + SplitLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); for (int i = 0; i < this->blob_bottom_->count(); ++i) { - TypeParam bottom_value = this->blob_bottom_->cpu_data()[i]; + Dtype bottom_value = this->blob_bottom_->cpu_data()[i]; EXPECT_EQ(bottom_value, this->blob_top_a_->cpu_data()[i]); EXPECT_EQ(bottom_value, this->blob_top_b_->cpu_data()[i]); } } -TYPED_TEST(SplitLayerTest, TestGPU) { - LayerParameter layer_param; - SplitLayer layer(layer_param); - Caffe::set_mode(Caffe::GPU); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - TypeParam bottom_value = this->blob_bottom_->cpu_data()[i]; - EXPECT_EQ(bottom_value, this->blob_top_a_->cpu_data()[i]); - EXPECT_EQ(bottom_value, this->blob_top_b_->cpu_data()[i]); - } -} - -TYPED_TEST(SplitLayerTest, TestCPUInPlace) { - LayerParameter layer_param; - SplitLayer layer(layer_param); - Caffe::set_mode(Caffe::CPU); - this->blob_top_vec_[0] = this->blob_bottom_vec_[0]; - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - TypeParam bottom_value = this->blob_bottom_->cpu_data()[i]; - EXPECT_EQ(bottom_value, this->blob_top_b_->cpu_data()[i]); - } -} - -TYPED_TEST(SplitLayerTest, TestGPUInPlace) { +TYPED_TEST(SplitLayerTest, TestInPlace) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - SplitLayer layer(layer_param); - Caffe::set_mode(Caffe::GPU); + SplitLayer layer(layer_param); this->blob_top_vec_[0] = this->blob_bottom_vec_[0]; layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); for (int i = 0; i < this->blob_bottom_->count(); ++i) { - TypeParam bottom_value = this->blob_bottom_->cpu_data()[i]; + Dtype bottom_value = this->blob_bottom_->cpu_data()[i]; EXPECT_EQ(bottom_value, this->blob_top_b_->cpu_data()[i]); } } -TYPED_TEST(SplitLayerTest, TestCPUGradient) { +TYPED_TEST(SplitLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - SplitLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(SplitLayerTest, TestGPUGradient) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - SplitLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(SplitLayerTest, TestCPUGradientInPlace) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - SplitLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); - this->blob_top_vec_[0] = this->blob_bottom_vec_[0]; + SplitLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } -TYPED_TEST(SplitLayerTest, TestGPUGradientInPlace) { +TYPED_TEST(SplitLayerTest, TestGradientInPlace) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - SplitLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-2); + SplitLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); this->blob_top_vec_[0] = this->blob_bottom_vec_[0]; checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); diff --git a/src/caffe/test/test_stochastic_pooling.cpp b/src/caffe/test/test_stochastic_pooling.cpp index 0ad8123f881..7a931d224d8 100644 --- a/src/caffe/test/test_stochastic_pooling.cpp +++ b/src/caffe/test/test_stochastic_pooling.cpp @@ -49,8 +49,7 @@ class StochasticPoolingLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(StochasticPoolingLayerTest, Dtypes); +TYPED_TEST_CASE(StochasticPoolingLayerTest, TestDtypes); TYPED_TEST(StochasticPoolingLayerTest, TestSetup) { LayerParameter layer_param; diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index 3a757088e89..20bd86138b5 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -24,7 +24,7 @@ TEST_F(SyncedMemoryTest, TestInitialization) { delete p_mem; } -TEST_F(SyncedMemoryTest, TestAllocation) { +TEST_F(SyncedMemoryTest, TestAllocationCPUGPU) { SyncedMemory mem(10); EXPECT_TRUE(mem.cpu_data()); EXPECT_TRUE(mem.gpu_data()); @@ -32,20 +32,32 @@ TEST_F(SyncedMemoryTest, TestAllocation) { EXPECT_TRUE(mem.mutable_gpu_data()); } +TEST_F(SyncedMemoryTest, TestAllocationCPU) { + SyncedMemory mem(10); + EXPECT_TRUE(mem.cpu_data()); + EXPECT_TRUE(mem.mutable_cpu_data()); +} + +TEST_F(SyncedMemoryTest, TestAllocationGPU) { + SyncedMemory mem(10); + EXPECT_TRUE(mem.gpu_data()); + EXPECT_TRUE(mem.mutable_gpu_data()); +} + TEST_F(SyncedMemoryTest, TestCPUWrite) { SyncedMemory mem(10); void* cpu_data = mem.mutable_cpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::HEAD_AT_CPU); memset(cpu_data, 1, mem.size()); for (int i = 0; i < mem.size(); ++i) { - EXPECT_EQ((reinterpret_cast(cpu_data))[i], 1); + EXPECT_EQ((static_cast(cpu_data))[i], 1); } // do another round cpu_data = mem.mutable_cpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::HEAD_AT_CPU); memset(cpu_data, 2, mem.size()); for (int i = 0; i < mem.size(); ++i) { - EXPECT_EQ((reinterpret_cast(cpu_data))[i], 2); + EXPECT_EQ((static_cast(cpu_data))[i], 2); } } @@ -60,21 +72,21 @@ TEST_F(SyncedMemoryTest, TestGPURead) { char* recovered_value = new char[10]; caffe_gpu_memcpy(10, gpu_data, recovered_value); for (int i = 0; i < mem.size(); ++i) { - EXPECT_EQ((reinterpret_cast(recovered_value))[i], 1); + EXPECT_EQ((static_cast(recovered_value))[i], 1); } // do another round cpu_data = mem.mutable_cpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::HEAD_AT_CPU); memset(cpu_data, 2, mem.size()); for (int i = 0; i < mem.size(); ++i) { - EXPECT_EQ((reinterpret_cast(cpu_data))[i], 2); + EXPECT_EQ((static_cast(cpu_data))[i], 2); } gpu_data = mem.gpu_data(); EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); // check if values are the same caffe_gpu_memcpy(10, gpu_data, recovered_value); for (int i = 0; i < mem.size(); ++i) { - EXPECT_EQ((reinterpret_cast(recovered_value))[i], 2); + EXPECT_EQ((static_cast(recovered_value))[i], 2); } delete[] recovered_value; } @@ -86,7 +98,7 @@ TEST_F(SyncedMemoryTest, TestGPUWrite) { CUDA_CHECK(cudaMemset(gpu_data, 1, mem.size())); const void* cpu_data = mem.cpu_data(); for (int i = 0; i < mem.size(); ++i) { - EXPECT_EQ((reinterpret_cast(cpu_data))[i], 1); + EXPECT_EQ((static_cast(cpu_data))[i], 1); } EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); @@ -95,7 +107,7 @@ TEST_F(SyncedMemoryTest, TestGPUWrite) { CUDA_CHECK(cudaMemset(gpu_data, 2, mem.size())); cpu_data = mem.cpu_data(); for (int i = 0; i < mem.size(); ++i) { - EXPECT_EQ((reinterpret_cast(cpu_data))[i], 2); + EXPECT_EQ((static_cast(cpu_data))[i], 2); } EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); } diff --git a/src/caffe/test/test_tanh_layer.cpp b/src/caffe/test/test_tanh_layer.cpp index 9c9f8a74ae2..171eb4e472e 100644 --- a/src/caffe/test/test_tanh_layer.cpp +++ b/src/caffe/test/test_tanh_layer.cpp @@ -19,8 +19,9 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class TanHLayerTest : public ::testing::Test { +template +class TanHLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; protected: TanHLayerTest() : blob_bottom_(new Blob(2, 10, 1, 1)), @@ -39,13 +40,12 @@ class TanHLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(TanHLayerTest, Dtypes); +TYPED_TEST_CASE(TanHLayerTest, TestDtypesAndDevices); -TYPED_TEST(TanHLayerTest, TestForwardCPU) { +TYPED_TEST(TanHLayerTest, TestForward) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - TanHLayer layer(layer_param); + TanHLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Test exact values @@ -65,43 +65,11 @@ TYPED_TEST(TanHLayerTest, TestForwardCPU) { } } -TYPED_TEST(TanHLayerTest, TestGradientCPU) { +TYPED_TEST(TanHLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - TanHLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_)); -} - -TYPED_TEST(TanHLayerTest, TestForwardGPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - TanHLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Test exact values - for (int i = 0; i < this->blob_bottom_->num(); ++i) { - for (int j = 0; j < this->blob_bottom_->channels(); ++j) { - for (int k = 0; k < this->blob_bottom_->height(); ++k) { - for (int l = 0; l < this->blob_bottom_->width(); ++l) { - EXPECT_GE(this->blob_top_->data_at(i, j, k, l) + 1e-4, - (exp(2*this->blob_bottom_->data_at(i, j, k, l)) - 1) / - (exp(2*this->blob_bottom_->data_at(i, j, k, l)) + 1)); - EXPECT_LE(this->blob_top_->data_at(i, j, k, l) - 1e-4, - (exp(2*this->blob_bottom_->data_at(i, j, k, l)) - 1) / - (exp(2*this->blob_bottom_->data_at(i, j, k, l)) + 1)); - } - } - } - } -} - -TYPED_TEST(TanHLayerTest, TestGradientGPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - TanHLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + TanHLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 8303e442007..46519ff2094 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -16,8 +16,9 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class ThresholdLayerTest : public ::testing::Test { +template +class ThresholdLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; protected: ThresholdLayerTest() : blob_bottom_(new Blob(2, 3, 6, 5)), @@ -37,13 +38,13 @@ class ThresholdLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(ThresholdLayerTest, Dtypes); +TYPED_TEST_CASE(ThresholdLayerTest, TestDtypesAndDevices); TYPED_TEST(ThresholdLayerTest, TestSetup) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - ThresholdLayer layer(layer_param); + ThresholdLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); EXPECT_EQ(this->blob_top_->num(), this->blob_bottom_->num()); EXPECT_EQ(this->blob_top_->channels(), this->blob_bottom_->channels()); @@ -51,16 +52,16 @@ TYPED_TEST(ThresholdLayerTest, TestSetup) { EXPECT_EQ(this->blob_top_->width(), this->blob_bottom_->width()); } -TYPED_TEST(ThresholdLayerTest, TestCPU) { +TYPED_TEST(ThresholdLayerTest, Test) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - ThresholdLayer layer(layer_param); + ThresholdLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - const TypeParam threshold_ = layer_param.threshold_param().threshold(); + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); + const Dtype threshold_ = layer_param.threshold_param().threshold(); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); EXPECT_LE(top_data[i], 1.); @@ -73,67 +74,19 @@ TYPED_TEST(ThresholdLayerTest, TestCPU) { } } -TYPED_TEST(ThresholdLayerTest, TestCPU2) { +TYPED_TEST(ThresholdLayerTest, Test2) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); ThresholdParameter* threshold_param = layer_param.mutable_threshold_param(); threshold_param->set_threshold(0.5); - ThresholdLayer layer(layer_param); + ThresholdLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - const TypeParam threshold_ = layer_param.threshold_param().threshold(); - EXPECT_FLOAT_EQ(threshold_, 0.5); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_GE(top_data[i], 0.); - EXPECT_LE(top_data[i], 1.); - if (top_data[i] == 0) { - EXPECT_LE(bottom_data[i], threshold_); - } - if (top_data[i] == 1) { - EXPECT_GT(bottom_data[i], threshold_); - } - } -} - -TYPED_TEST(ThresholdLayerTest, TestGPU) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - ThresholdLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - const TypeParam threshold_ = layer_param.threshold_param().threshold(); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - EXPECT_GE(top_data[i], 0.); - EXPECT_LE(top_data[i], 1.); - if (top_data[i] == 0) { - EXPECT_LE(bottom_data[i], threshold_); - } - if (top_data[i] == 1) { - EXPECT_GT(bottom_data[i], threshold_); - } - } -} - -TYPED_TEST(ThresholdLayerTest, TestGPU2) { - LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - ThresholdParameter* threshold_param = - layer_param.mutable_threshold_param(); - threshold_param->set_threshold(0.5); - ThresholdLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); - const TypeParam threshold_ = layer_param.threshold_param().threshold(); + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); + const Dtype threshold_ = layer_param.threshold_param().threshold(); EXPECT_FLOAT_EQ(threshold_, 0.5); for (int i = 0; i < this->blob_bottom_->count(); ++i) { EXPECT_GE(top_data[i], 0.); diff --git a/src/caffe/test/test_util_blas.cpp b/src/caffe/test/test_util_blas.cpp index 5b4c48eaf80..725d24e21d3 100644 --- a/src/caffe/test/test_util_blas.cpp +++ b/src/caffe/test/test_util_blas.cpp @@ -15,14 +15,12 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -typedef ::testing::Types Dtypes; - -template +template class GemmTest : public ::testing::Test {}; -TYPED_TEST_CASE(GemmTest, Dtypes); +TYPED_TEST_CASE(GemmTest, TestDtypes); -TYPED_TEST(GemmTest, TestGemm) { +TYPED_TEST(GemmTest, TestGemmCPUGPU) { Blob A(1, 1, 2, 3); Blob B(1, 1, 3, 4); Blob C(1, 1, 2, 4); @@ -93,7 +91,7 @@ TYPED_TEST(GemmTest, TestGemm) { } -TYPED_TEST(GemmTest, TestGemv) { +TYPED_TEST(GemmTest, TestGemvCPUGPU) { Blob A(1, 1, 2, 3); Blob x(1, 1, 1, 3); Blob y(1, 1, 1, 2); From 00a8f3af825e9083b4674437e6890d4159a0ec1d Mon Sep 17 00:00:00 2001 From: huy Date: Wed, 9 Jul 2014 23:02:06 -0700 Subject: [PATCH 238/408] @huyng's .travis.yml integration configuration file to install and test Caffe. --- .travis.yml | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000000..1dd8a2d8a78 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,41 @@ +language: cpp +compiler: + - gcc + - clang +before_install: + - echo $LANG + - echo $LC_ALL + - sudo apt-get -y update +install: + - sudo apt-get -y install wget git curl python-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev + - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz + - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - + - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb + - sudo apt-get -y update && sudo apt-get -y install cuda + - curl https://gitorious.org/mdb/mdb/archive/7f038d0f15bec57b4c07aa3f31cd5564c88a1897.tar.gz -o /tmp/mdb.tar.gz && tar -C /tmp -xzvf /tmp/mdb.tar.gz && rm /tmp/mdb.tar.gz + - cd /tmp/mdb-mdb/libraries/liblmdb/ && make && sudo make install && cd - +before_script: + - mv Makefile.config.example Makefile.config +script: + - make all + - make test + - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 make runtest +branches: + only: + - master + - dev + - travisci +notifications: + recipients: + - huy@huyng.com + email: + on_success: change + on_failure: always + irc: + channels: + - "chat.freenode.net#caffe" + template: + - "%{repository}/%{branch} (%{commit} - %{author}): %{message}" +os: + - linux + - osx From 24bfd03da3da5342034be7ba18116dcf0596216c Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 12 Jul 2014 10:00:44 -0700 Subject: [PATCH 239/408] -Override the default compiler by specifying a CXX in Makefile.config instead of CUSTOM_CXX, as Travis exports CXX as the compiler env variable name. -Change TEST_HDFS -> TEST_HXX_SRCS. --- Makefile | 17 ++++++----------- Makefile.config.example | 2 +- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index c17d4980b79..fc3ffe6a30b 100644 --- a/Makefile +++ b/Makefile @@ -37,8 +37,8 @@ TEST_SRCS := $(shell find src/$(PROJECT) -name "test_*.cpp") TEST_SRCS := $(filter-out $(TEST_MAIN_SRC), $(TEST_SRCS)) TEST_CU_SRCS := $(shell find src/$(PROJECT) -name "test_*.cu") GTEST_SRC := src/gtest/gtest-all.cpp -# TEST_HDRS are the test header files -TEST_HDRS := $(shell find include/$(PROJECT) -name "test_*.hpp") +# TEST_HXX_SRCS are the test header files +TEST_HXX_SRCS := $(shell find include/$(PROJECT) -name "test_*.hpp") # TOOL_SRCS are the source files for the tool binaries TOOL_SRCS := $(shell find tools -name "*.cpp") # EXAMPLE_SRCS are the source files for the example binaries @@ -194,7 +194,7 @@ else ifeq ($(UNAME), Darwin) endif ifeq ($(LINUX), 1) - CXX := /usr/bin/g++ + CXX ?= /usr/bin/g++ GCCVERSION := $(shell $(CXX) -dumpversion | cut -f1,2 -d.) # older versions of gcc are too dumb to build boost with -Wuninitalized ifeq ($(shell echo $(GCCVERSION) \< 4.6 | bc), 1) @@ -206,7 +206,7 @@ endif # clang++ instead of g++ # libstdc++ instead of libc++ for CUDA compatibility on 10.9 ifeq ($(OSX), 1) - CXX := /usr/bin/clang++ + CXX ?= /usr/bin/clang++ # clang throws this warning for cuda headers WARNINGS += -Wno-unneeded-internal-declaration ifneq ($(findstring 10.9, $(shell sw_vers -productVersion)),) @@ -215,11 +215,6 @@ ifeq ($(OSX), 1) endif endif -# Custom compiler -ifdef CUSTOM_CXX - CXX := $(CUSTOM_CXX) -endif - # Debugging ifeq ($(DEBUG), 1) COMMON_FLAGS := -DDEBUG -g -O0 @@ -385,14 +380,14 @@ $(STATIC_NAME): $(PROTO_OBJS) $(OBJS) | $(LIB_BUILD_DIR) ar rcs $@ $(PROTO_OBJS) $(OBJS) @ echo -$(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HDRS) \ +$(TEST_BUILD_DIR)/%.o: src/$(PROJECT)/test/%.cpp $(HXX_SRCS) $(TEST_HXX_SRCS) \ | $(TEST_BUILD_DIR) $(CXX) $< $(CXXFLAGS) -c -o $@ 2> $@.$(WARNS_EXT) \ || (cat $@.$(WARNS_EXT); exit 1) @ cat $@.$(WARNS_EXT) @ echo -$(TEST_BUILD_DIR)/%.cuo: src/$(PROJECT)/test/%.cu $(HXX_SRCS) $(TEST_HDRS) \ +$(TEST_BUILD_DIR)/%.cuo: src/$(PROJECT)/test/%.cu $(HXX_SRCS) $(TEST_HXX_SRCS) \ | $(TEST_BUILD_DIR) $(CUDA_DIR)/bin/nvcc $(NVCCFLAGS) $(CUDA_ARCH) -c $< -o $@ 2> $@.$(WARNS_EXT) \ || (cat $@.$(WARNS_EXT); exit 1) diff --git a/Makefile.config.example b/Makefile.config.example index 17c90016f75..81effb481f3 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -3,7 +3,7 @@ # To customize your choice of compiler, uncomment and set the following. # N.B. the default for Linux is g++ and the default for OSX is clang++ -# CUSTOM_CXX := g++ +# CXX := g++ # CUDA directory contains bin/ and lib/ directories that we need. CUDA_DIR := /usr/local/cuda From 89d50ca20746517f71e7c7c121401d09d40e3ebc Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 12 Jul 2014 04:27:36 -0700 Subject: [PATCH 240/408] @jeffdonahue's tweaks to .travis.yml config: -Add (CPU-only) test, lint, warn and parallel (-j 4) to travis CI build. -Add /usr/local/lib to travis config (seems needed for LMDB). -Put export in "before_script"; disable clang build -- doesn't work on Linux. -Cache Ubuntu apt packages. -Install bc package to hopefully suppress "bc: not found" errors -Get apt packages before_install as suggested by Travis official docs -Remove specified email address and IRC notifications (emails are sent to the committer by default; others can view build results in public Travis feed, on pull requests, etc.). --- .travis.yml | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1dd8a2d8a78..fcea38c8f47 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,18 @@ language: cpp +# Cache Ubuntu apt packages. +cache: apt compiler: - gcc - - clang +# Disable clang build: doesn't seem to work on Linux. +# (@jeffdonahue: Travis buildbot's failure behavior is similar to what I see +# building on Linux.) +# - clang before_install: - echo $LANG - echo $LC_ALL - sudo apt-get -y update + - sudo apt-get -y install wget git curl python-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev bc install: - - sudo apt-get -y install wget git curl python-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb @@ -16,26 +21,33 @@ install: - cd /tmp/mdb-mdb/libraries/liblmdb/ && make && sudo make install && cd - before_script: - mv Makefile.config.example Makefile.config + - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib + - export NUM_THREADS=4 script: - - make all - - make test - - LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 make runtest + - make -j $NUM_THREADS all test warn lint + - make runtestnogpu + - make -j $NUM_THREADS all + - make -j $NUM_THREADS test + - make -j $NUM_THREADS warn + - make -j $NUM_THREADS lint branches: only: - master - dev - travisci notifications: - recipients: - - huy@huyng.com +# Emails are sent to the committer's git-configured email address by default, +# but only if they have access to the repository. To enable Travis on your +# public fork of Caffe, just go to travis-ci.org and flip the switch on for +# your Caffe fork. To configure your git email address, use: +# git config --global user.email me@example.com email: - on_success: change + on_success: always on_failure: always - irc: - channels: - - "chat.freenode.net#caffe" - template: - - "%{repository}/%{branch} (%{commit} - %{author}): %{message}" -os: - - linux - - osx +# IRC notifications disabled by default. +# Uncomment next 5 lines to send notifications to chat.freenode.net#caffe +# irc: +# channels: +# - "chat.freenode.net#caffe" +# template: +# - "%{repository}/%{branch} (%{commit} - %{author}): %{message}" From c962e7de51be765584504b11c84eb7023a9b9e89 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 12 Jul 2014 22:37:10 -0700 Subject: [PATCH 241/408] Travis build failure wasn't working for lint/warn because they didn't exit with a non-zero code -- this fixes that. --- Makefile | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index fc3ffe6a30b..38c180c28da 100644 --- a/Makefile +++ b/Makefile @@ -292,10 +292,11 @@ $(EMPTY_LINT_REPORT): $(LINT_OUTPUTS) | $(BUILD_DIR) @ if [ -s "$@" ]; then \ cat $@; \ mv $@ $(NONEMPTY_LINT_REPORT); \ - else \ - $(RM) $(NONEMPTY_LINT_REPORT); \ - echo "No lint errors!"; \ - fi + echo "Found one or more lint errors."; \ + exit 1; \ + fi; \ + $(RM) $(NONEMPTY_LINT_REPORT); \ + echo "No lint errors!"; $(LINT_OUTPUTS): $(LINT_OUTPUT_DIR)/%.lint.txt : % | $(LINT_OUTPUT_DIR) @ mkdir -p $(dir $@) @@ -348,10 +349,11 @@ $(EMPTY_WARN_REPORT): $(ALL_WARNS) | $(BUILD_DIR) @ if [ -s "$@" ]; then \ cat $@; \ mv $@ $(NONEMPTY_WARN_REPORT); \ - else \ - $(RM) $(NONEMPTY_WARN_REPORT); \ - echo "No compiler warnings!"; \ - fi + echo "Found one or more lint errors."; \ + exit 1; \ + fi; \ + $(RM) $(NONEMPTY_WARN_REPORT); \ + echo "No compiler warnings!"; $(ALL_CXX_WARNS): %.o.$(WARNS_EXT) : %.o From 717b6b0c1f396923e6380f3745db3b141e7d5f19 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 14 Jul 2014 02:44:28 -0700 Subject: [PATCH 242/408] Seed HingeLossLayerTest; bad values can cause test (and therefore Travis CI build) to fail --- src/caffe/test/test_hinge_loss_layer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index 868e9e9ae16..df6d8e25803 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -28,6 +28,7 @@ class HingeLossLayerTest : public MultiDeviceTest { : blob_bottom_data_(new Blob(10, 5, 1, 1)), blob_bottom_label_(new Blob(10, 1, 1, 1)) { // fill the values + Caffe::set_random_seed(1701); FillerParameter filler_param; filler_param.set_std(10); GaussianFiller filler(filler_param); From 856f06d44fbaae09c12d060d078b81e257159d50 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 14 Jul 2014 19:54:48 +0200 Subject: [PATCH 243/408] fix Makefile comment about library names --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 38c180c28da..ad3c1bb41c0 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ else OTHER_BUILD_DIR := $(DEBUG_BUILD_DIR) endif -# The target static library and shared library name +# The target shared library and static library name LIB_BUILD_DIR := $(BUILD_DIR)/lib NAME := $(LIB_BUILD_DIR)/lib$(PROJECT).so STATIC_NAME := $(LIB_BUILD_DIR)/lib$(PROJECT).a From 9045fd20eec25b8a59f8a196bacf69d0b157c6a5 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 14 Jul 2014 13:31:13 -0700 Subject: [PATCH 244/408] Add --keep-going flag to first make so that any targets that can be built are built; write out full -j flag as --jobs for clarity. --- .travis.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index fcea38c8f47..7951b2e78f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,12 +24,12 @@ before_script: - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib - export NUM_THREADS=4 script: - - make -j $NUM_THREADS all test warn lint + - make --keep-going --jobs=$NUM_THREADS all test warn lint - make runtestnogpu - - make -j $NUM_THREADS all - - make -j $NUM_THREADS test - - make -j $NUM_THREADS warn - - make -j $NUM_THREADS lint + - make --jobs=$NUM_THREADS all + - make --jobs=$NUM_THREADS test + - make --jobs=$NUM_THREADS warn + - make --jobs=$NUM_THREADS lint branches: only: - master From 89159f395c02d5dab59d4658e4121fd981d89363 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 14 Jul 2014 13:37:13 -0700 Subject: [PATCH 245/408] Run Travis build on all branches (remove whitelist from .travis.yml). --- .travis.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7951b2e78f2..19ef68375e4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -30,11 +30,6 @@ script: - make --jobs=$NUM_THREADS test - make --jobs=$NUM_THREADS warn - make --jobs=$NUM_THREADS lint -branches: - only: - - master - - dev - - travisci notifications: # Emails are sent to the committer's git-configured email address by default, # but only if they have access to the repository. To enable Travis on your From 9c65fbaa865829e4b479e43eae72cf8f5f09afcc Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 14 Jul 2014 13:43:08 -0700 Subject: [PATCH 246/408] Replace CUSTOM_CXX env var to specify non-default C++ compiler. --- Makefile | 5 +++++ Makefile.config.example | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ad3c1bb41c0..00f67c978dc 100644 --- a/Makefile +++ b/Makefile @@ -215,6 +215,11 @@ ifeq ($(OSX), 1) endif endif +# Custom compiler +ifdef CUSTOM_CXX + CXX := $(CUSTOM_CXX) +endif + # Debugging ifeq ($(DEBUG), 1) COMMON_FLAGS := -DDEBUG -g -O0 diff --git a/Makefile.config.example b/Makefile.config.example index 81effb481f3..17c90016f75 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -3,7 +3,7 @@ # To customize your choice of compiler, uncomment and set the following. # N.B. the default for Linux is g++ and the default for OSX is clang++ -# CXX := g++ +# CUSTOM_CXX := g++ # CUDA directory contains bin/ and lib/ directories that we need. CUDA_DIR := /usr/local/cuda From 97d6ccfda5ec371b8113713f01b86ac54135ff58 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 14 Jul 2014 13:46:09 -0700 Subject: [PATCH 247/408] Add blank lines between fields for readability. --- .travis.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.travis.yml b/.travis.yml index 19ef68375e4..1f780471b3b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,21 @@ language: cpp + # Cache Ubuntu apt packages. cache: apt + compiler: - gcc # Disable clang build: doesn't seem to work on Linux. # (@jeffdonahue: Travis buildbot's failure behavior is similar to what I see # building on Linux.) # - clang + before_install: - echo $LANG - echo $LC_ALL - sudo apt-get -y update - sudo apt-get -y install wget git curl python-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev bc + install: - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - @@ -19,10 +23,12 @@ install: - sudo apt-get -y update && sudo apt-get -y install cuda - curl https://gitorious.org/mdb/mdb/archive/7f038d0f15bec57b4c07aa3f31cd5564c88a1897.tar.gz -o /tmp/mdb.tar.gz && tar -C /tmp -xzvf /tmp/mdb.tar.gz && rm /tmp/mdb.tar.gz - cd /tmp/mdb-mdb/libraries/liblmdb/ && make && sudo make install && cd - + before_script: - mv Makefile.config.example Makefile.config - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib - export NUM_THREADS=4 + script: - make --keep-going --jobs=$NUM_THREADS all test warn lint - make runtestnogpu @@ -30,6 +36,7 @@ script: - make --jobs=$NUM_THREADS test - make --jobs=$NUM_THREADS warn - make --jobs=$NUM_THREADS lint + notifications: # Emails are sent to the committer's git-configured email address by default, # but only if they have access to the repository. To enable Travis on your @@ -39,6 +46,7 @@ notifications: email: on_success: always on_failure: always + # IRC notifications disabled by default. # Uncomment next 5 lines to send notifications to chat.freenode.net#caffe # irc: From c28823f7829b91c5dd56060579dda2cecbc22d7b Mon Sep 17 00:00:00 2001 From: Ross Girshick Date: Mon, 14 Jul 2014 17:04:43 -0700 Subject: [PATCH 248/408] fix bug that breaks MATLAB 2014a compilation --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 00f67c978dc..855d948f230 100644 --- a/Makefile +++ b/Makefile @@ -336,9 +336,9 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) "to build mat$(PROJECT)."; \ exit 1; \ fi - $(MATLAB_DIR)/bin/mex $(MAT$(PROJECT)_SRC) $(STATIC_NAME) \ + $(MATLAB_DIR)/bin/mex $(MAT$(PROJECT)_SRC) \ CXXFLAGS="\$$CXXFLAGS $(MATLAB_CXXFLAGS)" \ - CXXLIBS="\$$CXXLIBS $(LDFLAGS)" -o $@ + CXXLIBS="\$$CXXLIBS $(STATIC_NAME) $(LDFLAGS)" -output $@ @ echo runtest: $(TEST_ALL_BIN) From 304be2fec6440aef246ac19b4832d3d5e72fc6c9 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 14 Jul 2014 23:49:36 -0700 Subject: [PATCH 249/408] Fix SoftmaxLayerTest: forgot to change this one to use DtypesAndDevices; was causing Travis build to randomly fail if a previous test had set the mode to GPU (which no test that is run by 'make runtestnogpu' should, so I guess there's another bug somewhere). --- src/caffe/test/test_softmax_layer.cpp | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/caffe/test/test_softmax_layer.cpp b/src/caffe/test/test_softmax_layer.cpp index 4a9c0f2867d..f0be279bbca 100644 --- a/src/caffe/test/test_softmax_layer.cpp +++ b/src/caffe/test/test_softmax_layer.cpp @@ -18,8 +18,9 @@ namespace caffe { extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; -template -class SoftmaxLayerTest : public ::testing::Test { +template +class SoftmaxLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; protected: SoftmaxLayerTest() : blob_bottom_(new Blob(2, 10, 1, 1)), @@ -38,16 +39,17 @@ class SoftmaxLayerTest : public ::testing::Test { vector*> blob_top_vec_; }; -TYPED_TEST_CASE(SoftmaxLayerTest, TestDtypes); +TYPED_TEST_CASE(SoftmaxLayerTest, TestDtypesAndDevices); TYPED_TEST(SoftmaxLayerTest, TestForward) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - SoftmaxLayer layer(layer_param); + SoftmaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Test sum for (int i = 0; i < this->blob_bottom_->num(); ++i) { - TypeParam sum = 0; + Dtype sum = 0; for (int j = 0; j < this->blob_top_->channels(); ++j) { sum += this->blob_top_->data_at(i, j, 0, 0); } @@ -56,7 +58,7 @@ TYPED_TEST(SoftmaxLayerTest, TestForward) { } // Test exact values for (int i = 0; i < this->blob_bottom_->num(); ++i) { - TypeParam scale = 0; + Dtype scale = 0; for (int j = 0; j < this->blob_bottom_->channels(); ++j) { scale += exp(this->blob_bottom_->data_at(i, j, 0, 0)); } @@ -72,9 +74,10 @@ TYPED_TEST(SoftmaxLayerTest, TestForward) { } TYPED_TEST(SoftmaxLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - SoftmaxLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + SoftmaxLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); } From 6a0883d45ffc277aa67d0746acc1e82718316104 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 15 Jul 2014 10:20:10 +0200 Subject: [PATCH 250/408] fix choice of clang++ in OS X build --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 855d948f230..f7e58700b67 100644 --- a/Makefile +++ b/Makefile @@ -206,7 +206,7 @@ endif # clang++ instead of g++ # libstdc++ instead of libc++ for CUDA compatibility on 10.9 ifeq ($(OSX), 1) - CXX ?= /usr/bin/clang++ + CXX := /usr/bin/clang++ # clang throws this warning for cuda headers WARNINGS += -Wno-unneeded-internal-declaration ifneq ($(findstring 10.9, $(shell sw_vers -productVersion)),) From 0271224513e02c1d1a0421d784b02d8a0e900baf Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 15 Jul 2014 16:06:59 +0200 Subject: [PATCH 251/408] [example] elaborate net surgery description --- examples/net_surgery.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/net_surgery.ipynb b/examples/net_surgery.ipynb index 550f4112830..0a6e208f6d7 100644 --- a/examples/net_surgery.ipynb +++ b/examples/net_surgery.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "Editing model parameters", - "description": "How to do net surgery and manually change model parameters.", + "description": "How to do net surgery and manually change model parameters, making a fully-convolutional classifier for dense feature extraction.", "include_in_docs": true }, "nbformat": 3, From 3e35a160e284f9a2da1fcc7df9b6ad15eaf20480 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 15 Jul 2014 13:47:14 -0700 Subject: [PATCH 252/408] Fix Makefile warning error message. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f7e58700b67..ad13bb949e7 100644 --- a/Makefile +++ b/Makefile @@ -354,7 +354,7 @@ $(EMPTY_WARN_REPORT): $(ALL_WARNS) | $(BUILD_DIR) @ if [ -s "$@" ]; then \ cat $@; \ mv $@ $(NONEMPTY_WARN_REPORT); \ - echo "Found one or more lint errors."; \ + echo "Compiler produced one or more warnings."; \ exit 1; \ fi; \ $(RM) $(NONEMPTY_WARN_REPORT); \ From 8a0ba0fd405ebdd1aa247695edf20b991b9e7b98 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Wed, 9 Jul 2014 14:25:55 -0700 Subject: [PATCH 253/408] use layer_param instead of layers_[layer_id]->layer_param() --- src/caffe/net.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index c0f124b0ea7..0b9cc8412cb 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -88,7 +88,7 @@ void Net::Init(const NetParameter& in_param) { << top_vecs_[layer_id][top_id]->count() << ")"; } DLOG(INFO) << "Memory required for data: " << memory_used_ * sizeof(Dtype); - const int blobs_lr_size = layers_[layer_id]->layer_param().blobs_lr_size(); + const int blobs_lr_size = layer_param.blobs_lr_size(); const int num_param_blobs = layers_[layer_id]->blobs().size(); CHECK(blobs_lr_size == num_param_blobs || blobs_lr_size == 0) << "Incorrect blobs lr size: should be either 0 " @@ -96,8 +96,7 @@ void Net::Init(const NetParameter& in_param) { if (blobs_lr_size) { // Check if this layer needs backward operation itself for (int param_id = 0; param_id < blobs_lr_size; ++param_id) { - need_backward |= - (layers_[layer_id]->layer_param().blobs_lr(param_id) > 0); + need_backward |= layer_param.blobs_lr(param_id) > 0; } } else if (layers_[layer_id]->blobs().size()) { // catch: if a layer param does not specify blobs_lr, we should assume the From b2a9a3c7fea3022cccecf1cd729b44db3fd9dffd Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Wed, 9 Jul 2014 14:47:46 -0700 Subject: [PATCH 254/408] Add param_propagate_down_ vector to layer, populate according to blobs_lr in Net::Init --- include/caffe/layer.hpp | 17 +++++++++++++++++ src/caffe/net.cpp | 12 +++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index b8afcfe37cf..d4d10aafa31 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -96,11 +96,28 @@ class Layer { return true; } + // param_propagate_down specifies whether the layer should compute gradients + // in Backward. You can safely ignore false and always compute gradients + // for all parameters, but possibly with wasteful computation. + inline bool param_propagate_down(const int param_id) { + return (param_propagate_down_.size() > param_id) ? + param_propagate_down_[param_id] : false; + } + inline void set_param_propagate_down(const int param_id, const bool value) { + if (param_propagate_down_.size() <= param_id) { + param_propagate_down_.resize(param_id + 1, true); + } + param_propagate_down_[param_id] = value; + } + + protected: // The protobuf that stores the layer parameters LayerParameter layer_param_; // The vector that stores the parameters as a set of blobs. vector > > blobs_; + // Vector indicating whether to compute the diff of each param blob. + vector param_propagate_down_; // Forward functions: compute the layer output // (and loss layers return the loss; other layers return the dummy value 0.) diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 0b9cc8412cb..edea726fb51 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -96,12 +96,18 @@ void Net::Init(const NetParameter& in_param) { if (blobs_lr_size) { // Check if this layer needs backward operation itself for (int param_id = 0; param_id < blobs_lr_size; ++param_id) { - need_backward |= layer_param.blobs_lr(param_id) > 0; + const bool param_need_backward = layer_param.blobs_lr(param_id) > 0; + need_backward |= param_need_backward; + layers_[layer_id]->set_param_propagate_down(param_id, + param_need_backward); } } else if (layers_[layer_id]->blobs().size()) { // catch: if a layer param does not specify blobs_lr, we should assume the // learning rate to be 1. Thus we will need to perform backward. need_backward = true; + for (int param_id = 0; param_id < blobs_lr_size; ++param_id) { + layers_[layer_id]->set_param_propagate_down(param_id, true); + } } const int param_size = layer_param.param_size(); CHECK(param_size == num_param_blobs || param_size == 0) @@ -139,6 +145,10 @@ void Net::Init(const NetParameter& in_param) { blob_need_backward_[bottom_id_vecs_[layer_id][bottom_id]] || bottom_need_backward_[layer_id][bottom_id]; } + for (int param_id = 0; param_id < layers_[layer_id]->blobs().size(); + ++param_id) { + layers_[layer_id]->set_param_propagate_down(param_id, true); + } } } // In the end, all remaining blobs are considered output blobs. From d5351bc99eb40bcf2de750b5b3aeeb43cafce82f Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Wed, 9 Jul 2014 15:05:57 -0700 Subject: [PATCH 255/408] Make ConvolutionLayer and InnerProductLayer abide by param_propagate_down_ --- src/caffe/layers/conv_layer.cpp | 76 +++++++++++++---------- src/caffe/layers/conv_layer.cu | 78 ++++++++++++++---------- src/caffe/layers/inner_product_layer.cpp | 17 ++++-- src/caffe/layers/inner_product_layer.cu | 20 +++--- 4 files changed, 112 insertions(+), 79 deletions(-) diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index 963dc688a0e..0d6871d6ac4 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -85,6 +85,7 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, bias_multiplier_data[i] = 1.; } } + this->param_propagate_down_.resize(this->blobs_.size(), true); } @@ -124,11 +125,15 @@ Dtype ConvolutionLayer::Forward_cpu(const vector*>& bottom, template void ConvolutionLayer::Backward_cpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { - const Dtype* weight = this->blobs_[0]->cpu_data(); - Dtype* weight_diff = this->blobs_[0]->mutable_cpu_diff(); - caffe_set(this->blobs_[0]->count(), Dtype(0), weight_diff); + const Dtype* weight = NULL; + Dtype* weight_diff = NULL; + if (this->param_propagate_down_[0]) { + weight = this->blobs_[0]->cpu_data(); + weight_diff = this->blobs_[0]->mutable_cpu_diff(); + caffe_set(this->blobs_[0]->count(), Dtype(0), weight_diff); + } Dtype* bias_diff = NULL; - if (bias_term_) { + if (bias_term_ && this->param_propagate_down_[1]) { bias_diff = this->blobs_[1]->mutable_cpu_diff(); caffe_set(this->blobs_[1]->count(), Dtype(0), bias_diff); } @@ -136,14 +141,10 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, const int col_offset = K_ * N_; const int top_offset = M_ * N_; for (int i = 0; i < top.size(); ++i) { - const Dtype* top_diff = top[i]->cpu_diff(); - const Dtype* bottom_data = (*bottom)[i]->cpu_data(); - Dtype* bottom_diff = (*bottom)[i]->mutable_cpu_diff(); - Dtype* col_data = col_buffer_.mutable_cpu_data(); - Dtype* col_diff = col_buffer_.mutable_cpu_diff(); - + const Dtype* top_diff = NULL; // Bias gradient, if necessary. - if (bias_term_) { + if (bias_term_ && this->param_propagate_down_[1]) { + top_diff = top[i]->cpu_diff(); for (int n = 0; n < num_; ++n) { caffe_cpu_gemv(CblasNoTrans, num_output_, N_, 1., top_diff + top[0]->offset(n), @@ -151,29 +152,40 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, bias_diff); } } - for (int n = 0; n < num_; ++n) { - // Since we saved memory in the forward pass by not storing all col data, - // we will need to recompute them. - im2col_cpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); - // gradient w.r.t. weight. Note that we will accumulate diffs. - for (int g = 0; g < group_; ++g) { - caffe_cpu_gemm(CblasNoTrans, CblasTrans, M_, K_, N_, - (Dtype)1., top_diff + top[i]->offset(n) + top_offset * g, - col_data + col_offset * g, (Dtype)1., - weight_diff + weight_offset * g); + if (this->param_propagate_down_[0] || propagate_down[i]) { + if (!top_diff) { + top_diff = top[i]->cpu_diff(); } - // gradient w.r.t. bottom data, if necessary - if (propagate_down[i]) { - for (int g = 0; g < group_; ++g) { - caffe_cpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, - (Dtype)1., weight + weight_offset * g, - top_diff + top[i]->offset(n) + top_offset * g, - (Dtype)0., col_diff + col_offset * g); + Dtype* col_data = col_buffer_.mutable_cpu_data(); + Dtype* col_diff = col_buffer_.mutable_cpu_diff(); + const Dtype* bottom_data = (*bottom)[i]->cpu_data(); + Dtype* bottom_diff = (*bottom)[i]->mutable_cpu_diff(); + for (int n = 0; n < num_; ++n) { + // Since we saved memory in the forward pass by not storing all col + // data, we will need to recompute them. + im2col_cpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, + width_, kernel_size_, pad_, stride_, col_data); + // gradient w.r.t. weight. Note that we will accumulate diffs. + if (this->param_propagate_down_[0]) { + for (int g = 0; g < group_; ++g) { + caffe_cpu_gemm(CblasNoTrans, CblasTrans, M_, K_, N_, + (Dtype)1., top_diff + top[i]->offset(n) + top_offset * g, + col_data + col_offset * g, (Dtype)1., + weight_diff + weight_offset * g); + } + } + // gradient w.r.t. bottom data, if necessary + if (propagate_down[i]) { + for (int g = 0; g < group_; ++g) { + caffe_cpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, + (Dtype)1., weight + weight_offset * g, + top_diff + top[i]->offset(n) + top_offset * g, + (Dtype)0., col_diff + col_offset * g); + } + // col2im back to the data + col2im_cpu(col_diff, channels_, height_, width_, kernel_size_, pad_, + stride_, bottom_diff + (*bottom)[i]->offset(n)); } - // col2im back to the data - col2im_cpu(col_diff, channels_, height_, width_, kernel_size_, pad_, - stride_, bottom_diff + (*bottom)[i]->offset(n)); } } } diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index 59ec58dfebe..74067886c6a 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -46,13 +46,15 @@ Dtype ConvolutionLayer::Forward_gpu(const vector*>& bottom, template void ConvolutionLayer::Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { - const Dtype* weight = this->blobs_[0]->gpu_data(); - Dtype* weight_diff = this->blobs_[0]->mutable_gpu_diff(); - caffe_gpu_set(this->blobs_[0]->count(), Dtype(0), weight_diff); - Dtype* col_data = col_buffer_.mutable_gpu_data(); - Dtype* col_diff = col_buffer_.mutable_gpu_diff(); + const Dtype* weight = NULL; + Dtype* weight_diff = NULL; + if (this->param_propagate_down_[0]) { + weight = this->blobs_[0]->gpu_data(); + weight_diff = this->blobs_[0]->mutable_gpu_diff(); + caffe_gpu_set(this->blobs_[0]->count(), Dtype(0), weight_diff); + } Dtype* bias_diff = NULL; - if (bias_term_) { + if (bias_term_ && this->param_propagate_down_[1]) { bias_diff = this->blobs_[1]->mutable_gpu_diff(); caffe_gpu_set(this->blobs_[1]->count(), Dtype(0), bias_diff); } @@ -60,41 +62,51 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, const int col_offset = K_ * N_; const int top_offset = M_ * N_; for (int i = 0; i < top.size(); ++i) { - const Dtype* top_diff = top[i]->gpu_diff(); - const Dtype* bottom_data = (*bottom)[i]->gpu_data(); - Dtype* bottom_diff = (*bottom)[i]->mutable_gpu_diff(); + const Dtype* top_diff = NULL; // Bias gradient, if necessary. - if (bias_term_) { + if (bias_term_ && this->param_propagate_down_[1]) { + top_diff = top[i]->gpu_diff(); for (int n = 0; n < num_; ++n) { caffe_gpu_gemv(CblasNoTrans, num_output_, N_, 1., top_diff + top[0]->offset(n), - static_cast(bias_multiplier_->gpu_data()), - 1., bias_diff); + static_cast(bias_multiplier_->gpu_data()), 1., + bias_diff); } } - for (int n = 0; n < num_; ++n) { - // since we saved memory in the forward pass by not storing all col data, - // we will need to recompute them. - im2col_gpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); - // gradient w.r.t. weight. Note that we will accumulate diffs. - for (int g = 0; g < group_; ++g) { - caffe_gpu_gemm(CblasNoTrans, CblasTrans, M_, K_, N_, - (Dtype)1., top_diff + top[i]->offset(n) + top_offset * g, - col_data + col_offset * g, (Dtype)1., - weight_diff + weight_offset * g); + if (this->param_propagate_down_[0] || propagate_down[i]) { + if (!top_diff) { + top_diff = top[i]->gpu_diff(); } - // gradient w.r.t. bottom data, if necessary - if (propagate_down[i]) { - for (int g = 0; g < group_; ++g) { - caffe_gpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, - (Dtype)1., weight + weight_offset * g, - top_diff + top[i]->offset(n) + top_offset * g, - (Dtype)0., col_diff + col_offset * g); + Dtype* col_data = col_buffer_.mutable_gpu_data(); + Dtype* col_diff = col_buffer_.mutable_gpu_diff(); + const Dtype* bottom_data = (*bottom)[i]->gpu_data(); + Dtype* bottom_diff = (*bottom)[i]->mutable_gpu_diff(); + for (int n = 0; n < num_; ++n) { + // Since we saved memory in the forward pass by not storing all col + // data, we will need to recompute them. + im2col_gpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, + width_, kernel_size_, pad_, stride_, col_data); + // gradient w.r.t. weight. Note that we will accumulate diffs. + if (this->param_propagate_down_[0]) { + for (int g = 0; g < group_; ++g) { + caffe_gpu_gemm(CblasNoTrans, CblasTrans, M_, K_, N_, + (Dtype)1., top_diff + top[i]->offset(n) + top_offset * g, + col_data + col_offset * g, (Dtype)1., + weight_diff + weight_offset * g); + } + } + // gradient w.r.t. bottom data, if necessary + if (propagate_down[i]) { + for (int g = 0; g < group_; ++g) { + caffe_gpu_gemm(CblasTrans, CblasNoTrans, K_, N_, M_, + (Dtype)1., weight + weight_offset * g, + top_diff + top[i]->offset(n) + top_offset * g, + (Dtype)0., col_diff + col_offset * g); + } + // col2im back to the data + col2im_gpu(col_diff, channels_, height_, width_, kernel_size_, pad_, + stride_, bottom_diff + (*bottom)[i]->offset(n)); } - // col2im back to the data - col2im_gpu(col_diff, channels_, height_, width_, kernel_size_, pad_, - stride_, bottom_diff + (*bottom)[i]->offset(n)); } } } diff --git a/src/caffe/layers/inner_product_layer.cpp b/src/caffe/layers/inner_product_layer.cpp index ddf55e49b63..29df6bf2924 100644 --- a/src/caffe/layers/inner_product_layer.cpp +++ b/src/caffe/layers/inner_product_layer.cpp @@ -54,6 +54,7 @@ void InnerProductLayer::SetUp(const vector*>& bottom, bias_multiplier_data[i] = 1.; } } + this->param_propagate_down_.resize(this->blobs_.size(), true); } template @@ -76,18 +77,22 @@ template void InnerProductLayer::Backward_cpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { - const Dtype* top_diff = top[0]->cpu_diff(); - const Dtype* bottom_data = (*bottom)[0]->cpu_data(); - // Gradient with respect to weight - caffe_cpu_gemm(CblasTrans, CblasNoTrans, N_, K_, M_, (Dtype)1., - top_diff, bottom_data, (Dtype)0., this->blobs_[0]->mutable_cpu_diff()); - if (bias_term_) { + if (this->param_propagate_down_[0]) { + const Dtype* top_diff = top[0]->cpu_diff(); + const Dtype* bottom_data = (*bottom)[0]->cpu_data(); + // Gradient with respect to weight + caffe_cpu_gemm(CblasTrans, CblasNoTrans, N_, K_, M_, (Dtype)1., + top_diff, bottom_data, (Dtype)0., this->blobs_[0]->mutable_cpu_diff()); + } + if (bias_term_ && this->param_propagate_down_[1]) { + const Dtype* top_diff = top[0]->cpu_diff(); // Gradient with respect to bias caffe_cpu_gemv(CblasTrans, M_, N_, (Dtype)1., top_diff, reinterpret_cast(bias_multiplier_->cpu_data()), (Dtype)0., this->blobs_[1]->mutable_cpu_diff()); } if (propagate_down[0]) { + const Dtype* top_diff = top[0]->cpu_diff(); // Gradient with respect to bottom data caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, M_, K_, N_, (Dtype)1., top_diff, this->blobs_[0]->cpu_data(), (Dtype)0., diff --git a/src/caffe/layers/inner_product_layer.cu b/src/caffe/layers/inner_product_layer.cu index 5b95a57b23b..f3e494679d2 100644 --- a/src/caffe/layers/inner_product_layer.cu +++ b/src/caffe/layers/inner_product_layer.cu @@ -33,18 +33,22 @@ template void InnerProductLayer::Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { - const Dtype* top_diff = top[0]->gpu_diff(); - const Dtype* bottom_data = (*bottom)[0]->gpu_data(); - // Gradient with respect to weight - caffe_gpu_gemm(CblasTrans, CblasNoTrans, N_, K_, M_, (Dtype)1., - top_diff, bottom_data, (Dtype)0., this->blobs_[0]->mutable_gpu_diff()); - if (bias_term_) { + if (this->param_propagate_down_[0]) { + const Dtype* top_diff = top[0]->gpu_diff(); + const Dtype* bottom_data = (*bottom)[0]->gpu_data(); + // Gradient with respect to weight + caffe_gpu_gemm(CblasTrans, CblasNoTrans, N_, K_, M_, (Dtype)1., + top_diff, bottom_data, (Dtype)0., this->blobs_[0]->mutable_gpu_diff()); + } + if (bias_term_ && this->param_propagate_down_[1]) { + const Dtype* top_diff = top[0]->gpu_diff(); // Gradient with respect to bias caffe_gpu_gemv(CblasTrans, M_, N_, (Dtype)1., top_diff, - reinterpret_cast(bias_multiplier_->gpu_data()), - (Dtype)0., this->blobs_[1]->mutable_gpu_diff()); + reinterpret_cast(bias_multiplier_->gpu_data()), (Dtype)0., + this->blobs_[1]->mutable_gpu_diff()); } if (propagate_down[0]) { + const Dtype* top_diff = top[0]->gpu_diff(); // Gradient with respect to bottom data caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, M_, K_, N_, (Dtype)1., top_diff, this->blobs_[0]->gpu_data(), (Dtype)0., From fb8c0616f4827795f50e0b665805403eb3719966 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Wed, 9 Jul 2014 15:34:44 -0700 Subject: [PATCH 256/408] Use Blobs instead of SyncedMemorys for the bias_multiplier_'s. --- include/caffe/vision_layers.hpp | 4 ++-- src/caffe/layers/conv_layer.cpp | 12 ++++-------- src/caffe/layers/conv_layer.cu | 4 ++-- src/caffe/layers/inner_product_layer.cpp | 12 ++++-------- src/caffe/layers/inner_product_layer.cu | 4 ++-- 5 files changed, 14 insertions(+), 22 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 1016f761af5..c8b4609c20f 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -55,7 +55,7 @@ class ConvolutionLayer : public Layer { int num_output_; int group_; Blob col_buffer_; - shared_ptr bias_multiplier_; + shared_ptr > bias_multiplier_; bool bias_term_; int M_; int K_; @@ -157,7 +157,7 @@ class InnerProductLayer : public Layer { int K_; int N_; bool bias_term_; - shared_ptr bias_multiplier_; + shared_ptr > bias_multiplier_; }; // Forward declare PoolingLayer and SplitLayer for use in LRNLayer. diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index 0d6871d6ac4..d7099e5511d 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -78,12 +78,8 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, } // Set up the bias filler if (bias_term_) { - bias_multiplier_.reset(new SyncedMemory(N_ * sizeof(Dtype))); - Dtype* bias_multiplier_data = - reinterpret_cast(bias_multiplier_->mutable_cpu_data()); - for (int i = 0; i < N_; ++i) { - bias_multiplier_data[i] = 1.; - } + bias_multiplier_.reset(new Blob(1, 1, 1, N_)); + caffe_set(N_, Dtype(1), bias_multiplier_->mutable_cpu_data()); } this->param_propagate_down_.resize(this->blobs_.size(), true); } @@ -114,7 +110,7 @@ Dtype ConvolutionLayer::Forward_cpu(const vector*>& bottom, if (bias_term_) { caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, num_output_, N_, 1, (Dtype)1., this->blobs_[1]->cpu_data(), - reinterpret_cast(bias_multiplier_->cpu_data()), + bias_multiplier_->cpu_data(), (Dtype)1., top_data + (*top)[i]->offset(n)); } } @@ -148,7 +144,7 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, for (int n = 0; n < num_; ++n) { caffe_cpu_gemv(CblasNoTrans, num_output_, N_, 1., top_diff + top[0]->offset(n), - static_cast(bias_multiplier_->cpu_data()), 1., + bias_multiplier_->cpu_data(), 1., bias_diff); } } diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index 74067886c6a..0b6e912b639 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -35,7 +35,7 @@ Dtype ConvolutionLayer::Forward_gpu(const vector*>& bottom, if (bias_term_) { caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, num_output_, N_, 1, (Dtype)1., this->blobs_[1]->gpu_data(), - reinterpret_cast(bias_multiplier_->gpu_data()), + bias_multiplier_->gpu_data(), (Dtype)1., top_data + (*top)[i]->offset(n)); } } @@ -69,7 +69,7 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, for (int n = 0; n < num_; ++n) { caffe_gpu_gemv(CblasNoTrans, num_output_, N_, 1., top_diff + top[0]->offset(n), - static_cast(bias_multiplier_->gpu_data()), 1., + bias_multiplier_->gpu_data(), 1., bias_diff); } } diff --git a/src/caffe/layers/inner_product_layer.cpp b/src/caffe/layers/inner_product_layer.cpp index 29df6bf2924..a92b56a333c 100644 --- a/src/caffe/layers/inner_product_layer.cpp +++ b/src/caffe/layers/inner_product_layer.cpp @@ -47,12 +47,8 @@ void InnerProductLayer::SetUp(const vector*>& bottom, } // parameter initialization // Setting up the bias multiplier if (bias_term_) { - bias_multiplier_.reset(new SyncedMemory(M_ * sizeof(Dtype))); - Dtype* bias_multiplier_data = - reinterpret_cast(bias_multiplier_->mutable_cpu_data()); - for (int i = 0; i < M_; ++i) { - bias_multiplier_data[i] = 1.; - } + bias_multiplier_.reset(new Blob(1, 1, 1, M_)); + caffe_set(M_, Dtype(1), bias_multiplier_->mutable_cpu_data()); } this->param_propagate_down_.resize(this->blobs_.size(), true); } @@ -67,7 +63,7 @@ Dtype InnerProductLayer::Forward_cpu(const vector*>& bottom, bottom_data, weight, (Dtype)0., top_data); if (bias_term_) { caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, 1, (Dtype)1., - reinterpret_cast(bias_multiplier_->cpu_data()), + bias_multiplier_->cpu_data(), this->blobs_[1]->cpu_data(), (Dtype)1., top_data); } return Dtype(0); @@ -88,7 +84,7 @@ void InnerProductLayer::Backward_cpu(const vector*>& top, const Dtype* top_diff = top[0]->cpu_diff(); // Gradient with respect to bias caffe_cpu_gemv(CblasTrans, M_, N_, (Dtype)1., top_diff, - reinterpret_cast(bias_multiplier_->cpu_data()), (Dtype)0., + bias_multiplier_->cpu_data(), (Dtype)0., this->blobs_[1]->mutable_cpu_diff()); } if (propagate_down[0]) { diff --git a/src/caffe/layers/inner_product_layer.cu b/src/caffe/layers/inner_product_layer.cu index f3e494679d2..453593cf552 100644 --- a/src/caffe/layers/inner_product_layer.cu +++ b/src/caffe/layers/inner_product_layer.cu @@ -23,7 +23,7 @@ Dtype InnerProductLayer::Forward_gpu(const vector*>& bottom, bottom_data, weight, (Dtype)0., top_data); if (bias_term_) { caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, 1, (Dtype)1., - reinterpret_cast(bias_multiplier_->gpu_data()), + bias_multiplier_->gpu_data(), this->blobs_[1]->gpu_data(), (Dtype)1., top_data); } return Dtype(0); @@ -44,7 +44,7 @@ void InnerProductLayer::Backward_gpu(const vector*>& top, const Dtype* top_diff = top[0]->gpu_diff(); // Gradient with respect to bias caffe_gpu_gemv(CblasTrans, M_, N_, (Dtype)1., top_diff, - reinterpret_cast(bias_multiplier_->gpu_data()), (Dtype)0., + bias_multiplier_->gpu_data(), (Dtype)0., this->blobs_[1]->mutable_gpu_diff()); } if (propagate_down[0]) { From 5b974e05f28a4950fdf5aa6f7604ff207fe7684e Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 15 Jul 2014 13:15:36 -0700 Subject: [PATCH 257/408] Add Net Test to verify correct param_propagate_down behavior. --- src/caffe/test/test_net.cpp | 119 +++++++++++++++++++++++++++++++++--- 1 file changed, 111 insertions(+), 8 deletions(-) diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index 129d4447c41..cd6daeb6ade 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -14,6 +14,8 @@ #include "caffe/test/test_caffe_main.hpp" +using std::ostringstream; + namespace caffe { template @@ -216,8 +218,11 @@ class NetTest : public ::testing::Test { InitNetFromProtoString(proto); } - virtual void InitUnsharedWeightsNet() { - const string& proto = + virtual void InitUnsharedWeightsNet(const bool bias_term = false, + const Dtype blobs_lr_w1 = 1, const Dtype blobs_lr_b1 = 2, + const Dtype blobs_lr_w2 = 1, const Dtype blobs_lr_b2 = 2) { + ostringstream proto; + proto << "name: 'UnsharedWeightsNetwork' " "layers: { " " name: 'data' " @@ -236,16 +241,25 @@ class NetTest : public ::testing::Test { "} " "layers: { " " name: 'innerproduct1' " - " type: INNER_PRODUCT " + " type: INNER_PRODUCT " " inner_product_param { " " num_output: 10 " - " bias_term: false " + " bias_term: " << bias_term << " weight_filler { " " type: 'gaussian' " " std: 10 " " } " " } " - " param: 'unsharedweights1' " + " param: 'unsharedweights1' "; + if (bias_term) { + proto << " param: '' "; + } + proto << + " blobs_lr: " << blobs_lr_w1; + if (bias_term) { + proto << " blobs_lr: " << blobs_lr_b1; + } + proto << " bottom: 'data' " " top: 'innerproduct1' " "} " @@ -254,14 +268,23 @@ class NetTest : public ::testing::Test { " type: INNER_PRODUCT " " inner_product_param { " " num_output: 10 " - " bias_term: false " + " bias_term: " << bias_term << " weight_filler { " " type: 'gaussian' " " std: 10 " " } " " } " - " param: 'unsharedweights2' " + " param: 'unsharedweights2' "; + if (bias_term) { + proto << " param: '' "; + } + proto << " bottom: 'data' " + " blobs_lr: " << blobs_lr_w2; + if (bias_term) { + proto << " blobs_lr: " << blobs_lr_b2; + } + proto << " top: 'innerproduct2' " "} " "layers: { " @@ -270,7 +293,7 @@ class NetTest : public ::testing::Test { " bottom: 'innerproduct1' " " bottom: 'innerproduct2' " "} "; - InitNetFromProtoString(proto); + InitNetFromProtoString(proto.str()); } virtual void InitSharedWeightsNet() { @@ -698,4 +721,84 @@ TYPED_TEST(NetTest, TestSharedWeightsUpdate) { } } +TYPED_TEST(NetTest, TestParamPropagateDown) { + typedef typename TypeParam::Dtype Dtype; + vector*> bottom; + const bool kBiasTerm = true; + + // Run the net with all params learned; check that gradients are non-zero. + Caffe::set_random_seed(this->seed_); + Dtype blobs_lr_w1 = 1, blobs_lr_w2 = 1, blobs_lr_b1 = 2, blobs_lr_b2 = 2; + this->InitUnsharedWeightsNet(kBiasTerm, blobs_lr_w1, blobs_lr_w2, + blobs_lr_b1, blobs_lr_b2); + this->net_->Forward(bottom); + this->net_->Backward(); + const vector > >& params = this->net_->params(); + const int num_params = params.size(); + ASSERT_EQ(4, num_params); + const Dtype kNonZeroTestMin = 1e-3; + vector param_asums(params.size()); + for (int i = 0; i < num_params; ++i) { + const Dtype param_asum = + caffe_cpu_asum(params[i]->count(), params[i]->cpu_diff()); + param_asums[i] = param_asum; + EXPECT_GT(param_asum, kNonZeroTestMin); + } + + // Change the learning rates to different non-zero values; should see same + // gradients. + Caffe::set_random_seed(this->seed_); + blobs_lr_w1 *= 2, blobs_lr_w2 *= 2, blobs_lr_b1 *= 2, blobs_lr_b2 *= 2; + this->InitUnsharedWeightsNet(kBiasTerm, blobs_lr_w1, blobs_lr_w2, + blobs_lr_b1, blobs_lr_b2); + this->net_->Forward(bottom); + this->net_->Backward(); + const vector > >& params2 = this->net_->params(); + ASSERT_EQ(num_params, params2.size()); + for (int i = 0; i < num_params; ++i) { + const Dtype param_asum = + caffe_cpu_asum(params2[i]->count(), params2[i]->cpu_diff()); + EXPECT_EQ(param_asum, param_asums[i]); + } + + // Change a subset of the learning rates to zero; check that we see zero + // gradients for those. + Caffe::set_random_seed(this->seed_); + blobs_lr_w1 = 1, blobs_lr_w2 = 0, blobs_lr_b1 = 0, blobs_lr_b2 = 1; + this->InitUnsharedWeightsNet(kBiasTerm, blobs_lr_w1, blobs_lr_w2, + blobs_lr_b1, blobs_lr_b2); + this->net_->Forward(bottom); + this->net_->Backward(); + const vector > >& params3 = this->net_->params(); + ASSERT_EQ(num_params, params3.size()); + for (int i = 0; i < num_params; ++i) { + const Dtype param_asum = + caffe_cpu_asum(params3[i]->count(), params3[i]->cpu_diff()); + if (i == 1 || i == 2) { + EXPECT_EQ(0, param_asum); + } else { + EXPECT_EQ(param_asum, param_asums[i]); + } + } + + // Change the opposite subset of the learning rates to zero. + Caffe::set_random_seed(this->seed_); + blobs_lr_w1 = 0, blobs_lr_w2 = 1, blobs_lr_b1 = 1, blobs_lr_b2 = 0; + this->InitUnsharedWeightsNet(kBiasTerm, blobs_lr_w1, blobs_lr_w2, + blobs_lr_b1, blobs_lr_b2); + this->net_->Forward(bottom); + this->net_->Backward(); + const vector > >& params4 = this->net_->params(); + ASSERT_EQ(num_params, params4.size()); + for (int i = 0; i < num_params; ++i) { + const Dtype param_asum = + caffe_cpu_asum(params4[i]->count(), params4[i]->cpu_diff()); + if (i == 0 || i == 3) { + EXPECT_EQ(0, param_asum); + } else { + EXPECT_EQ(param_asum, param_asums[i]); + } + } +} + } // namespace caffe From 53825cd3c71fb044d1ee1683f2041d5b4a65b9cc Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 15 Jul 2014 15:12:51 -0700 Subject: [PATCH 258/408] Another bugfix related to my CPU/GPU test changes: make NetTest a MultiDeviceTest (Caffe:set_mode(Caffe::CPU/GPU) isn't run without this). --- src/caffe/test/test_net.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index cd6daeb6ade..c30f4168edc 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -19,7 +19,7 @@ using std::ostringstream; namespace caffe { template -class NetTest : public ::testing::Test { +class NetTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; protected: From 7dccb008c1422acf4a51036bea49c274788dc939 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Wed, 16 Jul 2014 16:15:09 -0700 Subject: [PATCH 259/408] move using statements inside namespace caffe to avoid polluting the whole name space. --- include/caffe/layer.hpp | 4 ++-- include/caffe/net.hpp | 5 ++--- include/caffe/util/insert_splits.hpp | 4 ++-- include/caffe/util/io.hpp | 6 +++--- include/caffe/util/upgrade_proto.hpp | 4 ++-- src/caffe/layer_factory.cpp | 3 +-- src/caffe/layers/accuracy_layer.cpp | 3 ++- src/caffe/layers/bnll_layer.cpp | 4 ++-- src/caffe/layers/bnll_layer.cu | 4 ++-- src/caffe/layers/data_layer.cpp | 2 -- src/caffe/layers/data_layer.cu | 2 -- src/caffe/layers/hdf5_data_layer.cu | 2 -- src/caffe/layers/image_data_layer.cpp | 5 ++--- src/caffe/layers/image_data_layer.cu | 5 ++--- src/caffe/layers/window_data_layer.cpp | 7 +++---- src/caffe/layers/window_data_layer.cu | 7 +++---- 16 files changed, 28 insertions(+), 39 deletions(-) diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index d4d10aafa31..3e386b362c8 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -10,11 +10,11 @@ #include "caffe/common.hpp" #include "caffe/proto/caffe.pb.h" +namespace caffe { + using std::string; using std::vector; -namespace caffe { - template class Layer { public: diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index cbd5becde2d..ce82e28602c 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -14,15 +14,14 @@ #include "caffe/layer.hpp" #include "caffe/proto/caffe.pb.h" +namespace caffe { + using std::map; using std::pair; using std::set; using std::string; using std::vector; -namespace caffe { - - template class Net { public: diff --git a/include/caffe/util/insert_splits.hpp b/include/caffe/util/insert_splits.hpp index e25cdd7faf1..45c3a051021 100644 --- a/include/caffe/util/insert_splits.hpp +++ b/include/caffe/util/insert_splits.hpp @@ -7,11 +7,11 @@ #include "caffe/proto/caffe.pb.h" +namespace caffe { + using std::pair; using std::string; -namespace caffe { - // Copy NetParameters with SplitLayers added to replace any shared bottom // blobs with unique bottom blobs provided by the SplitLayer. void InsertSplits(const NetParameter& param, NetParameter* param_split); diff --git a/include/caffe/util/io.hpp b/include/caffe/util/io.hpp index 4458096ef78..accb0947a9c 100644 --- a/include/caffe/util/io.hpp +++ b/include/caffe/util/io.hpp @@ -12,13 +12,13 @@ #include "caffe/blob.hpp" -using std::string; -using ::google::protobuf::Message; - #define HDF5_NUM_DIMS 4 namespace caffe { +using std::string; +using ::google::protobuf::Message; + bool ReadProtoFromTextFile(const char* filename, Message* proto); inline bool ReadProtoFromTextFile(const string& filename, Message* proto) { diff --git a/include/caffe/util/upgrade_proto.hpp b/include/caffe/util/upgrade_proto.hpp index a1ac060970f..0772f803057 100644 --- a/include/caffe/util/upgrade_proto.hpp +++ b/include/caffe/util/upgrade_proto.hpp @@ -8,10 +8,10 @@ #include "caffe/proto/caffe.pb.h" #include "caffe/proto/caffe_pretty_print.pb.h" -using std::string; - namespace caffe { +using std::string; + // Return true iff any layer contains parameters specified using // deprecated V0LayerParameter. bool NetNeedsUpgrade(const NetParameter& net_param); diff --git a/src/caffe/layer_factory.cpp b/src/caffe/layer_factory.cpp index d6e506dfb9f..173c870f6ae 100644 --- a/src/caffe/layer_factory.cpp +++ b/src/caffe/layer_factory.cpp @@ -9,10 +9,9 @@ #include "caffe/vision_layers.hpp" #include "caffe/proto/caffe.pb.h" -using std::string; - namespace caffe { +using std::string; // A function to get a specific layer from the specification given in // LayerParameter. Ideally this would be replaced by a factory pattern, diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index 409965519ca..ddfe38ab38e 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -10,10 +10,11 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" -using std::max; namespace caffe { +using std::max; + template void AccuracyLayer::SetUp( const vector*>& bottom, vector*>* top) { diff --git a/src/caffe/layers/bnll_layer.cpp b/src/caffe/layers/bnll_layer.cpp index 95e6bd8748c..a00de9e302e 100644 --- a/src/caffe/layers/bnll_layer.cpp +++ b/src/caffe/layers/bnll_layer.cpp @@ -6,10 +6,10 @@ #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" -using std::min; - namespace caffe { +using std::min; + const float kBNLL_THRESHOLD = 50.; template diff --git a/src/caffe/layers/bnll_layer.cu b/src/caffe/layers/bnll_layer.cu index 7849d11c25d..8fbe7f79eed 100644 --- a/src/caffe/layers/bnll_layer.cu +++ b/src/caffe/layers/bnll_layer.cu @@ -6,10 +6,10 @@ #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" -using std::max; - namespace caffe { +using std::max; + const float kBNLL_THRESHOLD = 50.; template diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index 29c4fec8ca4..5ff1a440d64 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -14,8 +14,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/proto/caffe.pb.h" -using std::string; - namespace caffe { template diff --git a/src/caffe/layers/data_layer.cu b/src/caffe/layers/data_layer.cu index 40316a16772..4409f47f21c 100644 --- a/src/caffe/layers/data_layer.cu +++ b/src/caffe/layers/data_layer.cu @@ -11,8 +11,6 @@ #include "caffe/util/io.hpp" #include "caffe/vision_layers.hpp" -using std::string; - namespace caffe { template diff --git a/src/caffe/layers/hdf5_data_layer.cu b/src/caffe/layers/hdf5_data_layer.cu index 3c27f37e360..d50d9616771 100644 --- a/src/caffe/layers/hdf5_data_layer.cu +++ b/src/caffe/layers/hdf5_data_layer.cu @@ -15,8 +15,6 @@ TODO: #include "caffe/util/io.hpp" #include "caffe/vision_layers.hpp" -using std::string; - namespace caffe { template diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index 1f7368e7e4d..90ecadfd335 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -16,12 +16,11 @@ #include "caffe/util/rng.hpp" #include "caffe/vision_layers.hpp" +namespace caffe { + using std::iterator; -using std::string; using std::pair; -namespace caffe { - template void* ImageDataLayerPrefetch(void* layer_pointer) { CHECK(layer_pointer); diff --git a/src/caffe/layers/image_data_layer.cu b/src/caffe/layers/image_data_layer.cu index dd5bdbc2068..2b8c8ed0a35 100644 --- a/src/caffe/layers/image_data_layer.cu +++ b/src/caffe/layers/image_data_layer.cu @@ -16,11 +16,10 @@ #include "caffe/util/io.hpp" #include "caffe/vision_layers.hpp" -using std::string; -using std::pair; - namespace caffe { +using std::pair; + template Dtype ImageDataLayer::Forward_gpu(const vector*>& bottom, vector*>* top) { diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index 5dbdff330ff..53467e8d55c 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -22,16 +22,15 @@ #include "caffe/util/rng.hpp" #include "caffe/vision_layers.hpp" -using std::string; -using std::map; -using std::pair; - // caffe.proto > LayerParameter > WindowDataParameter // 'source' field specifies the window_file // 'crop_size' indicates the desired warped size namespace caffe { +using std::map; +using std::pair; + template void* WindowDataLayerPrefetch(void* layer_pointer) { WindowDataLayer* layer = diff --git a/src/caffe/layers/window_data_layer.cu b/src/caffe/layers/window_data_layer.cu index ca664fcef41..d4efeca06c1 100644 --- a/src/caffe/layers/window_data_layer.cu +++ b/src/caffe/layers/window_data_layer.cu @@ -12,16 +12,15 @@ #include "caffe/util/io.hpp" #include "caffe/vision_layers.hpp" -using std::string; -using std::map; -using std::pair; - // caffe.proto > LayerParameter > WindowDataParameter // 'source' field specifies the window_file // 'crop_size' indicates the desired warped size namespace caffe { +using std::map; +using std::pair; + template Dtype WindowDataLayer::Forward_gpu(const vector*>& bottom, vector*>* top) { From b3ba56b23e8447ff4b50b3aa7d873572612fcabf Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Wed, 16 Jul 2014 16:22:52 -0700 Subject: [PATCH 260/408] neuron_layers.hpp should not need to include leveldb --- include/caffe/neuron_layers.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index e52e395e24b..070b89044d0 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -7,7 +7,6 @@ #include #include -#include "leveldb/db.h" #include "pthread.h" #include "boost/scoped_ptr.hpp" #include "hdf5.h" From b6d881d1e7eeb75515e70254fc5168f7854f7c42 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sun, 29 Jun 2014 20:45:41 -0700 Subject: [PATCH 261/408] configure Makefile for CPU-only build --- Makefile | 16 +++++++++++++--- Makefile.config.example | 3 +++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index ad13bb949e7..ef3aa4ba3f3 100644 --- a/Makefile +++ b/Makefile @@ -202,6 +202,16 @@ ifeq ($(LINUX), 1) endif endif +# CPU-only configuration +ifeq ($(CPU_ONLY), 1) + OBJS := $(PROTO_OBJS) $(CXX_OBJS) + TEST_OBJS := $(TEST_CXX_OBJS) + TEST_BINS := $(TEST_CXX_BINS) + ALL_WARNS := $(ALL_CXX_WARNS) + TEST_FILTER := --gtest_filter="-*GPU*:*/2.*:*/3.*" + COMMON_FLAGS += -DCPU_ONLY +endif + # OS X: # clang++ instead of g++ # libstdc++ instead of libc++ for CUDA compatibility on 10.9 @@ -222,9 +232,9 @@ endif # Debugging ifeq ($(DEBUG), 1) - COMMON_FLAGS := -DDEBUG -g -O0 + COMMON_FLAGS += -DDEBUG -g -O0 else - COMMON_FLAGS := -DNDEBUG -O2 + COMMON_FLAGS += -DNDEBUG -O2 endif # BLAS configuration (default = ATLAS) @@ -342,7 +352,7 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) @ echo runtest: $(TEST_ALL_BIN) - $(TEST_ALL_BIN) $(TEST_GPUID) --gtest_shuffle + $(TEST_ALL_BIN) $(TEST_GPUID) --gtest_shuffle $(TEST_FILTER) runtestnogpu: $(TEST_ALL_BIN) $(TEST_ALL_BIN) --gtest_shuffle --gtest_filter="-*GPU*:*/2.*:*/3.*" diff --git a/Makefile.config.example b/Makefile.config.example index 17c90016f75..708a39c7841 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -1,6 +1,9 @@ ## Refer to http://caffe.berkeleyvision.org/installation.html # Contributions simplifying and improving our build system are welcome! +# CPU-only switch (uncomment to build without GPU support). +# CPU_ONLY := 1 + # To customize your choice of compiler, uncomment and set the following. # N.B. the default for Linux is g++ and the default for OSX is clang++ # CUSTOM_CXX := g++ From 41e063f77647a489aaabb26d795e27c8850a816f Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sun, 29 Jun 2014 20:47:40 -0700 Subject: [PATCH 262/408] stub out GPU layer methods to crash loudly in CPU-only mode --- include/caffe/layer.hpp | 1 + include/caffe/util/cpu_only.hpp | 37 +++++++++++++++++++ src/caffe/layers/bnll_layer.cpp | 3 ++ src/caffe/layers/concat_layer.cpp | 4 ++ src/caffe/layers/conv_layer.cpp | 4 ++ src/caffe/layers/data_layer.cpp | 4 ++ src/caffe/layers/dropout_layer.cpp | 4 ++ src/caffe/layers/eltwise_layer.cpp | 4 ++ src/caffe/layers/euclidean_loss_layer.cpp | 4 ++ src/caffe/layers/flatten_layer.cpp | 4 ++ src/caffe/layers/hdf5_data_layer.cpp | 4 ++ src/caffe/layers/hdf5_output_layer.cpp | 4 ++ src/caffe/layers/im2col_layer.cpp | 4 ++ src/caffe/layers/image_data_layer.cpp | 4 ++ src/caffe/layers/inner_product_layer.cpp | 4 ++ src/caffe/layers/lrn_layer.cpp | 6 +++ src/caffe/layers/pooling_layer.cpp | 4 ++ src/caffe/layers/power_layer.cpp | 4 ++ src/caffe/layers/relu_layer.cpp | 4 ++ src/caffe/layers/relu_layer.cu | 1 + .../sigmoid_cross_entropy_loss_layer.cpp | 4 ++ src/caffe/layers/sigmoid_layer.cpp | 4 ++ src/caffe/layers/softmax_layer.cpp | 4 ++ src/caffe/layers/softmax_loss_layer.cpp | 4 ++ src/caffe/layers/split_layer.cpp | 4 ++ src/caffe/layers/tanh_layer.cpp | 4 ++ src/caffe/layers/threshold_layer.cpp | 4 ++ src/caffe/layers/window_data_layer.cpp | 4 ++ 28 files changed, 140 insertions(+) create mode 100644 include/caffe/util/cpu_only.hpp diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index d4d10aafa31..31689a4fe6f 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -9,6 +9,7 @@ #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/util/cpu_only.hpp" using std::string; using std::vector; diff --git a/include/caffe/util/cpu_only.hpp b/include/caffe/util/cpu_only.hpp new file mode 100644 index 00000000000..1ae6ec9dac2 --- /dev/null +++ b/include/caffe/util/cpu_only.hpp @@ -0,0 +1,37 @@ +// Copyright 2014 BVLC and contributors. + +#ifndef CAFFE_UTIL_CPU_ONLY_H_ +#define CAFFE_UTIL_CPU_ONLY_H_ + +#include + +#include "caffe/blob.hpp" +#include "caffe/common.hpp" + +// For CPU-only Caffe, stub out GPU calls as unavailable. +#ifdef CPU_ONLY + +#define NO_GPU LOG(FATAL) << "CPU-only Mode" + +#define STUB_GPU(classname) \ +template \ +Dtype classname::Forward_gpu(const vector*>& bottom, \ + vector*>* top) { NO_GPU; } \ +template \ +void classname::Backward_gpu(const vector*>& top, \ + const vector& propagate_down, \ + vector*>* bottom) { NO_GPU; } \ + +#define STUB_GPU_FORWARD(classname, funcname) \ +template \ +Dtype classname::funcname##_##gpu(const vector*>& bottom, \ + vector*>* top) { NO_GPU; } \ + +#define STUB_GPU_BACKWARD(classname, funcname) \ +template \ +void classname::funcname##_##gpu(const vector*>& top, \ + const vector& propagate_down, \ + vector*>* bottom) { NO_GPU; } \ + +#endif // CPU_ONLY +#endif // CAFFE_UTIL_CPU_ONLY_H_ diff --git a/src/caffe/layers/bnll_layer.cpp b/src/caffe/layers/bnll_layer.cpp index 95e6bd8748c..0e30b8aacbf 100644 --- a/src/caffe/layers/bnll_layer.cpp +++ b/src/caffe/layers/bnll_layer.cpp @@ -43,6 +43,9 @@ void BNLLLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(BNLLLayer); +#endif INSTANTIATE_CLASS(BNLLLayer); diff --git a/src/caffe/layers/concat_layer.cpp b/src/caffe/layers/concat_layer.cpp index 4c894ddffc4..dd899a57c85 100644 --- a/src/caffe/layers/concat_layer.cpp +++ b/src/caffe/layers/concat_layer.cpp @@ -100,6 +100,10 @@ void ConcatLayer::Backward_cpu(const vector*>& top, } // concat_dim_ is guaranteed to be 0 or 1 by SetUp. } +#ifdef CPU_ONLY +STUB_GPU(ConcatLayer); +#endif + INSTANTIATE_CLASS(ConcatLayer); } // namespace caffe diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index d7099e5511d..e8f08c7e3cd 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -187,6 +187,10 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(ConvolutionLayer); +#endif + INSTANTIATE_CLASS(ConvolutionLayer); } // namespace caffe diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index 29c4fec8ca4..e9ec15c501c 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -362,6 +362,10 @@ Dtype DataLayer::Forward_cpu(const vector*>& bottom, return Dtype(0.); } +#ifdef CPU_ONLY +STUB_GPU_FORWARD(DataLayer, Forward); +#endif + INSTANTIATE_CLASS(DataLayer); } // namespace caffe diff --git a/src/caffe/layers/dropout_layer.cpp b/src/caffe/layers/dropout_layer.cpp index a3501bf518c..a9372977693 100644 --- a/src/caffe/layers/dropout_layer.cpp +++ b/src/caffe/layers/dropout_layer.cpp @@ -65,6 +65,10 @@ void DropoutLayer::Backward_cpu(const vector*>& top, } +#ifdef CPU_ONLY +STUB_GPU(DropoutLayer); +#endif + INSTANTIATE_CLASS(DropoutLayer); diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index 2c265f6678f..44bad932a11 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -94,6 +94,10 @@ void EltwiseLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(EltwiseLayer); +#endif + INSTANTIATE_CLASS(EltwiseLayer); diff --git a/src/caffe/layers/euclidean_loss_layer.cpp b/src/caffe/layers/euclidean_loss_layer.cpp index 2478a514cac..43e9989f513 100644 --- a/src/caffe/layers/euclidean_loss_layer.cpp +++ b/src/caffe/layers/euclidean_loss_layer.cpp @@ -52,6 +52,10 @@ void EuclideanLossLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(EuclideanLossLayer); +#endif + INSTANTIATE_CLASS(EuclideanLossLayer); } // namespace caffe diff --git a/src/caffe/layers/flatten_layer.cpp b/src/caffe/layers/flatten_layer.cpp index 9494da9a255..7e106d26f79 100644 --- a/src/caffe/layers/flatten_layer.cpp +++ b/src/caffe/layers/flatten_layer.cpp @@ -33,6 +33,10 @@ void FlattenLayer::Backward_cpu(const vector*>& top, (*bottom)[0]->ShareDiff(*top[0]); } +#ifdef CPU_ONLY +STUB_GPU(FlattenLayer); +#endif + INSTANTIATE_CLASS(FlattenLayer); } // namespace caffe diff --git a/src/caffe/layers/hdf5_data_layer.cpp b/src/caffe/layers/hdf5_data_layer.cpp index 2ba7fa77f45..81cfdc096df 100644 --- a/src/caffe/layers/hdf5_data_layer.cpp +++ b/src/caffe/layers/hdf5_data_layer.cpp @@ -114,6 +114,10 @@ Dtype HDF5DataLayer::Forward_cpu(const vector*>& bottom, return Dtype(0.); } +#ifdef CPU_ONLY +STUB_GPU_FORWARD(HDF5DataLayer, Forward); +#endif + INSTANTIATE_CLASS(HDF5DataLayer); } // namespace caffe diff --git a/src/caffe/layers/hdf5_output_layer.cpp b/src/caffe/layers/hdf5_output_layer.cpp index 8307ad7c184..ffa240f15cc 100644 --- a/src/caffe/layers/hdf5_output_layer.cpp +++ b/src/caffe/layers/hdf5_output_layer.cpp @@ -69,6 +69,10 @@ void HDF5OutputLayer::Backward_cpu(const vector*>& top, return; } +#ifdef CPU_ONLY +STUB_GPU(HDF5OutputLayer); +#endif + INSTANTIATE_CLASS(HDF5OutputLayer); } // namespace caffe diff --git a/src/caffe/layers/im2col_layer.cpp b/src/caffe/layers/im2col_layer.cpp index e047dfb80a7..2c86412bb15 100644 --- a/src/caffe/layers/im2col_layer.cpp +++ b/src/caffe/layers/im2col_layer.cpp @@ -47,6 +47,10 @@ void Im2colLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(Im2colLayer); +#endif + INSTANTIATE_CLASS(Im2colLayer); } // namespace caffe diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index 1f7368e7e4d..9d09d3c4583 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -287,6 +287,10 @@ Dtype ImageDataLayer::Forward_cpu(const vector*>& bottom, return Dtype(0.); } +#ifdef CPU_ONLY +STUB_GPU_FORWARD(ImageDataLayer, Forward); +#endif + INSTANTIATE_CLASS(ImageDataLayer); } // namespace caffe diff --git a/src/caffe/layers/inner_product_layer.cpp b/src/caffe/layers/inner_product_layer.cpp index a92b56a333c..4da8578d76f 100644 --- a/src/caffe/layers/inner_product_layer.cpp +++ b/src/caffe/layers/inner_product_layer.cpp @@ -96,6 +96,10 @@ void InnerProductLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(InnerProductLayer); +#endif + INSTANTIATE_CLASS(InnerProductLayer); } // namespace caffe diff --git a/src/caffe/layers/lrn_layer.cpp b/src/caffe/layers/lrn_layer.cpp index 2bda0430c15..0e2df2ff4bb 100644 --- a/src/caffe/layers/lrn_layer.cpp +++ b/src/caffe/layers/lrn_layer.cpp @@ -256,6 +256,12 @@ void LRNLayer::WithinChannelBackward( } } +#ifdef CPU_ONLY +STUB_GPU(LRNLayer); +STUB_GPU_FORWARD(LRNLayer, CrossChannelForward); +STUB_GPU_BACKWARD(LRNLayer, CrossChannelBackward); +#endif + INSTANTIATE_CLASS(LRNLayer); diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 9151ff23674..d6fef07ba46 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -296,6 +296,10 @@ void PoolingLayer::Backward_cpu(const vector*>& top, } +#ifdef CPU_ONLY +STUB_GPU(PoolingLayer); +#endif + INSTANTIATE_CLASS(PoolingLayer); diff --git a/src/caffe/layers/power_layer.cpp b/src/caffe/layers/power_layer.cpp index 5ff3392968e..4607457a460 100644 --- a/src/caffe/layers/power_layer.cpp +++ b/src/caffe/layers/power_layer.cpp @@ -99,6 +99,10 @@ void PowerLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(PowerLayer); +#endif + INSTANTIATE_CLASS(PowerLayer); diff --git a/src/caffe/layers/relu_layer.cpp b/src/caffe/layers/relu_layer.cpp index d7a8509b247..6d6017442d4 100644 --- a/src/caffe/layers/relu_layer.cpp +++ b/src/caffe/layers/relu_layer.cpp @@ -38,6 +38,10 @@ void ReLULayer::Backward_cpu(const vector*>& top, } +#ifdef CPU_ONLY +STUB_GPU(ReLULayer); +#endif + INSTANTIATE_CLASS(ReLULayer); diff --git a/src/caffe/layers/relu_layer.cu b/src/caffe/layers/relu_layer.cu index a5b24afab60..2ad689126a3 100644 --- a/src/caffe/layers/relu_layer.cu +++ b/src/caffe/layers/relu_layer.cu @@ -59,6 +59,7 @@ void ReLULayer::Backward_gpu(const vector*>& top, } } + INSTANTIATE_CLASS(ReLULayer); diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp index 8cb830ff248..074fa6cef3c 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp @@ -68,6 +68,10 @@ void SigmoidCrossEntropyLossLayer::Backward_cpu( } } +#ifdef CPU_ONLY +STUB_GPU(SigmoidCrossEntropyLossLayer); +#endif + INSTANTIATE_CLASS(SigmoidCrossEntropyLossLayer); diff --git a/src/caffe/layers/sigmoid_layer.cpp b/src/caffe/layers/sigmoid_layer.cpp index 50139d863dd..e25db04c42a 100644 --- a/src/caffe/layers/sigmoid_layer.cpp +++ b/src/caffe/layers/sigmoid_layer.cpp @@ -42,6 +42,10 @@ void SigmoidLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(SigmoidLayer); +#endif + INSTANTIATE_CLASS(SigmoidLayer); diff --git a/src/caffe/layers/softmax_layer.cpp b/src/caffe/layers/softmax_layer.cpp index 5d60d9df1ba..665cfaec3ad 100644 --- a/src/caffe/layers/softmax_layer.cpp +++ b/src/caffe/layers/softmax_layer.cpp @@ -82,6 +82,10 @@ void SoftmaxLayer::Backward_cpu(const vector*>& top, } +#ifdef CPU_ONLY +STUB_GPU(SoftmaxLayer); +#endif + INSTANTIATE_CLASS(SoftmaxLayer); diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index 37c5ebc45be..c87270eab22 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -79,6 +79,10 @@ void SoftmaxWithLossLayer::Backward_cpu(const vector*>& top, } +#ifdef CPU_ONLY +STUB_GPU(SoftmaxWithLossLayer); +#endif + INSTANTIATE_CLASS(SoftmaxWithLossLayer); diff --git a/src/caffe/layers/split_layer.cpp b/src/caffe/layers/split_layer.cpp index 28abd95f5ff..6bae4ef22fb 100644 --- a/src/caffe/layers/split_layer.cpp +++ b/src/caffe/layers/split_layer.cpp @@ -50,6 +50,10 @@ void SplitLayer::Backward_cpu(const vector*>& top, } +#ifdef CPU_ONLY +STUB_GPU(SplitLayer); +#endif + INSTANTIATE_CLASS(SplitLayer); } // namespace caffe diff --git a/src/caffe/layers/tanh_layer.cpp b/src/caffe/layers/tanh_layer.cpp index 6b5166d53e9..0a6ec68d1f9 100644 --- a/src/caffe/layers/tanh_layer.cpp +++ b/src/caffe/layers/tanh_layer.cpp @@ -41,6 +41,10 @@ void TanHLayer::Backward_cpu(const vector*>& top, } } +#ifdef CPU_ONLY +STUB_GPU(TanHLayer); +#endif + INSTANTIATE_CLASS(TanHLayer); } // namespace caffe diff --git a/src/caffe/layers/threshold_layer.cpp b/src/caffe/layers/threshold_layer.cpp index e6ed8a6b40e..2c8546c957a 100644 --- a/src/caffe/layers/threshold_layer.cpp +++ b/src/caffe/layers/threshold_layer.cpp @@ -27,6 +27,10 @@ Dtype ThresholdLayer::Forward_cpu(const vector*>& bottom, return Dtype(0); } +#ifdef CPU_ONLY +STUB_GPU_FORWARD(ThresholdLayer, Forward); +#endif + INSTANTIATE_CLASS(ThresholdLayer); } // namespace caffe diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index 5dbdff330ff..51e0dc09e35 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -453,6 +453,10 @@ Dtype WindowDataLayer::Forward_cpu(const vector*>& bottom, return Dtype(0.); } +#ifdef CPU_ONLY +STUB_GPU_FORWARD(WindowDataLayer, Forward); +#endif + INSTANTIATE_CLASS(WindowDataLayer); } // namespace caffe From b882c3b4707eeb072a04490c6f36bd7c4deb03df Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Sun, 29 Jun 2014 21:11:44 -0700 Subject: [PATCH 263/408] add guards to drop GPU code in CPU-only mode --- Makefile | 2 +- include/caffe/test/test_caffe_main.hpp | 8 ++ src/caffe/net.cpp | 2 + src/caffe/test/test_math_functions.cpp | 129 +++++++++--------- .../test/test_random_number_generator.cpp | 42 +++--- 5 files changed, 102 insertions(+), 81 deletions(-) diff --git a/Makefile b/Makefile index ef3aa4ba3f3..69f2c30e49c 100644 --- a/Makefile +++ b/Makefile @@ -208,7 +208,7 @@ ifeq ($(CPU_ONLY), 1) TEST_OBJS := $(TEST_CXX_OBJS) TEST_BINS := $(TEST_CXX_BINS) ALL_WARNS := $(ALL_CXX_WARNS) - TEST_FILTER := --gtest_filter="-*GPU*:*/2.*:*/3.*" + TEST_FILTER := --gtest_filter="-*GPU*" COMMON_FLAGS += -DCPU_ONLY endif diff --git a/include/caffe/test/test_caffe_main.hpp b/include/caffe/test/test_caffe_main.hpp index e1a76455bed..3541c0b2c8a 100644 --- a/include/caffe/test/test_caffe_main.hpp +++ b/include/caffe/test/test_caffe_main.hpp @@ -44,6 +44,12 @@ struct DoubleCPU { static const Caffe::Brew device = Caffe::CPU; }; +#ifdef CPU_ONLY + +typedef ::testing::Types TestDtypesAndDevices; + +#else + struct FloatGPU { typedef float Dtype; static const Caffe::Brew device = Caffe::GPU; @@ -57,6 +63,8 @@ struct DoubleGPU { typedef ::testing::Types TestDtypesAndDevices; +#endif + } // namespace caffe #endif // CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index edea726fb51..aba4cc2f4f2 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -498,11 +498,13 @@ void Net::Update() { owner_diff = params_[param_owners_[i]]->mutable_cpu_diff(); caffe_add(count, this_diff, owner_diff, owner_diff); break; +#ifndef CPU_ONLY case Caffe::GPU: this_diff = params_[i]->gpu_diff(); owner_diff = params_[param_owners_[i]]->mutable_gpu_diff(); caffe_gpu_add(count, this_diff, owner_diff, owner_diff); break; +#endif default: LOG(FATAL) << "Unknown caffe mode: " << Caffe::mode(); } diff --git a/src/caffe/test/test_math_functions.cpp b/src/caffe/test/test_math_functions.cpp index 2a70c9c4aba..502b77e07a8 100644 --- a/src/caffe/test/test_math_functions.cpp +++ b/src/caffe/test/test_math_functions.cpp @@ -80,18 +80,6 @@ TYPED_TEST(MathFunctionsTest, TestHammingDistanceCPU) { caffe_cpu_hamming_distance(n, x, y)); } -// TODO: Fix caffe_gpu_hamming_distance and re-enable this test. -TYPED_TEST(MathFunctionsTest, DISABLED_TestHammingDistanceGPU) { - int n = this->blob_bottom_->count(); - const TypeParam* x = this->blob_bottom_->cpu_data(); - const TypeParam* y = this->blob_top_->cpu_data(); - int reference_distance = this->ReferenceHammingDistance(n, x, y); - x = this->blob_bottom_->gpu_data(); - y = this->blob_top_->gpu_data(); - int computed_distance = caffe_gpu_hamming_distance(n, x, y); - EXPECT_EQ(reference_distance, computed_distance); -} - TYPED_TEST(MathFunctionsTest, TestAsumCPU) { int n = this->blob_bottom_->count(); const TypeParam* x = this->blob_bottom_->cpu_data(); @@ -103,91 +91,116 @@ TYPED_TEST(MathFunctionsTest, TestAsumCPU) { EXPECT_LT((cpu_asum - std_asum) / std_asum, 1e-2); } -TYPED_TEST(MathFunctionsTest, TestAsumGPU) { +TYPED_TEST(MathFunctionsTest, TestSignCPU) { int n = this->blob_bottom_->count(); const TypeParam* x = this->blob_bottom_->cpu_data(); - TypeParam std_asum = 0; + caffe_cpu_sign(n, x, this->blob_bottom_->mutable_cpu_diff()); + const TypeParam* signs = this->blob_bottom_->cpu_diff(); for (int i = 0; i < n; ++i) { - std_asum += std::fabs(x[i]); + EXPECT_EQ(signs[i], x[i] > 0 ? 1 : (x[i] < 0 ? -1 : 0)); } - TypeParam gpu_asum; - caffe_gpu_asum(n, this->blob_bottom_->gpu_data(), &gpu_asum); - EXPECT_LT((gpu_asum - std_asum) / std_asum, 1e-2); } -TYPED_TEST(MathFunctionsTest, TestSignCPU) { +TYPED_TEST(MathFunctionsTest, TestSgnbitCPU) { int n = this->blob_bottom_->count(); const TypeParam* x = this->blob_bottom_->cpu_data(); - caffe_cpu_sign(n, x, this->blob_bottom_->mutable_cpu_diff()); - const TypeParam* signs = this->blob_bottom_->cpu_diff(); + caffe_cpu_sgnbit(n, x, this->blob_bottom_->mutable_cpu_diff()); + const TypeParam* signbits = this->blob_bottom_->cpu_diff(); for (int i = 0; i < n; ++i) { - EXPECT_EQ(signs[i], x[i] > 0 ? 1 : (x[i] < 0 ? -1 : 0)); + EXPECT_EQ(signbits[i], x[i] < 0 ? 1 : 0); } } -TYPED_TEST(MathFunctionsTest, TestSignGPU) { +TYPED_TEST(MathFunctionsTest, TestFabsCPU) { int n = this->blob_bottom_->count(); - caffe_gpu_sign(n, this->blob_bottom_->gpu_data(), - this->blob_bottom_->mutable_gpu_diff()); - const TypeParam* signs = this->blob_bottom_->cpu_diff(); const TypeParam* x = this->blob_bottom_->cpu_data(); + caffe_cpu_fabs(n, x, this->blob_bottom_->mutable_cpu_diff()); + const TypeParam* abs_val = this->blob_bottom_->cpu_diff(); for (int i = 0; i < n; ++i) { - EXPECT_EQ(signs[i], x[i] > 0 ? 1 : (x[i] < 0 ? -1 : 0)); + EXPECT_EQ(abs_val[i], x[i] > 0 ? x[i] : -x[i]); } } -TYPED_TEST(MathFunctionsTest, TestSgnbitCPU) { +TYPED_TEST(MathFunctionsTest, TestScaleCPU) { int n = this->blob_bottom_->count(); + TypeParam alpha = this->blob_bottom_->cpu_diff()[caffe_rng_rand() % + this->blob_bottom_->count()]; + caffe_cpu_scale(n, alpha, this->blob_bottom_->cpu_data(), + this->blob_bottom_->mutable_cpu_diff()); + const TypeParam* scaled = this->blob_bottom_->cpu_diff(); const TypeParam* x = this->blob_bottom_->cpu_data(); - caffe_cpu_sgnbit(n, x, this->blob_bottom_->mutable_cpu_diff()); - const TypeParam* signbits = this->blob_bottom_->cpu_diff(); for (int i = 0; i < n; ++i) { - EXPECT_EQ(signbits[i], x[i] < 0 ? 1 : 0); + EXPECT_EQ(scaled[i], x[i] * alpha); } } -TYPED_TEST(MathFunctionsTest, TestSgnbitGPU) { +TYPED_TEST(MathFunctionsTest, TestCopyCPU) { + const int n = this->blob_bottom_->count(); + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + TypeParam* top_data = this->blob_top_->mutable_cpu_data(); + Caffe::set_mode(Caffe::CPU); + caffe_copy(n, bottom_data, top_data); + for (int i = 0; i < n; ++i) { + EXPECT_EQ(bottom_data[i], top_data[i]); + } +} + +#ifndef CPU_ONLY + +// TODO: Fix caffe_gpu_hamming_distance and re-enable this test. +TYPED_TEST(MathFunctionsTest, DISABLED_TestHammingDistanceGPU) { + int n = this->blob_bottom_->count(); + const TypeParam* x = this->blob_bottom_->cpu_data(); + const TypeParam* y = this->blob_top_->cpu_data(); + int reference_distance = this->ReferenceHammingDistance(n, x, y); + x = this->blob_bottom_->gpu_data(); + y = this->blob_top_->gpu_data(); + int computed_distance = caffe_gpu_hamming_distance(n, x, y); + EXPECT_EQ(reference_distance, computed_distance); +} + +TYPED_TEST(MathFunctionsTest, TestAsumGPU) { int n = this->blob_bottom_->count(); - caffe_gpu_sgnbit(n, this->blob_bottom_->gpu_data(), - this->blob_bottom_->mutable_gpu_diff()); - const TypeParam* signbits = this->blob_bottom_->cpu_diff(); const TypeParam* x = this->blob_bottom_->cpu_data(); + TypeParam std_asum = 0; for (int i = 0; i < n; ++i) { - EXPECT_EQ(signbits[i], x[i] < 0 ? 1 : 0); + std_asum += std::fabs(x[i]); } + TypeParam gpu_asum; + caffe_gpu_asum(n, this->blob_bottom_->gpu_data(), &gpu_asum); + EXPECT_LT((gpu_asum - std_asum) / std_asum, 1e-2); } -TYPED_TEST(MathFunctionsTest, TestFabsCPU) { +TYPED_TEST(MathFunctionsTest, TestSignGPU) { int n = this->blob_bottom_->count(); + caffe_gpu_sign(n, this->blob_bottom_->gpu_data(), + this->blob_bottom_->mutable_gpu_diff()); + const TypeParam* signs = this->blob_bottom_->cpu_diff(); const TypeParam* x = this->blob_bottom_->cpu_data(); - caffe_cpu_fabs(n, x, this->blob_bottom_->mutable_cpu_diff()); - const TypeParam* abs_val = this->blob_bottom_->cpu_diff(); for (int i = 0; i < n; ++i) { - EXPECT_EQ(abs_val[i], x[i] > 0 ? x[i] : -x[i]); + EXPECT_EQ(signs[i], x[i] > 0 ? 1 : (x[i] < 0 ? -1 : 0)); } } -TYPED_TEST(MathFunctionsTest, TestFabsGPU) { +TYPED_TEST(MathFunctionsTest, TestSgnbitGPU) { int n = this->blob_bottom_->count(); - caffe_gpu_fabs(n, this->blob_bottom_->gpu_data(), + caffe_gpu_sgnbit(n, this->blob_bottom_->gpu_data(), this->blob_bottom_->mutable_gpu_diff()); - const TypeParam* abs_val = this->blob_bottom_->cpu_diff(); + const TypeParam* signbits = this->blob_bottom_->cpu_diff(); const TypeParam* x = this->blob_bottom_->cpu_data(); for (int i = 0; i < n; ++i) { - EXPECT_EQ(abs_val[i], x[i] > 0 ? x[i] : -x[i]); + EXPECT_EQ(signbits[i], x[i] < 0 ? 1 : 0); } } -TYPED_TEST(MathFunctionsTest, TestScaleCPU) { +TYPED_TEST(MathFunctionsTest, TestFabsGPU) { int n = this->blob_bottom_->count(); - TypeParam alpha = this->blob_bottom_->cpu_diff()[caffe_rng_rand() % - this->blob_bottom_->count()]; - caffe_cpu_scale(n, alpha, this->blob_bottom_->cpu_data(), - this->blob_bottom_->mutable_cpu_diff()); - const TypeParam* scaled = this->blob_bottom_->cpu_diff(); + caffe_gpu_fabs(n, this->blob_bottom_->gpu_data(), + this->blob_bottom_->mutable_gpu_diff()); + const TypeParam* abs_val = this->blob_bottom_->cpu_diff(); const TypeParam* x = this->blob_bottom_->cpu_data(); for (int i = 0; i < n; ++i) { - EXPECT_EQ(scaled[i], x[i] * alpha); + EXPECT_EQ(abs_val[i], x[i] > 0 ? x[i] : -x[i]); } } @@ -204,17 +217,6 @@ TYPED_TEST(MathFunctionsTest, TestScaleGPU) { } } -TYPED_TEST(MathFunctionsTest, TestCopyCPU) { - const int n = this->blob_bottom_->count(); - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - TypeParam* top_data = this->blob_top_->mutable_cpu_data(); - Caffe::set_mode(Caffe::CPU); - caffe_copy(n, bottom_data, top_data); - for (int i = 0; i < n; ++i) { - EXPECT_EQ(bottom_data[i], top_data[i]); - } -} - TYPED_TEST(MathFunctionsTest, TestCopyGPU) { const int n = this->blob_bottom_->count(); const TypeParam* bottom_data = this->blob_bottom_->gpu_data(); @@ -228,4 +230,7 @@ TYPED_TEST(MathFunctionsTest, TestCopyGPU) { } } +#endif + + } // namespace caffe diff --git a/src/caffe/test/test_random_number_generator.cpp b/src/caffe/test/test_random_number_generator.cpp index 3ab4680e976..3cd77da9876 100644 --- a/src/caffe/test/test_random_number_generator.cpp +++ b/src/caffe/test/test_random_number_generator.cpp @@ -65,11 +65,6 @@ class RandomNumberGeneratorTest : public ::testing::Test { caffe_rng_gaussian(sample_size_, mu, sigma, rng_data); } - void RngGaussianFillGPU(const Dtype mu, const Dtype sigma, void* gpu_data) { - Dtype* rng_data = static_cast(gpu_data); - caffe_gpu_rng_gaussian(sample_size_, mu, sigma, rng_data); - } - void RngGaussianChecks(const Dtype mu, const Dtype sigma, const void* cpu_data, const Dtype sparse_p = 0) { const Dtype* rng_data = static_cast(cpu_data); @@ -114,19 +109,6 @@ class RandomNumberGeneratorTest : public ::testing::Test { caffe_rng_uniform(sample_size_, lower, upper, rng_data); } - void RngUniformFillGPU(const Dtype lower, const Dtype upper, void* gpu_data) { - CHECK_GE(upper, lower); - Dtype* rng_data = static_cast(gpu_data); - caffe_gpu_rng_uniform(sample_size_, lower, upper, rng_data); - } - - // Fills with uniform integers in [0, UINT_MAX] using 2 argument form of - // caffe_gpu_rng_uniform. - void RngUniformIntFillGPU(void* gpu_data) { - unsigned int* rng_data = static_cast(gpu_data); - caffe_gpu_rng_uniform(sample_size_, rng_data); - } - void RngUniformChecks(const Dtype lower, const Dtype upper, const void* cpu_data, const Dtype sparse_p = 0) { const Dtype* rng_data = static_cast(cpu_data); @@ -188,6 +170,28 @@ class RandomNumberGeneratorTest : public ::testing::Test { EXPECT_NEAR(sample_mean, true_mean, bound); } +#ifndef CPU_ONLY + + void RngGaussianFillGPU(const Dtype mu, const Dtype sigma, void* gpu_data) { + Dtype* rng_data = static_cast(gpu_data); + caffe_gpu_rng_gaussian(sample_size_, mu, sigma, rng_data); + } + + void RngUniformFillGPU(const Dtype lower, const Dtype upper, void* gpu_data) { + CHECK_GE(upper, lower); + Dtype* rng_data = static_cast(gpu_data); + caffe_gpu_rng_uniform(sample_size_, lower, upper, rng_data); + } + + // Fills with uniform integers in [0, UINT_MAX] using 2 argument form of + // caffe_gpu_rng_uniform. + void RngUniformIntFillGPU(void* gpu_data) { + unsigned int* rng_data = static_cast(gpu_data); + caffe_gpu_rng_uniform(sample_size_, rng_data); + } + +#endif + int num_above_mean; int num_below_mean; @@ -393,6 +397,7 @@ TYPED_TEST(RandomNumberGeneratorTest, TestRngBernoulliTimesBernoulli) { EXPECT_NEAR(true_mean, sample_p, bound); } +#ifndef CPU_ONLY TYPED_TEST(RandomNumberGeneratorTest, TestRngGaussianGPU) { const TypeParam mu = 0; @@ -512,5 +517,6 @@ TYPED_TEST(RandomNumberGeneratorTest, TestRngUniformTimesUniformGPU) { this->RngUniformChecks(lower_prod, upper_prod, uniform_data_1); } +#endif } // namespace caffe From e52d91ea331dfd1430384808db272926561b116f Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 15 Jul 2014 15:56:36 +0200 Subject: [PATCH 264/408] collect CUDA includes and calls, separate from CPU-only mode, leave out - collect CUDA includes in device_alternate.hpp - add guards for CUDA code - move GPU code into cu from cpp - make CUDA includes and libraries conditional in Makefile - drop CUDA dependency from travis-ci build --- .travis.yml | 4 +- Makefile | 12 +- include/caffe/common.hpp | 17 +- include/caffe/layer.hpp | 2 +- include/caffe/test/test_caffe_main.hpp | 1 - include/caffe/util/benchmark.hpp | 5 +- .../{cpu_only.hpp => device_alternate.hpp} | 23 +- include/caffe/util/math_functions.hpp | 208 +++++++++--------- src/caffe/blob.cpp | 7 +- src/caffe/common.cpp | 49 ++++- src/caffe/layers/image_data_layer.cu | 1 - src/caffe/layers/inner_product_layer.cu | 2 - src/caffe/solver.cpp | 4 + src/caffe/syncedmem.cpp | 20 +- src/caffe/test/test_accuracy_layer.cpp | 3 - src/caffe/test/test_argmax_layer.cpp | 3 - src/caffe/test/test_benchmark.cpp | 3 - src/caffe/test/test_blob.cpp | 1 - src/caffe/test/test_caffe_main.cpp | 6 + src/caffe/test/test_common.cpp | 9 +- src/caffe/test/test_concat_layer.cpp | 3 - src/caffe/test/test_convolution_layer.cpp | 3 - src/caffe/test/test_data_layer.cpp | 3 - src/caffe/test/test_dummy_data_layer.cpp | 2 - src/caffe/test/test_eltwise_layer.cpp | 3 - src/caffe/test/test_euclidean_loss_layer.cpp | 3 - src/caffe/test/test_filler.cpp | 1 - src/caffe/test/test_flatten_layer.cpp | 3 - src/caffe/test/test_hdf5_output_layer.cpp | 3 - src/caffe/test/test_hdf5data_layer.cpp | 3 - src/caffe/test/test_hinge_loss_layer.cpp | 3 - src/caffe/test/test_im2col_kernel.cu | 1 - src/caffe/test/test_im2col_layer.cpp | 3 - src/caffe/test/test_image_data_layer.cpp | 4 - src/caffe/test/test_inner_product_layer.cpp | 15 +- src/caffe/test/test_lrn_layer.cpp | 3 - .../test/test_maxpool_dropout_layers.cpp | 2 - .../test_multinomial_logistic_loss_layer.cpp | 3 - src/caffe/test/test_neuron_layer.cpp | 3 - src/caffe/test/test_platform.cpp | 5 +- src/caffe/test/test_pooling_layer.cpp | 3 - src/caffe/test/test_power_layer.cpp | 3 - .../test/test_random_number_generator.cpp | 1 - .../test_sigmoid_cross_entropy_loss_layer.cpp | 2 - src/caffe/test/test_softmax_layer.cpp | 3 - .../test/test_softmax_with_loss_layer.cpp | 3 - src/caffe/test/test_split_layer.cpp | 3 - src/caffe/test/test_stochastic_pooling.cpp | 3 - src/caffe/test/test_syncedmem.cpp | 14 +- src/caffe/test/test_tanh_layer.cpp | 3 - src/caffe/test/test_threshold_layer.cpp | 3 - src/caffe/test/test_upgrade_proto.cpp | 1 - src/caffe/test/test_util_blas.cpp | 8 +- src/caffe/util/benchmark.cpp | 21 +- src/caffe/util/math_functions.cpp | 135 +----------- src/caffe/util/math_functions.cu | 131 +++++++++++ tools/dump_network.cpp | 1 - tools/extract_features.cpp | 1 - tools/finetune_net.cpp | 2 - tools/net_speed_benchmark.cpp | 1 - tools/test_net.cpp | 2 - tools/train_net.cpp | 2 - 62 files changed, 422 insertions(+), 373 deletions(-) rename include/caffe/util/{cpu_only.hpp => device_alternate.hpp} (71%) diff --git a/.travis.yml b/.travis.yml index 1f780471b3b..c0119756c6b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,14 +19,12 @@ before_install: install: - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - - - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb - - sudo apt-get -y update && sudo apt-get -y install cuda - curl https://gitorious.org/mdb/mdb/archive/7f038d0f15bec57b4c07aa3f31cd5564c88a1897.tar.gz -o /tmp/mdb.tar.gz && tar -C /tmp -xzvf /tmp/mdb.tar.gz && rm /tmp/mdb.tar.gz - cd /tmp/mdb-mdb/libraries/liblmdb/ && make && sudo make install && cd - before_script: - mv Makefile.config.example Makefile.config - - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/lib + - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib - export NUM_THREADS=4 script: diff --git a/Makefile b/Makefile index 69f2c30e49c..417ff868218 100644 --- a/Makefile +++ b/Makefile @@ -149,11 +149,13 @@ NONEMPTY_WARN_REPORT := $(BUILD_DIR)/$(WARNS_EXT) CUDA_INCLUDE_DIR := $(CUDA_DIR)/include CUDA_LIB_DIR := $(CUDA_DIR)/lib64 $(CUDA_DIR)/lib -INCLUDE_DIRS += $(BUILD_INCLUDE_DIR) -INCLUDE_DIRS += ./src ./include $(CUDA_INCLUDE_DIR) -LIBRARY_DIRS += $(CUDA_LIB_DIR) -LIBRARIES := cudart cublas curand \ - pthread \ +INCLUDE_DIRS += $(BUILD_INCLUDE_DIR) ./src ./include +ifneq ($(CPU_ONLY), 1) + INCLUDE_DIRS += $(CUDA_INCLUDE_DIR) + LIBRARY_DIRS += $(CUDA_LIB_DIR) + LIBRARIES := cudart cublas curand +endif +LIBRARIES += pthread \ glog protobuf leveldb snappy \ lmdb \ boost_system \ diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index bd4e39f136d..0ee49f36030 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -4,12 +4,10 @@ #define CAFFE_COMMON_HPP_ #include -#include -#include -#include -#include // cuda driver types #include +#include "caffe/util/device_alternate.hpp" + // Disable the copy and assignment operator for a class. #define DISABLE_COPY_AND_ASSIGN(classname) \ private:\ @@ -25,6 +23,8 @@ private:\ // is executed we will see a fatal log. #define NOT_IMPLEMENTED LOG(FATAL) << "Not Implemented Yet" +#ifndef CPU_ONLY + // CUDA: various checks for different function calls. #define CUDA_CHECK(condition) \ /* Code block avoids redefinition of cudaError_t error */ \ @@ -56,6 +56,8 @@ private:\ // CUDA: check for error after kernel execution and exit loudly if there is one. #define CUDA_POST_KERNEL_CHECK CUDA_CHECK(cudaPeekAtLastError()) +#endif // CPU_ONLY + namespace caffe { // We will use the boost shared_ptr instead of the new C++11 one mainly @@ -99,10 +101,12 @@ class Caffe { } return *(Get().random_generator_); } +#ifndef CPU_ONLY inline static cublasHandle_t cublas_handle() { return Get().cublas_handle_; } inline static curandGenerator_t curand_generator() { return Get().curand_generator_; } +#endif // Returns the mode: running on CPU or GPU. inline static Brew mode() { return Get().mode_; } @@ -125,8 +129,10 @@ class Caffe { static void DeviceQuery(); protected: +#ifndef CPU_ONLY cublasHandle_t cublas_handle_; curandGenerator_t curand_generator_; +#endif shared_ptr random_generator_; Brew mode_; @@ -140,6 +146,8 @@ class Caffe { DISABLE_COPY_AND_ASSIGN(Caffe); }; +#ifndef CPU_ONLY + // NVIDIA_CUDA-5.5_Samples/common/inc/helper_cuda.h const char* cublasGetErrorString(cublasStatus_t error); const char* curandGetErrorString(curandStatus_t error); @@ -158,6 +166,7 @@ inline int CAFFE_GET_BLOCKS(const int N) { return (N + CAFFE_CUDA_NUM_THREADS - 1) / CAFFE_CUDA_NUM_THREADS; } +#endif // CPU_ONLY } // namespace caffe diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index 31689a4fe6f..06518c2eef1 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -9,7 +9,7 @@ #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/proto/caffe.pb.h" -#include "caffe/util/cpu_only.hpp" +#include "caffe/util/device_alternate.hpp" using std::string; using std::vector; diff --git a/include/caffe/test/test_caffe_main.hpp b/include/caffe/test/test_caffe_main.hpp index 3541c0b2c8a..9e7b85944da 100644 --- a/include/caffe/test/test_caffe_main.hpp +++ b/include/caffe/test/test_caffe_main.hpp @@ -5,7 +5,6 @@ #ifndef CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ #define CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ -#include #include #include diff --git a/include/caffe/util/benchmark.hpp b/include/caffe/util/benchmark.hpp index 1d26314c62f..8ee76140d9a 100644 --- a/include/caffe/util/benchmark.hpp +++ b/include/caffe/util/benchmark.hpp @@ -4,7 +4,8 @@ #define CAFFE_UTIL_BENCHMARK_H_ #include -#include + +#include "caffe/util/device_alternate.hpp" namespace caffe { @@ -27,8 +28,10 @@ class Timer { bool initted_; bool running_; bool has_run_at_least_once_; +#ifndef CPU_ONLY cudaEvent_t start_gpu_; cudaEvent_t stop_gpu_; +#endif boost::posix_time::ptime start_cpu_; boost::posix_time::ptime stop_cpu_; float elapsed_milliseconds_; diff --git a/include/caffe/util/cpu_only.hpp b/include/caffe/util/device_alternate.hpp similarity index 71% rename from include/caffe/util/cpu_only.hpp rename to include/caffe/util/device_alternate.hpp index 1ae6ec9dac2..abee4f57dd1 100644 --- a/include/caffe/util/cpu_only.hpp +++ b/include/caffe/util/device_alternate.hpp @@ -1,15 +1,13 @@ // Copyright 2014 BVLC and contributors. -#ifndef CAFFE_UTIL_CPU_ONLY_H_ -#define CAFFE_UTIL_CPU_ONLY_H_ +#ifndef CAFFE_UTIL_DEVICE_ALTERNATE_H_ +#define CAFFE_UTIL_DEVICE_ALTERNATE_H_ -#include +#ifdef CPU_ONLY // CPU-only Caffe. -#include "caffe/blob.hpp" -#include "caffe/common.hpp" +#include -// For CPU-only Caffe, stub out GPU calls as unavailable. -#ifdef CPU_ONLY +// Stub out GPU calls as unavailable. #define NO_GPU LOG(FATAL) << "CPU-only Mode" @@ -33,5 +31,14 @@ void classname::funcname##_##gpu(const vector*>& top, \ const vector& propagate_down, \ vector*>* bottom) { NO_GPU; } \ +#else // Normal GPU + CPU Caffe. + +#include +#include +#include +#include +#include // cuda driver types + #endif // CPU_ONLY -#endif // CAFFE_UTIL_CPU_ONLY_H_ + +#endif // CAFFE_UTIL_DEVICE_ALTERNATE_H_ diff --git a/include/caffe/util/math_functions.hpp b/include/caffe/util/math_functions.hpp index 2df0fc983f9..5036a573033 100644 --- a/include/caffe/util/math_functions.hpp +++ b/include/caffe/util/math_functions.hpp @@ -3,12 +3,12 @@ #ifndef CAFFE_UTIL_MATH_FUNCTIONS_H_ #define CAFFE_UTIL_MATH_FUNCTIONS_H_ -#include #include #include // for std::fabs and std::signbit #include "glog/logging.h" +#include "caffe/util/device_alternate.hpp" #include "caffe/util/mkl_alternate.hpp" namespace caffe { @@ -21,97 +21,49 @@ void caffe_cpu_gemm(const CBLAS_TRANSPOSE TransA, const Dtype alpha, const Dtype* A, const Dtype* B, const Dtype beta, Dtype* C); -// Decaf gpu gemm provides an interface that is almost the same as the cpu -// gemm function - following the c convention and calling the fortran-order -// gpu code under the hood. -template -void caffe_gpu_gemm(const CBLAS_TRANSPOSE TransA, - const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, - const Dtype alpha, const Dtype* A, const Dtype* B, const Dtype beta, - Dtype* C); - template void caffe_cpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, const int N, const Dtype alpha, const Dtype* A, const Dtype* x, const Dtype beta, Dtype* y); -template -void caffe_gpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, const int N, - const Dtype alpha, const Dtype* A, const Dtype* x, const Dtype beta, - Dtype* y); - template void caffe_axpy(const int N, const Dtype alpha, const Dtype* X, Dtype* Y); -template -void caffe_gpu_axpy(const int N, const Dtype alpha, const Dtype* X, - Dtype* Y); - template void caffe_cpu_axpby(const int N, const Dtype alpha, const Dtype* X, const Dtype beta, Dtype* Y); -template -void caffe_gpu_axpby(const int N, const Dtype alpha, const Dtype* X, - const Dtype beta, Dtype* Y); - template void caffe_copy(const int N, const Dtype *X, Dtype *Y); -void caffe_gpu_memcpy(const size_t N, const void *X, void *Y); - template void caffe_set(const int N, const Dtype alpha, Dtype *X); -template -void caffe_gpu_set(const int N, const Dtype alpha, Dtype *X); - template void caffe_add_scalar(const int N, const Dtype alpha, Dtype *X); -template -void caffe_gpu_add_scalar(const int N, const Dtype alpha, Dtype *X); - template void caffe_scal(const int N, const Dtype alpha, Dtype *X); -template -void caffe_gpu_scal(const int N, const Dtype alpha, Dtype *X); - template void caffe_sqr(const int N, const Dtype* a, Dtype* y); template void caffe_add(const int N, const Dtype* a, const Dtype* b, Dtype* y); -template -void caffe_gpu_add(const int N, const Dtype* a, const Dtype* b, Dtype* y); - template void caffe_sub(const int N, const Dtype* a, const Dtype* b, Dtype* y); -template -void caffe_gpu_sub(const int N, const Dtype* a, const Dtype* b, Dtype* y); - template void caffe_mul(const int N, const Dtype* a, const Dtype* b, Dtype* y); -template -void caffe_gpu_mul(const int N, const Dtype* a, const Dtype* b, Dtype* y); - template void caffe_div(const int N, const Dtype* a, const Dtype* b, Dtype* y); -template -void caffe_gpu_div(const int N, const Dtype* a, const Dtype* b, Dtype* y); - template void caffe_powx(const int n, const Dtype* a, const Dtype b, Dtype* y); -template -void caffe_gpu_powx(const int n, const Dtype* a, const Dtype b, Dtype* y); - unsigned int caffe_rng_rand(); template @@ -120,58 +72,29 @@ Dtype caffe_nextafter(const Dtype b); template void caffe_rng_uniform(const int n, const Dtype a, const Dtype b, Dtype* r); -// caffe_gpu_rng_uniform with two arguments generates integers in the range -// [0, UINT_MAX]. -void caffe_gpu_rng_uniform(const int n, unsigned int* r); - -// caffe_gpu_rng_uniform with four arguments generates floats in the range -// (a, b] (strictly greater than a, less than or equal to b) due to the -// specification of curandGenerateUniform. With a = 0, b = 1, just calls -// curandGenerateUniform; with other limits will shift and scale the outputs -// appropriately after calling curandGenerateUniform. -template -void caffe_gpu_rng_uniform(const int n, const Dtype a, const Dtype b, Dtype* r); - template void caffe_rng_gaussian(const int n, const Dtype mu, const Dtype sigma, Dtype* r); -template -void caffe_gpu_rng_gaussian(const int n, const Dtype mu, const Dtype sigma, - Dtype* r); - template void caffe_rng_bernoulli(const int n, const Dtype p, int* r); template void caffe_rng_bernoulli(const int n, const Dtype p, unsigned int* r); -template -void caffe_gpu_rng_bernoulli(const int n, const Dtype p, int* r); - template void caffe_exp(const int n, const Dtype* a, Dtype* y); template Dtype caffe_cpu_dot(const int n, const Dtype* x, const Dtype* y); -template -void caffe_gpu_dot(const int n, const Dtype* x, const Dtype* y, Dtype* out); - template int caffe_cpu_hamming_distance(const int n, const Dtype* x, const Dtype* y); -template -uint32_t caffe_gpu_hamming_distance(const int n, const Dtype* x, - const Dtype* y); - // Returns the sum of the absolute values of the elements of vector x template Dtype caffe_cpu_asum(const int n, const Dtype* x); -template -void caffe_gpu_asum(const int n, const Dtype* x, Dtype* y); - // the branchless, type-safe version from // http://stackoverflow.com/questions/1903954/is-there-a-standard-sign-function-signum-sgn-in-c-c template @@ -200,6 +123,109 @@ inline char caffe_sign(Dtype val) { template <> \ void caffe_cpu_##name(const int n, const double* x, double* y) +// output is 1 for the positives, 0 for zero, and -1 for the negatives +DEFINE_CAFFE_CPU_UNARY_FUNC(sign, y[i] = caffe_sign(x[i])); + +// This returns a nonzero value if the input has its sign bit set. +// The name sngbit is meant to avoid conflicts with std::signbit in the macro +using std::signbit; +DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = signbit(x[i])); + +DEFINE_CAFFE_CPU_UNARY_FUNC(fabs, y[i] = std::fabs(x[i])); + +template +void caffe_cpu_scale(const int n, const Dtype alpha, const Dtype *x, Dtype* y); + +#ifndef CPU_ONLY // GPU + +// Decaf gpu gemm provides an interface that is almost the same as the cpu +// gemm function - following the c convention and calling the fortran-order +// gpu code under the hood. +template +void caffe_gpu_gemm(const CBLAS_TRANSPOSE TransA, + const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, + const Dtype alpha, const Dtype* A, const Dtype* B, const Dtype beta, + Dtype* C); + +template +void caffe_gpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, const int N, + const Dtype alpha, const Dtype* A, const Dtype* x, const Dtype beta, + Dtype* y); + +template +void caffe_gpu_axpy(const int N, const Dtype alpha, const Dtype* X, + Dtype* Y); + +template +void caffe_gpu_axpby(const int N, const Dtype alpha, const Dtype* X, + const Dtype beta, Dtype* Y); + +void caffe_gpu_memcpy(const size_t N, const void *X, void *Y); + +template +void caffe_gpu_set(const int N, const Dtype alpha, Dtype *X); + +template +void caffe_gpu_add_scalar(const int N, const Dtype alpha, Dtype *X); + +template +void caffe_gpu_scal(const int N, const Dtype alpha, Dtype *X); + +template +void caffe_gpu_add(const int N, const Dtype* a, const Dtype* b, Dtype* y); + +template +void caffe_gpu_sub(const int N, const Dtype* a, const Dtype* b, Dtype* y); + +template +void caffe_gpu_mul(const int N, const Dtype* a, const Dtype* b, Dtype* y); + +template +void caffe_gpu_div(const int N, const Dtype* a, const Dtype* b, Dtype* y); + +template +void caffe_gpu_powx(const int n, const Dtype* a, const Dtype b, Dtype* y); + +// caffe_gpu_rng_uniform with two arguments generates integers in the range +// [0, UINT_MAX]. +void caffe_gpu_rng_uniform(const int n, unsigned int* r); + +// caffe_gpu_rng_uniform with four arguments generates floats in the range +// (a, b] (strictly greater than a, less than or equal to b) due to the +// specification of curandGenerateUniform. With a = 0, b = 1, just calls +// curandGenerateUniform; with other limits will shift and scale the outputs +// appropriately after calling curandGenerateUniform. +template +void caffe_gpu_rng_uniform(const int n, const Dtype a, const Dtype b, Dtype* r); + +template +void caffe_gpu_rng_gaussian(const int n, const Dtype mu, const Dtype sigma, + Dtype* r); + +template +void caffe_gpu_rng_bernoulli(const int n, const Dtype p, int* r); + +template +void caffe_gpu_dot(const int n, const Dtype* x, const Dtype* y, Dtype* out); + +template +uint32_t caffe_gpu_hamming_distance(const int n, const Dtype* x, + const Dtype* y); + +template +void caffe_gpu_asum(const int n, const Dtype* x, Dtype* y); + +template +void caffe_gpu_sign(const int n, const Dtype* x, Dtype* y); + +template +void caffe_gpu_sgnbit(const int n, const Dtype* x, Dtype* y); + +template +void caffe_gpu_fabs(const int n, const Dtype* x, Dtype* y); + +template +void caffe_gpu_scale(const int n, const Dtype alpha, const Dtype *x, Dtype* y); #define DEFINE_AND_INSTANTIATE_GPU_UNARY_FUNC(name, operation) \ template \ @@ -221,32 +247,8 @@ void caffe_gpu_##name(const int n, const double* x, double* y) { \ n, x, y); \ } -// output is 1 for the positives, 0 for zero, and -1 for the negatives -DEFINE_CAFFE_CPU_UNARY_FUNC(sign, y[i] = caffe_sign(x[i])); - -template -void caffe_gpu_sign(const int n, const Dtype* x, Dtype* y); - -// This returns a nonzero value if the input has its sign bit set. -// The name sngbit is meant to avoid conflicts with std::signbit in the macro -using std::signbit; -DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = signbit(x[i])); - -template -void caffe_gpu_sgnbit(const int n, const Dtype* x, Dtype* y); - -DEFINE_CAFFE_CPU_UNARY_FUNC(fabs, y[i] = std::fabs(x[i])); - -template -void caffe_gpu_fabs(const int n, const Dtype* x, Dtype* y); - -template -void caffe_cpu_scale(const int n, const Dtype alpha, const Dtype *x, Dtype* y); - -template -void caffe_gpu_scale(const int n, const Dtype alpha, const Dtype *x, Dtype* y); +#endif // CPU_ONLY } // namespace caffe - #endif // CAFFE_UTIL_MATH_FUNCTIONS_H_ diff --git a/src/caffe/blob.cpp b/src/caffe/blob.cpp index 8df46323eee..1051eaa1c2c 100644 --- a/src/caffe/blob.cpp +++ b/src/caffe/blob.cpp @@ -1,8 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include -#include - #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" @@ -126,10 +123,14 @@ void Blob::Update() { break; case SyncedMemory::HEAD_AT_GPU: case SyncedMemory::SYNCED: +#ifndef CPU_ONLY // perform computation on GPU caffe_gpu_axpy(count_, Dtype(-1), static_cast(diff_->gpu_data()), static_cast(data_->mutable_gpu_data())); +#else + NO_GPU; +#endif break; default: LOG(FATAL) << "Syncedmem not initialized."; diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 631c8afd068..e8765eebff1 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -10,8 +10,7 @@ namespace caffe { shared_ptr Caffe::singleton_; - -// curand seeding +// random seeding int64_t cluster_seedgen(void) { int64_t s, seed, pid; pid = getpid(); @@ -20,6 +19,50 @@ int64_t cluster_seedgen(void) { return seed; } +#ifdef CPU_ONLY // CPU-only Caffe. + +Caffe::Caffe() + : random_generator_(), mode_(Caffe::CPU), phase_(Caffe::TRAIN) { } + +Caffe::~Caffe() { } + +void Caffe::set_random_seed(const unsigned int seed) { + // RNG seed + Get().random_generator_.reset(new RNG(seed)); +} + +void Caffe::SetDevice(const int device_id) { + NO_GPU; +} + +void Caffe::DeviceQuery() { + NO_GPU; +} + + +class Caffe::RNG::Generator { + public: + Generator() : rng_(new caffe::rng_t(cluster_seedgen())) {} + explicit Generator(unsigned int seed) : rng_(new caffe::rng_t(seed)) {} + caffe::rng_t* rng() { return rng_.get(); } + private: + shared_ptr rng_; +}; + +Caffe::RNG::RNG() : generator_(new Generator()) { } + +Caffe::RNG::RNG(unsigned int seed) : generator_(new Generator(seed)) { } + +Caffe::RNG& Caffe::RNG::operator=(const RNG& other) { + generator_.reset(other.generator_.get()); + return *this; +} + +void* Caffe::RNG::generator() { + return static_cast(generator_->rng()); +} + +#else // Normal GPU + CPU Caffe. Caffe::Caffe() : cublas_handle_(NULL), curand_generator_(NULL), random_generator_(), @@ -201,4 +244,6 @@ const char* curandGetErrorString(curandStatus_t error) { return "Unknown curand status"; } +#endif // CPU_ONLY + } // namespace caffe diff --git a/src/caffe/layers/image_data_layer.cu b/src/caffe/layers/image_data_layer.cu index dd5bdbc2068..4026709151f 100644 --- a/src/caffe/layers/image_data_layer.cu +++ b/src/caffe/layers/image_data_layer.cu @@ -1,6 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include #include #include #include diff --git a/src/caffe/layers/inner_product_layer.cu b/src/caffe/layers/inner_product_layer.cu index 453593cf552..6ef75788665 100644 --- a/src/caffe/layers/inner_product_layer.cu +++ b/src/caffe/layers/inner_product_layer.cu @@ -1,7 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include - #include #include "caffe/blob.hpp" diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index ca1d92525c9..edfa9c0063e 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -295,6 +295,7 @@ void SGDSolver::ComputeUpdateValue() { } break; case Caffe::GPU: +#ifndef CPU_ONLY for (int param_id = 0; param_id < net_params.size(); ++param_id) { // Compute the value to history, and then copy them to the blob's diff. Dtype local_rate = rate * net_params_lr[param_id]; @@ -314,6 +315,9 @@ void SGDSolver::ComputeUpdateValue() { history_[param_id]->gpu_data(), net_params[param_id]->mutable_gpu_diff()); } +#else + NO_GPU; +#endif break; default: LOG(FATAL) << "Unknown caffe mode: " << Caffe::mode(); diff --git a/src/caffe/syncedmem.cpp b/src/caffe/syncedmem.cpp index 77dfe7a4636..844f639e013 100644 --- a/src/caffe/syncedmem.cpp +++ b/src/caffe/syncedmem.cpp @@ -1,7 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include - #include #include "caffe/common.hpp" @@ -15,9 +13,11 @@ SyncedMemory::~SyncedMemory() { CaffeFreeHost(cpu_ptr_); } +#ifndef CPU_ONLY if (gpu_ptr_) { CUDA_CHECK(cudaFree(gpu_ptr_)); } +#endif // CPU_ONLY } inline void SyncedMemory::to_cpu() { @@ -29,12 +29,16 @@ inline void SyncedMemory::to_cpu() { own_cpu_data_ = true; break; case HEAD_AT_GPU: +#ifndef CPU_ONLY if (cpu_ptr_ == NULL) { CaffeMallocHost(&cpu_ptr_, size_); own_cpu_data_ = true; } caffe_gpu_memcpy(size_, gpu_ptr_, cpu_ptr_); head_ = SYNCED; +#else + NO_GPU; +#endif break; case HEAD_AT_CPU: case SYNCED: @@ -43,6 +47,7 @@ inline void SyncedMemory::to_cpu() { } inline void SyncedMemory::to_gpu() { +#ifndef CPU_ONLY switch (head_) { case UNINITIALIZED: CUDA_CHECK(cudaMalloc(&gpu_ptr_, size_)); @@ -60,6 +65,9 @@ inline void SyncedMemory::to_gpu() { case SYNCED: break; } +#else + NO_GPU; +#endif } const void* SyncedMemory::cpu_data() { @@ -78,8 +86,12 @@ void SyncedMemory::set_cpu_data(void* data) { } const void* SyncedMemory::gpu_data() { +#ifndef CPU_ONLY to_gpu(); return (const void*)gpu_ptr_; +#else + NO_GPU; +#endif } void* SyncedMemory::mutable_cpu_data() { @@ -89,9 +101,13 @@ void* SyncedMemory::mutable_cpu_data() { } void* SyncedMemory::mutable_gpu_data() { +#ifndef CPU_ONLY to_gpu(); head_ = HEAD_AT_GPU; return gpu_ptr_; +#else + NO_GPU; +#endif } diff --git a/src/caffe/test/test_accuracy_layer.cpp b/src/caffe/test/test_accuracy_layer.cpp index 355a36b3c95..40b08748d1f 100644 --- a/src/caffe/test/test_accuracy_layer.cpp +++ b/src/caffe/test/test_accuracy_layer.cpp @@ -5,7 +5,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -16,8 +15,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class AccuracyLayerTest : public ::testing::Test { protected: diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index 44a13b99b1a..d3bdfbde658 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -2,7 +2,6 @@ #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -14,8 +13,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class ArgMaxLayerTest : public ::testing::Test { protected: diff --git a/src/caffe/test/test_benchmark.cpp b/src/caffe/test/test_benchmark.cpp index 82880088073..b613a873ea4 100644 --- a/src/caffe/test/test_benchmark.cpp +++ b/src/caffe/test/test_benchmark.cpp @@ -1,7 +1,6 @@ // Copyright 2014 BVLC and contributors. #include // for usleep -#include #include #include "caffe/common.hpp" @@ -10,8 +9,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class BenchmarkTest : public MultiDeviceTest {}; diff --git a/src/caffe/test/test_blob.cpp b/src/caffe/test/test_blob.cpp index a5240940fd8..aec88f322e6 100644 --- a/src/caffe/test/test_blob.cpp +++ b/src/caffe/test/test_blob.cpp @@ -2,7 +2,6 @@ #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/common.hpp" #include "caffe/blob.hpp" diff --git a/src/caffe/test/test_caffe_main.cpp b/src/caffe/test/test_caffe_main.cpp index 07e6b8d5ef2..bb5e6b46afb 100644 --- a/src/caffe/test/test_caffe_main.cpp +++ b/src/caffe/test/test_caffe_main.cpp @@ -6,14 +6,19 @@ #include "caffe/test/test_caffe_main.hpp" namespace caffe { +#ifndef CPU_ONLY cudaDeviceProp CAFFE_TEST_CUDA_PROP; +#endif } +#ifndef CPU_ONLY using caffe::CAFFE_TEST_CUDA_PROP; +#endif int main(int argc, char** argv) { ::testing::InitGoogleTest(&argc, argv); ::google::InitGoogleLogging(argv[0]); +#ifndef CPU_ONLY // Before starting testing, let's first print out a few cuda defice info. int device; cudaGetDeviceCount(&device); @@ -27,6 +32,7 @@ int main(int argc, char** argv) { cudaGetDevice(&device); cout << "Current device id: " << device << endl; cudaGetDeviceProperties(&CAFFE_TEST_CUDA_PROP, device); +#endif // invoke the test. return RUN_ALL_TESTS(); } diff --git a/src/caffe/test/test_common.cpp b/src/caffe/test/test_common.cpp index a452b612890..a8e2eb15270 100644 --- a/src/caffe/test/test_common.cpp +++ b/src/caffe/test/test_common.cpp @@ -2,7 +2,6 @@ #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" @@ -13,12 +12,16 @@ namespace caffe { class CommonTest : public ::testing::Test {}; +#ifndef CPU_ONLY // GPU Caffe singleton test. + TEST_F(CommonTest, TestCublasHandlerGPU) { int cuda_device_id; CUDA_CHECK(cudaGetDevice(&cuda_device_id)); EXPECT_TRUE(Caffe::cublas_handle()); } +#endif + TEST_F(CommonTest, TestBrewMode) { Caffe::set_mode(Caffe::CPU); EXPECT_EQ(Caffe::mode(), Caffe::CPU); @@ -48,6 +51,8 @@ TEST_F(CommonTest, TestRandSeedCPU) { } } +#ifndef CPU_ONLY // GPU Caffe singleton test. + TEST_F(CommonTest, TestRandSeedGPU) { SyncedMemory data_a(10 * sizeof(unsigned int)); SyncedMemory data_b(10 * sizeof(unsigned int)); @@ -63,4 +68,6 @@ TEST_F(CommonTest, TestRandSeedGPU) { } } +#endif + } // namespace caffe diff --git a/src/caffe/test/test_concat_layer.cpp b/src/caffe/test/test_concat_layer.cpp index ff208a90d3a..0550bb2d5c9 100644 --- a/src/caffe/test/test_concat_layer.cpp +++ b/src/caffe/test/test_concat_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -15,8 +14,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class ConcatLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_convolution_layer.cpp b/src/caffe/test/test_convolution_layer.cpp index 6f3e3146117..d0522b13cd0 100644 --- a/src/caffe/test/test_convolution_layer.cpp +++ b/src/caffe/test/test_convolution_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -15,8 +14,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class ConvolutionLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_data_layer.cpp b/src/caffe/test/test_data_layer.cpp index 8cd157dd98a..ed7337c5eca 100644 --- a/src/caffe/test/test_data_layer.cpp +++ b/src/caffe/test/test_data_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "leveldb/db.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" @@ -18,8 +17,6 @@ using std::stringstream; namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class DataLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_dummy_data_layer.cpp b/src/caffe/test/test_dummy_data_layer.cpp index 3a83a79772c..5b5f2025737 100644 --- a/src/caffe/test/test_dummy_data_layer.cpp +++ b/src/caffe/test/test_dummy_data_layer.cpp @@ -15,8 +15,6 @@ using std::stringstream; namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class DummyDataLayerTest : public ::testing::Test { protected: diff --git a/src/caffe/test/test_eltwise_layer.cpp b/src/caffe/test/test_eltwise_layer.cpp index 66490d2bc4e..53bff96ed6d 100644 --- a/src/caffe/test/test_eltwise_layer.cpp +++ b/src/caffe/test/test_eltwise_layer.cpp @@ -2,7 +2,6 @@ #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -14,8 +13,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class EltwiseLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_euclidean_loss_layer.cpp b/src/caffe/test/test_euclidean_loss_layer.cpp index 8c796945b89..dd27670da13 100644 --- a/src/caffe/test/test_euclidean_loss_layer.cpp +++ b/src/caffe/test/test_euclidean_loss_layer.cpp @@ -5,7 +5,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -17,8 +16,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class EuclideanLossLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_filler.cpp b/src/caffe/test/test_filler.cpp index 93eda7e8330..1b145f2418e 100644 --- a/src/caffe/test/test_filler.cpp +++ b/src/caffe/test/test_filler.cpp @@ -2,7 +2,6 @@ #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/filler.hpp" diff --git a/src/caffe/test/test_flatten_layer.cpp b/src/caffe/test/test_flatten_layer.cpp index e6e777e69c0..bea099b1f92 100644 --- a/src/caffe/test/test_flatten_layer.cpp +++ b/src/caffe/test/test_flatten_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -15,8 +14,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class FlattenLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_hdf5_output_layer.cpp b/src/caffe/test/test_hdf5_output_layer.cpp index 6fd9a2fc194..221d62aa2d2 100644 --- a/src/caffe/test/test_hdf5_output_layer.cpp +++ b/src/caffe/test/test_hdf5_output_layer.cpp @@ -1,6 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include #include #include @@ -17,8 +16,6 @@ using std::vector; namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class HDF5OutputLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_hdf5data_layer.cpp b/src/caffe/test/test_hdf5data_layer.cpp index 3eb24210d99..e606e209661 100644 --- a/src/caffe/test/test_hdf5data_layer.cpp +++ b/src/caffe/test/test_hdf5data_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "leveldb/db.h" #include "gtest/gtest.h" @@ -18,8 +17,6 @@ using std::string; namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class HDF5DataLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index df6d8e25803..84374e9579a 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -5,7 +5,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -17,8 +16,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class HingeLossLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_im2col_kernel.cu b/src/caffe/test/test_im2col_kernel.cu index bd4404a0000..5671968b56d 100644 --- a/src/caffe/test/test_im2col_kernel.cu +++ b/src/caffe/test/test_im2col_kernel.cu @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" diff --git a/src/caffe/test/test_im2col_layer.cpp b/src/caffe/test/test_im2col_layer.cpp index 5be191742fc..a40f59df2e8 100644 --- a/src/caffe/test/test_im2col_layer.cpp +++ b/src/caffe/test/test_im2col_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -15,8 +14,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class Im2colLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_image_data_layer.cpp b/src/caffe/test/test_image_data_layer.cpp index fbd4a1ca9d4..ae9a2dbc17d 100644 --- a/src/caffe/test/test_image_data_layer.cpp +++ b/src/caffe/test/test_image_data_layer.cpp @@ -1,7 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include - #include // NOLINT(readability/streams) #include // NOLINT(readability/streams) #include @@ -21,8 +19,6 @@ using std::string; namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class ImageDataLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_inner_product_layer.cpp b/src/caffe/test/test_inner_product_layer.cpp index ad4783f991a..de194f2d63f 100644 --- a/src/caffe/test/test_inner_product_layer.cpp +++ b/src/caffe/test/test_inner_product_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -15,7 +14,9 @@ namespace caffe { +#ifndef CPU_ONLY extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; +#endif template class InnerProductLayerTest : public MultiDeviceTest { @@ -57,8 +58,12 @@ TYPED_TEST(InnerProductLayerTest, TestSetUp) { TYPED_TEST(InnerProductLayerTest, TestForward) { typedef typename TypeParam::Dtype Dtype; + bool IS_VALID_CUDA = false; +#ifndef CPU_ONLY + IS_VALID_CUDA = CAFFE_TEST_CUDA_PROP.major >= 2; +#endif if (Caffe::mode() == Caffe::CPU || - sizeof(Dtype) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) { + sizeof(Dtype) == 4 || IS_VALID_CUDA) { LayerParameter layer_param; InnerProductParameter* inner_product_param = layer_param.mutable_inner_product_param(); @@ -83,8 +88,12 @@ TYPED_TEST(InnerProductLayerTest, TestForward) { TYPED_TEST(InnerProductLayerTest, TestGradient) { typedef typename TypeParam::Dtype Dtype; + bool IS_VALID_CUDA = false; +#ifndef CPU_ONLY + IS_VALID_CUDA = CAFFE_TEST_CUDA_PROP.major >= 2; +#endif if (Caffe::mode() == Caffe::CPU || - sizeof(Dtype) == 4 || CAFFE_TEST_CUDA_PROP.major >= 2) { + sizeof(Dtype) == 4 || IS_VALID_CUDA) { LayerParameter layer_param; InnerProductParameter* inner_product_param = layer_param.mutable_inner_product_param(); diff --git a/src/caffe/test/test_lrn_layer.cpp b/src/caffe/test/test_lrn_layer.cpp index a627c97f40f..5bd5533f955 100644 --- a/src/caffe/test/test_lrn_layer.cpp +++ b/src/caffe/test/test_lrn_layer.cpp @@ -4,7 +4,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -19,8 +18,6 @@ using std::max; namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class LRNLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_maxpool_dropout_layers.cpp b/src/caffe/test/test_maxpool_dropout_layers.cpp index eef375acea7..733bbf4ad1f 100644 --- a/src/caffe/test/test_maxpool_dropout_layers.cpp +++ b/src/caffe/test/test_maxpool_dropout_layers.cpp @@ -3,8 +3,6 @@ #include #include -#include "cuda_runtime.h" - #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" diff --git a/src/caffe/test/test_multinomial_logistic_loss_layer.cpp b/src/caffe/test/test_multinomial_logistic_loss_layer.cpp index d73347e8e2e..ec53d40e53e 100644 --- a/src/caffe/test/test_multinomial_logistic_loss_layer.cpp +++ b/src/caffe/test/test_multinomial_logistic_loss_layer.cpp @@ -5,7 +5,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -17,8 +16,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class MultinomialLogisticLossLayerTest : public ::testing::Test { protected: diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index f44471843a9..246832d226d 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -15,8 +14,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class NeuronLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_platform.cpp b/src/caffe/test/test_platform.cpp index 7cf8306e8c9..e1c4dafc7bb 100644 --- a/src/caffe/test/test_platform.cpp +++ b/src/caffe/test/test_platform.cpp @@ -1,9 +1,10 @@ // Copyright 2014 BVLC and contributors. +#ifndef CPU_ONLY + #include #include -#include "cuda_runtime.h" #include "glog/logging.h" #include "gtest/gtest.h" #include "caffe/test/test_caffe_main.hpp" @@ -53,3 +54,5 @@ TEST_F(PlatformTest, TestInitialization) { } } // namespace caffe + +#endif // CPU_ONLY diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index b209d821a32..b9cec54af39 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -15,8 +14,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class PoolingLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_power_layer.cpp b/src/caffe/test/test_power_layer.cpp index a1b716ad531..c9992d57f65 100644 --- a/src/caffe/test/test_power_layer.cpp +++ b/src/caffe/test/test_power_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" @@ -18,8 +17,6 @@ using std::isnan; namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class PowerLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_random_number_generator.cpp b/src/caffe/test/test_random_number_generator.cpp index 3cd77da9876..abe21c2523e 100644 --- a/src/caffe/test/test_random_number_generator.cpp +++ b/src/caffe/test/test_random_number_generator.cpp @@ -1,6 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include #include #include diff --git a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp index 76bbfb48a17..a5388db092f 100644 --- a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp @@ -16,8 +16,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class SigmoidCrossEntropyLossLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_softmax_layer.cpp b/src/caffe/test/test_softmax_layer.cpp index f0be279bbca..fa899f92db3 100644 --- a/src/caffe/test/test_softmax_layer.cpp +++ b/src/caffe/test/test_softmax_layer.cpp @@ -4,7 +4,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -16,8 +15,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class SoftmaxLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_softmax_with_loss_layer.cpp b/src/caffe/test/test_softmax_with_loss_layer.cpp index efd6e33c2f7..6f45c3889c2 100644 --- a/src/caffe/test/test_softmax_with_loss_layer.cpp +++ b/src/caffe/test/test_softmax_with_loss_layer.cpp @@ -5,7 +5,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -17,8 +16,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class SoftmaxWithLossLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_split_layer.cpp b/src/caffe/test/test_split_layer.cpp index 455fb59d4d3..bbee6d28855 100644 --- a/src/caffe/test/test_split_layer.cpp +++ b/src/caffe/test/test_split_layer.cpp @@ -4,7 +4,6 @@ #include #include -#include "cuda_runtime.h" #include "google/protobuf/text_format.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" @@ -18,8 +17,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class SplitLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_stochastic_pooling.cpp b/src/caffe/test/test_stochastic_pooling.cpp index 7a931d224d8..66e9b2d7d88 100644 --- a/src/caffe/test/test_stochastic_pooling.cpp +++ b/src/caffe/test/test_stochastic_pooling.cpp @@ -4,7 +4,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -18,8 +17,6 @@ using std::min; namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class StochasticPoolingLayerTest : public ::testing::Test { protected: diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index 20bd86138b5..f07682a2aa5 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -3,10 +3,10 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" +#include "caffe/util/device_alternate.hpp" #include "caffe/util/math_functions.hpp" #include "caffe/test/test_caffe_main.hpp" @@ -24,6 +24,8 @@ TEST_F(SyncedMemoryTest, TestInitialization) { delete p_mem; } +#ifndef CPU_ONLY // GPU test + TEST_F(SyncedMemoryTest, TestAllocationCPUGPU) { SyncedMemory mem(10); EXPECT_TRUE(mem.cpu_data()); @@ -32,18 +34,24 @@ TEST_F(SyncedMemoryTest, TestAllocationCPUGPU) { EXPECT_TRUE(mem.mutable_gpu_data()); } +#endif + TEST_F(SyncedMemoryTest, TestAllocationCPU) { SyncedMemory mem(10); EXPECT_TRUE(mem.cpu_data()); EXPECT_TRUE(mem.mutable_cpu_data()); } +#ifndef CPU_ONLY // GPU test + TEST_F(SyncedMemoryTest, TestAllocationGPU) { SyncedMemory mem(10); EXPECT_TRUE(mem.gpu_data()); EXPECT_TRUE(mem.mutable_gpu_data()); } +#endif + TEST_F(SyncedMemoryTest, TestCPUWrite) { SyncedMemory mem(10); void* cpu_data = mem.mutable_cpu_data(); @@ -61,6 +69,8 @@ TEST_F(SyncedMemoryTest, TestCPUWrite) { } } +#ifndef CPU_ONLY // GPU test + TEST_F(SyncedMemoryTest, TestGPURead) { SyncedMemory mem(10); void* cpu_data = mem.mutable_cpu_data(); @@ -112,4 +122,6 @@ TEST_F(SyncedMemoryTest, TestGPUWrite) { EXPECT_EQ(mem.head(), SyncedMemory::SYNCED); } +#endif + } // namespace caffe diff --git a/src/caffe/test/test_tanh_layer.cpp b/src/caffe/test/test_tanh_layer.cpp index 171eb4e472e..7fc443f6d6d 100644 --- a/src/caffe/test/test_tanh_layer.cpp +++ b/src/caffe/test/test_tanh_layer.cpp @@ -5,7 +5,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -17,8 +16,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class TanHLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 46519ff2094..7006dd11880 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -2,7 +2,6 @@ #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -14,8 +13,6 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; - template class ThresholdLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; diff --git a/src/caffe/test/test_upgrade_proto.cpp b/src/caffe/test/test_upgrade_proto.cpp index 9203f5583be..72ee838931d 100644 --- a/src/caffe/test/test_upgrade_proto.cpp +++ b/src/caffe/test/test_upgrade_proto.cpp @@ -4,7 +4,6 @@ #include #include -#include "cuda_runtime.h" #include "google/protobuf/text_format.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" diff --git a/src/caffe/test/test_util_blas.cpp b/src/caffe/test/test_util_blas.cpp index 725d24e21d3..d74f9f017ee 100644 --- a/src/caffe/test/test_util_blas.cpp +++ b/src/caffe/test/test_util_blas.cpp @@ -1,12 +1,12 @@ // Copyright 2014 BVLC and contributors. -#include +#ifndef CPU_ONLY // CPU-GPU test -#include "cuda_runtime.h" -#include "cublas_v2.h" +#include #include "gtest/gtest.h" #include "caffe/blob.hpp" +#include "caffe/util/device_alternate.hpp" #include "caffe/util/math_functions.hpp" #include "caffe/test/test_caffe_main.hpp" @@ -131,3 +131,5 @@ TYPED_TEST(GemmTest, TestGemvCPUGPU) { } } // namespace caffe + +#endif // CPU_ONLY diff --git a/src/caffe/util/benchmark.cpp b/src/caffe/util/benchmark.cpp index 0bd852182c8..009b118a35a 100644 --- a/src/caffe/util/benchmark.cpp +++ b/src/caffe/util/benchmark.cpp @@ -1,7 +1,6 @@ // Copyright 2014 BVLC and contributors. #include -#include #include "caffe/common.hpp" #include "caffe/util/benchmark.hpp" @@ -17,15 +16,23 @@ Timer::Timer() Timer::~Timer() { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventDestroy(start_gpu_)); CUDA_CHECK(cudaEventDestroy(stop_gpu_)); +#else + NO_GPU; +#endif } } void Timer::Start() { if (!running()) { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventRecord(start_gpu_, 0)); +#else + NO_GPU; +#endif } else { start_cpu_ = boost::posix_time::microsec_clock::local_time(); } @@ -37,8 +44,12 @@ void Timer::Start() { void Timer::Stop() { if (running()) { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventRecord(stop_gpu_, 0)); CUDA_CHECK(cudaEventSynchronize(stop_gpu_)); +#else + NO_GPU; +#endif } else { stop_cpu_ = boost::posix_time::microsec_clock::local_time(); } @@ -55,8 +66,12 @@ float Timer::MilliSeconds() { Stop(); } if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventElapsedTime(&elapsed_milliseconds_, start_gpu_, stop_gpu_)); +#else + NO_GPU; +#endif } else { elapsed_milliseconds_ = (stop_cpu_ - start_cpu_).total_milliseconds(); } @@ -70,8 +85,12 @@ float Timer::Seconds() { void Timer::Init() { if (!initted()) { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaEventCreate(&start_gpu_)); CUDA_CHECK(cudaEventCreate(&stop_gpu_)); +#else + NO_GPU; +#endif } initted_ = true; } diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index b989ca2ab69..36d8877d8c5 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -2,7 +2,6 @@ #include #include -#include #include @@ -34,38 +33,6 @@ void caffe_cpu_gemm(const CBLAS_TRANSPOSE TransA, ldb, beta, C, N); } -template <> -void caffe_gpu_gemm(const CBLAS_TRANSPOSE TransA, - const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, - const float alpha, const float* A, const float* B, const float beta, - float* C) { - // Note that cublas follows fortran order. - int lda = (TransA == CblasNoTrans) ? K : M; - int ldb = (TransB == CblasNoTrans) ? N : K; - cublasOperation_t cuTransA = - (TransA == CblasNoTrans) ? CUBLAS_OP_N : CUBLAS_OP_T; - cublasOperation_t cuTransB = - (TransB == CblasNoTrans) ? CUBLAS_OP_N : CUBLAS_OP_T; - CUBLAS_CHECK(cublasSgemm(Caffe::cublas_handle(), cuTransB, cuTransA, - N, M, K, &alpha, B, ldb, A, lda, &beta, C, N)); -} - -template <> -void caffe_gpu_gemm(const CBLAS_TRANSPOSE TransA, - const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, - const double alpha, const double* A, const double* B, const double beta, - double* C) { - // Note that cublas follows fortran order. - int lda = (TransA == CblasNoTrans) ? K : M; - int ldb = (TransB == CblasNoTrans) ? N : K; - cublasOperation_t cuTransA = - (TransA == CblasNoTrans) ? CUBLAS_OP_N : CUBLAS_OP_T; - cublasOperation_t cuTransB = - (TransB == CblasNoTrans) ? CUBLAS_OP_N : CUBLAS_OP_T; - CUBLAS_CHECK(cublasDgemm(Caffe::cublas_handle(), cuTransB, cuTransA, - N, M, K, &alpha, B, ldb, A, lda, &beta, C, N)); -} - template <> void caffe_cpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, const int N, const float alpha, const float* A, const float* x, @@ -80,26 +47,6 @@ void caffe_cpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, cblas_dgemv(CblasRowMajor, TransA, M, N, alpha, A, N, x, 1, beta, y, 1); } -template <> -void caffe_gpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, - const int N, const float alpha, const float* A, const float* x, - const float beta, float* y) { - cublasOperation_t cuTransA = - (TransA == CblasNoTrans) ? CUBLAS_OP_T : CUBLAS_OP_N; - CUBLAS_CHECK(cublasSgemv(Caffe::cublas_handle(), cuTransA, N, M, &alpha, - A, N, x, 1, &beta, y, 1)); -} - -template <> -void caffe_gpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, - const int N, const double alpha, const double* A, const double* x, - const double beta, double* y) { - cublasOperation_t cuTransA = - (TransA == CblasNoTrans) ? CUBLAS_OP_T : CUBLAS_OP_N; - CUBLAS_CHECK(cublasDgemv(Caffe::cublas_handle(), cuTransA, N, M, &alpha, - A, N, x, 1, &beta, y, 1)); -} - template <> void caffe_axpy(const int N, const float alpha, const float* X, float* Y) { cblas_saxpy(N, alpha, X, 1, Y, 1); } @@ -108,18 +55,6 @@ template <> void caffe_axpy(const int N, const double alpha, const double* X, double* Y) { cblas_daxpy(N, alpha, X, 1, Y, 1); } -template <> -void caffe_gpu_axpy(const int N, const float alpha, const float* X, - float* Y) { - CUBLAS_CHECK(cublasSaxpy(Caffe::cublas_handle(), N, &alpha, X, 1, Y, 1)); -} - -template <> -void caffe_gpu_axpy(const int N, const double alpha, const double* X, - double* Y) { - CUBLAS_CHECK(cublasDaxpy(Caffe::cublas_handle(), N, &alpha, X, 1, Y, 1)); -} - template void caffe_set(const int N, const Dtype alpha, Dtype* Y) { if (alpha == 0) { @@ -153,7 +88,11 @@ template void caffe_copy(const int N, const Dtype* X, Dtype* Y) { if (X != Y) { if (Caffe::mode() == Caffe::GPU) { +#ifndef CPU_ONLY CUDA_CHECK(cudaMemcpy(Y, X, sizeof(Dtype) * N, cudaMemcpyDefault)); +#else + NO_GPU; +#endif } else { memcpy(Y, X, sizeof(Dtype) * N); } @@ -166,12 +105,6 @@ template void caffe_copy(const int N, const unsigned int* X, template void caffe_copy(const int N, const float* X, float* Y); template void caffe_copy(const int N, const double* X, double* Y); -void caffe_gpu_memcpy(const size_t N, const void* X, void* Y) { - if (X != Y) { - CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); - } -} - template <> void caffe_scal(const int N, const float alpha, float *X) { cblas_sscal(N, alpha, X, 1); @@ -182,30 +115,6 @@ void caffe_scal(const int N, const double alpha, double *X) { cblas_dscal(N, alpha, X, 1); } -template <> -void caffe_gpu_scal(const int N, const float alpha, float *X) { - CUBLAS_CHECK(cublasSscal(Caffe::cublas_handle(), N, &alpha, X, 1)); -} - -template <> -void caffe_gpu_scal(const int N, const double alpha, double *X) { - CUBLAS_CHECK(cublasDscal(Caffe::cublas_handle(), N, &alpha, X, 1)); -} - -template <> -void caffe_gpu_axpby(const int N, const float alpha, const float* X, - const float beta, float* Y) { - caffe_gpu_scal(N, beta, Y); - caffe_gpu_axpy(N, alpha, X, Y); -} - -template <> -void caffe_gpu_axpby(const int N, const double alpha, const double* X, - const double beta, double* Y) { - caffe_gpu_scal(N, beta, Y); - caffe_gpu_axpy(N, alpha, X, Y); -} - template <> void caffe_cpu_axpby(const int N, const float alpha, const float* X, const float beta, float* Y) { @@ -407,18 +316,6 @@ double caffe_cpu_dot(const int n, const double* x, const double* y) { return cblas_ddot(n, x, 1, y, 1); } -template <> -void caffe_gpu_dot(const int n, const float* x, const float* y, - float* out) { - CUBLAS_CHECK(cublasSdot(Caffe::cublas_handle(), n, x, 1, y, 1, out)); -} - -template <> -void caffe_gpu_dot(const int n, const double* x, const double* y, - double * out) { - CUBLAS_CHECK(cublasDdot(Caffe::cublas_handle(), n, x, 1, y, 1, out)); -} - template <> int caffe_cpu_hamming_distance(const int n, const float* x, const float* y) { @@ -451,16 +348,6 @@ double caffe_cpu_asum(const int n, const double* x) { return cblas_dasum(n, x, 1); } -template <> -void caffe_gpu_asum(const int n, const float* x, float* y) { - CUBLAS_CHECK(cublasSasum(Caffe::cublas_handle(), n, x, 1, y)); -} - -template <> -void caffe_gpu_asum(const int n, const double* x, double* y) { - CUBLAS_CHECK(cublasDasum(Caffe::cublas_handle(), n, x, 1, y)); -} - INSTANTIATE_CAFFE_CPU_UNARY_FUNC(sign); INSTANTIATE_CAFFE_CPU_UNARY_FUNC(sgnbit); INSTANTIATE_CAFFE_CPU_UNARY_FUNC(fabs); @@ -479,18 +366,4 @@ void caffe_cpu_scale(const int n, const double alpha, const double *x, cblas_dscal(n, alpha, y, 1); } -template <> -void caffe_gpu_scale(const int n, const float alpha, const float *x, - float* y) { - CUBLAS_CHECK(cublasScopy(Caffe::cublas_handle(), n, x, 1, y, 1)); - CUBLAS_CHECK(cublasSscal(Caffe::cublas_handle(), n, &alpha, y, 1)); -} - -template <> -void caffe_gpu_scale(const int n, const double alpha, const double *x, - double* y) { - CUBLAS_CHECK(cublasDcopy(Caffe::cublas_handle(), n, x, 1, y, 1)); - CUBLAS_CHECK(cublasDscal(Caffe::cublas_handle(), n, &alpha, y, 1)); -} - } // namespace caffe diff --git a/src/caffe/util/math_functions.cu b/src/caffe/util/math_functions.cu index 849e53b9ca4..1e934931462 100644 --- a/src/caffe/util/math_functions.cu +++ b/src/caffe/util/math_functions.cu @@ -4,6 +4,7 @@ #include #include // thrust::plus #include + #include #include #include @@ -13,6 +14,136 @@ namespace caffe { +template <> +void caffe_gpu_gemm(const CBLAS_TRANSPOSE TransA, + const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, + const float alpha, const float* A, const float* B, const float beta, + float* C) { + // Note that cublas follows fortran order. + int lda = (TransA == CblasNoTrans) ? K : M; + int ldb = (TransB == CblasNoTrans) ? N : K; + cublasOperation_t cuTransA = + (TransA == CblasNoTrans) ? CUBLAS_OP_N : CUBLAS_OP_T; + cublasOperation_t cuTransB = + (TransB == CblasNoTrans) ? CUBLAS_OP_N : CUBLAS_OP_T; + CUBLAS_CHECK(cublasSgemm(Caffe::cublas_handle(), cuTransB, cuTransA, + N, M, K, &alpha, B, ldb, A, lda, &beta, C, N)); +} + +template <> +void caffe_gpu_gemm(const CBLAS_TRANSPOSE TransA, + const CBLAS_TRANSPOSE TransB, const int M, const int N, const int K, + const double alpha, const double* A, const double* B, const double beta, + double* C) { + // Note that cublas follows fortran order. + int lda = (TransA == CblasNoTrans) ? K : M; + int ldb = (TransB == CblasNoTrans) ? N : K; + cublasOperation_t cuTransA = + (TransA == CblasNoTrans) ? CUBLAS_OP_N : CUBLAS_OP_T; + cublasOperation_t cuTransB = + (TransB == CblasNoTrans) ? CUBLAS_OP_N : CUBLAS_OP_T; + CUBLAS_CHECK(cublasDgemm(Caffe::cublas_handle(), cuTransB, cuTransA, + N, M, K, &alpha, B, ldb, A, lda, &beta, C, N)); +} + +template <> +void caffe_gpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, + const int N, const float alpha, const float* A, const float* x, + const float beta, float* y) { + cublasOperation_t cuTransA = + (TransA == CblasNoTrans) ? CUBLAS_OP_T : CUBLAS_OP_N; + CUBLAS_CHECK(cublasSgemv(Caffe::cublas_handle(), cuTransA, N, M, &alpha, + A, N, x, 1, &beta, y, 1)); +} + +template <> +void caffe_gpu_gemv(const CBLAS_TRANSPOSE TransA, const int M, + const int N, const double alpha, const double* A, const double* x, + const double beta, double* y) { + cublasOperation_t cuTransA = + (TransA == CblasNoTrans) ? CUBLAS_OP_T : CUBLAS_OP_N; + CUBLAS_CHECK(cublasDgemv(Caffe::cublas_handle(), cuTransA, N, M, &alpha, + A, N, x, 1, &beta, y, 1)); +} + +template <> +void caffe_gpu_axpy(const int N, const float alpha, const float* X, + float* Y) { + CUBLAS_CHECK(cublasSaxpy(Caffe::cublas_handle(), N, &alpha, X, 1, Y, 1)); +} + +template <> +void caffe_gpu_axpy(const int N, const double alpha, const double* X, + double* Y) { + CUBLAS_CHECK(cublasDaxpy(Caffe::cublas_handle(), N, &alpha, X, 1, Y, 1)); +} + +void caffe_gpu_memcpy(const size_t N, const void* X, void* Y) { + if (X != Y) { + CUDA_CHECK(cudaMemcpy(Y, X, N, cudaMemcpyDefault)); + } +} + +template <> +void caffe_gpu_scal(const int N, const float alpha, float *X) { + CUBLAS_CHECK(cublasSscal(Caffe::cublas_handle(), N, &alpha, X, 1)); +} + +template <> +void caffe_gpu_scal(const int N, const double alpha, double *X) { + CUBLAS_CHECK(cublasDscal(Caffe::cublas_handle(), N, &alpha, X, 1)); +} + +template <> +void caffe_gpu_axpby(const int N, const float alpha, const float* X, + const float beta, float* Y) { + caffe_gpu_scal(N, beta, Y); + caffe_gpu_axpy(N, alpha, X, Y); +} + +template <> +void caffe_gpu_axpby(const int N, const double alpha, const double* X, + const double beta, double* Y) { + caffe_gpu_scal(N, beta, Y); + caffe_gpu_axpy(N, alpha, X, Y); +} + +template <> +void caffe_gpu_dot(const int n, const float* x, const float* y, + float* out) { + CUBLAS_CHECK(cublasSdot(Caffe::cublas_handle(), n, x, 1, y, 1, out)); +} + +template <> +void caffe_gpu_dot(const int n, const double* x, const double* y, + double * out) { + CUBLAS_CHECK(cublasDdot(Caffe::cublas_handle(), n, x, 1, y, 1, out)); +} + +template <> +void caffe_gpu_asum(const int n, const float* x, float* y) { + CUBLAS_CHECK(cublasSasum(Caffe::cublas_handle(), n, x, 1, y)); +} + +template <> +void caffe_gpu_asum(const int n, const double* x, double* y) { + CUBLAS_CHECK(cublasDasum(Caffe::cublas_handle(), n, x, 1, y)); +} + +template <> +void caffe_gpu_scale(const int n, const float alpha, const float *x, + float* y) { + CUBLAS_CHECK(cublasScopy(Caffe::cublas_handle(), n, x, 1, y, 1)); + CUBLAS_CHECK(cublasSscal(Caffe::cublas_handle(), n, &alpha, y, 1)); +} + +template <> +void caffe_gpu_scale(const int n, const double alpha, const double *x, + double* y) { + CUBLAS_CHECK(cublasDcopy(Caffe::cublas_handle(), n, x, 1, y, 1)); + CUBLAS_CHECK(cublasDscal(Caffe::cublas_handle(), n, &alpha, y, 1)); +} + template __global__ void set_kernel(const int n, const Dtype alpha, Dtype* y) { CUDA_KERNEL_LOOP(index, n) { diff --git a/tools/dump_network.cpp b/tools/dump_network.cpp index 8ed8edac284..c5aac604079 100644 --- a/tools/dump_network.cpp +++ b/tools/dump_network.cpp @@ -13,7 +13,6 @@ #include #include -#include "cuda_runtime.h" #include "fcntl.h" #include "google/protobuf/text_format.h" diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index 22e74908a3f..22b0e61e227 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -1,7 +1,6 @@ // Copyright 2014 BVLC and contributors. #include // for snprintf -#include #include #include #include diff --git a/tools/finetune_net.cpp b/tools/finetune_net.cpp index c1cd788a1fb..4d80be9f4da 100644 --- a/tools/finetune_net.cpp +++ b/tools/finetune_net.cpp @@ -4,8 +4,6 @@ // Usage: // finetune_net solver_proto_file pretrained_net -#include - #include #include "caffe/caffe.hpp" diff --git a/tools/net_speed_benchmark.cpp b/tools/net_speed_benchmark.cpp index 4b65cfd3dcc..bdec391fbb6 100644 --- a/tools/net_speed_benchmark.cpp +++ b/tools/net_speed_benchmark.cpp @@ -1,6 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include #include #include diff --git a/tools/test_net.cpp b/tools/test_net.cpp index c5819ec71b7..9d37536c758 100644 --- a/tools/test_net.cpp +++ b/tools/test_net.cpp @@ -6,8 +6,6 @@ // Usage: // test_net net_proto pretrained_net_proto iterations [CPU/GPU] -#include - #include #include #include diff --git a/tools/train_net.cpp b/tools/train_net.cpp index 7c6f23e6240..41a33247854 100644 --- a/tools/train_net.cpp +++ b/tools/train_net.cpp @@ -5,8 +5,6 @@ // Usage: // train_net net_proto_file solver_proto_file [resume_point_file] -#include - #include #include "caffe/caffe.hpp" From 79a769c5841960dc755d0f233cd90a79a240fc2f Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 17 Jul 2014 11:57:56 +0200 Subject: [PATCH 265/408] switch travis build to CPU-only flag, drop runtestnogpu target --- .travis.yml | 3 ++- Makefile | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index c0119756c6b..17b483caaa3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,10 +26,11 @@ before_script: - mv Makefile.config.example Makefile.config - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib - export NUM_THREADS=4 + - export CPU_ONLY=1 script: - make --keep-going --jobs=$NUM_THREADS all test warn lint - - make runtestnogpu + - make runtest - make --jobs=$NUM_THREADS all - make --jobs=$NUM_THREADS test - make --jobs=$NUM_THREADS warn diff --git a/Makefile b/Makefile index 417ff868218..109894dd7c7 100644 --- a/Makefile +++ b/Makefile @@ -294,7 +294,7 @@ SUPERCLEAN_EXTS := .so .a .o .bin .testbin .pb.cc .pb.h _pb2.py .cuo # Define build targets ############################## .PHONY: all test clean linecount lint tools examples $(DIST_ALIASES) \ - py mat py$(PROJECT) mat$(PROJECT) proto runtest runtestnogpu \ + py mat py$(PROJECT) mat$(PROJECT) proto runtest \ superclean supercleanlist supercleanfiles warn all: $(NAME) $(STATIC_NAME) tools examples @@ -356,9 +356,6 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) runtest: $(TEST_ALL_BIN) $(TEST_ALL_BIN) $(TEST_GPUID) --gtest_shuffle $(TEST_FILTER) -runtestnogpu: $(TEST_ALL_BIN) - $(TEST_ALL_BIN) --gtest_shuffle --gtest_filter="-*GPU*:*/2.*:*/3.*" - warn: $(EMPTY_WARN_REPORT) $(EMPTY_WARN_REPORT): $(ALL_WARNS) | $(BUILD_DIR) From 5b302f09dc844fe62dec653596838678214d777c Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 16 Jul 2014 15:24:48 +0200 Subject: [PATCH 266/408] relax benchmark test timing for cheap hardware / CI build --- src/caffe/test/test_benchmark.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/caffe/test/test_benchmark.cpp b/src/caffe/test/test_benchmark.cpp index b613a873ea4..6555b270ec4 100644 --- a/src/caffe/test/test_benchmark.cpp +++ b/src/caffe/test/test_benchmark.cpp @@ -63,8 +63,8 @@ TYPED_TEST(BenchmarkTest, TestTimerMilliSeconds) { EXPECT_FALSE(timer.has_run_at_least_once()); timer.Start(); usleep(300 * 1000); - EXPECT_GE(timer.MilliSeconds(), 298); - EXPECT_LE(timer.MilliSeconds(), 302); + EXPECT_GE(timer.MilliSeconds(), 295); + EXPECT_LE(timer.MilliSeconds(), 305); EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_TRUE(timer.has_run_at_least_once()); @@ -78,8 +78,8 @@ TYPED_TEST(BenchmarkTest, TestTimerSeconds) { EXPECT_FALSE(timer.has_run_at_least_once()); timer.Start(); usleep(300 * 1000); - EXPECT_GE(timer.Seconds(), 0.298); - EXPECT_LE(timer.Seconds(), 0.302); + EXPECT_GE(timer.Seconds(), 0.295); + EXPECT_LE(timer.Seconds(), 0.305); EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_TRUE(timer.has_run_at_least_once()); From f9f65e50dd44dc5fb43466f4364b2f414a1978f6 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 17 Jul 2014 11:32:29 +0200 Subject: [PATCH 267/408] check CPU-only everything, CPU + GPU build with travis --- .travis.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 17b483caaa3..c5445fcdb90 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,6 +19,8 @@ before_install: install: - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - + - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb + - sudo apt-get -y update && sudo apt-get -y install cuda - curl https://gitorious.org/mdb/mdb/archive/7f038d0f15bec57b4c07aa3f31cd5564c88a1897.tar.gz -o /tmp/mdb.tar.gz && tar -C /tmp -xzvf /tmp/mdb.tar.gz && rm /tmp/mdb.tar.gz - cd /tmp/mdb-mdb/libraries/liblmdb/ && make && sudo make install && cd - @@ -26,9 +28,14 @@ before_script: - mv Makefile.config.example Makefile.config - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib - export NUM_THREADS=4 - - export CPU_ONLY=1 script: + # CPU-GPU: build only. + - export CPU_ONLY=0 + - make --keep-going --jobs=$NUM_THREADS all + - make clean + # CPU-only: comprehensive. + - export CPU_ONLY=1 - make --keep-going --jobs=$NUM_THREADS all test warn lint - make runtest - make --jobs=$NUM_THREADS all From d6f3adee56ef408c9c11b44ed74dac9d245a68a0 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Thu, 17 Jul 2014 12:18:27 -0700 Subject: [PATCH 268/408] compute_image_mean namespace fix. --- tools/compute_image_mean.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/compute_image_mean.cpp b/tools/compute_image_mean.cpp index 0c0f0f3f7e5..79bfdc7c4bb 100644 --- a/tools/compute_image_mean.cpp +++ b/tools/compute_image_mean.cpp @@ -13,6 +13,7 @@ using caffe::Datum; using caffe::BlobProto; +using std::string; using std::max; int main(int argc, char** argv) { From 8ad32ec1c4c790c5af629e424c453ca5c1cbefc9 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Thu, 17 Jul 2014 17:01:17 -0700 Subject: [PATCH 269/408] lint --- include/caffe/common.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index 0ee49f36030..cf4fd457318 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -6,6 +6,10 @@ #include #include +#include +#include +#include + #include "caffe/util/device_alternate.hpp" // Disable the copy and assignment operator for a class. From fa6397e891ccfa01cfadb11402b0ac3b62e60c72 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Fri, 18 Jul 2014 13:32:25 -0700 Subject: [PATCH 270/408] cosmetics: add syntax = proto2 --- src/caffe/proto/caffe.proto | 2 ++ src/caffe/proto/caffe_pretty_print.proto | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 70a4ab2e8e9..e4b5ad312c4 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -1,5 +1,7 @@ // Copyright 2014 BVLC and contributors. +syntax = "proto2"; + package caffe; message BlobProto { diff --git a/src/caffe/proto/caffe_pretty_print.proto b/src/caffe/proto/caffe_pretty_print.proto index cfdce82c79f..f34988c9645 100644 --- a/src/caffe/proto/caffe_pretty_print.proto +++ b/src/caffe/proto/caffe_pretty_print.proto @@ -1,5 +1,7 @@ // Copyright 2014 BVLC and contributors. +syntax = "proto2"; + package caffe; import "caffe/proto/caffe.proto"; From 7683986be557fe9d6f44ec1cdd6a2cfd889c07ed Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Fri, 18 Jul 2014 15:18:14 -0700 Subject: [PATCH 271/408] reapply namespace change --- include/caffe/common.hpp | 11 +++++++++++ include/caffe/layer.hpp | 3 --- include/caffe/net.hpp | 6 ------ include/caffe/test/test_gradient_check_util.hpp | 6 ++---- include/caffe/util/insert_splits.hpp | 3 --- include/caffe/util/io.hpp | 1 - include/caffe/util/upgrade_proto.hpp | 2 -- src/caffe/layer_factory.cpp | 2 -- src/caffe/layers/accuracy_layer.cpp | 2 -- src/caffe/layers/bnll_layer.cpp | 4 +--- src/caffe/layers/bnll_layer.cu | 2 -- src/caffe/layers/dropout_layer.cu | 2 -- src/caffe/layers/hdf5_output_layer.cpp | 1 - src/caffe/layers/hdf5_output_layer.cu | 1 - src/caffe/layers/hinge_loss_layer.cpp | 5 ++--- src/caffe/layers/image_data_layer.cpp | 3 --- src/caffe/layers/image_data_layer.cu | 2 -- src/caffe/layers/infogain_loss_layer.cpp | 6 ++---- src/caffe/layers/loss_layer.cpp | 2 -- src/caffe/layers/multinomial_logistic_loss_layer.cpp | 8 ++++---- src/caffe/layers/pooling_layer.cpp | 6 +++--- src/caffe/layers/pooling_layer.cu | 3 --- src/caffe/layers/power_layer.cpp | 2 -- src/caffe/layers/power_layer.cu | 2 -- src/caffe/layers/relu_layer.cpp | 4 +--- src/caffe/layers/relu_layer.cu | 2 -- src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp | 2 -- src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu | 2 -- src/caffe/layers/sigmoid_layer.cu | 2 -- src/caffe/layers/softmax_layer.cpp | 4 +--- src/caffe/layers/softmax_layer.cu | 2 -- src/caffe/layers/softmax_loss_layer.cpp | 6 ++---- src/caffe/layers/softmax_loss_layer.cu | 2 -- src/caffe/layers/threshold_layer.cu | 2 -- src/caffe/layers/window_data_layer.cpp | 3 --- src/caffe/layers/window_data_layer.cu | 3 --- src/caffe/net.cpp | 4 ---- src/caffe/solver.cpp | 3 --- src/caffe/test/test_power_layer.cpp | 4 ++-- src/caffe/util/insert_splits.cpp | 5 ----- src/caffe/util/io.cpp | 8 ++------ src/caffe/util/upgrade_proto.cpp | 3 --- 42 files changed, 33 insertions(+), 113 deletions(-) diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index cf4fd457318..2c79f2bc326 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -68,6 +68,17 @@ namespace caffe { // because cuda does not work (at least now) well with C++11 features. using boost::shared_ptr; +// Common functions and classes from std that caffe often uses. +using std::fstream; +using std::ios; +using std::iterator; +using std::make_pair; +using std::map; +using std::ostringstream; +using std::pair; +using std::set; +using std::string; +using std::vector; // A singleton class to hold common caffe stuff, such as the handler that // caffe is going to use for cublas, curand, etc. diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index 6d2374fc9ab..aac82447a41 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -13,9 +13,6 @@ namespace caffe { -using std::string; -using std::vector; - template class Layer { public: diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index ce82e28602c..8a2df2bf17f 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -16,12 +16,6 @@ namespace caffe { -using std::map; -using std::pair; -using std::set; -using std::string; -using std::vector; - template class Net { public: diff --git a/include/caffe/test/test_gradient_check_util.hpp b/include/caffe/test/test_gradient_check_util.hpp index 2d551f82428..034aeccb90b 100644 --- a/include/caffe/test/test_gradient_check_util.hpp +++ b/include/caffe/test/test_gradient_check_util.hpp @@ -13,8 +13,6 @@ #include "caffe/layer.hpp" #include "caffe/net.hpp" -using std::max; - namespace caffe { // The gradient checker adds a L2 normalization loss function on top of the @@ -160,8 +158,8 @@ void GradientChecker::CheckGradientSingle(Layer* layer, || fabs(feature) > kink_ + kink_range_) { // We check relative accuracy, but for too small values, we threshold // the scale factor by 1. - Dtype scale = max( - max(fabs(computed_gradient), fabs(estimated_gradient)), 1.); + Dtype scale = std::max( + std::max(fabs(computed_gradient), fabs(estimated_gradient)), 1.); EXPECT_NEAR(computed_gradient, estimated_gradient, threshold_ * scale) << "debug: (top_id, top_data_id, blob_id, feat_id)=" << top_id << "," << top_data_id << "," << blob_id << "," << feat_id; diff --git a/include/caffe/util/insert_splits.hpp b/include/caffe/util/insert_splits.hpp index 45c3a051021..4da1ea81502 100644 --- a/include/caffe/util/insert_splits.hpp +++ b/include/caffe/util/insert_splits.hpp @@ -9,9 +9,6 @@ namespace caffe { -using std::pair; -using std::string; - // Copy NetParameters with SplitLayers added to replace any shared bottom // blobs with unique bottom blobs provided by the SplitLayer. void InsertSplits(const NetParameter& param, NetParameter* param_split); diff --git a/include/caffe/util/io.hpp b/include/caffe/util/io.hpp index accb0947a9c..631dbe7ca64 100644 --- a/include/caffe/util/io.hpp +++ b/include/caffe/util/io.hpp @@ -16,7 +16,6 @@ namespace caffe { -using std::string; using ::google::protobuf::Message; bool ReadProtoFromTextFile(const char* filename, Message* proto); diff --git a/include/caffe/util/upgrade_proto.hpp b/include/caffe/util/upgrade_proto.hpp index 0772f803057..39e4f4ce22c 100644 --- a/include/caffe/util/upgrade_proto.hpp +++ b/include/caffe/util/upgrade_proto.hpp @@ -10,8 +10,6 @@ namespace caffe { -using std::string; - // Return true iff any layer contains parameters specified using // deprecated V0LayerParameter. bool NetNeedsUpgrade(const NetParameter& net_param); diff --git a/src/caffe/layer_factory.cpp b/src/caffe/layer_factory.cpp index 173c870f6ae..e6cbe187c3c 100644 --- a/src/caffe/layer_factory.cpp +++ b/src/caffe/layer_factory.cpp @@ -11,8 +11,6 @@ namespace caffe { -using std::string; - // A function to get a specific layer from the specification given in // LayerParameter. Ideally this would be replaced by a factory pattern, // but we will leave it this way for now. diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index ddfe38ab38e..95439b9af85 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -13,8 +13,6 @@ namespace caffe { -using std::max; - template void AccuracyLayer::SetUp( const vector*>& bottom, vector*>* top) { diff --git a/src/caffe/layers/bnll_layer.cpp b/src/caffe/layers/bnll_layer.cpp index 992c7e09526..9b7a0642779 100644 --- a/src/caffe/layers/bnll_layer.cpp +++ b/src/caffe/layers/bnll_layer.cpp @@ -8,8 +8,6 @@ namespace caffe { -using std::min; - const float kBNLL_THRESHOLD = 50.; template @@ -37,7 +35,7 @@ void BNLLLayer::Backward_cpu(const vector*>& top, const int count = (*bottom)[0]->count(); Dtype expval; for (int i = 0; i < count; ++i) { - expval = exp(min(bottom_data[i], Dtype(kBNLL_THRESHOLD))); + expval = exp(std::min(bottom_data[i], Dtype(kBNLL_THRESHOLD))); bottom_diff[i] = top_diff[i] * expval / (expval + 1.); } } diff --git a/src/caffe/layers/bnll_layer.cu b/src/caffe/layers/bnll_layer.cu index 8fbe7f79eed..bc6a201e9b4 100644 --- a/src/caffe/layers/bnll_layer.cu +++ b/src/caffe/layers/bnll_layer.cu @@ -8,8 +8,6 @@ namespace caffe { -using std::max; - const float kBNLL_THRESHOLD = 50.; template diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index c9f3ecd2dd5..2316c9e0211 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -10,8 +10,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { diff --git a/src/caffe/layers/hdf5_output_layer.cpp b/src/caffe/layers/hdf5_output_layer.cpp index ffa240f15cc..accc9f9ccdd 100644 --- a/src/caffe/layers/hdf5_output_layer.cpp +++ b/src/caffe/layers/hdf5_output_layer.cpp @@ -12,7 +12,6 @@ #include "caffe/vision_layers.hpp" namespace caffe { -using std::vector; template HDF5OutputLayer::HDF5OutputLayer(const LayerParameter& param) diff --git a/src/caffe/layers/hdf5_output_layer.cu b/src/caffe/layers/hdf5_output_layer.cu index 744b8fe1128..5c790555e50 100644 --- a/src/caffe/layers/hdf5_output_layer.cu +++ b/src/caffe/layers/hdf5_output_layer.cu @@ -12,7 +12,6 @@ #include "caffe/vision_layers.hpp" namespace caffe { -using std::vector; template Dtype HDF5OutputLayer::Forward_gpu(const vector*>& bottom, diff --git a/src/caffe/layers/hinge_loss_layer.cpp b/src/caffe/layers/hinge_loss_layer.cpp index 8097761d22b..91fe1534da9 100644 --- a/src/caffe/layers/hinge_loss_layer.cpp +++ b/src/caffe/layers/hinge_loss_layer.cpp @@ -10,8 +10,6 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" -using std::max; - namespace caffe { template @@ -30,7 +28,8 @@ Dtype HingeLossLayer::Forward_cpu(const vector*>& bottom, } for (int i = 0; i < num; ++i) { for (int j = 0; j < dim; ++j) { - bottom_diff[i * dim + j] = max(Dtype(0), 1 + bottom_diff[i * dim + j]); + bottom_diff[i * dim + j] = std::max( + Dtype(0), 1 + bottom_diff[i * dim + j]); } } switch (this->layer_param_.hinge_loss_param().norm()) { diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index 408452f5d80..e7779ae4980 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -18,9 +18,6 @@ namespace caffe { -using std::iterator; -using std::pair; - template void* ImageDataLayerPrefetch(void* layer_pointer) { CHECK(layer_pointer); diff --git a/src/caffe/layers/image_data_layer.cu b/src/caffe/layers/image_data_layer.cu index cf74853d902..0fa5842c570 100644 --- a/src/caffe/layers/image_data_layer.cu +++ b/src/caffe/layers/image_data_layer.cu @@ -17,8 +17,6 @@ namespace caffe { -using std::pair; - template Dtype ImageDataLayer::Forward_gpu(const vector*>& bottom, vector*>* top) { diff --git a/src/caffe/layers/infogain_loss_layer.cpp b/src/caffe/layers/infogain_loss_layer.cpp index a72874e4bb4..204f6c305ca 100644 --- a/src/caffe/layers/infogain_loss_layer.cpp +++ b/src/caffe/layers/infogain_loss_layer.cpp @@ -10,8 +10,6 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" -using std::max; - namespace caffe { template @@ -44,7 +42,7 @@ Dtype InfogainLossLayer::Forward_cpu(const vector*>& bottom, for (int i = 0; i < num; ++i) { int label = static_cast(bottom_label[i]); for (int j = 0; j < dim; ++j) { - Dtype prob = max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); + Dtype prob = std::max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); loss -= infogain_mat[label * dim + j] * log(prob); } } @@ -73,7 +71,7 @@ void InfogainLossLayer::Backward_cpu(const vector*>& top, for (int i = 0; i < num; ++i) { int label = static_cast(bottom_label[i]); for (int j = 0; j < dim; ++j) { - Dtype prob = max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); + Dtype prob = std::max(bottom_data[i * dim + j], Dtype(kLOG_THRESHOLD)); bottom_diff[i * dim + j] = - infogain_mat[label * dim + j] / prob / num; } } diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index ac8ad216732..92eb06f7b0c 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -10,8 +10,6 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/multinomial_logistic_loss_layer.cpp b/src/caffe/layers/multinomial_logistic_loss_layer.cpp index 8687784d6ab..beea747c31b 100644 --- a/src/caffe/layers/multinomial_logistic_loss_layer.cpp +++ b/src/caffe/layers/multinomial_logistic_loss_layer.cpp @@ -10,8 +10,6 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" -using std::max; - namespace caffe { template @@ -32,7 +30,8 @@ Dtype MultinomialLogisticLossLayer::Forward_cpu( Dtype loss = 0; for (int i = 0; i < num; ++i) { int label = static_cast(bottom_label[i]); - Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); + Dtype prob = std::max( + bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); loss -= log(prob); } if (top->size() == 1) { @@ -58,7 +57,8 @@ void MultinomialLogisticLossLayer::Backward_cpu( caffe_set((*bottom)[0]->count(), Dtype(0), bottom_diff); for (int i = 0; i < num; ++i) { int label = static_cast(bottom_label[i]); - Dtype prob = max(bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); + Dtype prob = std::max( + bottom_data[i * dim + label], Dtype(kLOG_THRESHOLD)); bottom_diff[i * dim + label] = -1. / prob / num; } } diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index d6fef07ba46..37da4d1795a 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -10,11 +10,11 @@ #include "caffe/syncedmem.hpp" #include "caffe/util/math_functions.hpp" -using std::max; -using std::min; - namespace caffe { +using std::min; +using std::max; + template void PoolingLayer::SetUp(const vector*>& bottom, vector*>* top) { diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index a44b1770ee3..4aa94921a31 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -8,9 +8,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; -using std::min; - namespace caffe { template diff --git a/src/caffe/layers/power_layer.cpp b/src/caffe/layers/power_layer.cpp index 4607457a460..55ace207b7a 100644 --- a/src/caffe/layers/power_layer.cpp +++ b/src/caffe/layers/power_layer.cpp @@ -7,8 +7,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/power_layer.cu b/src/caffe/layers/power_layer.cu index e7f9831eb13..0aa00272eea 100644 --- a/src/caffe/layers/power_layer.cu +++ b/src/caffe/layers/power_layer.cu @@ -7,8 +7,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/relu_layer.cpp b/src/caffe/layers/relu_layer.cpp index 6d6017442d4..1e1195501e8 100644 --- a/src/caffe/layers/relu_layer.cpp +++ b/src/caffe/layers/relu_layer.cpp @@ -6,8 +6,6 @@ #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" -using std::max; - namespace caffe { template @@ -17,7 +15,7 @@ Dtype ReLULayer::Forward_cpu(const vector*>& bottom, Dtype* top_data = (*top)[0]->mutable_cpu_data(); const int count = bottom[0]->count(); for (int i = 0; i < count; ++i) { - top_data[i] = max(bottom_data[i], Dtype(0)); + top_data[i] = std::max(bottom_data[i], Dtype(0)); } return Dtype(0); } diff --git a/src/caffe/layers/relu_layer.cu b/src/caffe/layers/relu_layer.cu index 2ad689126a3..e8b0fbeea57 100644 --- a/src/caffe/layers/relu_layer.cu +++ b/src/caffe/layers/relu_layer.cu @@ -6,8 +6,6 @@ #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp index 074fa6cef3c..31522dd1fe6 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp @@ -8,8 +8,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu index 0c858cdfc19..1d1f8cd51ff 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu @@ -8,8 +8,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/sigmoid_layer.cu b/src/caffe/layers/sigmoid_layer.cu index d55968e58c2..28cc7f1daa6 100644 --- a/src/caffe/layers/sigmoid_layer.cu +++ b/src/caffe/layers/sigmoid_layer.cu @@ -7,8 +7,6 @@ #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/softmax_layer.cpp b/src/caffe/layers/softmax_layer.cpp index 665cfaec3ad..0de1403585a 100644 --- a/src/caffe/layers/softmax_layer.cpp +++ b/src/caffe/layers/softmax_layer.cpp @@ -7,8 +7,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { template @@ -40,7 +38,7 @@ Dtype SoftmaxLayer::Forward_cpu(const vector*>& bottom, for (int i = 0; i < num; ++i) { scale_data[i] = bottom_data[i*dim]; for (int j = 0; j < dim; ++j) { - scale_data[i] = max(scale_data[i], bottom_data[i * dim + j]); + scale_data[i] = std::max(scale_data[i], bottom_data[i * dim + j]); } } // subtraction diff --git a/src/caffe/layers/softmax_layer.cu b/src/caffe/layers/softmax_layer.cu index ceeaff5b020..d471ba51cd0 100644 --- a/src/caffe/layers/softmax_layer.cu +++ b/src/caffe/layers/softmax_layer.cu @@ -10,8 +10,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index c87270eab22..4e957cee9b4 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -8,8 +8,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { template @@ -43,8 +41,8 @@ Dtype SoftmaxWithLossLayer::Forward_cpu( int dim = prob_.count() / num; Dtype loss = 0; for (int i = 0; i < num; ++i) { - loss += -log(max(prob_data[i * dim + static_cast(label[i])], - Dtype(FLT_MIN))); + loss += -log(std::max(prob_data[i * dim + static_cast(label[i])], + Dtype(FLT_MIN))); } if (top->size() >= 1) { (*top)[0]->mutable_cpu_data()[0] = loss / num; diff --git a/src/caffe/layers/softmax_loss_layer.cu b/src/caffe/layers/softmax_loss_layer.cu index e46be6ba85d..ae7060d90bd 100644 --- a/src/caffe/layers/softmax_loss_layer.cu +++ b/src/caffe/layers/softmax_loss_layer.cu @@ -8,8 +8,6 @@ #include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/threshold_layer.cu b/src/caffe/layers/threshold_layer.cu index 03eb3f32d49..fb973b2ba82 100644 --- a/src/caffe/layers/threshold_layer.cu +++ b/src/caffe/layers/threshold_layer.cu @@ -6,8 +6,6 @@ #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" -using std::max; - namespace caffe { template diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index c45a1521db4..8c8de348628 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -28,9 +28,6 @@ namespace caffe { -using std::map; -using std::pair; - template void* WindowDataLayerPrefetch(void* layer_pointer) { WindowDataLayer* layer = diff --git a/src/caffe/layers/window_data_layer.cu b/src/caffe/layers/window_data_layer.cu index d4efeca06c1..49f67d2b607 100644 --- a/src/caffe/layers/window_data_layer.cu +++ b/src/caffe/layers/window_data_layer.cu @@ -18,9 +18,6 @@ namespace caffe { -using std::map; -using std::pair; - template Dtype WindowDataLayer::Forward_gpu(const vector*>& bottom, vector*>* top) { diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index aba4cc2f4f2..520ee587828 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -15,10 +15,6 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/upgrade_proto.hpp" -using std::make_pair; -using std::map; -using std::pair; -using std::set; namespace caffe { diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index edfa9c0063e..a33149721bf 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -12,9 +12,6 @@ #include "caffe/util/io.hpp" #include "caffe/util/math_functions.hpp" -using std::max; -using std::min; - namespace caffe { template diff --git a/src/caffe/test/test_power_layer.cpp b/src/caffe/test/test_power_layer.cpp index c9992d57f65..d4e6fc5b05e 100644 --- a/src/caffe/test/test_power_layer.cpp +++ b/src/caffe/test/test_power_layer.cpp @@ -55,8 +55,8 @@ class PowerLayerTest : public MultiDeviceTest { if (isnan(expected_value)) { EXPECT_TRUE(isnan(top_data[i])); } else { - Dtype precision = max(Dtype(abs(expected_value * 0.0001)), - min_precision); + Dtype precision = std::max( + Dtype(std::abs(expected_value * Dtype(1e-4))), min_precision); EXPECT_NEAR(expected_value, top_data[i], precision); } } diff --git a/src/caffe/util/insert_splits.cpp b/src/caffe/util/insert_splits.cpp index b9aeb37c71b..4de546810e5 100644 --- a/src/caffe/util/insert_splits.cpp +++ b/src/caffe/util/insert_splits.cpp @@ -8,11 +8,6 @@ #include "caffe/common.hpp" #include "caffe/util/insert_splits.hpp" -using std::map; -using std::ostringstream; -using std::pair; -using std::make_pair; - namespace caffe { void InsertSplits(const NetParameter& param, NetParameter* param_split) { diff --git a/src/caffe/util/io.cpp b/src/caffe/util/io.cpp index ff65bd64d88..4f200474459 100644 --- a/src/caffe/util/io.cpp +++ b/src/caffe/util/io.cpp @@ -19,10 +19,8 @@ #include "caffe/util/io.hpp" #include "caffe/proto/caffe.pb.h" -using std::fstream; -using std::ios; -using std::max; -using std::string; +namespace caffe { + using google::protobuf::io::FileInputStream; using google::protobuf::io::FileOutputStream; using google::protobuf::io::ZeroCopyInputStream; @@ -31,8 +29,6 @@ using google::protobuf::io::ZeroCopyOutputStream; using google::protobuf::io::CodedOutputStream; using google::protobuf::Message; -namespace caffe { - bool ReadProtoFromTextFile(const char* filename, Message* proto) { int fd = open(filename, O_RDONLY); CHECK_NE(fd, -1) << "File not found: " << filename; diff --git a/src/caffe/util/upgrade_proto.cpp b/src/caffe/util/upgrade_proto.cpp index e079b422dfb..a17beed70a7 100644 --- a/src/caffe/util/upgrade_proto.cpp +++ b/src/caffe/util/upgrade_proto.cpp @@ -12,9 +12,6 @@ #include "caffe/util/upgrade_proto.hpp" #include "caffe/proto/caffe.pb.h" -using std::map; -using std::string; - namespace caffe { bool NetNeedsUpgrade(const NetParameter& net_param) { From ccc4b30c04632416393ef261fcd17945e161aaee Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Mon, 17 Feb 2014 16:35:38 -0800 Subject: [PATCH 272/408] add Net::Forward/Backward From/To --- include/caffe/net.hpp | 6 +++++ src/caffe/net.cpp | 56 ++++++++++++++++++++++++++++++++++--------- 2 files changed, 51 insertions(+), 11 deletions(-) diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index ce82e28602c..d7282f551b8 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -35,6 +35,9 @@ class Net { // Run forward with the input blobs already fed separately. You can get the // input blobs using input_blobs(). const vector*>& ForwardPrefilled(Dtype* loss = NULL); + Dtype ForwardFromTo(int start, int end); + Dtype ForwardFrom(int start); + Dtype ForwardTo(int end); // Run forward using a set of bottom blobs, and return the result. const vector*>& Forward(const vector* > & bottom, Dtype* loss = NULL); @@ -46,6 +49,9 @@ class Net { // computes the gradient w.r.t the parameters, and the data has already // been provided during the forward pass. void Backward(); + void BackwardFromTo(int start, int end); + void BackwardFrom(int start); + void BackwardTo(int end); Dtype ForwardBackward(const vector* > & bottom) { Dtype loss; diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index aba4cc2f4f2..cadcdcdf109 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -335,16 +335,34 @@ void Net::GetLearningRateAndWeightDecay() { } template -const vector*>& Net::ForwardPrefilled(Dtype* loss) { - if (loss != NULL) { - *loss = Dtype(0.); - } - for (int i = 0; i < layers_.size(); ++i) { +Dtype Net::ForwardFromTo(int start, int end) { + CHECK_GE(start, 0); + CHECK_LT(end, layers_.size()); + Dtype loss = 0; + for (int i = start; i <= end; ++i) { // LOG(ERROR) << "Forwarding " << layer_names_[i]; Dtype layer_loss = layers_[i]->Forward(bottom_vecs_[i], &top_vecs_[i]); - if (loss != NULL) { - *loss += layer_loss; - } + loss += layer_loss; + } + return loss; +} + +template +Dtype Net::ForwardFrom(int start) { + return ForwardFromTo(start, layers_.size() - 1); +} + +template +Dtype Net::ForwardTo(int end) { + return ForwardFromTo(0, end); +} + +template +const vector*>& Net::ForwardPrefilled(Dtype* loss) { + if (loss != NULL) { + *loss = ForwardFromTo(0, layers_.size() - 1); + } else { + ForwardFromTo(0, layers_.size() - 1); } return net_output_blobs_; } @@ -380,10 +398,11 @@ string Net::Forward(const string& input_blob_protos, Dtype* loss) { return output; } - template -void Net::Backward() { - for (int i = layers_.size() - 1; i >= 0; --i) { +void Net::BackwardFromTo(int start, int end) { + CHECK_GE(end, 0); + CHECK_LT(start, layers_.size()); + for (int i = start; i >= end; --i) { if (layer_need_backward_[i]) { layers_[i]->Backward( top_vecs_[i], bottom_need_backward_[i], &bottom_vecs_[i]); @@ -422,6 +441,21 @@ void Net::ShareTrainedLayersWith(Net* other) { } } +template +void Net::BackwardFrom(int start) { + BackwardFromTo(start, 0); +} + +template +void Net::BackwardTo(int end) { + BackwardFromTo(layers_.size() - 1, end); +} + +template +void Net::Backward() { + BackwardFromTo(layers_.size() - 1, 0); +} + template void Net::CopyTrainedLayersFrom(const NetParameter& param) { int num_source_layers = param.layers_size(); From 3ef43e41e74f4cebf8b1be006bf0b596a6b37e5a Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Wed, 18 Jun 2014 21:03:28 -0700 Subject: [PATCH 273/408] pycaffe: expose Forward/Backward From/To as kwargs start and end --- python/caffe/_caffe.cpp | 8 ++++---- python/caffe/pycaffe.py | 43 ++++++++++++++++++++++++++++++++--------- 2 files changed, 38 insertions(+), 13 deletions(-) diff --git a/python/caffe/_caffe.cpp b/python/caffe/_caffe.cpp index e9fe5cd3b05..10fc23b7974 100644 --- a/python/caffe/_caffe.cpp +++ b/python/caffe/_caffe.cpp @@ -181,12 +181,12 @@ struct CaffeNet { } } - void Forward() { - net_->ForwardPrefilled(); + void Forward(int start, int end) { + net_->ForwardFromTo(start, end); } - void Backward() { - net_->Backward(); + void Backward(int start, int end) { + net_->BackwardFromTo(start, end); } void set_input_arrays(object data_obj, object labels_obj) { diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index 5c1512cd8b9..0ac1868663d 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -34,8 +34,7 @@ def _Net_params(self): return OrderedDict([(lr.name, lr.blobs) for lr in self.layers if len(lr.blobs) > 0]) - -def _Net_forward(self, blobs=None, **kwargs): +def _Net_forward(self, blobs=None, start=None, end=None, **kwargs): """ Forward pass: prepare inputs and run the net forward. @@ -44,6 +43,8 @@ def _Net_forward(self, blobs=None, **kwargs): kwargs: Keys are input blob names and values are blob ndarrays. For formatting inputs for Caffe, see Net.preprocess(). If None, input is taken from data layers. + start: optional name of layer at which to begin the forward pass + end: optional name of layer at which to finish the forward pass (inclusive) Give outs: {blob name: blob ndarray} dict. @@ -51,6 +52,18 @@ def _Net_forward(self, blobs=None, **kwargs): if blobs is None: blobs = [] + if start is not None: + start_ind = [lr.name for lr in self.layers].index(start) + else: + start_ind = 0 + + if end is not None: + end_ind = [lr.name for lr in self.layers].index(end) + outputs = set([end] + blobs) + else: + end_ind = len(self.layers) - 1 + outputs = set(self.outputs + blobs) + if kwargs: if set(kwargs.keys()) != set(self.inputs): raise Exception('Input blob arguments do not match net inputs.') @@ -63,14 +76,13 @@ def _Net_forward(self, blobs=None, **kwargs): raise Exception('{} blob is not 4-d'.format(in_)) self.blobs[in_].data[...] = blob - self._forward() + self._forward(start_ind, end_ind) # Unpack blobs to extract - outs = {out: self.blobs[out].data for out in set(self.outputs + blobs)} - return outs + return {out: self.blobs[out].data for out in outputs} -def _Net_backward(self, diffs=None, **kwargs): +def _Net_backward(self, diffs=None, start=None, end=None, **kwargs): """ Backward pass: prepare diffs and run the net backward. @@ -78,6 +90,8 @@ def _Net_backward(self, diffs=None, **kwargs): diffs: list of diffs to return in addition to bottom diffs. kwargs: Keys are output blob names and values are diff ndarrays. If None, top diffs are taken from forward loss. + start: optional name of layer at which to begin the backward pass + end: optional name of layer at which to finish the backward pass (inclusive) Give outs: {blob name: diff ndarray} dict. @@ -85,6 +99,18 @@ def _Net_backward(self, diffs=None, **kwargs): if diffs is None: diffs = [] + if start is not None: + start_ind = [lr.name for lr in self.layers].index(start) + else: + start_ind = len(self.layers) - 1 + + if end is not None: + end_ind = [lr.name for lr in self.layers].index(end) + outputs = set([end] + diffs) + else: + end_ind = 0 + outputs = set(self.inputs + diffs) + if kwargs: if set(kwargs.keys()) != set(self.outputs): raise Exception('Top diff arguments do not match net outputs.') @@ -97,11 +123,10 @@ def _Net_backward(self, diffs=None, **kwargs): raise Exception('{} diff is not 4-d'.format(top)) self.blobs[top].diff[...] = diff - self._backward() + self._backward(start_ind, end_ind) # Unpack diffs to extract - outs = {out: self.blobs[out].diff for out in set(self.inputs + diffs)} - return outs + return {out: self.blobs[out].diff for out in outputs} def _Net_forward_all(self, blobs=None, **kwargs): From a27076315e0bacb9216ab3074a281ad017bef98b Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 18 Jul 2014 15:36:39 -0700 Subject: [PATCH 274/408] comment in net.hpp to explain subtleties of From/To on DAGs --- include/caffe/net.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index d7282f551b8..44f28b2a04f 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -35,6 +35,13 @@ class Net { // Run forward with the input blobs already fed separately. You can get the // input blobs using input_blobs(). const vector*>& ForwardPrefilled(Dtype* loss = NULL); + + // The From and To variants of Forward and Backward operate on the + // (topological) ordering by which the net is specified. For general DAG + // networks, note that (1) computing from one layer to another might entail + // extra computation on unrelated branches, and (2) computation starting in + // the middle may be incorrect if all of the layers of a fan-in are not + // included. Dtype ForwardFromTo(int start, int end); Dtype ForwardFrom(int start); Dtype ForwardTo(int end); From 1c2328606b7f8b78c0ea5af8637cec09b1e7aa8b Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 18 Jul 2014 15:39:17 -0700 Subject: [PATCH 275/408] test consistency of From/To Forward/Backward --- src/caffe/test/test_net.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index c30f4168edc..e84701d941c 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -801,4 +801,38 @@ TYPED_TEST(NetTest, TestParamPropagateDown) { } } +TYPED_TEST(NetTest, TestFromTo) { + typedef typename TypeParam::Dtype Dtype; + this->InitTinyNet(); + + // Run Forward and Backward, recording the data diff and loss. + Blob data; + data.ReshapeLike(*this->net_->blob_by_name("data")); + this->net_->ForwardPrefilled(); + this->net_->Backward(); + data.CopyFrom(*this->net_->blob_by_name("data"), true, true); + const Dtype *loss_ptr = this->net_->output_blobs()[0]->cpu_data(); + Dtype loss = *loss_ptr; + + // Check that combining partial Forwards gives the same loss. + for (int i = 1; i < this->net_->layers().size(); ++i) { + // Note that we skip layer zero to keep the same data. + this->net_->ForwardFromTo(1, 1); + if (i < this->net_->layers().size() - 1) { + this->net_->ForwardFrom(i + 1); + } + EXPECT_EQ(loss, *loss_ptr); + } + + // Check that combining partial Backwards gives the same data diff. + for (int i = 1; i < this->net_->layers().size(); ++i) { + this->net_->BackwardTo(i); + this->net_->BackwardFrom(i - 1); + for (int j = 0; j < data.count(); ++j) { + EXPECT_EQ(data.cpu_diff()[j], + this->net_->blob_by_name("data")->cpu_diff()[j]); + } + } +} + } // namespace caffe From 49381cc22c360b0c4c8c8e0df93ec6a445db3f30 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 18 Jul 2014 16:13:24 -0700 Subject: [PATCH 276/408] use /usr instead of /usr/local for default Python include/lib This makes the default settings usable with Travis/Ubuntu Python --- Makefile.config.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile.config.example b/Makefile.config.example index 708a39c7841..7c96d8a9356 100644 --- a/Makefile.config.example +++ b/Makefile.config.example @@ -42,15 +42,15 @@ BLAS := atlas # NOTE: this is required only if you will compile the python interface. # We need to be able to find Python.h and numpy/arrayobject.h. -PYTHON_INCLUDE := /usr/local/include/python2.7 \ - /usr/local/lib/python2.7/dist-packages/numpy/core/include +PYTHON_INCLUDE := /usr/include/python2.7 \ + /usr/lib/python2.7/dist-packages/numpy/core/include # Anaconda Python distribution is quite popular. Include path: # PYTHON_INCLUDE := $(HOME)/anaconda/include \ # $(HOME)/anaconda/include/python2.7 \ # $(HOME)/anaconda/lib/python2.7/site-packages/numpy/core/include # We need to be able to find libpythonX.X.so or .dylib. -PYTHON_LIB := /usr/local/lib +PYTHON_LIB := /usr/lib # PYTHON_LIB := $(HOME)/anaconda/lib # Whatever else you find you need goes here. From e8b23c47a9fe1b0cd6b707ced1b4ace202fd0e37 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 18 Jul 2014 15:48:36 -0700 Subject: [PATCH 277/408] Travis builds pycaffe --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c5445fcdb90..4a65090b7c4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,7 +14,7 @@ before_install: - echo $LANG - echo $LC_ALL - sudo apt-get -y update - - sudo apt-get -y install wget git curl python-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev bc + - sudo apt-get -y install wget git curl python-dev python-numpy libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev bc install: - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz @@ -42,6 +42,7 @@ script: - make --jobs=$NUM_THREADS test - make --jobs=$NUM_THREADS warn - make --jobs=$NUM_THREADS lint + - make --jobs=$NUM_THREADS pycaffe notifications: # Emails are sent to the committer's git-configured email address by default, From fc48d5de5c95255ad98eea8666910482235b1c75 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 18 Jul 2014 16:31:16 -0700 Subject: [PATCH 278/408] pycaffe: allow unspecified mean. Fixes #671. --- python/caffe/pycaffe.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index 5c1512cd8b9..a2fb16ba06f 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -259,7 +259,6 @@ def _Net_preprocess(self, input_name, input_): caffe_in = input_.astype(np.float32) input_scale = self.input_scale.get(input_name) channel_order = self.channel_swap.get(input_name) - mean = self.mean.get(input_name) in_size = self.blobs[input_name].data.shape[2:] if caffe_in.shape[:2] != in_size: caffe_in = caffe.io.resize_image(caffe_in, in_size) @@ -268,8 +267,8 @@ def _Net_preprocess(self, input_name, input_): if channel_order: caffe_in = caffe_in[:, :, channel_order] caffe_in = caffe_in.transpose((2, 0, 1)) - if mean is not None: - caffe_in -= mean + if hasattr(self, 'mean'): + caffe_in -= self.mean.get(input_name, 0) return caffe_in @@ -280,9 +279,8 @@ def _Net_deprocess(self, input_name, input_): decaf_in = input_.copy().squeeze() input_scale = self.input_scale.get(input_name) channel_order = self.channel_swap.get(input_name) - mean = self.mean.get(input_name) - if mean is not None: - decaf_in += mean + if hasattr(self, 'mean'): + decaf_in += self.mean.get(input_name, 0) decaf_in = decaf_in.transpose((1,2,0)) if channel_order: channel_order_inverse = [channel_order.index(i) From 32fefa96f9ba585bbbf4fff19fef89c3ec125a89 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 18 Jul 2014 16:32:12 -0700 Subject: [PATCH 279/408] pycaffe: reorder exceptions It doesn't make sense to complain about input not being batch-sized if it isn't even 4-d in the first place. --- python/caffe/pycaffe.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index a2fb16ba06f..dde838d6600 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -57,10 +57,10 @@ def _Net_forward(self, blobs=None, **kwargs): # Set input according to defined shapes and make arrays single and # C-contiguous as Caffe expects. for in_, blob in kwargs.iteritems(): - if blob.shape[0] != self.blobs[in_].num: - raise Exception('Input is not batch sized') if blob.ndim != 4: raise Exception('{} blob is not 4-d'.format(in_)) + if blob.shape[0] != self.blobs[in_].num: + raise Exception('Input is not batch sized') self.blobs[in_].data[...] = blob self._forward() @@ -91,10 +91,10 @@ def _Net_backward(self, diffs=None, **kwargs): # Set top diffs according to defined shapes and make arrays single and # C-contiguous as Caffe expects. for top, diff in kwargs.iteritems(): - if diff.shape[0] != self.blobs[top].num: - raise Exception('Diff is not batch sized') if diff.ndim != 4: raise Exception('{} diff is not 4-d'.format(top)) + if diff.shape[0] != self.blobs[top].num: + raise Exception('Diff is not batch sized') self.blobs[top].diff[...] = diff self._backward() From fb2f7c1c2757e2a7e48860f75b6a091f7351fc68 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Fri, 18 Jul 2014 16:45:17 -0700 Subject: [PATCH 280/408] pycaffe: test channel_order and input_scale against None An input_scale of zero should produce warnings/errors/infinities rather than being the same as an input_scale of one. A channel_order of () or 0 should not be equivalent to the default ordering. --- python/caffe/pycaffe.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index dde838d6600..5f04a95246b 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -262,9 +262,9 @@ def _Net_preprocess(self, input_name, input_): in_size = self.blobs[input_name].data.shape[2:] if caffe_in.shape[:2] != in_size: caffe_in = caffe.io.resize_image(caffe_in, in_size) - if input_scale: + if input_scale is not None: caffe_in *= input_scale - if channel_order: + if channel_order is not None: caffe_in = caffe_in[:, :, channel_order] caffe_in = caffe_in.transpose((2, 0, 1)) if hasattr(self, 'mean'): @@ -282,11 +282,11 @@ def _Net_deprocess(self, input_name, input_): if hasattr(self, 'mean'): decaf_in += self.mean.get(input_name, 0) decaf_in = decaf_in.transpose((1,2,0)) - if channel_order: + if channel_order is not None: channel_order_inverse = [channel_order.index(i) for i in range(decaf_in.shape[2])] decaf_in = decaf_in[:, :, channel_order_inverse] - if input_scale: + if input_scale is not None: decaf_in /= input_scale return decaf_in From 7722514cddc127ba782ad97732532e6afea0db6e Mon Sep 17 00:00:00 2001 From: Kai Li Date: Fri, 4 Jul 2014 17:19:24 +0800 Subject: [PATCH 281/408] Extend the ArgMaxLayer to output top k results --- include/caffe/common_layers.hpp | 1 + src/caffe/layers/argmax_layer.cpp | 54 ++++++++++++++++++------ src/caffe/proto/caffe.proto | 1 + src/caffe/test/test_argmax_layer.cpp | 62 +++++++++++++++++++++++++++- 4 files changed, 103 insertions(+), 15 deletions(-) diff --git a/include/caffe/common_layers.hpp b/include/caffe/common_layers.hpp index 761c19fa7e2..395ea7d6c98 100644 --- a/include/caffe/common_layers.hpp +++ b/include/caffe/common_layers.hpp @@ -48,6 +48,7 @@ class ArgMaxLayer : public Layer { NOT_IMPLEMENTED; } bool out_max_val_; + size_t top_k_; }; /* ConcatLayer diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index cc31c0f52d8..1fe2a89e755 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -1,12 +1,12 @@ // Copyright 2014 BVLC and contributors. -#include #include +#include +#include #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" - namespace caffe { template @@ -14,15 +14,29 @@ void ArgMaxLayer::SetUp(const vector*>& bottom, vector*>* top) { Layer::SetUp(bottom, top); out_max_val_ = this->layer_param_.argmax_param().out_max_val(); + top_k_ = this->layer_param_.argmax_param().top_k(); + CHECK_GE(top_k_, 1) << " top k must not be less than 1."; + CHECK_LE(top_k_, bottom[0]->count() / bottom[0]->num()) + << "top_k must be less than or equal to the number of classes."; if (out_max_val_) { // Produces max_ind and max_val - (*top)[0]->Reshape(bottom[0]->num(), 2, 1, 1); + (*top)[0]->Reshape(bottom[0]->num(), 2, top_k_, 1); } else { // Produces only max_ind - (*top)[0]->Reshape(bottom[0]->num(), 1, 1, 1); + (*top)[0]->Reshape(bottom[0]->num(), 1, top_k_, 1); } } +template +class IDAndValueComparator { + public: + bool operator() (const std::pair& lhs, + const std::pair& rhs) const { + return lhs.second < rhs.second || (lhs.second == rhs.second && + lhs.first < rhs.first); + } +}; + template Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { @@ -30,20 +44,35 @@ Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, Dtype* top_data = (*top)[0]->mutable_cpu_data(); int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); + Dtype value; for (int i = 0; i < num; ++i) { - Dtype max_val = -FLT_MAX; - int max_ind = 0; + std::priority_queue, + std::vector >, IDAndValueComparator > + top_k_results; for (int j = 0; j < dim; ++j) { - if (bottom_data[i * dim + j] > max_val) { - max_val = bottom_data[i * dim + j]; - max_ind = j; + value = -(bottom_data[i * dim + j]); + if (top_k_results.size() >= top_k_) { + if (value < top_k_results.top().second) { + top_k_results.pop(); + top_k_results.push(std::make_pair(j, value)); + } + } else { + top_k_results.push(std::make_pair(j, value)); } } if (out_max_val_) { - top_data[i * 2] = max_ind; - top_data[i * 2 + 1] = max_val; + for (int j = 0; j < top_k_; ++j) { + top_data[i * 2 * top_k_ + (top_k_ - 1 - j) * 2] = + top_k_results.top().first; + top_data[i * 2 * top_k_ + (top_k_ - 1 - j) * 2 + 1] = + -(top_k_results.top().second); + top_k_results.pop(); + } } else { - top_data[i] = max_ind; + for (int j = 0; j < top_k_; ++j) { + top_data[i * top_k_ + (top_k_ - 1 - j)] = top_k_results.top().first; + top_k_results.pop(); + } } } return Dtype(0); @@ -51,5 +80,4 @@ Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, INSTANTIATE_CLASS(ArgMaxLayer); - } // namespace caffe diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index e4b5ad312c4..10e52d2ad47 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -229,6 +229,7 @@ message AccuracyParameter { message ArgMaxParameter { // If true produce pairs (argmax, maxval) optional bool out_max_val = 1 [default = false]; + optional uint32 top_k = 2 [default = 1]; } // Message that stores parameters used by ConcatLayer diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index d3bdfbde658..3cd65651c9d 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -17,8 +17,9 @@ template class ArgMaxLayerTest : public ::testing::Test { protected: ArgMaxLayerTest() - : blob_bottom_(new Blob(20, 10, 1, 1)), - blob_top_(new Blob()) { + : blob_bottom_(new Blob(10, 20, 1, 1)), + blob_top_(new Blob()), + top_k_(10) { Caffe::set_random_seed(1701); // fill the values FillerParameter filler_param; @@ -32,6 +33,7 @@ class ArgMaxLayerTest : public ::testing::Test { Blob* const blob_top_; vector*> blob_bottom_vec_; vector*> blob_top_vec_; + size_t top_k_; }; TYPED_TEST_CASE(ArgMaxLayerTest, TestDtypes); @@ -105,4 +107,60 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { } } +TYPED_TEST(ArgMaxLayerTest, TestCPUTopK) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); + argmax_param->set_top_k(this->top_k_); + ArgMaxLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + int max_ind; + TypeParam max_val; + int num = this->blob_bottom_->num(); + int dim = this->blob_bottom_->count() / num; + for (int i = 0; i < num; ++i) { + EXPECT_GE(top_data[i], 0); + EXPECT_LE(top_data[i], dim); + max_ind = top_data[i * this->top_k_]; + max_val = bottom_data[i * dim + max_ind]; + EXPECT_EQ(bottom_data[i * dim + max_ind], max_val); + for (int j = 0; j < dim; ++j) { + EXPECT_LE(bottom_data[i * dim + j], max_val); + } + } +} + +TYPED_TEST(ArgMaxLayerTest, TestCPUMaxValTopK) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); + argmax_param->set_out_max_val(true); + argmax_param->set_top_k(this->top_k_); + ArgMaxLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); + const TypeParam* top_data = this->blob_top_->cpu_data(); + int max_ind; + TypeParam max_val; + int num = this->blob_bottom_->num(); + int dim = this->blob_bottom_->count() / num; + for (int i = 0; i < num; ++i) { + EXPECT_GE(top_data[i], 0); + EXPECT_LE(top_data[i], dim); + max_ind = top_data[i * 2 * this->top_k_]; + max_val = top_data[i * 2 * this->top_k_ + 1]; + EXPECT_EQ(bottom_data[i * dim + max_ind], max_val); + for (int j = 0; j < dim; ++j) { + EXPECT_LE(bottom_data[i * dim + j], max_val); + } + } +} + + } // namespace caffe From b9a9c588be6286ecc4bc899e20b5f040f8d14ae7 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Sat, 5 Jul 2014 17:17:12 +0800 Subject: [PATCH 282/408] Add the test cases for the mulitple top predictions argmax layer --- src/caffe/test/test_argmax_layer.cpp | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index 3cd65651c9d..11b6712797a 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -1,5 +1,7 @@ // Copyright 2014 BVLC and contributors. +#include +#include #include #include "gtest/gtest.h" @@ -19,7 +21,7 @@ class ArgMaxLayerTest : public ::testing::Test { ArgMaxLayerTest() : blob_bottom_(new Blob(10, 20, 1, 1)), blob_top_(new Blob()), - top_k_(10) { + top_k_(5) { Caffe::set_random_seed(1701); // fill the values FillerParameter filler_param; @@ -107,6 +109,12 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { } } +template +bool int_Dtype_pair_greater(std::pair a, + std::pair b) { + return a.second > b.second || (a.second == b.second && a.first > b.first); +} + TYPED_TEST(ArgMaxLayerTest, TestCPUTopK) { LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); @@ -128,8 +136,15 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUTopK) { max_ind = top_data[i * this->top_k_]; max_val = bottom_data[i * dim + max_ind]; EXPECT_EQ(bottom_data[i * dim + max_ind], max_val); + std::vector > bottom_data_vector; for (int j = 0; j < dim; ++j) { EXPECT_LE(bottom_data[i * dim + j], max_val); + bottom_data_vector.push_back(std::make_pair(j, bottom_data[i * dim + j])); + } + std::sort(bottom_data_vector.begin(), bottom_data_vector.end(), + int_Dtype_pair_greater); + for (int j = 0; j < this->top_k_; ++j) { + EXPECT_EQ(bottom_data_vector[j].first, top_data[i * this->top_k_ + j]); } } } @@ -156,8 +171,18 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUMaxValTopK) { max_ind = top_data[i * 2 * this->top_k_]; max_val = top_data[i * 2 * this->top_k_ + 1]; EXPECT_EQ(bottom_data[i * dim + max_ind], max_val); + std::vector > bottom_data_vector; for (int j = 0; j < dim; ++j) { EXPECT_LE(bottom_data[i * dim + j], max_val); + bottom_data_vector.push_back(std::make_pair(j, bottom_data[i * dim + j])); + } + std::sort(bottom_data_vector.begin(), bottom_data_vector.end(), + int_Dtype_pair_greater); + for (int j = 0; j < this->top_k_; ++j) { + EXPECT_EQ(bottom_data_vector[j].first, + top_data[i * 2 * this->top_k_ + 2 * j]); + EXPECT_EQ(bottom_data_vector[j].second, + top_data[i * 2 * this->top_k_ + 2 * j + 1]); } } } From dfe69b2f06d68633a37a99b56b8878e7fcad14e6 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Tue, 8 Jul 2014 22:24:20 +0800 Subject: [PATCH 283/408] Simplify the top-k argmax layer using std::sort --- include/caffe/common_layers.hpp | 6 +++ src/caffe/layers/argmax_layer.cpp | 38 ++++------------- src/caffe/test/test_argmax_layer.cpp | 63 ++++++++++------------------ 3 files changed, 37 insertions(+), 70 deletions(-) diff --git a/include/caffe/common_layers.hpp b/include/caffe/common_layers.hpp index 395ea7d6c98..26bfb5d0217 100644 --- a/include/caffe/common_layers.hpp +++ b/include/caffe/common_layers.hpp @@ -17,6 +17,12 @@ namespace caffe { +template +bool int_Dtype_pair_greater(std::pair a, + std::pair b) { + return a.second > b.second || (a.second == b.second && a.first > b.first); +} + /* ArgmaxLayer Compute the index of the max value across all (channels x height x width). [In the future, can take specific dimension.] diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index 1fe2a89e755..00c17f1c554 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -1,5 +1,6 @@ // Copyright 2014 BVLC and contributors. +#include #include #include #include @@ -27,16 +28,6 @@ void ArgMaxLayer::SetUp(const vector*>& bottom, } } -template -class IDAndValueComparator { - public: - bool operator() (const std::pair& lhs, - const std::pair& rhs) const { - return lhs.second < rhs.second || (lhs.second == rhs.second && - lhs.first < rhs.first); - } -}; - template Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { @@ -44,34 +35,21 @@ Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, Dtype* top_data = (*top)[0]->mutable_cpu_data(); int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); - Dtype value; for (int i = 0; i < num; ++i) { - std::priority_queue, - std::vector >, IDAndValueComparator > - top_k_results; + std::vector > bottom_data_vector; for (int j = 0; j < dim; ++j) { - value = -(bottom_data[i * dim + j]); - if (top_k_results.size() >= top_k_) { - if (value < top_k_results.top().second) { - top_k_results.pop(); - top_k_results.push(std::make_pair(j, value)); - } - } else { - top_k_results.push(std::make_pair(j, value)); - } + bottom_data_vector.push_back(std::make_pair(j, bottom_data[i * dim + j])); } + std::sort(bottom_data_vector.begin(), bottom_data_vector.end(), + int_Dtype_pair_greater); if (out_max_val_) { for (int j = 0; j < top_k_; ++j) { - top_data[i * 2 * top_k_ + (top_k_ - 1 - j) * 2] = - top_k_results.top().first; - top_data[i * 2 * top_k_ + (top_k_ - 1 - j) * 2 + 1] = - -(top_k_results.top().second); - top_k_results.pop(); + top_data[(*top)[0]->offset(i, 0, j)] = bottom_data_vector[j].first; + top_data[(*top)[0]->offset(i, 1, j)] = bottom_data_vector[j].second; } } else { for (int j = 0; j < top_k_; ++j) { - top_data[i * top_k_ + (top_k_ - 1 - j)] = top_k_results.top().first; - top_k_results.pop(); + top_data[(*top)[0]->offset(i, 0, j)] = bottom_data_vector[j].first; } } } diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index 11b6712797a..5286a0a390a 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -1,6 +1,5 @@ // Copyright 2014 BVLC and contributors. -#include #include #include @@ -109,12 +108,6 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { } } -template -bool int_Dtype_pair_greater(std::pair a, - std::pair b) { - return a.second > b.second || (a.second == b.second && a.first > b.first); -} - TYPED_TEST(ArgMaxLayerTest, TestCPUTopK) { LayerParameter layer_param; Caffe::set_mode(Caffe::CPU); @@ -124,27 +117,23 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUTopK) { layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); int max_ind; TypeParam max_val; int num = this->blob_bottom_->num(); int dim = this->blob_bottom_->count() / num; for (int i = 0; i < num; ++i) { - EXPECT_GE(top_data[i], 0); - EXPECT_LE(top_data[i], dim); - max_ind = top_data[i * this->top_k_]; - max_val = bottom_data[i * dim + max_ind]; - EXPECT_EQ(bottom_data[i * dim + max_ind], max_val); - std::vector > bottom_data_vector; - for (int j = 0; j < dim; ++j) { - EXPECT_LE(bottom_data[i * dim + j], max_val); - bottom_data_vector.push_back(std::make_pair(j, bottom_data[i * dim + j])); - } - std::sort(bottom_data_vector.begin(), bottom_data_vector.end(), - int_Dtype_pair_greater); + EXPECT_GE(this->blob_top_->data_at(i, 0, 0, 0), 0); + EXPECT_LE(this->blob_top_->data_at(i, 0, 0, 0), dim); for (int j = 0; j < this->top_k_; ++j) { - EXPECT_EQ(bottom_data_vector[j].first, top_data[i * this->top_k_ + j]); + max_ind = this->blob_top_->data_at(i, 0, j, 0); + max_val = this->blob_bottom_->data_at(i, max_ind, 0, 0); + int count = 0; + for (int k = 0; k < dim; ++k) { + if (this->blob_bottom_->data_at(i, k, 0, 0) > max_val) { + ++count; + } + } + EXPECT_EQ(j, count); } } } @@ -159,30 +148,24 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUMaxValTopK) { layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); // Now, check values - const TypeParam* bottom_data = this->blob_bottom_->cpu_data(); - const TypeParam* top_data = this->blob_top_->cpu_data(); int max_ind; TypeParam max_val; int num = this->blob_bottom_->num(); int dim = this->blob_bottom_->count() / num; for (int i = 0; i < num; ++i) { - EXPECT_GE(top_data[i], 0); - EXPECT_LE(top_data[i], dim); - max_ind = top_data[i * 2 * this->top_k_]; - max_val = top_data[i * 2 * this->top_k_ + 1]; - EXPECT_EQ(bottom_data[i * dim + max_ind], max_val); - std::vector > bottom_data_vector; - for (int j = 0; j < dim; ++j) { - EXPECT_LE(bottom_data[i * dim + j], max_val); - bottom_data_vector.push_back(std::make_pair(j, bottom_data[i * dim + j])); - } - std::sort(bottom_data_vector.begin(), bottom_data_vector.end(), - int_Dtype_pair_greater); + EXPECT_GE(this->blob_top_->data_at(i, 0, 0, 0), 0); + EXPECT_LE(this->blob_top_->data_at(i, 0, 0, 0), dim); for (int j = 0; j < this->top_k_; ++j) { - EXPECT_EQ(bottom_data_vector[j].first, - top_data[i * 2 * this->top_k_ + 2 * j]); - EXPECT_EQ(bottom_data_vector[j].second, - top_data[i * 2 * this->top_k_ + 2 * j + 1]); + max_ind = this->blob_top_->data_at(i, 0, j, 0); + max_val = this->blob_top_->data_at(i, 1, j, 0); + EXPECT_EQ(this->blob_bottom_->data_at(i, max_ind, 0, 0), max_val); + int count = 0; + for (int k = 0; k < dim; ++k) { + if (this->blob_bottom_->data_at(i, k, 0, 0) > max_val) { + ++count; + } + } + EXPECT_EQ(j, count); } } } From 4697b3f2140a89648d2ebbce9d099dbffefe0c97 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Wed, 9 Jul 2014 17:30:05 +0800 Subject: [PATCH 284/408] Use std::partial_sort in the ArgMaxLayer as suggested by @shuokay --- src/caffe/layers/argmax_layer.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index 00c17f1c554..f4d9b453314 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -40,8 +40,9 @@ Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, for (int j = 0; j < dim; ++j) { bottom_data_vector.push_back(std::make_pair(j, bottom_data[i * dim + j])); } - std::sort(bottom_data_vector.begin(), bottom_data_vector.end(), - int_Dtype_pair_greater); + std::partial_sort( + bottom_data_vector.begin(), bottom_data_vector.begin() + top_k_, + bottom_data_vector.end(), int_Dtype_pair_greater); if (out_max_val_) { for (int j = 0; j < top_k_; ++j) { top_data[(*top)[0]->offset(i, 0, j)] = bottom_data_vector[j].first; From 7b1a2ca345df0abf36e1863a4b53e9766d6f88ef Mon Sep 17 00:00:00 2001 From: Kai Li Date: Thu, 10 Jul 2014 09:06:11 +0800 Subject: [PATCH 285/408] Move compararing function from common_layers to argmax_layer --- include/caffe/common_layers.hpp | 6 ------ src/caffe/layers/argmax_layer.cpp | 10 +++++++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/include/caffe/common_layers.hpp b/include/caffe/common_layers.hpp index 26bfb5d0217..395ea7d6c98 100644 --- a/include/caffe/common_layers.hpp +++ b/include/caffe/common_layers.hpp @@ -17,12 +17,6 @@ namespace caffe { -template -bool int_Dtype_pair_greater(std::pair a, - std::pair b) { - return a.second > b.second || (a.second == b.second && a.first > b.first); -} - /* ArgmaxLayer Compute the index of the max value across all (channels x height x width). [In the future, can take specific dimension.] diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index f4d9b453314..44476cc0f27 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include "caffe/layer.hpp" @@ -28,6 +29,12 @@ void ArgMaxLayer::SetUp(const vector*>& bottom, } } +template +bool int_Dtype_pair_greater(std::pair a, + std::pair b) { + return a.second > b.second; +} + template Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { @@ -38,7 +45,8 @@ Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, for (int i = 0; i < num; ++i) { std::vector > bottom_data_vector; for (int j = 0; j < dim; ++j) { - bottom_data_vector.push_back(std::make_pair(j, bottom_data[i * dim + j])); + bottom_data_vector.push_back( + std::make_pair(j, bottom_data[i * dim + j])); } std::partial_sort( bottom_data_vector.begin(), bottom_data_vector.begin() + top_k_, From 907c78a44f4717167206440e4eebf32a371a1162 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Thu, 10 Jul 2014 09:37:34 +0800 Subject: [PATCH 286/408] Refactor the accuracy layer with std::partial_sort --- src/caffe/layers/accuracy_layer.cpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index ddfe38ab38e..86ded06a7ec 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -30,6 +30,12 @@ void AccuracyLayer::SetUp( (*top)[0]->Reshape(1, 1, 1, 1); } +template +bool int_Dtype_pair_greater(std::pair a, + std::pair b) { + return a.second > b.second; +} + template Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { @@ -42,21 +48,17 @@ Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, vector max_id(top_k_+1); for (int i = 0; i < num; ++i) { // Top-k accuracy - std::fill_n(maxval.begin(), top_k_, -FLT_MAX); - std::fill_n(max_id.begin(), top_k_, 0); - for (int j = 0, k; j < dim; ++j) { - // insert into (reverse-)sorted top-k array - Dtype val = bottom_data[i * dim + j]; - for (k = top_k_; k > 0 && maxval[k-1] < val; k--) { - maxval[k] = maxval[k-1]; - max_id[k] = max_id[k-1]; - } - maxval[k] = val; - max_id[k] = j; + std::vector > bottom_data_vector; + for (int j = 0; j < dim; ++j) { + bottom_data_vector.push_back( + std::make_pair(j, bottom_data[i * dim + j])); } + std::partial_sort( + bottom_data_vector.begin(), bottom_data_vector.begin() + top_k_, + bottom_data_vector.end(), int_Dtype_pair_greater); // check if true label is in top k predictions for (int k = 0; k < top_k_; k++) - if (max_id[k] == static_cast(bottom_label[i])) { + if (bottom_data_vector[k].first == static_cast(bottom_label[i])) { ++accuracy; break; } From 6abdb003708d6eb82bdd35aa7082113f7b9bf6b4 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Thu, 10 Jul 2014 09:38:03 +0800 Subject: [PATCH 287/408] Add more test cases for the accuracy layer --- src/caffe/test/test_accuracy_layer.cpp | 106 +++++++++++++++++++------ 1 file changed, 81 insertions(+), 25 deletions(-) diff --git a/src/caffe/test/test_accuracy_layer.cpp b/src/caffe/test/test_accuracy_layer.cpp index 40b08748d1f..5023a809d17 100644 --- a/src/caffe/test/test_accuracy_layer.cpp +++ b/src/caffe/test/test_accuracy_layer.cpp @@ -9,6 +9,7 @@ #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" +#include "caffe/util/rng.hpp" #include "caffe/vision_layers.hpp" #include "caffe/test/test_caffe_main.hpp" @@ -19,8 +20,8 @@ template class AccuracyLayerTest : public ::testing::Test { protected: AccuracyLayerTest() - : blob_bottom_data_(new Blob(2, 10, 1, 1)), - blob_bottom_label_(new Blob(2, 1, 1, 1)), + : blob_bottom_data_(new Blob(100, 10, 1, 1)), + blob_bottom_label_(new Blob(100, 1, 1, 1)), blob_top_(new Blob()), top_k_(3) { // fill the probability values @@ -28,28 +29,14 @@ class AccuracyLayerTest : public ::testing::Test { GaussianFiller filler(filler_param); filler.Fill(this->blob_bottom_data_); - // set the labels; first label is set to max-probability index - Dtype m_val = -FLT_MAX; - int m_id = 0; - for (int i = 0; i < 10; i++) - if (blob_bottom_data_->data_at(0, i, 0, 0) > m_val) { - m_val = blob_bottom_data_->data_at(0, i, 0, 0); - m_id = i; - } + const unsigned int prefetch_rng_seed = caffe_rng_rand(); + shared_ptr rng(new Caffe::RNG(prefetch_rng_seed)); + caffe::rng_t* prefetch_rng = + static_cast(rng->generator()); Dtype* label_data = blob_bottom_label_->mutable_cpu_data(); - int offset = blob_bottom_label_->offset(0); - label_data[offset] = m_id; - - // set the labels; second label is set to min-probability index - m_val = FLT_MAX; - m_id = 0; - for (int i = 0; i < 10; i++) - if (blob_bottom_data_->data_at(1, i, 0, 0) < m_val) { - m_val = blob_bottom_data_->data_at(1, i, 0, 0); - m_id = i; - } - offset = blob_bottom_label_->offset(1); - label_data[offset] = m_id; + for (int i = 0; i < 100; ++i) { + label_data[i] = (*prefetch_rng)() % 10; + } blob_bottom_vec_.push_back(blob_bottom_data_); blob_bottom_vec_.push_back(blob_bottom_label_); @@ -70,7 +57,57 @@ class AccuracyLayerTest : public ::testing::Test { TYPED_TEST_CASE(AccuracyLayerTest, TestDtypes); +TYPED_TEST(AccuracyLayerTest, TestSetup) { + LayerParameter layer_param; + AccuracyLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + EXPECT_EQ(this->blob_top_->num(), 1); + EXPECT_EQ(this->blob_top_->channels(), 1); + EXPECT_EQ(this->blob_top_->height(), 1); + EXPECT_EQ(this->blob_top_->width(), 1); +} + +TYPED_TEST(AccuracyLayerTest, TestSetupTopK) { + LayerParameter layer_param; + AccuracyParameter* accuracy_param = + layer_param.mutable_accuracy_param(); + accuracy_param->set_top_k(5); + AccuracyLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + EXPECT_EQ(this->blob_top_->num(), 1); + EXPECT_EQ(this->blob_top_->channels(), 1); + EXPECT_EQ(this->blob_top_->height(), 1); + EXPECT_EQ(this->blob_top_->width(), 1); +} + TYPED_TEST(AccuracyLayerTest, TestForwardCPU) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + AccuracyLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + + TypeParam max_value; + int max_id; + int num_correct_labels = 0; + for (int i = 0; i < 100; ++i) { + max_value = -FLT_MAX; + max_id = 0; + for (int j = 0; j < 10; ++j) { + if (this->blob_bottom_data_->data_at(i, j, 0, 0) > max_value) { + max_value = this->blob_bottom_data_->data_at(i, j, 0, 0); + max_id = j; + } + } + if (max_id == this->blob_bottom_label_->data_at(i, 0, 0, 0)) { + ++num_correct_labels; + } + } + EXPECT_NEAR(this->blob_top_->data_at(0, 0, 0, 0), + num_correct_labels / 100.0, 1e-4); +} + +TYPED_TEST(AccuracyLayerTest, TestForwardCPUTopK) { LayerParameter layer_param; AccuracyParameter* accuracy_param = layer_param.mutable_accuracy_param(); accuracy_param->set_top_k(this->top_k_); @@ -78,8 +115,27 @@ TYPED_TEST(AccuracyLayerTest, TestForwardCPU) { layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Output accuracy should be ~0.5 - EXPECT_NEAR(this->blob_top_->data_at(0, 0, 0, 0), 0.5, 1e-4); + TypeParam current_value; + int current_rank; + int num_correct_labels = 0; + for (int i = 0; i < 100; ++i) { + for (int j = 0; j < 10; ++j) { + current_value = this->blob_bottom_data_->data_at(i, j, 0, 0); + current_rank = 0; + for (int k = 0; k < 10; ++k) { + if (this->blob_bottom_data_->data_at(i, k, 0, 0) > current_value) { + ++current_rank; + } + } + if (current_rank < this->top_k_ && + j == this->blob_bottom_label_->data_at(i, 0, 0, 0)) { + ++num_correct_labels; + } + } + } + + EXPECT_NEAR(this->blob_top_->data_at(0, 0, 0, 0), + num_correct_labels / 100.0, 1e-4); } } // namespace caffe From cf26171b34ec767291abcd4dff1a7d1eeef15250 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Fri, 11 Jul 2014 10:22:01 +0800 Subject: [PATCH 288/408] Limit the comparison functions to have file scope --- src/caffe/layers/accuracy_layer.cpp | 2 +- src/caffe/layers/argmax_layer.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index 86ded06a7ec..916059e8d98 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -31,7 +31,7 @@ void AccuracyLayer::SetUp( } template -bool int_Dtype_pair_greater(std::pair a, +static bool int_Dtype_pair_greater(std::pair a, std::pair b) { return a.second > b.second; } diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index 44476cc0f27..580e4b0f3e6 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -30,7 +30,7 @@ void ArgMaxLayer::SetUp(const vector*>& bottom, } template -bool int_Dtype_pair_greater(std::pair a, +static bool int_Dtype_pair_greater(std::pair a, std::pair b) { return a.second > b.second; } From fe3f6aa062d8d44cb89992854c7e1a97197f12a7 Mon Sep 17 00:00:00 2001 From: Kai Li Date: Sun, 13 Jul 2014 00:29:54 +0800 Subject: [PATCH 289/408] Include for pair in the accuracy layer --- src/caffe/layers/accuracy_layer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index 916059e8d98..b244c51d321 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include "caffe/layer.hpp" From a9281488f0d263667204db0ab4b538cfb9ac1ccc Mon Sep 17 00:00:00 2001 From: Kai Li Date: Sun, 20 Jul 2014 00:42:12 +0800 Subject: [PATCH 290/408] Fix style issues in accuracy & argmax layer --- src/caffe/layers/accuracy_layer.cpp | 18 +++++++----------- src/caffe/layers/argmax_layer.cpp | 23 ++++++++--------------- 2 files changed, 15 insertions(+), 26 deletions(-) diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index b244c51d321..3ccba3b50d1 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -31,12 +32,6 @@ void AccuracyLayer::SetUp( (*top)[0]->Reshape(1, 1, 1, 1); } -template -static bool int_Dtype_pair_greater(std::pair a, - std::pair b) { - return a.second > b.second; -} - template Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { @@ -49,20 +44,21 @@ Dtype AccuracyLayer::Forward_cpu(const vector*>& bottom, vector max_id(top_k_+1); for (int i = 0; i < num; ++i) { // Top-k accuracy - std::vector > bottom_data_vector; + std::vector > bottom_data_vector; for (int j = 0; j < dim; ++j) { bottom_data_vector.push_back( - std::make_pair(j, bottom_data[i * dim + j])); + std::make_pair(bottom_data[i * dim + j], j)); } std::partial_sort( bottom_data_vector.begin(), bottom_data_vector.begin() + top_k_, - bottom_data_vector.end(), int_Dtype_pair_greater); + bottom_data_vector.end(), std::greater >()); // check if true label is in top k predictions - for (int k = 0; k < top_k_; k++) - if (bottom_data_vector[k].first == static_cast(bottom_label[i])) { + for (int k = 0; k < top_k_; k++) { + if (bottom_data_vector[k].second == static_cast(bottom_label[i])) { ++accuracy; break; } + } } // LOG(INFO) << "Accuracy: " << accuracy; diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index 580e4b0f3e6..bd1a2689f3e 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -29,12 +30,6 @@ void ArgMaxLayer::SetUp(const vector*>& bottom, } } -template -static bool int_Dtype_pair_greater(std::pair a, - std::pair b) { - return a.second > b.second; -} - template Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { @@ -43,22 +38,20 @@ Dtype ArgMaxLayer::Forward_cpu(const vector*>& bottom, int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); for (int i = 0; i < num; ++i) { - std::vector > bottom_data_vector; + std::vector > bottom_data_vector; for (int j = 0; j < dim; ++j) { bottom_data_vector.push_back( - std::make_pair(j, bottom_data[i * dim + j])); + std::make_pair(bottom_data[i * dim + j], j)); } std::partial_sort( bottom_data_vector.begin(), bottom_data_vector.begin() + top_k_, - bottom_data_vector.end(), int_Dtype_pair_greater); + bottom_data_vector.end(), std::greater >()); + for (int j = 0; j < top_k_; ++j) { + top_data[(*top)[0]->offset(i, 0, j)] = bottom_data_vector[j].second; + } if (out_max_val_) { for (int j = 0; j < top_k_; ++j) { - top_data[(*top)[0]->offset(i, 0, j)] = bottom_data_vector[j].first; - top_data[(*top)[0]->offset(i, 1, j)] = bottom_data_vector[j].second; - } - } else { - for (int j = 0; j < top_k_; ++j) { - top_data[(*top)[0]->offset(i, 0, j)] = bottom_data_vector[j].first; + top_data[(*top)[0]->offset(i, 1, j)] = bottom_data_vector[j].first; } } } From 00ecb24ce011b7c06416cb2a6279526856df8a8f Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Mon, 30 Jun 2014 23:11:11 -0700 Subject: [PATCH 291/408] use Blob directly instead of shared_ptr for ConvolutionLayer::bias_multiplier_ This will make layer reshaping easier and more uniform, and is consistent with col_buffer_. --- include/caffe/vision_layers.hpp | 2 +- src/caffe/layers/conv_layer.cpp | 10 +++++----- src/caffe/layers/conv_layer.cu | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index c8b4609c20f..a261ac35360 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -55,7 +55,7 @@ class ConvolutionLayer : public Layer { int num_output_; int group_; Blob col_buffer_; - shared_ptr > bias_multiplier_; + Blob bias_multiplier_; bool bias_term_; int M_; int K_; diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index e8f08c7e3cd..11f29e783db 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -76,10 +76,10 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, bias_filler->Fill(this->blobs_[1].get()); } } - // Set up the bias filler + // Set up the all ones "bias multiplier" for adding bias using blas if (bias_term_) { - bias_multiplier_.reset(new Blob(1, 1, 1, N_)); - caffe_set(N_, Dtype(1), bias_multiplier_->mutable_cpu_data()); + bias_multiplier_.Reshape(1, 1, 1, N_); + caffe_set(N_, Dtype(1), bias_multiplier_.mutable_cpu_data()); } this->param_propagate_down_.resize(this->blobs_.size(), true); } @@ -110,7 +110,7 @@ Dtype ConvolutionLayer::Forward_cpu(const vector*>& bottom, if (bias_term_) { caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, num_output_, N_, 1, (Dtype)1., this->blobs_[1]->cpu_data(), - bias_multiplier_->cpu_data(), + bias_multiplier_.cpu_data(), (Dtype)1., top_data + (*top)[i]->offset(n)); } } @@ -144,7 +144,7 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, for (int n = 0; n < num_; ++n) { caffe_cpu_gemv(CblasNoTrans, num_output_, N_, 1., top_diff + top[0]->offset(n), - bias_multiplier_->cpu_data(), 1., + bias_multiplier_.cpu_data(), 1., bias_diff); } } diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index 0b6e912b639..d328fbde9ae 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -35,7 +35,7 @@ Dtype ConvolutionLayer::Forward_gpu(const vector*>& bottom, if (bias_term_) { caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, num_output_, N_, 1, (Dtype)1., this->blobs_[1]->gpu_data(), - bias_multiplier_->gpu_data(), + bias_multiplier_.gpu_data(), (Dtype)1., top_data + (*top)[i]->offset(n)); } } @@ -69,7 +69,7 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, for (int n = 0; n < num_; ++n) { caffe_gpu_gemv(CblasNoTrans, num_output_, N_, 1., top_diff + top[0]->offset(n), - bias_multiplier_->gpu_data(), 1., + bias_multiplier_.gpu_data(), 1., bias_diff); } } From 40054a70cd6458e74ba8d42f80d3e534e9312a1d Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Sat, 19 Jul 2014 18:02:33 -0700 Subject: [PATCH 292/408] use Blob directly instead of shared_ptr for InnerProductLayer::bias_multiplier_ --- include/caffe/vision_layers.hpp | 2 +- src/caffe/layers/inner_product_layer.cpp | 8 ++++---- src/caffe/layers/inner_product_layer.cu | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index a261ac35360..c995992a252 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -157,7 +157,7 @@ class InnerProductLayer : public Layer { int K_; int N_; bool bias_term_; - shared_ptr > bias_multiplier_; + Blob bias_multiplier_; }; // Forward declare PoolingLayer and SplitLayer for use in LRNLayer. diff --git a/src/caffe/layers/inner_product_layer.cpp b/src/caffe/layers/inner_product_layer.cpp index 4da8578d76f..5505d08587a 100644 --- a/src/caffe/layers/inner_product_layer.cpp +++ b/src/caffe/layers/inner_product_layer.cpp @@ -47,8 +47,8 @@ void InnerProductLayer::SetUp(const vector*>& bottom, } // parameter initialization // Setting up the bias multiplier if (bias_term_) { - bias_multiplier_.reset(new Blob(1, 1, 1, M_)); - caffe_set(M_, Dtype(1), bias_multiplier_->mutable_cpu_data()); + bias_multiplier_.Reshape(1, 1, 1, M_); + caffe_set(M_, Dtype(1), bias_multiplier_.mutable_cpu_data()); } this->param_propagate_down_.resize(this->blobs_.size(), true); } @@ -63,7 +63,7 @@ Dtype InnerProductLayer::Forward_cpu(const vector*>& bottom, bottom_data, weight, (Dtype)0., top_data); if (bias_term_) { caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, 1, (Dtype)1., - bias_multiplier_->cpu_data(), + bias_multiplier_.cpu_data(), this->blobs_[1]->cpu_data(), (Dtype)1., top_data); } return Dtype(0); @@ -84,7 +84,7 @@ void InnerProductLayer::Backward_cpu(const vector*>& top, const Dtype* top_diff = top[0]->cpu_diff(); // Gradient with respect to bias caffe_cpu_gemv(CblasTrans, M_, N_, (Dtype)1., top_diff, - bias_multiplier_->cpu_data(), (Dtype)0., + bias_multiplier_.cpu_data(), (Dtype)0., this->blobs_[1]->mutable_cpu_diff()); } if (propagate_down[0]) { diff --git a/src/caffe/layers/inner_product_layer.cu b/src/caffe/layers/inner_product_layer.cu index 6ef75788665..513e4eb7fa8 100644 --- a/src/caffe/layers/inner_product_layer.cu +++ b/src/caffe/layers/inner_product_layer.cu @@ -21,7 +21,7 @@ Dtype InnerProductLayer::Forward_gpu(const vector*>& bottom, bottom_data, weight, (Dtype)0., top_data); if (bias_term_) { caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, 1, (Dtype)1., - bias_multiplier_->gpu_data(), + bias_multiplier_.gpu_data(), this->blobs_[1]->gpu_data(), (Dtype)1., top_data); } return Dtype(0); @@ -42,7 +42,7 @@ void InnerProductLayer::Backward_gpu(const vector*>& top, const Dtype* top_diff = top[0]->gpu_diff(); // Gradient with respect to bias caffe_gpu_gemv(CblasTrans, M_, N_, (Dtype)1., top_diff, - bias_multiplier_->gpu_data(), (Dtype)0., + bias_multiplier_.gpu_data(), (Dtype)0., this->blobs_[1]->mutable_gpu_diff()); } if (propagate_down[0]) { From 03544062c447019e5a86865ae6c3b12826211553 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Tue, 1 Jul 2014 13:20:01 -0700 Subject: [PATCH 293/408] use Blob directly instead of shared_ptr for PoolingLayer::max_idx_ Again, this is more uniform, and will simplify the implementation of Reshape. --- include/caffe/vision_layers.hpp | 2 +- src/caffe/layers/pooling_layer.cpp | 8 ++++---- src/caffe/layers/pooling_layer.cu | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index c995992a252..05c7b45e783 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -273,7 +273,7 @@ class PoolingLayer : public Layer { int pooled_height_; int pooled_width_; Blob rand_idx_; - shared_ptr > max_idx_; + Blob max_idx_; }; } // namespace caffe diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index d6fef07ba46..feb82669e08 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -99,8 +99,8 @@ void PoolingLayer::SetUp(const vector*>& bottom, // If max pooling, we will initialize the vector index part. if (this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX && top->size() == 1) { - max_idx_.reset(new Blob(bottom[0]->num(), channels_, - pooled_height_, pooled_width_)); + max_idx_.Reshape(bottom[0]->num(), channels_, pooled_height_, + pooled_width_); } // If stochastic pooling, we will initialize the random index part. if (this->layer_param_.pooling_param().pool() == @@ -131,7 +131,7 @@ Dtype PoolingLayer::Forward_cpu(const vector*>& bottom, top_mask = (*top)[1]->mutable_cpu_data(); caffe_set(top_count, Dtype(-1), top_mask); } else { - mask = max_idx_->mutable_cpu_data(); + mask = max_idx_.mutable_cpu_data(); caffe_set(top_count, -1, mask); } caffe_set(top_count, Dtype(-FLT_MAX), top_data); @@ -236,7 +236,7 @@ void PoolingLayer::Backward_cpu(const vector*>& top, if (use_top_mask) { top_mask = top[1]->cpu_data(); } else { - mask = max_idx_->cpu_data(); + mask = max_idx_.cpu_data(); } for (int n = 0; n < top[0]->num(); ++n) { for (int c = 0; c < channels_; ++c) { diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index a44b1770ee3..42a6c1e5ec7 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -170,7 +170,7 @@ Dtype PoolingLayer::Forward_gpu(const vector*>& bottom, if (use_top_mask) { top_mask = (*top)[1]->mutable_gpu_data(); } else { - mask = max_idx_->mutable_gpu_data(); + mask = max_idx_.mutable_gpu_data(); } // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolForward<<>>( @@ -348,7 +348,7 @@ void PoolingLayer::Backward_gpu(const vector*>& top, if (use_top_mask) { top_mask = top[1]->gpu_data(); } else { - mask = max_idx_->gpu_data(); + mask = max_idx_.gpu_data(); } // NOLINT_NEXT_LINE(whitespace/operators) MaxPoolBackward<<>>( From f6696d8b5d8c43c7de41c0c7be7af97ba09160a0 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Tue, 1 Jul 2014 12:52:48 -0700 Subject: [PATCH 294/408] use Blob directly instead of shared_ptr for DropoutLayer::rand_vec_ This will simplify the implementation of Reshape by making allocation automatic. There is no need for shared_ptr here, and this is more uniform with buffers used by other layers. --- include/caffe/neuron_layers.hpp | 2 +- src/caffe/layers/dropout_layer.cpp | 8 ++++---- src/caffe/layers/dropout_layer.cu | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index 070b89044d0..8f0588d4771 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -100,7 +100,7 @@ class DropoutLayer : public NeuronLayer { virtual void Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom); - shared_ptr > rand_vec_; + Blob rand_vec_; Dtype threshold_; Dtype scale_; unsigned int uint_thres_; diff --git a/src/caffe/layers/dropout_layer.cpp b/src/caffe/layers/dropout_layer.cpp index a9372977693..65360d67ada 100644 --- a/src/caffe/layers/dropout_layer.cpp +++ b/src/caffe/layers/dropout_layer.cpp @@ -17,8 +17,8 @@ void DropoutLayer::SetUp(const vector*>& bottom, vector*>* top) { NeuronLayer::SetUp(bottom, top); // Set up the cache for random number generation - rand_vec_.reset(new Blob(bottom[0]->num(), - bottom[0]->channels(), bottom[0]->height(), bottom[0]->width())); + rand_vec_.Reshape(bottom[0]->num(), bottom[0]->channels(), + bottom[0]->height(), bottom[0]->width()); threshold_ = this->layer_param_.dropout_param().dropout_ratio(); DCHECK(threshold_ > 0.); DCHECK(threshold_ < 1.); @@ -31,7 +31,7 @@ Dtype DropoutLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { const Dtype* bottom_data = bottom[0]->cpu_data(); Dtype* top_data = (*top)[0]->mutable_cpu_data(); - unsigned int* mask = rand_vec_->mutable_cpu_data(); + unsigned int* mask = rand_vec_.mutable_cpu_data(); const int count = bottom[0]->count(); if (Caffe::phase() == Caffe::TRAIN) { // Create random numbers @@ -53,7 +53,7 @@ void DropoutLayer::Backward_cpu(const vector*>& top, const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); if (Caffe::phase() == Caffe::TRAIN) { - const unsigned int* mask = rand_vec_->cpu_data(); + const unsigned int* mask = rand_vec_.cpu_data(); const int count = (*bottom)[0]->count(); for (int i = 0; i < count; ++i) { bottom_diff[i] = top_diff[i] * mask[i] * scale_; diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index c9f3ecd2dd5..a53eb5e4bed 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -32,7 +32,7 @@ Dtype DropoutLayer::Forward_gpu(const vector*>& bottom, const int count = bottom[0]->count(); if (Caffe::phase() == Caffe::TRAIN) { unsigned int* mask = - static_cast(rand_vec_->mutable_gpu_data()); + static_cast(rand_vec_.mutable_gpu_data()); caffe_gpu_rng_uniform(count, mask); // set thresholds // NOLINT_NEXT_LINE(whitespace/operators) @@ -63,7 +63,7 @@ void DropoutLayer::Backward_gpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); if (Caffe::phase() == Caffe::TRAIN) { const unsigned int* mask = - static_cast(rand_vec_->gpu_data()); + static_cast(rand_vec_.gpu_data()); const int count = (*bottom)[0]->count(); // NOLINT_NEXT_LINE(whitespace/operators) DropoutBackward<< Date: Sat, 19 Jul 2014 18:14:53 -0700 Subject: [PATCH 295/408] use Blob directly instead of shared_ptr for DataLayer buffers --- include/caffe/data_layers.hpp | 4 ++-- src/caffe/layers/data_layer.cpp | 28 +++++++++++++--------------- src/caffe/layers/data_layer.cu | 4 ++-- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 06c90ea9923..069f0c2eea2 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -81,8 +81,8 @@ class DataLayer : public Layer { int datum_width_; int datum_size_; pthread_t thread_; - shared_ptr > prefetch_data_; - shared_ptr > prefetch_label_; + Blob prefetch_data_; + Blob prefetch_label_; Blob data_mean_; bool output_labels_; Caffe::Phase phase_; diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index a688e197f02..b6afaa972f9 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -22,11 +22,11 @@ void* DataLayerPrefetch(void* layer_pointer) { DataLayer* layer = static_cast*>(layer_pointer); CHECK(layer); Datum datum; - CHECK(layer->prefetch_data_); - Dtype* top_data = layer->prefetch_data_->mutable_cpu_data(); + CHECK(layer->prefetch_data_.count()); + Dtype* top_data = layer->prefetch_data_.mutable_cpu_data(); Dtype* top_label = NULL; // suppress warnings about uninitialized variables if (layer->output_labels_) { - top_label = layer->prefetch_label_->mutable_cpu_data(); + top_label = layer->prefetch_label_.mutable_cpu_data(); } const Dtype scale = layer->layer_param_.data_param().scale(); const int batch_size = layer->layer_param_.data_param().batch_size(); @@ -257,16 +257,14 @@ void DataLayer::SetUp(const vector*>& bottom, if (crop_size > 0) { (*top)[0]->Reshape(this->layer_param_.data_param().batch_size(), datum.channels(), crop_size, crop_size); - prefetch_data_.reset(new Blob( - this->layer_param_.data_param().batch_size(), datum.channels(), - crop_size, crop_size)); + prefetch_data_.Reshape(this->layer_param_.data_param().batch_size(), + datum.channels(), crop_size, crop_size); } else { (*top)[0]->Reshape( this->layer_param_.data_param().batch_size(), datum.channels(), datum.height(), datum.width()); - prefetch_data_.reset(new Blob( - this->layer_param_.data_param().batch_size(), datum.channels(), - datum.height(), datum.width())); + prefetch_data_.Reshape(this->layer_param_.data_param().batch_size(), + datum.channels(), datum.height(), datum.width()); } LOG(INFO) << "output data size: " << (*top)[0]->num() << "," << (*top)[0]->channels() << "," << (*top)[0]->height() << "," @@ -274,8 +272,8 @@ void DataLayer::SetUp(const vector*>& bottom, // label if (output_labels_) { (*top)[1]->Reshape(this->layer_param_.data_param().batch_size(), 1, 1, 1); - prefetch_label_.reset( - new Blob(this->layer_param_.data_param().batch_size(), 1, 1, 1)); + prefetch_label_.Reshape(this->layer_param_.data_param().batch_size(), + 1, 1, 1); } // datum size datum_channels_ = datum.channels(); @@ -303,9 +301,9 @@ void DataLayer::SetUp(const vector*>& bottom, // cpu_data calls so that the prefetch thread does not accidentally make // simultaneous cudaMalloc calls when the main thread is running. In some // GPUs this seems to cause failures if we do not so. - prefetch_data_->mutable_cpu_data(); + prefetch_data_.mutable_cpu_data(); if (output_labels_) { - prefetch_label_->mutable_cpu_data(); + prefetch_label_.mutable_cpu_data(); } data_mean_.cpu_data(); DLOG(INFO) << "Initializing prefetch"; @@ -349,10 +347,10 @@ Dtype DataLayer::Forward_cpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + caffe_copy(prefetch_data_.count(), prefetch_data_.cpu_data(), (*top)[0]->mutable_cpu_data()); if (output_labels_) { - caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + caffe_copy(prefetch_label_.count(), prefetch_label_.cpu_data(), (*top)[1]->mutable_cpu_data()); } // Start a new prefetch thread diff --git a/src/caffe/layers/data_layer.cu b/src/caffe/layers/data_layer.cu index 4409f47f21c..e275e9d913e 100644 --- a/src/caffe/layers/data_layer.cu +++ b/src/caffe/layers/data_layer.cu @@ -19,10 +19,10 @@ Dtype DataLayer::Forward_gpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + caffe_copy(prefetch_data_.count(), prefetch_data_.cpu_data(), (*top)[0]->mutable_gpu_data()); if (output_labels_) { - caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + caffe_copy(prefetch_label_.count(), prefetch_label_.cpu_data(), (*top)[1]->mutable_gpu_data()); } // Start a new prefetch thread From 6761735ca027e89230826d02e434723dbd3c5bb9 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Sat, 19 Jul 2014 18:18:03 -0700 Subject: [PATCH 296/408] use Blob directly instead of shared_ptr for ImageDataLayer buffers --- include/caffe/data_layers.hpp | 4 ++-- src/caffe/layers/image_data_layer.cpp | 23 +++++++++++------------ src/caffe/layers/image_data_layer.cu | 4 ++-- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 069f0c2eea2..4f3136dc27f 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -228,8 +228,8 @@ class ImageDataLayer : public Layer { int datum_width_; int datum_size_; pthread_t thread_; - shared_ptr > prefetch_data_; - shared_ptr > prefetch_label_; + Blob prefetch_data_; + Blob prefetch_label_; Blob data_mean_; Caffe::Phase phase_; }; diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index 408452f5d80..e41baaf63d5 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -28,9 +28,9 @@ void* ImageDataLayerPrefetch(void* layer_pointer) { reinterpret_cast*>(layer_pointer); CHECK(layer); Datum datum; - CHECK(layer->prefetch_data_); - Dtype* top_data = layer->prefetch_data_->mutable_cpu_data(); - Dtype* top_label = layer->prefetch_label_->mutable_cpu_data(); + CHECK(layer->prefetch_data_.count()); + Dtype* top_data = layer->prefetch_data_.mutable_cpu_data(); + Dtype* top_label = layer->prefetch_label_.mutable_cpu_data(); ImageDataParameter image_data_param = layer->layer_param_.image_data_param(); const Dtype scale = image_data_param.scale(); const int batch_size = image_data_param.batch_size(); @@ -183,20 +183,19 @@ void ImageDataLayer::SetUp(const vector*>& bottom, const string& mean_file = this->layer_param_.image_data_param().mean_file(); if (crop_size > 0) { (*top)[0]->Reshape(batch_size, datum.channels(), crop_size, crop_size); - prefetch_data_.reset(new Blob(batch_size, datum.channels(), - crop_size, crop_size)); + prefetch_data_.Reshape(batch_size, datum.channels(), crop_size, crop_size); } else { (*top)[0]->Reshape(batch_size, datum.channels(), datum.height(), datum.width()); - prefetch_data_.reset(new Blob(batch_size, datum.channels(), - datum.height(), datum.width())); + prefetch_data_.Reshape(batch_size, datum.channels(), datum.height(), + datum.width()); } LOG(INFO) << "output data size: " << (*top)[0]->num() << "," << (*top)[0]->channels() << "," << (*top)[0]->height() << "," << (*top)[0]->width(); // label (*top)[1]->Reshape(batch_size, 1, 1, 1); - prefetch_label_.reset(new Blob(batch_size, 1, 1, 1)); + prefetch_label_.Reshape(batch_size, 1, 1, 1); // datum size datum_channels_ = datum.channels(); datum_height_ = datum.height(); @@ -222,8 +221,8 @@ void ImageDataLayer::SetUp(const vector*>& bottom, // cpu_data calls so that the prefetch thread does not accidentally make // simultaneous cudaMalloc calls when the main thread is running. In some // GPUs this seems to cause failures if we do not so. - prefetch_data_->mutable_cpu_data(); - prefetch_label_->mutable_cpu_data(); + prefetch_data_.mutable_cpu_data(); + prefetch_label_.mutable_cpu_data(); data_mean_.cpu_data(); DLOG(INFO) << "Initializing prefetch"; CreatePrefetchThread(); @@ -277,9 +276,9 @@ Dtype ImageDataLayer::Forward_cpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + caffe_copy(prefetch_data_.count(), prefetch_data_.cpu_data(), (*top)[0]->mutable_cpu_data()); - caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + caffe_copy(prefetch_label_.count(), prefetch_label_.cpu_data(), (*top)[1]->mutable_cpu_data()); // Start a new prefetch thread CreatePrefetchThread(); diff --git a/src/caffe/layers/image_data_layer.cu b/src/caffe/layers/image_data_layer.cu index cf74853d902..b7ee02fe155 100644 --- a/src/caffe/layers/image_data_layer.cu +++ b/src/caffe/layers/image_data_layer.cu @@ -25,9 +25,9 @@ Dtype ImageDataLayer::Forward_gpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + caffe_copy(prefetch_data_.count(), prefetch_data_.cpu_data(), (*top)[0]->mutable_gpu_data()); - caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + caffe_copy(prefetch_label_.count(), prefetch_label_.cpu_data(), (*top)[1]->mutable_gpu_data()); // Start a new prefetch thread CreatePrefetchThread(); From 21b019097af1f001fc9707c45c3fa1a31af47d67 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Sat, 19 Jul 2014 18:22:28 -0700 Subject: [PATCH 297/408] use Blob directly instead of shared_ptr for WindowDataLayer buffers --- include/caffe/data_layers.hpp | 4 ++-- src/caffe/layers/window_data_layer.cpp | 20 +++++++++----------- src/caffe/layers/window_data_layer.cu | 4 ++-- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 4f3136dc27f..1bb6bceb8c8 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -315,8 +315,8 @@ class WindowDataLayer : public Layer { shared_ptr prefetch_rng_; pthread_t thread_; - shared_ptr > prefetch_data_; - shared_ptr > prefetch_label_; + Blob prefetch_data_; + Blob prefetch_label_; Blob data_mean_; vector > > image_database_; enum WindowField { IMAGE_INDEX, LABEL, OVERLAP, X1, Y1, X2, Y2, NUM }; diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index c45a1521db4..c59cac37c0c 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -39,8 +39,8 @@ void* WindowDataLayerPrefetch(void* layer_pointer) { // At each iteration, sample N windows where N*p are foreground (object) // windows and N*(1-p) are background (non-object) windows - Dtype* top_data = layer->prefetch_data_->mutable_cpu_data(); - Dtype* top_label = layer->prefetch_label_->mutable_cpu_data(); + Dtype* top_data = layer->prefetch_data_.mutable_cpu_data(); + Dtype* top_label = layer->prefetch_label_.mutable_cpu_data(); const Dtype scale = layer->layer_param_.window_data_param().scale(); const int batch_size = layer->layer_param_.window_data_param().batch_size(); const int crop_size = layer->layer_param_.window_data_param().crop_size(); @@ -58,7 +58,7 @@ void* WindowDataLayerPrefetch(void* layer_pointer) { bool use_square = (crop_mode == "square") ? true : false; // zero out batch - caffe_set(layer->prefetch_data_->count(), Dtype(0), top_data); + caffe_set(layer->prefetch_data_.count(), Dtype(0), top_data); const int num_fg = static_cast(static_cast(batch_size) * fg_fraction); @@ -370,16 +370,14 @@ void WindowDataLayer::SetUp(const vector*>& bottom, CHECK_GT(crop_size, 0); const int batch_size = this->layer_param_.window_data_param().batch_size(); (*top)[0]->Reshape(batch_size, channels, crop_size, crop_size); - prefetch_data_.reset( - new Blob(batch_size, channels, crop_size, crop_size)); + prefetch_data_.Reshape(batch_size, channels, crop_size, crop_size); LOG(INFO) << "output data size: " << (*top)[0]->num() << "," << (*top)[0]->channels() << "," << (*top)[0]->height() << "," << (*top)[0]->width(); // label (*top)[1]->Reshape(batch_size, 1, 1, 1); - prefetch_label_.reset( - new Blob(batch_size, 1, 1, 1)); + prefetch_label_.Reshape(batch_size, 1, 1, 1); // check if we want to have mean if (this->layer_param_.window_data_param().has_mean_file()) { @@ -400,8 +398,8 @@ void WindowDataLayer::SetUp(const vector*>& bottom, // cpu_data calls so that the prefetch thread does not accidentally make // simultaneous cudaMalloc calls when the main thread is running. In some // GPUs this seems to cause failures if we do not so. - prefetch_data_->mutable_cpu_data(); - prefetch_label_->mutable_cpu_data(); + prefetch_data_.mutable_cpu_data(); + prefetch_label_.mutable_cpu_data(); data_mean_.cpu_data(); DLOG(INFO) << "Initializing prefetch"; CreatePrefetchThread(); @@ -443,9 +441,9 @@ Dtype WindowDataLayer::Forward_cpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + caffe_copy(prefetch_data_.count(), prefetch_data_.cpu_data(), (*top)[0]->mutable_cpu_data()); - caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + caffe_copy(prefetch_label_.count(), prefetch_label_.cpu_data(), (*top)[1]->mutable_cpu_data()); // Start a new prefetch thread CreatePrefetchThread(); diff --git a/src/caffe/layers/window_data_layer.cu b/src/caffe/layers/window_data_layer.cu index d4efeca06c1..b7658f6ff4f 100644 --- a/src/caffe/layers/window_data_layer.cu +++ b/src/caffe/layers/window_data_layer.cu @@ -27,9 +27,9 @@ Dtype WindowDataLayer::Forward_gpu(const vector*>& bottom, // First, join the thread JoinPrefetchThread(); // Copy the data - caffe_copy(prefetch_data_->count(), prefetch_data_->cpu_data(), + caffe_copy(prefetch_data_.count(), prefetch_data_.cpu_data(), (*top)[0]->mutable_gpu_data()); - caffe_copy(prefetch_label_->count(), prefetch_label_->cpu_data(), + caffe_copy(prefetch_label_.count(), prefetch_label_.cpu_data(), (*top)[1]->mutable_gpu_data()); // Start a new prefetch thread CreatePrefetchThread(); From 29fd174ec68006bc35d7820b3172c73dd8d2b623 Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Sat, 19 Jul 2014 18:51:15 -0700 Subject: [PATCH 298/408] add an "everything" target to make for comprehensive build testing The everything target builds all components, checks warnings, runs lint, and runs tests. --- Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 109894dd7c7..b25d1ba798d 100644 --- a/Makefile +++ b/Makefile @@ -295,7 +295,9 @@ SUPERCLEAN_EXTS := .so .a .o .bin .testbin .pb.cc .pb.h _pb2.py .cuo ############################## .PHONY: all test clean linecount lint tools examples $(DIST_ALIASES) \ py mat py$(PROJECT) mat$(PROJECT) proto runtest \ - superclean supercleanlist supercleanfiles warn + superclean supercleanlist supercleanfiles warn everything + +everything: all py$(PROJECT) mat$(PROJECT) test warn lint runtest all: $(NAME) $(STATIC_NAME) tools examples From 968f82661d8030717d0737a40b1a5fbaea91389e Mon Sep 17 00:00:00 2001 From: Jonathan L Long Date: Sun, 20 Jul 2014 02:29:15 -0700 Subject: [PATCH 299/408] remove unused includes in AccuracyLayer and ArgMaxLayer --- src/caffe/layers/accuracy_layer.cpp | 3 --- src/caffe/layers/argmax_layer.cpp | 2 -- 2 files changed, 5 deletions(-) diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index 3ccba3b50d1..58ea6ae10e2 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -1,8 +1,6 @@ // Copyright 2014 BVLC and contributors. #include -#include -#include #include #include #include @@ -12,7 +10,6 @@ #include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" - namespace caffe { using std::max; diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index bd1a2689f3e..732f7bf15d1 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -1,9 +1,7 @@ // Copyright 2014 BVLC and contributors. #include -#include #include -#include #include #include From 0193012e5cccb3e1a8d74f84f988bce8966640f7 Mon Sep 17 00:00:00 2001 From: qipeng Date: Sat, 19 Jul 2014 13:24:01 -0700 Subject: [PATCH 300/408] leaky relu + unit test --- src/caffe/layers/relu_layer.cpp | 8 ++++++-- src/caffe/layers/relu_layer.cu | 16 ++++++++++------ src/caffe/proto/caffe.proto | 13 ++++++++++++- src/caffe/test/test_neuron_layer.cpp | 26 ++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 9 deletions(-) diff --git a/src/caffe/layers/relu_layer.cpp b/src/caffe/layers/relu_layer.cpp index 1e1195501e8..57ccf97e046 100644 --- a/src/caffe/layers/relu_layer.cpp +++ b/src/caffe/layers/relu_layer.cpp @@ -14,8 +14,10 @@ Dtype ReLULayer::Forward_cpu(const vector*>& bottom, const Dtype* bottom_data = bottom[0]->cpu_data(); Dtype* top_data = (*top)[0]->mutable_cpu_data(); const int count = bottom[0]->count(); + Dtype negative_slope = this->layer_param_.relu_param().negative_slope(); for (int i = 0; i < count; ++i) { - top_data[i] = std::max(bottom_data[i], Dtype(0)); + top_data[i] = std::max(bottom_data[i], Dtype(0)) + + negative_slope * std::min(bottom_data[i], Dtype(0)); } return Dtype(0); } @@ -29,8 +31,10 @@ void ReLULayer::Backward_cpu(const vector*>& top, const Dtype* top_diff = top[0]->cpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); const int count = (*bottom)[0]->count(); + Dtype negative_slope = this->layer_param_.relu_param().negative_slope(); for (int i = 0; i < count; ++i) { - bottom_diff[i] = top_diff[i] * (bottom_data[i] > 0); + bottom_diff[i] = top_diff[i] * (bottom_data[i] >= 0) + + top_diff[i] * negative_slope * (bottom_data[i] < 0); } } } diff --git a/src/caffe/layers/relu_layer.cu b/src/caffe/layers/relu_layer.cu index e8b0fbeea57..f5a24a9a466 100644 --- a/src/caffe/layers/relu_layer.cu +++ b/src/caffe/layers/relu_layer.cu @@ -9,9 +9,10 @@ namespace caffe { template -__global__ void ReLUForward(const int n, const Dtype* in, Dtype* out) { +__global__ void ReLUForward(const int n, const Dtype* in, Dtype* out, + Dtype negative_slope) { CUDA_KERNEL_LOOP(index, n) { - out[index] = in[index] > 0 ? in[index] : 0; + out[index] = in[index] > 0 ? in[index] : in[index] * negative_slope; } } @@ -21,9 +22,10 @@ Dtype ReLULayer::Forward_gpu(const vector*>& bottom, const Dtype* bottom_data = bottom[0]->gpu_data(); Dtype* top_data = (*top)[0]->mutable_gpu_data(); const int count = bottom[0]->count(); + Dtype negative_slope = this->layer_param_.relu_param().negative_slope(); // NOLINT_NEXT_LINE(whitespace/operators) ReLUForward<<>>( - count, bottom_data, top_data); + count, bottom_data, top_data, negative_slope); CUDA_POST_KERNEL_CHECK; // << " count: " << count << " bottom_data: " // << (unsigned long)bottom_data @@ -35,9 +37,10 @@ Dtype ReLULayer::Forward_gpu(const vector*>& bottom, template __global__ void ReLUBackward(const int n, const Dtype* in_diff, - const Dtype* in_data, Dtype* out_diff) { + const Dtype* in_data, Dtype* out_diff, Dtype negative_slope) { CUDA_KERNEL_LOOP(index, n) { - out_diff[index] = in_diff[index] * (in_data[index] > 0); + out_diff[index] = in_diff[index] * (in_data[index] >= 0) + + in_diff[index] * (in_data[index] < 0) * negative_slope; } } @@ -50,9 +53,10 @@ void ReLULayer::Backward_gpu(const vector*>& top, const Dtype* top_diff = top[0]->gpu_diff(); Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); const int count = (*bottom)[0]->count(); + Dtype negative_slope = this->layer_param_.relu_param().negative_slope(); // NOLINT_NEXT_LINE(whitespace/operators) ReLUBackward<<>>( - count, top_diff, bottom_data, bottom_diff); + count, top_diff, bottom_data, bottom_diff, negative_slope); CUDA_POST_KERNEL_CHECK; } } diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 10e52d2ad47..9c3ddfe7ed5 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -117,7 +117,7 @@ message SolverState { // NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available ID: 28 (last added: accuracy_param) +// LayerParameter next available ID: 31 (last added: relu_param) message LayerParameter { repeated string bottom = 2; // the name of the bottom blobs repeated string top = 3; // the name of the top blobs @@ -207,6 +207,7 @@ message LayerParameter { optional MemoryDataParameter memory_data_param = 22; optional PoolingParameter pooling_param = 19; optional PowerParameter power_param = 21; + optional ReLUParameter relu_param = 30; optional WindowDataParameter window_data_param = 20; optional ThresholdParameter threshold_param = 25; optional HingeLossParameter hinge_loss_param = 29; @@ -429,6 +430,16 @@ message PowerParameter { optional float shift = 3 [default = 0.0]; } +// Message that stores parameters used by ReLULayer +message ReLUParameter { + // Allow non-zero slope for negative inputs to speed up optimization + // Described in: + // Maas, A. L., Hannun, A. Y., & Ng, A. Y. (2013). Rectifier nonlinearities + // improve neural network acoustic models. In ICML Workshop on Deep Learning + // for Audio, Speech, and Language Processing. + optional float negative_slope = 1 [default = 0]; +} + // Message that stores parameters used by WindowDataLayer message WindowDataParameter { // Specify the data source. diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index 246832d226d..db9b934fb5b 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -62,6 +62,32 @@ TYPED_TEST(NeuronLayerTest, TestReLUGradient) { &(this->blob_top_vec_)); } +TYPED_TEST(NeuronLayerTest, TestReLUWithNegativeSlope) { + typedef typename TypeParam::Dtype Dtype; + LayerParameter layer_param; + layer_param.ParseFromString("relu_param{negative_slope:0.01}"); + ReLULayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); + for (int i = 0; i < this->blob_bottom_->count(); ++i) { + EXPECT_GE(top_data[i], 0.); + EXPECT_TRUE(top_data[i] == 0 || top_data[i] == bottom_data[i]); + } +} + +TYPED_TEST(NeuronLayerTest, TestReLUGradientWithNegativeSlope) { + typedef typename TypeParam::Dtype Dtype; + LayerParameter layer_param; + ReLULayer layer(layer_param); + layer_param.ParseFromString("relu_param{negative_slope:0.01}"); + GradientChecker checker(1e-2, 1e-3, 1701, 0., 0.01); + checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); +} + TYPED_TEST(NeuronLayerTest, TestSigmoid) { typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; From ba3ea2b6b1733a330057aff7e94e64834b2df439 Mon Sep 17 00:00:00 2001 From: qipeng Date: Sat, 19 Jul 2014 17:28:52 -0700 Subject: [PATCH 301/408] reduced multiplications & fixed unit test --- src/caffe/layers/relu_layer.cpp | 4 ++-- src/caffe/layers/relu_layer.cu | 4 ++-- src/caffe/test/test_neuron_layer.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/caffe/layers/relu_layer.cpp b/src/caffe/layers/relu_layer.cpp index 57ccf97e046..3a3e8a21afe 100644 --- a/src/caffe/layers/relu_layer.cpp +++ b/src/caffe/layers/relu_layer.cpp @@ -33,8 +33,8 @@ void ReLULayer::Backward_cpu(const vector*>& top, const int count = (*bottom)[0]->count(); Dtype negative_slope = this->layer_param_.relu_param().negative_slope(); for (int i = 0; i < count; ++i) { - bottom_diff[i] = top_diff[i] * (bottom_data[i] >= 0) - + top_diff[i] * negative_slope * (bottom_data[i] < 0); + bottom_diff[i] = top_diff[i] * ((bottom_data[i] >= 0) + + negative_slope * (bottom_data[i] < 0)); } } } diff --git a/src/caffe/layers/relu_layer.cu b/src/caffe/layers/relu_layer.cu index f5a24a9a466..503147c713d 100644 --- a/src/caffe/layers/relu_layer.cu +++ b/src/caffe/layers/relu_layer.cu @@ -39,8 +39,8 @@ template __global__ void ReLUBackward(const int n, const Dtype* in_diff, const Dtype* in_data, Dtype* out_diff, Dtype negative_slope) { CUDA_KERNEL_LOOP(index, n) { - out_diff[index] = in_diff[index] * (in_data[index] >= 0) - + in_diff[index] * (in_data[index] < 0) * negative_slope; + out_diff[index] = in_diff[index] * ((in_data[index] >= 0) + + (in_data[index] < 0) * negative_slope); } } diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index db9b934fb5b..7a7af3188fe 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -81,8 +81,8 @@ TYPED_TEST(NeuronLayerTest, TestReLUWithNegativeSlope) { TYPED_TEST(NeuronLayerTest, TestReLUGradientWithNegativeSlope) { typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - ReLULayer layer(layer_param); layer_param.ParseFromString("relu_param{negative_slope:0.01}"); + ReLULayer layer(layer_param); GradientChecker checker(1e-2, 1e-3, 1701, 0., 0.01); checker.CheckGradientEltwise(&layer, &(this->blob_bottom_vec_), &(this->blob_top_vec_)); From 324973aa6cc9909fc0b09c939f6c0056942cfc04 Mon Sep 17 00:00:00 2001 From: bhack Date: Sun, 13 Jul 2014 01:09:10 +0200 Subject: [PATCH 302/408] Add split dim layer Differentiate top test blob vector size Rename to SplitLayer Add slicing points --- include/caffe/common_layers.hpp | 38 ++++++++ src/caffe/layer_factory.cpp | 2 + src/caffe/layers/slice_layer.cpp | 135 ++++++++++++++++++++++++++++ src/caffe/layers/slice_layer.cu | 74 +++++++++++++++ src/caffe/proto/caffe.proto | 13 ++- src/caffe/test/test_slice_layer.cpp | 131 +++++++++++++++++++++++++++ 6 files changed, 392 insertions(+), 1 deletion(-) create mode 100644 src/caffe/layers/slice_layer.cpp create mode 100644 src/caffe/layers/slice_layer.cu create mode 100644 src/caffe/test/test_slice_layer.cpp diff --git a/include/caffe/common_layers.hpp b/include/caffe/common_layers.hpp index 395ea7d6c98..643c0ee4147 100644 --- a/include/caffe/common_layers.hpp +++ b/include/caffe/common_layers.hpp @@ -178,6 +178,44 @@ class SplitLayer : public Layer { int count_; }; +/* SliceLayer + Takes one blobs and slice it along either num or + channel dim, outputting the result. +*/ +template +class SliceLayer : public Layer { + public: + explicit SliceLayer(const LayerParameter& param) + : Layer(param) {} + virtual void SetUp(const vector*>& bottom, + vector*>* top); + + virtual inline LayerParameter_LayerType type() const { + return LayerParameter_LayerType_SLICE; + } + virtual inline int ExactNumBottomBlobs() const { return 1; } + virtual inline int MinTopBlobs() const { return 2; } + + protected: + virtual Dtype Forward_cpu(const vector*>& bottom, + vector*>* top); + virtual Dtype Forward_gpu(const vector*>& bottom, + vector*>* top); + virtual void Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + virtual void Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom); + + Blob col_bob_; + int count_; + int num_; + int channels_; + int height_; + int width_; + int slice_dim_; + google::protobuf::RepeatedField slice_point_; +}; + } // namespace caffe #endif // CAFFE_COMMON_LAYERS_HPP_ diff --git a/src/caffe/layer_factory.cpp b/src/caffe/layer_factory.cpp index e6cbe187c3c..de960214153 100644 --- a/src/caffe/layer_factory.cpp +++ b/src/caffe/layer_factory.cpp @@ -71,6 +71,8 @@ Layer* GetLayer(const LayerParameter& param) { return new SigmoidLayer(param); case LayerParameter_LayerType_SIGMOID_CROSS_ENTROPY_LOSS: return new SigmoidCrossEntropyLossLayer(param); + case LayerParameter_LayerType_SLICE: + return new SliceLayer(param); case LayerParameter_LayerType_SOFTMAX: return new SoftmaxLayer(param); case LayerParameter_LayerType_SOFTMAX_LOSS: diff --git a/src/caffe/layers/slice_layer.cpp b/src/caffe/layers/slice_layer.cpp new file mode 100644 index 00000000000..c6a9b05e221 --- /dev/null +++ b/src/caffe/layers/slice_layer.cpp @@ -0,0 +1,135 @@ +// Copyright 2014 BVLC and contributors. + +#include + +#include "caffe/layer.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/util/math_functions.hpp" + +namespace caffe { + +template +void SliceLayer::SetUp(const vector*>& bottom, + vector*>* top) { + Layer::SetUp(bottom, top); + slice_dim_ = this->layer_param_.slice_param().slice_dim(); + slice_point_ = this->layer_param_.slice_param().slice_point(); + CHECK_GE(slice_dim_, 0) << + "slice_dim should be >= 0"; + CHECK_LE(slice_dim_, 1) << + "For now slice_dim <=1, it can only slice num and channels"; + count_ = 0; + num_ = bottom[0]->num(); + channels_ = bottom[0]->channels(); + height_ = bottom[0]->height(); + width_ = bottom[0]->width(); + if (slice_point_.size() != 0) { + CHECK_EQ(slice_point_.size(), top->size()-1); + if (slice_dim_ == 0) { + CHECK_LE(top->size(), num_); + } else { + CHECK_LE(top->size(), channels_); + } + int prev = 0; + vector slices; + for (int i = 0; i < slice_point_.size(); ++i) { + CHECK_GT(slice_point_.Get(i), prev); + slices.push_back(slice_point_.Get(i) - prev); + prev = slice_point_.Get(i); + } + if (slice_dim_ == 0) { + slices.push_back(num_ - prev); + for (int i = 0; i < top->size(); ++i) { + (*top)[i]->Reshape(slices[i], channels_, height_, width_); + count_ += (*top)[i]->count(); + } + } else { + slices.push_back(channels_ - prev); + for (int i = 0; i < top->size(); ++i) { + (*top)[i]->Reshape(num_, slices[i], height_, width_); + count_ += (*top)[i]->count(); + } + } + + } else { + if (slice_dim_ == 0) { + int remainder = num_%top->size(); + CHECK_EQ(remainder, 0); + num_ = num_/top->size(); + } else { + int remainder = channels_%top->size(); + CHECK_EQ(remainder, 0); + channels_ = channels_/top->size(); + } + for (int i = 0; i < top->size(); ++i) { + (*top)[i]->Reshape(num_, channels_, height_, width_); + count_ += (*top)[i]->count(); + } + } + CHECK_EQ(count_, bottom[0]->count()); +} + +template +Dtype SliceLayer::Forward_cpu(const vector*>& bottom, + vector*>* top) { + const Dtype* bottom_data = bottom[0]->mutable_cpu_data(); + if (slice_dim_ == 0) { + int offset_num = 0; + for (int i = 0; i < top->size(); ++i) { + Blob* blob = (*top)[i]; + Dtype* top_data = blob->mutable_cpu_data(); + caffe_copy(blob->count(), bottom_data + bottom[0]->offset(offset_num), + top_data); + offset_num += blob->num(); + } + } else if (slice_dim_ == 1) { + int offset_channel = 0; + for (int i = 0; i < top->size(); ++i) { + Blob* blob = (*top)[i]; + Dtype* top_data = blob->mutable_cpu_data(); + int num_elem = blob->channels()*blob->height()*blob->width(); + for (int n = 0; n < num_; ++n) { + caffe_copy(num_elem, bottom_data + bottom[0]->offset(n, offset_channel), + top_data + blob->offset(n)); + } + offset_channel += blob->channels(); + } + } // slice_dim_ is guaranteed to be 0 or 1 by SetU + return Dtype(0.); +} + +template +void SliceLayer::Backward_cpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom) { + Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); + if (slice_dim_ == 0) { + int offset_num = 0; + for (int i = 0; i < top.size(); ++i) { + Blob* blob = top[i]; + if (propagate_down[i]) { + const Dtype* top_diff = blob->cpu_diff(); + caffe_copy(blob->count(), top_diff, + bottom_diff + (*bottom)[0]->offset(offset_num)); + } + offset_num += blob->num(); + } + } else if (slice_dim_ == 1) { + int offset_channel = 0; + for (int i = 0; i < top.size(); ++i) { + Blob* blob = top[i]; + if (propagate_down[i]) { + const Dtype* top_diff = blob->cpu_diff(); + int num_elem = blob->channels()*blob->height()*blob->width(); + for (int n = 0; n < num_; ++n) { + caffe_copy(num_elem, top_diff + blob->offset(n), + bottom_diff + (*bottom)[0]->offset(n, offset_channel)); + } + } + offset_channel += blob->channels(); + } + } // slice_dim_ is guaranteed to be 0 or 1 by SetUp. +} + +INSTANTIATE_CLASS(SliceLayer); + +} // namespace caffe diff --git a/src/caffe/layers/slice_layer.cu b/src/caffe/layers/slice_layer.cu new file mode 100644 index 00000000000..c2eeb5c7d95 --- /dev/null +++ b/src/caffe/layers/slice_layer.cu @@ -0,0 +1,74 @@ +// Copyright 2014 BVLC and contributors. + +#include + +#include "caffe/layer.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/util/math_functions.hpp" + +namespace caffe { + +template +Dtype SliceLayer::Forward_gpu(const vector*>& bottom, + vector*>* top) { + const Dtype* bottom_data = bottom[0]->mutable_gpu_data(); + if (slice_dim_ == 0) { + int offset_num = 0; + for (int i = 0; i < top->size(); ++i) { + Blob* blob = (*top)[i]; + Dtype* top_data = blob->mutable_gpu_data(); + caffe_copy(blob->count(), bottom_data + bottom[0]->offset(offset_num), + top_data); + offset_num += blob->num(); + } + } else if (slice_dim_ == 1) { + int offset_channel = 0; + for (int i = 0; i < top->size(); ++i) { + Blob* blob = (*top)[i]; + Dtype* top_data = blob->mutable_gpu_data(); + int num_elem = blob->channels()*blob->height()*blob->width(); + for (int n = 0; n < num_; ++n) { + caffe_copy(num_elem, bottom_data + bottom[0]->offset(n, offset_channel), + top_data + blob->offset(n)); + } + offset_channel += blob->channels(); + } + } // slice_dim_ is guaranteed to be 0 or 1 by SetU + return Dtype(0.); +} + +template +void SliceLayer::Backward_gpu(const vector*>& top, + const vector& propagate_down, vector*>* bottom) { + Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); + if (slice_dim_ == 0) { + int offset_num = 0; + for (int i = 0; i < top.size(); ++i) { + Blob* blob = top[i]; + if (propagate_down[i]) { + const Dtype* top_diff = blob->gpu_diff(); + caffe_copy(blob->count(), top_diff, + bottom_diff + (*bottom)[0]->offset(offset_num)); + } + offset_num += blob->num(); + } + } else if (slice_dim_ == 1) { + int offset_channel = 0; + for (int i = 0; i < top.size(); ++i) { + Blob* blob = top[i]; + if (propagate_down[i]) { + const Dtype* top_diff = blob->gpu_diff(); + int num_elem = blob->channels()*blob->height()*blob->width(); + for (int n = 0; n < num_; ++n) { + caffe_copy(num_elem, top_diff + blob->offset(n), + bottom_diff + (*bottom)[0]->offset(n, offset_channel)); + } + } + offset_channel += blob->channels(); + } + } // slice_dim_ is guaranteed to be 0 or 1 by SetUp. +} + +INSTANTIATE_CLASS(SliceLayer); + +} // namespace caffe diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 9c3ddfe7ed5..d1d5336a9c8 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -129,7 +129,7 @@ message LayerParameter { // line above the enum. Update the next available ID when you add a new // LayerType. // - // LayerType next available ID: 33 (last added: DUMMY_DATA) + // LayerType next available ID: 34 (last added: SLICE) enum LayerType { // "NONE" layer type is 0th enum element so that we don't cause confusion // by defaulting to an existent LayerType (instead, should usually error if @@ -164,6 +164,7 @@ message LayerParameter { SOFTMAX = 20; SOFTMAX_LOSS = 21; SPLIT = 22; + SLICE = 33; TANH = 23; WINDOW_DATA = 24; THRESHOLD = 31; @@ -211,6 +212,7 @@ message LayerParameter { optional WindowDataParameter window_data_param = 20; optional ThresholdParameter threshold_param = 25; optional HingeLossParameter hinge_loss_param = 29; + optional SliceParameter slice_param=30; // DEPRECATED: The layer parameters specified as a V0LayerParameter. // This should never be used by any code except to upgrade to the new @@ -440,6 +442,15 @@ message ReLUParameter { optional float negative_slope = 1 [default = 0]; } +// Message that stores parameters used by SliceLayer +message SliceParameter { + // Slice Layer needs to specify the dimension along the slice will happen, + // the other dimensions must be the same for all the bottom blobs + // By default it will slice blobs along channels dimension + optional uint32 slice_dim = 1 [default = 1]; + repeated uint32 slice_point = 2; +} + // Message that stores parameters used by WindowDataLayer message WindowDataParameter { // Specify the data source. diff --git a/src/caffe/test/test_slice_layer.cpp b/src/caffe/test/test_slice_layer.cpp new file mode 100644 index 00000000000..8f7bb60171b --- /dev/null +++ b/src/caffe/test/test_slice_layer.cpp @@ -0,0 +1,131 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include + +#include "cuda_runtime.h" +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/filler.hpp" +#include "caffe/vision_layers.hpp" +#include "caffe/test/test_gradient_check_util.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +namespace caffe { + +extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; + +template +class SliceLayerTest : public ::testing::Test { + protected: + SliceLayerTest() + : blob_bottom_(new Blob(6, 12, 6, 5)), + blob_top_0(new Blob()), + blob_top_1(new Blob()), + blob_top_2(new Blob()) {} + virtual void SetUp() { + // fill the values + FillerParameter filler_param; + filler_param.set_value(1.); + ConstantFiller filler(filler_param); + filler.Fill(this->blob_bottom_); + blob_top_vec_0.push_back(blob_top_0); + blob_top_vec_0.push_back(blob_top_1); + blob_top_vec_1.push_back(blob_top_0); + blob_top_vec_1.push_back(blob_top_1); + blob_top_vec_1.push_back(blob_top_2); + blob_bottom_vec_.push_back(blob_bottom_); + } + + virtual ~SliceLayerTest() { + delete blob_top_0; delete blob_top_1; + delete blob_top_2; delete blob_bottom_; + } + + Blob* const blob_bottom_; + Blob* const blob_top_0; + Blob* const blob_top_1; + Blob* const blob_top_2; + vector*> blob_top_vec_0, blob_top_vec_1; + vector*> blob_bottom_vec_; +}; + +typedef ::testing::Types Dtypes; +TYPED_TEST_CASE(SliceLayerTest, Dtypes); + +TYPED_TEST(SliceLayerTest, TestCPUSetupNum) { + LayerParameter layer_param; + layer_param.mutable_slice_param()->set_slice_dim(0); + SliceLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_1)); + EXPECT_EQ(this->blob_bottom_->num(), + this->blob_top_0->num() + this->blob_top_1->num() + + this->blob_top_2->num()); + EXPECT_EQ(this->blob_bottom_->channels(), this->blob_top_0->channels()); + EXPECT_EQ(this->blob_bottom_->height(), this->blob_top_0->height()); + EXPECT_EQ(this->blob_bottom_->width(), this->blob_top_0->width()); +} + +TYPED_TEST(SliceLayerTest, TestCPUSetupChannels) { + LayerParameter layer_param; + layer_param.mutable_slice_param()->add_slice_point(3); + SliceLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_0)); + EXPECT_EQ(this->blob_top_0->num(), this->blob_bottom_->num()); + EXPECT_EQ(this->blob_top_0->channels(), 3); + EXPECT_EQ(this->blob_top_1->channels(), 9); + EXPECT_EQ(this->blob_bottom_->channels(), + this->blob_top_0->channels()+this->blob_top_1->channels()); + EXPECT_EQ(this->blob_bottom_->height(), this->blob_top_0->height()); + EXPECT_EQ(this->blob_bottom_->width(), this->blob_top_0->width()); +} + + +TYPED_TEST(SliceLayerTest, TestCPUNum) { + LayerParameter layer_param; + SliceLayer layer(layer_param); + Caffe::set_mode(Caffe::CPU); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_0)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_0)); + for (int n = 0; n < this->blob_bottom_->num(); ++n) { + for (int c = 0; c < this->blob_top_0->channels(); ++c) { + for (int h = 0; h < this->blob_bottom_->height(); ++h) { + for (int w = 0; w < this->blob_bottom_->width(); ++w) { + EXPECT_EQ(this->blob_bottom_->data_at(n, c, h, w), + this->blob_top_vec_0[0]->data_at(n, c, h, w)); + } + } + } + for (int c = 0; c < this->blob_top_1->channels(); ++c) { + for (int h = 0; h < this->blob_bottom_->height(); ++h) { + for (int w = 0; w < this->blob_bottom_->width(); ++w) { + EXPECT_EQ(this->blob_bottom_->data_at(n, c+3, h, w), + this->blob_top_vec_0[1]->data_at(n, c, h, w)); + } + } + } + } +} + + +TYPED_TEST(SliceLayerTest, TestCPUGradient) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::CPU); + SliceLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradient(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_0)); +} + +TYPED_TEST(SliceLayerTest, TestGPUGradient) { + LayerParameter layer_param; + Caffe::set_mode(Caffe::GPU); + SliceLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradient(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_0)); +} + +} // namespace caffe From 5db5b31c5928eb18a4d77d49d09d84c6289c0414 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 22 Jul 2014 00:44:53 -0700 Subject: [PATCH 303/408] SliceLayer: post-rebase fixes, cleanup, etc. (some from changes suggested by @sguada). Test for both num & channels in forward & backward; use GaussianFiller so that tests are non-trivial. --- include/caffe/common_layers.hpp | 6 +- src/caffe/layers/slice_layer.cpp | 69 +++++----- src/caffe/layers/slice_layer.cu | 27 ++-- src/caffe/proto/caffe.proto | 11 +- src/caffe/test/test_slice_layer.cpp | 187 ++++++++++++++++++---------- 5 files changed, 181 insertions(+), 119 deletions(-) diff --git a/include/caffe/common_layers.hpp b/include/caffe/common_layers.hpp index 643c0ee4147..5d872452ae2 100644 --- a/include/caffe/common_layers.hpp +++ b/include/caffe/common_layers.hpp @@ -179,8 +179,8 @@ class SplitLayer : public Layer { }; /* SliceLayer - Takes one blobs and slice it along either num or - channel dim, outputting the result. + Takes one blobs and slices it along either num or channel dim, + outputting the result into as many top blobs as needed. */ template class SliceLayer : public Layer { @@ -213,7 +213,7 @@ class SliceLayer : public Layer { int height_; int width_; int slice_dim_; - google::protobuf::RepeatedField slice_point_; + vector slice_point_; }; } // namespace caffe diff --git a/src/caffe/layers/slice_layer.cpp b/src/caffe/layers/slice_layer.cpp index c6a9b05e221..e895e4f0b8a 100644 --- a/src/caffe/layers/slice_layer.cpp +++ b/src/caffe/layers/slice_layer.cpp @@ -12,19 +12,21 @@ template void SliceLayer::SetUp(const vector*>& bottom, vector*>* top) { Layer::SetUp(bottom, top); - slice_dim_ = this->layer_param_.slice_param().slice_dim(); - slice_point_ = this->layer_param_.slice_param().slice_point(); - CHECK_GE(slice_dim_, 0) << - "slice_dim should be >= 0"; - CHECK_LE(slice_dim_, 1) << - "For now slice_dim <=1, it can only slice num and channels"; + const SliceParameter& slice_param = this->layer_param_.slice_param(); + slice_dim_ = slice_param.slice_dim(); + CHECK_GE(slice_dim_, 0); + CHECK_LE(slice_dim_, 1) << "Can only slice num and channels"; + slice_point_.clear(); + for (int i = 0; i < slice_param.slice_point_size(); ++i) { + slice_point_.push_back(slice_param.slice_point(i)); + } count_ = 0; num_ = bottom[0]->num(); channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); width_ = bottom[0]->width(); if (slice_point_.size() != 0) { - CHECK_EQ(slice_point_.size(), top->size()-1); + CHECK_EQ(slice_point_.size(), top->size() - 1); if (slice_dim_ == 0) { CHECK_LE(top->size(), num_); } else { @@ -33,9 +35,9 @@ void SliceLayer::SetUp(const vector*>& bottom, int prev = 0; vector slices; for (int i = 0; i < slice_point_.size(); ++i) { - CHECK_GT(slice_point_.Get(i), prev); - slices.push_back(slice_point_.Get(i) - prev); - prev = slice_point_.Get(i); + CHECK_GT(slice_point_[i], prev); + slices.push_back(slice_point_[i] - prev); + prev = slice_point_[i]; } if (slice_dim_ == 0) { slices.push_back(num_ - prev); @@ -53,17 +55,19 @@ void SliceLayer::SetUp(const vector*>& bottom, } else { if (slice_dim_ == 0) { - int remainder = num_%top->size(); - CHECK_EQ(remainder, 0); - num_ = num_/top->size(); + CHECK_EQ(num_ % top->size(), 0) + << "Number of top blobs (" << top->size() << ") " + << "should evenly divide input num ( " << num_ << ")"; + num_ = num_ / top->size(); } else { - int remainder = channels_%top->size(); - CHECK_EQ(remainder, 0); - channels_ = channels_/top->size(); + CHECK_EQ(channels_ % top->size(), 0) + << "Number of top blobs (" << top->size() << ") " + << "should evenly divide input channels ( " << channels_ << ")"; + channels_ = channels_ / top->size(); } for (int i = 0; i < top->size(); ++i) { (*top)[i]->Reshape(num_, channels_, height_, width_); - count_ += (*top)[i]->count(); + count_ += (*top)[i]->count(); } } CHECK_EQ(count_, bottom[0]->count()); @@ -87,49 +91,50 @@ Dtype SliceLayer::Forward_cpu(const vector*>& bottom, for (int i = 0; i < top->size(); ++i) { Blob* blob = (*top)[i]; Dtype* top_data = blob->mutable_cpu_data(); - int num_elem = blob->channels()*blob->height()*blob->width(); + const int num_elem = blob->channels() * blob->height() * blob->width(); for (int n = 0; n < num_; ++n) { caffe_copy(num_elem, bottom_data + bottom[0]->offset(n, offset_channel), - top_data + blob->offset(n)); + top_data + blob->offset(n)); } offset_channel += blob->channels(); } - } // slice_dim_ is guaranteed to be 0 or 1 by SetU + } // slice_dim_ is guaranteed to be 0 or 1 by SetUp. return Dtype(0.); } template void SliceLayer::Backward_cpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { + if (!propagate_down[0]) { return; } Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); if (slice_dim_ == 0) { int offset_num = 0; for (int i = 0; i < top.size(); ++i) { Blob* blob = top[i]; - if (propagate_down[i]) { - const Dtype* top_diff = blob->cpu_diff(); - caffe_copy(blob->count(), top_diff, - bottom_diff + (*bottom)[0]->offset(offset_num)); - } + const Dtype* top_diff = blob->cpu_diff(); + caffe_copy(blob->count(), top_diff, + bottom_diff + (*bottom)[0]->offset(offset_num)); offset_num += blob->num(); } } else if (slice_dim_ == 1) { int offset_channel = 0; for (int i = 0; i < top.size(); ++i) { Blob* blob = top[i]; - if (propagate_down[i]) { - const Dtype* top_diff = blob->cpu_diff(); - int num_elem = blob->channels()*blob->height()*blob->width(); - for (int n = 0; n < num_; ++n) { - caffe_copy(num_elem, top_diff + blob->offset(n), - bottom_diff + (*bottom)[0]->offset(n, offset_channel)); - } + const Dtype* top_diff = blob->cpu_diff(); + const int num_elem = blob->channels() * blob->height() * blob->width(); + for (int n = 0; n < num_; ++n) { + caffe_copy(num_elem, top_diff + blob->offset(n), + bottom_diff + (*bottom)[0]->offset(n, offset_channel)); } offset_channel += blob->channels(); } } // slice_dim_ is guaranteed to be 0 or 1 by SetUp. } +#ifdef CPU_ONLY +STUB_GPU(SliceLayer); +#endif + INSTANTIATE_CLASS(SliceLayer); } // namespace caffe diff --git a/src/caffe/layers/slice_layer.cu b/src/caffe/layers/slice_layer.cu index c2eeb5c7d95..3ea8d57659d 100644 --- a/src/caffe/layers/slice_layer.cu +++ b/src/caffe/layers/slice_layer.cu @@ -26,43 +26,40 @@ Dtype SliceLayer::Forward_gpu(const vector*>& bottom, for (int i = 0; i < top->size(); ++i) { Blob* blob = (*top)[i]; Dtype* top_data = blob->mutable_gpu_data(); - int num_elem = blob->channels()*blob->height()*blob->width(); + const int num_elem = blob->channels() * blob->height() * blob->width(); for (int n = 0; n < num_; ++n) { caffe_copy(num_elem, bottom_data + bottom[0]->offset(n, offset_channel), - top_data + blob->offset(n)); + top_data + blob->offset(n)); } offset_channel += blob->channels(); } - } // slice_dim_ is guaranteed to be 0 or 1 by SetU + } // slice_dim_ is guaranteed to be 0 or 1 by SetUp. return Dtype(0.); } template void SliceLayer::Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom) { + if (!propagate_down[0]) { return; } Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); if (slice_dim_ == 0) { int offset_num = 0; for (int i = 0; i < top.size(); ++i) { Blob* blob = top[i]; - if (propagate_down[i]) { - const Dtype* top_diff = blob->gpu_diff(); - caffe_copy(blob->count(), top_diff, - bottom_diff + (*bottom)[0]->offset(offset_num)); - } + const Dtype* top_diff = blob->gpu_diff(); + caffe_copy(blob->count(), top_diff, + bottom_diff + (*bottom)[0]->offset(offset_num)); offset_num += blob->num(); } } else if (slice_dim_ == 1) { int offset_channel = 0; for (int i = 0; i < top.size(); ++i) { Blob* blob = top[i]; - if (propagate_down[i]) { - const Dtype* top_diff = blob->gpu_diff(); - int num_elem = blob->channels()*blob->height()*blob->width(); - for (int n = 0; n < num_; ++n) { - caffe_copy(num_elem, top_diff + blob->offset(n), - bottom_diff + (*bottom)[0]->offset(n, offset_channel)); - } + const Dtype* top_diff = blob->gpu_diff(); + const int num_elem = blob->channels() * blob->height() * blob->width(); + for (int n = 0; n < num_; ++n) { + caffe_copy(num_elem, top_diff + blob->offset(n), + bottom_diff + (*bottom)[0]->offset(n, offset_channel)); } offset_channel += blob->channels(); } diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index d1d5336a9c8..34cf8443f56 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -117,7 +117,7 @@ message SolverState { // NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available ID: 31 (last added: relu_param) +// LayerParameter next available ID: 32 (last added: slice_param) message LayerParameter { repeated string bottom = 2; // the name of the bottom blobs repeated string top = 3; // the name of the top blobs @@ -212,7 +212,7 @@ message LayerParameter { optional WindowDataParameter window_data_param = 20; optional ThresholdParameter threshold_param = 25; optional HingeLossParameter hinge_loss_param = 29; - optional SliceParameter slice_param=30; + optional SliceParameter slice_param = 31; // DEPRECATED: The layer parameters specified as a V0LayerParameter. // This should never be used by any code except to upgrade to the new @@ -444,9 +444,10 @@ message ReLUParameter { // Message that stores parameters used by SliceLayer message SliceParameter { - // Slice Layer needs to specify the dimension along the slice will happen, - // the other dimensions must be the same for all the bottom blobs - // By default it will slice blobs along channels dimension + // SliceLayer needs to know which dimension to slice across. + // Currently, SliceLayer only supports slicing across num (dim 0) + // and channels (dim 1). + // By default, SliceLayer slices across channels. optional uint32 slice_dim = 1 [default = 1]; repeated uint32 slice_point = 2; } diff --git a/src/caffe/test/test_slice_layer.cpp b/src/caffe/test/test_slice_layer.cpp index 8f7bb60171b..59f6a8d4c66 100644 --- a/src/caffe/test/test_slice_layer.cpp +++ b/src/caffe/test/test_slice_layer.cpp @@ -3,7 +3,6 @@ #include #include -#include "cuda_runtime.h" #include "gtest/gtest.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" @@ -15,117 +14,177 @@ namespace caffe { -extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; +template +class SliceLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; -template -class SliceLayerTest : public ::testing::Test { protected: SliceLayerTest() - : blob_bottom_(new Blob(6, 12, 6, 5)), - blob_top_0(new Blob()), - blob_top_1(new Blob()), - blob_top_2(new Blob()) {} + : blob_bottom_(new Blob(6, 12, 2, 3)), + blob_top_0_(new Blob()), + blob_top_1_(new Blob()), + blob_top_2_(new Blob()) {} virtual void SetUp() { // fill the values + Caffe::set_random_seed(1701); FillerParameter filler_param; - filler_param.set_value(1.); - ConstantFiller filler(filler_param); + GaussianFiller filler(filler_param); filler.Fill(this->blob_bottom_); - blob_top_vec_0.push_back(blob_top_0); - blob_top_vec_0.push_back(blob_top_1); - blob_top_vec_1.push_back(blob_top_0); - blob_top_vec_1.push_back(blob_top_1); - blob_top_vec_1.push_back(blob_top_2); + blob_top_vec_0_.push_back(blob_top_0_); + blob_top_vec_0_.push_back(blob_top_1_); + blob_top_vec_1_.push_back(blob_top_0_); + blob_top_vec_1_.push_back(blob_top_1_); + blob_top_vec_1_.push_back(blob_top_2_); blob_bottom_vec_.push_back(blob_bottom_); } + virtual void ReduceBottomBlobSize() { + blob_bottom_->Reshape(4, 5, 2, 2); + FillerParameter filler_param; + GaussianFiller filler(filler_param); + filler.Fill(this->blob_bottom_); + } + virtual ~SliceLayerTest() { - delete blob_top_0; delete blob_top_1; - delete blob_top_2; delete blob_bottom_; + delete blob_top_0_; delete blob_top_1_; + delete blob_top_2_; delete blob_bottom_; } Blob* const blob_bottom_; - Blob* const blob_top_0; - Blob* const blob_top_1; - Blob* const blob_top_2; - vector*> blob_top_vec_0, blob_top_vec_1; + Blob* const blob_top_0_; + Blob* const blob_top_1_; + Blob* const blob_top_2_; + vector*> blob_top_vec_0_, blob_top_vec_1_; vector*> blob_bottom_vec_; }; -typedef ::testing::Types Dtypes; -TYPED_TEST_CASE(SliceLayerTest, Dtypes); +TYPED_TEST_CASE(SliceLayerTest, TestDtypesAndDevices); -TYPED_TEST(SliceLayerTest, TestCPUSetupNum) { +TYPED_TEST(SliceLayerTest, TestSetupNum) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; layer_param.mutable_slice_param()->set_slice_dim(0); - SliceLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_1)); - EXPECT_EQ(this->blob_bottom_->num(), - this->blob_top_0->num() + this->blob_top_1->num() + - this->blob_top_2->num()); - EXPECT_EQ(this->blob_bottom_->channels(), this->blob_top_0->channels()); - EXPECT_EQ(this->blob_bottom_->height(), this->blob_top_0->height()); - EXPECT_EQ(this->blob_bottom_->width(), this->blob_top_0->width()); + SliceLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_1_)); + EXPECT_EQ(this->blob_bottom_->num(), 3 * this->blob_top_0_->num()); + EXPECT_EQ(this->blob_top_0_->num(), this->blob_top_1_->num()); + EXPECT_EQ(this->blob_top_0_->num(), this->blob_top_2_->num()); + EXPECT_EQ(this->blob_bottom_->channels(), this->blob_top_0_->channels()); + EXPECT_EQ(this->blob_bottom_->height(), this->blob_top_0_->height()); + EXPECT_EQ(this->blob_bottom_->width(), this->blob_top_0_->width()); } -TYPED_TEST(SliceLayerTest, TestCPUSetupChannels) { +TYPED_TEST(SliceLayerTest, TestSetupChannels) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; layer_param.mutable_slice_param()->add_slice_point(3); - SliceLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_0)); - EXPECT_EQ(this->blob_top_0->num(), this->blob_bottom_->num()); - EXPECT_EQ(this->blob_top_0->channels(), 3); - EXPECT_EQ(this->blob_top_1->channels(), 9); + SliceLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_0_)); + EXPECT_EQ(this->blob_top_0_->num(), this->blob_bottom_->num()); + EXPECT_EQ(this->blob_top_0_->channels(), 3); + EXPECT_EQ(this->blob_top_1_->channels(), 9); EXPECT_EQ(this->blob_bottom_->channels(), - this->blob_top_0->channels()+this->blob_top_1->channels()); - EXPECT_EQ(this->blob_bottom_->height(), this->blob_top_0->height()); - EXPECT_EQ(this->blob_bottom_->width(), this->blob_top_0->width()); + this->blob_top_0_->channels() + this->blob_top_1_->channels()); + EXPECT_EQ(this->blob_bottom_->height(), this->blob_top_0_->height()); + EXPECT_EQ(this->blob_bottom_->width(), this->blob_top_0_->width()); } +TYPED_TEST(SliceLayerTest, TestSliceAcrossNum) { + typedef typename TypeParam::Dtype Dtype; + LayerParameter layer_param; + layer_param.mutable_slice_param()->set_slice_dim(0); + SliceLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_0_)); + const int top_num = this->blob_bottom_->num() / 2; + ASSERT_EQ(top_num, this->blob_top_0_->num()); + ASSERT_EQ(top_num, this->blob_top_1_->num()); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_0_)); + for (int n = 0; n < top_num; ++n) { + for (int c = 0; c < this->blob_top_0_->channels(); ++c) { + for (int h = 0; h < this->blob_bottom_->height(); ++h) { + for (int w = 0; w < this->blob_bottom_->width(); ++w) { + EXPECT_EQ(this->blob_bottom_->data_at(n, c, h, w), + this->blob_top_0_->data_at(n, c, h, w)); + } + } + } + for (int c = 0; c < this->blob_top_1_->channels(); ++c) { + for (int h = 0; h < this->blob_bottom_->height(); ++h) { + for (int w = 0; w < this->blob_bottom_->width(); ++w) { + EXPECT_EQ(this->blob_bottom_->data_at(n + 3, c, h, w), + this->blob_top_1_->data_at(n, c, h, w)); + } + } + } + } +} -TYPED_TEST(SliceLayerTest, TestCPUNum) { +TYPED_TEST(SliceLayerTest, TestSliceAcrossChannels) { + typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; - SliceLayer layer(layer_param); - Caffe::set_mode(Caffe::CPU); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_0)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_0)); + // Slice at 2, 8: should produce output blobs with #channels 2, 6, 4. + const int kSlicePoint0 = 2; + const int kSlicePoint1 = 8; + layer_param.mutable_slice_param()->add_slice_point(kSlicePoint0); + layer_param.mutable_slice_param()->add_slice_point(kSlicePoint1); + SliceLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_1_)); + ASSERT_EQ(kSlicePoint0, this->blob_top_0_->channels()); + ASSERT_EQ(kSlicePoint1 - kSlicePoint0, this->blob_top_1_->channels()); + ASSERT_EQ(this->blob_bottom_->channels() - kSlicePoint1, + this->blob_top_2_->channels()); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_1_)); for (int n = 0; n < this->blob_bottom_->num(); ++n) { - for (int c = 0; c < this->blob_top_0->channels(); ++c) { + for (int c = 0; c < this->blob_top_0_->channels(); ++c) { for (int h = 0; h < this->blob_bottom_->height(); ++h) { for (int w = 0; w < this->blob_bottom_->width(); ++w) { EXPECT_EQ(this->blob_bottom_->data_at(n, c, h, w), - this->blob_top_vec_0[0]->data_at(n, c, h, w)); + this->blob_top_0_->data_at(n, c, h, w)); } } } - for (int c = 0; c < this->blob_top_1->channels(); ++c) { + for (int c = 0; c < this->blob_top_1_->channels(); ++c) { for (int h = 0; h < this->blob_bottom_->height(); ++h) { for (int w = 0; w < this->blob_bottom_->width(); ++w) { - EXPECT_EQ(this->blob_bottom_->data_at(n, c+3, h, w), - this->blob_top_vec_0[1]->data_at(n, c, h, w)); + EXPECT_EQ(this->blob_bottom_->data_at(n, c + kSlicePoint0, h, w), + this->blob_top_1_->data_at(n, c, h, w)); + } + } + } + for (int c = 0; c < this->blob_top_2_->channels(); ++c) { + for (int h = 0; h < this->blob_bottom_->height(); ++h) { + for (int w = 0; w < this->blob_bottom_->width(); ++w) { + EXPECT_EQ(this->blob_bottom_->data_at(n, c + kSlicePoint1, h, w), + this->blob_top_2_->data_at(n, c, h, w)); } } } } } - -TYPED_TEST(SliceLayerTest, TestCPUGradient) { +TYPED_TEST(SliceLayerTest, TestGradientAcrossNum) { + typedef typename TypeParam::Dtype Dtype; + // Gradient checks are slow; reduce blob size. + this->ReduceBottomBlobSize(); LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); - SliceLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradient(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_0)); + layer_param.mutable_slice_param()->set_slice_dim(0); + SliceLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_0_)); } -TYPED_TEST(SliceLayerTest, TestGPUGradient) { +TYPED_TEST(SliceLayerTest, TestGradientAcrossChannels) { + typedef typename TypeParam::Dtype Dtype; + // Gradient checks are slow; reduce blob size. + this->ReduceBottomBlobSize(); LayerParameter layer_param; - Caffe::set_mode(Caffe::GPU); - SliceLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); - checker.CheckGradient(&layer, &(this->blob_bottom_vec_), - &(this->blob_top_vec_0)); + const int kSlicePoint = 4; + layer_param.mutable_slice_param()->add_slice_point(kSlicePoint); + SliceLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-3); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_0_)); } } // namespace caffe From 4bd3624c3e85b9d78449a047af1a2f7e274ddd3b Mon Sep 17 00:00:00 2001 From: bhack Date: Tue, 22 Jul 2014 19:25:45 +0200 Subject: [PATCH 304/408] Fix repeated field copy loop Fix lint algorithm include Fix spaces --- src/caffe/layers/slice_layer.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/caffe/layers/slice_layer.cpp b/src/caffe/layers/slice_layer.cpp index e895e4f0b8a..e8231e357d9 100644 --- a/src/caffe/layers/slice_layer.cpp +++ b/src/caffe/layers/slice_layer.cpp @@ -1,6 +1,7 @@ // Copyright 2014 BVLC and contributors. #include +#include #include "caffe/layer.hpp" #include "caffe/vision_layers.hpp" @@ -17,9 +18,9 @@ void SliceLayer::SetUp(const vector*>& bottom, CHECK_GE(slice_dim_, 0); CHECK_LE(slice_dim_, 1) << "Can only slice num and channels"; slice_point_.clear(); - for (int i = 0; i < slice_param.slice_point_size(); ++i) { - slice_point_.push_back(slice_param.slice_point(i)); - } + std::copy(slice_param.slice_point().begin(), + slice_param.slice_point().end(), + std::back_inserter(slice_point_)); count_ = 0; num_ = bottom[0]->num(); channels_ = bottom[0]->channels(); From 0ade27b6eda30062ee7a204563d8f28808372012 Mon Sep 17 00:00:00 2001 From: Ross Girshick Date: Tue, 22 Jul 2014 12:51:48 -0700 Subject: [PATCH 305/408] Correctly apply padding to pooling layers when upgrading from V0 --- src/caffe/util/upgrade_proto.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/caffe/util/upgrade_proto.cpp b/src/caffe/util/upgrade_proto.cpp index a17beed70a7..e1a48f194e1 100644 --- a/src/caffe/util/upgrade_proto.cpp +++ b/src/caffe/util/upgrade_proto.cpp @@ -82,11 +82,13 @@ void UpgradeV0PaddingLayers(const NetParameter& param, LayerParameter source_layer = param.layers(top_idx); if (source_layer.layer().type() == "padding") { // This layer has a padding layer as input -- check that it is a conv - // layer and takes only one input. Also check that the padding layer - // input has only one input and one output. Other cases have undefined - // behavior in Caffe. - CHECK_EQ(layer_param.type(), "conv") << "Padding layer input to " - "non-convolutional layer type " << layer_param.type(); + // layer or a pooling layer and takes only one input. Also check that + // the padding layer input has only one input and one output. Other + // cases have undefined behavior in Caffe. + CHECK((layer_param.type() == "conv") || (layer_param.type() == "pool")) + << "Padding layer input to " + "non-convolutional / non-pooling layer type " + << layer_param.type(); CHECK_EQ(layer_connection.bottom_size(), 1) << "Conv Layer takes a single blob as input."; CHECK_EQ(source_layer.bottom_size(), 1) @@ -186,6 +188,8 @@ bool UpgradeLayerParameter(const LayerParameter& v0_layer_connection, if (v0_layer_param.has_pad()) { if (type == "conv") { layer_param->mutable_convolution_param()->set_pad(v0_layer_param.pad()); + } else if (type == "pool") { + layer_param->mutable_pooling_param()->set_pad(v0_layer_param.pad()); } else { LOG(ERROR) << "Unknown parameter pad for layer type " << type; is_fully_compatible = false; From 1ceb791ab0c2bee3344ed3f7c724f3e19429cd62 Mon Sep 17 00:00:00 2001 From: Ross Girshick Date: Tue, 22 Jul 2014 20:06:48 -0700 Subject: [PATCH 306/408] Use the same CXX for matcaffe as for the rest of the build --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index b25d1ba798d..058d3d9c26e 100644 --- a/Makefile +++ b/Makefile @@ -351,6 +351,7 @@ $(MAT$(PROJECT)_SO): $(MAT$(PROJECT)_SRC) $(STATIC_NAME) exit 1; \ fi $(MATLAB_DIR)/bin/mex $(MAT$(PROJECT)_SRC) \ + CXX="$(CXX)" \ CXXFLAGS="\$$CXXFLAGS $(MATLAB_CXXFLAGS)" \ CXXLIBS="\$$CXXLIBS $(STATIC_NAME) $(LDFLAGS)" -output $@ @ echo From bd6527b0f306d923f5bea03502483408dab46edf Mon Sep 17 00:00:00 2001 From: qipeng Date: Wed, 23 Jul 2014 11:48:19 -0700 Subject: [PATCH 307/408] numerical stability improvement --- src/caffe/layers/relu_layer.cpp | 4 ++-- src/caffe/layers/relu_layer.cu | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/caffe/layers/relu_layer.cpp b/src/caffe/layers/relu_layer.cpp index 3a3e8a21afe..b94086df98c 100644 --- a/src/caffe/layers/relu_layer.cpp +++ b/src/caffe/layers/relu_layer.cpp @@ -33,8 +33,8 @@ void ReLULayer::Backward_cpu(const vector*>& top, const int count = (*bottom)[0]->count(); Dtype negative_slope = this->layer_param_.relu_param().negative_slope(); for (int i = 0; i < count; ++i) { - bottom_diff[i] = top_diff[i] * ((bottom_data[i] >= 0) - + negative_slope * (bottom_data[i] < 0)); + bottom_diff[i] = top_diff[i] * ((bottom_data[i] > 0) + + negative_slope * (bottom_data[i] <= 0)); } } } diff --git a/src/caffe/layers/relu_layer.cu b/src/caffe/layers/relu_layer.cu index 503147c713d..e0d6aa1b5c3 100644 --- a/src/caffe/layers/relu_layer.cu +++ b/src/caffe/layers/relu_layer.cu @@ -39,8 +39,8 @@ template __global__ void ReLUBackward(const int n, const Dtype* in_diff, const Dtype* in_data, Dtype* out_diff, Dtype negative_slope) { CUDA_KERNEL_LOOP(index, n) { - out_diff[index] = in_diff[index] * ((in_data[index] >= 0) - + (in_data[index] < 0) * negative_slope); + out_diff[index] = in_diff[index] * ((in_data[index] > 0) + + (in_data[index] <= 0) * negative_slope); } } From 15bc0f767fa0b8f12302f81e86654bd11daf8bea Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Wed, 23 Jul 2014 22:47:25 -0700 Subject: [PATCH 308/408] add gflags dependency to caffe. --- Makefile | 4 +-- include/caffe/common.hpp | 4 +++ src/caffe/common.cpp | 57 ++++++++++++++++++++++++---------------- 3 files changed, 41 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index 109894dd7c7..6f0da361a69 100644 --- a/Makefile +++ b/Makefile @@ -155,8 +155,8 @@ ifneq ($(CPU_ONLY), 1) LIBRARY_DIRS += $(CUDA_LIB_DIR) LIBRARIES := cudart cublas curand endif -LIBRARIES += pthread \ - glog protobuf leveldb snappy \ +LIBRARIES += \ + glog gflags pthread protobuf leveldb snappy \ lmdb \ boost_system \ hdf5_hl hdf5 \ diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index 2c79f2bc326..ff8649ad2a1 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -80,6 +80,10 @@ using std::set; using std::string; using std::vector; +// A global initialization function that you should call in your main function. +// Currently it initializes google flags and google logging. +void GlobalInit(int* pargc, char*** pargv); + // A singleton class to hold common caffe stuff, such as the handler that // caffe is going to use for cublas, curand, etc. class Caffe { diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index e8765eebff1..5894a961dcc 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -1,11 +1,14 @@ // Copyright 2014 BVLC and contributors. +#include +#include #include #include #include "caffe/common.hpp" #include "caffe/util/rng.hpp" + namespace caffe { shared_ptr Caffe::singleton_; @@ -19,6 +22,14 @@ int64_t cluster_seedgen(void) { return seed; } + +void GlobalInit(int* pargc, char*** pargv) { + // Google flags. + ::gflags::ParseCommandLineFlags(pargc, pargv, true); + // Google logging. + ::google::InitGoogleLogging(*(pargv)[0]); +} + #ifdef CPU_ONLY // CPU-only Caffe. Caffe::Caffe() @@ -138,28 +149,30 @@ void Caffe::DeviceQuery() { return; } CUDA_CHECK(cudaGetDeviceProperties(&prop, device)); - printf("Device id: %d\n", device); - printf("Major revision number: %d\n", prop.major); - printf("Minor revision number: %d\n", prop.minor); - printf("Name: %s\n", prop.name); - printf("Total global memory: %lu\n", prop.totalGlobalMem); - printf("Total shared memory per block: %lu\n", prop.sharedMemPerBlock); - printf("Total registers per block: %d\n", prop.regsPerBlock); - printf("Warp size: %d\n", prop.warpSize); - printf("Maximum memory pitch: %lu\n", prop.memPitch); - printf("Maximum threads per block: %d\n", prop.maxThreadsPerBlock); - printf("Maximum dimension of block: %d, %d, %d\n", - prop.maxThreadsDim[0], prop.maxThreadsDim[1], prop.maxThreadsDim[2]); - printf("Maximum dimension of grid: %d, %d, %d\n", - prop.maxGridSize[0], prop.maxGridSize[1], prop.maxGridSize[2]); - printf("Clock rate: %d\n", prop.clockRate); - printf("Total constant memory: %lu\n", prop.totalConstMem); - printf("Texture alignment: %lu\n", prop.textureAlignment); - printf("Concurrent copy and execution: %s\n", - (prop.deviceOverlap ? "Yes" : "No")); - printf("Number of multiprocessors: %d\n", prop.multiProcessorCount); - printf("Kernel execution timeout: %s\n", - (prop.kernelExecTimeoutEnabled ? "Yes" : "No")); + LOG(INFO) << "Device id: " << device; + LOG(INFO) << "Major revision number: " << prop.major; + LOG(INFO) << "Minor revision number: " << prop.minor; + LOG(INFO) << "Name: " << prop.name; + LOG(INFO) << "Total global memory: " << prop.totalGlobalMem; + LOG(INFO) << "Total shared memory per block: " << prop.sharedMemPerBlock; + LOG(INFO) << "Total registers per block: " << prop.regsPerBlock; + LOG(INFO) << "Warp size: " << prop.warpSize; + LOG(INFO) << "Maximum memory pitch: " << prop.memPitch; + LOG(INFO) << "Maximum threads per block: " << prop.maxThreadsPerBlock; + LOG(INFO) << "Maximum dimension of block: " + << prop.maxThreadsDim[0] << ", " << prop.maxThreadsDim[1] << ", " + << prop.maxThreadsDim[2]; + LOG(INFO) << "Maximum dimension of grid: " + << prop.maxGridSize[0] << ", " << prop.maxGridSize[1] << ", " + << prop.maxGridSize[2]; + LOG(INFO) << "Clock rate: " << prop.clockRate; + LOG(INFO) << "Total constant memory: " << prop.totalConstMem; + LOG(INFO) << "Texture alignment: " << prop.textureAlignment; + LOG(INFO) << "Concurrent copy and execution: " + << (prop.deviceOverlap ? "Yes" : "No"); + LOG(INFO) << "Number of multiprocessors: " << prop.multiProcessorCount; + LOG(INFO) << "Kernel execution timeout: " + << (prop.kernelExecTimeoutEnabled ? "Yes" : "No"); return; } From d13d6a2a642c2753588e867614a8bf6e3d81e80e Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Wed, 23 Jul 2014 22:47:58 -0700 Subject: [PATCH 309/408] add gflags dependency doc --- docs/installation.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index c32f2d0a43c..6ff1887574b 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -71,12 +71,22 @@ And on **CentOS or RHEL**, you can install via yum using: sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel -The only exception being the google logging library, which does not exist in the Ubuntu 12.04 or CentOS/RHEL repositories. To install it, do: +The only exceptions being the google logging library and the google flags library, which does not exist in the Ubuntu 12.04 or CentOS/RHEL repositories. To install them, do: + # glog wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz tar zxvf glog-0.3.3.tar.gz ./configure make && make install + # gflags + wget https://github.com/schuhschuh/gflags/archive/master.zip + unzip master.zip + cd gflags-master + mkdir build && cd build + cmake .. + make && make install + +Note that if you have newer versions of Ubuntu, like 13.04 or 14.04, gflags may be available under apt-get. #### OS X From 09f196bf26f7ae95c0ace981c78389a4578c5bed Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Wed, 23 Jul 2014 22:49:16 -0700 Subject: [PATCH 310/408] gflags should preferrably be installed before glog --- docs/installation.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index 6ff1887574b..5f092594dec 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -71,13 +71,8 @@ And on **CentOS or RHEL**, you can install via yum using: sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel -The only exceptions being the google logging library and the google flags library, which does not exist in the Ubuntu 12.04 or CentOS/RHEL repositories. To install them, do: +The only exceptions being the google flags library and the google logging library, which does not exist in the Ubuntu 12.04 or CentOS/RHEL repositories. To install them, do: - # glog - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz - tar zxvf glog-0.3.3.tar.gz - ./configure - make && make install # gflags wget https://github.com/schuhschuh/gflags/archive/master.zip unzip master.zip @@ -85,6 +80,11 @@ The only exceptions being the google logging library and the google flags librar mkdir build && cd build cmake .. make && make install + # glog + wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz + tar zxvf glog-0.3.3.tar.gz + ./configure + make && make install Note that if you have newer versions of Ubuntu, like 13.04 or 14.04, gflags may be available under apt-get. From 57d7ecbc464c36cbf635ebb8bc510b003f7944f1 Mon Sep 17 00:00:00 2001 From: TANGUY Arnaud Date: Wed, 16 Jul 2014 15:20:15 +0200 Subject: [PATCH 311/408] Cleanup pthread code for data layers Get rid of the ugly "friend" thread function. Simplify the creation of the thread by inheriting from a base class. Thus, defining the thread is as simple as overriding a virtual function. --- include/caffe/data_layers.hpp | 36 +++-------- include/caffe/internal_thread.hpp | 46 ++++++++++++++ src/caffe/layers/data_layer.cpp | 83 ++++++++++++-------------- src/caffe/layers/image_data_layer.cpp | 60 +++++++++---------- src/caffe/layers/window_data_layer.cpp | 56 ++++++++--------- src/caffe/test/test_power_layer.cpp | 2 - 6 files changed, 144 insertions(+), 139 deletions(-) create mode 100644 include/caffe/internal_thread.hpp diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 1bb6bceb8c8..107d7800d1e 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -9,7 +9,6 @@ #include "leveldb/db.h" #include "lmdb.h" -#include "pthread.h" #include "hdf5.h" #include "boost/scoped_ptr.hpp" @@ -18,6 +17,7 @@ #include "caffe/filler.hpp" #include "caffe/layer.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/internal_thread.hpp" namespace caffe { @@ -27,15 +27,8 @@ namespace caffe { // TODO: DataLayer, ImageDataLayer, and WindowDataLayer all have the // same basic structure and a lot of duplicated code. -// This function is used to create a pthread that prefetches the data. template -void* DataLayerPrefetch(void* layer_pointer); - -template -class DataLayer : public Layer { - // The function used to perform prefetching. - friend void* DataLayerPrefetch(void* layer_pointer); - +class DataLayer : public Layer, public InternalThread { public: explicit DataLayer(const LayerParameter& param) : Layer(param) {} @@ -63,6 +56,8 @@ class DataLayer : public Layer { virtual void CreatePrefetchThread(); virtual void JoinPrefetchThread(); virtual unsigned int PrefetchRand(); + // The thread's function + virtual void InternalThreadEntry(); shared_ptr prefetch_rng_; @@ -80,7 +75,6 @@ class DataLayer : public Layer { int datum_height_; int datum_width_; int datum_size_; - pthread_t thread_; Blob prefetch_data_; Blob prefetch_label_; Blob data_mean_; @@ -182,15 +176,8 @@ class HDF5OutputLayer : public Layer { Blob label_blob_; }; -// This function is used to create a pthread that prefetches the data. -template -void* ImageDataLayerPrefetch(void* layer_pointer); - template -class ImageDataLayer : public Layer { - // The function used to perform prefetching. - friend void* ImageDataLayerPrefetch(void* layer_pointer); - +class ImageDataLayer : public Layer, public InternalThread { public: explicit ImageDataLayer(const LayerParameter& param) : Layer(param) {} @@ -219,6 +206,7 @@ class ImageDataLayer : public Layer { virtual void CreatePrefetchThread(); virtual void JoinPrefetchThread(); virtual unsigned int PrefetchRand(); + virtual void InternalThreadEntry(); shared_ptr prefetch_rng_; vector > lines_; @@ -227,7 +215,6 @@ class ImageDataLayer : public Layer { int datum_height_; int datum_width_; int datum_size_; - pthread_t thread_; Blob prefetch_data_; Blob prefetch_label_; Blob data_mean_; @@ -277,15 +264,8 @@ class MemoryDataLayer : public Layer { int pos_; }; -// This function is used to create a pthread that prefetches the window data. -template -void* WindowDataLayerPrefetch(void* layer_pointer); - template -class WindowDataLayer : public Layer { - // The function used to perform prefetching. - friend void* WindowDataLayerPrefetch(void* layer_pointer); - +class WindowDataLayer : public Layer, public InternalThread { public: explicit WindowDataLayer(const LayerParameter& param) : Layer(param) {} @@ -312,9 +292,9 @@ class WindowDataLayer : public Layer { virtual void CreatePrefetchThread(); virtual void JoinPrefetchThread(); virtual unsigned int PrefetchRand(); + virtual void InternalThreadEntry(); shared_ptr prefetch_rng_; - pthread_t thread_; Blob prefetch_data_; Blob prefetch_label_; Blob data_mean_; diff --git a/include/caffe/internal_thread.hpp b/include/caffe/internal_thread.hpp new file mode 100644 index 00000000000..46f67360f0c --- /dev/null +++ b/include/caffe/internal_thread.hpp @@ -0,0 +1,46 @@ +// Copyright 2014 BVLC and contributors. + +#ifndef CAFFE_INTERNAL_THREAD_HPP_ +#define CAFFE_INTERNAL_THREAD_HPP_ + +#include + +namespace caffe { + +/** + * Virutal class encapsulate pthread for use in base class + * The child class will acquire the ability to run a single pthread, + * by reimplementing the virutal function InternalThreadEntry. + */ +class InternalThread { + public: + InternalThread() {} + virtual ~InternalThread() {} + + /** Returns true if the thread was successfully started **/ + bool StartInternalThread() { + return pthread_create(&_thread, NULL, InternalThreadEntryFunc, this); + } + + /** Will not return until the internal thread has exited. */ + bool WaitForInternalThreadToExit() { + return pthread_join(_thread, NULL); + } + + protected: + /* Implement this method in your subclass + with the code you want your thread to run. */ + virtual void InternalThreadEntry() = 0; + + private: + static void * InternalThreadEntryFunc(void * This) { + reinterpret_cast(This)->InternalThreadEntry(); + return NULL; + } + + pthread_t _thread; +}; + +} // namespace caffe + +#endif diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index b6afaa972f9..ef27c1a3f1f 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -2,7 +2,6 @@ #include #include -#include #include #include @@ -16,46 +15,44 @@ namespace caffe { +// This function is used to create a pthread that prefetches the data. template -void* DataLayerPrefetch(void* layer_pointer) { - CHECK(layer_pointer); - DataLayer* layer = static_cast*>(layer_pointer); - CHECK(layer); +void DataLayer::InternalThreadEntry() { Datum datum; - CHECK(layer->prefetch_data_.count()); - Dtype* top_data = layer->prefetch_data_.mutable_cpu_data(); + CHECK(prefetch_data_.count()); + Dtype* top_data = prefetch_data_.mutable_cpu_data(); Dtype* top_label = NULL; // suppress warnings about uninitialized variables - if (layer->output_labels_) { - top_label = layer->prefetch_label_.mutable_cpu_data(); + if (output_labels_) { + top_label = prefetch_label_.mutable_cpu_data(); } - const Dtype scale = layer->layer_param_.data_param().scale(); - const int batch_size = layer->layer_param_.data_param().batch_size(); - const int crop_size = layer->layer_param_.data_param().crop_size(); - const bool mirror = layer->layer_param_.data_param().mirror(); + const Dtype scale = this->layer_param_.data_param().scale(); + const int batch_size = this->layer_param_.data_param().batch_size(); + const int crop_size = this->layer_param_.data_param().crop_size(); + const bool mirror = this->layer_param_.data_param().mirror(); if (mirror && crop_size == 0) { LOG(FATAL) << "Current implementation requires mirror and crop_size to be " << "set at the same time."; } // datum scales - const int channels = layer->datum_channels_; - const int height = layer->datum_height_; - const int width = layer->datum_width_; - const int size = layer->datum_size_; - const Dtype* mean = layer->data_mean_.cpu_data(); + const int channels = datum_channels_; + const int height = datum_height_; + const int width = datum_width_; + const int size = datum_size_; + const Dtype* mean = data_mean_.cpu_data(); for (int item_id = 0; item_id < batch_size; ++item_id) { // get a blob - switch (layer->layer_param_.data_param().backend()) { + switch (this->layer_param_.data_param().backend()) { case DataParameter_DB_LEVELDB: - CHECK(layer->iter_); - CHECK(layer->iter_->Valid()); - datum.ParseFromString(layer->iter_->value().ToString()); + CHECK(iter_); + CHECK(iter_->Valid()); + datum.ParseFromString(iter_->value().ToString()); break; case DataParameter_DB_LMDB: - CHECK_EQ(mdb_cursor_get(layer->mdb_cursor_, &layer->mdb_key_, - &layer->mdb_value_, MDB_GET_CURRENT), MDB_SUCCESS); - datum.ParseFromArray(layer->mdb_value_.mv_data, - layer->mdb_value_.mv_size); + CHECK_EQ(mdb_cursor_get(mdb_cursor_, &mdb_key_, + &mdb_value_, MDB_GET_CURRENT), MDB_SUCCESS); + datum.ParseFromArray(mdb_value_.mv_data, + mdb_value_.mv_size); break; default: LOG(FATAL) << "Unknown database backend"; @@ -66,14 +63,14 @@ void* DataLayerPrefetch(void* layer_pointer) { CHECK(data.size()) << "Image cropping only support uint8 data"; int h_off, w_off; // We only do random crop when we do training. - if (layer->phase_ == Caffe::TRAIN) { - h_off = layer->PrefetchRand() % (height - crop_size); - w_off = layer->PrefetchRand() % (width - crop_size); + if (phase_ == Caffe::TRAIN) { + h_off = PrefetchRand() % (height - crop_size); + w_off = PrefetchRand() % (width - crop_size); } else { h_off = (height - crop_size) / 2; w_off = (width - crop_size) / 2; } - if (mirror && layer->PrefetchRand() % 2) { + if (mirror && PrefetchRand() % 2) { // Copy mirrored version for (int c = 0; c < channels; ++c) { for (int h = 0; h < crop_size; ++h) { @@ -118,34 +115,32 @@ void* DataLayerPrefetch(void* layer_pointer) { } } - if (layer->output_labels_) { + if (output_labels_) { top_label[item_id] = datum.label(); } // go to the next iter - switch (layer->layer_param_.data_param().backend()) { + switch (this->layer_param_.data_param().backend()) { case DataParameter_DB_LEVELDB: - layer->iter_->Next(); - if (!layer->iter_->Valid()) { + iter_->Next(); + if (!iter_->Valid()) { // We have reached the end. Restart from the first. DLOG(INFO) << "Restarting data prefetching from start."; - layer->iter_->SeekToFirst(); + iter_->SeekToFirst(); } break; case DataParameter_DB_LMDB: - if (mdb_cursor_get(layer->mdb_cursor_, &layer->mdb_key_, - &layer->mdb_value_, MDB_NEXT) != MDB_SUCCESS) { + if (mdb_cursor_get(mdb_cursor_, &mdb_key_, + &mdb_value_, MDB_NEXT) != MDB_SUCCESS) { // We have reached the end. Restart from the first. DLOG(INFO) << "Restarting data prefetching from start."; - CHECK_EQ(mdb_cursor_get(layer->mdb_cursor_, &layer->mdb_key_, - &layer->mdb_value_, MDB_FIRST), MDB_SUCCESS); + CHECK_EQ(mdb_cursor_get(mdb_cursor_, &mdb_key_, + &mdb_value_, MDB_FIRST), MDB_SUCCESS); } break; default: LOG(FATAL) << "Unknown database backend"; } } - - return static_cast(NULL); } template @@ -323,14 +318,12 @@ void DataLayer::CreatePrefetchThread() { } else { prefetch_rng_.reset(); } - // Create the thread. - CHECK(!pthread_create(&thread_, NULL, DataLayerPrefetch, - static_cast(this))) << "Pthread execution failed."; + CHECK(!StartInternalThread()) << "Pthread execution failed"; } template void DataLayer::JoinPrefetchThread() { - CHECK(!pthread_join(thread_, NULL)) << "Pthread joining failed."; + CHECK(!WaitForInternalThreadToExit()) << "Pthread joining failed"; } template diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index 30050ddd3c6..1ba2a3b2456 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -2,7 +2,6 @@ #include #include -#include #include #include @@ -18,17 +17,14 @@ namespace caffe { +// This function is used to create a pthread that prefetches the data. template -void* ImageDataLayerPrefetch(void* layer_pointer) { - CHECK(layer_pointer); - ImageDataLayer* layer = - reinterpret_cast*>(layer_pointer); - CHECK(layer); +void ImageDataLayer::InternalThreadEntry() { Datum datum; - CHECK(layer->prefetch_data_.count()); - Dtype* top_data = layer->prefetch_data_.mutable_cpu_data(); - Dtype* top_label = layer->prefetch_label_.mutable_cpu_data(); - ImageDataParameter image_data_param = layer->layer_param_.image_data_param(); + CHECK(prefetch_data_.count()); + Dtype* top_data = prefetch_data_.mutable_cpu_data(); + Dtype* top_label = prefetch_label_.mutable_cpu_data(); + ImageDataParameter image_data_param = this->layer_param_.image_data_param(); const Dtype scale = image_data_param.scale(); const int batch_size = image_data_param.batch_size(); const int crop_size = image_data_param.crop_size(); @@ -41,17 +37,17 @@ void* ImageDataLayerPrefetch(void* layer_pointer) { << "set at the same time."; } // datum scales - const int channels = layer->datum_channels_; - const int height = layer->datum_height_; - const int width = layer->datum_width_; - const int size = layer->datum_size_; - const int lines_size = layer->lines_.size(); - const Dtype* mean = layer->data_mean_.cpu_data(); + const int channels = datum_channels_; + const int height = datum_height_; + const int width = datum_width_; + const int size = datum_size_; + const int lines_size = lines_.size(); + const Dtype* mean = data_mean_.cpu_data(); for (int item_id = 0; item_id < batch_size; ++item_id) { // get a blob - CHECK_GT(lines_size, layer->lines_id_); - if (!ReadImageToDatum(layer->lines_[layer->lines_id_].first, - layer->lines_[layer->lines_id_].second, + CHECK_GT(lines_size, lines_id_); + if (!ReadImageToDatum(lines_[lines_id_].first, + lines_[lines_id_].second, new_height, new_width, &datum)) { continue; } @@ -60,14 +56,14 @@ void* ImageDataLayerPrefetch(void* layer_pointer) { CHECK(data.size()) << "Image cropping only support uint8 data"; int h_off, w_off; // We only do random crop when we do training. - if (layer->phase_ == Caffe::TRAIN) { - h_off = layer->PrefetchRand() % (height - crop_size); - w_off = layer->PrefetchRand() % (width - crop_size); + if (phase_ == Caffe::TRAIN) { + h_off = PrefetchRand() % (height - crop_size); + w_off = PrefetchRand() % (width - crop_size); } else { h_off = (height - crop_size) / 2; w_off = (width - crop_size) / 2; } - if (mirror && layer->PrefetchRand() % 2) { + if (mirror && PrefetchRand() % 2) { // Copy mirrored version for (int c = 0; c < channels; ++c) { for (int h = 0; h < crop_size; ++h) { @@ -114,18 +110,16 @@ void* ImageDataLayerPrefetch(void* layer_pointer) { top_label[item_id] = datum.label(); // go to the next iter - layer->lines_id_++; - if (layer->lines_id_ >= lines_size) { + lines_id_++; + if (lines_id_ >= lines_size) { // We have reached the end. Restart from the first. DLOG(INFO) << "Restarting data prefetching from start."; - layer->lines_id_ = 0; - if (layer->layer_param_.image_data_param().shuffle()) { - layer->ShuffleImages(); + lines_id_ = 0; + if (this->layer_param_.image_data_param().shuffle()) { + ShuffleImages(); } } } - - return reinterpret_cast(NULL); } template @@ -239,8 +233,7 @@ void ImageDataLayer::CreatePrefetchThread() { prefetch_rng_.reset(); } // Create the thread. - CHECK(!pthread_create(&thread_, NULL, ImageDataLayerPrefetch, - static_cast(this))) << "Pthread execution failed."; + CHECK(!StartInternalThread()) << "Pthread execution failed"; } template @@ -255,9 +248,10 @@ void ImageDataLayer::ShuffleImages() { } } + template void ImageDataLayer::JoinPrefetchThread() { - CHECK(!pthread_join(thread_, NULL)) << "Pthread joining failed."; + CHECK(!WaitForInternalThreadToExit()) << "Pthread joining failed"; } template diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index 9b4a23d22a8..fe7f61c91df 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -3,7 +3,6 @@ // Based on data_layer.cpp by Yangqing Jia. #include -#include #include #include @@ -28,34 +27,32 @@ namespace caffe { +// Thread fetching the data template -void* WindowDataLayerPrefetch(void* layer_pointer) { - WindowDataLayer* layer = - reinterpret_cast*>(layer_pointer); - +void WindowDataLayer::InternalThreadEntry() { // At each iteration, sample N windows where N*p are foreground (object) // windows and N*(1-p) are background (non-object) windows - Dtype* top_data = layer->prefetch_data_.mutable_cpu_data(); - Dtype* top_label = layer->prefetch_label_.mutable_cpu_data(); - const Dtype scale = layer->layer_param_.window_data_param().scale(); - const int batch_size = layer->layer_param_.window_data_param().batch_size(); - const int crop_size = layer->layer_param_.window_data_param().crop_size(); - const int context_pad = layer->layer_param_.window_data_param().context_pad(); - const bool mirror = layer->layer_param_.window_data_param().mirror(); + Dtype* top_data = prefetch_data_.mutable_cpu_data(); + Dtype* top_label = prefetch_label_.mutable_cpu_data(); + const Dtype scale = this->layer_param_.window_data_param().scale(); + const int batch_size = this->layer_param_.window_data_param().batch_size(); + const int crop_size = this->layer_param_.window_data_param().crop_size(); + const int context_pad = this->layer_param_.window_data_param().context_pad(); + const bool mirror = this->layer_param_.window_data_param().mirror(); const float fg_fraction = - layer->layer_param_.window_data_param().fg_fraction(); - const Dtype* mean = layer->data_mean_.cpu_data(); - const int mean_off = (layer->data_mean_.width() - crop_size) / 2; - const int mean_width = layer->data_mean_.width(); - const int mean_height = layer->data_mean_.height(); + this->layer_param_.window_data_param().fg_fraction(); + const Dtype* mean = data_mean_.cpu_data(); + const int mean_off = (data_mean_.width() - crop_size) / 2; + const int mean_width = data_mean_.width(); + const int mean_height = data_mean_.height(); cv::Size cv_crop_size(crop_size, crop_size); - const string& crop_mode = layer->layer_param_.window_data_param().crop_mode(); + const string& crop_mode = this->layer_param_.window_data_param().crop_mode(); bool use_square = (crop_mode == "square") ? true : false; // zero out batch - caffe_set(layer->prefetch_data_.count(), Dtype(0), top_data); + caffe_set(prefetch_data_.count(), Dtype(0), top_data); const int num_fg = static_cast(static_cast(batch_size) * fg_fraction); @@ -66,24 +63,24 @@ void* WindowDataLayerPrefetch(void* layer_pointer) { for (int is_fg = 0; is_fg < 2; ++is_fg) { for (int dummy = 0; dummy < num_samples[is_fg]; ++dummy) { // sample a window - const unsigned int rand_index = layer->PrefetchRand(); + const unsigned int rand_index = PrefetchRand(); vector window = (is_fg) ? - layer->fg_windows_[rand_index % layer->fg_windows_.size()] : - layer->bg_windows_[rand_index % layer->bg_windows_.size()]; + fg_windows_[rand_index % fg_windows_.size()] : + bg_windows_[rand_index % bg_windows_.size()]; bool do_mirror = false; - if (mirror && layer->PrefetchRand() % 2) { + if (mirror && PrefetchRand() % 2) { do_mirror = true; } // load the image containing the window pair > image = - layer->image_database_[window[WindowDataLayer::IMAGE_INDEX]]; + image_database_[window[WindowDataLayer::IMAGE_INDEX]]; cv::Mat cv_img = cv::imread(image.first, CV_LOAD_IMAGE_COLOR); if (!cv_img.data) { LOG(ERROR) << "Could not open or find file " << image.first; - return reinterpret_cast(NULL); + return; } const int channels = cv_img.channels(); @@ -210,7 +207,7 @@ void* WindowDataLayerPrefetch(void* layer_pointer) { // useful debugging code for dumping transformed windows to disk string file_id; std::stringstream ss; - ss << layer->PrefetchRand(); + ss << PrefetchRand(); ss >> file_id; std::ofstream inf((string("dump/") + file_id + string("_info.txt")).c_str(), std::ofstream::out); @@ -242,8 +239,6 @@ void* WindowDataLayerPrefetch(void* layer_pointer) { item_id++; } } - - return reinterpret_cast(NULL); } template @@ -415,13 +410,12 @@ void WindowDataLayer::CreatePrefetchThread() { prefetch_rng_.reset(); } // Create the thread. - CHECK(!pthread_create(&thread_, NULL, WindowDataLayerPrefetch, - static_cast(this))) << "Pthread execution failed."; + CHECK(!StartInternalThread()) << "Pthread execution failed."; } template void WindowDataLayer::JoinPrefetchThread() { - CHECK(!pthread_join(thread_, NULL)) << "Pthread joining failed."; + CHECK(!WaitForInternalThreadToExit()) << "Pthread joining failed."; } template diff --git a/src/caffe/test/test_power_layer.cpp b/src/caffe/test/test_power_layer.cpp index d4e6fc5b05e..44fcbd9117c 100644 --- a/src/caffe/test/test_power_layer.cpp +++ b/src/caffe/test/test_power_layer.cpp @@ -13,8 +13,6 @@ #include "caffe/test/test_caffe_main.hpp" -using std::isnan; - namespace caffe { template From 5fbf4af1387bf31b194ba61175c905ea92a80adb Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Thu, 24 Jul 2014 09:28:46 -0700 Subject: [PATCH 312/408] travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index c5445fcdb90..a61e5084f87 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,6 +17,7 @@ before_install: - sudo apt-get -y install wget git curl python-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev bc install: + - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && cmake .. && make && sudo make install && popd - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb From 6136f5dcb7b840e00eb1efcda5640f992fe10cf7 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Thu, 24 Jul 2014 10:28:06 -0700 Subject: [PATCH 313/408] travis - does adding cflags help? want to keep minimal invasion into gflags installation. --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index a61e5084f87..5d8beb13902 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,6 +15,8 @@ before_install: - echo $LC_ALL - sudo apt-get -y update - sudo apt-get -y install wget git curl python-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev bc + - export CFLAGS="-fPIC" + - export CXXFLAGS="-fPIC" install: - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && cmake .. && make && sudo make install && popd From 781630d0e979192ce34c2485d49d40bb772b5349 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Thu, 24 Jul 2014 10:48:04 -0700 Subject: [PATCH 314/408] turns out that glog does not compile with gflags 2.1 - compiling glog first and then gflags. --- .travis.yml | 4 +--- docs/installation.md | 12 ++++++------ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5d8beb13902..fd04ac247ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,12 +15,10 @@ before_install: - echo $LC_ALL - sudo apt-get -y update - sudo apt-get -y install wget git curl python-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev protobuf-compiler libatlas-dev libatlas-base-dev bc - - export CFLAGS="-fPIC" - - export CXXFLAGS="-fPIC" install: - - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && cmake .. && make && sudo make install && popd - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz + - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && cmake .. && make && sudo make install && popd - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb - sudo apt-get -y update && sudo apt-get -y install cuda diff --git a/docs/installation.md b/docs/installation.md index 5f092594dec..a74071f8ecb 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -73,6 +73,11 @@ And on **CentOS or RHEL**, you can install via yum using: The only exceptions being the google flags library and the google logging library, which does not exist in the Ubuntu 12.04 or CentOS/RHEL repositories. To install them, do: + # glog + wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz + tar zxvf glog-0.3.3.tar.gz + ./configure + make && make install # gflags wget https://github.com/schuhschuh/gflags/archive/master.zip unzip master.zip @@ -80,13 +85,8 @@ The only exceptions being the google flags library and the google logging librar mkdir build && cd build cmake .. make && make install - # glog - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz - tar zxvf glog-0.3.3.tar.gz - ./configure - make && make install -Note that if you have newer versions of Ubuntu, like 13.04 or 14.04, gflags may be available under apt-get. +Note that glog does not compile with the most recent gflags version (2.1), so before that is solved you will need to build with gflags first. Also note that if you have newer versions of Ubuntu, like 13.04 or 14.04, gflags may be available under apt-get. #### OS X From ca7d992c30d0284e7bbba3c4823baca1b9ed979c Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Thu, 24 Jul 2014 10:53:53 -0700 Subject: [PATCH 315/408] I am really bad at debugging travis. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fd04ac247ac..d2c850b3964 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,8 +18,8 @@ before_install: install: - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz - - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && cmake .. && make && sudo make install && popd - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - + - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && cmake .. && make && sudo make install && popd - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb - sudo apt-get -y update && sudo apt-get -y install cuda - curl https://gitorious.org/mdb/mdb/archive/7f038d0f15bec57b4c07aa3f31cd5564c88a1897.tar.gz -o /tmp/mdb.tar.gz && tar -C /tmp -xzvf /tmp/mdb.tar.gz && rm /tmp/mdb.tar.gz From e8dc0ee5f76876caf7993a476aecf1f91c6fd1fc Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Thu, 24 Jul 2014 11:05:58 -0700 Subject: [PATCH 316/408] travis: gflags still needs -fPIC, otherwise it makes caffe cry. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d2c850b3964..72291e40c7f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ before_install: install: - wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz -O /tmp/glog-0.3.3.tar.gz && tar -C /tmp -xzvf /tmp/glog-0.3.3.tar.gz && rm /tmp/glog-0.3.3.tar.gz - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - - - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && cmake .. && make && sudo make install && popd + - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1 && sudo make install && popd - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb - sudo apt-get -y update && sudo apt-get -y install cuda - curl https://gitorious.org/mdb/mdb/archive/7f038d0f15bec57b4c07aa3f31cd5564c88a1897.tar.gz -o /tmp/mdb.tar.gz && tar -C /tmp -xzvf /tmp/mdb.tar.gz && rm /tmp/mdb.tar.gz From 6f46bb90294c9f5f544da76594d49c111788612c Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Fri, 25 Jul 2014 09:02:03 -0700 Subject: [PATCH 317/408] include benchmark.hpp --- include/caffe/caffe.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/caffe/caffe.hpp b/include/caffe/caffe.hpp index ada0695472a..172fc5f3bf7 100644 --- a/include/caffe/caffe.hpp +++ b/include/caffe/caffe.hpp @@ -5,15 +5,15 @@ #ifndef CAFFE_CAFFE_HPP_ #define CAFFE_CAFFE_HPP_ -#include "caffe/common.hpp" #include "caffe/blob.hpp" +#include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/layer.hpp" #include "caffe/net.hpp" +#include "caffe/proto/caffe.pb.h" #include "caffe/solver.hpp" +#include "caffe/util/benchmark.hpp" #include "caffe/util/io.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/proto/caffe.pb.h" - #endif // CAFFE_CAFFE_HPP_ From a916ef49fad7b7a3c5faee7df46af3d327aecee9 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Fri, 25 Jul 2014 09:02:37 -0700 Subject: [PATCH 318/408] Adding new caffe binary that does everything in one binary; deprecating device_query, finetune_net, net_speed_benchmark, train_net --- tools/caffe.cpp | 176 ++++++++++++++++++++++++++++++++++ tools/device_query.cpp | 17 +--- tools/finetune_net.cpp | 26 +---- tools/net_speed_benchmark.cpp | 100 +------------------ tools/train_net.cpp | 30 +----- 5 files changed, 184 insertions(+), 165 deletions(-) create mode 100644 tools/caffe.cpp diff --git a/tools/caffe.cpp b/tools/caffe.cpp new file mode 100644 index 00000000000..48352485bc6 --- /dev/null +++ b/tools/caffe.cpp @@ -0,0 +1,176 @@ +#include +#include + +#include +#include + +#include "caffe/caffe.hpp" + +using caffe::Blob; +using caffe::Caffe; +using caffe::Net; +using caffe::Layer; +using caffe::shared_ptr; +using caffe::Timer; +using caffe::string; +using std::vector; + + +// Used in device query +DEFINE_int32(device_id, 0, + "[devicequery,speedtest] The device id to use."); +// Used in training +DEFINE_string(solver_proto_file, "", + "[train] The protobuf containing the solver definition."); +DEFINE_string(net_proto_file, "", + "[speedtest] The net proto file to use."); +DEFINE_string(resume_point_file, "", + "[train] (optional) The snapshot from which to resume training."); +DEFINE_string(pretrained_net_file, "", + "[train] (optional) A pretrained network to run finetune from. " + "Cannot be set simultaneously with resume_point_file."); +DEFINE_int32(run_iterations, 50, + "[speedtest] The number of iterations to run."); +DEFINE_bool(speedtest_with_gpu, false, + "[speedtest] Test the model with GPU."); + +// A simple registry for caffe commands. +typedef int (*BrewFunction)(); +typedef std::map BrewMap; +BrewMap g_brew_map; + +#define RegisterBrewFunction(func) \ + namespace { \ + class __Registerer_##func { \ + public: \ + __Registerer_##func() { \ + g_brew_map[#func] = &func; \ + } \ + }; \ + __Registerer_##func g_registerer_##func; \ + } + +static BrewFunction GetBrewFunction(const std::string& name) { + if (g_brew_map.count(name)) { + return g_brew_map[name]; + } else { + LOG(ERROR) << "Available caffe actions:"; + for (BrewMap::iterator it = g_brew_map.begin(); + it != g_brew_map.end(); ++it) { + LOG(ERROR) << "\t" << it->first; + } + LOG(FATAL) << "Unknown action: " << name; + return NULL; // not reachable, just to suppress old compiler warnings. + } +} + +// caffe actions that could be called in the form +// caffe.bin action +// To do so, define actions as "int action()" functions, and register it with +// RegisterBrewFunction(action); + +int devicequery() { + LOG(INFO) << "Querying device_id = " << FLAGS_device_id; + caffe::Caffe::SetDevice(FLAGS_device_id); + caffe::Caffe::DeviceQuery(); + return 0; +} +RegisterBrewFunction(devicequery); + +int train() { + CHECK_GT(FLAGS_solver_proto_file.size(), 0); + + caffe::SolverParameter solver_param; + caffe::ReadProtoFromTextFileOrDie(FLAGS_solver_proto_file, &solver_param); + + LOG(INFO) << "Starting Optimization"; + caffe::SGDSolver solver(solver_param); + if (FLAGS_resume_point_file.size()) { + LOG(INFO) << "Resuming from " << FLAGS_resume_point_file; + solver.Solve(FLAGS_resume_point_file); + } else if (FLAGS_pretrained_net_file.size()) { + LOG(INFO) << "Finetuning from " << FLAGS_pretrained_net_file; + solver.net()->CopyTrainedLayersFrom(FLAGS_pretrained_net_file); + solver.Solve(); + } else { + solver.Solve(); + } + LOG(INFO) << "Optimization Done."; + return 0; +} +RegisterBrewFunction(train); + +int speedtest() { + // Set device id and mode + if (FLAGS_speedtest_with_gpu) { + LOG(INFO) << "Use GPU with device id " << FLAGS_device_id; + Caffe::SetDevice(FLAGS_device_id); + Caffe::set_mode(Caffe::GPU); + } else { + LOG(INFO) << "Use CPU."; + Caffe::set_mode(Caffe::CPU); + } + // Instantiate the caffe net. + Caffe::set_phase(Caffe::TRAIN); + Net caffe_net(FLAGS_net_proto_file); + + // Do a clean forward and backward pass, so that memory allocation are done + // and future iterations will be more stable. + LOG(INFO) << "Performing Forward"; + // Note that for the speed benchmark, we will assume that the network does + // not take any input blobs. + float initial_loss; + caffe_net.Forward(vector*>(), &initial_loss); + LOG(INFO) << "Initial loss: " << initial_loss; + LOG(INFO) << "Performing Backward"; + caffe_net.Backward(); + + const vector > >& layers = caffe_net.layers(); + vector*> >& bottom_vecs = caffe_net.bottom_vecs(); + vector*> >& top_vecs = caffe_net.top_vecs(); + const vector >& bottom_need_backward = + caffe_net.bottom_need_backward(); + LOG(INFO) << "*** Benchmark begins ***"; + LOG(INFO) << "Testing for " << FLAGS_run_iterations << " iterations."; + Timer total_timer; + total_timer.Start(); + Timer forward_timer; + forward_timer.Start(); + Timer timer; + for (int i = 0; i < layers.size(); ++i) { + const string& layername = layers[i]->layer_param().name(); + timer.Start(); + for (int j = 0; j < FLAGS_run_iterations; ++j) { + layers[i]->Forward(bottom_vecs[i], &top_vecs[i]); + } + LOG(INFO) << layername << "\tforward: " << timer.MilliSeconds() << + " milli seconds."; + } + LOG(INFO) << "Forward pass: " << forward_timer.MilliSeconds() << + " milli seconds."; + Timer backward_timer; + backward_timer.Start(); + for (int i = layers.size() - 1; i >= 0; --i) { + const string& layername = layers[i]->layer_param().name(); + timer.Start(); + for (int j = 0; j < FLAGS_run_iterations; ++j) { + layers[i]->Backward(top_vecs[i], bottom_need_backward[i], + &bottom_vecs[i]); + } + LOG(INFO) << layername << "\tbackward: " + << timer.MilliSeconds() << " milli seconds."; + } + LOG(INFO) << "Backward pass: " << backward_timer.MilliSeconds() << + " milli seconds."; + LOG(INFO) << "Total Time: " << total_timer.MilliSeconds() << + " milli seconds."; + LOG(INFO) << "*** Benchmark ends ***"; + return 0; +} +RegisterBrewFunction(speedtest); + +int main(int argc, char** argv) { + caffe::GlobalInit(&argc, &argv); + CHECK_EQ(argc, 2); + return GetBrewFunction(std::string(argv[1]))(); +} diff --git a/tools/device_query.cpp b/tools/device_query.cpp index 5040b8ee9d1..224a3145308 100644 --- a/tools/device_query.cpp +++ b/tools/device_query.cpp @@ -1,23 +1,8 @@ // Copyright 2014 BVLC and contributors. - #include "caffe/common.hpp" -#include "caffe/net.hpp" - - -using namespace caffe; // NOLINT(build/namespaces) int main(int argc, char** argv) { - if (argc > 2) { - LOG(ERROR) << "device_query [device_id=0]"; - return 1; - } - if (argc == 2) { - LOG(INFO) << "Querying device_id=" << argv[1]; - Caffe::SetDevice(atoi(argv[1])); - Caffe::DeviceQuery(); - } else { - Caffe::DeviceQuery(); - } + LOG(ERROR) << "Deprecated. Use caffe.bin devicequery [--device_id=0] instead."; return 0; } diff --git a/tools/finetune_net.cpp b/tools/finetune_net.cpp index 4d80be9f4da..dff97215f5e 100644 --- a/tools/finetune_net.cpp +++ b/tools/finetune_net.cpp @@ -1,31 +1,9 @@ // Copyright 2014 BVLC and contributors. -// -// This is a simple script that allows one to quickly finetune a network. -// Usage: -// finetune_net solver_proto_file pretrained_net - -#include #include "caffe/caffe.hpp" -using namespace caffe; // NOLINT(build/namespaces) - int main(int argc, char** argv) { - ::google::InitGoogleLogging(argv[0]); - if (argc != 3) { - LOG(ERROR) << "Usage: finetune_net solver_proto_file pretrained_net"; - return 1; - } - - SolverParameter solver_param; - ReadProtoFromTextFileOrDie(argv[1], &solver_param); - - LOG(INFO) << "Starting Optimization"; - SGDSolver solver(solver_param); - LOG(INFO) << "Loading from " << argv[2]; - solver.net()->CopyTrainedLayersFrom(string(argv[2])); - solver.Solve(); - LOG(INFO) << "Optimization Done."; - + LOG(ERROR) << "Deprecated. Use caffe.bin train --solver_proto_file=... " + "[pretrained_net_file=...] instead."; return 0; } diff --git a/tools/net_speed_benchmark.cpp b/tools/net_speed_benchmark.cpp index bdec391fbb6..9e6bb4cbe95 100644 --- a/tools/net_speed_benchmark.cpp +++ b/tools/net_speed_benchmark.cpp @@ -1,103 +1,9 @@ // Copyright 2014 BVLC and contributors. -#include -#include - -#include -#include -#include -#include - -#include "caffe/blob.hpp" -#include "caffe/common.hpp" -#include "caffe/net.hpp" -#include "caffe/filler.hpp" -#include "caffe/proto/caffe.pb.h" -#include "caffe/util/benchmark.hpp" -#include "caffe/util/io.hpp" -#include "caffe/solver.hpp" - -using namespace caffe; // NOLINT(build/namespaces) +#include "caffe/caffe.hpp" int main(int argc, char** argv) { - int total_iter = 50; - if (argc < 2 || argc > 5) { - LOG(ERROR) << "net_speed_benchmark net_proto [iterations=50]" - " [CPU/GPU] [Device_id=0]"; - return 1; - } - - if (argc >=3) { - total_iter = atoi(argv[2]); - } - - LOG(ERROR) << "Testing for " << total_iter << "Iterations."; - - if (argc >= 4 && strcmp(argv[3], "GPU") == 0) { - LOG(ERROR) << "Using GPU"; - uint device_id = 0; - if (argc >= 5 && strcmp(argv[3], "GPU") == 0) { - device_id = atoi(argv[4]); - } - LOG(ERROR) << "Using Device_id=" << device_id; - Caffe::SetDevice(device_id); - Caffe::set_mode(Caffe::GPU); - } else { - LOG(ERROR) << "Using CPU"; - Caffe::set_mode(Caffe::CPU); - } - - Caffe::set_phase(Caffe::TRAIN); - Net caffe_net(argv[1]); - - // Run the network without training. - LOG(ERROR) << "Performing Forward"; - // Note that for the speed benchmark, we will assume that the network does - // not take any input blobs. - float initial_loss; - caffe_net.Forward(vector*>(), &initial_loss); - LOG(ERROR) << "Initial loss: " << initial_loss; - LOG(ERROR) << "Performing Backward"; - caffe_net.Backward(); - - const vector > >& layers = caffe_net.layers(); - vector*> >& bottom_vecs = caffe_net.bottom_vecs(); - vector*> >& top_vecs = caffe_net.top_vecs(); - const vector >& bottom_need_backward = - caffe_net.bottom_need_backward(); - LOG(ERROR) << "*** Benchmark begins ***"; - Timer total_timer; - total_timer.Start(); - Timer forward_timer; - forward_timer.Start(); - Timer timer; - for (int i = 0; i < layers.size(); ++i) { - const string& layername = layers[i]->layer_param().name(); - timer.Start(); - for (int j = 0; j < total_iter; ++j) { - layers[i]->Forward(bottom_vecs[i], &top_vecs[i]); - } - LOG(ERROR) << layername << "\tforward: " << timer.MilliSeconds() << - " milli seconds."; - } - LOG(ERROR) << "Forward pass: " << forward_timer.MilliSeconds() << - " milli seconds."; - Timer backward_timer; - backward_timer.Start(); - for (int i = layers.size() - 1; i >= 0; --i) { - const string& layername = layers[i]->layer_param().name(); - timer.Start(); - for (int j = 0; j < total_iter; ++j) { - layers[i]->Backward(top_vecs[i], bottom_need_backward[i], - &bottom_vecs[i]); - } - LOG(ERROR) << layername << "\tbackward: " - << timer.MilliSeconds() << " milli seconds."; - } - LOG(ERROR) << "Backward pass: " << backward_timer.MilliSeconds() << - " milli seconds."; - LOG(ERROR) << "Total Time: " << total_timer.MilliSeconds() << - " milli seconds."; - LOG(ERROR) << "*** Benchmark ends ***"; + LOG(ERROR) << "Deprecated. Use caffe.bin speedtest --net_proto_file=... " + "[--run_iterations=50] [--speedtest_with_gpu] [--device_id=0]"; return 0; } diff --git a/tools/train_net.cpp b/tools/train_net.cpp index 41a33247854..568260c7b45 100644 --- a/tools/train_net.cpp +++ b/tools/train_net.cpp @@ -1,35 +1,9 @@ // Copyright 2014 BVLC and contributors. -// -// This is a simple script that allows one to quickly train a network whose -// parameters are specified by text format protocol buffers. -// Usage: -// train_net net_proto_file solver_proto_file [resume_point_file] - -#include #include "caffe/caffe.hpp" -using namespace caffe; // NOLINT(build/namespaces) - int main(int argc, char** argv) { - ::google::InitGoogleLogging(argv[0]); - if (argc < 2 || argc > 3) { - LOG(ERROR) << "Usage: train_net solver_proto_file [resume_point_file]"; - return 1; - } - - SolverParameter solver_param; - ReadProtoFromTextFileOrDie(argv[1], &solver_param); - - LOG(INFO) << "Starting Optimization"; - SGDSolver solver(solver_param); - if (argc == 3) { - LOG(INFO) << "Resuming from " << argv[2]; - solver.Solve(argv[2]); - } else { - solver.Solve(); - } - LOG(INFO) << "Optimization Done."; - + LOG(ERROR) << "Deprecated. Use caffe.bin train --solver_proto_file=... " + "[resume_point_file=...] instead."; return 0; } From 2ced4c9ab9021f7df3b03c604248a300510bfeba Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Fri, 25 Jul 2014 09:52:30 -0700 Subject: [PATCH 319/408] lint --- tools/caffe.cpp | 29 ++++++++++++++++------------- tools/device_query.cpp | 3 ++- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index 48352485bc6..dde58c68b3f 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -1,8 +1,11 @@ +// Copyright 2014 BVLC and contributors. #include #include #include #include +#include +#include #include "caffe/caffe.hpp" @@ -13,7 +16,7 @@ using caffe::Layer; using caffe::shared_ptr; using caffe::Timer; using caffe::string; -using std::vector; +using caffe::vector; // Used in device query @@ -36,21 +39,21 @@ DEFINE_bool(speedtest_with_gpu, false, // A simple registry for caffe commands. typedef int (*BrewFunction)(); -typedef std::map BrewMap; +typedef std::map BrewMap; BrewMap g_brew_map; #define RegisterBrewFunction(func) \ - namespace { \ - class __Registerer_##func { \ - public: \ - __Registerer_##func() { \ - g_brew_map[#func] = &func; \ - } \ - }; \ - __Registerer_##func g_registerer_##func; \ - } +namespace { \ +class __Registerer_##func { \ + public: /* NOLINT */ \ + __Registerer_##func() { \ + g_brew_map[#func] = &func; \ + } \ +}; \ +__Registerer_##func g_registerer_##func; \ +} -static BrewFunction GetBrewFunction(const std::string& name) { +static BrewFunction GetBrewFunction(const string& name) { if (g_brew_map.count(name)) { return g_brew_map[name]; } else { @@ -172,5 +175,5 @@ RegisterBrewFunction(speedtest); int main(int argc, char** argv) { caffe::GlobalInit(&argc, &argv); CHECK_EQ(argc, 2); - return GetBrewFunction(std::string(argv[1]))(); + return GetBrewFunction(string(argv[1]))(); } diff --git a/tools/device_query.cpp b/tools/device_query.cpp index 224a3145308..a87e23c8722 100644 --- a/tools/device_query.cpp +++ b/tools/device_query.cpp @@ -3,6 +3,7 @@ #include "caffe/common.hpp" int main(int argc, char** argv) { - LOG(ERROR) << "Deprecated. Use caffe.bin devicequery [--device_id=0] instead."; + LOG(ERROR) << "Deprecated. Use caffe.bin devicequery " + "[--device_id=0] instead."; return 0; } From 2cfbda510c27e103cf060f4a9b10d5d51806358e Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Fri, 25 Jul 2014 10:11:26 -0700 Subject: [PATCH 320/408] oops, wrong deprecation message (should have --) --- tools/finetune_net.cpp | 2 +- tools/train_net.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/finetune_net.cpp b/tools/finetune_net.cpp index dff97215f5e..17b7f3a7bce 100644 --- a/tools/finetune_net.cpp +++ b/tools/finetune_net.cpp @@ -4,6 +4,6 @@ int main(int argc, char** argv) { LOG(ERROR) << "Deprecated. Use caffe.bin train --solver_proto_file=... " - "[pretrained_net_file=...] instead."; + "[--pretrained_net_file=...] instead."; return 0; } diff --git a/tools/train_net.cpp b/tools/train_net.cpp index 568260c7b45..35b1c776470 100644 --- a/tools/train_net.cpp +++ b/tools/train_net.cpp @@ -4,6 +4,6 @@ int main(int argc, char** argv) { LOG(ERROR) << "Deprecated. Use caffe.bin train --solver_proto_file=... " - "[resume_point_file=...] instead."; + "[--resume_point_file=...] instead."; return 0; } From 7de3382561bbbe235358f4259328093ecf048e2d Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Wed, 23 Jul 2014 19:22:11 -0700 Subject: [PATCH 321/408] Add gradient checks for infogain loss layer, letting it take the infogain matrix as the third bottom blob. --- src/caffe/layers/infogain_loss_layer.cpp | 51 +++++++++++----- src/caffe/test/test_infogain_loss_layer.cpp | 67 +++++++++++++++++++++ 2 files changed, 104 insertions(+), 14 deletions(-) create mode 100644 src/caffe/test/test_infogain_loss_layer.cpp diff --git a/src/caffe/layers/infogain_loss_layer.cpp b/src/caffe/layers/infogain_loss_layer.cpp index 204f6c305ca..4b02f4e61db 100644 --- a/src/caffe/layers/infogain_loss_layer.cpp +++ b/src/caffe/layers/infogain_loss_layer.cpp @@ -18,14 +18,24 @@ void InfogainLossLayer::FurtherSetUp( CHECK_EQ(bottom[1]->channels(), 1); CHECK_EQ(bottom[1]->height(), 1); CHECK_EQ(bottom[1]->width(), 1); - - BlobProto blob_proto; - ReadProtoFromBinaryFile( - this->layer_param_.infogain_loss_param().source(), &blob_proto); - infogain_.FromProto(blob_proto); - CHECK_EQ(infogain_.num(), 1); - CHECK_EQ(infogain_.channels(), 1); - CHECK_EQ(infogain_.height(), infogain_.width()); + Blob* infogain = NULL; + if (bottom.size() < 3) { + CHECK(this->layer_param_.infogain_loss_param().has_source()) + << "Infogain matrix source must be specified."; + BlobProto blob_proto; + ReadProtoFromBinaryFile( + this->layer_param_.infogain_loss_param().source(), &blob_proto); + infogain_.FromProto(blob_proto); + infogain = &infogain_; + } else { + infogain = bottom[2]; + } + const int num = bottom[0]->num(); + const int dim = bottom[0]->count() / num; + CHECK_EQ(infogain->num(), 1); + CHECK_EQ(infogain->channels(), 1); + CHECK_EQ(infogain->height(), dim); + CHECK_EQ(infogain->width(), dim); } @@ -34,10 +44,14 @@ Dtype InfogainLossLayer::Forward_cpu(const vector*>& bottom, vector*>* top) { const Dtype* bottom_data = bottom[0]->cpu_data(); const Dtype* bottom_label = bottom[1]->cpu_data(); - const Dtype* infogain_mat = infogain_.cpu_data(); + const Dtype* infogain_mat = NULL; + if (bottom.size() < 3) { + infogain_mat = infogain_.cpu_data(); + } else { + infogain_mat = bottom[2]->cpu_data(); + } int num = bottom[0]->num(); int dim = bottom[0]->count() / bottom[0]->num(); - CHECK_EQ(infogain_.height(), dim); Dtype loss = 0; for (int i = 0; i < num; ++i) { int label = static_cast(bottom_label[i]); @@ -46,10 +60,11 @@ Dtype InfogainLossLayer::Forward_cpu(const vector*>& bottom, loss -= infogain_mat[label * dim + j] * log(prob); } } + loss /= num; if (top->size() == 1) { - (*top)[0]->mutable_cpu_data()[0] = loss / num; + (*top)[0]->mutable_cpu_data()[0] = loss; } - return loss / num; + return loss; } template @@ -60,14 +75,22 @@ void InfogainLossLayer::Backward_cpu(const vector*>& top, LOG(FATAL) << this->type_name() << " Layer cannot backpropagate to label inputs."; } + if (propagate_down.size() > 2 && propagate_down[2]) { + LOG(FATAL) << this->type_name() + << " Layer cannot backpropagate to infogain inputs."; + } if (propagate_down[0]) { const Dtype* bottom_data = (*bottom)[0]->cpu_data(); const Dtype* bottom_label = (*bottom)[1]->cpu_data(); - const Dtype* infogain_mat = infogain_.cpu_data(); + const Dtype* infogain_mat = NULL; + if (bottom->size() < 3) { + infogain_mat = infogain_.cpu_data(); + } else { + infogain_mat = (*bottom)[2]->cpu_data(); + } Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); int num = (*bottom)[0]->num(); int dim = (*bottom)[0]->count() / (*bottom)[0]->num(); - CHECK_EQ(infogain_.height(), dim); for (int i = 0; i < num; ++i) { int label = static_cast(bottom_label[i]); for (int j = 0; j < dim; ++j) { diff --git a/src/caffe/test/test_infogain_loss_layer.cpp b/src/caffe/test/test_infogain_loss_layer.cpp new file mode 100644 index 00000000000..99bad263e88 --- /dev/null +++ b/src/caffe/test/test_infogain_loss_layer.cpp @@ -0,0 +1,67 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include +#include +#include + +#include "gtest/gtest.h" +#include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/filler.hpp" +#include "caffe/loss_layers.hpp" +#include "caffe/test/test_gradient_check_util.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +namespace caffe { + +template +class InfogainLossLayerTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + + protected: + InfogainLossLayerTest() + : blob_bottom_data_(new Blob(10, 5, 1, 1)), + blob_bottom_label_(new Blob(10, 1, 1, 1)), + blob_bottom_infogain_(new Blob(1, 1, 5, 5)) { + Caffe::set_random_seed(1701); + FillerParameter filler_param; + PositiveUnitballFiller filler(filler_param); + filler.Fill(this->blob_bottom_data_); + blob_bottom_vec_.push_back(blob_bottom_data_); + for (int i = 0; i < blob_bottom_label_->count(); ++i) { + blob_bottom_label_->mutable_cpu_data()[i] = caffe_rng_rand() % 5; + } + blob_bottom_vec_.push_back(blob_bottom_label_); + filler_param.set_min(0.1); + filler_param.set_max(2.0); + UniformFiller infogain_filler(filler_param); + infogain_filler.Fill(this->blob_bottom_infogain_); + blob_bottom_vec_.push_back(blob_bottom_infogain_); + } + virtual ~InfogainLossLayerTest() { + delete blob_bottom_data_; + delete blob_bottom_label_; + delete blob_bottom_infogain_; + } + Blob* const blob_bottom_data_; + Blob* const blob_bottom_label_; + Blob* const blob_bottom_infogain_; + vector*> blob_bottom_vec_; + vector*> blob_top_vec_; +}; + +TYPED_TEST_CASE(InfogainLossLayerTest, TestDtypesAndDevices); + + +TYPED_TEST(InfogainLossLayerTest, TestGradient) { + typedef typename TypeParam::Dtype Dtype; + LayerParameter layer_param; + InfogainLossLayer layer(layer_param); + GradientChecker checker(1e-4, 2e-2, 1701, 1, 0.01); + checker.CheckGradientSingle(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_), 0, -1, -1); +} + +} // namespace caffe From 70b01f2164dd5e53605fc58c25530da3a5cccbd3 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Fri, 25 Jul 2014 17:58:35 -0700 Subject: [PATCH 322/408] using caffe::string to be consistent with other string definition. --- tools/caffe.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index dde58c68b3f..ec414298ea4 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -15,7 +15,6 @@ using caffe::Net; using caffe::Layer; using caffe::shared_ptr; using caffe::Timer; -using caffe::string; using caffe::vector; @@ -39,7 +38,7 @@ DEFINE_bool(speedtest_with_gpu, false, // A simple registry for caffe commands. typedef int (*BrewFunction)(); -typedef std::map BrewMap; +typedef std::map BrewMap; BrewMap g_brew_map; #define RegisterBrewFunction(func) \ @@ -53,7 +52,7 @@ class __Registerer_##func { \ __Registerer_##func g_registerer_##func; \ } -static BrewFunction GetBrewFunction(const string& name) { +static BrewFunction GetBrewFunction(const caffe::string& name) { if (g_brew_map.count(name)) { return g_brew_map[name]; } else { @@ -141,7 +140,7 @@ int speedtest() { forward_timer.Start(); Timer timer; for (int i = 0; i < layers.size(); ++i) { - const string& layername = layers[i]->layer_param().name(); + const caffe::string& layername = layers[i]->layer_param().name(); timer.Start(); for (int j = 0; j < FLAGS_run_iterations; ++j) { layers[i]->Forward(bottom_vecs[i], &top_vecs[i]); @@ -154,7 +153,7 @@ int speedtest() { Timer backward_timer; backward_timer.Start(); for (int i = layers.size() - 1; i >= 0; --i) { - const string& layername = layers[i]->layer_param().name(); + const caffe::string& layername = layers[i]->layer_param().name(); timer.Start(); for (int j = 0; j < FLAGS_run_iterations; ++j) { layers[i]->Backward(top_vecs[i], bottom_need_backward[i], @@ -175,5 +174,5 @@ RegisterBrewFunction(speedtest); int main(int argc, char** argv) { caffe::GlobalInit(&argc, &argv); CHECK_EQ(argc, 2); - return GetBrewFunction(string(argv[1]))(); + return GetBrewFunction(caffe::string(argv[1]))(); } From 9862d5a4dcc70edba94291a64c303b659e7bd362 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Sat, 26 Jul 2014 08:37:05 -0700 Subject: [PATCH 323/408] LOG(ERROR)->LOG(FATAL), and misc script changes. --- examples/cifar10/readme.md | 2 +- examples/cifar10/train_full.sh | 16 ++++++++-------- examples/cifar10/train_quick.sh | 7 +++++-- examples/imagenet/resume_training.sh | 5 +++-- examples/imagenet/train_alexnet.sh | 3 ++- examples/imagenet/train_imagenet.sh | 3 ++- examples/mnist/readme.md | 2 +- examples/mnist/train_lenet.sh | 3 ++- examples/mnist/train_lenet_consolidated.sh | 3 ++- examples/mnist/train_mnist_autoencoder.sh | 3 ++- tools/device_query.cpp | 2 +- tools/finetune_net.cpp | 2 +- tools/net_speed_benchmark.cpp | 2 +- tools/train_net.cpp | 2 +- 14 files changed, 32 insertions(+), 23 deletions(-) diff --git a/examples/cifar10/readme.md b/examples/cifar10/readme.md index 9d5bd7b2b0c..315713f7022 100644 --- a/examples/cifar10/readme.md +++ b/examples/cifar10/readme.md @@ -42,7 +42,7 @@ Training the model is simple after you have written the network definition proto cd $CAFFE_ROOT/examples/cifar10 ./train_quick.sh -`train_quick.sh` is a simple script, so have a look inside. `GLOG_logtostderr=1` is the google logging flag that prints all the logging messages directly to stderr. The main tool for training is `train_net.bin`, with the solver protobuf text file as its argument. +`train_quick.sh` is a simple script, so have a look inside. `GLOG_logtostderr=1` is the google logging flag that prints all the logging messages directly to stderr. The main tool for training is `caffe.bin` with the `train` action, and the solver protobuf text file as its argument. When you run the code, you will see a lot of messages flying by like this: diff --git a/examples/cifar10/train_full.sh b/examples/cifar10/train_full.sh index 4db7b9a98f1..930b27a1a32 100755 --- a/examples/cifar10/train_full.sh +++ b/examples/cifar10/train_full.sh @@ -2,15 +2,15 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/train_net.bin \ - cifar10_full_solver.prototxt +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=cifar10_full_solver.prototxt #reduce learning rate by factor of 10 -GLOG_logtostderr=1 $TOOLS/train_net.bin \ - cifar10_full_solver_lr1.prototxt \ - cifar10_full_iter_60000.solverstate +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=cifar10_full_solver_lr1.prototxt \ + --resume_point_file=cifar10_full_iter_60000.solverstate #reduce learning rate by factor of 10 -GLOG_logtostderr=1 $TOOLS/train_net.bin \ - cifar10_full_solver_lr2.prototxt \ - cifar10_full_iter_65000.solverstate +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=cifar10_full_solver_lr2.prototxt \ + --resume_point_file=cifar10_full_iter_65000.solverstate diff --git a/examples/cifar10/train_quick.sh b/examples/cifar10/train_quick.sh index 1d954b5935e..5e8fffccd48 100755 --- a/examples/cifar10/train_quick.sh +++ b/examples/cifar10/train_quick.sh @@ -2,7 +2,10 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/train_net.bin cifar10_quick_solver.prototxt +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=cifar10_quick_solver.prototxt #reduce learning rate by fctor of 10 after 8 epochs -GLOG_logtostderr=1 $TOOLS/train_net.bin cifar10_quick_solver_lr1.prototxt cifar10_quick_iter_4000.solverstate +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=cifar10_quick_solver_lr1.prototxt \ + --resume_point_file=cifar10_quick_iter_4000.solverstate diff --git a/examples/imagenet/resume_training.sh b/examples/imagenet/resume_training.sh index 2b3b4031b5d..b43a9b1bf7c 100755 --- a/examples/imagenet/resume_training.sh +++ b/examples/imagenet/resume_training.sh @@ -2,7 +2,8 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/train_net.bin \ - imagenet_solver.prototxt caffe_imagenet_train_10000.solverstate +GLOG_logtostderr=1 $TOOLS/caffe.bin train\ + --solver_proto_file=imagenet_solver.prototxt \ + --resume_point_file=caffe_imagenet_train_10000.solverstate echo "Done." diff --git a/examples/imagenet/train_alexnet.sh b/examples/imagenet/train_alexnet.sh index c91e9108ae5..d43a235dba1 100755 --- a/examples/imagenet/train_alexnet.sh +++ b/examples/imagenet/train_alexnet.sh @@ -2,6 +2,7 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/train_net.bin alexnet_solver.prototxt +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=alexnet_solver.prototxt echo "Done." diff --git a/examples/imagenet/train_imagenet.sh b/examples/imagenet/train_imagenet.sh index 0d2563b0c9d..90dcdfaddb8 100755 --- a/examples/imagenet/train_imagenet.sh +++ b/examples/imagenet/train_imagenet.sh @@ -2,6 +2,7 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/train_net.bin imagenet_solver.prototxt +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=imagenet_solver.prototxt echo "Done." diff --git a/examples/mnist/readme.md b/examples/mnist/readme.md index d609cfff9aa..4f3f4d9ce12 100644 --- a/examples/mnist/readme.md +++ b/examples/mnist/readme.md @@ -212,7 +212,7 @@ Training the model is simple after you have written the network definition proto cd $CAFFE_ROOT/examples/mnist ./train_lenet.sh -`train_lenet.sh` is a simple script, but here are a few explanations: `GLOG_logtostderr=1` is the google logging flag that prints all the logging messages directly to stderr. The main tool for training is `train_net.bin`, with the solver protobuf text file as its argument. +`train_lenet.sh` is a simple script, but here are a few explanations: `GLOG_logtostderr=1` is the google logging flag that prints all the logging messages directly to stderr. The main tool for training is `caffe.bin` with action `train`, with the solver protobuf text file as its argument. When you run the code, you will see a lot of messages flying by like this: diff --git a/examples/mnist/train_lenet.sh b/examples/mnist/train_lenet.sh index c30fc3e02e1..4d0f1eea051 100755 --- a/examples/mnist/train_lenet.sh +++ b/examples/mnist/train_lenet.sh @@ -2,4 +2,5 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/train_net.bin lenet_solver.prototxt +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=lenet_solver.prototxt diff --git a/examples/mnist/train_lenet_consolidated.sh b/examples/mnist/train_lenet_consolidated.sh index ff6897e263d..802c801e31f 100755 --- a/examples/mnist/train_lenet_consolidated.sh +++ b/examples/mnist/train_lenet_consolidated.sh @@ -2,4 +2,5 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/train_net.bin lenet_consolidated_solver.prototxt +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=lenet_consolidated_solver.prototxt diff --git a/examples/mnist/train_mnist_autoencoder.sh b/examples/mnist/train_mnist_autoencoder.sh index af2245e07f0..3fb493534db 100755 --- a/examples/mnist/train_mnist_autoencoder.sh +++ b/examples/mnist/train_mnist_autoencoder.sh @@ -1,4 +1,5 @@ #!/bin/bash TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/train_net.bin mnist_autoencoder_solver.prototxt +GLOG_logtostderr=1 $TOOLS/caffe.bin train \ + --solver_proto_file=mnist_autoencoder_solver.prototxt diff --git a/tools/device_query.cpp b/tools/device_query.cpp index a87e23c8722..efdbbbbc90e 100644 --- a/tools/device_query.cpp +++ b/tools/device_query.cpp @@ -3,7 +3,7 @@ #include "caffe/common.hpp" int main(int argc, char** argv) { - LOG(ERROR) << "Deprecated. Use caffe.bin devicequery " + LOG(FATAL) << "Deprecated. Use caffe.bin devicequery " "[--device_id=0] instead."; return 0; } diff --git a/tools/finetune_net.cpp b/tools/finetune_net.cpp index 17b7f3a7bce..213ff01702a 100644 --- a/tools/finetune_net.cpp +++ b/tools/finetune_net.cpp @@ -3,7 +3,7 @@ #include "caffe/caffe.hpp" int main(int argc, char** argv) { - LOG(ERROR) << "Deprecated. Use caffe.bin train --solver_proto_file=... " + LOG(FATAL) << "Deprecated. Use caffe.bin train --solver_proto_file=... " "[--pretrained_net_file=...] instead."; return 0; } diff --git a/tools/net_speed_benchmark.cpp b/tools/net_speed_benchmark.cpp index 9e6bb4cbe95..f520e1d7785 100644 --- a/tools/net_speed_benchmark.cpp +++ b/tools/net_speed_benchmark.cpp @@ -3,7 +3,7 @@ #include "caffe/caffe.hpp" int main(int argc, char** argv) { - LOG(ERROR) << "Deprecated. Use caffe.bin speedtest --net_proto_file=... " + LOG(FATAL) << "Deprecated. Use caffe.bin speedtest --net_proto_file=... " "[--run_iterations=50] [--speedtest_with_gpu] [--device_id=0]"; return 0; } diff --git a/tools/train_net.cpp b/tools/train_net.cpp index 35b1c776470..08602d4a7ca 100644 --- a/tools/train_net.cpp +++ b/tools/train_net.cpp @@ -3,7 +3,7 @@ #include "caffe/caffe.hpp" int main(int argc, char** argv) { - LOG(ERROR) << "Deprecated. Use caffe.bin train --solver_proto_file=... " + LOG(FATAL) << "Deprecated. Use caffe.bin train --solver_proto_file=... " "[--resume_point_file=...] instead."; return 0; } From 149a176dc2f35f2218cd7a639157e90c59b12e72 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 25 Jul 2014 20:40:07 -0700 Subject: [PATCH 324/408] Print blob L1 norms during forward/backward passes and updates if new "debug_info" field in SolverParameter is set. --- include/caffe/blob.hpp | 4 ++ include/caffe/net.hpp | 18 +++++-- src/caffe/blob.cpp | 70 +++++++++++++++++++++++++++ src/caffe/net.cpp | 95 ++++++++++++++++++++++++++++++++----- src/caffe/proto/caffe.proto | 4 ++ src/caffe/solver.cpp | 10 +++- 6 files changed, 186 insertions(+), 15 deletions(-) diff --git a/include/caffe/blob.hpp b/include/caffe/blob.hpp index bbea86aea69..ab7a0f60f80 100644 --- a/include/caffe/blob.hpp +++ b/include/caffe/blob.hpp @@ -76,6 +76,10 @@ class Blob { void FromProto(const BlobProto& proto); void ToProto(BlobProto* proto, bool write_diff = false) const; + // Compute the sum of absolute values (L1 norm) of the data or diff. + Dtype asum_data() const; + Dtype asum_diff() const; + // Set the data_/diff_ shared_ptr to point to the SyncedMemory holding the // data_/diff_ of Blob other -- useful in layers which simply perform a copy // in their forward or backward pass. diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index 481a64979f1..7548011d973 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -95,8 +95,9 @@ class Net { // returns the parameters inline vector > >& params() { return params_; } // returns the parameter learning rate multipliers - inline vector& params_lr() {return params_lr_; } + inline vector& params_lr() { return params_lr_; } inline vector& params_weight_decay() { return params_weight_decay_; } + const map& param_names_index() { return param_names_index_; } // Input and output blob numbers inline int num_inputs() { return net_input_blobs_.size(); } inline int num_outputs() { return net_output_blobs_.size(); } @@ -111,7 +112,8 @@ class Net { const shared_ptr > blob_by_name(const string& blob_name); bool has_layer(const string& layer_name); const shared_ptr > layer_by_name(const string& layer_name); - const map& param_names_index() { return param_names_index_; } + + void set_debug_info(const bool value) { debug_info_ = value; } protected: // Helpers for Init. @@ -125,6 +127,12 @@ class Net { map* blob_name_to_idx); void AppendParam(const NetParameter& param, const int layer_id, const int param_id); + + // Helpers for displaying debug info. + void ForwardDebugInfo(const int layer_id); + void BackwardDebugInfo(const int layer_id); + void UpdateDebugInfo(const int param_id); + // Function to get misc parameters, e.g. the learning rate multiplier and // weight decay. void GetLearningRateAndWeightDecay(); @@ -150,7 +158,8 @@ class Net { vector*> > top_vecs_; vector > top_id_vecs_; vector param_owners_; - vector > layer_param_indices_; + vector param_display_names_; + vector > param_layer_indices_; map param_names_index_; // blob indices for the input and the output of the net vector net_input_blob_indices_; @@ -166,6 +175,9 @@ class Net { vector params_weight_decay_; // The bytes of memory used by this net size_t memory_used_; + // Whether to compute and display debug info for the net. + bool debug_info_; + DISABLE_COPY_AND_ASSIGN(Net); }; diff --git a/src/caffe/blob.cpp b/src/caffe/blob.cpp index 1051eaa1c2c..738b549e10c 100644 --- a/src/caffe/blob.cpp +++ b/src/caffe/blob.cpp @@ -137,6 +137,76 @@ void Blob::Update() { } } +template <> unsigned int Blob::asum_data() const { + NOT_IMPLEMENTED; + return 0; +} + +template <> int Blob::asum_data() const { + NOT_IMPLEMENTED; + return 0; +} + +template +Dtype Blob::asum_data() const { + if (!data_) { return 0; } + switch (data_->head()) { + case SyncedMemory::HEAD_AT_CPU: + return caffe_cpu_asum(count_, cpu_data()); + case SyncedMemory::HEAD_AT_GPU: + case SyncedMemory::SYNCED: +#ifndef CPU_ONLY + { + Dtype asum; + caffe_gpu_asum(count_, gpu_data(), &asum); + return asum; + } +#else + NO_GPU; +#endif + case SyncedMemory::UNINITIALIZED: + return 0; + default: + LOG(FATAL) << "Unknown SyncedMemory head state: " << data_->head(); + } + return 0; +} + +template <> unsigned int Blob::asum_diff() const { + NOT_IMPLEMENTED; + return 0; +} + +template <> int Blob::asum_diff() const { + NOT_IMPLEMENTED; + return 0; +} + +template +Dtype Blob::asum_diff() const { + if (!diff_) { return 0; } + switch (diff_->head()) { + case SyncedMemory::HEAD_AT_CPU: + return caffe_cpu_asum(count_, cpu_diff()); + case SyncedMemory::HEAD_AT_GPU: + case SyncedMemory::SYNCED: +#ifndef CPU_ONLY + { + Dtype asum; + caffe_gpu_asum(count_, gpu_diff(), &asum); + return asum; + } +#else + NO_GPU; +#endif + case SyncedMemory::UNINITIALIZED: + return 0; + default: + LOG(FATAL) << "Unknown SyncedMemory head state: " << diff_->head(); + } + return 0; +} + template void Blob::CopyFrom(const Blob& source, bool copy_diff, bool reshape) { if (num_ != source.num() || channels_ != source.channels() || diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 7673608a5ed..612cbb1b60d 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -163,6 +163,8 @@ void Net::Init(const NetParameter& in_param) { GetLearningRateAndWeightDecay(); LOG(INFO) << "Network initialization done."; LOG(INFO) << "Memory required for data: " << memory_used_ * sizeof(Dtype); + // Don't display debug info by default. + debug_info_ = false; } // Helper for Net::Init: add a new input or top blob to the net. (Inputs have @@ -242,13 +244,17 @@ void Net::AppendParam(const NetParameter& param, const int layer_id, const int param_id) { const LayerParameter& layer_param = layers_[layer_id]->layer_param(); const int param_size = layer_param.param_size(); - string param_name; - if (param_size) { - param_name = layer_param.param(param_id); + string param_name = param_size ? layer_param.param(param_id) : ""; + if (param_name.size()) { + param_display_names_.push_back(param_name); + } else { + ostringstream param_display_name; + param_display_name << param_id; + param_display_names_.push_back(param_display_name.str()); } const int net_param_id = params_.size(); params_.push_back(layers_[layer_id]->blobs()[param_id]); - layer_param_indices_.push_back(make_pair(layer_id, param_id)); + param_layer_indices_.push_back(make_pair(layer_id, param_id)); if (!param_size || !param_name.size() || (param_name.size() && param_names_index_.find(param_name) == param_names_index_.end())) { // This layer "owns" this parameter blob -- it is either anonymous @@ -263,7 +269,7 @@ void Net::AppendParam(const NetParameter& param, const int layer_id, const int owner_net_param_id = param_names_index_[param_name]; param_owners_.push_back(owner_net_param_id); const pair& owner_index = - layer_param_indices_[owner_net_param_id]; + param_layer_indices_[owner_net_param_id]; const int owner_layer_id = owner_index.first; const int owner_param_id = owner_index.second; LOG(INFO) << "Sharing parameters '" << param_name << "' owned by " @@ -339,6 +345,7 @@ Dtype Net::ForwardFromTo(int start, int end) { // LOG(ERROR) << "Forwarding " << layer_names_[i]; Dtype layer_loss = layers_[i]->Forward(bottom_vecs_[i], &top_vecs_[i]); loss += layer_loss; + if (debug_info_) { ForwardDebugInfo(i); } } return loss; } @@ -402,10 +409,75 @@ void Net::BackwardFromTo(int start, int end) { if (layer_need_backward_[i]) { layers_[i]->Backward( top_vecs_[i], bottom_need_backward_[i], &bottom_vecs_[i]); + if (debug_info_) { BackwardDebugInfo(i); } } } } +template +void Net::ForwardDebugInfo(const int layer_id) { + for (int top_id = 0; top_id < top_vecs_[layer_id].size(); ++top_id) { + const Blob& blob = *top_vecs_[layer_id][top_id]; + const string& blob_name = blob_names_[top_id_vecs_[layer_id][top_id]]; + const Dtype asum = blob.asum_data(); + const Dtype asum_mean = asum / blob.count(); + LOG(INFO) << " [Forward] " + << "Layer " << layer_names_[layer_id] << ", top blob " << blob_name + << " data: " << asum << " (" << asum_mean << ")"; + } +} + +template +void Net::BackwardDebugInfo(const int layer_id) { + const vector*>& bottom_vec = bottom_vecs_[layer_id]; + for (int bottom_id = 0; bottom_id < bottom_vec.size(); ++bottom_id) { + if (!bottom_need_backward_[layer_id][bottom_id]) { continue; } + const Blob& blob = *bottom_vec[bottom_id]; + const string& blob_name = blob_names_[bottom_id_vecs_[layer_id][bottom_id]]; + const Dtype asum = blob.asum_diff(); + const Dtype asum_mean = asum / blob.count(); + LOG(INFO) << " [Backward] " + << "Layer " << layer_names_[layer_id] << ", bottom blob " << blob_name + << " diff: " << asum << " (" << asum_mean << ")"; + } + for (int param_id = 0; param_id < layers_[layer_id]->blobs().size(); + ++param_id) { + if (!layers_[layer_id]->param_propagate_down(param_id)) { continue; } + const Blob& blob = *layers_[layer_id]->blobs()[param_id]; + const Dtype asum = blob.asum_diff(); + const Dtype asum_mean = asum / blob.count(); + LOG(INFO) << " [Backward] " + << "Layer " << layer_names_[layer_id] << ", param blob " << param_id + << " diff: " << asum << " (" << asum_mean << ")"; + } +} + +template +void Net::UpdateDebugInfo(const int param_id) { + const Blob& blob = *params_[param_id]; + const int param_owner = param_owners_[param_id]; + const string& layer_name = layer_names_[param_layer_indices_[param_id].first]; + const string& param_display_name = param_display_names_[param_id]; + const Dtype asum_diff = blob.asum_diff(); + const Dtype asum_diff_mean = asum_diff / blob.count(); + if (param_owner < 0) { + const Dtype asum_data = blob.asum_data(); + const Dtype asum_data_mean = asum_data / blob.count(); + LOG(INFO) << " [Update] Layer " << layer_name + << ", param " << param_display_name + << " data: " << asum_data << " (" << asum_data_mean << ");" + << " diff: " << asum_diff << " (" << asum_diff_mean << ")"; + } else { + const string& owner_layer_name = + layer_names_[param_layer_indices_[param_owner].first]; + LOG(INFO) << " [Update] Layer " << layer_name + << ", param blob " << param_display_name + << " (owned by layer " << owner_layer_name << ", " + << "param " << param_display_names_[param_owners_[param_id]] << ")" + << " diff: " << asum_diff << " (" << asum_diff_mean << ")"; + } +} + template void Net::ShareTrainedLayersWith(Net* other) { int num_source_layers = other->layers().size(); @@ -516,9 +588,8 @@ void Net::Update() { // diff. (Assumes that the learning rate, weight decay, etc. have already been // accounted for in the current diff.) for (int i = 0; i < params_.size(); ++i) { - if (param_owners_[i] < 0) { - continue; - } + if (param_owners_[i] < 0) { continue; } + if (debug_info_) { UpdateDebugInfo(i); } const int count = params_[i]->count(); const Dtype* this_diff; Dtype* owner_diff; @@ -534,6 +605,8 @@ void Net::Update() { owner_diff = params_[param_owners_[i]]->mutable_gpu_diff(); caffe_gpu_add(count, this_diff, owner_diff, owner_diff); break; +#else + NO_GPU; #endif default: LOG(FATAL) << "Unknown caffe mode: " << Caffe::mode(); @@ -541,9 +614,9 @@ void Net::Update() { } // Now, update the owned parameters. for (int i = 0; i < params_.size(); ++i) { - if (param_owners_[i] < 0) { - params_[i]->Update(); - } + if (param_owners_[i] >= 0) { continue; } + if (debug_info_) { UpdateDebugInfo(i); } + params_[i]->Update(); } } diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 34cf8443f56..5e437dff327 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -105,6 +105,10 @@ message SolverParameter { // random number generator -- useful for reproducible results. Otherwise, // (and by default) initialize using a seed derived from the system clock. optional int64 random_seed = 20 [default = -1]; + + // If true, print information about the state of the net that may help with + // debugging learning problems. + optional bool debug_info = 23 [default = false]; } // A message that stores the solver snapshots diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index a33149721bf..0dfc7f0a52d 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -53,6 +53,8 @@ void Solver::Init(const SolverParameter& param) { LOG(INFO) << "Creating training net from file: " << param_.train_net(); net_.reset(new Net(param_.train_net())); } + CHECK(net_) << "Training net uninitialized."; + net_->set_debug_info(param_.debug_info()); const int num_test_net_params = param_.test_net_param_size(); const int num_test_net_files = param_.test_net_size(); const int num_test_nets = num_test_net_params + num_test_net_files; @@ -100,11 +102,17 @@ void Solver::Solve(const char* resume_file) { // should be given, and we will just provide dummy vecs. vector*> bottom_vec; while (iter_++ < param_.max_iter()) { + const bool display = param_.display() && iter_ % param_.display() == 0; + if (display) { + net_->set_debug_info(param_.debug_info()); + } else { + net_->set_debug_info(false); + } Dtype loss = net_->ForwardBackward(bottom_vec); ComputeUpdateValue(); net_->Update(); - if (param_.display() && iter_ % param_.display() == 0) { + if (display) { LOG(INFO) << "Iteration " << iter_ << ", loss = " << loss; } if (param_.test_interval() && iter_ % param_.test_interval() == 0) { From 69997119747d0c61424a8338ae70c0a805b74f0d Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 26 Jul 2014 15:18:41 -0700 Subject: [PATCH 325/408] Print just the mean absolute value (no sum/l1norm) --- src/caffe/net.cpp | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 612cbb1b60d..8e99d307f32 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -419,11 +419,10 @@ void Net::ForwardDebugInfo(const int layer_id) { for (int top_id = 0; top_id < top_vecs_[layer_id].size(); ++top_id) { const Blob& blob = *top_vecs_[layer_id][top_id]; const string& blob_name = blob_names_[top_id_vecs_[layer_id][top_id]]; - const Dtype asum = blob.asum_data(); - const Dtype asum_mean = asum / blob.count(); + const Dtype asum_mean = blob.asum_data() / blob.count(); LOG(INFO) << " [Forward] " << "Layer " << layer_names_[layer_id] << ", top blob " << blob_name - << " data: " << asum << " (" << asum_mean << ")"; + << " data: " << asum_mean; } } @@ -434,21 +433,19 @@ void Net::BackwardDebugInfo(const int layer_id) { if (!bottom_need_backward_[layer_id][bottom_id]) { continue; } const Blob& blob = *bottom_vec[bottom_id]; const string& blob_name = blob_names_[bottom_id_vecs_[layer_id][bottom_id]]; - const Dtype asum = blob.asum_diff(); - const Dtype asum_mean = asum / blob.count(); + const Dtype asum_mean = blob.asum_diff() / blob.count(); LOG(INFO) << " [Backward] " << "Layer " << layer_names_[layer_id] << ", bottom blob " << blob_name - << " diff: " << asum << " (" << asum_mean << ")"; + << " diff: " << asum_mean; } for (int param_id = 0; param_id < layers_[layer_id]->blobs().size(); ++param_id) { if (!layers_[layer_id]->param_propagate_down(param_id)) { continue; } const Blob& blob = *layers_[layer_id]->blobs()[param_id]; - const Dtype asum = blob.asum_diff(); - const Dtype asum_mean = asum / blob.count(); + const Dtype asum_mean = blob.asum_diff() / blob.count(); LOG(INFO) << " [Backward] " << "Layer " << layer_names_[layer_id] << ", param blob " << param_id - << " diff: " << asum << " (" << asum_mean << ")"; + << " diff: " << asum_mean; } } @@ -458,15 +455,12 @@ void Net::UpdateDebugInfo(const int param_id) { const int param_owner = param_owners_[param_id]; const string& layer_name = layer_names_[param_layer_indices_[param_id].first]; const string& param_display_name = param_display_names_[param_id]; - const Dtype asum_diff = blob.asum_diff(); - const Dtype asum_diff_mean = asum_diff / blob.count(); + const Dtype asum_diff_mean = blob.asum_diff() / blob.count(); if (param_owner < 0) { - const Dtype asum_data = blob.asum_data(); - const Dtype asum_data_mean = asum_data / blob.count(); + const Dtype asum_data_mean = blob.asum_data() / blob.count(); LOG(INFO) << " [Update] Layer " << layer_name << ", param " << param_display_name - << " data: " << asum_data << " (" << asum_data_mean << ");" - << " diff: " << asum_diff << " (" << asum_diff_mean << ")"; + << " data: " << asum_data_mean << "; diff: " << asum_diff_mean; } else { const string& owner_layer_name = layer_names_[param_layer_indices_[param_owner].first]; @@ -474,7 +468,7 @@ void Net::UpdateDebugInfo(const int param_id) { << ", param blob " << param_display_name << " (owned by layer " << owner_layer_name << ", " << "param " << param_display_names_[param_owners_[param_id]] << ")" - << " diff: " << asum_diff << " (" << asum_diff_mean << ")"; + << " diff: " << asum_diff_mean; } } From 4fe16db831ee8d5aa47c8798b4cb5ff83637944d Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 26 Jul 2014 19:53:15 -0700 Subject: [PATCH 326/408] Fix my nonsensical variable names. --- src/caffe/net.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 8e99d307f32..228f826a8b9 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -419,10 +419,10 @@ void Net::ForwardDebugInfo(const int layer_id) { for (int top_id = 0; top_id < top_vecs_[layer_id].size(); ++top_id) { const Blob& blob = *top_vecs_[layer_id][top_id]; const string& blob_name = blob_names_[top_id_vecs_[layer_id][top_id]]; - const Dtype asum_mean = blob.asum_data() / blob.count(); + const Dtype data_abs_val_mean = blob.asum_data() / blob.count(); LOG(INFO) << " [Forward] " << "Layer " << layer_names_[layer_id] << ", top blob " << blob_name - << " data: " << asum_mean; + << " data: " << data_abs_val_mean; } } @@ -433,19 +433,19 @@ void Net::BackwardDebugInfo(const int layer_id) { if (!bottom_need_backward_[layer_id][bottom_id]) { continue; } const Blob& blob = *bottom_vec[bottom_id]; const string& blob_name = blob_names_[bottom_id_vecs_[layer_id][bottom_id]]; - const Dtype asum_mean = blob.asum_diff() / blob.count(); + const Dtype diff_abs_val_mean = blob.asum_diff() / blob.count(); LOG(INFO) << " [Backward] " << "Layer " << layer_names_[layer_id] << ", bottom blob " << blob_name - << " diff: " << asum_mean; + << " diff: " << diff_abs_val_mean; } for (int param_id = 0; param_id < layers_[layer_id]->blobs().size(); ++param_id) { if (!layers_[layer_id]->param_propagate_down(param_id)) { continue; } const Blob& blob = *layers_[layer_id]->blobs()[param_id]; - const Dtype asum_mean = blob.asum_diff() / blob.count(); + const Dtype diff_abs_val_mean = blob.asum_diff() / blob.count(); LOG(INFO) << " [Backward] " << "Layer " << layer_names_[layer_id] << ", param blob " << param_id - << " diff: " << asum_mean; + << " diff: " << diff_abs_val_mean; } } @@ -455,12 +455,12 @@ void Net::UpdateDebugInfo(const int param_id) { const int param_owner = param_owners_[param_id]; const string& layer_name = layer_names_[param_layer_indices_[param_id].first]; const string& param_display_name = param_display_names_[param_id]; - const Dtype asum_diff_mean = blob.asum_diff() / blob.count(); + const Dtype diff_abs_val_mean = blob.asum_diff() / blob.count(); if (param_owner < 0) { - const Dtype asum_data_mean = blob.asum_data() / blob.count(); + const Dtype data_abs_val_mean = blob.asum_data() / blob.count(); LOG(INFO) << " [Update] Layer " << layer_name << ", param " << param_display_name - << " data: " << asum_data_mean << "; diff: " << asum_diff_mean; + << " data: " << data_abs_val_mean << "; diff: " << diff_abs_val_mean; } else { const string& owner_layer_name = layer_names_[param_layer_indices_[param_owner].first]; @@ -468,7 +468,7 @@ void Net::UpdateDebugInfo(const int param_id) { << ", param blob " << param_display_name << " (owned by layer " << owner_layer_name << ", " << "param " << param_display_names_[param_owners_[param_id]] << ")" - << " diff: " << asum_diff_mean; + << " diff: " << diff_abs_val_mean; } } From 84c424b50e5cc2c21e298ee45180b74fefa0d81e Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 26 Jul 2014 17:03:27 -0700 Subject: [PATCH 327/408] Make training iterations 0-indexed. --- src/caffe/solver.cpp | 51 ++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 0dfc7f0a52d..b44948eda58 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -89,25 +89,24 @@ void Solver::Solve(const char* resume_file) { LOG(INFO) << "Restoring previous solver status from " << resume_file; Restore(resume_file); } - - // Run a test pass before doing any training to avoid waiting a potentially - // very long time (param_.test_interval() training iterations) to report that - // there's not enough memory to run the test net and crash, etc.; and to gauge - // the effect of the first training iterations. - if (param_.test_interval()) { - TestAll(); - } + // Remember the initial iter_ value; will be non-zero if we loaded from a + // resume_file above. + const int start_iter = iter_; // For a network that is trained by the solver, no bottom or top vecs // should be given, and we will just provide dummy vecs. vector*> bottom_vec; - while (iter_++ < param_.max_iter()) { - const bool display = param_.display() && iter_ % param_.display() == 0; - if (display) { - net_->set_debug_info(param_.debug_info()); - } else { - net_->set_debug_info(false); + for (; iter_ < param_.max_iter(); ++iter_) { + // Save a snapshot if needed. + if (param_.snapshot() && iter_ > start_iter && + iter_ % param_.snapshot() == 0) { + Snapshot(); + } + if (param_.test_interval() && iter_ % param_.test_interval() == 0) { + TestAll(); } + const bool display = param_.display() && iter_ % param_.display() == 0; + net_->set_debug_info(display && param_.debug_info()); Dtype loss = net_->ForwardBackward(bottom_vec); ComputeUpdateValue(); net_->Update(); @@ -115,17 +114,23 @@ void Solver::Solve(const char* resume_file) { if (display) { LOG(INFO) << "Iteration " << iter_ << ", loss = " << loss; } - if (param_.test_interval() && iter_ % param_.test_interval() == 0) { - TestAll(); - } - // Check if we need to do snapshot - if (param_.snapshot() && iter_ % param_.snapshot() == 0) { - Snapshot(); - } } - // After the optimization is done, always do a snapshot. - iter_--; + // Always save a snapshot after optimization. Snapshot(); + // After the optimization is done, run an additional train and test pass to + // display the train and test loss/outputs if appropriate (based on the + // display and test_interval settings, respectively). Unlike in the rest of + // training, for the train net we only run a forward pass as we've already + // updated the parameters "max_iter" times -- this final pass is only done to + // display the loss, which is computed in the forward pass. + if (param_.display() && iter_ % param_.display() == 0) { + Dtype loss; + net_->Forward(bottom_vec, &loss); + LOG(INFO) << "Iteration " << iter_ << ", loss = " << loss; + } + if (param_.test_interval() && iter_ % param_.test_interval() == 0) { + TestAll(); + } LOG(INFO) << "Optimization Done."; } From 91ed16ba7ec96ccfe0dee27ca8923d566d28371a Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 26 Jul 2014 20:57:07 -0700 Subject: [PATCH 328/408] Move loss display before lr display in ComputeUpdateValue. --- src/caffe/solver.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index b44948eda58..91738817875 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -102,18 +102,20 @@ void Solver::Solve(const char* resume_file) { iter_ % param_.snapshot() == 0) { Snapshot(); } + if (param_.test_interval() && iter_ % param_.test_interval() == 0) { TestAll(); } + const bool display = param_.display() && iter_ % param_.display() == 0; net_->set_debug_info(display && param_.debug_info()); Dtype loss = net_->ForwardBackward(bottom_vec); - ComputeUpdateValue(); - net_->Update(); - if (display) { LOG(INFO) << "Iteration " << iter_ << ", loss = " << loss; } + + ComputeUpdateValue(); + net_->Update(); } // Always save a snapshot after optimization. Snapshot(); From 6d71c516bc5f8179e319d501436681c1ea0aa9d4 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 27 Jul 2014 12:50:13 -0700 Subject: [PATCH 329/408] Symlink to tool bins without the .bin extension --- Makefile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 7f778d364c7..a788f5a394c 100644 --- a/Makefile +++ b/Makefile @@ -117,6 +117,8 @@ EXAMPLE_BUILD_DIRS += $(foreach obj,$(EXAMPLE_OBJS),$(dir $(obj))) # tool, example, and test bins TOOL_BINS := ${TOOL_OBJS:.o=.bin} EXAMPLE_BINS := ${EXAMPLE_OBJS:.o=.bin} +# symlinks to tool bins without the ".bin" extension +TOOL_BIN_LINKS := ${TOOL_BINS:.bin=} # Put the test binaries in build/test for convenience. TEST_BIN_DIR := $(BUILD_DIR)/test TEST_CU_BINS := $(addsuffix .testbin,$(addprefix $(TEST_BIN_DIR)/, \ @@ -327,7 +329,7 @@ $(LINT_OUTPUTS): $(LINT_OUTPUT_DIR)/%.lint.txt : % | $(LINT_OUTPUT_DIR) test: $(TEST_ALL_BIN) $(TEST_BINS) -tools: $(TOOL_BINS) +tools: $(TOOL_BINS) $(TOOL_BIN_LINKS) examples: $(EXAMPLE_BINS) @@ -431,6 +433,11 @@ $(TEST_CXX_BINS): $(TEST_BIN_DIR)/%.testbin: $(TEST_BUILD_DIR)/%.o $(GTEST_OBJ) -o $@ $(LINKFLAGS) $(LDFLAGS) @ echo +# Target for extension-less symlinks to tool binaries with extension '*.bin'. +$(TOOL_BUILD_DIR)/%: $(TOOL_BUILD_DIR)/%.bin | $(TOOL_BUILD_DIR) + @ $(RM) $@ + @ ln -s $(abspath $<) $@ + $(TOOL_BINS): %.bin : %.o $(STATIC_NAME) $(CXX) $< $(STATIC_NAME) -o $@ $(LINKFLAGS) $(LDFLAGS) @ echo From 0aa8dca699d8029c5698a724e1c668377dc27d1c Mon Sep 17 00:00:00 2001 From: qipeng Date: Sun, 27 Jul 2014 15:52:59 -0700 Subject: [PATCH 330/408] relaxed timer test requirements --- src/caffe/test/test_benchmark.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/caffe/test/test_benchmark.cpp b/src/caffe/test/test_benchmark.cpp index 6555b270ec4..fe0cc82a1d8 100644 --- a/src/caffe/test/test_benchmark.cpp +++ b/src/caffe/test/test_benchmark.cpp @@ -63,8 +63,8 @@ TYPED_TEST(BenchmarkTest, TestTimerMilliSeconds) { EXPECT_FALSE(timer.has_run_at_least_once()); timer.Start(); usleep(300 * 1000); - EXPECT_GE(timer.MilliSeconds(), 295); - EXPECT_LE(timer.MilliSeconds(), 305); + EXPECT_GE(timer.MilliSeconds(), 290); + EXPECT_LE(timer.MilliSeconds(), 310); EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_TRUE(timer.has_run_at_least_once()); @@ -78,8 +78,8 @@ TYPED_TEST(BenchmarkTest, TestTimerSeconds) { EXPECT_FALSE(timer.has_run_at_least_once()); timer.Start(); usleep(300 * 1000); - EXPECT_GE(timer.Seconds(), 0.295); - EXPECT_LE(timer.Seconds(), 0.305); + EXPECT_GE(timer.Seconds(), 0.290); + EXPECT_LE(timer.Seconds(), 0.310); EXPECT_TRUE(timer.initted()); EXPECT_FALSE(timer.running()); EXPECT_TRUE(timer.has_run_at_least_once()); From 4f12cc7391b05c351ae73fe39410f69c8658ab54 Mon Sep 17 00:00:00 2001 From: alfredtofu Date: Mon, 28 Jul 2014 10:19:51 +0800 Subject: [PATCH 331/408] Update image_data_layer.cpp fix bug for getting new width --- src/caffe/layers/image_data_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index 30050ddd3c6..d3cc7ff17bf 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -138,7 +138,7 @@ void ImageDataLayer::SetUp(const vector*>& bottom, vector*>* top) { Layer::SetUp(bottom, top); const int new_height = this->layer_param_.image_data_param().new_height(); - const int new_width = this->layer_param_.image_data_param().new_height(); + const int new_width = this->layer_param_.image_data_param().new_width(); CHECK((new_height == 0 && new_width == 0) || (new_height > 0 && new_width > 0)) << "Current implementation requires " "new_height and new_width to be set at the same time."; From 19e87d946829cb91e74a03463cda166f79cfe7ae Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 27 Jul 2014 19:02:58 -0700 Subject: [PATCH 332/408] Only install the minimal CUDA subpackages necessary for building. --- .travis.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index db115173f47..7721de112e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,7 +21,14 @@ install: - cd /tmp/glog-0.3.3 && ./configure && make && sudo make install && cd - - wget https://github.com/schuhschuh/gflags/archive/master.zip -O /tmp/gflags-master.zip && pushd /tmp/ && unzip gflags-master.zip && cd gflags-master && mkdir build && cd build && export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1 && sudo make install && popd - curl http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1204/x86_64/cuda-repo-ubuntu1204_6.0-37_amd64.deb -o /tmp/cuda_install.deb && sudo dpkg -i /tmp/cuda_install.deb && rm /tmp/cuda_install.deb - - sudo apt-get -y update && sudo apt-get -y install cuda + - sudo apt-get -y update + # Install the minimal CUDA subpackages required to test Caffe build. + # For a full CUDA installation, add 'cuda' to the list of packages. + - sudo apt-get -y install cuda-core-6-0 cuda-extra-libs-6-0 + # Create CUDA symlink at /usr/local/cuda + # (This would normally be created by the CUDA installer, but we create it + # manually since we did a partial installation.) + - sudo ln -s /usr/local/cuda-6.0 /usr/local/cuda - curl https://gitorious.org/mdb/mdb/archive/7f038d0f15bec57b4c07aa3f31cd5564c88a1897.tar.gz -o /tmp/mdb.tar.gz && tar -C /tmp -xzvf /tmp/mdb.tar.gz && rm /tmp/mdb.tar.gz - cd /tmp/mdb-mdb/libraries/liblmdb/ && make && sudo make install && cd - From 6388b049ff02f3d5cb371efa11e8b06b8cdde673 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 27 Jul 2014 15:02:38 -0700 Subject: [PATCH 333/408] set_mode to CPU in ArgMaxLayerTest constructor to avoid random Travis failures. --- src/caffe/test/test_argmax_layer.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index 5286a0a390a..51d68c42f9a 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -21,6 +21,7 @@ class ArgMaxLayerTest : public ::testing::Test { : blob_bottom_(new Blob(10, 20, 1, 1)), blob_top_(new Blob()), top_k_(5) { + Caffe::set_mode(Caffe::CPU); Caffe::set_random_seed(1701); // fill the values FillerParameter filler_param; @@ -59,7 +60,6 @@ TYPED_TEST(ArgMaxLayerTest, TestSetupMaxVal) { TYPED_TEST(ArgMaxLayerTest, TestCPU) { LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); ArgMaxLayer layer(layer_param); layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); @@ -83,7 +83,6 @@ TYPED_TEST(ArgMaxLayerTest, TestCPU) { TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); argmax_param->set_out_max_val(true); ArgMaxLayer layer(layer_param); @@ -110,7 +109,6 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUMaxVal) { TYPED_TEST(ArgMaxLayerTest, TestCPUTopK) { LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); argmax_param->set_top_k(this->top_k_); ArgMaxLayer layer(layer_param); @@ -140,7 +138,6 @@ TYPED_TEST(ArgMaxLayerTest, TestCPUTopK) { TYPED_TEST(ArgMaxLayerTest, TestCPUMaxValTopK) { LayerParameter layer_param; - Caffe::set_mode(Caffe::CPU); ArgMaxParameter* argmax_param = layer_param.mutable_argmax_param(); argmax_param->set_out_max_val(true); argmax_param->set_top_k(this->top_k_); From 9fc6ff3586ed8d8e341d25c2a2fb2e41c8e22e56 Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Mon, 28 Jul 2014 13:38:38 -0700 Subject: [PATCH 334/408] gflags 2.1 bugfix (or rather a hack). --- src/caffe/common.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 5894a961dcc..9eea0cacf12 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -8,6 +8,17 @@ #include "caffe/common.hpp" #include "caffe/util/rng.hpp" +// gflags 2.1 issue: namespace google was changed to gflags without warning. +// Luckily we will be able to use GFLAGS_GFAGS_H_ to detect if it is version +// 2.1. If it is not, we will add a temporary solution to redirect the +// namespace. +// TODO(Yangqing): Once gflags solves the problem in a more elegant way, let's +// remove the following hack. +#ifdef GFLAGS_GFLAGS_H_ +namespace google { +using namespace gflags; +} // namespace google +#endif // GFLAGS_GFLAGS_H_ namespace caffe { @@ -25,7 +36,7 @@ int64_t cluster_seedgen(void) { void GlobalInit(int* pargc, char*** pargv) { // Google flags. - ::gflags::ParseCommandLineFlags(pargc, pargv, true); + ::google::ParseCommandLineFlags(pargc, pargv, true); // Google logging. ::google::InitGoogleLogging(*(pargv)[0]); } From ad5ce91c6d16b25cae911f475867f05279197aaa Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Mon, 28 Jul 2014 13:44:40 -0700 Subject: [PATCH 335/408] fixing comment --- src/caffe/common.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 9eea0cacf12..ed46b3aae95 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -10,8 +10,7 @@ // gflags 2.1 issue: namespace google was changed to gflags without warning. // Luckily we will be able to use GFLAGS_GFAGS_H_ to detect if it is version -// 2.1. If it is not, we will add a temporary solution to redirect the -// namespace. +// 2.1. If yes , we will add a temporary solution to redirect the namespace. // TODO(Yangqing): Once gflags solves the problem in a more elegant way, let's // remove the following hack. #ifdef GFLAGS_GFLAGS_H_ From cd1313fac76a2127006e4ab905cc1a522ecd6cbb Mon Sep 17 00:00:00 2001 From: Yangqing Jia Date: Mon, 28 Jul 2014 14:16:25 -0700 Subject: [PATCH 336/408] lint --- src/caffe/common.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index ed46b3aae95..1810bb70b61 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -15,7 +15,7 @@ // remove the following hack. #ifdef GFLAGS_GFLAGS_H_ namespace google { -using namespace gflags; +using ::gflags::ParseCommandLineFlags; } // namespace google #endif // GFLAGS_GFLAGS_H_ From cbc507e71fd2615747dd60edf00d7be702aa5aa9 Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Mon, 28 Jul 2014 14:54:03 -0700 Subject: [PATCH 337/408] FIX: tests now catch bug reported in #750 (in HDF5 output layer) --- .../test/test_data/generate_sample_data.py | 5 ++++- src/caffe/test/test_data/sample_data.h5 | Bin 10184 -> 10184 bytes .../test/test_data/sample_data_2_gzip.h5 | Bin 9992 -> 9992 bytes src/caffe/test/test_hdf5_output_layer.cpp | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/caffe/test/test_data/generate_sample_data.py b/src/caffe/test/test_data/generate_sample_data.py index 0d8f5aa98e3..0516eff9158 100644 --- a/src/caffe/test/test_data/generate_sample_data.py +++ b/src/caffe/test/test_data/generate_sample_data.py @@ -14,7 +14,10 @@ data = np.arange(total_size) data = data.reshape(num_rows, num_cols, height, width) data = data.astype('float32') -label = np.arange(num_rows)[:, np.newaxis] + +# We had a bug where data was copied into label, but the tests weren't +# catching it, so let's make label 1-indexed. +label = 1 + np.arange(num_rows)[:, np.newaxis] label = label.astype('float32') print data diff --git a/src/caffe/test/test_data/sample_data.h5 b/src/caffe/test/test_data/sample_data.h5 index a1f923a71ae51bf568810679b01e98ab67adaccf..cb327573cae5de98cb1008eb38a3372c229a499c 100644 GIT binary patch delta 41 wcmX@%f5Lym9cJb?N3U(Z&uq%X4rBx~Fl202WOHSjcz|tl8i$Siljh*<6_>9$?#?#$h8rIf+9J09A4hP5=M^ diff --git a/src/caffe/test/test_data/sample_data_2_gzip.h5 b/src/caffe/test/test_data/sample_data_2_gzip.h5 index 56c0a740ec2a5163d2200826c3748bb930d26b78..b3d187cb1da4445a6a2f5510dc98ba4b25e8ec75 100644 GIT binary patch delta 79 zcmeD1>+sva!@~UL=(WxKEM4MC85`0Q5(*fU6!I7zu{zW+bjULpHY+nXGYDu~Ffr5{ ju^CU^Eq#(5s6Lp1!C~S?*U1Jf5{zmSH_9*OkmUjZ7UCHA delta 79 zcmeD1>+sva!@~S7L2WZXOP9D3LnB+Y!b1iZhdT^MxEp>j2-q_uvAMIcF}gFP=dxa6 jU|^WMTlyqBP<=21gTus)u9FQ|Bp8(^Zj@ilA::CheckBlobEqual(const Blob& b1, for (int c = 0; c < b1.channels(); ++c) { for (int h = 0; h < b1.height(); ++h) { for (int w = 0; w < b1.width(); ++w) { - EXPECT_EQ(b1.data_at(n, c, h, w), b1.data_at(n, c, h, w)); + EXPECT_EQ(b1.data_at(n, c, h, w), b2.data_at(n, c, h, w)); } } } From 65c9c4a4c89f9d5112f265d56cc842e47f698afb Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Mon, 28 Jul 2014 14:55:05 -0700 Subject: [PATCH 338/408] FIX: both data and label now copied correctly in HDF5 output layer --- src/caffe/layers/hdf5_output_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/layers/hdf5_output_layer.cpp b/src/caffe/layers/hdf5_output_layer.cpp index accc9f9ccdd..30e4997854b 100644 --- a/src/caffe/layers/hdf5_output_layer.cpp +++ b/src/caffe/layers/hdf5_output_layer.cpp @@ -55,7 +55,7 @@ Dtype HDF5OutputLayer::Forward_cpu(const vector*>& bottom, for (int i = 0; i < bottom[0]->num(); ++i) { caffe_copy(data_datum_dim, &bottom[0]->cpu_data()[i * data_datum_dim], &data_blob_.mutable_cpu_data()[i * data_datum_dim]); - caffe_copy(label_datum_dim, &bottom[0]->cpu_data()[i * label_datum_dim], + caffe_copy(label_datum_dim, &bottom[1]->cpu_data()[i * label_datum_dim], &label_blob_.mutable_cpu_data()[i * label_datum_dim]); } SaveBlobs(); From 416a7a1747fd95bb4564268627bf9a88fbb3928d Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Mon, 28 Jul 2014 15:09:47 -0700 Subject: [PATCH 339/408] FIX: updating HDF5 input test for new test data --- src/caffe/test/test_hdf5data_layer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/caffe/test/test_hdf5data_layer.cpp b/src/caffe/test/test_hdf5data_layer.cpp index e606e209661..f3d7c8c6974 100644 --- a/src/caffe/test/test_hdf5data_layer.cpp +++ b/src/caffe/test/test_hdf5data_layer.cpp @@ -86,7 +86,8 @@ TYPED_TEST(HDF5DataLayerTest, TestRead) { // On even iterations, we're reading the first half of the data. // On odd iterations, we're reading the second half of the data. - int label_offset = (iter % 2 == 0) ? 0 : batch_size; + // NB: label is 1-indexed + int label_offset = 1 + ((iter % 2 == 0) ? 0 : batch_size); int data_offset = (iter % 2 == 0) ? 0 : batch_size * data_size; // Every two iterations we are reading the second file, From dff2023a67dad3e59450dfdaf6c5042c1c6b0ccb Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 15:22:43 -0700 Subject: [PATCH 340/408] make "all" the default target "all" is the right default since it builds the library itself. define "everything" after it. --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index a788f5a394c..391d3c08e5c 100644 --- a/Makefile +++ b/Makefile @@ -299,10 +299,10 @@ SUPERCLEAN_EXTS := .so .a .o .bin .testbin .pb.cc .pb.h _pb2.py .cuo py mat py$(PROJECT) mat$(PROJECT) proto runtest \ superclean supercleanlist supercleanfiles warn everything -everything: all py$(PROJECT) mat$(PROJECT) test warn lint runtest - all: $(NAME) $(STATIC_NAME) tools examples +everything: all py$(PROJECT) mat$(PROJECT) test warn lint runtest + linecount: cloc --read-lang-def=$(PROJECT).cloc src/$(PROJECT)/ From 2e48c3fc4fdfd73d9bfac13829ef78da0e5ad474 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 19:45:09 -0700 Subject: [PATCH 341/408] [docs] fix missing glog install cd --- docs/installation.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/installation.md b/docs/installation.md index a74071f8ecb..9cf9700235a 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -76,6 +76,7 @@ The only exceptions being the google flags library and the google logging librar # glog wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz tar zxvf glog-0.3.3.tar.gz + cd glog-0.3.3 ./configure make && make install # gflags From fdb190358ed5045d79a8d7de872aaa9682cc81e5 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 19:49:10 -0700 Subject: [PATCH 342/408] [docs] install glog first given incompatibility --- docs/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index 9cf9700235a..820b918d64a 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -87,7 +87,7 @@ The only exceptions being the google flags library and the google logging librar cmake .. make && make install -Note that glog does not compile with the most recent gflags version (2.1), so before that is solved you will need to build with gflags first. Also note that if you have newer versions of Ubuntu, like 13.04 or 14.04, gflags may be available under apt-get. +Note that glog does not compile with the most recent gflags version (2.1), so before that is solved you will need to build with glog first. Also note that if you have newer versions of Ubuntu, like 13.04 or 14.04, gflags may be available under apt-get. #### OS X From f3140227a8a91aafeac2933c85ff94d40458c876 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 19:53:44 -0700 Subject: [PATCH 343/408] [docs] compile gflags with -fPIC for linking --- docs/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation.md b/docs/installation.md index 820b918d64a..fa29a0e6d90 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -84,7 +84,7 @@ The only exceptions being the google flags library and the google logging librar unzip master.zip cd gflags-master mkdir build && cd build - cmake .. + export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1 make && make install Note that glog does not compile with the most recent gflags version (2.1), so before that is solved you will need to build with glog first. Also note that if you have newer versions of Ubuntu, like 13.04 or 14.04, gflags may be available under apt-get. From edf438a4a6609f2e32eeeca4ce353ff9c9c4a905 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 16 Jun 2014 00:38:50 -0700 Subject: [PATCH 344/408] add h/w kernel size, stride, and pad for non-square filtering while keeping everything working as-is. --- src/caffe/proto/caffe.proto | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 5e437dff327..c27e9e5aebe 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -251,10 +251,18 @@ message ConcatParameter { message ConvolutionParameter { optional uint32 num_output = 1; // The number of outputs for the layer optional bool bias_term = 2 [default = true]; // whether to have bias terms - optional uint32 pad = 3 [default = 0]; // The padding size - optional uint32 kernel_size = 4; // The kernel size + // Pad, kernel size, and stride are all given as a single value for equal + // dimensions in height and width or as Y, X pairs. + optional uint32 pad = 3 [default = 0]; // The padding size (equal in Y, X) + optional uint32 pad_h = 9 [default = 0]; // The padding height + optional uint32 pad_w = 10 [default = 0]; // The padding width + optional uint32 kernel_size = 4; // The kernel size (square) + optional uint32 kernel_h = 11; // The kernel height + optional uint32 kernel_w = 12; // The kernel width optional uint32 group = 5 [default = 1]; // The group size for group conv - optional uint32 stride = 6 [default = 1]; // The stride + optional uint32 stride = 6 [default = 1]; // The stride (equal in Y, X) + optional uint32 stride_h = 13; // The stride height + optional uint32 stride_w = 14; // The stride width optional FillerParameter weight_filler = 7; // The filler for the weight optional FillerParameter bias_filler = 8; // The filler for the bias } From 4d44fe7b5ecf94411db34484e7e86e07f6e735ab Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 30 Jun 2014 12:06:27 -0700 Subject: [PATCH 345/408] im2col + convolve non-square filters, padding, and stride --- include/caffe/util/im2col.hpp | 20 +++--- include/caffe/vision_layers.hpp | 12 ++-- src/caffe/layers/conv_layer.cpp | 58 ++++++++++++++---- src/caffe/layers/conv_layer.cu | 11 ++-- src/caffe/layers/im2col_layer.cpp | 51 +++++++++++++--- src/caffe/layers/im2col_layer.cu | 6 +- src/caffe/test/test_im2col_kernel.cu | 17 ++++-- src/caffe/util/im2col.cpp | 62 ++++++++++--------- src/caffe/util/im2col.cu | 91 ++++++++++++++++------------ 9 files changed, 216 insertions(+), 112 deletions(-) diff --git a/include/caffe/util/im2col.hpp b/include/caffe/util/im2col.hpp index a649d8cc4e8..c263997ae66 100644 --- a/include/caffe/util/im2col.hpp +++ b/include/caffe/util/im2col.hpp @@ -7,23 +7,27 @@ namespace caffe { template void im2col_cpu(const Dtype* data_im, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, Dtype* data_col); + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, Dtype* data_col); template void col2im_cpu(const Dtype* data_col, const int channels, - const int height, const int width, const int psize, const int pad, - const int stride, Dtype* data_im); + const int height, const int width, const int patch_h, const int patch_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, Dtype* data_im); template void im2col_gpu(const Dtype* data_im, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, Dtype* data_col); + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, Dtype* data_col); template void col2im_gpu(const Dtype* data_col, const int channels, - const int height, const int width, const int psize, const int pad, - const int stride, Dtype* data_im); + const int height, const int width, const int patch_h, const int patch_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, Dtype* data_im); } // namespace caffe diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 05c7b45e783..80dc37543ee 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -45,11 +45,11 @@ class ConvolutionLayer : public Layer { virtual void Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom); - int kernel_size_; - int stride_; + int kernel_h_, kernel_w_; + int stride_h_, stride_w_; int num_; int channels_; - int pad_; + int pad_h_, pad_w_; int height_; int width_; int num_output_; @@ -119,12 +119,12 @@ class Im2colLayer : public Layer { virtual void Backward_gpu(const vector*>& top, const vector& propagate_down, vector*>* bottom); - int kernel_size_; - int stride_; + int kernel_h_, kernel_w_; + int stride_h_, stride_w_; int channels_; int height_; int width_; - int pad_; + int pad_h_, pad_w_; }; /* InnerProductLayer diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index 11f29e783db..79b040f08d8 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -14,10 +14,42 @@ template void ConvolutionLayer::SetUp(const vector*>& bottom, vector*>* top) { Layer::SetUp(bottom, top); - kernel_size_ = this->layer_param_.convolution_param().kernel_size(); - stride_ = this->layer_param_.convolution_param().stride(); + ConvolutionParameter conv_param = this->layer_param_.convolution_param(); + CHECK(!conv_param.has_kernel_size() != + !(conv_param.has_kernel_h() && conv_param.has_kernel_w())) + << "Filter size is kernel_size OR kernel_h and kernel_w; not both"; + CHECK(conv_param.has_kernel_size() || + (conv_param.has_kernel_h() && conv_param.has_kernel_w())) + << "For non-square filters both kernel_h and kernel_w are required."; + CHECK((!conv_param.has_pad() && conv_param.has_pad_h() + && conv_param.has_pad_w()) + || (!conv_param.has_pad_h() && !conv_param.has_pad_w())) + << "pad is pad OR pad_h and pad_w are required."; + CHECK((!conv_param.has_stride() && conv_param.has_stride_h() + && conv_param.has_stride_w()) + || (!conv_param.has_stride_h() && !conv_param.has_stride_w())) + << "Stride is stride OR stride_h and stride_w are required."; + if (conv_param.has_kernel_size()) { + kernel_h_ = kernel_w_ = conv_param.kernel_size(); + } else { + kernel_h_ = conv_param.kernel_h(); + kernel_w_ = conv_param.kernel_w(); + } + CHECK_GT(kernel_h_, 0) << "Filter dimensions cannot be zero."; + CHECK_GT(kernel_w_, 0) << "Filter dimensions cannot be zero."; + if (!conv_param.has_pad_h()) { + pad_h_ = pad_w_ = conv_param.pad(); + } else { + pad_h_ = conv_param.pad_h(); + pad_w_ = conv_param.pad_w(); + } + if (!conv_param.has_stride_h()) { + stride_h_ = stride_w_ = conv_param.stride(); + } else { + stride_h_ = conv_param.stride_h(); + stride_w_ = conv_param.stride_w(); + } group_ = this->layer_param_.convolution_param().group(); - pad_ = this->layer_param_.convolution_param().pad(); num_ = bottom[0]->num(); channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); @@ -37,17 +69,18 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, CHECK_EQ(channels_ % group_, 0); // The im2col result buffer would only hold one image at a time to avoid // overly large memory usage. - int height_out = (height_ + 2 * pad_ - kernel_size_) / stride_ + 1; - int width_out = (width_ + 2 * pad_ - kernel_size_) / stride_ + 1; + int height_out = + (height_ + 2 * pad_h_ - kernel_h_) / stride_h_ + 1; + int width_out = (width_ + 2 * pad_w_ - kernel_w_) / stride_w_ + 1; col_buffer_.Reshape( - 1, channels_ * kernel_size_ * kernel_size_, height_out, width_out); + 1, channels_ * kernel_h_ * kernel_w_, height_out, width_out); // Set the parameters CHECK_EQ(num_output_ % group_, 0) << "Number of output should be multiples of group."; bias_term_ = this->layer_param_.convolution_param().bias_term(); // Figure out the dimensions for individual gemms. M_ = num_output_ / group_; - K_ = channels_ * kernel_size_ * kernel_size_ / group_; + K_ = channels_ * kernel_h_ * kernel_w_ / group_; N_ = height_out * width_out; for (int top_id = 0; top_id < top->size(); ++top_id) { (*top)[top_id]->Reshape(num_, num_output_, height_out, width_out); @@ -63,7 +96,7 @@ void ConvolutionLayer::SetUp(const vector*>& bottom, } // Intialize the weight this->blobs_[0].reset(new Blob( - num_output_, channels_ / group_, kernel_size_, kernel_size_)); + num_output_, channels_ / group_, kernel_h_, kernel_w_)); // fill the weights shared_ptr > weight_filler(GetFiller( this->layer_param_.convolution_param().weight_filler())); @@ -99,7 +132,8 @@ Dtype ConvolutionLayer::Forward_cpu(const vector*>& bottom, for (int n = 0; n < num_; ++n) { // First, im2col im2col_cpu(bottom_data + bottom[i]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); + width_, kernel_h_, kernel_w_, pad_h_, pad_w_, stride_h_, stride_w_, col_data); + stride_h_, stride_w_, col_data); // Second, innerproduct with groups for (int g = 0; g < group_; ++g) { caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, K_, @@ -160,7 +194,7 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, // Since we saved memory in the forward pass by not storing all col // data, we will need to recompute them. im2col_cpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); + width_, kernel_h_, kernel_w_ pad_h_, pad_w_, stride_h_, stride_w_, col_data); // gradient w.r.t. weight. Note that we will accumulate diffs. if (this->param_propagate_down_[0]) { for (int g = 0; g < group_; ++g) { @@ -179,8 +213,8 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, (Dtype)0., col_diff + col_offset * g); } // col2im back to the data - col2im_cpu(col_diff, channels_, height_, width_, kernel_size_, pad_, - stride_, bottom_diff + (*bottom)[i]->offset(n)); + col2im_cpu(col_diff, channels_, height_, width_, kernel_h_, kernel_w_, pad_h_, pad_w_, + stride_h_, stride_w_, bottom_diff + (*bottom)[i]->offset(n)); } } } diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index d328fbde9ae..86c047b4307 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -24,7 +24,8 @@ Dtype ConvolutionLayer::Forward_gpu(const vector*>& bottom, for (int n = 0; n < num_; ++n) { // First, im2col im2col_gpu(bottom_data + bottom[i]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); + width_, kernel_h_, kernel_w_, pad_h_, pad_w_, stride_h_, stride_w_, col_data); + pad_w_, stride_h_, stride_w_, col_data); // Second, innerproduct with groups for (int g = 0; g < group_; ++g) { caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, K_, @@ -65,6 +66,7 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, const Dtype* top_diff = NULL; // Bias gradient, if necessary. if (bias_term_ && this->param_propagate_down_[1]) { + width_, kernel_h_, kernel_w_, pad_h_, top_diff = top[i]->gpu_diff(); for (int n = 0; n < num_; ++n) { caffe_gpu_gemv(CblasNoTrans, num_output_, N_, @@ -85,7 +87,8 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, // Since we saved memory in the forward pass by not storing all col // data, we will need to recompute them. im2col_gpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, col_data); + width_, kernel_h_, kernel_w_, pad_h_, pad_w_, + stride_h_, stride_w_, col_data); // gradient w.r.t. weight. Note that we will accumulate diffs. if (this->param_propagate_down_[0]) { for (int g = 0; g < group_; ++g) { @@ -104,8 +107,8 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, (Dtype)0., col_diff + col_offset * g); } // col2im back to the data - col2im_gpu(col_diff, channels_, height_, width_, kernel_size_, pad_, - stride_, bottom_diff + (*bottom)[i]->offset(n)); + col2im_gpu(col_diff, channels_, height_, width_, kernel_h_, kernel_w, pad_h_, pad_w_, + stride_h_, stride_w_, bottom_diff + (*bottom)[i]->offset(n)); } } } diff --git a/src/caffe/layers/im2col_layer.cpp b/src/caffe/layers/im2col_layer.cpp index 2c86412bb15..fabce0a6ad6 100644 --- a/src/caffe/layers/im2col_layer.cpp +++ b/src/caffe/layers/im2col_layer.cpp @@ -13,15 +13,48 @@ template void Im2colLayer::SetUp(const vector*>& bottom, vector*>* top) { Layer::SetUp(bottom, top); - kernel_size_ = this->layer_param_.convolution_param().kernel_size(); - stride_ = this->layer_param_.convolution_param().stride(); - pad_ = this->layer_param_.convolution_param().pad(); + ConvolutionParameter conv_param = this->layer_param_.convolution_param(); + CHECK(!conv_param.has_kernel_size() != + !(conv_param.has_kernel_h() && conv_param.has_kernel_w())) + << "Filter size is kernel_size OR kernel_h and kernel_w; not both"; + CHECK(conv_param.has_kernel_size() || + (conv_param.has_kernel_h() && conv_param.has_kernel_w())) + << "For non-square filters both kernel_h and kernel_w are required."; + CHECK((!conv_param.has_pad() && conv_param.has_pad_h() + && conv_param.has_pad_w()) + || (!conv_param.has_pad_h() && !conv_param.has_pad_w())) + << "pad is pad OR pad_h and pad_w are required."; + CHECK((!conv_param.has_stride() && conv_param.has_stride_h() + && conv_param.has_stride_w()) + || (!conv_param.has_stride_h() && !conv_param.has_stride_w())) + << "Stride is stride OR stride_h and stride_w are required."; + if (conv_param.has_kernel_size()) { + kernel_h_ = kernel_w_ = conv_param.kernel_size(); + } else { + kernel_h_ = conv_param.kernel_h(); + kernel_w_ = conv_param.kernel_w(); + } + CHECK_GT(kernel_h_, 0) << "Filter dimensions cannot be zero."; + CHECK_GT(kernel_w_, 0) << "Filter dimensions cannot be zero."; + if (!conv_param.has_pad_h()) { + pad_h_ = pad_w_ = conv_param.pad(); + } else { + pad_h_ = conv_param.pad_h(); + pad_w_ = conv_param.pad_w(); + } + if (!conv_param.has_stride_h()) { + stride_h_ = stride_w_ = conv_param.stride(); + } else { + stride_h_ = conv_param.stride_h(); + stride_w_ = conv_param.stride_w(); + } channels_ = bottom[0]->channels(); height_ = bottom[0]->height(); width_ = bottom[0]->width(); - (*top)[0]->Reshape(bottom[0]->num(), channels_ * kernel_size_ * kernel_size_, - (height_ + 2 * pad_ - kernel_size_) / stride_ + 1, - (width_ + 2 * pad_ - kernel_size_) / stride_ + 1); + (*top)[0]->Reshape( + bottom[0]->num(), channels_ * kernel_h_ * kernel_w_, + (height_ + 2 * pad_h_ - kernel_h_) / stride_h_ + 1, + (width_ + 2 * pad_w_ - kernel_w_) / stride_w_ + 1); } template @@ -31,7 +64,8 @@ Dtype Im2colLayer::Forward_cpu(const vector*>& bottom, Dtype* top_data = (*top)[0]->mutable_cpu_data(); for (int n = 0; n < bottom[0]->num(); ++n) { im2col_cpu(bottom_data + bottom[0]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, top_data + (*top)[0]->offset(n)); + width_, kernel_h_, kernel_w_, pad_h_, pad_w_, + stride_h_, stride_w_, top_data + (*top)[0]->offset(n)); } return Dtype(0.); } @@ -43,7 +77,8 @@ void Im2colLayer::Backward_cpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_cpu_diff(); for (int n = 0; n < top[0]->num(); ++n) { col2im_cpu(top_diff + top[0]->offset(n), channels_, height_, width_, - kernel_size_, pad_, stride_, bottom_diff + (*bottom)[0]->offset(n)); + kernel_h_, kernel_w_, pad_h_, pad_w_, + stride_h_, stride_w_, bottom_diff + (*bottom)[0]->offset(n)); } } diff --git a/src/caffe/layers/im2col_layer.cu b/src/caffe/layers/im2col_layer.cu index 9cfb74e815c..84439742250 100644 --- a/src/caffe/layers/im2col_layer.cu +++ b/src/caffe/layers/im2col_layer.cu @@ -16,7 +16,8 @@ Dtype Im2colLayer::Forward_gpu(const vector*>& bottom, Dtype* top_data = (*top)[0]->mutable_gpu_data(); for (int n = 0; n < bottom[0]->num(); ++n) { im2col_gpu(bottom_data + bottom[0]->offset(n), channels_, height_, - width_, kernel_size_, pad_, stride_, top_data + (*top)[0]->offset(n)); + width_, kernel_h_, kernel_w_, pad_h_, pad_w_, + stride_h_, stride_w_, top_data + (*top)[0]->offset(n)); } return Dtype(0.); } @@ -28,7 +29,8 @@ void Im2colLayer::Backward_gpu(const vector*>& top, Dtype* bottom_diff = (*bottom)[0]->mutable_gpu_diff(); for (int n = 0; n < top[0]->num(); ++n) { col2im_gpu(top_diff + top[0]->offset(n), channels_, height_, width_, - kernel_size_, pad_, stride_, bottom_diff + (*bottom)[0]->offset(n)); + kernel_h_, kernel_w_, pad_h_, pad_w_, + stride_h_, stride_w_, bottom_diff + (*bottom)[0]->offset(n)); } } diff --git a/src/caffe/test/test_im2col_kernel.cu b/src/caffe/test/test_im2col_kernel.cu index 5671968b56d..37d1a1523af 100644 --- a/src/caffe/test/test_im2col_kernel.cu +++ b/src/caffe/test/test_im2col_kernel.cu @@ -17,8 +17,10 @@ namespace caffe { // Forward declare kernel functions template __global__ void im2col_gpu_kernel(const int n, const Dtype* data_im, - const int height, const int width, const int ksize, const int pad, - const int stride, const int height_col, const int width_col, + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, + const int stride_h, const int stride_w, + const int height_col, const int width_col, Dtype* data_col); extern cudaDeviceProp CAFFE_TEST_CUDA_PROP; @@ -87,8 +89,10 @@ TYPED_TEST(Im2colKernelTest, TestGPU) { // CPU Version for (int n = 0; n < this->blob_bottom_->num(); ++n) { im2col_cpu(this->blob_bottom_->cpu_data() + this->blob_bottom_->offset(n), - this->channels_, this->height_, this->width_, this->kernel_size_, - this->pad_, this->stride_, cpu_data + this->blob_top_cpu_->offset(n)); + this->channels_, this->height_, this->width_, + this->kernel_size_, this->kernel_size_, this->pad_, this->pad_, + this->stride_, this->stride_, + cpu_data + this->blob_top_cpu_->offset(n)); } // GPU version @@ -102,8 +106,9 @@ TYPED_TEST(Im2colKernelTest, TestGPU) { // NOLINT_NEXT_LINE(whitespace/operators) im2col_gpu_kernel<<>>( num_kernels, bottom_data + this->blob_bottom_->offset(n), - this->height_, this->width_, this->kernel_size_, this->pad_, - this->stride_, this->height_col_, this->width_col_, + this->height_, this->width_, this->kernel_size_, this->kernel_size_, + this->pad_, this->pad_, this->stride_, this->stride_, + this->height_col_, this->width_col_, top_data + this->blob_top_->offset(n)); CUDA_POST_KERNEL_CHECK; } diff --git a/src/caffe/util/im2col.cpp b/src/caffe/util/im2col.cpp index ce4e18848bf..ca1dc797985 100644 --- a/src/caffe/util/im2col.cpp +++ b/src/caffe/util/im2col.cpp @@ -11,19 +11,21 @@ namespace caffe { template void im2col_cpu(const Dtype* data_im, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, Dtype* data_col) { - int height_col = (height + 2 * pad - ksize) / stride + 1; - int width_col = (width + 2 * pad - ksize) / stride + 1; - int channels_col = channels * ksize * ksize; + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, + const int stride_h, const int stride_w, + Dtype* data_col) { + int height_col = (height + 2 * pad_h - kernel_h) / stride_h + 1; + int width_col = (width + 2 * pad_w - kernel_w) / stride_w + 1; + int channels_col = channels * kernel_h * kernel_w; for (int c = 0; c < channels_col; ++c) { - int w_offset = c % ksize; - int h_offset = (c / ksize) % ksize; - int c_im = c / ksize / ksize; + int w_offset = c % kernel_h; + int h_offset = (c / kernel_h) % kernel_h; + int c_im = c / kernel_h / kernel_w; for (int h = 0; h < height_col; ++h) { for (int w = 0; w < width_col; ++w) { - int h_pad = h * stride - pad + h_offset; - int w_pad = w * stride - pad + w_offset; + int h_pad = h * stride_h - pad_h + h_offset; + int w_pad = w * stride_w - pad_w + w_offset; if (h_pad >= 0 && h_pad < height && w_pad >= 0 && w_pad < width) data_col[(c * height_col + h) * width_col + w] = data_im[(c_im * height + h_pad) * width + w_pad]; @@ -36,28 +38,32 @@ void im2col_cpu(const Dtype* data_im, const int channels, // Explicit instantiation template void im2col_cpu(const float* data_im, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, float* data_col); + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, float* data_col); template void im2col_cpu(const double* data_im, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, double* data_col); + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, double* data_col); template void col2im_cpu(const Dtype* data_col, const int channels, - const int height, const int width, const int ksize, const int pad, + const int height, const int width, const int patch_h, const int patch_w, + const int pad_h, const int pad_w, + const int stride_h, const int stride_w, const int stride, Dtype* data_im) { caffe_set(height * width * channels, Dtype(0), data_im); - int height_col = (height + 2 * pad - ksize) / stride + 1; - int width_col = (width + 2 * pad - ksize) / stride + 1; - int channels_col = channels * ksize * ksize; + int height_col = (height + 2 * pad_h - patch_h) / stride_h + 1; + int width_col = (width + 2 * pad_w - patch_w) / stride_w + 1; + int channels_col = channels * patch_h * patch_w; for (int c = 0; c < channels_col; ++c) { - int w_offset = c % ksize; - int h_offset = (c / ksize) % ksize; - int c_im = c / ksize / ksize; + int w_offset = c % patch_h; + int h_offset = (c / patch_h) % patch_h; + int c_im = c / patch_h / patch_w; for (int h = 0; h < height_col; ++h) { for (int w = 0; w < width_col; ++w) { - int h_pad = h * stride - pad + h_offset; - int w_pad = w * stride - pad + w_offset; + int h_pad = h * stride_h - pad_h + h_offset; + int w_pad = w * stride_w - pad_w + w_offset; if (h_pad >= 0 && h_pad < height && w_pad >= 0 && w_pad < width) data_im[(c_im * height + h_pad) * width + w_pad] += data_col[(c * height_col + h) * width_col + w]; @@ -68,10 +74,12 @@ void col2im_cpu(const Dtype* data_col, const int channels, // Explicit instantiation template void col2im_cpu(const float* data_col, const int channels, - const int height, const int width, const int psize, const int pad, - const int stride, float* data_im); + const int height, const int width, const int patch_h, const int patch_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, float* data_im); template void col2im_cpu(const double* data_col, const int channels, - const int height, const int width, const int psize, const int pad, - const int stride, double* data_im); + const int height, const int width, const int patch_h, const int patch_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, double* data_im); } // namespace caffe diff --git a/src/caffe/util/im2col.cu b/src/caffe/util/im2col.cu index 79faa6cb5c9..b565d2d3843 100644 --- a/src/caffe/util/im2col.cu +++ b/src/caffe/util/im2col.cu @@ -12,23 +12,25 @@ namespace caffe { template __global__ void im2col_gpu_kernel(const int n, const Dtype* data_im, - const int height, const int width, const int ksize, const int pad, - const int stride, const int height_col, const int width_col, + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, + const int stride_h, const int stride_w, + const int height_col, const int width_col, Dtype* data_col) { CUDA_KERNEL_LOOP(index, n) { int w_out = index % width_col; int h_index = index / width_col; int h_out = h_index % height_col; int channel_in = h_index / height_col; - int channel_out = channel_in * ksize * ksize; - int h_in = h_out * stride - pad; - int w_in = w_out * stride - pad; + int channel_out = channel_in * kernel_h * kernel_w; + int h_in = h_out * stride_h - pad_h; + int w_in = w_out * stride_w - pad_w; Dtype* data_col_ptr = data_col; data_col_ptr += (channel_out * height_col + h_out) * width_col + w_out; const Dtype* data_im_ptr = data_im; data_im_ptr += (channel_in * height + h_in) * width + w_in; - for (int i = 0; i < ksize; ++i) { - for (int j = 0; j < ksize; ++j) { + for (int i = 0; i < kernel_h; ++i) { + for (int j = 0; j < kernel_w; ++j) { int h = h_in + i; int w = w_in + j; *data_col_ptr = (h >= 0 && w >= 0 && h < height && w < width) ? @@ -41,17 +43,20 @@ __global__ void im2col_gpu_kernel(const int n, const Dtype* data_im, template void im2col_gpu(const Dtype* data_im, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, Dtype* data_col) { + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, + const int stride_h, const int stride_w, + Dtype* data_col) { // We are going to launch channels * height_col * width_col kernels, each // kernel responsible for copying a single-channel grid. - int height_col = (height + 2 * pad - ksize) / stride + 1; - int width_col = (width + 2 * pad - ksize) / stride + 1; + int height_col = (height + 2 * pad_h - kernel_h) / stride_h + 1; + int width_col = (width + 2 * pad_w - kernel_w) / stride_w + 1; int num_kernels = channels * height_col * width_col; // NOLINT_NEXT_LINE(whitespace/operators) im2col_gpu_kernel<<>>( - num_kernels, data_im, height, width, ksize, pad, stride, height_col, + num_kernels, data_im, height, width, kernel_h, kernel_w, pad_h, + pad_w, stride_h, stride_w, height_col, width_col, data_col); CUDA_POST_KERNEL_CHECK; } @@ -59,40 +64,46 @@ void im2col_gpu(const Dtype* data_im, const int channels, // Explicit instantiation template void im2col_gpu(const float* data_im, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, float* data_col); + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, const int stride_h, const int stride_w, + float* data_col); template void im2col_gpu(const double* data_im, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, double* data_col); + const int height, const int width, const int kernel_h, const int kernel_w, + const int pad_h, const int pad_w, const int stride_h, const int stride_w, + double* data_col); template __global__ void col2im_gpu_kernel(const int n, const Dtype* data_col, - const int height, const int width, const int channels, const int ksize, - const int pad, const int stride, const int height_col, const int width_col, + const int height, const int width, const int channels, + const int patch_h, const int patch_w, + const int pad_h, const int pad_w, + const int stride_h, const int stride_w, + const int height_col, const int width_col, Dtype* data_im) { CUDA_KERNEL_LOOP(index, n) { Dtype val = 0; - int w = index % width + pad; - int h = (index / width) % height + pad; + int w = index % width + pad_w; + int h = (index / width) % height + pad_h; int c = index / (width * height); // compute the start and end of the output - int w_col_start = (w < ksize) ? 0 : (w - ksize) / stride + 1; - int w_col_end = min(w / stride + 1, width_col); - int h_col_start = (h < ksize) ? 0 : (h - ksize) / stride + 1; - int h_col_end = min(h / stride + 1, height_col); + int w_col_start = (w < patch_w) ? 0 : (w - patch_w) / stride_w + 1; + int w_col_end = min(w / stride_w + 1, width_col); + int h_col_start = (h < patch_h) ? 0 : (h - patch_h) / stride_h + 1; + int h_col_end = min(h / stride_h + 1, height_col); /* for (int h_col = h_col_start; h_col < h_col_end; ++h_col) { for (int w_col = w_col_start; w_col < w_col_end; ++w_col) { // the col location: [c * width * height + h_out, w_out] - int c_col = c * ksize * ksize + (h - h_col * stride) * ksize + (w - w_col * stride); + int c_col = c * patch_h * patch_w + (h - h_col * stride_h) * ksize + + (w - w_col * stride_w); val += data_col[(c_col * height_col + h_col) * width_col + w_col]; } } */ // equivalent implementation - int offset = (c * ksize * ksize + h * ksize + w) * height_col * width_col; - int coeff_h_col = (1 - stride * ksize * height_col) * width_col; - int coeff_w_col = (1 - stride * height_col * width_col); + int offset = (c * patch_h * patch_w + h * patch_h + w) * height_col * width_col; + int coeff_h_col = (1 - stride_h * patch_w * height_col) * width_col; + int coeff_w_col = (1 - stride_w * height_col * width_col); for (int h_col = h_col_start; h_col < h_col_end; ++h_col) { for (int w_col = w_col_start; w_col < w_col_end; ++w_col) { val += data_col[offset + h_col * coeff_h_col + w_col * coeff_w_col]; @@ -104,29 +115,31 @@ __global__ void col2im_gpu_kernel(const int n, const Dtype* data_col, template void col2im_gpu(const Dtype* data_col, const int channels, - const int height, const int width, const int ksize, const int pad, - const int stride, Dtype* data_im) { - int height_col = (height + 2 * pad - ksize) / stride + 1; - int width_col = (width + 2 * pad - ksize) / stride + 1; + const int height, const int width, const int patch_h, const int patch_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, Dtype* data_im) { + int height_col = (height + 2 * pad_h - patch_h) / stride_h + 1; + int width_col = (width + 2 * pad_w - patch_w) / stride_w + 1; int num_kernels = channels * height * width; // To avoid involving atomic operations, we will launch one kernel per // bottom dimension, and then in the kernel add up the top dimensions. // NOLINT_NEXT_LINE(whitespace/operators) col2im_gpu_kernel<<>>( - num_kernels, data_col, height, width, channels, ksize, pad, stride, + num_kernels, data_col, height, width, channels, patch_h, patch_w, + pad_h, pad_w, stride_h, stride_w, height_col, width_col, data_im); CUDA_POST_KERNEL_CHECK; } - // Explicit instantiation template void col2im_gpu(const float* data_col, const int channels, - const int height, const int width, const int psize, const int pad, - const int stride, float* data_im); + const int height, const int width, const int patch_h, const int patch_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, float* data_im); template void col2im_gpu(const double* data_col, const int channels, - const int height, const int width, const int psize, const int pad, - const int stride, double* data_im); - + const int height, const int width, const int patch_h, const int patch_w, + const int pad_h, const int pad_w, const int stride_h, + const int stride_w, double* data_im); } // namespace caffe From 909e4d83e3f19df92316b7bbd85225ef2a3156c3 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 17 Jun 2014 22:08:00 -0700 Subject: [PATCH 346/408] test rectangular im2col --- src/caffe/test/test_im2col_layer.cpp | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/caffe/test/test_im2col_layer.cpp b/src/caffe/test/test_im2col_layer.cpp index a40f59df2e8..0463cee7040 100644 --- a/src/caffe/test/test_im2col_layer.cpp +++ b/src/caffe/test/test_im2col_layer.cpp @@ -83,4 +83,37 @@ TYPED_TEST(Im2colLayerTest, TestGradient) { } +TYPED_TEST(Im2colLayerTest, TestRect) { + typedef typename TypeParam::Dtype Dtype; + LayerParameter layer_param; + ConvolutionParameter* convolution_param = + layer_param.mutable_convolution_param(); + convolution_param->set_kernel_h(5); + convolution_param->set_kernel_w(3); + convolution_param->set_stride(2); + Im2colLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // We are lazy and will only check the top left block + for (int c = 0; c < 45; ++c) { + EXPECT_EQ(this->blob_top_->data_at(0, c, 0, 0), + this->blob_bottom_->data_at(0, (c / 15), (c / 5) % 5, c % 5)); + } +} + + +TYPED_TEST(Im2colLayerTest, TestRectGradient) { + typedef typename TypeParam::Dtype Dtype; + LayerParameter layer_param; + ConvolutionParameter* convolution_param = + layer_param.mutable_convolution_param(); + convolution_param->set_kernel_h(5); + convolution_param->set_kernel_w(3); + convolution_param->set_stride(2); + Im2colLayer layer(layer_param); + GradientChecker checker(1e-2, 1e-2); + checker.CheckGradientExhaustive(&layer, &(this->blob_bottom_vec_), + &(this->blob_top_vec_)); +} + } // namespace caffe From ca4482c5ae0ef7ec62a55ebdc920519eb2f63cd5 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 21:47:34 -0700 Subject: [PATCH 347/408] fix GPU indexing Thanks to @ejaz-izy's debugging in https://github.com/BVLC/caffe/pull/505#issuecomment-50287608 --- src/caffe/layers/conv_layer.cpp | 10 ++++++---- src/caffe/layers/conv_layer.cu | 10 +++++----- src/caffe/test/test_im2col_layer.cpp | 2 +- src/caffe/util/im2col.cpp | 10 +++++----- src/caffe/util/im2col.cu | 3 ++- 5 files changed, 19 insertions(+), 16 deletions(-) diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index 79b040f08d8..c7949e049cd 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -132,8 +132,8 @@ Dtype ConvolutionLayer::Forward_cpu(const vector*>& bottom, for (int n = 0; n < num_; ++n) { // First, im2col im2col_cpu(bottom_data + bottom[i]->offset(n), channels_, height_, - width_, kernel_h_, kernel_w_, pad_h_, pad_w_, stride_h_, stride_w_, col_data); - stride_h_, stride_w_, col_data); + width_, kernel_h_, kernel_w_, pad_h_, pad_w_, stride_h_, stride_w_, + col_data); // Second, innerproduct with groups for (int g = 0; g < group_; ++g) { caffe_cpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, K_, @@ -194,7 +194,8 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, // Since we saved memory in the forward pass by not storing all col // data, we will need to recompute them. im2col_cpu(bottom_data + (*bottom)[i]->offset(n), channels_, height_, - width_, kernel_h_, kernel_w_ pad_h_, pad_w_, stride_h_, stride_w_, col_data); + width_, kernel_h_, kernel_w_, pad_h_, pad_w_, + stride_h_, stride_w_, col_data); // gradient w.r.t. weight. Note that we will accumulate diffs. if (this->param_propagate_down_[0]) { for (int g = 0; g < group_; ++g) { @@ -213,7 +214,8 @@ void ConvolutionLayer::Backward_cpu(const vector*>& top, (Dtype)0., col_diff + col_offset * g); } // col2im back to the data - col2im_cpu(col_diff, channels_, height_, width_, kernel_h_, kernel_w_, pad_h_, pad_w_, + col2im_cpu(col_diff, channels_, height_, width_, + kernel_h_, kernel_w_, pad_h_, pad_w_, stride_h_, stride_w_, bottom_diff + (*bottom)[i]->offset(n)); } } diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index 86c047b4307..fc114b0b328 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -24,8 +24,8 @@ Dtype ConvolutionLayer::Forward_gpu(const vector*>& bottom, for (int n = 0; n < num_; ++n) { // First, im2col im2col_gpu(bottom_data + bottom[i]->offset(n), channels_, height_, - width_, kernel_h_, kernel_w_, pad_h_, pad_w_, stride_h_, stride_w_, col_data); - pad_w_, stride_h_, stride_w_, col_data); + width_, kernel_h_, kernel_w_, pad_h_, pad_w_, stride_h_, stride_w_, + col_data); // Second, innerproduct with groups for (int g = 0; g < group_; ++g) { caffe_gpu_gemm(CblasNoTrans, CblasNoTrans, M_, N_, K_, @@ -66,7 +66,6 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, const Dtype* top_diff = NULL; // Bias gradient, if necessary. if (bias_term_ && this->param_propagate_down_[1]) { - width_, kernel_h_, kernel_w_, pad_h_, top_diff = top[i]->gpu_diff(); for (int n = 0; n < num_; ++n) { caffe_gpu_gemv(CblasNoTrans, num_output_, N_, @@ -107,8 +106,9 @@ void ConvolutionLayer::Backward_gpu(const vector*>& top, (Dtype)0., col_diff + col_offset * g); } // col2im back to the data - col2im_gpu(col_diff, channels_, height_, width_, kernel_h_, kernel_w, pad_h_, pad_w_, - stride_h_, stride_w_, bottom_diff + (*bottom)[i]->offset(n)); + col2im_gpu(col_diff, channels_, height_, width_, + kernel_h_, kernel_w_, pad_h_, pad_w_, stride_h_, stride_w_, + bottom_diff + (*bottom)[i]->offset(n)); } } } diff --git a/src/caffe/test/test_im2col_layer.cpp b/src/caffe/test/test_im2col_layer.cpp index 0463cee7040..aaee3d81bf7 100644 --- a/src/caffe/test/test_im2col_layer.cpp +++ b/src/caffe/test/test_im2col_layer.cpp @@ -97,7 +97,7 @@ TYPED_TEST(Im2colLayerTest, TestRect) { // We are lazy and will only check the top left block for (int c = 0; c < 45; ++c) { EXPECT_EQ(this->blob_top_->data_at(0, c, 0, 0), - this->blob_bottom_->data_at(0, (c / 15), (c / 5) % 5, c % 5)); + this->blob_bottom_->data_at(0, (c / 15), (c / 3) % 5, c % 3)); } } diff --git a/src/caffe/util/im2col.cpp b/src/caffe/util/im2col.cpp index ca1dc797985..01df8c89182 100644 --- a/src/caffe/util/im2col.cpp +++ b/src/caffe/util/im2col.cpp @@ -19,8 +19,8 @@ void im2col_cpu(const Dtype* data_im, const int channels, int width_col = (width + 2 * pad_w - kernel_w) / stride_w + 1; int channels_col = channels * kernel_h * kernel_w; for (int c = 0; c < channels_col; ++c) { - int w_offset = c % kernel_h; - int h_offset = (c / kernel_h) % kernel_h; + int w_offset = c % kernel_w; + int h_offset = (c / kernel_w) % kernel_h; int c_im = c / kernel_h / kernel_w; for (int h = 0; h < height_col; ++h) { for (int w = 0; w < width_col; ++w) { @@ -51,14 +51,14 @@ void col2im_cpu(const Dtype* data_col, const int channels, const int height, const int width, const int patch_h, const int patch_w, const int pad_h, const int pad_w, const int stride_h, const int stride_w, - const int stride, Dtype* data_im) { + Dtype* data_im) { caffe_set(height * width * channels, Dtype(0), data_im); int height_col = (height + 2 * pad_h - patch_h) / stride_h + 1; int width_col = (width + 2 * pad_w - patch_w) / stride_w + 1; int channels_col = channels * patch_h * patch_w; for (int c = 0; c < channels_col; ++c) { - int w_offset = c % patch_h; - int h_offset = (c / patch_h) % patch_h; + int w_offset = c % patch_w; + int h_offset = (c / patch_w) % patch_h; int c_im = c / patch_h / patch_w; for (int h = 0; h < height_col; ++h) { for (int w = 0; w < width_col; ++w) { diff --git a/src/caffe/util/im2col.cu b/src/caffe/util/im2col.cu index b565d2d3843..653ce49e7f8 100644 --- a/src/caffe/util/im2col.cu +++ b/src/caffe/util/im2col.cu @@ -101,7 +101,8 @@ __global__ void col2im_gpu_kernel(const int n, const Dtype* data_col, } */ // equivalent implementation - int offset = (c * patch_h * patch_w + h * patch_h + w) * height_col * width_col; + int offset = + (c * patch_h * patch_w + h * patch_w + w) * height_col * width_col; int coeff_h_col = (1 - stride_h * patch_w * height_col) * width_col; int coeff_w_col = (1 - stride_w * height_col * width_col); for (int h_col = h_col_start; h_col < h_col_end; ++h_col) { From dadeb990ade280de90a8d4e0295005ee8d895189 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 22:43:06 -0700 Subject: [PATCH 348/408] test non-square filters by separable convolution of Sobel operator Compute the G_x kernel of the Sobel operator as a full filter and as separable filters to check the rectangular filter output. --- src/caffe/test/test_convolution_layer.cpp | 96 +++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/src/caffe/test/test_convolution_layer.cpp b/src/caffe/test/test_convolution_layer.cpp index d0522b13cd0..f3cfb680990 100644 --- a/src/caffe/test/test_convolution_layer.cpp +++ b/src/caffe/test/test_convolution_layer.cpp @@ -172,6 +172,102 @@ TYPED_TEST(ConvolutionLayerTest, TestSimpleConvolutionGroup) { } } +TYPED_TEST(ConvolutionLayerTest, TestSobelConvolution) { + // Test separable convolution by computing the Sobel operator + // as a single filter then comparing the result + // as the convolution of two rectangular filters. + typedef typename TypeParam::Dtype Dtype; + // Fill bottoms with identical Gaussian noise. + shared_ptr > filler; + FillerParameter filler_param; + filler_param.set_value(1.); + filler.reset(new GaussianFiller(filler_param)); + filler->Fill(this->blob_bottom_); + this->blob_bottom_2_->CopyFrom(*this->blob_bottom_); + // Compute Sobel G_x operator as 3 x 3 convolution. + LayerParameter layer_param; + ConvolutionParameter* convolution_param = + layer_param.mutable_convolution_param(); + convolution_param->set_kernel_size(3); + convolution_param->set_stride(2); + convolution_param->set_num_output(1); + convolution_param->set_bias_term(false); + shared_ptr > layer( + new ConvolutionLayer(layer_param)); + layer->blobs().resize(1); + layer->blobs()[0].reset(new Blob(1, 3, 3, 3)); + Dtype* weights = layer->blobs()[0]->mutable_cpu_data(); + for (int c = 0; c < 3; ++c) { + int i = c * 9; // 3 x 3 filter + weights[i + 0] = -1; + weights[i + 1] = 0; + weights[i + 2] = 1; + weights[i + 3] = -2; + weights[i + 4] = 0; + weights[i + 5] = 2; + weights[i + 6] = -1; + weights[i + 7] = 0; + weights[i + 8] = 1; + } + layer->SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer->Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Compute Sobel G_x operator as separable 3 x 1 and 1 x 3 convolutions. + // (1) the [1 2 1] column filter + vector*> sep_blob_bottom_vec; + vector*> sep_blob_top_vec; + shared_ptr > blob_sep(new Blob()); + sep_blob_bottom_vec.push_back(this->blob_bottom_2_); + sep_blob_top_vec.push_back(this->blob_top_2_); + convolution_param->clear_kernel_size(); + convolution_param->clear_stride(); + convolution_param->set_kernel_h(3); + convolution_param->set_kernel_w(1); + convolution_param->set_stride_h(2); + convolution_param->set_stride_w(1); + convolution_param->set_num_output(1); + convolution_param->set_bias_term(false); + layer.reset(new ConvolutionLayer(layer_param)); + layer->blobs().resize(1); + layer->blobs()[0].reset(new Blob(1, 3, 3, 1)); + Dtype* weights_1 = layer->blobs()[0]->mutable_cpu_data(); + for (int c = 0; c < 3; ++c) { + int i = c * 3; // 3 x 1 filter + weights_1[i + 0] = 1; + weights_1[i + 1] = 2; + weights_1[i + 2] = 1; + } + layer->SetUp(sep_blob_bottom_vec, &(sep_blob_top_vec)); + layer->Forward(sep_blob_bottom_vec, &(sep_blob_top_vec)); + // (2) the [-1 0 1] row filter + blob_sep->CopyFrom(*this->blob_top_2_, false, true); + sep_blob_bottom_vec.clear(); + sep_blob_bottom_vec.push_back(blob_sep.get()); + convolution_param->set_kernel_h(1); + convolution_param->set_kernel_w(3); + convolution_param->set_stride_h(1); + convolution_param->set_stride_w(2); + convolution_param->set_num_output(1); + convolution_param->set_bias_term(false); + layer.reset(new ConvolutionLayer(layer_param)); + layer->blobs().resize(1); + layer->blobs()[0].reset(new Blob(1, 3, 1, 3)); + Dtype* weights_2 = layer->blobs()[0]->mutable_cpu_data(); + for (int c = 0; c < 3; ++c) { + int i = c * 3; // 1 x 3 filter + weights_2[i + 0] = -1; + weights_2[i + 1] = 0; + weights_2[i + 2] = 1; + } + layer->SetUp(sep_blob_bottom_vec, &(sep_blob_top_vec)); + layer->Forward(sep_blob_bottom_vec, &(sep_blob_top_vec)); + // Test equivalence of full and separable filters. + const Dtype* top_data = this->blob_top_->cpu_data(); + const Dtype* sep_top_data = this->blob_top_2_->cpu_data(); + for (int i = 0; i < this->blob_top_->count(); ++i) { + EXPECT_NEAR(top_data[i], sep_top_data[i], 1e-4); + } +} + TYPED_TEST(ConvolutionLayerTest, TestGradient) { typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; From 374218a07a4bbe9826da8b0d9edf2e6c51042224 Mon Sep 17 00:00:00 2001 From: TANGUY Arnaud Date: Tue, 29 Jul 2014 14:08:42 +0200 Subject: [PATCH 349/408] Fix choice MKL directory from Makefile.config --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 391d3c08e5c..8e8ebedbc57 100644 --- a/Makefile +++ b/Makefile @@ -247,7 +247,7 @@ ifeq ($(BLAS), mkl) # MKL LIBRARIES += mkl_rt COMMON_FLAGS += -DUSE_MKL - MKL_DIR = /opt/intel/mkl + MKL_DIR ?= /opt/intel/mkl BLAS_INCLUDE ?= $(MKL_DIR)/include BLAS_LIB ?= $(MKL_DIR)/lib $(MKL_DIR)/lib/intel64 else ifeq ($(BLAS), open) From c2b74c3cf66b229c0ad926cf052c7e7ed522038d Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 17 Jul 2014 20:12:44 -0700 Subject: [PATCH 350/408] Add NetState message with phase, level, stage; NetStateRule message with filtering rules for Layers. --- src/caffe/proto/caffe.proto | 95 +++++++++++++++++++++++++++++++------ 1 file changed, 81 insertions(+), 14 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index c27e9e5aebe..d2f61e57f34 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -56,24 +56,55 @@ message NetParameter { // If set False, then whether to carry out backward is determined // automatically according to the net structure and learning rates. optional bool force_backward = 5 [default = false]; + // The current "state" of the network, including the phase, level, and stage. + // Some layers may be included/excluded depending on this state and the states + // specified in the layers' include and exclude fields. + optional NetState state = 6; } +// NOTE +// Update the next available ID when you add a new SolverParameter field. +// +// SolverParameter next available ID: 27 (last added: test_state) message SolverParameter { - // {train,test}_net specify a path to a file containing the {train,test} net - // parameters; {train,test}_net_param specify the net parameters directly - // inside the SolverParameter. + ////////////////////////////////////////////////////////////////////////////// + // Specifying the train and test networks // - // Only either train_net or train_net_param (not both) should be specified. - // You may specify 0 or more test_net and/or test_net_param. All - // nets specified using test_net_param will be tested first, followed by all - // nets specified using test_net (each processed in the order specified in - // the prototxt). - optional string train_net = 1; // The proto filename for the train net. - repeated string test_net = 2; // The proto filenames for the test nets. - optional NetParameter train_net_param = 21; // Full params for the train net. - repeated NetParameter test_net_param = 22; // Full params for the test nets. - // The number of iterations for each testing phase. + // Exactly one train net must be specified using one of the following fields: + // train_net_param, train_net, net_param, net + // One or more test nets may be specified using any of the following fields: + // test_net_param, test_net, net_param, net + // If more than one test net field is specified (e.g., both net and + // test_net are specified), they will be evaluated in the field order given + // above: (1) test_net_param, (2) test_net, (3) net_param/net. + // A test_iter must be specified for each test_net. + // A test_level and/or a test_stage may also be specified for each test_net. + ////////////////////////////////////////////////////////////////////////////// + + // Proto filename for the train net, possibly combined with one or more + // test nets. + optional string net = 24; + // Inline train net param, possibly combined with one or more test nets. + optional NetParameter net_param = 25; + + optional string train_net = 1; // Proto filename for the train net. + repeated string test_net = 2; // Proto filenames for the test nets. + optional NetParameter train_net_param = 21; // Inline train net params. + repeated NetParameter test_net_param = 22; // Inline test net params. + + // The states for the train/test nets. Must be unspecified or + // specified once per net. + // + // By default, all states will have solver = true; + // train_state will have phase = TRAIN, + // and all test_state's will have phase = TEST. + // Other defaults are set according to the NetState defaults. + optional NetState train_state = 26; + repeated NetState test_state = 27; + + // The number of iterations for each test net. repeated int32 test_iter = 3; + // The number of iterations between two testing phases. optional int32 test_interval = 4 [default = 0]; optional bool test_compute_loss = 19 [default = false]; @@ -118,15 +149,51 @@ message SolverState { repeated BlobProto history = 3; // The history for sgd solvers } +enum Phase { + TRAIN = 0; + TEST = 1; +} + +message NetState { + optional Phase phase = 1 [default = TEST]; + optional int32 level = 2 [default = 0]; + repeated string stage = 3; +} + +message NetStateRule { + // Set phase to require the NetState have a particular phase (TRAIN or TEST) + // to meet this rule. + optional Phase phase = 1; + + // Set the minimum and/or maximum levels in which the layer should be used. + // Leave undefined to meet the rule regardless of level. + optional int32 min_level = 2; + optional int32 max_level = 3; + + // A customizable set of stages. + // The net must have ALL of the specified stages to meet the rule. + // (Use multiple NetStateRules to specify conjunctions of stages.) + repeated string stage = 4; +} + // NOTE // Update the next available ID when you add a new LayerParameter field. // -// LayerParameter next available ID: 32 (last added: slice_param) +// LayerParameter next available ID: 34 (last added: exclude) message LayerParameter { repeated string bottom = 2; // the name of the bottom blobs repeated string top = 3; // the name of the top blobs optional string name = 4; // the layer name + // Rules controlling whether and when a layer is included in the network, + // based on the current NetState. You may specify a non-zero number of rules + // to include OR exclude, but not both. If no include or exclude rules are + // specified, the layer is always included. If the current NetState meets + // ANY (i.e., one or more) of the specified rules, the layer is + // included/excluded. + repeated NetStateRule include = 32; + repeated NetStateRule exclude = 33; + // NOTE // Add new LayerTypes to the enum below in lexicographical order (other than // starting with NONE), starting with the next available ID in the comment From b8833565f8234903d33c880017c3768cd02e6fd9 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 29 Jul 2014 11:22:52 -0700 Subject: [PATCH 351/408] Add unit tests and skeleton code for Net/Solver filtering functionality. --- include/caffe/net.hpp | 8 + include/caffe/solver.hpp | 5 + src/caffe/net.cpp | 11 + src/caffe/test/test_net.cpp | 820 +++++++++++++++++++++++++++++++++ src/caffe/test/test_solver.cpp | 98 ++++ 5 files changed, 942 insertions(+) create mode 100644 src/caffe/test/test_solver.cpp diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index 7548011d973..808b244e47d 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -115,6 +115,14 @@ class Net { void set_debug_info(const bool value) { debug_info_ = value; } + // Helpers for Init. + // Remove layers that the user specified should be excluded given the current + // phase, level, and stage. + static void FilterNet(const NetParameter& param, + NetParameter* param_filtered); + static bool StateMeetsRule(const NetState& state, const NetStateRule& rule, + const string& layer_name); + protected: // Helpers for Init. // Append a new input or top blob to the net. diff --git a/include/caffe/solver.hpp b/include/caffe/solver.hpp index 3112c59e0fc..52dcd1936c5 100644 --- a/include/caffe/solver.hpp +++ b/include/caffe/solver.hpp @@ -6,6 +6,8 @@ #include #include +#include "caffe/net.hpp" + namespace caffe { template @@ -20,6 +22,9 @@ class Solver { inline void Solve(const string resume_file) { Solve(resume_file.c_str()); } virtual ~Solver() {} inline shared_ptr > net() { return net_; } + inline const vector > >& test_nets() { + return test_nets_; + } protected: // PreSolve is run before any solving iteration starts, allowing one to diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 228f826a8b9..a02b1118826 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -167,6 +167,17 @@ void Net::Init(const NetParameter& in_param) { debug_info_ = false; } +template +void Net::FilterNet(const NetParameter& param, + NetParameter* param_filtered) { +} + +template +bool Net::StateMeetsRule(const NetState& state, + const NetStateRule& rule, const string& layer_name) { + return true; +} + // Helper for Net::Init: add a new input or top blob to the net. (Inputs have // layer_id == -1, tops have layer_id >= 0.) template diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index e84701d941c..c4181345573 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -835,4 +835,824 @@ TYPED_TEST(NetTest, TestFromTo) { } } +class FilterNetTest : public ::testing::Test { + protected: + void RunFilterNetTest( + const string& input_param_string, const string& filtered_param_string) { + NetParameter input_param; + CHECK(google::protobuf::TextFormat::ParseFromString( + input_param_string, &input_param)); + NetParameter expected_filtered_param; + CHECK(google::protobuf::TextFormat::ParseFromString( + filtered_param_string, &expected_filtered_param)); + NetParameter actual_filtered_param; + Net::FilterNet(input_param, &actual_filtered_param); + EXPECT_EQ(expected_filtered_param.DebugString(), + actual_filtered_param.DebugString()); + // Also test idempotence. + NetParameter double_filtered_param; + Net::FilterNet(actual_filtered_param, &double_filtered_param); + EXPECT_EQ(actual_filtered_param.DebugString(), + double_filtered_param.DebugString()); + } +}; + +TEST_F(FilterNetTest, TestNoFilter) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterLeNetTrainTest) { + const string& input_proto = + "name: 'LeNet' " + "layers { " + " name: 'mnist' " + " type: DATA " + " top: 'data' " + " top: 'label' " + " data_param { " + " source: 'mnist-train-leveldb' " + " scale: 0.00390625 " + " batch_size: 64 " + " } " + " include: { phase: TRAIN } " + "} " + "layers { " + " name: 'mnist' " + " type: DATA " + " top: 'data' " + " top: 'label' " + " data_param { " + " source: 'mnist-test-leveldb' " + " scale: 0.00390625 " + " batch_size: 100 " + " } " + " include: { phase: TEST } " + "} " + "layers { " + " name: 'conv1' " + " type: CONVOLUTION " + " bottom: 'data' " + " top: 'conv1' " + " blobs_lr: 1 " + " blobs_lr: 2 " + " convolution_param { " + " num_output: 20 " + " kernel_size: 5 " + " stride: 1 " + " weight_filler { " + " type: 'xavier' " + " } " + " bias_filler { " + " type: 'constant' " + " } " + " } " + "} " + "layers { " + " name: 'ip1' " + " type: INNER_PRODUCT " + " bottom: 'conv1' " + " top: 'ip1' " + " blobs_lr: 1 " + " blobs_lr: 2 " + " inner_product_param { " + " num_output: 10 " + " weight_filler { " + " type: 'xavier' " + " } " + " bias_filler { " + " type: 'constant' " + " } " + " } " + "} " + "layers { " + " name: 'accuracy' " + " type: ACCURACY " + " bottom: 'ip1' " + " bottom: 'label' " + " top: 'accuracy' " + " include: { phase: TEST } " + "} " + "layers { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'ip2' " + " bottom: 'label' " + " top: 'loss' " + "} "; + const string input_proto_train = "state: { phase: TRAIN } " + input_proto; + const string input_proto_test = "state: { phase: TEST } " + input_proto; + const string& output_proto_train = + "state: { phase: TRAIN } " + "name: 'LeNet' " + "layers { " + " name: 'mnist' " + " type: DATA " + " top: 'data' " + " top: 'label' " + " data_param { " + " source: 'mnist-train-leveldb' " + " scale: 0.00390625 " + " batch_size: 64 " + " } " + " include: { phase: TRAIN } " + "} " + "layers { " + " name: 'conv1' " + " type: CONVOLUTION " + " bottom: 'data' " + " top: 'conv1' " + " blobs_lr: 1 " + " blobs_lr: 2 " + " convolution_param { " + " num_output: 20 " + " kernel_size: 5 " + " stride: 1 " + " weight_filler { " + " type: 'xavier' " + " } " + " bias_filler { " + " type: 'constant' " + " } " + " } " + "} " + "layers { " + " name: 'ip1' " + " type: INNER_PRODUCT " + " bottom: 'conv1' " + " top: 'ip1' " + " blobs_lr: 1 " + " blobs_lr: 2 " + " inner_product_param { " + " num_output: 10 " + " weight_filler { " + " type: 'xavier' " + " } " + " bias_filler { " + " type: 'constant' " + " } " + " } " + "} " + "layers { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'ip2' " + " bottom: 'label' " + " top: 'loss' " + "} "; + const string& output_proto_test = + "state: { phase: TEST } " + "name: 'LeNet' " + "layers { " + " name: 'mnist' " + " type: DATA " + " top: 'data' " + " top: 'label' " + " data_param { " + " source: 'mnist-test-leveldb' " + " scale: 0.00390625 " + " batch_size: 100 " + " } " + " include: { phase: TEST } " + "} " + "layers { " + " name: 'conv1' " + " type: CONVOLUTION " + " bottom: 'data' " + " top: 'conv1' " + " blobs_lr: 1 " + " blobs_lr: 2 " + " convolution_param { " + " num_output: 20 " + " kernel_size: 5 " + " stride: 1 " + " weight_filler { " + " type: 'xavier' " + " } " + " bias_filler { " + " type: 'constant' " + " } " + " } " + "} " + "layers { " + " name: 'ip1' " + " type: INNER_PRODUCT " + " bottom: 'conv1' " + " top: 'ip1' " + " blobs_lr: 1 " + " blobs_lr: 2 " + " inner_product_param { " + " num_output: 10 " + " weight_filler { " + " type: 'xavier' " + " } " + " bias_filler { " + " type: 'constant' " + " } " + " } " + "} " + "layers { " + " name: 'accuracy' " + " type: ACCURACY " + " bottom: 'ip1' " + " bottom: 'label' " + " top: 'accuracy' " + " include: { phase: TEST } " + "} " + "layers { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'ip2' " + " bottom: 'label' " + " top: 'loss' " + "} "; + this->RunFilterNetTest(input_proto_train, output_proto_train); + this->RunFilterNetTest(input_proto_test, output_proto_test); +} + +TEST_F(FilterNetTest, TestFilterOutByStage) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + " include: { stage: 'mystage' } " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + const string& output_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, output_proto); +} + +TEST_F(FilterNetTest, TestFilterOutByStage2) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { stage: 'mystage' } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + const string& output_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, output_proto); +} + +TEST_F(FilterNetTest, TestFilterInByStage) { + const string& input_proto = + "state: { stage: 'mystage' } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { stage: 'mystage' } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterInByStage2) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " exclude: { stage: 'mystage' } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterOutByMultipleStage) { + const string& input_proto = + "state: { stage: 'mystage' } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { stage: 'mystage' stage: 'myotherstage' } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " include: { stage: 'mystage' } " + "} "; + const string& output_proto = + "state: { stage: 'mystage' } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " include: { stage: 'mystage' } " + "} "; + this->RunFilterNetTest(input_proto, output_proto); +} + +TEST_F(FilterNetTest, TestFilterInByMultipleStage) { + const string& input_proto = + "state: { stage: 'mystage' } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { stage: 'myotherstage' } " + " include: { stage: 'mystage' } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " include: { stage: 'mystage' } " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterInByMultipleStage2) { + const string& input_proto = + "state: { stage: 'mystage' stage: 'myotherstage' } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { stage: 'mystage' stage: 'myotherstage' } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " include: { stage: 'mystage' } " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterOutByMinLevel) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { min_level: 3 } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + const string& output_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, output_proto); +} + +TEST_F(FilterNetTest, TestFilterOutByMaxLevel) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { max_level: -3 } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + const string& output_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, output_proto); +} + +TEST_F(FilterNetTest, TestFilterInByMinLevel) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { min_level: 0 } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterInByMinLevel2) { + const string& input_proto = + "state: { level: 7 } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { min_level: 3 } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterInByMaxLevel) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { max_level: 0 } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterInByMaxLevel2) { + const string& input_proto = + "state: { level: -7 } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { max_level: -3 } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + "} "; + this->RunFilterNetTest(input_proto, input_proto); +} + +TEST_F(FilterNetTest, TestFilterInOutByIncludeMultiRule) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { min_level: 2 phase: TRAIN } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " include: { min_level: 2 phase: TEST } " + "} "; + const string& input_proto_train = + "state: { level: 4 phase: TRAIN } " + input_proto; + const string& input_proto_test = + "state: { level: 4 phase: TEST } " + input_proto; + const string& output_proto_train = + "state: { level: 4 phase: TRAIN } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { min_level: 2 phase: TRAIN } " + "} "; + const string& output_proto_test = + "state: { level: 4 phase: TEST } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " include: { min_level: 2 phase: TEST } " + "} "; + this->RunFilterNetTest(input_proto_train, output_proto_train); + this->RunFilterNetTest(input_proto_test, output_proto_test); +} + +TEST_F(FilterNetTest, TestFilterInByIncludeMultiRule) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " include: { min_level: 2 phase: TRAIN } " + " include: { phase: TEST } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " include: { min_level: 2 phase: TEST } " + " include: { phase: TRAIN } " + "} "; + const string& input_proto_train = + "state: { level: 2 phase: TRAIN } " + input_proto; + const string& input_proto_test = + "state: { level: 2 phase: TEST } " + input_proto; + this->RunFilterNetTest(input_proto_train, input_proto_train); + this->RunFilterNetTest(input_proto_test, input_proto_test); +} + +TEST_F(FilterNetTest, TestFilterInOutByExcludeMultiRule) { + const string& input_proto = + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " exclude: { min_level: 2 phase: TRAIN } " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " exclude: { min_level: 2 phase: TEST } " + "} "; + const string& input_proto_train = + "state: { level: 4 phase: TRAIN } " + input_proto; + const string& input_proto_test = + "state: { level: 4 phase: TEST } " + input_proto; + const string& output_proto_train = + "state: { level: 4 phase: TRAIN } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " exclude: { min_level: 2 phase: TEST } " + "} "; + const string& output_proto_test = + "state: { level: 4 phase: TEST } " + "name: 'TestNetwork' " + "layers: { " + " name: 'data' " + " type: DATA " + " top: 'data' " + " top: 'label' " + "} " + "layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " bottom: 'data' " + " top: 'innerprod' " + " exclude: { min_level: 2 phase: TRAIN } " + "} "; + this->RunFilterNetTest(input_proto_train, output_proto_train); + this->RunFilterNetTest(input_proto_test, output_proto_test); +} + } // namespace caffe diff --git a/src/caffe/test/test_solver.cpp b/src/caffe/test/test_solver.cpp new file mode 100644 index 00000000000..7380ab86308 --- /dev/null +++ b/src/caffe/test/test_solver.cpp @@ -0,0 +1,98 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include +#include + +#include "google/protobuf/text_format.h" + +#include "gtest/gtest.h" +#include "caffe/common.hpp" +#include "caffe/proto/caffe.pb.h" +#include "caffe/solver.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +using std::ostringstream; + +namespace caffe { + +template +class SolverTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + + protected: + virtual void InitSolverFromProtoString(const string& proto) { + SolverParameter param; + CHECK(google::protobuf::TextFormat::ParseFromString(proto, ¶m)); + solver_.reset(new SGDSolver(param)); + } + + shared_ptr > solver_; +}; + +TYPED_TEST_CASE(SolverTest, TestDtypesAndDevices); + +TYPED_TEST(SolverTest, TestInitTrainTestNets) { + const string& proto = + "test_interval: 10 " + "test_iter: 10 " + "test_state: { stage: 'with-softmax' }" + "test_iter: 10 " + "test_state: {}" + "net_param { " + " name: 'TestNetwork' " + " layers: { " + " name: 'data' " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: 5 " + " channels: 3 " + " height: 10 " + " width: 10 " + " num: 5 " + " channels: 1 " + " height: 1 " + " width: 1 " + " } " + " top: 'data' " + " top: 'label' " + " } " + " layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 10 " + " } " + " bottom: 'data' " + " top: 'innerprod' " + " } " + " layers: { " + " name: 'accuracy' " + " type: ACCURACY " + " bottom: 'innerprod' " + " bottom: 'label' " + " top: 'accuracy' " + " exclude: { phase: TRAIN } " + " } " + " layers: { " + " name: 'loss' " + " type: SOFTMAX_LOSS " + " bottom: 'innerprod' " + " bottom: 'label' " + " include: { phase: TRAIN } " + " include: { phase: TEST stage: 'with-softmax' } " + " } " + "} "; + this->InitSolverFromProtoString(proto); + ASSERT_TRUE(this->solver_->net()); + EXPECT_TRUE(this->solver_->net()->has_layer("loss")); + EXPECT_FALSE(this->solver_->net()->has_layer("accuracy")); + ASSERT_EQ(2, this->solver_->test_nets().size()); + EXPECT_TRUE(this->solver_->test_nets()[0]->has_layer("loss")); + EXPECT_TRUE(this->solver_->test_nets()[0]->has_layer("accuracy")); + EXPECT_FALSE(this->solver_->test_nets()[1]->has_layer("loss")); + EXPECT_TRUE(this->solver_->test_nets()[1]->has_layer("accuracy")); +} + +} // namespace caffe From cb4555c052a6ac2ba65a7d71681d9320a6afefb6 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Thu, 17 Jul 2014 20:38:53 -0700 Subject: [PATCH 352/408] Incorporate NetState{,Rule} into Solver/Net. Net::FilterNet includes/excludes layers based on whether the NetState meets each layer's NetStateRule(s). --- include/caffe/solver.hpp | 2 + src/caffe/net.cpp | 78 ++++++++++++++++++++++- src/caffe/solver.cpp | 133 +++++++++++++++++++++++++++++++-------- 3 files changed, 185 insertions(+), 28 deletions(-) diff --git a/include/caffe/solver.hpp b/include/caffe/solver.hpp index 52dcd1936c5..811d70372a4 100644 --- a/include/caffe/solver.hpp +++ b/include/caffe/solver.hpp @@ -16,6 +16,8 @@ class Solver { explicit Solver(const SolverParameter& param); explicit Solver(const string& param_file); void Init(const SolverParameter& param); + void InitTrainNet(); + void InitTestNets(); // The main entry of the solver function. In default, iter will be zero. Pass // in a non-zero iter number to resume training for a pre-trained net. virtual void Solve(const char* resume_file = NULL); diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index a02b1118826..a4d1f235a5a 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -32,11 +32,15 @@ Net::Net(const string& param_file) { template void Net::Init(const NetParameter& in_param) { + // Filter layers based on their include/exclude rules and + // the current NetState. + NetParameter filtered_param; + FilterNet(in_param, &filtered_param); LOG(INFO) << "Initializing net from parameters: " << std::endl - << in_param.DebugString(); - // Create a copy of in_param with splits added where necessary. + << filtered_param.DebugString(); + // Create a copy of filtered_param with splits added where necessary. NetParameter param; - InsertSplits(in_param, ¶m); + InsertSplits(filtered_param, ¶m); // Basically, build all the layers and set up its connections. name_ = param.name(); map blob_name_to_idx; @@ -170,11 +174,79 @@ void Net::Init(const NetParameter& in_param) { template void Net::FilterNet(const NetParameter& param, NetParameter* param_filtered) { + const NetState& net_state = param.state(); + param_filtered->CopyFrom(param); + param_filtered->clear_layers(); + for (int i = 0; i < param.layers_size(); ++i) { + const LayerParameter& layer_param = param.layers(i); + const string& layer_name = layer_param.name(); + CHECK(layer_param.include_size() == 0 || layer_param.exclude_size() == 0) + << "Specify either include rules or exclude rules; not both."; + // If no include rules are specified, the layer is included by default and + // only excluded if it meets one of the exclude rules. + bool layer_included = (layer_param.include_size() == 0); + for (int j = 0; layer_included && j < layer_param.exclude_size(); ++j) { + if (StateMeetsRule(net_state, layer_param.exclude(j), layer_name)) { + layer_included = false; + } + } + for (int j = 0; !layer_included && j < layer_param.include_size(); ++j) { + if (StateMeetsRule(net_state, layer_param.include(j), layer_name)) { + layer_included = true; + } + } + if (layer_included) { + param_filtered->add_layers()->CopyFrom(layer_param); + } + } } template bool Net::StateMeetsRule(const NetState& state, const NetStateRule& rule, const string& layer_name) { + // Check whether the rule is broken due to phase. + if (rule.has_phase()) { + if (rule.phase() != state.phase()) { + LOG(INFO) << "The NetState phase (" << state.phase() + << ") differed from the phase (" << rule.phase() + << ") specified by a rule in layer " << layer_name; + return false; + } + } + // Check whether the rule is broken due to min level. + if (rule.has_min_level()) { + if (state.level() < rule.min_level()) { + LOG(INFO) << "The NetState level (" << state.level() + << ") is above the min_level (" << rule.min_level() + << " specified by a rule in layer " << layer_name; + return false; + } + } + // Check whether the rule is broken due to max level. + if (rule.has_max_level()) { + if (state.level() > rule.max_level()) { + LOG(INFO) << "The NetState level (" << state.level() + << ") is above the max_level (" << rule.max_level() + << " specified by a rule in layer " << layer_name; + return false; + } + } + // Check whether the rule is broken due to stage. If stage is specified, + // the NetState must contain ALL of the rule's stages to meet it. + if (rule.stage_size()) { + for (int i = 0; i < rule.stage_size(); ++i) { + // Check that the NetState contains the rule's ith stage. + bool has_stage = false; + for (int j = 0; !has_stage && j < state.stage_size(); ++j) { + if (rule.stage(i) == state.stage(j)) { has_stage = true; } + } + if (!has_stage) { + LOG(INFO) << "The NetState did not contain stage '" << rule.stage(i) + << "' specified by a rule in layer " << layer_name; + return false; + } + } + } return true; } diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 91738817875..11795f058cd 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -11,6 +11,7 @@ #include "caffe/solver.hpp" #include "caffe/util/io.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/util/upgrade_proto.hpp" namespace caffe { @@ -42,40 +43,122 @@ void Solver::Init(const SolverParameter& param) { Caffe::set_random_seed(param_.random_seed()); } // Scaffolding code + InitTrainNet(); + InitTestNets(); + LOG(INFO) << "Solver scaffolding done."; +} + +template +void Solver::InitTrainNet() { + const int num_train_nets = param_.has_net() + param_.has_net_param() + + param_.has_train_net() + param_.has_train_net_param(); + const string& field_names = "net, net_param, train_net, train_net_param"; + CHECK_GE(num_train_nets, 1) << "SolverParameter must specify a train net " + << "using one of these fields: " << field_names; + CHECK_LE(num_train_nets, 1) << "SolverParameter must not contain more than " + << "one of these fields specifying a train_net: " << field_names; + NetParameter net_param; if (param_.has_train_net_param()) { - CHECK(!param_.has_train_net()) << "Either train_net_param or train_net may " - << "be specified, but not both."; - LOG(INFO) << "Creating training net specified in SolverParameter."; - net_.reset(new Net(param_.train_net_param())); - } else { - CHECK(param_.has_train_net()) - << "Neither train_net nor train_net_param were specified."; - LOG(INFO) << "Creating training net from file: " << param_.train_net(); - net_.reset(new Net(param_.train_net())); + LOG(INFO) << "Creating training net specified in train_net_param."; + net_param.CopyFrom(param_.train_net_param()); + } else if (param_.has_train_net()) { + LOG(INFO) << "Creating training net from train_net file: " + << param_.train_net(); + ReadNetParamsFromTextFileOrDie(param_.train_net(), &net_param); } - CHECK(net_) << "Training net uninitialized."; - net_->set_debug_info(param_.debug_info()); + if (param_.has_net_param()) { + LOG(INFO) << "Creating training net specified in net_param."; + net_param.CopyFrom(param_.net_param()); + } + if (param_.has_net()) { + LOG(INFO) << "Creating training net from net file: " << param_.net(); + ReadNetParamsFromTextFileOrDie(param_.net(), &net_param); + } + // Set the correct NetState. We start with the solver defaults (lowest + // precedence); then, merge in any NetState specified by the net_param itself; + // finally, merge in any NetState specified by the train_state (highest + // precedence). + NetState net_state; + net_state.set_phase(TRAIN); + net_state.MergeFrom(net_param.state()); + net_state.MergeFrom(param_.train_state()); + net_param.mutable_state()->CopyFrom(net_state); + net_.reset(new Net(net_param)); +} + +template +void Solver::InitTestNets() { + const bool has_net_param = param_.has_net_param(); + const bool has_net_file = param_.has_net(); + const int num_generic_nets = has_net_param + has_net_file; + CHECK_LE(num_generic_nets, 1) + << "Both net_param and net_file may not be specified."; const int num_test_net_params = param_.test_net_param_size(); const int num_test_net_files = param_.test_net_size(); const int num_test_nets = num_test_net_params + num_test_net_files; - if (num_test_nets) { - CHECK_EQ(param_.test_iter_size(), num_test_nets) - << "test_iter must be specified for each test network."; + if (num_generic_nets) { + CHECK_GE(param_.test_iter_size(), num_test_nets) + << "test_iter must be specified for each test network."; + } else { + CHECK_EQ(param_.test_iter_size(), num_test_nets) + << "test_iter must be specified for each test network."; + } + // If we have a generic net (specified by net or net_param, rather than + // test_net or test_net_param), we may have an unlimited number of actual + // test networks -- the actual number is given by the number of remaining + // test_iters after any test nets specified by test_net_param and/or test_net + // are evaluated. + const int num_generic_net_instances = param_.test_iter_size() - num_test_nets; + const int num_test_net_instances = num_test_nets + num_generic_net_instances; + if (param_.test_state_size()) { + CHECK_EQ(param_.test_state_size(), num_test_net_instances) + << "test_state must be unspecified or specified once per test net."; + } + if (num_test_net_instances) { CHECK_GT(param_.test_interval(), 0); } - test_nets_.resize(num_test_nets); - for (int i = 0; i < num_test_net_params; ++i) { - LOG(INFO) << "Creating testing net (#" << i - << ") specified in SolverParameter."; - test_nets_[i].reset(new Net(param_.test_net_param(i))); + int test_net_id = 0; + vector sources(num_test_net_instances); + vector net_params(num_test_net_instances); + for (int i = 0; i < num_test_net_params; ++i, ++test_net_id) { + sources[test_net_id] = "test_net_param"; + net_params[test_net_id].CopyFrom(param_.test_net_param(i)); } - for (int i = 0, test_net_id = num_test_net_params; - i < num_test_net_files; ++i, ++test_net_id) { - LOG(INFO) << "Creating testing net (#" << test_net_id - << ") from file: " << param.test_net(i); - test_nets_[test_net_id].reset(new Net(param_.test_net(i))); + for (int i = 0; i < num_test_net_files; ++i, ++test_net_id) { + sources[test_net_id] = "test_net file: " + param_.test_net(i); + ReadNetParamsFromTextFileOrDie(param_.test_net(i), + &net_params[test_net_id]); + } + const int remaining_test_nets = param_.test_iter_size() - test_net_id; + if (has_net_param) { + for (int i = 0; i < remaining_test_nets; ++i, ++test_net_id) { + sources[test_net_id] = "net_param"; + net_params[test_net_id].CopyFrom(param_.net_param()); + } + } + if (has_net_file) { + for (int i = 0; i < remaining_test_nets; ++i, ++test_net_id) { + sources[test_net_id] = "net file: " + param_.net(); + ReadNetParamsFromTextFileOrDie(param_.net(), &net_params[test_net_id]); + } + } + test_nets_.resize(num_test_net_instances); + for (int i = 0; i < num_test_net_instances; ++i) { + // Set the correct NetState. We start with the solver defaults (lowest + // precedence); then, merge in any NetState specified by the net_param + // itself; finally, merge in any NetState specified by the test_state + // (highest precedence). + NetState net_state; + net_state.set_phase(TEST); + net_state.MergeFrom(net_params[i].state()); + if (param_.test_state_size()) { + net_state.MergeFrom(param_.test_state(i)); + } + net_params[i].mutable_state()->CopyFrom(net_state); + LOG(INFO) + << "Creating testing net (#" << i << ") specified by " << sources[i]; + test_nets_[i].reset(new Net(net_params[i])); } - LOG(INFO) << "Solver scaffolding done."; } template From e526e2ddd71c0881b71f31bf522806f85f687648 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 18 Jul 2014 15:07:13 -0700 Subject: [PATCH 353/408] Use unified train/test nets in examples. --- examples/cifar10/cifar10_full_solver.prototxt | 6 +- .../cifar10/cifar10_full_solver_lr1.prototxt | 6 +- .../cifar10/cifar10_full_solver_lr2.prototxt | 6 +- examples/cifar10/cifar10_full_train.prototxt | 174 ------------ ...totxt => cifar10_full_train_test.prototxt} | 16 +- .../cifar10/cifar10_quick_solver.prototxt | 6 +- .../cifar10/cifar10_quick_solver_lr1.prototxt | 6 +- examples/cifar10/cifar10_quick_train.prototxt | 168 ------------ ...otxt => cifar10_quick_train_test.prototxt} | 16 +- examples/imagenet/alexnet_solver.prototxt | 3 +- ...in.prototxt => alexnet_train_val.prototxt} | 23 ++ examples/imagenet/alexnet_val.prototxt | 228 --------------- examples/imagenet/imagenet_solver.prototxt | 3 +- ...n.prototxt => imagenet_train_val.prototxt} | 23 ++ examples/imagenet/imagenet_val.prototxt | 228 --------------- examples/imagenet/readme.md | 7 +- .../mnist/lenet_consolidated_solver.prototxt | 259 ++---------------- examples/mnist/lenet_solver.prototxt | 6 +- examples/mnist/lenet_test.prototxt | 118 -------- ...ain.prototxt => lenet_train_test.prototxt} | 23 ++ ...in.prototxt => mnist_autoencoder.prototxt} | 28 ++ .../mnist/mnist_autoencoder_solver.prototxt | 3 +- .../mnist/mnist_autoencoder_test.prototxt | 146 ---------- examples/mnist/readme.md | 6 +- 24 files changed, 177 insertions(+), 1331 deletions(-) delete mode 100644 examples/cifar10/cifar10_full_train.prototxt rename examples/cifar10/{cifar10_full_test.prototxt => cifar10_full_train_test.prototxt} (89%) delete mode 100644 examples/cifar10/cifar10_quick_train.prototxt rename examples/cifar10/{cifar10_quick_test.prototxt => cifar10_quick_train_test.prototxt} (89%) rename examples/imagenet/{alexnet_train.prototxt => alexnet_train_val.prototxt} (91%) delete mode 100644 examples/imagenet/alexnet_val.prototxt rename examples/imagenet/{imagenet_train.prototxt => imagenet_train_val.prototxt} (91%) delete mode 100644 examples/imagenet/imagenet_val.prototxt delete mode 100644 examples/mnist/lenet_test.prototxt rename examples/mnist/{lenet_train.prototxt => lenet_train_test.prototxt} (82%) rename examples/mnist/{mnist_autoencoder_train.prototxt => mnist_autoencoder.prototxt} (88%) delete mode 100644 examples/mnist/mnist_autoencoder_test.prototxt diff --git a/examples/cifar10/cifar10_full_solver.prototxt b/examples/cifar10/cifar10_full_solver.prototxt index 0a0b456308d..49de3f58803 100644 --- a/examples/cifar10/cifar10_full_solver.prototxt +++ b/examples/cifar10/cifar10_full_solver.prototxt @@ -1,10 +1,8 @@ # reduce learning rate after 120 epochs (60000 iters) by factor 0f 10 # then another factor of 10 after 10 more epochs (5000 iters) -# The training protocol buffer definition -train_net: "cifar10_full_train.prototxt" -# The testing protocol buffer definition -test_net: "cifar10_full_test.prototxt" +# The train/test net protocol buffer definition +net: "cifar10_full_train_test.prototxt" # test_iter specifies how many forward passes the test should carry out. # In the case of CIFAR10, we have test batch size 100 and 100 test iterations, # covering the full 10,000 testing images. diff --git a/examples/cifar10/cifar10_full_solver_lr1.prototxt b/examples/cifar10/cifar10_full_solver_lr1.prototxt index 4376de5493f..746f4fba15a 100644 --- a/examples/cifar10/cifar10_full_solver_lr1.prototxt +++ b/examples/cifar10/cifar10_full_solver_lr1.prototxt @@ -1,10 +1,8 @@ # reduce learning rate after 120 epochs (60000 iters) by factor 0f 10 # then another factor of 10 after 10 more epochs (5000 iters) -# The training protocol buffer definition -train_net: "cifar10_full_train.prototxt" -# The testing protocol buffer definition -test_net: "cifar10_full_test.prototxt" +# The train/test net protocol buffer definition +net: "cifar10_full_train_test.prototxt" # test_iter specifies how many forward passes the test should carry out. # In the case of CIFAR10, we have test batch size 100 and 100 test iterations, # covering the full 10,000 testing images. diff --git a/examples/cifar10/cifar10_full_solver_lr2.prototxt b/examples/cifar10/cifar10_full_solver_lr2.prototxt index 19580c5184a..5a549ffc96d 100644 --- a/examples/cifar10/cifar10_full_solver_lr2.prototxt +++ b/examples/cifar10/cifar10_full_solver_lr2.prototxt @@ -1,10 +1,8 @@ # reduce learning rate after 120 epochs (60000 iters) by factor 0f 10 # then another factor of 10 after 10 more epochs (5000 iters) -# The training protocol buffer definition -train_net: "cifar10_full_train.prototxt" -# The testing protocol buffer definition -test_net: "cifar10_full_test.prototxt" +# The train/test net protocol buffer definition +net: "cifar10_full_train_test.prototxt" # test_iter specifies how many forward passes the test should carry out. # In the case of CIFAR10, we have test batch size 100 and 100 test iterations, # covering the full 10,000 testing images. diff --git a/examples/cifar10/cifar10_full_train.prototxt b/examples/cifar10/cifar10_full_train.prototxt deleted file mode 100644 index 25c76060991..00000000000 --- a/examples/cifar10/cifar10_full_train.prototxt +++ /dev/null @@ -1,174 +0,0 @@ -name: "CIFAR10_full_train" -layers { - name: "cifar" - type: DATA - top: "data" - top: "label" - data_param { - source: "cifar10-leveldb/cifar-train-leveldb" - mean_file: "mean.binaryproto" - batch_size: 100 - } -} -layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - blobs_lr: 1 - blobs_lr: 2 - convolution_param { - num_output: 32 - pad: 2 - kernel_size: 5 - stride: 1 - weight_filler { - type: "gaussian" - std: 0.0001 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "relu1" - type: RELU - bottom: "pool1" - top: "pool1" -} -layers { - name: "norm1" - type: LRN - bottom: "pool1" - top: "norm1" - lrn_param { - norm_region: WITHIN_CHANNEL - local_size: 3 - alpha: 5e-05 - beta: 0.75 - } -} -layers { - name: "conv2" - type: CONVOLUTION - bottom: "norm1" - top: "conv2" - blobs_lr: 1 - blobs_lr: 2 - convolution_param { - num_output: 32 - pad: 2 - kernel_size: 5 - stride: 1 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: AVE - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm2" - type: LRN - bottom: "pool2" - top: "norm2" - lrn_param { - norm_region: WITHIN_CHANNEL - local_size: 3 - alpha: 5e-05 - beta: 0.75 - } -} -layers { - name: "conv3" - type: CONVOLUTION - bottom: "norm2" - top: "conv3" - convolution_param { - num_output: 64 - pad: 2 - kernel_size: 5 - stride: 1 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "pool3" - type: POOLING - bottom: "conv3" - top: "pool3" - pooling_param { - pool: AVE - kernel_size: 3 - stride: 2 - } -} -layers { - name: "ip1" - type: INNER_PRODUCT - bottom: "pool3" - top: "ip1" - blobs_lr: 1 - blobs_lr: 2 - weight_decay: 250 - weight_decay: 0 - inner_product_param { - num_output: 10 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "ip1" - bottom: "label" -} diff --git a/examples/cifar10/cifar10_full_test.prototxt b/examples/cifar10/cifar10_full_train_test.prototxt similarity index 89% rename from examples/cifar10/cifar10_full_test.prototxt rename to examples/cifar10/cifar10_full_train_test.prototxt index 1f77b4f0348..4fd52fec133 100644 --- a/examples/cifar10/cifar10_full_test.prototxt +++ b/examples/cifar10/cifar10_full_train_test.prototxt @@ -1,4 +1,16 @@ -name: "CIFAR10_full_test" +name: "CIFAR10_full" +layers { + name: "cifar" + type: DATA + top: "data" + top: "label" + data_param { + source: "cifar10-leveldb/cifar-train-leveldb" + mean_file: "mean.binaryproto" + batch_size: 100 + } + include: { phase: TRAIN } +} layers { name: "cifar" type: DATA @@ -9,6 +21,7 @@ layers { mean_file: "mean.binaryproto" batch_size: 100 } + include: { phase: TEST } } layers { name: "conv1" @@ -172,6 +185,7 @@ layers { bottom: "ip1" bottom: "label" top: "accuracy" + include: { phase: TEST } } layers { name: "loss" diff --git a/examples/cifar10/cifar10_quick_solver.prototxt b/examples/cifar10/cifar10_quick_solver.prototxt index 4b547cc96f4..cdd0722b3a0 100644 --- a/examples/cifar10/cifar10_quick_solver.prototxt +++ b/examples/cifar10/cifar10_quick_solver.prototxt @@ -1,9 +1,7 @@ # reduce the learning rate after 8 epochs (4000 iters) by a factor of 10 -# The training protocol buffer definition -train_net: "cifar10_quick_train.prototxt" -# The testing protocol buffer definition -test_net: "cifar10_quick_test.prototxt" +# The train/test net protocol buffer definition +net: "cifar10_quick_train_test.prototxt" # test_iter specifies how many forward passes the test should carry out. # In the case of MNIST, we have test batch size 100 and 100 test iterations, # covering the full 10,000 testing images. diff --git a/examples/cifar10/cifar10_quick_solver_lr1.prototxt b/examples/cifar10/cifar10_quick_solver_lr1.prototxt index d4ba3d525d9..2ed54ad980f 100644 --- a/examples/cifar10/cifar10_quick_solver_lr1.prototxt +++ b/examples/cifar10/cifar10_quick_solver_lr1.prototxt @@ -1,9 +1,7 @@ # reduce the learning rate after 8 epochs (4000 iters) by a factor of 10 -# The training protocol buffer definition -train_net: "cifar10_quick_train.prototxt" -# The testing protocol buffer definition -test_net: "cifar10_quick_test.prototxt" +# The train/test net protocol buffer definition +net: "cifar10_quick_train_test.prototxt" # test_iter specifies how many forward passes the test should carry out. # In the case of MNIST, we have test batch size 100 and 100 test iterations, # covering the full 10,000 testing images. diff --git a/examples/cifar10/cifar10_quick_train.prototxt b/examples/cifar10/cifar10_quick_train.prototxt deleted file mode 100644 index de5b6c32c5d..00000000000 --- a/examples/cifar10/cifar10_quick_train.prototxt +++ /dev/null @@ -1,168 +0,0 @@ -name: "CIFAR10_quick_train" -layers { - name: "cifar" - type: DATA - top: "data" - top: "label" - data_param { - source: "cifar10-leveldb/cifar-train-leveldb" - mean_file: "mean.binaryproto" - batch_size: 100 - } -} -layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - blobs_lr: 1 - blobs_lr: 2 - convolution_param { - num_output: 32 - pad: 2 - kernel_size: 5 - stride: 1 - weight_filler { - type: "gaussian" - std: 0.0001 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "relu1" - type: RELU - bottom: "pool1" - top: "pool1" -} -layers { - name: "conv2" - type: CONVOLUTION - bottom: "pool1" - top: "conv2" - blobs_lr: 1 - blobs_lr: 2 - convolution_param { - num_output: 32 - pad: 2 - kernel_size: 5 - stride: 1 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: AVE - kernel_size: 3 - stride: 2 - } -} -layers { - name: "conv3" - type: CONVOLUTION - bottom: "pool2" - top: "conv3" - blobs_lr: 1 - blobs_lr: 2 - convolution_param { - num_output: 64 - pad: 2 - kernel_size: 5 - stride: 1 - weight_filler { - type: "gaussian" - std: 0.01 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "pool3" - type: POOLING - bottom: "conv3" - top: "pool3" - pooling_param { - pool: AVE - kernel_size: 3 - stride: 2 - } -} -layers { - name: "ip1" - type: INNER_PRODUCT - bottom: "pool3" - top: "ip1" - blobs_lr: 1 - blobs_lr: 2 - inner_product_param { - num_output: 64 - weight_filler { - type: "gaussian" - std: 0.1 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "ip2" - type: INNER_PRODUCT - bottom: "ip1" - top: "ip2" - blobs_lr: 1 - blobs_lr: 2 - inner_product_param { - num_output: 10 - weight_filler { - type: "gaussian" - std: 0.1 - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "ip2" - bottom: "label" -} diff --git a/examples/cifar10/cifar10_quick_test.prototxt b/examples/cifar10/cifar10_quick_train_test.prototxt similarity index 89% rename from examples/cifar10/cifar10_quick_test.prototxt rename to examples/cifar10/cifar10_quick_train_test.prototxt index aa82c32aa24..b34d1cd2fcb 100644 --- a/examples/cifar10/cifar10_quick_test.prototxt +++ b/examples/cifar10/cifar10_quick_train_test.prototxt @@ -1,4 +1,16 @@ -name: "CIFAR10_quick_test" +name: "CIFAR10_quick" +layers { + name: "cifar" + type: DATA + top: "data" + top: "label" + data_param { + source: "cifar10-leveldb/cifar-train-leveldb" + mean_file: "mean.binaryproto" + batch_size: 100 + } + include: { phase: TRAIN } +} layers { name: "cifar" type: DATA @@ -9,6 +21,7 @@ layers { mean_file: "mean.binaryproto" batch_size: 100 } + include: { phase: TEST } } layers { name: "conv1" @@ -166,6 +179,7 @@ layers { bottom: "ip2" bottom: "label" top: "accuracy" + include: { phase: TEST } } layers { name: "loss" diff --git a/examples/imagenet/alexnet_solver.prototxt b/examples/imagenet/alexnet_solver.prototxt index 75d0d5dffa7..8581e99c6a7 100644 --- a/examples/imagenet/alexnet_solver.prototxt +++ b/examples/imagenet/alexnet_solver.prototxt @@ -1,5 +1,4 @@ -train_net: "alexnet_train.prototxt" -test_net: "alexnet_val.prototxt" +net: "alexnet_train_val.prototxt" test_iter: 1000 test_interval: 1000 base_lr: 0.01 diff --git a/examples/imagenet/alexnet_train.prototxt b/examples/imagenet/alexnet_train_val.prototxt similarity index 91% rename from examples/imagenet/alexnet_train.prototxt rename to examples/imagenet/alexnet_train_val.prototxt index 32a96cfd4d9..f65f3e7f87e 100644 --- a/examples/imagenet/alexnet_train.prototxt +++ b/examples/imagenet/alexnet_train_val.prototxt @@ -2,6 +2,8 @@ name: "AlexNet" layers { name: "data" type: DATA + top: "data" + top: "label" data_param { source: "ilsvrc12_train_leveldb" mean_file: "../../data/ilsvrc12/imagenet_mean.binaryproto" @@ -9,8 +11,21 @@ layers { crop_size: 227 mirror: true } + include: { phase: TRAIN } +} +layers { + name: "data" + type: DATA top: "data" top: "label" + data_param { + source: "ilsvrc12_val_leveldb" + mean_file: "../../data/ilsvrc12/imagenet_mean.binaryproto" + batch_size: 50 + crop_size: 227 + mirror: false + } + include: { phase: TEST } } layers { name: "conv1" @@ -308,6 +323,14 @@ layers { bottom: "fc7" top: "fc8" } +layers { + name: "accuracy" + type: ACCURACY + bottom: "fc8" + bottom: "label" + top: "accuracy" + include: { phase: TEST } +} layers { name: "loss" type: SOFTMAX_LOSS diff --git a/examples/imagenet/alexnet_val.prototxt b/examples/imagenet/alexnet_val.prototxt deleted file mode 100644 index 1d8d86b78ff..00000000000 --- a/examples/imagenet/alexnet_val.prototxt +++ /dev/null @@ -1,228 +0,0 @@ -name: "AlexNet" -layers { - name: "data" - type: DATA - data_param { - source: "ilsvrc12_val_leveldb" - mean_file: "../../data/ilsvrc12/imagenet_mean.binaryproto" - batch_size: 50 - crop_size: 227 - mirror: false - } - top: "data" - top: "label" -} -layers { - name: "conv1" - type: CONVOLUTION - convolution_param { - num_output: 96 - kernel_size: 11 - stride: 4 - } - bottom: "data" - top: "conv1" -} -layers { - name: "relu1" - type: RELU - bottom: "conv1" - top: "conv1" -} -layers { - name: "norm1" - type: LRN - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } - bottom: "conv1" - top: "norm1" -} -layers { - name: "pool1" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "norm1" - top: "pool1" -} -layers { - name: "conv2" - type: CONVOLUTION - convolution_param { - num_output: 256 - pad: 2 - kernel_size: 5 - group: 2 - } - bottom: "pool1" - top: "conv2" -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "norm2" - type: LRN - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } - bottom: "conv2" - top: "norm2" -} -layers { - name: "pool2" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "norm2" - top: "pool2" -} -layers { - name: "conv3" - type: CONVOLUTION - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - } - bottom: "pool2" - top: "conv3" -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "conv4" - type: CONVOLUTION - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - group: 2 - } - bottom: "conv3" - top: "conv4" -} -layers { - name: "relu4" - type: RELU - bottom: "conv4" - top: "conv4" -} -layers { - name: "conv5" - type: CONVOLUTION - convolution_param { - num_output: 256 - pad: 1 - kernel_size: 3 - group: 2 - } - bottom: "conv4" - top: "conv5" -} -layers { - name: "relu5" - type: RELU - bottom: "conv5" - top: "conv5" -} -layers { - name: "pool5" - type: POOLING - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } - bottom: "conv5" - top: "pool5" -} -layers { - name: "fc6" - type: INNER_PRODUCT - inner_product_param { - num_output: 4096 - } - bottom: "pool5" - top: "fc6" -} -layers { - name: "relu6" - type: RELU - bottom: "fc6" - top: "fc6" -} -layers { - name: "drop6" - type: DROPOUT - dropout_param { - dropout_ratio: 0.5 - } - bottom: "fc6" - top: "fc6" -} -layers { - name: "fc7" - type: INNER_PRODUCT - inner_product_param { - num_output: 4096 - } - bottom: "fc6" - top: "fc7" -} -layers { - name: "relu7" - type: RELU - bottom: "fc7" - top: "fc7" -} -layers { - name: "drop7" - type: DROPOUT - dropout_param { - dropout_ratio: 0.5 - } - bottom: "fc7" - top: "fc7" -} -layers { - name: "fc8" - type: INNER_PRODUCT - inner_product_param { - num_output: 1000 - } - bottom: "fc7" - top: "fc8" -} -layers { - name: "accuracy" - type: ACCURACY - bottom: "fc8" - bottom: "label" - top: "accuracy" -} -layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "fc8" - bottom: "label" - top: "loss" -} diff --git a/examples/imagenet/imagenet_solver.prototxt b/examples/imagenet/imagenet_solver.prototxt index e543ba66cad..aedec4104a6 100644 --- a/examples/imagenet/imagenet_solver.prototxt +++ b/examples/imagenet/imagenet_solver.prototxt @@ -1,5 +1,4 @@ -train_net: "imagenet_train.prototxt" -test_net: "imagenet_val.prototxt" +net: "imagenet_train_val.prototxt" test_iter: 1000 test_interval: 1000 base_lr: 0.01 diff --git a/examples/imagenet/imagenet_train.prototxt b/examples/imagenet/imagenet_train_val.prototxt similarity index 91% rename from examples/imagenet/imagenet_train.prototxt rename to examples/imagenet/imagenet_train_val.prototxt index 519d4509be9..af28c1495e5 100644 --- a/examples/imagenet/imagenet_train.prototxt +++ b/examples/imagenet/imagenet_train_val.prototxt @@ -11,6 +11,21 @@ layers { crop_size: 227 mirror: true } + include: { phase: TRAIN } +} +layers { + name: "data" + type: DATA + top: "data" + top: "label" + data_param { + source: "ilsvrc12_val_leveldb" + mean_file: "../../data/ilsvrc12/imagenet_mean.binaryproto" + batch_size: 50 + crop_size: 227 + mirror: false + } + include: { phase: TEST } } layers { name: "conv1" @@ -308,6 +323,14 @@ layers { } } } +layers { + name: "accuracy" + type: ACCURACY + bottom: "fc8" + bottom: "label" + top: "accuracy" + include: { phase: TEST } +} layers { name: "loss" type: SOFTMAX_LOSS diff --git a/examples/imagenet/imagenet_val.prototxt b/examples/imagenet/imagenet_val.prototxt deleted file mode 100644 index 8be5150cdd2..00000000000 --- a/examples/imagenet/imagenet_val.prototxt +++ /dev/null @@ -1,228 +0,0 @@ -name: "CaffeNet" -layers { - name: "data" - type: DATA - top: "data" - top: "label" - data_param { - source: "ilsvrc12_val_leveldb" - mean_file: "../../data/ilsvrc12/imagenet_mean.binaryproto" - batch_size: 50 - crop_size: 227 - mirror: false - } -} -layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - convolution_param { - num_output: 96 - kernel_size: 11 - stride: 4 - } -} -layers { - name: "relu1" - type: RELU - bottom: "conv1" - top: "conv1" -} -layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm1" - type: LRN - bottom: "pool1" - top: "norm1" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layers { - name: "conv2" - type: CONVOLUTION - bottom: "norm1" - top: "conv2" - convolution_param { - num_output: 256 - pad: 2 - kernel_size: 5 - group: 2 - } -} -layers { - name: "relu2" - type: RELU - bottom: "conv2" - top: "conv2" -} -layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "norm2" - type: LRN - bottom: "pool2" - top: "norm2" - lrn_param { - local_size: 5 - alpha: 0.0001 - beta: 0.75 - } -} -layers { - name: "conv3" - type: CONVOLUTION - bottom: "norm2" - top: "conv3" - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - } -} -layers { - name: "relu3" - type: RELU - bottom: "conv3" - top: "conv3" -} -layers { - name: "conv4" - type: CONVOLUTION - bottom: "conv3" - top: "conv4" - convolution_param { - num_output: 384 - pad: 1 - kernel_size: 3 - group: 2 - } -} -layers { - name: "relu4" - type: RELU - bottom: "conv4" - top: "conv4" -} -layers { - name: "conv5" - type: CONVOLUTION - bottom: "conv4" - top: "conv5" - convolution_param { - num_output: 256 - pad: 1 - kernel_size: 3 - group: 2 - } -} -layers { - name: "relu5" - type: RELU - bottom: "conv5" - top: "conv5" -} -layers { - name: "pool5" - type: POOLING - bottom: "conv5" - top: "pool5" - pooling_param { - pool: MAX - kernel_size: 3 - stride: 2 - } -} -layers { - name: "fc6" - type: INNER_PRODUCT - bottom: "pool5" - top: "fc6" - inner_product_param { - num_output: 4096 - } -} -layers { - name: "relu6" - type: RELU - bottom: "fc6" - top: "fc6" -} -layers { - name: "drop6" - type: DROPOUT - bottom: "fc6" - top: "fc6" - dropout_param { - dropout_ratio: 0.5 - } -} -layers { - name: "fc7" - type: INNER_PRODUCT - bottom: "fc6" - top: "fc7" - inner_product_param { - num_output: 4096 - } -} -layers { - name: "relu7" - type: RELU - bottom: "fc7" - top: "fc7" -} -layers { - name: "drop7" - type: DROPOUT - bottom: "fc7" - top: "fc7" - dropout_param { - dropout_ratio: 0.5 - } -} -layers { - name: "fc8" - type: INNER_PRODUCT - bottom: "fc7" - top: "fc8" - inner_product_param { - num_output: 1000 - } -} -layers { - name: "accuracy" - type: ACCURACY - bottom: "fc8" - bottom: "label" - top: "accuracy" -} -layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "fc8" - bottom: "label" - top: "loss" -} \ No newline at end of file diff --git a/examples/imagenet/readme.md b/examples/imagenet/readme.md index e74e6b86996..0b5b8452188 100644 --- a/examples/imagenet/readme.md +++ b/examples/imagenet/readme.md @@ -72,12 +72,11 @@ We will also lay out a protocol buffer for running the solver. Let's make a few * The network will be trained with momentum 0.9 and a weight decay of 0.0005. * For every 10,000 iterations, we will take a snapshot of the current status. -Sound good? This is implemented in `examples/imagenet/imagenet_solver.prototxt`. Again, you will need to change the first two lines: +Sound good? This is implemented in `examples/imagenet/imagenet_solver.prototxt`. Again, you will need to change the first line: - train_net: "imagenet_train.prototxt" - test_net: "imagenet_val.prototxt" + net: "imagenet_train_val.prototxt" -to point to the actual path if you have changed them. +to point to the actual path if you have changed it. Training ImageNet ----------------- diff --git a/examples/mnist/lenet_consolidated_solver.prototxt b/examples/mnist/lenet_consolidated_solver.prototxt index ef851e0f656..980f9382066 100644 --- a/examples/mnist/lenet_consolidated_solver.prototxt +++ b/examples/mnist/lenet_consolidated_solver.prototxt @@ -30,8 +30,19 @@ random_seed: 1701 # solver mode: CPU or GPU solver_mode: GPU -# The training protocol buffer definition -train_net_param { +# We test on both the test and train set using "stages". The TEST DATA layers +# each have a stage, either 'test-on-train-set' or 'test-on-test-set'. +# test_iter specifies how many forward passes the test should carry out. +# In the case of MNIST, we have test batch size 100 and 100 test iterations, +# covering the full 10,000 testing images. +test_iter: 100 +test_state: { stage: "test-on-test-set" } +# The train set has 60K images, so we run 600 test iters (600 * 100 = 60K). +test_iter: 600 +test_state: { stage: "test-on-train-set" } + +# The net protocol buffer definition +net_param { name: "LeNet" layers { name: "mnist" @@ -43,122 +54,8 @@ train_net_param { scale: 0.00390625 batch_size: 64 } + include: { phase: TRAIN } } - layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - blobs_lr: 1 - blobs_lr: 2 - convolution_param { - num_output: 20 - kernel_size: 5 - stride: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } - } - layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 2 - stride: 2 - } - } - layers { - name: "conv2" - type: CONVOLUTION - bottom: "pool1" - top: "conv2" - blobs_lr: 1 - blobs_lr: 2 - convolution_param { - num_output: 50 - kernel_size: 5 - stride: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } - } - layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: MAX - kernel_size: 2 - stride: 2 - } - } - layers { - name: "ip1" - type: INNER_PRODUCT - bottom: "pool2" - top: "ip1" - blobs_lr: 1 - blobs_lr: 2 - inner_product_param { - num_output: 500 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } - } - layers { - name: "relu1" - type: RELU - bottom: "ip1" - top: "ip1" - } - layers { - name: "ip2" - type: INNER_PRODUCT - bottom: "ip1" - top: "ip2" - blobs_lr: 1 - blobs_lr: 2 - inner_product_param { - num_output: 10 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } - } - layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "ip2" - bottom: "label" - } -} - -# test_iter specifies how many forward passes the test should carry out. -# In the case of MNIST, we have test batch size 100 and 100 test iterations, -# covering the full 10,000 testing images. -test_iter: 100 -# The testing protocol buffer definition -test_net_param { - name: "LeNet-test" layers { name: "mnist" type: DATA @@ -169,120 +66,11 @@ test_net_param { scale: 0.00390625 batch_size: 100 } - } - layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - convolution_param { - num_output: 20 - kernel_size: 5 - stride: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } - } - layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 2 - stride: 2 - } - } - layers { - name: "conv2" - type: CONVOLUTION - bottom: "pool1" - top: "conv2" - convolution_param { - num_output: 50 - kernel_size: 5 - stride: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } - } - layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: MAX - kernel_size: 2 - stride: 2 - } - } - layers { - name: "ip1" - type: INNER_PRODUCT - bottom: "pool2" - top: "ip1" - inner_product_param { - num_output: 500 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } + include: { + phase: TEST + stage: "test-on-test-set" } } - layers { - name: "relu1" - type: RELU - bottom: "ip1" - top: "ip1" - } - layers { - name: "ip2" - type: INNER_PRODUCT - bottom: "ip1" - top: "ip2" - inner_product_param { - num_output: 10 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } - } - layers { - name: "accuracy" - type: ACCURACY - bottom: "ip2" - bottom: "label" - top: "accuracy" - } - layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "ip2" - bottom: "label" - top: "loss" - } -} - -# The train set has 60K images, so we run 600 test iters (600 * 100 = 60K). -test_iter: 600 -# The protocol buffer definition to test on the train set -test_net_param { - name: "LeNet-test-on-train" layers { name: "mnist" type: DATA @@ -293,12 +81,18 @@ test_net_param { scale: 0.00390625 batch_size: 100 } + include: { + phase: TEST + stage: "test-on-train-set" + } } layers { name: "conv1" type: CONVOLUTION bottom: "data" top: "conv1" + blobs_lr: 1 + blobs_lr: 2 convolution_param { num_output: 20 kernel_size: 5 @@ -327,6 +121,8 @@ test_net_param { type: CONVOLUTION bottom: "pool1" top: "conv2" + blobs_lr: 1 + blobs_lr: 2 convolution_param { num_output: 50 kernel_size: 5 @@ -355,6 +151,8 @@ test_net_param { type: INNER_PRODUCT bottom: "pool2" top: "ip1" + blobs_lr: 1 + blobs_lr: 2 inner_product_param { num_output: 500 weight_filler { @@ -376,6 +174,8 @@ test_net_param { type: INNER_PRODUCT bottom: "ip1" top: "ip2" + blobs_lr: 1 + blobs_lr: 2 inner_product_param { num_output: 10 weight_filler { @@ -392,6 +192,7 @@ test_net_param { bottom: "ip2" bottom: "label" top: "accuracy" + include: { phase: TEST } } layers { name: "loss" diff --git a/examples/mnist/lenet_solver.prototxt b/examples/mnist/lenet_solver.prototxt index 7947f2d6a73..a3b33090472 100644 --- a/examples/mnist/lenet_solver.prototxt +++ b/examples/mnist/lenet_solver.prototxt @@ -1,7 +1,5 @@ -# The training protocol buffer definition -train_net: "lenet_train.prototxt" -# The testing protocol buffer definition -test_net: "lenet_test.prototxt" +# The train/test net protocol buffer definition +net: "lenet_train_test.prototxt" # test_iter specifies how many forward passes the test should carry out. # In the case of MNIST, we have test batch size 100 and 100 test iterations, # covering the full 10,000 testing images. diff --git a/examples/mnist/lenet_test.prototxt b/examples/mnist/lenet_test.prototxt deleted file mode 100644 index 2497f02ae86..00000000000 --- a/examples/mnist/lenet_test.prototxt +++ /dev/null @@ -1,118 +0,0 @@ -name: "LeNet-test" -layers { - name: "mnist" - type: DATA - top: "data" - top: "label" - data_param { - source: "mnist-test-leveldb" - scale: 0.00390625 - batch_size: 100 - } -} -layers { - name: "conv1" - type: CONVOLUTION - bottom: "data" - top: "conv1" - convolution_param { - num_output: 20 - kernel_size: 5 - stride: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "pool1" - type: POOLING - bottom: "conv1" - top: "pool1" - pooling_param { - pool: MAX - kernel_size: 2 - stride: 2 - } -} -layers { - name: "conv2" - type: CONVOLUTION - bottom: "pool1" - top: "conv2" - convolution_param { - num_output: 50 - kernel_size: 5 - stride: 1 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "pool2" - type: POOLING - bottom: "conv2" - top: "pool2" - pooling_param { - pool: MAX - kernel_size: 2 - stride: 2 - } -} -layers { - name: "ip1" - type: INNER_PRODUCT - bottom: "pool2" - top: "ip1" - inner_product_param { - num_output: 500 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "relu1" - type: RELU - bottom: "ip1" - top: "ip1" -} -layers { - name: "ip2" - type: INNER_PRODUCT - bottom: "ip1" - top: "ip2" - inner_product_param { - num_output: 10 - weight_filler { - type: "xavier" - } - bias_filler { - type: "constant" - } - } -} -layers { - name: "accuracy" - type: ACCURACY - bottom: "ip2" - bottom: "label" - top: "accuracy" -} -layers { - name: "loss" - type: SOFTMAX_LOSS - bottom: "ip2" - bottom: "label" - top: "loss" -} diff --git a/examples/mnist/lenet_train.prototxt b/examples/mnist/lenet_train_test.prototxt similarity index 82% rename from examples/mnist/lenet_train.prototxt rename to examples/mnist/lenet_train_test.prototxt index e8a1e74e40b..3c77452130c 100644 --- a/examples/mnist/lenet_train.prototxt +++ b/examples/mnist/lenet_train_test.prototxt @@ -9,7 +9,21 @@ layers { scale: 0.00390625 batch_size: 64 } + include: { phase: TRAIN } } +layers { + name: "mnist" + type: DATA + top: "data" + top: "label" + data_param { + source: "mnist-test-leveldb" + scale: 0.00390625 + batch_size: 100 + } + include: { phase: TEST } +} + layers { name: "conv1" type: CONVOLUTION @@ -110,9 +124,18 @@ layers { } } } +layers { + name: "accuracy" + type: ACCURACY + bottom: "ip2" + bottom: "label" + top: "accuracy" + include: { phase: TEST } +} layers { name: "loss" type: SOFTMAX_LOSS bottom: "ip2" bottom: "label" + top: "loss" } diff --git a/examples/mnist/mnist_autoencoder_train.prototxt b/examples/mnist/mnist_autoencoder.prototxt similarity index 88% rename from examples/mnist/mnist_autoencoder_train.prototxt rename to examples/mnist/mnist_autoencoder.prototxt index 90d2cff99b8..ad1e7665bf2 100644 --- a/examples/mnist/mnist_autoencoder_train.prototxt +++ b/examples/mnist/mnist_autoencoder.prototxt @@ -8,6 +8,18 @@ layers { scale: 0.0039215684 batch_size: 100 } + include: { phase: TRAIN } +} +layers { + top: "data" + name: "data" + type: DATA + data_param { + source: "mnist-test-leveldb" + scale: 0.0039215684 + batch_size: 100 + } + include: { phase: TEST } } layers { bottom: "data" @@ -232,4 +244,20 @@ layers { bottom: "flatdata" name: "loss" type: SIGMOID_CROSS_ENTROPY_LOSS + include: { phase: TRAIN } +} +layers { + bottom: "decode1" + top: "decode1neuron" + name: "decode1neuron" + type: SIGMOID + include: { phase: TEST } +} +layers { + bottom: "decode1neuron" + bottom: "flatdata" + name: "loss" + type: EUCLIDEAN_LOSS + top: "loss" + include: { phase: TEST } } diff --git a/examples/mnist/mnist_autoencoder_solver.prototxt b/examples/mnist/mnist_autoencoder_solver.prototxt index 06e057d53a4..ae1ddebccd2 100644 --- a/examples/mnist/mnist_autoencoder_solver.prototxt +++ b/examples/mnist/mnist_autoencoder_solver.prototxt @@ -1,5 +1,4 @@ -train_net: "mnist_autoencoder_train.prototxt" -test_net: "mnist_autoencoder_test.prototxt" +net: "mnist_autoencoder.prototxt" test_iter: 50 test_interval: 100 test_compute_loss: true diff --git a/examples/mnist/mnist_autoencoder_test.prototxt b/examples/mnist/mnist_autoencoder_test.prototxt deleted file mode 100644 index b52364c17fc..00000000000 --- a/examples/mnist/mnist_autoencoder_test.prototxt +++ /dev/null @@ -1,146 +0,0 @@ -name: "MNISTAutoencoder" -layers { - top: "data" - name: "data" - type: DATA - data_param { - source: "mnist-test-leveldb" - scale: 0.0039215684 - batch_size: 100 - } -} -layers { - bottom: "data" - top: "flatdata" - name: "flatdata" - type: FLATTEN -} -layers { - bottom: "data" - top: "encode1" - name: "encode1" - type: INNER_PRODUCT - inner_product_param { - num_output: 1000 - } -} -layers { - bottom: "encode1" - top: "encode1neuron" - name: "encode1neuron" - type: SIGMOID -} -layers { - bottom: "encode1neuron" - top: "encode2" - name: "encode2" - type: INNER_PRODUCT - inner_product_param { - num_output: 500 - } -} -layers { - bottom: "encode2" - top: "encode2neuron" - name: "encode2neuron" - type: SIGMOID -} -layers { - bottom: "encode2neuron" - top: "encode3" - name: "encode3" - type: INNER_PRODUCT - inner_product_param { - num_output: 250 - } -} -layers { - bottom: "encode3" - top: "encode3neuron" - name: "encode3neuron" - type: SIGMOID -} -layers { - bottom: "encode3neuron" - top: "encode4" - name: "encode4" - type: INNER_PRODUCT - blobs_lr: 1 - blobs_lr: 1 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 30 - } -} -layers { - bottom: "encode4" - top: "decode4" - name: "decode4" - type: INNER_PRODUCT - blobs_lr: 1 - blobs_lr: 1 - weight_decay: 1 - weight_decay: 0 - inner_product_param { - num_output: 250 - } -} -layers { - bottom: "decode4" - top: "decode4neuron" - name: "decode4neuron" - type: SIGMOID -} -layers { - bottom: "decode4neuron" - top: "decode3" - name: "decode3" - type: INNER_PRODUCT - inner_product_param { - num_output: 500 - } -} -layers { - bottom: "decode3" - top: "decode3neuron" - name: "decode3neuron" - type: SIGMOID -} -layers { - bottom: "decode3neuron" - top: "decode2" - name: "decode2" - type: INNER_PRODUCT - inner_product_param { - num_output: 1000 - } -} -layers { - bottom: "decode2" - top: "decode2neuron" - name: "decode2neuron" - type: SIGMOID -} -layers { - bottom: "decode2neuron" - top: "decode1" - name: "decode1" - type: INNER_PRODUCT - inner_product_param { - num_output: 784 - } -} -layers { - bottom: "decode1" - top: "decode1neuron" - name: "decode1neuron" - type: SIGMOID -} -layers { - bottom: "decode1neuron" - bottom: "flatdata" - name: "loss" - type: EUCLIDEAN_LOSS - top: "loss" -} diff --git a/examples/mnist/readme.md b/examples/mnist/readme.md index 4f3f4d9ce12..65a780714ae 100644 --- a/examples/mnist/readme.md +++ b/examples/mnist/readme.md @@ -177,10 +177,8 @@ The `softmax_loss` layer implements both the softmax and the multinomial logisti Check out the comments explaining each line in the prototxt: - # The training protocol buffer definition - train_net: "lenet_train.prototxt" - # The testing protocol buffer definition - test_net: "lenet_test.prototxt" + # The train/test net protocol buffer definition + net: "lenet_train_test.prototxt" # test_iter specifies how many forward passes the test should carry out. # In the case of MNIST, we have test batch size 100 and 100 test iterations, # covering the full 10,000 testing images. From 41a56376816b8c59c4777c1ab2d3230f8a785241 Mon Sep 17 00:00:00 2001 From: yajiedesign Date: Sat, 26 Jul 2014 00:01:15 +0800 Subject: [PATCH 354/408] fix some namespace with std::signbit --- include/caffe/util/math_functions.hpp | 6 ++++-- src/caffe/util/math_functions.cpp | 12 ++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/include/caffe/util/math_functions.hpp b/include/caffe/util/math_functions.hpp index 5036a573033..001950113a1 100644 --- a/include/caffe/util/math_functions.hpp +++ b/include/caffe/util/math_functions.hpp @@ -128,8 +128,10 @@ DEFINE_CAFFE_CPU_UNARY_FUNC(sign, y[i] = caffe_sign(x[i])); // This returns a nonzero value if the input has its sign bit set. // The name sngbit is meant to avoid conflicts with std::signbit in the macro -using std::signbit; -DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = signbit(x[i])); +bool caffe_signbit(float arg); +bool caffe_signbit(double arg); +bool caffe_signbit(long double arg); +DEFINE_CAFFE_CPU_UNARY_FUNC(sgnbit, y[i] = caffe_signbit(x[i])); DEFINE_CAFFE_CPU_UNARY_FUNC(fabs, y[i] = std::fabs(x[i])); diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index 36d8877d8c5..2fdcf91b34b 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -366,4 +366,16 @@ void caffe_cpu_scale(const int n, const double alpha, const double *x, cblas_dscal(n, alpha, y, 1); } + +using std::signbit; +bool caffe_signbit(float arg) { + return signbit(arg); +} +bool caffe_signbit(double arg) { + return signbit(arg); +} +bool caffe_signbit(long double arg) { + return signbit(arg); +} + } // namespace caffe From 6485be076bdebd2ea311e8a06778a55b72a1d095 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 29 Jul 2014 15:59:49 -0700 Subject: [PATCH 355/408] Set correct solver_mode in SolverTest so Travis build doesn't randomly fail. --- src/caffe/test/test_solver.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/caffe/test/test_solver.cpp b/src/caffe/test/test_solver.cpp index 7380ab86308..9e087b08c53 100644 --- a/src/caffe/test/test_solver.cpp +++ b/src/caffe/test/test_solver.cpp @@ -25,6 +25,17 @@ class SolverTest : public MultiDeviceTest { virtual void InitSolverFromProtoString(const string& proto) { SolverParameter param; CHECK(google::protobuf::TextFormat::ParseFromString(proto, ¶m)); + // Set the solver_mode according to current Caffe::mode. + switch (Caffe::mode()) { + case Caffe::CPU: + param.set_solver_mode(SolverParameter_SolverMode_CPU); + break; + case Caffe::GPU: + param.set_solver_mode(SolverParameter_SolverMode_GPU); + break; + default: + LOG(FATAL) << "Unknown Caffe mode: " << Caffe::mode(); + } solver_.reset(new SGDSolver(param)); } From afa09ecfa5c09c30824cd0aacf7a7f4e48e70a39 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Tue, 29 Jul 2014 18:13:32 -0700 Subject: [PATCH 356/408] Also apply HDF5OutputLayer fix to GPU version. --- src/caffe/layers/hdf5_output_layer.cu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/layers/hdf5_output_layer.cu b/src/caffe/layers/hdf5_output_layer.cu index 5c790555e50..9b3dd135841 100644 --- a/src/caffe/layers/hdf5_output_layer.cu +++ b/src/caffe/layers/hdf5_output_layer.cu @@ -28,7 +28,7 @@ Dtype HDF5OutputLayer::Forward_gpu(const vector*>& bottom, for (int i = 0; i < bottom[0]->num(); ++i) { caffe_copy(data_datum_dim, &bottom[0]->gpu_data()[i * data_datum_dim], &data_blob_.mutable_cpu_data()[i * data_datum_dim]); - caffe_copy(label_datum_dim, &bottom[0]->gpu_data()[i * label_datum_dim], + caffe_copy(label_datum_dim, &bottom[1]->gpu_data()[i * label_datum_dim], &label_blob_.mutable_cpu_data()[i * label_datum_dim]); } SaveBlobs(); From 44962584b2f71937dbfd2dadaeeed211d4e49598 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 29 Jul 2014 22:40:45 -0700 Subject: [PATCH 357/408] [docs] install update: dependencies, CPU-only, Ubuntu 14.04 - update dependency versions - document CPU-only build - add Ubuntu 14.04 details - include LMDB - warn about defective CUDA driver series 331.* --- docs/installation.md | 76 ++++++++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 27 deletions(-) diff --git a/docs/installation.md b/docs/installation.md index fa29a0e6d90..ff0760dd060 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -6,7 +6,7 @@ title: Caffe # Installation Prior to installing, it is best to read through this guide and take note of the details for your platform. -We have successfully compiled and run Caffe on Ubuntu 12.04, OS X 10.8, and OS X 10.9. +We have installed Caffe on Ubuntu 14.04, Ubuntu 12.04, OS X 10.9, and OS X 10.8. - [Prerequisites](#prerequisites) - [Compilation](#compilation) @@ -16,20 +16,22 @@ We have successfully compiled and run Caffe on Ubuntu 12.04, OS X 10.8, and OS X Caffe depends on several software packages. -* [CUDA](https://developer.nvidia.com/cuda-zone) (5.0, 5.5, or 6.0). +* [CUDA](https://developer.nvidia.com/cuda-zone) library version 6.0, 5.5, or 5.0 and the latest driver version for CUDA 6 or 319.* for CUDA 5 (and NOT 331.*) * [BLAS](http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms) (provided via ATLAS, MKL, or OpenBLAS). * [OpenCV](http://opencv.org/). -* [Boost](http://www.boost.org/) (we have only tested 1.55) -* `glog`, `gflags`, `protobuf`, `leveldb`, `snappy`, `hdf5` +* [Boost](http://www.boost.org/) (>= 1.55, although only 1.55 is tested) +* `glog`, `gflags`, `protobuf`, `leveldb`, `snappy`, `hdf5`, `lmdb` * For the Python wrapper - * `Python`, `numpy (>= 1.7)`, boost-provided `boost.python` + * `Python 2.7`, `numpy (>= 1.7)`, boost-provided `boost.python` * For the MATLAB wrapper * MATLAB with the `mex` compiler. +**CPU-only Caffe**: for cold-brewed CPU-only Caffe uncomment the `CPU_ONLY := 1` in `Makefile.config` to configure and build Caffe without CUDA. This is helpful for cloud or cluster deployment. + ### CUDA and BLAS -Caffe requires the CUDA `nvcc` compiler to compile its GPU code. -To install CUDA, go to the [NVIDIA CUDA website](https://developer.nvidia.com/cuda-downloads) and follow installation instructions there. **Note:** you can install the CUDA libraries without a CUDA card or driver, in order to build and run Caffe on a CPU-only machine. +Caffe requires the CUDA `nvcc` compiler to compile its GPU code and CUDA driver for GPU operation. +To install CUDA, go to the [NVIDIA CUDA website](https://developer.nvidia.com/cuda-downloads) and follow installation instructions there. Install the library and the latest standalone driver separately; the driver bundled with the library is usually out-of-date. **Warning!** The 331.* CUDA driver series has a critical performance issue: do not use it. Caffe requires BLAS as the backend of its matrix and vector computations. There are several implementations of this library. @@ -46,32 +48,49 @@ The choice is yours: 1. Install OpenBLAS 2. Set `BLAS := open` in `Makefile.config` -### Python and/or Matlab wrappers (optional) +### Python and/or MATLAB wrappers (optional) -Python: The main requirements are `numpy` and `boost.python` (provided by boost). `pandas` is useful too and needed for some examples. +#### Python -For **OS X**, we highly recommend using the [Anaconda](https://store.continuum.io/cshop/anaconda/) Python distribution, which provides most of the necessary packages, as well as the `hdf5` library dependency. -If you don't, please use Homebrew -- but beware of potential linking errors! +The main requirements are `numpy` and `boost.python` (provided by boost). `pandas` is useful too and needed for some examples. -Note that if you use the **Ubuntu** default python, you will need to `apt-get install` the `python-dev` package to have the python headers. You can install any remaining dependencies with +You can install the dependencies with pip install -r /path/to/caffe/python/requirements.txt -MATLAB: install MATLAB, and make sure that its `mex` is in your `$PATH`. +but we highly recommend first installing the [Anaconda](https://store.continuum.io/cshop/anaconda/) Python distribution, which provides most of the necessary packages, as well as the `hdf5` library dependency. + +For **Ubuntu**, if you use the default Python you will need to `apt-get install` the `python-dev` package to have the Python headers for building the wrapper. + +For **OS X**, Anaconda is the preferred Python. If you decide against it, please use Homebrew -- but beware of potential linking errors! + +To import the `caffe` Python module after completing the installation, add the module directory to your `$PYTHONPATH` by `export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH` or the like. You should not import the module in the `caffe/python/caffe` directory! + +*Caffe's Python interface works with Python 2.7. Python 3 or earlier Pythons are your own adventure.* + +#### MATLAB + +Install MATLAB, and make sure that its `mex` is in your `$PATH`. + +*Caffe's MATLAB interface works with versions 2012b, 2013a/b, and 2014a.* ### The rest of the dependencies #### Linux -On **Ubuntu**, the remaining dependencies can be installed with +On **Ubuntu**, most of the dependencies can be installed with sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev -And on **CentOS or RHEL**, you can install via yum using: +And on **CentOS / RHEL**, you can install via yum with sudo yum install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel hdf5-devel -The only exceptions being the google flags library and the google logging library, which does not exist in the Ubuntu 12.04 or CentOS/RHEL repositories. To install them, do: +and for **Ubuntu 14.04** the rest of the dependencies can be installed with + + sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler + +For **Ubuntu 12.04 and CentOS / RHEL** the only exceptions to package installation are the Google flags library, Google logging library, and LMDB. To install these, do: # glog wget https://google-glog.googlecode.com/files/glog-0.3.3.tar.gz @@ -86,12 +105,16 @@ The only exceptions being the google flags library and the google logging librar mkdir build && cd build export CXXFLAGS="-fPIC" && cmake .. && make VERBOSE=1 make && make install + # lmdb + git clone git://gitorious.org/mdb/mdb.git + cd mdb/libraries/liblmdb + make && make install -Note that glog does not compile with the most recent gflags version (2.1), so before that is solved you will need to build with glog first. Also note that if you have newer versions of Ubuntu, like 13.04 or 14.04, gflags may be available under apt-get. +Note that glog does not compile with the most recent gflags version (2.1), so before that is resolved you will need to build with glog first. #### OS X -On **OS X**, we highly recommend using the [homebrew](http://brew.sh/) package manager, and ideally starting from a clean install of the OS (or from a wiped `/usr/local`) to avoid conflicts. +On **OS X**, we highly recommend using the [Homebrew](http://brew.sh/) package manager, and ideally starting from a clean install of the OS (or from a wiped `/usr/local`) to avoid conflicts. In the following, we assume that you're using Anaconda Python and Homebrew. To install the OpenCV dependency, we'll need to provide an additional source for Homebrew: @@ -112,7 +135,7 @@ In other `ENV` settings, things may not work as expected. Simply run the following: brew install --build-from-source --with-python boost - for x in snappy leveldb protobuf gflags glog szip homebrew/science/opencv; do brew install $x; done + for x in snappy leveldb protobuf gflags glog szip lmdb homebrew/science/opencv; do brew install $x; done Building boost from source is needed to link against your local Python (exceptions might be raised during some OS X installs, but **ignore** these and continue). If you do not need the Python wrapper, simply doing `brew install boost` is fine. @@ -125,12 +148,12 @@ In OS X 10.9, clang++ is the default C++ compiler and uses `libc++` as the stand However, NVIDIA CUDA (even version 6.0) currently links only with `libstdc++`. This makes it necessary to change the compilation settings for each of the dependencies. -We do this by modifying the homebrew formulae before installing any packages. -Make sure that homebrew doesn't install any software dependencies in the background; all packages must be linked to `libstdc++`. +We do this by modifying the Homebrew formulae before installing any packages. +Make sure that Homebrew doesn't install any software dependencies in the background; all packages must be linked to `libstdc++`. -The prerequisite homebrew formulae are +The prerequisite Homebrew formulae are - boost snappy leveldb protobuf gflags glog szip homebrew/science/opencv + boost snappy leveldb protobuf gflags glog szip lmdb homebrew/science/opencv For each of these formulas, `brew edit FORMULA`, and add the ENV definitions as shown: @@ -145,11 +168,11 @@ For each of these formulas, `brew edit FORMULA`, and add the ENV definitions as To edit the formulae in turn, run - for x in snappy leveldb protobuf gflags glog szip boost homebrew/science/opencv; do brew edit $x; done + for x in snappy leveldb protobuf gflags glog szip boost lmdb homebrew/science/opencv; do brew edit $x; done After this, run - for x in snappy leveldb protobuf gflags glog szip homebrew/science/opencv; do brew uninstall $x; brew install --build-from-source --fresh -vd $x; done + for x in snappy leveldb protobuf gflags glog szip lmdb homebrew/science/opencv; do brew uninstall $x; brew install --build-from-source --fresh -vd $x; done brew install --build-from-source --with-python --fresh -vd boost **Note** that `brew install --build-from-source --fresh -vd boost` is fine if you do not need the Caffe Python wrapper. @@ -176,11 +199,10 @@ The defaults should work, but uncomment the relevant lines if using Anaconda Pyt make test make runtest -Note that if there is no GPU in your machine, building and running CPU-only works, but GPU tests will naturally fail. +If there is no GPU in your machine, you should switch to CPU-only Caffe by uncommenting `CPU_ONLY := 1` in `Makefile.config`. To compile the Python and MATLAB wrappers do `make pycaffe` and `make matcaffe` respectively. Be sure to set your MATLAB and Python paths in `Makefile.config` first! -For Python support, you must add the compiled module to your `$PYTHONPATH` (as `/path/to/caffe/python` or the like). *Distribution*: run `make distribute` to create a `distribute` directory with all the Caffe headers, compiled libraries, binaries, etc. needed for distribution to other machines. From 62bbc41e0e2cf2f22f0d30ff795aa09c99d3c63e Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 29 Jul 2014 22:57:47 -0700 Subject: [PATCH 358/408] link OpenBLAS as blas OpenBLAS is most easily configured by `update-alternatives` or other symlink strategies. See https://github.com/BVLC/caffe/issues/314#issuecomment-40703048 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8e8ebedbc57..62e5158b9bd 100644 --- a/Makefile +++ b/Makefile @@ -252,7 +252,7 @@ ifeq ($(BLAS), mkl) BLAS_LIB ?= $(MKL_DIR)/lib $(MKL_DIR)/lib/intel64 else ifeq ($(BLAS), open) # OpenBLAS - LIBRARIES += openblas + LIBRARIES += blas else # ATLAS ifeq ($(LINUX), 1) From a08faf645dc8c223718c99a6695fc4072ed3164c Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Tue, 15 Jul 2014 08:13:00 -0700 Subject: [PATCH 359/408] [docs] contact us on webpage --- docs/index.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 6ffab7a0675..b8e58cf52dc 100644 --- a/docs/index.md +++ b/docs/index.md @@ -41,7 +41,7 @@ A 4-page report for the ACM Multimedia Open Source competition. Tested on Ubuntu, Red Hat, OS X. * [Pre-trained models](/getting_pretrained_models.html)
    BVLC provides ready-to-use models for non-commercial use. -* [Development](/development.html)
    +* [Developing & Contributing](/development.html)
    Guidelines for development and contributing to Caffe. ### Examples @@ -85,4 +85,13 @@ Additionally, the open-source community plays a large and growing role in Caffe' Check out the Github [project pulse](https://github.com/BVLC/caffe/pulse) for recent activity, and the [contributors](https://github.com/BVLC/caffe/graphs/contributors) for a sorted list. We sincerely appreciate your interest and contributions! -If you'd like to contribute, please read the [development guide](development.html). +If you'd like to contribute, please read the [developing & contributing](development.html) guide. + +## Contacting us + +All questions about installation, code, future development, and applications should be searched for and asked at [GitHub Issues](https://github.com/BVLC/caffe/issues). + +If you have a proposal that may not be suited for public discussion *and an ability to act on it*, please email us [directly](mailto:caffe-dev@googlegroups.com). +Requests for features, explanations, or personal help will be ignored; post such matters publicly as issues. + +Some developers may be able to provide [consulting services](mailto:caffe-coldpress@googlegroups.com) for appropriate projects. From 0428913a3b1c7acc3538557ed0ea0e0db6d69c9c Mon Sep 17 00:00:00 2001 From: Sergey Karayev Date: Tue, 15 Jul 2014 18:29:19 -0700 Subject: [PATCH 360/408] [fix] adding requirements.txt for web_demo. Closes #704 --- examples/web_demo/requirements.txt | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 examples/web_demo/requirements.txt diff --git a/examples/web_demo/requirements.txt b/examples/web_demo/requirements.txt new file mode 100644 index 00000000000..8fb1d2ccbb2 --- /dev/null +++ b/examples/web_demo/requirements.txt @@ -0,0 +1,6 @@ +werkzeug +flask +tornado +numpy +pandas +pillow From 4f0e38add5f64ef28ee6a5a6c827923dbfeaf38f Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 29 Jul 2014 09:21:39 -0700 Subject: [PATCH 361/408] [example] standardize imagenet leveldb names --- examples/imagenet/create_imagenet.sh | 4 ++-- examples/imagenet/readme.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/imagenet/create_imagenet.sh b/examples/imagenet/create_imagenet.sh index 8767f120a83..24f961bee4c 100755 --- a/examples/imagenet/create_imagenet.sh +++ b/examples/imagenet/create_imagenet.sh @@ -38,7 +38,7 @@ echo "Creating train leveldb..." GLOG_logtostderr=1 $TOOLS/convert_imageset.bin \ $TRAIN_DATA_ROOT \ $DATA/train.txt \ - imagenet_train_leveldb 1 \ + ilsvrc12_train_leveldb 1 $RESIZE_HEIGHT $RESIZE_WIDTH echo "Creating val leveldb..." @@ -46,7 +46,7 @@ echo "Creating val leveldb..." GLOG_logtostderr=1 $TOOLS/convert_imageset.bin \ $VAL_DATA_ROOT \ $DATA/val.txt \ - imagenet_val_leveldb 1 \ + ilsvrc12_val_leveldb 1 $RESIZE_HEIGHT $RESIZE_WIDTH echo "Done." diff --git a/examples/imagenet/readme.md b/examples/imagenet/readme.md index 0b5b8452188..2273c877ca5 100644 --- a/examples/imagenet/readme.md +++ b/examples/imagenet/readme.md @@ -41,7 +41,7 @@ You may want to resize the images to 256x256 in advance. By default, we do not e Go to `$CAFFE_ROOT/examples/imagenet/` for the rest of this guide. -Take a look at `create_imagenet.sh`. Set the paths to the train and val dirs as needed, and set "RESIZE=true" to resize all images to 256x256 if you haven't resized the images in advance. Now simply create the leveldbs with `./create_imagenet.sh`. Note that `imagenet_train_leveldb` and `imagenet_val_leveldb` should not exist before this execution. It will be created by the script. `GLOG_logtostderr=1` simply dumps more information for you to inspect, and you can safely ignore it. +Take a look at `create_imagenet.sh`. Set the paths to the train and val dirs as needed, and set "RESIZE=true" to resize all images to 256x256 if you haven't resized the images in advance. Now simply create the leveldbs with `./create_imagenet.sh`. Note that `ilsvrc12_train_leveldb` and `ilsvrc12_val_leveldb` should not exist before this execution. It will be created by the script. `GLOG_logtostderr=1` simply dumps more information for you to inspect, and you can safely ignore it. Compute Image Mean ------------------ From d726338b22665d053d6665f4d6ffae01fecb5e17 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 29 Jul 2014 23:37:09 -0700 Subject: [PATCH 362/408] [docs] announce caffe-users --- docs/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/index.md b/docs/index.md index b8e58cf52dc..333f5f7e048 100644 --- a/docs/index.md +++ b/docs/index.md @@ -89,7 +89,9 @@ If you'd like to contribute, please read the [developing & contributing](develop ## Contacting us -All questions about installation, code, future development, and applications should be searched for and asked at [GitHub Issues](https://github.com/BVLC/caffe/issues). +All questions about usage, installation, code, and applications should be searched for and asked on the [caffe-users mailing list](https://groups.google.com/forum/#!forum/caffe-users). + +All development discussion should be carried out at [GitHub Issues](https://github.com/BVLC/caffe/issues). If you have a proposal that may not be suited for public discussion *and an ability to act on it*, please email us [directly](mailto:caffe-dev@googlegroups.com). Requests for features, explanations, or personal help will be ignored; post such matters publicly as issues. From e4dece55f5975ff1dd5d9c0a062d02378acefe8f Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 30 Jul 2014 00:48:35 -0700 Subject: [PATCH 363/408] [example] include image dimensions for oversampling --- examples/imagenet_classification.ipynb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/imagenet_classification.ipynb b/examples/imagenet_classification.ipynb index 7ac140d9e79..9a7113e6892 100644 --- a/examples/imagenet_classification.ipynb +++ b/examples/imagenet_classification.ipynb @@ -60,7 +60,8 @@ "net = caffe.Classifier(MODEL_FILE, PRETRAINED,\n", " mean_file=caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy',\n", " channel_swap=(2,1,0),\n", - " input_scale=255)" + " input_scale=255,\n" + " image_dims=(256, 256))" ], "language": "python", "metadata": {}, From ee03edea23edd611b6a3fc5e3d7a440b24f780ed Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 31 Jul 2014 18:14:12 -0700 Subject: [PATCH 364/408] [example] fix imagenet classification typo --- examples/imagenet_classification.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/imagenet_classification.ipynb b/examples/imagenet_classification.ipynb index 9a7113e6892..e7fe9f84677 100644 --- a/examples/imagenet_classification.ipynb +++ b/examples/imagenet_classification.ipynb @@ -60,7 +60,7 @@ "net = caffe.Classifier(MODEL_FILE, PRETRAINED,\n", " mean_file=caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy',\n", " channel_swap=(2,1,0),\n", - " input_scale=255,\n" + " input_scale=255,\n", " image_dims=(256, 256))" ], "language": "python", From 8c15185812efc58c32dca00a97e93edfbddd1dce Mon Sep 17 00:00:00 2001 From: qipeng Date: Thu, 31 Jul 2014 16:43:21 -0700 Subject: [PATCH 365/408] Included cmath in common.hpp to avoid isnan complaints from the xcode compiler --- include/caffe/common.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index ff8649ad2a1..58f500d0984 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -10,6 +10,8 @@ #include #include +#include + #include "caffe/util/device_alternate.hpp" // Disable the copy and assignment operator for a class. From 9f2b8f305d87974b5f3c3090286075e265fb006c Mon Sep 17 00:00:00 2001 From: qipeng Date: Fri, 1 Aug 2014 08:09:18 -0700 Subject: [PATCH 366/408] turns out you need using::isnan too --- include/caffe/common.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index 58f500d0984..789b3db023f 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -81,6 +81,7 @@ using std::pair; using std::set; using std::string; using std::vector; +using std::isnan; // A global initialization function that you should call in your main function. // Currently it initializes google flags and google logging. From 7eb8a6fe451317292180ac9474329a5a072c61b4 Mon Sep 17 00:00:00 2001 From: qipeng Date: Fri, 1 Aug 2014 08:10:19 -0700 Subject: [PATCH 367/408] the compiler complains about solver tests using pointers as bool --- src/caffe/test/test_solver.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/caffe/test/test_solver.cpp b/src/caffe/test/test_solver.cpp index 9e087b08c53..8b241daeda1 100644 --- a/src/caffe/test/test_solver.cpp +++ b/src/caffe/test/test_solver.cpp @@ -96,14 +96,14 @@ TYPED_TEST(SolverTest, TestInitTrainTestNets) { " } " "} "; this->InitSolverFromProtoString(proto); - ASSERT_TRUE(this->solver_->net()); - EXPECT_TRUE(this->solver_->net()->has_layer("loss")); - EXPECT_FALSE(this->solver_->net()->has_layer("accuracy")); + ASSERT_TRUE((bool)this->solver_->net()); + EXPECT_TRUE((bool)this->solver_->net()->has_layer("loss")); + EXPECT_FALSE((bool)this->solver_->net()->has_layer("accuracy")); ASSERT_EQ(2, this->solver_->test_nets().size()); - EXPECT_TRUE(this->solver_->test_nets()[0]->has_layer("loss")); - EXPECT_TRUE(this->solver_->test_nets()[0]->has_layer("accuracy")); - EXPECT_FALSE(this->solver_->test_nets()[1]->has_layer("loss")); - EXPECT_TRUE(this->solver_->test_nets()[1]->has_layer("accuracy")); + EXPECT_TRUE((bool)this->solver_->test_nets()[0]->has_layer("loss")); + EXPECT_TRUE((bool)this->solver_->test_nets()[0]->has_layer("accuracy")); + EXPECT_FALSE((bool)this->solver_->test_nets()[1]->has_layer("loss")); + EXPECT_TRUE((bool)this->solver_->test_nets()[1]->has_layer("accuracy")); } } // namespace caffe From d78a8de102111525ae66a4536093d58823fd7129 Mon Sep 17 00:00:00 2001 From: qipeng Date: Fri, 1 Aug 2014 08:28:43 -0700 Subject: [PATCH 368/408] lint --- src/caffe/test/test_solver.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/caffe/test/test_solver.cpp b/src/caffe/test/test_solver.cpp index 8b241daeda1..20bad95f878 100644 --- a/src/caffe/test/test_solver.cpp +++ b/src/caffe/test/test_solver.cpp @@ -96,14 +96,18 @@ TYPED_TEST(SolverTest, TestInitTrainTestNets) { " } " "} "; this->InitSolverFromProtoString(proto); - ASSERT_TRUE((bool)this->solver_->net()); - EXPECT_TRUE((bool)this->solver_->net()->has_layer("loss")); - EXPECT_FALSE((bool)this->solver_->net()->has_layer("accuracy")); + ASSERT_TRUE(static_cast(this->solver_->net())); + EXPECT_TRUE(static_cast(this->solver_->net()->has_layer("loss"))); + EXPECT_FALSE(static_cast(this->solver_->net()->has_layer("accuracy"))); ASSERT_EQ(2, this->solver_->test_nets().size()); - EXPECT_TRUE((bool)this->solver_->test_nets()[0]->has_layer("loss")); - EXPECT_TRUE((bool)this->solver_->test_nets()[0]->has_layer("accuracy")); - EXPECT_FALSE((bool)this->solver_->test_nets()[1]->has_layer("loss")); - EXPECT_TRUE((bool)this->solver_->test_nets()[1]->has_layer("accuracy")); + EXPECT_TRUE(static_cast( + this->solver_->test_nets()[0]->has_layer("loss"))); + EXPECT_TRUE(static_cast( + this->solver_->test_nets()[0]->has_layer("accuracy"))); + EXPECT_FALSE(static_cast( + this->solver_->test_nets()[1]->has_layer("loss"))); + EXPECT_TRUE(static_cast( + this->solver_->test_nets()[1]->has_layer("accuracy"))); } } // namespace caffe From 21d1d91ed63e4ffb486560c0d22278357c3aa896 Mon Sep 17 00:00:00 2001 From: qipeng Date: Fri, 1 Aug 2014 14:24:22 -0700 Subject: [PATCH 369/408] fixed unnecessary conversions in test_solver, and rearraged common.hpp a bit --- include/caffe/common.hpp | 5 ++--- src/caffe/test/test_solver.cpp | 18 +++++++----------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index 789b3db023f..d3dbd471e67 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -6,12 +6,11 @@ #include #include +#include #include #include #include -#include - #include "caffe/util/device_alternate.hpp" // Disable the copy and assignment operator for a class. @@ -73,6 +72,7 @@ using boost::shared_ptr; // Common functions and classes from std that caffe often uses. using std::fstream; using std::ios; +using std::isnan; using std::iterator; using std::make_pair; using std::map; @@ -81,7 +81,6 @@ using std::pair; using std::set; using std::string; using std::vector; -using std::isnan; // A global initialization function that you should call in your main function. // Currently it initializes google flags and google logging. diff --git a/src/caffe/test/test_solver.cpp b/src/caffe/test/test_solver.cpp index 20bad95f878..feefb51210a 100644 --- a/src/caffe/test/test_solver.cpp +++ b/src/caffe/test/test_solver.cpp @@ -96,18 +96,14 @@ TYPED_TEST(SolverTest, TestInitTrainTestNets) { " } " "} "; this->InitSolverFromProtoString(proto); - ASSERT_TRUE(static_cast(this->solver_->net())); - EXPECT_TRUE(static_cast(this->solver_->net()->has_layer("loss"))); - EXPECT_FALSE(static_cast(this->solver_->net()->has_layer("accuracy"))); + ASSERT_TRUE(this->solver_->net() != NULL); + EXPECT_TRUE(this->solver_->net()->has_layer("loss")); + EXPECT_FALSE(this->solver_->net()->has_layer("accuracy")); ASSERT_EQ(2, this->solver_->test_nets().size()); - EXPECT_TRUE(static_cast( - this->solver_->test_nets()[0]->has_layer("loss"))); - EXPECT_TRUE(static_cast( - this->solver_->test_nets()[0]->has_layer("accuracy"))); - EXPECT_FALSE(static_cast( - this->solver_->test_nets()[1]->has_layer("loss"))); - EXPECT_TRUE(static_cast( - this->solver_->test_nets()[1]->has_layer("accuracy"))); + EXPECT_TRUE(this->solver_->test_nets()[0]->has_layer("loss")); + EXPECT_TRUE(this->solver_->test_nets()[0]->has_layer("accuracy")); + EXPECT_FALSE(this->solver_->test_nets()[1]->has_layer("loss")); + EXPECT_TRUE(this->solver_->test_nets()[1]->has_layer("accuracy")); } } // namespace caffe From fc4e1d11e6b8a44417085113fda4a8f9b3e7d072 Mon Sep 17 00:00:00 2001 From: qipeng Date: Fri, 1 Aug 2014 14:53:35 -0700 Subject: [PATCH 370/408] fix compiler complaint in matcaffe --- matlab/caffe/matcaffe.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matlab/caffe/matcaffe.cpp b/matlab/caffe/matcaffe.cpp index 957ebea008e..2aad3192a65 100644 --- a/matlab/caffe/matcaffe.cpp +++ b/matlab/caffe/matcaffe.cpp @@ -183,7 +183,7 @@ static mxArray* do_get_weights() { mxArray* mx_layer_cells = NULL; if (layer_names[i] != prev_layer_name) { prev_layer_name = layer_names[i]; - const mwSize dims[2] = {layer_blobs.size(), 1}; + const mwSize dims[2] = {static_cast(layer_blobs.size()), 1}; mx_layer_cells = mxCreateCellArray(2, dims); mxSetField(mx_layers, mx_layer_index, "weights", mx_layer_cells); mxSetField(mx_layers, mx_layer_index, "layer_names", From 737b79ea72a0193bc7767fc0b7054e78714a9e9a Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 1 Aug 2014 19:10:16 -0700 Subject: [PATCH 371/408] Test that DropoutLayer obeys dropout_ratio. --- src/caffe/test/test_neuron_layer.cpp | 57 ++++++++++++++++++++-------- 1 file changed, 41 insertions(+), 16 deletions(-) diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index 7a7af3188fe..b3a536a7bfd 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -17,6 +17,7 @@ namespace caffe { template class NeuronLayerTest : public MultiDeviceTest { typedef typename TypeParam::Dtype Dtype; + protected: NeuronLayerTest() : blob_bottom_(new Blob(2, 3, 4, 5)), @@ -34,6 +35,38 @@ class NeuronLayerTest : public MultiDeviceTest { Blob* const blob_top_; vector*> blob_bottom_vec_; vector*> blob_top_vec_; + + void TestDropoutForward(const float dropout_ratio) { + LayerParameter layer_param; + // Fill in the given dropout_ratio, unless it's 0.5, in which case we don't + // set it explicitly to test that 0.5 is the default. + if (dropout_ratio != 0.5) { + layer_param.mutable_dropout_param()->set_dropout_ratio(dropout_ratio); + } + Caffe::set_phase(Caffe::TRAIN); + DropoutLayer layer(layer_param); + layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); + layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); + // Now, check values + const Dtype* bottom_data = this->blob_bottom_->cpu_data(); + const Dtype* top_data = this->blob_top_->cpu_data(); + float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); + const int count = this->blob_bottom_->count(); + // Initialize num_kept to count the number of inputs NOT dropped out. + int num_kept = 0; + for (int i = 0; i < count; ++i) { + if (top_data[i] != 0) { + ++num_kept; + EXPECT_EQ(top_data[i], bottom_data[i] * scale); + } + } + const Dtype std_error = sqrt(dropout_ratio * (1 - dropout_ratio) / count); + // Fail if the number dropped was more than 1.96 * std_error away from the + // expected number -- requires 95% confidence that the dropout layer is not + // obeying the given dropout_ratio for test failure. + const Dtype empirical_dropout_ratio = 1 - num_kept / Dtype(count); + EXPECT_NEAR(empirical_dropout_ratio, dropout_ratio, 1.96 * std_error); + } }; TYPED_TEST_CASE(NeuronLayerTest, TestDtypesAndDevices); @@ -114,22 +147,14 @@ TYPED_TEST(NeuronLayerTest, TestSigmoidGradient) { &(this->blob_top_vec_)); } -TYPED_TEST(NeuronLayerTest, TestDropout) { - typedef typename TypeParam::Dtype Dtype; - LayerParameter layer_param; - Caffe::set_phase(Caffe::TRAIN); - DropoutLayer layer(layer_param); - layer.SetUp(this->blob_bottom_vec_, &(this->blob_top_vec_)); - layer.Forward(this->blob_bottom_vec_, &(this->blob_top_vec_)); - // Now, check values - const Dtype* bottom_data = this->blob_bottom_->cpu_data(); - const Dtype* top_data = this->blob_top_->cpu_data(); - float scale = 1. / (1. - layer_param.dropout_param().dropout_ratio()); - for (int i = 0; i < this->blob_bottom_->count(); ++i) { - if (top_data[i] != 0) { - EXPECT_EQ(top_data[i], bottom_data[i] * scale); - } - } +TYPED_TEST(NeuronLayerTest, TestDropoutHalf) { + const float kDropoutRatio = 0.5; + this->TestDropoutForward(kDropoutRatio); +} + +TYPED_TEST(NeuronLayerTest, TestDropoutThreeQuarters) { + const float kDropoutRatio = 0.75; + this->TestDropoutForward(kDropoutRatio); } TYPED_TEST(NeuronLayerTest, TestDropoutTestPhase) { From 8880ac8706a205623b830a0f1edb5d2dbbe590d8 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 2 Aug 2014 13:17:09 -0700 Subject: [PATCH 372/408] Add script to speedtest imagenet (currently broken as FilterNet ignores Caffe::phase()). --- examples/imagenet/speedtest_imagenet.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 examples/imagenet/speedtest_imagenet.sh diff --git a/examples/imagenet/speedtest_imagenet.sh b/examples/imagenet/speedtest_imagenet.sh new file mode 100755 index 00000000000..c790d835c14 --- /dev/null +++ b/examples/imagenet/speedtest_imagenet.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env sh + +TOOLS=../../build/tools + +if [ -z "$1" ]; then + echo "Using CPU! To run GPU speedtest, use:" + echo " ./speedtest_imagenet.sh " + echo "(Try ./speedtest_imagenet.sh 0 if you have just one GPU.)" + sleep 3 # Let the user read + WITH_GPU=false + DEVICE_ID=0 +else + WITH_GPU=true + DEVICE_ID=$1 +fi + +GLOG_logtostderr=1 $TOOLS/caffe.bin speedtest \ + --net_proto_file=imagenet_train_val.prototxt \ + --speedtest_with_gpu=${WITH_GPU} \ + --device_id=${DEVICE_ID} + +echo "Done." From 81e240b351e7fbbc9d6dab2eab3970389ef1ce60 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 2 Aug 2014 13:10:46 -0700 Subject: [PATCH 373/408] Add tests for phase filtering according to Caffe singleton phase (currently failing as FilterNet ignores the singleton phase). --- src/caffe/test/test_net.cpp | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index c4181345573..a0a387929be 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -961,8 +961,7 @@ TEST_F(FilterNetTest, TestFilterLeNetTrainTest) { "} "; const string input_proto_train = "state: { phase: TRAIN } " + input_proto; const string input_proto_test = "state: { phase: TEST } " + input_proto; - const string& output_proto_train = - "state: { phase: TRAIN } " + const string output_proto_train = "name: 'LeNet' " "layers { " " name: 'mnist' " @@ -1020,7 +1019,6 @@ TEST_F(FilterNetTest, TestFilterLeNetTrainTest) { " top: 'loss' " "} "; const string& output_proto_test = - "state: { phase: TEST } " "name: 'LeNet' " "layers { " " name: 'mnist' " @@ -1085,8 +1083,26 @@ TEST_F(FilterNetTest, TestFilterLeNetTrainTest) { " bottom: 'label' " " top: 'loss' " "} "; - this->RunFilterNetTest(input_proto_train, output_proto_train); - this->RunFilterNetTest(input_proto_test, output_proto_test); + const string output_proto_train_explicit = + output_proto_train + " state: { phase: TRAIN } "; + const string output_proto_test_explicit = + output_proto_test + " state: { phase: TEST } "; + this->RunFilterNetTest(input_proto_train, output_proto_train_explicit); + this->RunFilterNetTest(input_proto_test, output_proto_test_explicit); + + // Also check that nets are filtered according to the Caffe singleton phase, + // if not explicitly specified in the input proto. + Caffe::set_phase(Caffe::TRAIN); + this->RunFilterNetTest(input_proto, output_proto_train); + Caffe::set_phase(Caffe::TEST); + this->RunFilterNetTest(input_proto, output_proto_test); + + // Finally, check that the current Caffe singleton phase is ignored if the + // phase is explicitly specified in the input proto. + Caffe::set_phase(Caffe::TEST); + this->RunFilterNetTest(input_proto_train, output_proto_train_explicit); + Caffe::set_phase(Caffe::TRAIN); + this->RunFilterNetTest(input_proto_test, output_proto_test_explicit); } TEST_F(FilterNetTest, TestFilterOutByStage) { From 4cece16571e39e74c7a12bf677b044c9f5341180 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sat, 2 Aug 2014 13:17:15 -0700 Subject: [PATCH 374/408] Fix speedtest (and possibly other tools) by setting the net phase to the current Caffe::phase() unless explicitly specified in the state. --- src/caffe/net.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index a4d1f235a5a..b80bbba8479 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -174,7 +174,21 @@ void Net::Init(const NetParameter& in_param) { template void Net::FilterNet(const NetParameter& param, NetParameter* param_filtered) { - const NetState& net_state = param.state(); + NetState net_state(param.state()); + // Let the phase of the net be the current global phase provided in the Caffe + // singleton, unless explicitly provided by the state. + if (!net_state.has_phase()) { + switch (Caffe::phase()) { + case Caffe::TRAIN: + net_state.set_phase(TRAIN); + break; + case Caffe::TEST: + net_state.set_phase(TEST); + break; + default: + LOG(FATAL) << "Unknown phase: " << Caffe::phase(); + } + } param_filtered->CopyFrom(param); param_filtered->clear_layers(); for (int i = 0; i < param.layers_size(); ++i) { From db286e430d282d04e222a50cfca7875867b55df8 Mon Sep 17 00:00:00 2001 From: netheril96 Date: Mon, 4 Aug 2014 12:28:21 +0800 Subject: [PATCH 375/408] Fix and improve multiple places about random number generation and shuffling --- include/caffe/util/rng.hpp | 30 ++++++++++++++++++++++++--- src/caffe/common.cpp | 13 +++++++++++- src/caffe/layers/image_data_layer.cpp | 11 +++------- tools/convert_imageset.cpp | 3 ++- 4 files changed, 44 insertions(+), 13 deletions(-) diff --git a/include/caffe/util/rng.hpp b/include/caffe/util/rng.hpp index 5909d1715ed..2b79ef1801b 100644 --- a/include/caffe/util/rng.hpp +++ b/include/caffe/util/rng.hpp @@ -4,16 +4,40 @@ #define CAFFE_RNG_CPP_HPP_ #include +#include +#include +#include #include "caffe/common.hpp" namespace caffe { - typedef boost::mt19937 rng_t; +typedef boost::mt19937 rng_t; - inline rng_t* caffe_rng() { - return static_cast(Caffe::rng_stream().generator()); +inline rng_t* caffe_rng() { + return static_cast(Caffe::rng_stream().generator()); +} + +// Fisher–Yates algorithm +template +inline void shuffle(RandomAccessIterator begin, RandomAccessIterator end, + RandomGenerator* gen) { + typedef typename std::iterator_traits::difference_type + difference_type; + typedef typename boost::uniform_int dist_type; + + difference_type length = std::distance(begin, end); + if (length <= 0) return; + + for (difference_type i = length - 1; i > 0; --i) { + dist_type dist(0, i); + std::iter_swap(begin + i, begin + dist(*gen)); } +} +template +inline void shuffle(RandomAccessIterator begin, RandomAccessIterator end) { + shuffle(begin, end, caffe_rng()); +} } // namespace caffe #endif // CAFFE_RNG_HPP_ diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 1810bb70b61..019370b1dd7 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -26,6 +26,17 @@ shared_ptr Caffe::singleton_; // random seeding int64_t cluster_seedgen(void) { int64_t s, seed, pid; + FILE* f = fopen("/dev/urandom", "rb"); + if (f && fread(&seed, 1, sizeof(seed), f) == sizeof(seed)) { + fclose(f); + return seed; + } + + LOG(INFO) << "System entropy source not available, " + "using fallback algorithm to generate seed instead."; + if (f) + fclose(f); + pid = getpid(); s = time(NULL); seed = abs(((s * 181) * ((pid - 83) * 359)) % 104729); @@ -75,7 +86,7 @@ Caffe::RNG::RNG() : generator_(new Generator()) { } Caffe::RNG::RNG(unsigned int seed) : generator_(new Generator(seed)) { } Caffe::RNG& Caffe::RNG::operator=(const RNG& other) { - generator_.reset(other.generator_.get()); + generator_ = other.generator_; return *this; } diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index efd593808ec..a0f91af29fa 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -238,14 +238,9 @@ void ImageDataLayer::CreatePrefetchThread() { template void ImageDataLayer::ShuffleImages() { - const int num_images = lines_.size(); - for (int i = 0; i < num_images; ++i) { - const int max_rand_index = num_images - i; - const int rand_index = PrefetchRand() % max_rand_index; - pair item = lines_[rand_index]; - lines_.erase(lines_.begin() + rand_index); - lines_.push_back(item); - } + caffe::rng_t* prefetch_rng = + static_cast(prefetch_rng_->generator()); + shuffle(lines_.begin(), lines_.end(), prefetch_rng); } diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index 28de653b2c7..21ff0d38104 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -28,6 +28,7 @@ #include "caffe/proto/caffe.pb.h" #include "caffe/util/io.hpp" +#include "caffe/util/rng.hpp" using namespace caffe; // NOLINT(build/namespaces) using std::pair; @@ -60,7 +61,7 @@ int main(int argc, char** argv) { if (argc >= (arg_offset+5) && argv[arg_offset+4][0] == '1') { // randomly shuffle data LOG(INFO) << "Shuffling data"; - std::random_shuffle(lines.begin(), lines.end()); + shuffle(lines.begin(), lines.end()); } LOG(INFO) << "A total of " << lines.size() << " images."; From 5f520af6da1ae70f1a9b3a7fb5b29765927c4fae Mon Sep 17 00:00:00 2001 From: zszhong Date: Sun, 3 Aug 2014 13:55:06 +0800 Subject: [PATCH 376/408] modified test_concat_layer.cpp --- src/caffe/test/test_concat_layer.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/caffe/test/test_concat_layer.cpp b/src/caffe/test/test_concat_layer.cpp index 0550bb2d5c9..4cb28b1e24e 100644 --- a/src/caffe/test/test_concat_layer.cpp +++ b/src/caffe/test/test_concat_layer.cpp @@ -26,14 +26,17 @@ class ConcatLayerTest : public MultiDeviceTest { blob_top_(new Blob()) {} virtual void SetUp() { // fill the values + shared_ptr > filler; FillerParameter filler_param; filler_param.set_value(1.); - ConstantFiller filler(filler_param); - filler.Fill(this->blob_bottom_0); + filler.reset(new ConstantFiller(filler_param)); + filler->Fill(this->blob_bottom_0); filler_param.set_value(2.); - filler.Fill(this->blob_bottom_1); + filler.reset(new ConstantFiller(filler_param)); + filler->Fill(this->blob_bottom_1); filler_param.set_value(3.); - filler.Fill(this->blob_bottom_2); + filler.reset(new ConstantFiller(filler_param)); + filler->Fill(this->blob_bottom_2); blob_bottom_vec_0.push_back(blob_bottom_0); blob_bottom_vec_0.push_back(blob_bottom_1); blob_bottom_vec_1.push_back(blob_bottom_0); @@ -112,7 +115,7 @@ TYPED_TEST(ConcatLayerTest, TestGradient) { typedef typename TypeParam::Dtype Dtype; LayerParameter layer_param; ConcatLayer layer(layer_param); - GradientChecker checker(1e-2, 1e-3); + GradientChecker checker(1e-2, 1e-2); checker.CheckGradient(&layer, &(this->blob_bottom_vec_0), &(this->blob_top_vec_)); } From 36fd64cfc44cef04d98d98bbd9fb773df3a3093e Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Mon, 4 Aug 2014 13:09:00 -0700 Subject: [PATCH 377/408] Add 'snapshot_after_train' to SolverParameter to override the final snapshot. --- src/caffe/proto/caffe.proto | 3 +++ src/caffe/solver.cpp | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index d2f61e57f34..4e77863e7e6 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -140,6 +140,9 @@ message SolverParameter { // If true, print information about the state of the net that may help with // debugging learning problems. optional bool debug_info = 23 [default = false]; + + // If false, don't save a snapshot after training finishes. + optional bool snapshot_after_train = 28 [default = true]; } // A message that stores the solver snapshots diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 11795f058cd..6049ddfec7c 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -200,8 +200,9 @@ void Solver::Solve(const char* resume_file) { ComputeUpdateValue(); net_->Update(); } - // Always save a snapshot after optimization. - Snapshot(); + // Always save a snapshot after optimization, unless overridden by setting + // snapshot_after_train := false. + if (param_.snapshot_after_train()) { Snapshot(); } // After the optimization is done, run an additional train and test pass to // display the train and test loss/outputs if appropriate (based on the // display and test_interval settings, respectively). Unlike in the rest of From b08729e366623245cf632681a0f747192f3b914a Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Sun, 3 Aug 2014 16:00:46 -0700 Subject: [PATCH 378/408] Add (momentum) SGD solver tests to check that learning rate, weight decay, and momentum are implemented properly on a least squares problem. --- src/caffe/test/test_sgd_solver.cpp | 346 +++++++++++++++++++++++++++++ 1 file changed, 346 insertions(+) create mode 100644 src/caffe/test/test_sgd_solver.cpp diff --git a/src/caffe/test/test_sgd_solver.cpp b/src/caffe/test/test_sgd_solver.cpp new file mode 100644 index 00000000000..a28ed7b1817 --- /dev/null +++ b/src/caffe/test/test_sgd_solver.cpp @@ -0,0 +1,346 @@ +// Copyright 2014 BVLC and contributors. + +#include +#include +#include +#include + +#include "google/protobuf/text_format.h" + +#include "gtest/gtest.h" +#include "caffe/common.hpp" +#include "caffe/proto/caffe.pb.h" +#include "caffe/solver.hpp" + +#include "caffe/test/test_caffe_main.hpp" + +using std::ostringstream; + +namespace caffe { + +template +class SGDSolverTest : public MultiDeviceTest { + typedef typename TypeParam::Dtype Dtype; + + protected: + SGDSolverTest() : + seed_(1701), num_(5), channels_(3), height_(10), width_(10) {} + + // MockSGDSolver: an SGDSolver with public history. + class MockSGDSolver : public SGDSolver { + public: + explicit MockSGDSolver(const SolverParameter& param) : + SGDSolver(param) {} + vector > >& history() { return this->history_; } + }; + + shared_ptr solver_; + int seed_; + int num_, channels_, height_, width_; + + virtual void InitSolverFromProtoString(const string& proto) { + SolverParameter param; + CHECK(google::protobuf::TextFormat::ParseFromString(proto, ¶m)); + // Disable saving a final snapshot so the tests don't pollute the user's + // working directory with useless snapshots. + param.set_snapshot_after_train(false); + // Set the solver_mode according to current Caffe::mode. + switch (Caffe::mode()) { + case Caffe::CPU: + param.set_solver_mode(SolverParameter_SolverMode_CPU); + break; + case Caffe::GPU: + param.set_solver_mode(SolverParameter_SolverMode_GPU); + break; + default: + LOG(FATAL) << "Unknown Caffe mode: " << Caffe::mode(); + } + solver_.reset(new MockSGDSolver(param)); + } + + void RunLeastSquaresSolver(const Dtype learning_rate, + const Dtype weight_decay, const Dtype momentum, const int num_iters) { + ostringstream proto; + proto << + "max_iter: " << num_iters << " " + "base_lr: " << learning_rate << " " + "lr_policy: 'fixed' " + "net_param { " + " name: 'TestNetwork' " + " layers: { " + " name: 'data' " + " type: DUMMY_DATA " + " dummy_data_param { " + " num: " << num_ << " " + " channels: " << channels_ << " " + " height: " << height_ << " " + " width: " << width_ << " " + " channels: 1 " + " height: 1 " + " width: 1 " + " data_filler { " + " type: 'gaussian' " + " std: 1.0 " + " } " + " } " + " top: 'data' " + " top: 'targets' " + " } " + " layers: { " + " name: 'innerprod' " + " type: INNER_PRODUCT " + " inner_product_param { " + " num_output: 1 " + " weight_filler { " + " type: 'gaussian' " + " std: 1.0 " + " } " + " bias_filler { " + " type: 'gaussian' " + " std: 1.0 " + " } " + " } " + " bottom: 'data' " + " top: 'innerprod' " + " } " + " layers: { " + " name: 'loss' " + " type: EUCLIDEAN_LOSS " + " bottom: 'innerprod' " + " bottom: 'targets' " + " } " + "} "; + if (weight_decay != 0) { + proto << "weight_decay: " << weight_decay << " "; + } + if (momentum != 0) { + proto << "momentum: " << momentum << " "; + } + Caffe::set_random_seed(this->seed_); + this->InitSolverFromProtoString(proto.str()); + this->solver_->Solve(); + } + + // Compute an update value given the current state of the train net, + // using the analytical formula for the least squares gradient. + // updated_params will store the updated weight and bias results, + // using the blobs' diffs to hold the update values themselves. + void ComputeLeastSquaresUpdate(const Dtype learning_rate, + const Dtype weight_decay, const Dtype momentum, + vector > >* updated_params) { + const int N = num_; + const int D = channels_ * height_ * width_; + + // Run a forward pass, and manually compute the update values from the + // result. + Net& net = *this->solver_->net(); + vector*> empty_bottom_vec; + net.Forward(empty_bottom_vec); + ASSERT_TRUE(net.has_blob("data")); + const Blob& data = *net.blob_by_name("data"); + ASSERT_TRUE(net.has_blob("targets")); + const Blob& targets = *net.blob_by_name("targets"); + ASSERT_TRUE(net.has_layer("innerprod")); + const vector > >& param_blobs = + net.layer_by_name("innerprod")->blobs(); + const int num_param_blobs = 2; + ASSERT_EQ(num_param_blobs, param_blobs.size()); + const Blob& weights = *param_blobs[0]; + const Blob& bias = *param_blobs[1]; + ASSERT_EQ(D * N, data.count()); + ASSERT_EQ(N, targets.count()); + ASSERT_EQ(D, weights.count()); + ASSERT_EQ(1, bias.count()); + + updated_params->clear(); + updated_params->resize(num_param_blobs); + for (int i = 0; i < num_param_blobs; ++i) { + (*updated_params)[i].reset(new Blob()); + } + Blob& updated_weights = *(*updated_params)[0]; + updated_weights.ReshapeLike(weights); + Blob& updated_bias = *(*updated_params)[1]; + updated_bias.ReshapeLike(bias); + + for (int i = 0; i <= D; ++i) { + // Compute the derivative with respect to the ith weight (i.e., the ith + // element of the gradient). + Dtype grad = 0; + for (int j = 0; j <= D; ++j) { + // Compute element (i, j) of X^T * X. + Dtype element = 0; + for (int k = 0; k < N; ++k) { + // (i, k) in X^T (== (k, i) in X) times (k, j) in X. + const Dtype element_i = (i == D) ? 1 : data.cpu_data()[k * D + i]; + const Dtype element_j = (j == D) ? 1 : data.cpu_data()[k * D + j]; + element += element_i * element_j; + } + if (j == D) { + grad += element * bias.cpu_data()[0]; + } else { + grad += element * weights.cpu_data()[j]; + } + } + for (int k = 0; k < N; ++k) { + const Dtype element_i = (i == D) ? 1 : data.cpu_data()[k * D + i]; + grad -= element_i * targets.cpu_data()[k]; + } + // Scale the gradient over the N samples. + grad /= N; + // Add the weight decay to the gradient. + grad += weight_decay * + ((i == D) ? bias.cpu_data()[0] : weights.cpu_data()[i]); + // Finally, add any momentum. + const vector > >& history = solver_->history(); + ASSERT_EQ(2, history.size()); // 1 blob for weights, 1 for bias + Dtype update_value = learning_rate * grad; + if (i == D) { + update_value += momentum * history[1]->cpu_data()[0]; + updated_bias.mutable_cpu_diff()[0] = update_value; + updated_bias.mutable_cpu_data()[0] = bias.cpu_data()[0] - update_value; + } else { + update_value += momentum * history[0]->cpu_data()[i]; + updated_weights.mutable_cpu_diff()[i] = update_value; + updated_weights.mutable_cpu_data()[i] = + weights.cpu_data()[i] - update_value; + } + } + } + + void CheckLeastSquaresUpdate( + const vector > >& updated_params) { + const int D = channels_ * height_ * width_; + + const Blob& updated_weights = *updated_params[0]; + const Blob& updated_bias = *updated_params[1]; + + Net& net = *this->solver_->net(); + ASSERT_TRUE(net.has_layer("innerprod")); + const vector > >& param_blobs = + net.layer_by_name("innerprod")->blobs(); + ASSERT_EQ(2, param_blobs.size()); + const Blob& solver_updated_weights = *param_blobs[0]; + ASSERT_EQ(D, solver_updated_weights.count()); + const double kPrecision = 1e-3; + const double kMinPrecision = 1e-7; + for (int i = 0; i < D; ++i) { + const Dtype expected_updated_weight = updated_weights.cpu_data()[i]; + const Dtype solver_updated_weight = solver_updated_weights.cpu_data()[i]; + const Dtype error_margin = std::max(kMinPrecision, kPrecision * + std::min(fabs(expected_updated_weight), fabs(solver_updated_weight))); + EXPECT_NEAR(expected_updated_weight, solver_updated_weight, error_margin); + } + const Blob& solver_updated_bias_blob = *param_blobs[1]; + ASSERT_EQ(1, solver_updated_bias_blob.count()); + const Dtype expected_updated_bias = updated_bias.cpu_data()[0]; + const Dtype solver_updated_bias = solver_updated_bias_blob.cpu_data()[0]; + const Dtype error_margin = std::max(kMinPrecision, kPrecision * + std::min(fabs(expected_updated_bias), fabs(solver_updated_bias))); + EXPECT_NEAR(expected_updated_bias, solver_updated_bias, error_margin); + + // Check the solver's history -- should contain the previous update value. + vector > >& history = this->solver_->history(); + ASSERT_EQ(2, history.size()); + for (int i = 0; i < D; ++i) { + const Dtype expected_history = updated_weights.cpu_diff()[i]; + const Dtype solver_history = history[0]->cpu_data()[i]; + const Dtype error_margin_hist = std::max(kMinPrecision, kPrecision * + std::min(fabs(expected_history), fabs(solver_history))); + EXPECT_NEAR(expected_history, solver_history, error_margin_hist); + } + const Dtype expected_history = updated_bias.cpu_diff()[0]; + const Dtype solver_history = history[1]->cpu_data()[0]; + const Dtype error_margin_hist = std::max(kMinPrecision, kPrecision * + std::min(fabs(expected_history), fabs(solver_history))); + EXPECT_NEAR(expected_history, solver_history, error_margin_hist); + } + + // Test that the correct update is computed for a regularized least squares + // problem: + // + // E = (1/(2n)) || X w - y ||^2 + (lambda / 2) || w ||^2 + // \nabla_w E = (1/n) (X^T X w - X^T y) + lambda * w + // + // X \in R^{n x (d+1)} (each example is a row, (d+1)th element is always 1) + // w \in R^{(d+1) x 1} ((d+1)th element is the bias) + // y \in R^{n x 1} + // lambda is weight_decay + // + // TestLeastSquaresUpdate works "inductively", assuming that the solver + // correctly updates the net K (= iter_to_check) times, then given the history + // from the Kth update, we compute the (K+1)th update and check that it + // matches the solver's (K+1)th update. + void TestLeastSquaresUpdate(const Dtype learning_rate = 1.0, + const Dtype weight_decay = 0.0, const Dtype momentum = 0.0, + const int iter_to_check = 0) { + // Initialize the solver and run K (= iter_to_check) solver iterations. + RunLeastSquaresSolver(learning_rate, weight_decay, momentum, iter_to_check); + + // Compute the (K+1)th update using the analytic least squares gradient. + vector > > updated_params; + ComputeLeastSquaresUpdate(learning_rate, weight_decay, momentum, + &updated_params); + + // Reinitialize the solver and run K+1 solver iterations. + RunLeastSquaresSolver(learning_rate, weight_decay, momentum, + iter_to_check + 1); + + // Check that the solver's solution matches ours. + CheckLeastSquaresUpdate(updated_params); + } +}; + +TYPED_TEST_CASE(SGDSolverTest, TestDtypesAndDevices); + +TYPED_TEST(SGDSolverTest, TestLeastSquaresUpdate) { + typedef typename TypeParam::Dtype Dtype; + this->TestLeastSquaresUpdate(); +} + +TYPED_TEST(SGDSolverTest, TestLeastSquaresUpdateLROneTenth) { + typedef typename TypeParam::Dtype Dtype; + const Dtype kLearningRate = 0.1; + this->TestLeastSquaresUpdate(kLearningRate); +} + +TYPED_TEST(SGDSolverTest, TestLeastSquaresUpdateWithWeightDecay) { + typedef typename TypeParam::Dtype Dtype; + const Dtype kLearningRate = 1.0; + const Dtype kWeightDecay = 0.5; + this->TestLeastSquaresUpdate(kLearningRate, kWeightDecay); +} + +TYPED_TEST(SGDSolverTest, TestLeastSquaresUpdateWithMomentum) { + typedef typename TypeParam::Dtype Dtype; + const Dtype kLearningRate = 1.0; + const Dtype kWeightDecay = 0.0; + const Dtype kMomentum = 0.5; + const int kNumIters = 1; + for (int i = 0; i <= kNumIters; ++i) { + this->TestLeastSquaresUpdate(kLearningRate, kWeightDecay, kMomentum, i); + } +} + +TYPED_TEST(SGDSolverTest, TestLeastSquaresUpdateWithMomentumMultiIter) { + typedef typename TypeParam::Dtype Dtype; + const Dtype kLearningRate = 1.0; + const Dtype kWeightDecay = 0.0; + const Dtype kMomentum = 0.5; + const int kNumIters = 5; + for (int i = 0; i <= kNumIters; ++i) { + this->TestLeastSquaresUpdate(kLearningRate, kWeightDecay, kMomentum, i); + } +} + +TYPED_TEST(SGDSolverTest, TestLeastSquaresUpdateWithEverything) { + typedef typename TypeParam::Dtype Dtype; + const Dtype kLearningRate = 0.01; + const Dtype kWeightDecay = 0.1; + const Dtype kMomentum = 0.9; + const int kNumIters = 5; + for (int i = 0; i <= kNumIters; ++i) { + this->TestLeastSquaresUpdate(kLearningRate, kWeightDecay, kMomentum, i); + } +} + +} // namespace caffe From 6786385c82f48ef7c48ad488ab674ff3d750cb26 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 1 Aug 2014 19:42:41 -0700 Subject: [PATCH 379/408] Add "lintclean" target to remove current lint outputs -- forces lint to be run again next time "make lint" is run. --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 62e5158b9bd..84f8db26abb 100644 --- a/Makefile +++ b/Makefile @@ -295,7 +295,7 @@ SUPERCLEAN_EXTS := .so .a .o .bin .testbin .pb.cc .pb.h _pb2.py .cuo ############################## # Define build targets ############################## -.PHONY: all test clean linecount lint tools examples $(DIST_ALIASES) \ +.PHONY: all test clean linecount lint lintclean tools examples $(DIST_ALIASES) \ py mat py$(PROJECT) mat$(PROJECT) proto runtest \ superclean supercleanlist supercleanfiles warn everything @@ -308,6 +308,9 @@ linecount: lint: $(EMPTY_LINT_REPORT) +lintclean: + @ $(RM) -r $(LINT_OUTPUT_DIR) $(EMPTY_LINT_REPORT) $(NONEMPTY_LINT_REPORT) + $(EMPTY_LINT_REPORT): $(LINT_OUTPUTS) | $(BUILD_DIR) @ cat $(LINT_OUTPUTS) > $@ @ if [ -s "$@" ]; then \ From bd288793ff425a6753e9f60b28f7554524f6e63c Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 1 Aug 2014 19:58:56 -0700 Subject: [PATCH 380/408] Enable the 'build/include_alpha' rules to make lint check that the includes are correctly alphabetized. --- scripts/cpp_lint.py | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/cpp_lint.py b/scripts/cpp_lint.py index 76eee4b2dbe..3f0ca1c3527 100755 --- a/scripts/cpp_lint.py +++ b/scripts/cpp_lint.py @@ -210,7 +210,6 @@ # off by default (i.e., categories that must be enabled by the --filter= flags). # All entries here should start with a '-' or '+', as in the --filter= flag. _DEFAULT_FILTERS = [ - '-build/include_alpha', '-build/include_dir', '-readability/todo', ] From 92f00dd3a6a84315a302e09eead55506369c1104 Mon Sep 17 00:00:00 2001 From: Jeff Donahue Date: Fri, 1 Aug 2014 20:14:42 -0700 Subject: [PATCH 381/408] Fix header alphabetization lint errors. --- examples/cifar10/convert_cifar_data.cpp | 10 +++++----- examples/mnist/convert_mnist_data.cpp | 10 +++++----- include/caffe/blob.hpp | 2 +- include/caffe/common_layers.hpp | 4 ++-- include/caffe/data_layers.hpp | 6 +++--- include/caffe/filler.hpp | 4 ++-- include/caffe/loss_layers.hpp | 4 ++-- include/caffe/neuron_layers.hpp | 2 +- include/caffe/test/test_caffe_main.hpp | 2 +- include/caffe/util/io.hpp | 2 +- include/caffe/util/rng.hpp | 8 +++++--- matlab/caffe/matcaffe.cpp | 1 + src/caffe/layer_factory.cpp | 2 +- src/caffe/layers/accuracy_layer.cpp | 4 ++-- src/caffe/layers/concat_layer.cpp | 2 +- src/caffe/layers/concat_layer.cu | 2 +- src/caffe/layers/conv_layer.cpp | 4 ++-- src/caffe/layers/conv_layer.cu | 4 ++-- src/caffe/layers/data_layer.cpp | 4 ++-- src/caffe/layers/data_layer.cu | 8 ++++---- src/caffe/layers/dropout_layer.cpp | 2 +- src/caffe/layers/dropout_layer.cu | 2 +- src/caffe/layers/eltwise_layer.cpp | 2 +- src/caffe/layers/eltwise_layer.cu | 2 +- src/caffe/layers/euclidean_loss_layer.cpp | 4 ++-- src/caffe/layers/euclidean_loss_layer.cu | 4 ++-- src/caffe/layers/flatten_layer.cpp | 2 +- src/caffe/layers/flatten_layer.cu | 2 +- src/caffe/layers/hdf5_data_layer.cpp | 4 ++-- src/caffe/layers/hinge_loss_layer.cpp | 6 +++--- src/caffe/layers/im2col_layer.cpp | 2 +- src/caffe/layers/im2col_layer.cu | 2 +- src/caffe/layers/image_data_layer.cpp | 9 +++------ src/caffe/layers/image_data_layer.cu | 7 ------- src/caffe/layers/infogain_loss_layer.cpp | 6 +++--- src/caffe/layers/inner_product_layer.cpp | 2 +- src/caffe/layers/inner_product_layer.cu | 2 +- src/caffe/layers/loss_layer.cpp | 6 +++--- src/caffe/layers/lrn_layer.cpp | 2 +- src/caffe/layers/lrn_layer.cu | 2 +- src/caffe/layers/multinomial_logistic_loss_layer.cpp | 6 +++--- src/caffe/layers/pooling_layer.cpp | 2 +- src/caffe/layers/pooling_layer.cu | 2 +- src/caffe/layers/power_layer.cpp | 2 +- src/caffe/layers/power_layer.cu | 2 +- src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp | 2 +- src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu | 2 +- src/caffe/layers/slice_layer.cpp | 4 ++-- src/caffe/layers/slice_layer.cu | 2 +- src/caffe/layers/softmax_layer.cpp | 2 +- src/caffe/layers/softmax_layer.cu | 2 +- src/caffe/layers/softmax_loss_layer.cpp | 2 +- src/caffe/layers/softmax_loss_layer.cu | 2 +- src/caffe/layers/split_layer.cpp | 2 +- src/caffe/layers/split_layer.cu | 2 +- src/caffe/layers/window_data_layer.cpp | 6 +++--- src/caffe/layers/window_data_layer.cu | 2 +- src/caffe/net.cpp | 5 +++-- src/caffe/test/test_accuracy_layer.cpp | 3 ++- src/caffe/test/test_argmax_layer.cpp | 2 +- src/caffe/test/test_benchmark.cpp | 4 +++- src/caffe/test/test_blob.cpp | 3 ++- src/caffe/test/test_common.cpp | 2 ++ src/caffe/test/test_concat_layer.cpp | 3 ++- src/caffe/test/test_convolution_layer.cpp | 3 ++- src/caffe/test/test_data_layer.cpp | 5 ++++- src/caffe/test/test_dummy_data_layer.cpp | 4 +++- src/caffe/test/test_eltwise_layer.cpp | 3 ++- src/caffe/test/test_euclidean_loss_layer.cpp | 3 ++- src/caffe/test/test_filler.cpp | 1 + src/caffe/test/test_flatten_layer.cpp | 3 ++- src/caffe/test/test_hdf5_output_layer.cpp | 4 +++- src/caffe/test/test_hdf5data_layer.cpp | 4 +++- src/caffe/test/test_hinge_loss_layer.cpp | 3 ++- src/caffe/test/test_im2col_kernel.cu | 3 ++- src/caffe/test/test_im2col_layer.cpp | 3 ++- src/caffe/test/test_image_data_layer.cpp | 6 ++++-- src/caffe/test/test_infogain_loss_layer.cpp | 3 ++- src/caffe/test/test_inner_product_layer.cpp | 3 ++- src/caffe/test/test_lrn_layer.cpp | 3 ++- src/caffe/test/test_math_functions.cpp | 1 + src/caffe/test/test_maxpool_dropout_layers.cpp | 3 ++- src/caffe/test/test_memory_data_layer.cpp | 1 + .../test/test_multinomial_logistic_loss_layer.cpp | 3 ++- src/caffe/test/test_net.cpp | 5 ++--- src/caffe/test/test_neuron_layer.cpp | 3 ++- src/caffe/test/test_platform.cpp | 3 ++- src/caffe/test/test_pooling_layer.cpp | 3 ++- src/caffe/test/test_power_layer.cpp | 2 +- src/caffe/test/test_protobuf.cpp | 4 +++- src/caffe/test/test_random_number_generator.cpp | 2 ++ src/caffe/test/test_sgd_solver.cpp | 1 + .../test/test_sigmoid_cross_entropy_loss_layer.cpp | 3 ++- src/caffe/test/test_slice_layer.cpp | 3 ++- src/caffe/test/test_softmax_layer.cpp | 3 ++- src/caffe/test/test_softmax_with_loss_layer.cpp | 3 ++- src/caffe/test/test_solver.cpp | 2 +- src/caffe/test/test_split_layer.cpp | 5 +++-- src/caffe/test/test_stochastic_pooling.cpp | 3 ++- src/caffe/test/test_syncedmem.cpp | 1 + src/caffe/test/test_tanh_layer.cpp | 3 ++- src/caffe/test/test_threshold_layer.cpp | 2 +- src/caffe/test/test_upgrade_proto.cpp | 1 + src/caffe/test/test_util_blas.cpp | 1 + src/caffe/util/insert_splits.cpp | 2 +- src/caffe/util/io.cpp | 10 +++++----- src/caffe/util/upgrade_proto.cpp | 6 +++--- tools/dump_network.cpp | 4 ++-- tools/extract_features.cpp | 11 ++++++----- tools/test_net.cpp | 2 +- tools/upgrade_net_proto_binary.cpp | 2 +- tools/upgrade_net_proto_text.cpp | 2 +- 112 files changed, 210 insertions(+), 165 deletions(-) diff --git a/examples/cifar10/convert_cifar_data.cpp b/examples/cifar10/convert_cifar_data.cpp index 8e223b212ad..d1f3f3e0e9f 100644 --- a/examples/cifar10/convert_cifar_data.cpp +++ b/examples/cifar10/convert_cifar_data.cpp @@ -7,14 +7,14 @@ // The CIFAR dataset could be downloaded at // http://www.cs.toronto.edu/~kriz/cifar.html -#include -#include -#include - -#include #include // NOLINT(readability/streams) #include +#include "glog/logging.h" +#include "google/protobuf/text_format.h" +#include "leveldb/db.h" +#include "stdint.h" + #include "caffe/proto/caffe.pb.h" using std::string; diff --git a/examples/mnist/convert_mnist_data.cpp b/examples/mnist/convert_mnist_data.cpp index 593a2d23313..c2cf4b3af33 100644 --- a/examples/mnist/convert_mnist_data.cpp +++ b/examples/mnist/convert_mnist_data.cpp @@ -7,14 +7,14 @@ // The MNIST dataset could be downloaded at // http://yann.lecun.com/exdb/mnist/ -#include -#include -#include - -#include #include // NOLINT(readability/streams) #include +#include "glog/logging.h" +#include "google/protobuf/text_format.h" +#include "leveldb/db.h" +#include "stdint.h" + #include "caffe/proto/caffe.pb.h" uint32_t swap_endian(uint32_t val) { diff --git a/include/caffe/blob.hpp b/include/caffe/blob.hpp index ab7a0f60f80..2086c5119bc 100644 --- a/include/caffe/blob.hpp +++ b/include/caffe/blob.hpp @@ -4,8 +4,8 @@ #define CAFFE_BLOB_HPP_ #include "caffe/common.hpp" -#include "caffe/syncedmem.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/syncedmem.hpp" #include "caffe/util/math_functions.hpp" namespace caffe { diff --git a/include/caffe/common_layers.hpp b/include/caffe/common_layers.hpp index 5d872452ae2..ed11487c6f3 100644 --- a/include/caffe/common_layers.hpp +++ b/include/caffe/common_layers.hpp @@ -9,10 +9,10 @@ #include "caffe/blob.hpp" #include "caffe/common.hpp" +#include "caffe/data_layers.hpp" #include "caffe/layer.hpp" -#include "caffe/neuron_layers.hpp" #include "caffe/loss_layers.hpp" -#include "caffe/data_layers.hpp" +#include "caffe/neuron_layers.hpp" #include "caffe/proto/caffe.pb.h" namespace caffe { diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index 107d7800d1e..f868b2869da 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -7,17 +7,17 @@ #include #include +#include "boost/scoped_ptr.hpp" +#include "hdf5.h" #include "leveldb/db.h" #include "lmdb.h" -#include "hdf5.h" -#include "boost/scoped_ptr.hpp" #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" +#include "caffe/internal_thread.hpp" #include "caffe/layer.hpp" #include "caffe/proto/caffe.pb.h" -#include "caffe/internal_thread.hpp" namespace caffe { diff --git a/include/caffe/filler.hpp b/include/caffe/filler.hpp index 242f11a3513..beeee01dcb9 100644 --- a/include/caffe/filler.hpp +++ b/include/caffe/filler.hpp @@ -9,11 +9,11 @@ #include -#include "caffe/common.hpp" #include "caffe/blob.hpp" +#include "caffe/common.hpp" +#include "caffe/proto/caffe.pb.h" #include "caffe/syncedmem.hpp" #include "caffe/util/math_functions.hpp" -#include "caffe/proto/caffe.pb.h" namespace caffe { diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index fb7f5539674..73a677b624a 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -7,10 +7,10 @@ #include #include -#include "leveldb/db.h" -#include "pthread.h" #include "boost/scoped_ptr.hpp" #include "hdf5.h" +#include "leveldb/db.h" +#include "pthread.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index 8f0588d4771..4b3f6f4394d 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -7,9 +7,9 @@ #include #include -#include "pthread.h" #include "boost/scoped_ptr.hpp" #include "hdf5.h" +#include "pthread.h" #include "caffe/blob.hpp" #include "caffe/common.hpp" diff --git a/include/caffe/test/test_caffe_main.hpp b/include/caffe/test/test_caffe_main.hpp index 9e7b85944da..759e01a2629 100644 --- a/include/caffe/test/test_caffe_main.hpp +++ b/include/caffe/test/test_caffe_main.hpp @@ -8,8 +8,8 @@ #include #include -#include #include +#include #include "caffe/common.hpp" diff --git a/include/caffe/util/io.hpp b/include/caffe/util/io.hpp index 631dbe7ca64..4f517ff1d71 100644 --- a/include/caffe/util/io.hpp +++ b/include/caffe/util/io.hpp @@ -8,9 +8,9 @@ #include "google/protobuf/message.h" #include "hdf5.h" #include "hdf5_hl.h" -#include "caffe/proto/caffe.pb.h" #include "caffe/blob.hpp" +#include "caffe/proto/caffe.pb.h" #define HDF5_NUM_DIMS 4 diff --git a/include/caffe/util/rng.hpp b/include/caffe/util/rng.hpp index 2b79ef1801b..f774d704569 100644 --- a/include/caffe/util/rng.hpp +++ b/include/caffe/util/rng.hpp @@ -3,10 +3,12 @@ #ifndef CAFFE_RNG_CPP_HPP_ #define CAFFE_RNG_CPP_HPP_ -#include -#include -#include #include +#include + +#include "boost/random/mersenne_twister.hpp" +#include "boost/random/uniform_int.hpp" + #include "caffe/common.hpp" namespace caffe { diff --git a/matlab/caffe/matcaffe.cpp b/matlab/caffe/matcaffe.cpp index 2aad3192a65..d0e98f8319d 100644 --- a/matlab/caffe/matcaffe.cpp +++ b/matlab/caffe/matcaffe.cpp @@ -8,6 +8,7 @@ #include #include "mex.h" + #include "caffe/caffe.hpp" #define MEX_ARGS int nlhs, mxArray **plhs, int nrhs, const mxArray **prhs diff --git a/src/caffe/layer_factory.cpp b/src/caffe/layer_factory.cpp index de960214153..1165abc6da8 100644 --- a/src/caffe/layer_factory.cpp +++ b/src/caffe/layer_factory.cpp @@ -6,8 +6,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index 7c913114abc..f99b01dc105 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -6,9 +6,9 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" +#include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/concat_layer.cpp b/src/caffe/layers/concat_layer.cpp index dd899a57c85..32203a8d980 100644 --- a/src/caffe/layers/concat_layer.cpp +++ b/src/caffe/layers/concat_layer.cpp @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/concat_layer.cu b/src/caffe/layers/concat_layer.cu index 2643d7441c8..1a97f02a62a 100644 --- a/src/caffe/layers/concat_layer.cu +++ b/src/caffe/layers/concat_layer.cu @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index c7949e049cd..ca63e976e80 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -2,11 +2,11 @@ #include +#include "caffe/filler.hpp" #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/im2col.hpp" -#include "caffe/filler.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index fc114b0b328..616a81a1388 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -2,11 +2,11 @@ #include +#include "caffe/filler.hpp" #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/im2col.hpp" -#include "caffe/filler.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index ef27c1a3f1f..ddc7f770b46 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -1,17 +1,17 @@ // Copyright 2014 BVLC and contributors. -#include #include +#include #include #include #include "caffe/layer.hpp" +#include "caffe/proto/caffe.pb.h" #include "caffe/util/io.hpp" #include "caffe/util/math_functions.hpp" #include "caffe/util/rng.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/proto/caffe.pb.h" namespace caffe { diff --git a/src/caffe/layers/data_layer.cu b/src/caffe/layers/data_layer.cu index e275e9d913e..fcbf2346840 100644 --- a/src/caffe/layers/data_layer.cu +++ b/src/caffe/layers/data_layer.cu @@ -1,12 +1,12 @@ // Copyright 2014 BVLC and contributors. -#include -#include -#include - #include #include +#include "leveldb/db.h" +#include "pthread.h" +#include "stdint.h" + #include "caffe/layer.hpp" #include "caffe/util/io.hpp" #include "caffe/vision_layers.hpp" diff --git a/src/caffe/layers/dropout_layer.cpp b/src/caffe/layers/dropout_layer.cpp index 65360d67ada..605aa151196 100644 --- a/src/caffe/layers/dropout_layer.cpp +++ b/src/caffe/layers/dropout_layer.cpp @@ -5,9 +5,9 @@ #include #include "caffe/common.hpp" -#include "caffe/util/math_functions.hpp" #include "caffe/layer.hpp" #include "caffe/syncedmem.hpp" +#include "caffe/util/math_functions.hpp" #include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index 158456f9bc5..8befa4d87fb 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -7,8 +7,8 @@ #include "caffe/common.hpp" #include "caffe/layer.hpp" #include "caffe/syncedmem.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index 44bad932a11..09ca66f38e8 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/eltwise_layer.cu b/src/caffe/layers/eltwise_layer.cu index 99c14feace1..d47d24afad7 100644 --- a/src/caffe/layers/eltwise_layer.cu +++ b/src/caffe/layers/eltwise_layer.cu @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/euclidean_loss_layer.cpp b/src/caffe/layers/euclidean_loss_layer.cpp index 43e9989f513..2a814f0150a 100644 --- a/src/caffe/layers/euclidean_loss_layer.cpp +++ b/src/caffe/layers/euclidean_loss_layer.cpp @@ -3,9 +3,9 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" +#include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/euclidean_loss_layer.cu b/src/caffe/layers/euclidean_loss_layer.cu index b070ea96ff8..e1358f0fb51 100644 --- a/src/caffe/layers/euclidean_loss_layer.cu +++ b/src/caffe/layers/euclidean_loss_layer.cu @@ -3,9 +3,9 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" +#include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/flatten_layer.cpp b/src/caffe/layers/flatten_layer.cpp index 7e106d26f79..f1fdd322eb4 100644 --- a/src/caffe/layers/flatten_layer.cpp +++ b/src/caffe/layers/flatten_layer.cpp @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/flatten_layer.cu b/src/caffe/layers/flatten_layer.cu index 68add383c48..60b67f06e05 100644 --- a/src/caffe/layers/flatten_layer.cu +++ b/src/caffe/layers/flatten_layer.cu @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/hdf5_data_layer.cpp b/src/caffe/layers/hdf5_data_layer.cpp index 81cfdc096df..38b2b8d23f3 100644 --- a/src/caffe/layers/hdf5_data_layer.cpp +++ b/src/caffe/layers/hdf5_data_layer.cpp @@ -7,13 +7,13 @@ :: don't forget to update hdf5_daa_layer.cu accordingly - add ability to shuffle filenames if flag is set */ -#include +#include // NOLINT(readability/streams) #include #include -#include // NOLINT(readability/streams) #include "hdf5.h" #include "hdf5_hl.h" +#include "stdint.h" #include "caffe/layer.hpp" #include "caffe/util/io.hpp" diff --git a/src/caffe/layers/hinge_loss_layer.cpp b/src/caffe/layers/hinge_loss_layer.cpp index 91fe1534da9..a7ec061eb28 100644 --- a/src/caffe/layers/hinge_loss_layer.cpp +++ b/src/caffe/layers/hinge_loss_layer.cpp @@ -1,14 +1,14 @@ // Copyright 2014 BVLC and contributors. #include -#include #include +#include #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" +#include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/im2col_layer.cpp b/src/caffe/layers/im2col_layer.cpp index fabce0a6ad6..fb3dad43844 100644 --- a/src/caffe/layers/im2col_layer.cpp +++ b/src/caffe/layers/im2col_layer.cpp @@ -2,10 +2,10 @@ #include +#include "caffe/common.hpp" #include "caffe/layer.hpp" #include "caffe/util/im2col.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/common.hpp" namespace caffe { diff --git a/src/caffe/layers/im2col_layer.cu b/src/caffe/layers/im2col_layer.cu index 84439742250..c9802541aaa 100644 --- a/src/caffe/layers/im2col_layer.cu +++ b/src/caffe/layers/im2col_layer.cu @@ -2,10 +2,10 @@ #include +#include "caffe/common.hpp" #include "caffe/layer.hpp" #include "caffe/util/im2col.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/common.hpp" namespace caffe { diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index a0f91af29fa..a10f02c37a8 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -1,13 +1,10 @@ // Copyright 2014 BVLC and contributors. -#include -#include - -#include -#include -#include // NOLINT(readability/streams) #include // NOLINT(readability/streams) +#include // NOLINT(readability/streams) +#include #include +#include #include "caffe/layer.hpp" #include "caffe/util/io.hpp" diff --git a/src/caffe/layers/image_data_layer.cu b/src/caffe/layers/image_data_layer.cu index fc7e13b338a..8a449d010e2 100644 --- a/src/caffe/layers/image_data_layer.cu +++ b/src/caffe/layers/image_data_layer.cu @@ -1,13 +1,6 @@ // Copyright 2014 BVLC and contributors. -#include -#include -#include - -#include #include -#include // NOLINT(readability/streams) -#include // NOLINT(readability/streams) #include "caffe/blob.hpp" #include "caffe/common.hpp" diff --git a/src/caffe/layers/infogain_loss_layer.cpp b/src/caffe/layers/infogain_loss_layer.cpp index 4b02f4e61db..c972c032607 100644 --- a/src/caffe/layers/infogain_loss_layer.cpp +++ b/src/caffe/layers/infogain_loss_layer.cpp @@ -1,14 +1,14 @@ // Copyright 2014 BVLC and contributors. #include -#include #include +#include #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" +#include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/inner_product_layer.cpp b/src/caffe/layers/inner_product_layer.cpp index 5505d08587a..6493d0bd497 100644 --- a/src/caffe/layers/inner_product_layer.cpp +++ b/src/caffe/layers/inner_product_layer.cpp @@ -6,8 +6,8 @@ #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/inner_product_layer.cu b/src/caffe/layers/inner_product_layer.cu index 513e4eb7fa8..4b670d644c2 100644 --- a/src/caffe/layers/inner_product_layer.cu +++ b/src/caffe/layers/inner_product_layer.cu @@ -6,8 +6,8 @@ #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index 92eb06f7b0c..656e85a75d8 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -1,14 +1,14 @@ // Copyright 2014 BVLC and contributors. #include -#include #include +#include #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" +#include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/lrn_layer.cpp b/src/caffe/layers/lrn_layer.cpp index 0e2df2ff4bb..50ad6464449 100644 --- a/src/caffe/layers/lrn_layer.cpp +++ b/src/caffe/layers/lrn_layer.cpp @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/lrn_layer.cu b/src/caffe/layers/lrn_layer.cu index 237a42b2860..7a19350549c 100644 --- a/src/caffe/layers/lrn_layer.cu +++ b/src/caffe/layers/lrn_layer.cu @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/multinomial_logistic_loss_layer.cpp b/src/caffe/layers/multinomial_logistic_loss_layer.cpp index beea747c31b..e5eafd65078 100644 --- a/src/caffe/layers/multinomial_logistic_loss_layer.cpp +++ b/src/caffe/layers/multinomial_logistic_loss_layer.cpp @@ -1,14 +1,14 @@ // Copyright 2014 BVLC and contributors. #include -#include #include +#include #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/util/math_functions.hpp" #include "caffe/util/io.hpp" +#include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 9415a15a094..75a74dac9ec 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -6,9 +6,9 @@ #include "caffe/common.hpp" #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/syncedmem.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index efa1aaa2ab1..6f3a7205091 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -5,8 +5,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/power_layer.cpp b/src/caffe/layers/power_layer.cpp index 55ace207b7a..86cb3d76291 100644 --- a/src/caffe/layers/power_layer.cpp +++ b/src/caffe/layers/power_layer.cpp @@ -4,8 +4,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/power_layer.cu b/src/caffe/layers/power_layer.cu index 0aa00272eea..db88fee8f3b 100644 --- a/src/caffe/layers/power_layer.cu +++ b/src/caffe/layers/power_layer.cu @@ -4,8 +4,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp index 31522dd1fe6..2bf931d004b 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp @@ -5,8 +5,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu index 1d1f8cd51ff..698ec1dbde1 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu @@ -5,8 +5,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/slice_layer.cpp b/src/caffe/layers/slice_layer.cpp index e8231e357d9..fc86a2d4307 100644 --- a/src/caffe/layers/slice_layer.cpp +++ b/src/caffe/layers/slice_layer.cpp @@ -1,11 +1,11 @@ // Copyright 2014 BVLC and contributors. -#include #include +#include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/slice_layer.cu b/src/caffe/layers/slice_layer.cu index 3ea8d57659d..70702148f5d 100644 --- a/src/caffe/layers/slice_layer.cu +++ b/src/caffe/layers/slice_layer.cu @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/softmax_layer.cpp b/src/caffe/layers/softmax_layer.cpp index 0de1403585a..6a98b320208 100644 --- a/src/caffe/layers/softmax_layer.cpp +++ b/src/caffe/layers/softmax_layer.cpp @@ -4,8 +4,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/softmax_layer.cu b/src/caffe/layers/softmax_layer.cu index d471ba51cd0..6d65fbce957 100644 --- a/src/caffe/layers/softmax_layer.cu +++ b/src/caffe/layers/softmax_layer.cu @@ -7,8 +7,8 @@ #include "thrust/device_vector.h" #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index 4e957cee9b4..43e8fcac44c 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -5,8 +5,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/softmax_loss_layer.cu b/src/caffe/layers/softmax_loss_layer.cu index ae7060d90bd..f55b8c7adf3 100644 --- a/src/caffe/layers/softmax_loss_layer.cu +++ b/src/caffe/layers/softmax_loss_layer.cu @@ -5,8 +5,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/split_layer.cpp b/src/caffe/layers/split_layer.cpp index 6bae4ef22fb..d13b8d12358 100644 --- a/src/caffe/layers/split_layer.cpp +++ b/src/caffe/layers/split_layer.cpp @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/split_layer.cu b/src/caffe/layers/split_layer.cu index 4c921d39f17..a89c5d61883 100644 --- a/src/caffe/layers/split_layer.cu +++ b/src/caffe/layers/split_layer.cu @@ -3,8 +3,8 @@ #include #include "caffe/layer.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/math_functions.hpp" +#include "caffe/vision_layers.hpp" namespace caffe { diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index fe7f61c91df..cbd269685ce 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -5,11 +5,11 @@ #include #include -#include -#include -#include #include // NOLINT(readability/streams) +#include +#include #include +#include #include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" diff --git a/src/caffe/layers/window_data_layer.cu b/src/caffe/layers/window_data_layer.cu index d95e5b20e88..5efcc3f4adc 100644 --- a/src/caffe/layers/window_data_layer.cu +++ b/src/caffe/layers/window_data_layer.cu @@ -2,8 +2,8 @@ // // Based on data_layer.cpp by Yangqing Jia. -#include #include +#include #include #include diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index b80bbba8479..6fab0e3a6b4 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -7,14 +7,15 @@ #include #include "caffe/common.hpp" -#include "caffe/proto/caffe.pb.h" #include "caffe/layer.hpp" #include "caffe/net.hpp" -#include "caffe/util/io.hpp" +#include "caffe/proto/caffe.pb.h" #include "caffe/util/insert_splits.hpp" +#include "caffe/util/io.hpp" #include "caffe/util/math_functions.hpp" #include "caffe/util/upgrade_proto.hpp" +#include "caffe/test/test_caffe_main.hpp" namespace caffe { diff --git a/src/caffe/test/test_accuracy_layer.cpp b/src/caffe/test/test_accuracy_layer.cpp index 5023a809d17..95217df3f1f 100644 --- a/src/caffe/test/test_accuracy_layer.cpp +++ b/src/caffe/test/test_accuracy_layer.cpp @@ -1,11 +1,12 @@ // Copyright 2014 BVLC and contributors. +#include #include #include -#include #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index 51d68c42f9a..3f55edaac22 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -4,11 +4,11 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" diff --git a/src/caffe/test/test_benchmark.cpp b/src/caffe/test/test_benchmark.cpp index fe0cc82a1d8..e6d9ebf9a05 100644 --- a/src/caffe/test/test_benchmark.cpp +++ b/src/caffe/test/test_benchmark.cpp @@ -1,10 +1,12 @@ // Copyright 2014 BVLC and contributors. #include // for usleep -#include + +#include "gtest/gtest.h" #include "caffe/common.hpp" #include "caffe/util/benchmark.hpp" + #include "caffe/test/test_caffe_main.hpp" namespace caffe { diff --git a/src/caffe/test/test_blob.cpp b/src/caffe/test/test_blob.cpp index aec88f322e6..89f4a161c9c 100644 --- a/src/caffe/test/test_blob.cpp +++ b/src/caffe/test/test_blob.cpp @@ -3,8 +3,9 @@ #include #include "gtest/gtest.h" -#include "caffe/common.hpp" + #include "caffe/blob.hpp" +#include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/test/test_caffe_main.hpp" diff --git a/src/caffe/test/test_common.cpp b/src/caffe/test/test_common.cpp index a8e2eb15270..455f5d8a32d 100644 --- a/src/caffe/test/test_common.cpp +++ b/src/caffe/test/test_common.cpp @@ -3,9 +3,11 @@ #include #include "gtest/gtest.h" + #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" #include "caffe/util/math_functions.hpp" + #include "caffe/test/test_caffe_main.hpp" namespace caffe { diff --git a/src/caffe/test/test_concat_layer.cpp b/src/caffe/test/test_concat_layer.cpp index 4cb28b1e24e..b07c5727a79 100644 --- a/src/caffe/test/test_concat_layer.cpp +++ b/src/caffe/test/test_concat_layer.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_convolution_layer.cpp b/src/caffe/test/test_convolution_layer.cpp index f3cfb680990..41951cfb940 100644 --- a/src/caffe/test/test_convolution_layer.cpp +++ b/src/caffe/test/test_convolution_layer.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_data_layer.cpp b/src/caffe/test/test_data_layer.cpp index ed7337c5eca..be478b2746c 100644 --- a/src/caffe/test/test_data_layer.cpp +++ b/src/caffe/test/test_data_layer.cpp @@ -4,12 +4,15 @@ #include #include "leveldb/db.h" + #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/vision_layers.hpp" + #include "caffe/test/test_caffe_main.hpp" using std::string; diff --git a/src/caffe/test/test_dummy_data_layer.cpp b/src/caffe/test/test_dummy_data_layer.cpp index 5b5f2025737..aa6cc55364e 100644 --- a/src/caffe/test/test_dummy_data_layer.cpp +++ b/src/caffe/test/test_dummy_data_layer.cpp @@ -4,10 +4,12 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/vision_layers.hpp" + #include "caffe/test/test_caffe_main.hpp" using std::string; diff --git a/src/caffe/test/test_eltwise_layer.cpp b/src/caffe/test/test_eltwise_layer.cpp index 53bff96ed6d..fe3269bb3a2 100644 --- a/src/caffe/test/test_eltwise_layer.cpp +++ b/src/caffe/test/test_eltwise_layer.cpp @@ -3,13 +3,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_euclidean_loss_layer.cpp b/src/caffe/test/test_euclidean_loss_layer.cpp index dd27670da13..6dd631e55e8 100644 --- a/src/caffe/test/test_euclidean_loss_layer.cpp +++ b/src/caffe/test/test_euclidean_loss_layer.cpp @@ -6,13 +6,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_filler.cpp b/src/caffe/test/test_filler.cpp index 1b145f2418e..d0d750fff47 100644 --- a/src/caffe/test/test_filler.cpp +++ b/src/caffe/test/test_filler.cpp @@ -3,6 +3,7 @@ #include #include "gtest/gtest.h" + #include "caffe/filler.hpp" #include "caffe/test/test_caffe_main.hpp" diff --git a/src/caffe/test/test_flatten_layer.cpp b/src/caffe/test/test_flatten_layer.cpp index bea099b1f92..928db849296 100644 --- a/src/caffe/test/test_flatten_layer.cpp +++ b/src/caffe/test/test_flatten_layer.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_hdf5_output_layer.cpp b/src/caffe/test/test_hdf5_output_layer.cpp index ec48fc4fc32..a36a8cbd9a8 100644 --- a/src/caffe/test/test_hdf5_output_layer.cpp +++ b/src/caffe/test/test_hdf5_output_layer.cpp @@ -4,11 +4,13 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" +#include "caffe/proto/caffe.pb.h" #include "caffe/util/io.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/proto/caffe.pb.h" + #include "caffe/test/test_caffe_main.hpp" using std::string; diff --git a/src/caffe/test/test_hdf5data_layer.cpp b/src/caffe/test/test_hdf5data_layer.cpp index f3d7c8c6974..1f3bf9f3cd0 100644 --- a/src/caffe/test/test_hdf5data_layer.cpp +++ b/src/caffe/test/test_hdf5data_layer.cpp @@ -6,11 +6,13 @@ #include "leveldb/db.h" #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/vision_layers.hpp" + #include "caffe/test/test_caffe_main.hpp" using std::string; diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index 84374e9579a..c6be1d73262 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -6,13 +6,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_im2col_kernel.cu b/src/caffe/test/test_im2col_kernel.cu index 37d1a1523af..89008ac7e39 100644 --- a/src/caffe/test/test_im2col_kernel.cu +++ b/src/caffe/test/test_im2col_kernel.cu @@ -4,11 +4,12 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/util/im2col.hpp" +#include "caffe/vision_layers.hpp" #include "caffe/test/test_caffe_main.hpp" diff --git a/src/caffe/test/test_im2col_layer.cpp b/src/caffe/test/test_im2col_layer.cpp index aaee3d81bf7..6884b059fde 100644 --- a/src/caffe/test/test_im2col_layer.cpp +++ b/src/caffe/test/test_im2col_layer.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_image_data_layer.cpp b/src/caffe/test/test_image_data_layer.cpp index ae9a2dbc17d..bbeedb8dce5 100644 --- a/src/caffe/test/test_image_data_layer.cpp +++ b/src/caffe/test/test_image_data_layer.cpp @@ -1,17 +1,19 @@ // Copyright 2014 BVLC and contributors. -#include // NOLINT(readability/streams) #include // NOLINT(readability/streams) +#include // NOLINT(readability/streams) #include #include #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/vision_layers.hpp" + #include "caffe/test/test_caffe_main.hpp" using std::map; diff --git a/src/caffe/test/test_infogain_loss_layer.cpp b/src/caffe/test/test_infogain_loss_layer.cpp index 99bad263e88..7b3705084a5 100644 --- a/src/caffe/test/test_infogain_loss_layer.cpp +++ b/src/caffe/test/test_infogain_loss_layer.cpp @@ -6,13 +6,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/loss_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_inner_product_layer.cpp b/src/caffe/test/test_inner_product_layer.cpp index de194f2d63f..31d87afc7ce 100644 --- a/src/caffe/test/test_inner_product_layer.cpp +++ b/src/caffe/test/test_inner_product_layer.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_lrn_layer.cpp b/src/caffe/test/test_lrn_layer.cpp index 5bd5533f955..fbb03dfecb5 100644 --- a/src/caffe/test/test_lrn_layer.cpp +++ b/src/caffe/test/test_lrn_layer.cpp @@ -5,13 +5,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" using std::min; using std::max; diff --git a/src/caffe/test/test_math_functions.cpp b/src/caffe/test/test_math_functions.cpp index 502b77e07a8..c89ca027adf 100644 --- a/src/caffe/test/test_math_functions.cpp +++ b/src/caffe/test/test_math_functions.cpp @@ -7,6 +7,7 @@ #include // for rand_r #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" diff --git a/src/caffe/test/test_maxpool_dropout_layers.cpp b/src/caffe/test/test_maxpool_dropout_layers.cpp index 733bbf4ad1f..e939d0c6e11 100644 --- a/src/caffe/test/test_maxpool_dropout_layers.cpp +++ b/src/caffe/test/test_maxpool_dropout_layers.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_memory_data_layer.cpp b/src/caffe/test/test_memory_data_layer.cpp index c9d588986c2..60e75ebbc1a 100644 --- a/src/caffe/test/test_memory_data_layer.cpp +++ b/src/caffe/test/test_memory_data_layer.cpp @@ -4,6 +4,7 @@ #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" + #include "caffe/test/test_caffe_main.hpp" namespace caffe { diff --git a/src/caffe/test/test_multinomial_logistic_loss_layer.cpp b/src/caffe/test/test_multinomial_logistic_loss_layer.cpp index ec53d40e53e..9b6bb067805 100644 --- a/src/caffe/test/test_multinomial_logistic_loss_layer.cpp +++ b/src/caffe/test/test_multinomial_logistic_loss_layer.cpp @@ -6,13 +6,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index a0a387929be..6787ba956ec 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -7,14 +7,13 @@ #include "google/protobuf/text_format.h" #include "gtest/gtest.h" + #include "caffe/common.hpp" #include "caffe/net.hpp" #include "caffe/util/math_functions.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" - -using std::ostringstream; +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index b3a536a7bfd..59c9b3d34f5 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_platform.cpp b/src/caffe/test/test_platform.cpp index e1c4dafc7bb..a4f4b4260c4 100644 --- a/src/caffe/test/test_platform.cpp +++ b/src/caffe/test/test_platform.cpp @@ -2,11 +2,12 @@ #ifndef CPU_ONLY -#include #include +#include #include "glog/logging.h" #include "gtest/gtest.h" + #include "caffe/test/test_caffe_main.hpp" namespace caffe { diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index b9cec54af39..4636dd773a4 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_power_layer.cpp b/src/caffe/test/test_power_layer.cpp index 44fcbd9117c..e35d539b776 100644 --- a/src/caffe/test/test_power_layer.cpp +++ b/src/caffe/test/test_power_layer.cpp @@ -9,9 +9,9 @@ #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_protobuf.cpp b/src/caffe/test/test_protobuf.cpp index 182af2e4611..da1a0d3f5eb 100644 --- a/src/caffe/test/test_protobuf.cpp +++ b/src/caffe/test/test_protobuf.cpp @@ -6,9 +6,11 @@ #include "google/protobuf/text_format.h" #include "gtest/gtest.h" -#include "caffe/test/test_caffe_main.hpp" + #include "caffe/proto/caffe.pb.h" +#include "caffe/test/test_caffe_main.hpp" + namespace caffe { class ProtoTest : public ::testing::Test {}; diff --git a/src/caffe/test/test_random_number_generator.cpp b/src/caffe/test/test_random_number_generator.cpp index abe21c2523e..8e3919157af 100644 --- a/src/caffe/test/test_random_number_generator.cpp +++ b/src/caffe/test/test_random_number_generator.cpp @@ -4,9 +4,11 @@ #include #include "gtest/gtest.h" + #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" #include "caffe/util/math_functions.hpp" + #include "caffe/test/test_caffe_main.hpp" namespace caffe { diff --git a/src/caffe/test/test_sgd_solver.cpp b/src/caffe/test/test_sgd_solver.cpp index a28ed7b1817..14dcac25e8e 100644 --- a/src/caffe/test/test_sgd_solver.cpp +++ b/src/caffe/test/test_sgd_solver.cpp @@ -8,6 +8,7 @@ #include "google/protobuf/text_format.h" #include "gtest/gtest.h" + #include "caffe/common.hpp" #include "caffe/proto/caffe.pb.h" #include "caffe/solver.hpp" diff --git a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp index a5388db092f..7205ce9311b 100644 --- a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp @@ -6,13 +6,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_slice_layer.cpp b/src/caffe/test/test_slice_layer.cpp index 59f6a8d4c66..e61f3e4f2c9 100644 --- a/src/caffe/test/test_slice_layer.cpp +++ b/src/caffe/test/test_slice_layer.cpp @@ -4,13 +4,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_softmax_layer.cpp b/src/caffe/test/test_softmax_layer.cpp index fa899f92db3..a305c647585 100644 --- a/src/caffe/test/test_softmax_layer.cpp +++ b/src/caffe/test/test_softmax_layer.cpp @@ -5,13 +5,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_softmax_with_loss_layer.cpp b/src/caffe/test/test_softmax_with_loss_layer.cpp index 6f45c3889c2..2994a9117af 100644 --- a/src/caffe/test/test_softmax_with_loss_layer.cpp +++ b/src/caffe/test/test_softmax_with_loss_layer.cpp @@ -6,13 +6,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_solver.cpp b/src/caffe/test/test_solver.cpp index feefb51210a..133d01c5446 100644 --- a/src/caffe/test/test_solver.cpp +++ b/src/caffe/test/test_solver.cpp @@ -5,8 +5,8 @@ #include #include "google/protobuf/text_format.h" - #include "gtest/gtest.h" + #include "caffe/common.hpp" #include "caffe/proto/caffe.pb.h" #include "caffe/solver.hpp" diff --git a/src/caffe/test/test_split_layer.cpp b/src/caffe/test/test_split_layer.cpp index bbee6d28855..a4e5857877e 100644 --- a/src/caffe/test/test_split_layer.cpp +++ b/src/caffe/test/test_split_layer.cpp @@ -6,14 +6,15 @@ #include "google/protobuf/text_format.h" #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" -#include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/util/insert_splits.hpp" +#include "caffe/vision_layers.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_stochastic_pooling.cpp b/src/caffe/test/test_stochastic_pooling.cpp index 66e9b2d7d88..600b909a638 100644 --- a/src/caffe/test/test_stochastic_pooling.cpp +++ b/src/caffe/test/test_stochastic_pooling.cpp @@ -5,13 +5,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" using std::min; diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index f07682a2aa5..5ccc480112d 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -4,6 +4,7 @@ #include #include "gtest/gtest.h" + #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" #include "caffe/util/device_alternate.hpp" diff --git a/src/caffe/test/test_tanh_layer.cpp b/src/caffe/test/test_tanh_layer.cpp index 7fc443f6d6d..1dac5a57043 100644 --- a/src/caffe/test/test_tanh_layer.cpp +++ b/src/caffe/test/test_tanh_layer.cpp @@ -6,13 +6,14 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" +#include "caffe/test/test_gradient_check_util.hpp" namespace caffe { diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index 7006dd11880..b06d697ab0b 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -3,11 +3,11 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/filler.hpp" #include "caffe/vision_layers.hpp" -#include "caffe/test/test_gradient_check_util.hpp" #include "caffe/test/test_caffe_main.hpp" diff --git a/src/caffe/test/test_upgrade_proto.cpp b/src/caffe/test/test_upgrade_proto.cpp index 72ee838931d..a16b835f864 100644 --- a/src/caffe/test/test_upgrade_proto.cpp +++ b/src/caffe/test/test_upgrade_proto.cpp @@ -6,6 +6,7 @@ #include "google/protobuf/text_format.h" #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/util/upgrade_proto.hpp" diff --git a/src/caffe/test/test_util_blas.cpp b/src/caffe/test/test_util_blas.cpp index d74f9f017ee..841edefc66c 100644 --- a/src/caffe/test/test_util_blas.cpp +++ b/src/caffe/test/test_util_blas.cpp @@ -5,6 +5,7 @@ #include #include "gtest/gtest.h" + #include "caffe/blob.hpp" #include "caffe/util/device_alternate.hpp" #include "caffe/util/math_functions.hpp" diff --git a/src/caffe/util/insert_splits.cpp b/src/caffe/util/insert_splits.cpp index 4de546810e5..b88b320ff3d 100644 --- a/src/caffe/util/insert_splits.cpp +++ b/src/caffe/util/insert_splits.cpp @@ -1,8 +1,8 @@ // Copyright 2014 BVLC and contributors. #include -#include #include +#include #include #include "caffe/common.hpp" diff --git a/src/caffe/util/io.cpp b/src/caffe/util/io.cpp index 4f200474459..575ea3d63c2 100644 --- a/src/caffe/util/io.cpp +++ b/src/caffe/util/io.cpp @@ -1,23 +1,23 @@ // Copyright 2014 BVLC and contributors. -#include #include -#include -#include #include +#include +#include #include #include #include #include +#include #include +#include // NOLINT(readability/streams) #include #include -#include // NOLINT(readability/streams) #include "caffe/common.hpp" -#include "caffe/util/io.hpp" #include "caffe/proto/caffe.pb.h" +#include "caffe/util/io.hpp" namespace caffe { diff --git a/src/caffe/util/upgrade_proto.cpp b/src/caffe/util/upgrade_proto.cpp index e1a48f194e1..a6e9c404df7 100644 --- a/src/caffe/util/upgrade_proto.cpp +++ b/src/caffe/util/upgrade_proto.cpp @@ -1,16 +1,16 @@ // Copyright 2014 BVLC and contributors. -#include -#include #include +#include +#include #include #include #include "caffe/common.hpp" +#include "caffe/proto/caffe.pb.h" #include "caffe/util/io.hpp" #include "caffe/util/upgrade_proto.hpp" -#include "caffe/proto/caffe.pb.h" namespace caffe { diff --git a/tools/dump_network.cpp b/tools/dump_network.cpp index c5aac604079..8984016916a 100644 --- a/tools/dump_network.cpp +++ b/tools/dump_network.cpp @@ -18,11 +18,11 @@ #include "caffe/blob.hpp" #include "caffe/common.hpp" -#include "caffe/net.hpp" #include "caffe/filler.hpp" +#include "caffe/net.hpp" #include "caffe/proto/caffe.pb.h" -#include "caffe/util/io.hpp" #include "caffe/solver.hpp" +#include "caffe/util/io.hpp" using namespace caffe; // NOLINT(build/namespaces) diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index 22b0e61e227..06e07fe6cba 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -1,19 +1,20 @@ // Copyright 2014 BVLC and contributors. #include // for snprintf -#include -#include -#include -#include #include #include +#include "boost/algorithm/string.hpp" +#include "google/protobuf/text_format.h" +#include "leveldb/db.h" +#include "leveldb/write_batch.h" + #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/net.hpp" -#include "caffe/vision_layers.hpp" #include "caffe/proto/caffe.pb.h" #include "caffe/util/io.hpp" +#include "caffe/vision_layers.hpp" using namespace caffe; // NOLINT(build/namespaces) diff --git a/tools/test_net.cpp b/tools/test_net.cpp index 9d37536c758..b6f827e6285 100644 --- a/tools/test_net.cpp +++ b/tools/test_net.cpp @@ -6,8 +6,8 @@ // Usage: // test_net net_proto pretrained_net_proto iterations [CPU/GPU] -#include #include +#include #include #include "caffe/caffe.hpp" diff --git a/tools/upgrade_net_proto_binary.cpp b/tools/upgrade_net_proto_binary.cpp index 928fc52dc27..ed703f027cd 100644 --- a/tools/upgrade_net_proto_binary.cpp +++ b/tools/upgrade_net_proto_binary.cpp @@ -5,8 +5,8 @@ // upgrade_net_proto_binary v0_net_proto_file_in net_proto_file_out #include -#include // NOLINT(readability/streams) #include // NOLINT(readability/streams) +#include // NOLINT(readability/streams) #include "caffe/caffe.hpp" #include "caffe/util/io.hpp" diff --git a/tools/upgrade_net_proto_text.cpp b/tools/upgrade_net_proto_text.cpp index 8a77f752cc2..d05d1ac5883 100644 --- a/tools/upgrade_net_proto_text.cpp +++ b/tools/upgrade_net_proto_text.cpp @@ -5,8 +5,8 @@ // upgrade_net_proto_text v0_net_proto_file_in net_proto_file_out #include -#include // NOLINT(readability/streams) #include // NOLINT(readability/streams) +#include // NOLINT(readability/streams) #include "caffe/caffe.hpp" #include "caffe/util/io.hpp" From c1faaa36ca76d15c078f6873c507b499429280db Mon Sep 17 00:00:00 2001 From: Seiya Tokui Date: Tue, 5 Aug 2014 18:07:19 +0900 Subject: [PATCH 382/408] Fix conflict on setting of LRN layers between train/test net and deploy net --- examples/cifar10/cifar10_full.prototxt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/cifar10/cifar10_full.prototxt b/examples/cifar10/cifar10_full.prototxt index 237a7a0a0ed..9e7016362fc 100644 --- a/examples/cifar10/cifar10_full.prototxt +++ b/examples/cifar10/cifar10_full.prototxt @@ -43,6 +43,7 @@ layers { bottom: "pool1" top: "norm1" lrn_param { + norm_region: WITHIN_CHANNEL local_size: 3 alpha: 5e-05 beta: 0.75 @@ -74,6 +75,7 @@ layers { bottom: "conv2" top: "pool2" pooling_param { + norm_region: WITHIN_CHANNEL pool: AVE kernel_size: 3 stride: 2 From 99f27fc082612745c8d8cc932be42fdfd035e789 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 14:55:13 -0700 Subject: [PATCH 383/408] define caffe.Net input preprocessing members by boost::python define `Net.{mean, input_scale, channel_swap}` on the boost::python side so that the members always exist. drop ugly initialization logic. --- python/caffe/_caffe.cpp | 34 +++++++++++++++++++++------------- python/caffe/pycaffe.py | 16 ++++++---------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/python/caffe/_caffe.cpp b/python/caffe/_caffe.cpp index 10fc23b7974..30c86aeb384 100644 --- a/python/caffe/_caffe.cpp +++ b/python/caffe/_caffe.cpp @@ -25,6 +25,7 @@ using namespace caffe; // NOLINT(build/namespaces) +using boost::python::dict; using boost::python::extract; using boost::python::len; using boost::python::list; @@ -274,6 +275,10 @@ struct CaffeNet { // The pointer to the internal caffe::Net instant. shared_ptr > net_; + // Input preprocessing configuration attributes. + dict mean_; + dict input_scale_; + dict channel_swap_; // if taking input from an ndarray, we need to hold references object input_data_; object input_labels_; @@ -311,19 +316,22 @@ BOOST_PYTHON_MODULE(_caffe) { boost::python::class_ >( "Net", boost::python::init()) .def(boost::python::init()) - .def("_forward", &CaffeNet::Forward) - .def("_backward", &CaffeNet::Backward) - .def("set_mode_cpu", &CaffeNet::set_mode_cpu) - .def("set_mode_gpu", &CaffeNet::set_mode_gpu) - .def("set_phase_train", &CaffeNet::set_phase_train) - .def("set_phase_test", &CaffeNet::set_phase_test) - .def("set_device", &CaffeNet::set_device) - .add_property("_blobs", &CaffeNet::blobs) - .add_property("layers", &CaffeNet::layers) - .add_property("inputs", &CaffeNet::inputs) - .add_property("outputs", &CaffeNet::outputs) - .def("_set_input_arrays", &CaffeNet::set_input_arrays) - .def("save", &CaffeNet::save); + .def("_forward", &CaffeNet::Forward) + .def("_backward", &CaffeNet::Backward) + .def("set_mode_cpu", &CaffeNet::set_mode_cpu) + .def("set_mode_gpu", &CaffeNet::set_mode_gpu) + .def("set_phase_train", &CaffeNet::set_phase_train) + .def("set_phase_test", &CaffeNet::set_phase_test) + .def("set_device", &CaffeNet::set_device) + .add_property("_blobs", &CaffeNet::blobs) + .add_property("layers", &CaffeNet::layers) + .add_property("inputs", &CaffeNet::inputs) + .add_property("outputs", &CaffeNet::outputs) + .add_property("mean", &CaffeNet::mean_) + .add_property("input_scale", &CaffeNet::input_scale_) + .add_property("channel_swap", &CaffeNet::channel_swap_) + .def("_set_input_arrays", &CaffeNet::set_input_arrays) + .def("save", &CaffeNet::save); boost::python::class_( "Blob", boost::python::no_init) diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index 870dec4f45e..64747f30483 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -211,8 +211,6 @@ def _Net_set_mean(self, input_, mean_f, mode='elementwise'): mode: elementwise = use the whole mean (and check dimensions) channel = channel constant (e.g. mean pixel instead of mean image) """ - if not hasattr(self, 'mean'): - self.mean = {} if input_ not in self.inputs: raise Exception('Input not in {}'.format(self.inputs)) in_shape = self.blobs[input_].data.shape @@ -240,8 +238,6 @@ def _Net_set_input_scale(self, input_, scale): input_: which input to assign this scale factor scale: scale coefficient """ - if not hasattr(self, 'input_scale'): - self.input_scale = {} if input_ not in self.inputs: raise Exception('Input not in {}'.format(self.inputs)) self.input_scale[input_] = scale @@ -257,8 +253,6 @@ def _Net_set_channel_swap(self, input_, order): order: the order to take the channels. (2,1,0) maps RGB to BGR for example. """ - if not hasattr(self, 'channel_swap'): - self.channel_swap = {} if input_ not in self.inputs: raise Exception('Input not in {}'.format(self.inputs)) self.channel_swap[input_] = order @@ -282,6 +276,7 @@ def _Net_preprocess(self, input_name, input_): caffe_inputs: (K x H x W) ndarray """ caffe_in = input_.astype(np.float32) + mean = self.mean.get(input_name) input_scale = self.input_scale.get(input_name) channel_order = self.channel_swap.get(input_name) in_size = self.blobs[input_name].data.shape[2:] @@ -292,8 +287,8 @@ def _Net_preprocess(self, input_name, input_): if channel_order is not None: caffe_in = caffe_in[:, :, channel_order] caffe_in = caffe_in.transpose((2, 0, 1)) - if hasattr(self, 'mean'): - caffe_in -= self.mean.get(input_name, 0) + if mean is not None: + caffe_in -= mean return caffe_in @@ -302,10 +297,11 @@ def _Net_deprocess(self, input_name, input_): Invert Caffe formatting; see Net.preprocess(). """ decaf_in = input_.copy().squeeze() + mean = self.mean.get(input_name) input_scale = self.input_scale.get(input_name) channel_order = self.channel_swap.get(input_name) - if hasattr(self, 'mean'): - decaf_in += self.mean.get(input_name, 0) + if mean is not None: + decaf_in += mean decaf_in = decaf_in.transpose((1,2,0)) if channel_order is not None: channel_order_inverse = [channel_order.index(i) From 6c87b92c76931e0b0aa4e2af135812112306e89b Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 20:10:16 -0700 Subject: [PATCH 384/408] [example] add caffe to pythonpath in all examples --- examples/imagenet_classification.ipynb | 7 +++++-- examples/net_surgery.ipynb | 7 ++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/examples/imagenet_classification.ipynb b/examples/imagenet_classification.ipynb index e7fe9f84677..40e69aea138 100644 --- a/examples/imagenet_classification.ipynb +++ b/examples/imagenet_classification.ipynb @@ -31,9 +31,12 @@ "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", - "import caffe\n", - "\n", + "# Make sure that caffe is on the python path:\n", "caffe_root = '../' # this file is expected to be in {caffe_root}/examples\n", + "import sys\n", + "sys.path.insert(0, caffe_root + 'python')\n", + "\n", + "import caffe\n", "\n", "# Set the right path to your model definition file, pretrained model weights,\n", "# and the image you would like to classify.\n", diff --git a/examples/net_surgery.ipynb b/examples/net_surgery.ipynb index 0a6e208f6d7..d64ae853ace 100644 --- a/examples/net_surgery.ipynb +++ b/examples/net_surgery.ipynb @@ -135,6 +135,11 @@ "cell_type": "code", "collapsed": false, "input": [ + "# Make sure that caffe is on the python path:\n", + "caffe_root = '../' # this file is expected to be in {caffe_root}/examples\n", + "import sys\n", + "sys.path.insert(0, caffe_root + 'python')\n", + "\n", "import caffe\n", "\n", "# Load the original network and extract the fully-connected layers' parameters.\n", @@ -326,4 +331,4 @@ "metadata": {} } ] -} +} \ No newline at end of file From 943b98ea4927db22c6aad821972aa5c2d20b4af1 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 16:08:44 -0700 Subject: [PATCH 385/408] [example] fix example outputs With the right input processing, the actual image classification output is sensible. - filter visualization example's top prediction is "tabby cat" - net surgery fully-convolutional output map is better Fix incorrect class names too. --- examples/filter_visualization.ipynb | 75 +++++++++++++---------------- examples/net_surgery.ipynb | 20 ++++---- 2 files changed, 44 insertions(+), 51 deletions(-) diff --git a/examples/filter_visualization.ipynb b/examples/filter_visualization.ipynb index 56f6b8d30e4..0fe863bc7e5 100644 --- a/examples/filter_visualization.ipynb +++ b/examples/filter_visualization.ipynb @@ -1,8 +1,8 @@ { "metadata": { - "name": "Filter visualization", "description": "Extracting features and visualizing trained filters with an example image, viewed layer-by-layer.", - "include_in_docs": true + "include_in_docs": true, + "name": "" }, "nbformat": 3, "nbformat_minor": 0, @@ -229,9 +229,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAJOCAYAAAB8y+mTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvVuvbUl6JfTN+1xr7cu5570yqXJ1uXwpqavLxt1WG9lq\n2SpAAlmIdksgHvyGUEvAD0BC8GBekMBPSDyBZPkJWY2EAdMS0ICw3U2bbptul123rKzKPHlOnrNv\n6zKvPMQYESPOXFVuNlm9wYrvZa8da645I2JGxJwxvvGNL5vnebZkyZIlS5YsWbJk/48tv+sKJEuW\nLFmyZMmS/f/V0otUsmTJkiVLlizZLS29SCVLlixZsmTJkt3S0otUsmTJkiVLlizZLS29SCVLlixZ\nsmTJkt3S0otUsmTJkiVLlizZLe2H8iL127/92/ajP/qj9vnPf95+7dd+7YdxiWTJkiVLlixZsju3\n7NPWkRrH0b7whS/Y7/zO79hbb71lP/VTP2W/8Ru/YV/84hc/zcskS5YsWbJkyZLduX3qiNTv/u7v\n2o/8yI/Ye++9Z1VV2a/8yq/Yb/3Wb33al0mWLFmyZMmSJbtz+9RfpD744AN75513/P9vv/22ffDB\nB5/2ZZIlS5YsWbJkye7cyk/7hFmW/ZnHNGdn1l1dfdqXTpYsWbJkyZIl+9Tt5PHGrp5eH/3uU3+R\neuutt+z999/3/7///vv29ttvR8d0V1fWnJ1afXJqZu7FanXvnpmZKWUrz5eAGb+d5KusKNyHIpSN\nxejOUYbConLNHabe/U5e+vzn/EiZ1GkaJ3eucZSLDfgz+KJyct/PUyhjTfLMnSOfJ//d4D8v2z9P\n4TjWKRulTrhWUYS2+n7Mwm/NN23G75Qe5z53h1Df/d7106TtH9huPS8/h75jXYqisusPb+zk9Y0V\nhWtPXYdhV1buuKrKcXz4rmma6Dszs6Zt3TnKypdVlftcyngZ+gFt2PuyFxduEtzsQtl+59o4DO5v\nWYZzZKhKVoT2z5n7POv4K137sywcV2Os5UXopzJ3ZbPc935wv9ntXX2Heeu/ywseH8ZahlGUydRl\n9+uQ5GgrC70nc1QP95kNwd8+tIHnOxzCifvO1bOX4/rO/Z2nyfbPd9Y+XFlZueu2q3CfispVtFzJ\nnER/Z5m7xjTKGJ5QT5nsw8C5E9rFcZznuolzn+dFidkk8ym6keY4nv4rjPuyDP0144yzrJw8X0Q3\n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\npZdeko997GNhbf8Y9q6/SLHSeLCfPvve974nL730knznO9+RP/iDP5C//du/LX0eRVGYAz+l9qPG\nNoz7e9t+7dd+Td544w35x3/8R7lw4YL85m/+5g/9bhjr9571ej157rnn5Gtf+1pJ/VskrO0fZe/6\ni9SlS5dKUvLXr18vvd0Ge2/bBc2mvbW1Jb/4i78oL7zwguzs7Mjt2y7z9q1bt2R7e/udbhHsPWQ/\nbGzvXedvv/22XLp06VzqGOw/x7a3t/0D9Vd/9Ve9OyeM9XvfptOpPPfcc/K5z31OPv3pT4tIWNs/\njr3rL1If+chH5NVXX5Vr/397d4yiMBRFYfhauAjBLqigxJc9iO2ztbFyA25Cd6GQTis7FVuXIaid\nNmIhWKQ500UYmAEfzITA/5UhxYXDg1Pk5V4ulmWZrVYr897/9xj4A6/Xy57P946//X5vcRyb997S\nNDUzszRN84OK8vspW++9LZdLy7LMzuezHY/H/BYnyul6fe/3W6/X+Y0+si43STYej63dbttkMsmf\nc7Y/UMQX7pvNRs1mU1EUaTabFTEC/sDpdJJzTs45dTqdPNv7/a5er6dGo6F+v6/H41HwpAgxHA5V\nq9VUrVZVr9e1WCx+zXY6nSqKIrVaLe12uwInx6e+Zz2fzzUajRTHsbrdrgaDgW63W/4+WZfX4XBQ\npVKRc05JkihJEm23W872B1gRAwAAEIg/mwMAAASiSAEAAASiSAEAAASiSAEAAASiSAEAAASiSAEA\nAASiSAEAAASiSAEAAAT6AoIkxbPQ11/CAAAAAElFTkSuQmCC\n", + "png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAJOCAYAAAB8y+mTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvUmwbll6HfSd9m9u997Ll01lZmWqVFUulShs2S4ZN2CB\nJGMKg4PAxiGHAxg4gjEOIhgyYeSJTQQaMWNAVIgJaECgMG7AgZsQ7gLbQq1VqlRVKjPfy9fce//m\ntAz2Wvtb+51f5fAly9fA/gbvv2//5z9nn92ds9e3vvUV8zzPli1btmzZsmXLlu2f2cr7rkC2bNmy\nZcuWLdv/Wy2/SGXLli1btmzZst3R8otUtmzZsmXLli3bHS2/SGXLli1btmzZst3R8otUtmzZsmXL\nli3bHS2/SGXLli1btmzZst3Rvi8vUj/3cz9nP/RDP2Rf/vKX7c//+T///bhEtmzZsmXLli3bvVvx\nWetIjeNoX/nKV+wv/+W/bO+884796I/+qH3zm9+0r371q5/lZbJly5YtW7Zs2e7dPnNE6ud//uft\nS1/6kv3AD/yANU1jP/VTP2U/+7M/+1lfJlu2bNmyZcuW7d7tM3+R+s53vmOf//zn4//fffdd+853\nvvNZXyZbtmzZsmXLlu3erf6sT1gUxT/1mPbiwvqbm8/60tmyZcuWLVu2bJ+5nT3e2s0ntye/+8xf\npN555x374IMP4v8/+OADe/fdd5Nj+psba84vrL04N7PwYrW5ujIzs0koW0WJl7JTLK7KX9iKqgq/\nrf3AqZxwDgHd6gLH2+K8c2HL42Gl+bXGYQjHjaP/djiGMjlfxeNsMvlxOB8uUUsFhvinnHeW38L4\nolpOsxy3bCB/ofVzxPbEdafJv5umcN1h8LLjgWW938KIdpWbnYz36m1XlaGR67qx3cd7276xiXVq\nVz7sVqsmHI/+XK1W8bumCcet1q2UhePbulmUVdJ3Qx/qtNvtYtnL64OZmV3f+mQ4Hgd8HnF9r1tR\n4R6rWGRzEe5/ljIrQzvJkLSmDedpZIZxbE3TIPVEPTq09dz5aXHCufAxUc7hXicvshljYZ68UkUR\nLlyV8lvUr2287VjngkuBD0Qbh/Bld/T6dv2IMhm7uIdpmqx/drTm4crYPeu1N0C9Cudrtl5WluE8\nBT55TTOzecRxcl8z5mIhYzcO//nEJk42dnFGyLxiO3JsjoPMP8yTqtJOxHfSriPH/SydwuuOMjc7\n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\nAABJRU5ErkJggg==\n", "text": [ - "" + "" ] } ], @@ -260,7 +260,7 @@ "output_type": "display_data", "png": "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\nRK5CYII=\n", "text": [ - "" + "" ] } ], @@ -286,9 +286,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAJOCAYAAAB8y+mTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvWmMZGd1Bnxqr+qu6mV6pnumZ2s845nxPthjY7CDsQ02\nKAFsRWADghBZCPEzUn5EUaRApEREikR+JMqPECUmQraTKIEYxWZJbIMN48HG+4KX8XgWd8/Se1dX\nd1VX1fejvufUc9/31K3qHjvDl+99/kxPVd173/2e85wt0Ww2mxIQEBAQEBAQELBuJC90AwICAgIC\nAgIC/r+KIEgFBAQEBAQEBGwQQZAKCAgICAgICNgggiAVEBAQEBAQELBBBEEqICAgICAgIGCDCIJU\nQEBAQEBAQMAG8Z4IUg8//LAcOHBALr74YvnLv/zL9+IRAQEBAQEBAQEXHIl3O49UvV6X/fv3y09+\n8hPZvn27XHvttXLffffJJZdc8m4+JiAgICAgICDgguNdZ6SOHDkie/fulYmJCclkMnL33XfL97//\n/Xf7MQEBAQEBAQEBFxzvuiB16tQp2blzp/5/x44dcurUqXf7MQEBAQEBAQEBFxzpd/uGiUTiXflN\nQEBAQEBAQMBvAm666SZ59NFHze/edUFq+/btcuLECf3/iRMnZMeOHed1z1KpJEtLSyIiwi5dfX19\nIiKSTLaItWq1KtVqdV33npiYEJEWk1ar1USkLeglEglpNBreNfjeci/LZDL6G6stqVRKRCRy37j7\n4Lu1tTXtp9UmIJlMmvfGtdazksmkd++4Z3A/6vW6912hUNAxqlQqHZ+7HqTT0aW6trbm/aZUKsmm\nTZtEROTkyZMi0poH97epVErbw/1Mp9NSr9cjbbX6mcvlItcmEgm9Bmuo2Wz2rDDgfujj6uqqbNmy\nRURE3ve+94mIyMLCgszMzIhIe0xXV1dldXXVax/aPDQ0JCIit912m67F//iP/9A2j4yMiIjodwsL\nC3oP9IfHAu3r7++XUqkkIu1xtvqzurqqbcFYNBoN2b59e6Sdx44d8+6xbds22b17t4iIvPrqqyIi\nMjc35/2uWCzq/V599VVzf7nt7+vr074ODg6KiEg2m5WzZ89Gfv+BD3xAisWiiIg89thjIhJdd5df\nfrmIiExPT8vp06e952JP/fu//7uIiPzVX/2VPP744177cbYBmUxG11EcCoWCroVrrrlGREQOHDgg\n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\n2dxfsD+cusFncmerTbnE0A/OWA4mRIUXKwuN3Tg+E7pHzp1mFndHqKz8Ofh7w4wUf+fZTLNmIAP3\nncW67A72x/l+mc0/I0qO4NmHbrfbGLdOpxPaxQwnF1j37Uu5Hk8DJQRWUK4uzjSfEgIz26JqRubE\n2SWIuQpT7BTXV1T3vVTcnLpGLFRfHZ86LueeKw3OUlIL3/dYpvTUeVPf8Wect0/NnZL5pPrPbCb3\n58/+7M+ibTVbkpH63d/9Xfv6179uZmZf//rX7fd+7/fC53/7t39r4/HY3nvvPfvRj35kv/IrvyLP\nsbq6GooMl+RpqKioqKioqKj4aaLVamU3UtkdzFe/+lX71re+Zffv37cbN27Yn//5n9uf/umf2u//\n/u/bX//1X4f0B2Zmr732mv3+7/++vfbaa9bpdOyv/uqvopYBNB3eOllZWQnpBcDesAaK4XebSvMT\n+20psLPFeRZN/sk4KzcnrPEXXnihkRJhf38/7LQ5maLyZTOUf9mHsd+8edN+8IMfzH128eLFwEgx\nK+KtbKVbaLfbDU3bYDCQVhHYJE55kQqLBpgBBLvDob/cFs9cTCaTMNb4jNuGsVdCfgVlAY3H4zDO\nYGKZhVJzhoMRwBb5BKP8d84yRJ+uXr3aYKTW19eTCe9YJ4S/VTZzTi3A4nazefYJx7VazdpjKpOz\nSh/hfwOkLNajo6PGnGi1Wo0q8jlLmRlMr/VTz0BO+8IaKG9Jc12wlI5Dhaufho2KtRlQ7JRaf9A3\nJbhmKM0Q692UYNh/tqjOy7c5lf4A11IsY+x8Z4GYCNu/U2Pz3msZj46OiqPs/XHsceBgCID77uvq\ntVqt8Nmi+t/YupZaO9S4qTYDJferNTtLfrcQn1TdlC/fYHbygsLLq91uz0URmemM3woXLlwIriZM\nYs6ojNxC7L7kxcZP/FRqfCAVbcJuC+WSwGdwp81ms0YOndFoFNqhon/4xaiyP/sJv7W1FcaDN8bs\nlgOUeweRdPiONxa5yEoVUedLdKg280aFc/fA1cnRlt7tolxxLARFBNyDBw8aUUwxtxZHE6Y+4/ab\nHY+xNzzW19cbglF+keL5GI/Hob8sfAcwD7rd7lw+GrP5AAhgbW0t3LtUSSMuKcQvvNKIH+XuUxGY\nOVFtKVJuCPXSV8ensqJzBvQUOIoJUIEjOUE259fyn8WE5T6PVMy4S7VPubzUWndWr7ez3gSlrsH/\n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\n/5ufn6/VZX5+nt5r50TsPttG7HM2D1g7vGuvxn+sju122+1L7B8dL2yvnTt2TjT5j/UL1hn7HOdB\nznilyt7Pf6z/cH3YPY3VGedg0/ql5hPWRccLx81b/7i/sHlurw0Gg+x2aL/l7j/6H+4FTZ9l48X6\nPqfPW63W1H6BfWH7xfa5V6bd0/G/ubk5Oob2P1YvNg6457J91hvr/d6XO0/Yf8vLy9Xy8jL9Ds3y\nn/Z3DK5pr9fryV/8xV/IU089JV/60pfkr//6r+Vb3/qWfOxjH5P3vve98t3vflfe8573yMc+9jER\nEXn66aflU5/6lDz99NPy+OOPy4c//OEDD7ZVUFBQUFBQUPCagaeRsviN3/iN6t/+7d+qhx56qLp0\n6VJVVVX18ssvVw899FDQRn3sYx8L9//qr/5q9cQTT1CNVOx0iad/lAzm5+enTtFWq6P32/KYBISn\ndJR69JpKiL1er6YJYf+lJB7vBD43N1fTeohIdd9991X33XffVBv1b09DYP+z0gs+p6f1VqsV6oDt\nPX36dHX69OmpsbFSDkooKLHY+1BCQimB9a9tH5MoYlIGatRifcTGk11j7zh+/Hh0HOfm5moSjO0L\nOxdimr8cSTp3DuAYYT2t9tS23ZPk7O/4PNNw5K4LT5JOlROT0u19uRqKWTQ+qXHztMC570j1R9M6\n41pB7URMe4L/Me0I03Cw9ZjSYHt9iZp9e43t+ey/mLaraV3Ys6idze17+66YllKB2l/7fcT/UlYI\nVq/BYFANBoOq0+kEqxHu357WS9/R7Xbp3NY662+sXxcXF2t7amo8tLzl5eXa/Wx9xb4T9r2qBcS+\nb6SRQjz77LPy1a9+Vd7xjnfI5cuX5dSpUyIicurUKbl8+bKIiLz00kty/vz58Mz58+flxRdfzH1F\nQUFBQUFBQcEPFbICct65c0fe//73y8c//vEQvVTRatVzLNnfGSaTCSVuYoRkJZEdOXJErl+/PnVf\nVVWuS6oCXbUZUZoR4/B3G2xyMplMuR+LpINgeuZNJAEqcfDYsWPy/PPPT903GAzCeyogeLI2e2RJ\nDApYAZFR/1aX/uPHj8ulS5dqz9v3YdtZcEZGJkfifizQHGI8HtfaFHNr1b89wiNzxWUu/fgOHZu1\ntTXq0u+RObHPvCjbeJ/+7ZFvY/PKPoPzAOvpEcZTJGb9nZFDY0EXvfp7azhWB72f9YMXoTk3qnOK\n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\nSUVORK5CYII=\n", + "png": "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\n", "text": [ - "" + "" ] } ], @@ -318,7 +318,7 @@ "output_type": "display_data", "png": "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\nIqIb+upwfU7EnNLtAIqW6LIF1113XURErFy5cqB9WVKCPjkZZyGTfI6lAeuINU4nE0VjgYay6CJA\n6ygThZZ0ArQ5xmueZknv+B4hq30p/51IEmTlU2jnciyMwQ7NLphr2tGCyr7gMRo18+kkhowTXt96\n660D399xxx0H2mcJ3cbHx5s+gMeB5ozc3H///QOf22rG3ELT1ltvHX1YtmxZ853f/va3ERGx2267\nDbRx8WFbJhz+Dl+QJ3if+QhMTU018jss+auteRS3Zf49TjRz5o55RybLNco4oQGekrbA4wR8Tt/I\njR3ava623377gbGUewC8Y/xr166NiIgddthh4H0Ajxk/37/pppsiop0rgHzZgXxqaqoTuMFag054\njSx6XC4IjYbuAAhQav0REVdeeWUjg6b7wQcfjIh23bLG4LXXhdNd7LTTThHR8sX7TpkcknEwL06C\nzDOdWJU+PE4X8YU/yJn5uHHjxmb/d3ob86VMsBvRFitmzngGYH3BZwoz33jjjRERseeee3b6Ri4Y\nL+/b0uj0QrwyZx4nY4NWaGOuynQc8JS5gKY1a9ZERMQee+wx0Ld/05Fd5IbC2+6fMTHGVatWpeuf\nfXGm8mMzoVqkKioqKioqKirmiHmzSD3wwAOx9957R0TE+973voiI+Na3vhUR7ckUcArmVHv//fc3\nGgYaIchC6bNCqWha9MOzeEVbBmhFDz30UHP6tvZuWoDDfW3B4JRvDYZTva0pGzZsaPqErlWrVkVE\nN6zbPmD77bdfRET87Gc/i4iupoamhXYMzXfccUdEtFpBRDfZncPbPRfwHA0cywI8z4p5wl98Afba\na6+IaDVceFK22XbbbSMi4pWvfGVEtNoaYNwveclLIiLi0EMPjYiISy65JCIifv3rXw+0p38nSR0Z\nGen446FxMo/QmYX9k5COfvbdd9+IiMb6evvttw+0L62xaHH0TZJYYJ8IeA/PswKiWHb4PnPghI9T\nU1MdqyUyaL4gg/vss09ERLzmNa+JiIj/+q//6qWdcWKJRHavvfbaiBhMkskaYt1i3dh5550jIk/f\ngJy4LIct3ryPfEErVqZy3bEusLC/4hWviIiIK664IiK61i60ZfYVvofFzRZv7z/Im+cmop1nngEN\nzMF222030J41iMzZtw5LFkBOnv/850dExMtf/vJmfmwFQO5vueWWiGgtL/SBvAMXFGfc/H7YglWm\n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\noqKioqKiYo6YN4tUmRmcUyCnXWfw5US5YsWKiHjmZJnleXA+GPq29Qug1VvzBD6RoomvX7++sRRk\nJT9cANe5fKw1Qgsnb5dAsAaz+eabN+OxZcraS2aByIrXctr3qd95U8r3XCIkO80zDqxEAM3z1ltv\nHXjfuZ1crqK0BNm3ie+gMTEeo8wKHdHNWA3s54JcLV++PM0mj/aPVQfrEFYzwHpwpm/GaxnFQvHY\nY4+l1gmApSrLk2TrGGuNdjfffHNEtJqbLRj33Xdf8x6WZeTYFkZkE2sIMgzPSx/I8llo/ba+lhYs\n+8Ix31n5HWv7nl+vUVuJXAGhXHfInC2M0Oi9yFaQrJQScK43MD093ZlPLChY/e68886IaPlUWlYj\nutnj2ZucdR24nMno6GjHugcYP33ax8cWSdYN7W+//faIyLNvsyZHR0ebcfUVz41o93PGhdwzN7bU\n7L///hHR8hFavP5KWjILm2kp/S3L8bkMjceJfDHWvuoWe+yxx8B70M13LUPe983rrJA8a9g55Up5\ncX456EUu+ip4RLQ+kYzbmdwBc9dXLNptGT9t2bvMy2GoFqmKioqKioqKijli3ixSm2++eXOqtQ+M\nT6ScXO+5556IeOb0y4nZp3ROqS4YygnZ969Zvacsc2tZUNg1nbJTemb18WmXk7a13Cyz85NPPtmp\nsZYVI0abc/2mbLy0QwvglM9rSYstUs4Sm/lTMFeOgPP8ozXAPxfCLLUpPsOfwlEm5iHjwRrkiDrz\n0bX2wMTERMfy4uzBaL/24wO2xKCh8X0/k7GsXLmyE21ii4ELhKLloS27Jh3rBKsRcwCf+jKI4z/H\nuKDbfUMjssU6cr0uj5N+Xe+xHGtWzLxPViK6ma1Ni+HIQct6KS+ev6z4LmActuRl1QccWQTt9qWK\naP3KHKWX7XPsn2jm9nfymsZqVEbiZfsioK1rlnqfxAqKFQX+IVee09Iq4kz+XkPIPzz3nmXaoRU+\n8sre7d+XpUuXduYdntMX6MuOX9Ls3wv7Flp2S0sYvCM6j9+NzP+Kv22ZyQpFuyh4Vuw8ol0XtHFl\nC8+nrb+2uGVzCkoaskzl3I7gS5ZVH8lQLVIVFRUVFRUVFXPEvFmkFi5c2Jz+0ExcSRtgqShfs9pZ\n1s6yGkvAGizt0chMC/1PTU11NKjMquPq1lmtNecA8im/D9ak4ZH79p23eW1NCiuhtWqsAaXm7Qra\n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\niTvvvDPOOeecuOyyy+Iv//Iv48Ybb4wbb7wx7r777vjHf/zHuPvuu+OJJ56I3/qt34p77713sIDW\n/v37eyfGoRocyBExOnnOzs72rDrgE6WtHZ/yOdVyksYayKgkWuvC/bJl7boYfr9q2fne1BJZ7Z7F\nxcVe9kiWbcLnzpDK6ArsechoYIaQFeb095bNBJnGpDozrZzozNadf+uMKsbKdVCA6xS1GSSZR873\nor8uPOcsR9dy8fxp74c87RppwVyyF9i1jYAzRSeFUu7ataune9cuA4yBvWNZnST6wrzgPkNFcz0G\nHv8sg5Df8T3rw2PkdWEanzbLLys4mq1n95+9yfcEjBFj29a+yvbWrKaT23ZmmQubeh1Z9v3793dt\nZGsO2PtnWfD+IGtGig4YA2cutt9ln5uc2x485qD324z25/nnn+8VkkRXWV045g16yfZo5qYzKe35\nbuG9xW9iDM8PE1EDk8I7u7u93pRQkwqP0n/Ww6R90Zm5YGZmJt2jTfGEbC9JHakjjzwyzjzzzIh4\nwQ33qle9Kp544on44he/GO94xzsiIuId73hH/NM//VNERHzhC1+It771rTE7OxvHH398vOIVr+g4\niAqFQqFQKBT+/4YXHSP18MMPx7e+9a143eteF08//XRXOfyII47o6uM8+eST8frXv777zdatW7sq\n3cbatWt7Fib/9+nYsTQLCwspkSmnW96NU1uFOlGZNWhrkZO1ZWnpGmz5ZDVKXIMjq5fj98+O87Cn\nZseOHT1rhdO4rTGsAF7Dog+svawSNid1/qLfVu++ty1LW6DIknls7AWgfcYmI7Fsv7MllXkwHQPk\nelPZ+EPjwDzZsmVLj2aBd/605UrEWS0WrKFJljd45plnesTW9oYw99A93zP+Q9Z7xPiai+h7BcDj\njz/e8yzYYnabXO+2s/gNZCd+cahqMm23RKXt5x5/e1oZE9eIA8T9OD7S92mvsecsi08jxoX1z5gi\nQ0adZC/a6tWre3J7TvGbLGaG+c1853rG1B4JYlF5Lhx88MFp5WnqxnksaNufZ4TDQ8wG7pOJa90G\nNftM0sw+Z53TF8ekIrvXdBvPa0+U1wVtueaXK38D9iqev8wXe3pauKp+RsuU/T/z7MII4jp2zItW\nLzA2UE2e75B7ktfQzxfPRfTseTE/P9/bt6CGQsf28r7YOlIv6iC1c+fOePOb3xy33nprj6l5amrq\n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\nubnB+vXrB2vXrh0899xzSyL3iwnjxuCyyy4bXHvttb1rawz2PJ544onBvffeOxgMBoPNmzcPjjvu\nuMEDDzxQ62AvIhuDWgd7DnvVI3XPPffEunXrYs2aNTE9PR1vectb4itf+creFOGXGgPlFfzDP/xD\nvP3tb4+IiLe//e3x93//90sh1osWr33ta+OlL33pyGeZzr/yla/EW9/61pieno41a9bEunXr4p57\n7tnrMr/YMG4MIsbXg6kx2PM49NBD4/TTT4+IXZX4TzjhhNi4cWOtg72IbAwiah3sKezVg9TGjRtH\nytCvXr26qtruJUxMTMQb3vCGOPPMM+PWW2+NiF30GJARH3LIIR1dSOGFQ6bzxx9/PFavXt1dV2vj\nhcWNN94Yp512Wpx33nnda6UagxcWjzzySNx7773x6le/utbBEoExeM1rXhMRtQ72FPbqQaoqmi8d\n7r777rj33nvjzjvvjJtuuim+8Y1vjPx9YmKixmcvYyGd13i8MLjgggti/fr1cd9998Vhhx0WH/jA\nB9Jrawz2DGZmZuKNb3xjXH/99R2fHah1sHcwMzMTb3rTm+L666+Pl7zkJbUO9iD26kHqiCOOGOG2\n2rBhw8jJt/DCAYLogw46KH7/938/7rnnnjjkkEPiySefjIhdxKGQoxZeOGQ699r46U9/GkccccSS\nyPhix8EHH9w9vN/1rnd1ry1qDF4Y7NixI974xjfG2972tvi93/u9iKh1sLfBGPzhH/5hNwa1DvYc\n9upB6swzz4yHHnooHnnkkZibm4s77rgjzj333L0pwi8ltm7dGps3b46IXSzwd911V5xyyilx7rnn\nxu233x4REbfffnu3wAovHDKdn3vuufGlL30p5ubmYv369fHQQw912ZWFPYsnnnii+/+Xv/zlLqOv\nxmDPYzAYxHnnnRcnnnhiXHTRRd3ntQ72HrIxqHWwB7G3o9u/+tWvDo477rjB2rVrB5/4xCf29u1/\nKfGTn/xkcNpppw1OO+20wUknndTp/Zlnnhm8/vWvHxx77LGDs88+e7Bp06YllvTFhbe85S2Dww47\nbDA9PT1YvXr14K//+q93q/Mrr7xysHbt2sGrXvWqwde+9rUllPzFA4/BbbfdNnjb2942OOWUUwan\nnnrq4Hd/93cHTz75ZHd9jcGexTe+8Y3BxMTE4LTTThucfvrpg9NPP31w55131jrYixg3Bl/96ldr\nHexBFEVMoVAoFAqFwiJ6dsjvAAAAYElEQVRRlc0LhUKhUCgUFok6SBUKhUKhUCgsEnWQKhQKhUKh\nUFgk6iBVKBQKhUKhsEjUQapQKBQKhUJhkaiDVKFQKBQKhcIiUQepQqFQKBQKhUWiDlKFQqFQKBQK\ni8T/A2aklexSCttuAAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], @@ -344,9 +344,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\nnA4bAACgXKOuiRocHLS2tjYzM2tra3P1LEePHrX169e7/RYsWGD9/f0jPgfTxMeey5cvR7Z3797t\nYk0J+6OXCxYsGPFnoW0gMHZo64KpU6eOGJuZnTx5srBjypN+r7a2trr4+PHjqR5PDRQwejXNzmtq\narKmpqbEnwMAADSiUY9EtbW12bFjx6y9vd0GBgbc/3g6Ozutr6/P7XfkyJHImmjqypUrgYcLAACQ\nvyeeeOKW+zTdvHnzZtIOhw8fto997GP25ptvmpnZX/3VX9ncuXPty1/+sj355JN25swZe/LJJ23X\nrl32mc98xrZu3Wr9/f328MMP2/79+98zGtXU1GSzZs0yM7OzZ88G/mq4FX1bqzgiOHv2bBfr1Gw/\ntaKdzvV3quIU36qf80aU9pyPGzfOxXQor43/J6MK1/qECRNc3IiLglfxnI8Fw+e9qanpPe/BsMSR\nqMcff9w2bdpkJ0+etIULF9rf/u3f2l//9V/bY489Zt/97netq6vLfvCDH5iZ2erVq+2xxx6z1atX\n2/jx4+3b3/42bzQAAGhYtxyJyvwFGYkqRNVHRRiJQhYYiSpeFUdFGIlCHmoeicpLGTdPusgt/avK\nN2PGDBfPnTvXxXpzZWbW09Pj4iK/HPmjW38WLVoU2dbFq3kPG9vwf8zNGme2JeoDa+cBAAAE4CYK\nAAAgADdRAAAAAUqpiSpDPdVBaT2OWXw9h18D4q/CXmVxHcenTJkS2Z4+fbqL9T28ePFiZL9au+D7\ntVjNzc0uPnjwYE3PjWJoDRTS0YJs/3umnr4zx1odlBaWFzw3DB5GogAAAAJwEwUAABCglD5Rw+0G\nyhou1t5DZtH02aVLlwo7Dp3ar0vkaArLzGz//v0uTlpMVPstaTuAqvcU0dSZtj4wi743AwMDLvYX\nNA5pSaDn2W+fcPXq1VTPoegTVTzOefH8PxktLS0uPnXqVNGHMybQJ6ocafpEMRIFAAAQgJsoAACA\nAKWk8+6//34zMzty5EjkZzrjSrua+6mWiRMnulg71SalusaaekpzaHo1JI1mFv0ddaadXh9m0ZSn\nXi/nzp0Lel1VT+e8Ueg592d2XrlypejDGRP8PxnLli1zMTNZ80E6rxyk8wAAAHLCTRQAAEAAbqIA\nAAAClNKxfLizdkdHR+TfdZr6G2+84eJdu3ZF9tO6Geqg6l/aVhczZ850sV/DpLVP06ZNc7HfCmFw\n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\n", + "png": "iVBORw0KGgoAAAANSUhEUgAAAlEAAAJNCAYAAAARaCA+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3VmQHWd5//FnbO37OqPRaKSRtXgsy0tsAQJMGeMFXAES\nEuLEkISCcBOqcoFTgRQ3mFQlOBdJqkKKqn8BqSJcEKiQ4FAE4TLBAhvLWizZ1jraRtKMZkbLaN8X\n/y+cefXrV9Otnvf0ds58P1dP6/Tp7tOnT0/rfd73eZvefvvttw0AAAAjclvZBwAAAFCPeIgCAAAI\nwEMUAABAAB6iAAAAAvAQBQAAEICHKAAAgACZP0StWbPGOjs7bdmyZfb3f//3WW8eAACgEpqyrBN1\n7do1u/POO+3FF1+0trY2e9e73mXf//737a677spqFwAAAJWQaUvU+vXrbenSpdbR0WFjx461P/qj\nP7Lnn38+y10AAABUwpgsN9bb22vt7e1uecGCBfbaa69F1mlqaspylwAAALl5+OGH7aWXXhr2tUwf\nosp+QOrs7IwsHzlyxMWDg4Ox75s2bZqLly9f7uLdu3dH1jt16lRNx7do0aLIck9Pj4uvXbsW+74F\nCxYM+54kmqUt63uZM2eOi/1zN2bMjUtv0qRJLvazy/q+pHM0a9asYbd38uTJyHpnz54d9v3jxo0z\nM7OrV6/amDFjbMqUKcO+Z8KECZH36fLAwICLsz7nEydOjCxfuHAh0+3XK71e9DszMzt//ryLW1tb\nXTxz5szIepcuXXLxnj17Uu23ubnZxXrtmZnt3Lkz1TbU2LFjXXz77bdHXrt48WKqbcyYMcPFei78\ne4beh06fPu3iEydOpNqP/xut9Vr3P6/eN/Q35dPP6//Old7f9fPqfcLsxj3A355+Nz69J12/fj12\nvdmzZ7tY7+dmZm+88caw75k+ffqwx2NmdtttN5JIzNyWn69+9atmZva1r30tdp1M+0StW7fOnn32\nWVuzZo2ZmX3961+32267zb785S/f2GGOf9DHjx8fWdabY1r6Az527FjNx1SWoh6i9OZgFr0h6kPs\naBByzvVh0szsox/9qIt//OMf13xMn/70p128a9cuF2/cuLHmbSdZsmSJi/WPweuvv57pfvSc+30v\nr1y54mL943nu3LnIevqwldZHPvIRF585cyby2iuvvDLi7RXp7rvvdvG2bdtG/P6sH6KqSB9C/f+w\n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\nTjSMcvnXuFZobhQLFy508YsvvljikSBv+/bti31Ny3cklS4YO3asi7VkQj2XVtHSBX5JB51k2U9t\nonGMuGP5n//5n9v+/ftty5Yt1traan/5l38Zu24VZrgHAADIw4hbopqbm138+c9/3j72sY+ZmVlb\nW5sdOnTIvdbT02NtbW0ZHCIAAECxnn322VuuM+KHqL6+PjfR4n/913/ZPffcY2ZmH//4x+1Tn/qU\nPfPMM9bb22u7d++2d7/73SPdfCH8ptW4FN7UqVMjyz09PcOuN2PGjMgyk0Bi9+7dZR9CLrQS++TJ\nk13sjwwltdxYkrpQaDpP01vTp0+PXU/T3foesxujt82iVeJDKq3nQUcWaorSH22ukw4zcro++Nmz\noYeor33ta7HvSXyIevrpp23t2rV27Ngxa29vt6997Wv20ksv2ZYtW6ypqckWL15s/+///T8zM1ux\nYoU99dRTtmLFChszZox985vfJJ0HAAAaVuJD1Pe///2b/u1zn/tc7Ppf+cpX7Ctf+UrtRwUAAFBx\nVCwHAAAIEFTioEpCyglcuHAh1Xrve9/7Iss///nPh12PPlDVon11zp07V8oxDAwMlLLfvM2bN8/F\n+/fvd7HOWG9Gn6jRRPuYat8f7TtkFu0/tGzZMhf7fUq1L9HBgwddXJWq+Pq5tFp7UuV1/Ux+X1sq\nmFdHSL87WqIAAAAC8BAFAAAQoO7TeTqpZRbuv/9+F7/00kuZbhvFKCuFV0/8atJpU+E7duxw8alT\np2K3h9FD01M6S4VfpV/TVlruwE/naSq4iqUBNG2npR/8Ug36Wtzky6h/tEQBAAAE4CEKAAAgQN2n\n82qdzNi3ZcuWTLcHVIWmFNKOnktbjV8nlMXooteIFlg+fvx4ZD1d1lTXihUrIuvpteRff1WgqWut\nyu5XLNdj11SmP2MGo7vrGy1RAAAAAXiIAgAACMBDFAAAQIBSOjIM9c1ImhkcQLYWLlzo4u7u7lTv\n0T4fZvH9Nzo6OiLLW7duHdGx+dra2iLLOnQe1aKVyLW/z7hx4yLraT+8np4eF8+ZMyeynvYl0m34\n5Q6qUBVf+zr5pQu0+rXOojBr1qzIeidOnHBx2lIjqA5aogAAAALwEAUAABCglHTe0KSNZ8+eLWP3\nwKh0+vTpVOstWrTIxUklRDRFoROxZoH0Xf3QCd21erk/m0RcCtlPEc+dO9fFmk5ub2+PrLdnz54R\n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\n", "text": [ - "" + "" ] } ], @@ -372,9 +372,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAJOCAYAAAB8y+mTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXu0XVV1/79XXhXFVitGDUKCPIJJSAIJb0RRELTl0aHS\nWjt8a2VYhjrUWqn0ShltGLVDqtZRWx9gHbXKaFHUIUUoBHmGR0AQJAEBBZVaaavVWh/l94e/z933\nfO+dWWvvs885NzA//5zk3HP2Y6251lnzu+eca+rhhx9+WEmSJEmSJElrHjPpC0iSJEmSJNlWyYVU\nkiRJkiRJR3IhlSRJkiRJ0pFcSCVJkiRJknQkF1JJkiRJkiQdyYVUkiRJkiRJR0aykLrooou0bNky\n7b333jr77LNHcYokSZIkSZKJM9V3Half/OIX2nfffXXJJZdo8eLFWrdunT71qU9pv/326/M0SZIk\nSZIkE6d3RWrjxo3aa6+9tGTJEu2www767d/+bX3uc5/r+zRJkiRJkiQTp/eF1AMPPKBnPOMZM//f\nbbfd9MADD/R9miRJkiRJkomzfd8HnJqaKn5mxx131M9+9rO+T50kSZIkSdI7e+yxh+699955/9b7\nQmrx4sX61re+NfP/b33rW9ptt90GPvOzn/1Mj3/84/Xzn/9ckrTzzjtrp5120jOf+UxJ0n//93/P\nvC9Jr3nNayRJv/IrvyJJuvrqqyVJ3/3udyVpRvH6tV/7NUnSdtttJ0lat26dJGl6enqr1/y4xz1O\nkvTkJz9ZknT//fcPHOfpT3+6JMWNuP0vm/GP//iPt3o+rv8nP/nJwPtPecpTJDX3/eMf/3ir1/ur\nv/qrkqS3vOUtkqQPfvCDkqQjjzxSkvTQQw9Jkh7zmF8KjoTBbd68WZL07W9/W5L0hCc8QZL0v//7\nv3rsYx+r//zP/5Qk7bvvvgPno31OOOEESdJ73vOegePCYx/7WEnS//zP/2z1+uHXf/3XJUnf//73\n5/077cjr85//fElN/9Ce3Odtt902cF077rijJOlHP/rRwHEPOeQQSdITn/hESZqxO/q/ZC977bWX\npMYu/u3f/m3gOmgHzvv1r3+96v5g++231w477FDdjs6KFStmjiM17cs4Kt0f9/F///d/nc5Pv7zz\nne+c93y08y9+8QtJ0n/8x38M/H333XeX1NjR9773va2ej35+17vepTPPPHOoa4+gLZmzuKfLL798\n4JW2W7169cD3Nm7cONT5I1sZFQv1fLvssoue8IQndH7KwdMSxsInP/lJSdKDDz4oSfrhD3/Y6nj0\n90477SRp7tznY+Gv//qvJWlmrh2VoDCp/jv//PMlNfbP63HHHSepae+//Mu/lCQ97WlPk9TM2czt\nzBGnnHKKJGnp0qWSmt/Kb3zjG5I0k8zm7b5kyRJJ8W92iV133VU//elP9V//9V+SpKOOOkobNmwI\nP9/7o721a9dqy5Ytuvfee/XTn/5Un/70p2d+gGezyy67aOedd55ZRCVJkiRJkiwEcNAk6bnPfe5W\nP9u7IrX99tvrgx/8oF7wghfoF7/4hV7zmtfMm7H3ne98Z+bfKEmwZcsWSY1Hj/eBEsCqFaWLhRhK\nGI8XUaRKoEwccMABkqT9999fknT77bdLku6+++6tfh9lpwQKjHtTKBpcR0mR2mWXXQb+/+///u+S\npK997WuSfqkwSY03/NSnPlVSo/AB7fuYxzxmwDNCUYmUCbwFlC8+31aR4j5QTOhHtwf4yle+MnB/\nJSJv7+abb5bUeEG0w9FHHz3wOQbST3/604H3UUi83/Ey+d7jH/94SXPbkXaK+PnPfz6jfHQB5ZH+\nxyuuhevcddddJZUVIcfbi/ul37BHcEUKojCBZz3rWZKkH/zgB5Kadpeaey2NobZgq36t2OqqVasG\nrgW1DfWZeyklSdPmtFmk1i40UBFRAlBr8eJnz/ez2WGHHVqdZ8cdd9Quu+wy872SooOt8fQCNR/o\nL5SoZcuWSWr6raRoMFYY44w53venMSgqe+yxh6Tm6QBzqT+tiOA+UEwWCvyW+VMPfrN5n/lt9tOr\n2fCbRnvQPzwdAf9tov27Kn38BnGe2rmv94WUJB1//PE6/vjjR3HoZATwCDNJkmQh485gkiwERrKQ\nagveF4OEVSXcd999A68oNwcddJCkRjFi9YpiUgurej9OSYniOl0himD1zPfwUlk9R565Ez3Hx6vh\nflBEaC88eODv7tUQa4S3jRIItA9eN3AfrOoPPfRQSc19cv/EDLm3R/9H3gRe37Bw3ZwnWkjus88+\nkhpvlnbnFdWD9sDb4nXt2rWSGm89ardRwfm6lopzb4z+Kak9T3rSkwb+7wol9hX9KH7zm9/c6vFR\ntvByZytXfcWcRCqij9Ebbrhh4FqAuYp7RIHg+9gAcZFAm9OGHt+30GDsYGuooSgTkRJVgjnL23u7\n7bbTT37ykxnlsdTf3r7MeXD44YdLmtvfqPtcx+LFiyU1ChaKCtdHf6GUcZ7ZGexS81TC1WzGCO3I\n91FGsHGUGuZsv26ud1LQDiir9BPtVau0L1q0SFLTv/y2ef/50wnaN5qj6B9+o7AP+oPrZnzWKqa5\nRUySJEmSJElHJqZILV68eGbVyGoQz5nn7Kw+iSki9oJVL14eHix/91Ukq/rIu+PzeBu1GSGstqM4\nBrwIvFLuj/PhhUTZfMDqnMySaJVMPABeEqt5vEK8RPDzcb14DVyvKzauiLnXB3hPeE30M+87JUXu\nwAMPlNQoWVx/dLwIFES8nAiOT//gpdBvtE8Ug8T7xEnceeedVecdFo9RqlWkUErpJ7/OkhKFgln7\n+KVrHJP39+z760uR8tgLVEbHlSiHeyRuDrWcMRaNnVHbCHjsVtvEn7333ltS0+6o+B4jFLVTFAcX\nKYD8JhAjxNwbHd/b1+c8z7Dl+u+66y5JzW8NqjyfYy5GreY6GDuMAVefsSOul+/5UwHGIgqTx6WC\n22nPG5W0hhgz1HgUOTLBXa2OoH25X5QmYszuueceSc1vO4oh7U6/+28rv0X8pvE57IDfBt73mLqI\nVKSSJEmSJEk6MjFF6sc//vGMt+bP0fFSeP7JKhtPmxoSV111laQmroBVrCsopTgDVr2+2i/V04m8\nScCLYFXLdeFt4JWUMjVcKfBVsj/HR7HhviPPn/Zl1Y7Cx3VyvtlpoG1AgelLJeC6UMTaZvyA93OU\nZYi3if3hXeNlYqelzA68nOhztLPHsPWFe8XYE96be2PYA+MNO8cOImWRdirFsqF61GZfOj5eZmfy\nlNTdcYONMoeU4i6xcVeH/e/Dxtl5n6P0tM3wZIyghh922GGSmvhC+vrSSy+V1Cg94OopRAogNoZK\nT0xLSRkEn7OJ6eLV/85cQVxfNGe78sjTDVf4+K0rZTZzvKgGneNxqKOilC3JdfNUh99A2oHfmFq4\nf5Qtvz//jeL/xKUyXlgb+JqCpzT0hyvHtaQilSRJkiRJ0pGJKVI/+MEPZlaXeFcoDXgFKCqR93XF\nFVdIaqqjcryunq5DrBarbLyvWvAS8ELw2lg1U2sFzz7yzjiOZ4YA90v7sdr2VwcvlNU398lxOG/X\nbLm+q/Z6didKHN6he5OlLDOUvaiuE94JShHeKV5OyR6okeKV4p2abZWGwfsB+6G9GDfulXFdVEpH\n8URpdEWKcepZt/wf5cgrzreNlfI6abPHA57vuBQpr3ju0PZ4xCVo80h5WrlypaTGJukzzs/Yje6f\nvsQ2UUldha4F5YXvU4GaOcXrKg0LihB93vZ6ia0BjoOCQXtj44DCErUr1+HZdj5X007YqcfqQPRb\nEDGu2CifS3ysM7a5H+YIjyPGPkrxrR5H7E+bfPy5ndFfXBftTvvy28Z4Yi6iH/3+IlKRSpIkSZIk\n6cjEFKmdd955jmLCqj56Pu7gPXi9pNpIe4dV65577impWTXfdNNNnY7H9eFBu8LD+yXvwytUu/fr\nipl7QXyfzBMyIFxZIU4A8DZRziLaVjRvC+1FPAfeHu0WnTfyglEwsZeokrp7+20rfPt+WvS/K1C0\nX1Qbpm+8vbAfrovxQ4YM/c/fI3WF+4y8ON5nnNGPtNPsCuVbw+N5ZiumbePmhm3rqOI50Lee6Rop\nWaV6O/QJY5jr5vx8j/tidwZsnL5EYWHuRTXnuG1hLiF2iX5gzHjGcFe4P8Zw2zpVrvChino9IZ/T\nSnMbtohqTbv6bxH9wlhyhaStEuVEcZY8DWGMehYb7dB2HLid0g6+wwDHZ+yW4ouBOYJ+8fN5XS/G\nlbcn9804pJ1KWY+pSCVJkiRJkoyYiSpSnunA6o9MjNLzfmA1yuo/UhhK4O2xaub5bdd6N15vyBUO\nVuWlfbiIZ8D7jbxGYoLcs8frIfOBz+Et4pV4TBFeWakabV8xaeBxD3gN7nXg/UUxdJHd0D5kkCxf\nvnzezw2z353U2DH9Rf+5OuHP4/l/rUIzLJFXhl2QJYt9RDFz7mUD7Yh36H+PKvVH4KVy3Nnjs208\n37CqX7XHasoX1x7VuMOj94xZr3vE8fg8Y4fjeiwVfctc50pa19gyxiKqNnMWKmutAlGC+2Y/VJQv\n9s8swT6NgC3Sjl6L0JUoty/GNO1M+0VztI9pzke/DqtIRXB//lSE+3S76grf5z4YmyhCq1evltQo\nZKW9DLF/fmO8P7Arr7DP//ke9hkpozydoH1qf/sgFakkSZIkSZKOTEyR2mWXXWa8AbwkVpOs8lkN\nRl4Sq0aUKFbXXesesVrFu+ha14fVPl4f1+/PaVm1E1fA/73OEYoL3gwZJsD9slr377sSwOfd+8GL\nRRGhblLJS3Jvp20GCdlgtJPHELlS4956pPSUrpfz4UV5PANZktx/7V6IgFdKxkpkTx4XM2olival\n/VCaaAfaETvGq6RfUdrce8V+omxNjz/huG1rItGOHj+xtXOPCq/H5GOdOYkxjlLD+3jC9AE2g637\n2KPvyF6jLaLaXx4TQh2rSHnoanvYBuqlx8r0BffvTzNq8fpA9BPXz1yDYoKiwSu2Tz/zeZQ3bJG5\no6Ro+NzZFZ+7nb5i1Er4+bE/zo/67zUPI7wOlFdGp739KRTtyfXQX1E8r4/fUvytk4pUkiRJkiRJ\nRyamSC1atGjGG8MrwHNHOfG9zVyZYp8n3ynda03UgiLhtSVKzK6sLDVeBq94O9wPXhSrZV5LmT+0\nA6t5KO2EzvvEROFtcb94kShZrOYjr5Xz01/cP9fnMWX0M96bH7+0t6HXCME+6Hfar1QF2BUMskOp\nLcPze/CsUK/VE0G7ohzijUW1gUZV0TzClTLUELwy+pF+or+57qj2C2qGxx1xPuyQV/qRDCzaqaRQ\noe7Qnnxf6q+ejo85lAjP3GT/R7LHtmzZImmuCok6jUfuqqhnonIer7+DzbqtM6eQgcsc5rFJjPWI\ntvtWglfLZ47pW11l7HJfXlOspABRe/Doo4+W1PSzV6CnH7ySOrbM2PA5m/6+5ZZbJDXtccIJJ0hq\n2oU5kusfdg4YNrapL7zyOfZ46623SoozlyNoR17Zw+83fuM3JDVzM/bP3Mzcwt89VhDoH77H5/l/\nbbumIpUkSZIkSdKRiSlS3//+9+fEAeC94L3hLbgSxWrTPWu8lNIO09FeX3iFJa/WY4zcA8c78v19\ngOe5HAfv03cAB19Fs+/TwQcfLKk+puv666+X1CgleHceU8X9R6txz6bk/lAIUMi4zyOOOEJSozSg\nANVm2gDtRJwJXk0pcwo7QlXAa8X7jupDUXMH77EUK8b1oJC41xzZlbf/qPFaN3jVHmNIP3vsWGQX\n9K8rSh4TCGRQ0X+M/yguwffrYnzNHn+1WXQlXJ1jrnFb4ZpRenwMosbSpry6ullb+Xzjxo3zvt9X\nHaKuEHvE3MuYQ4kA5gSvK1QLc+THP/7x7hc7CxQJVHH6xcfqmjVrBl6xcfZ7jWofujrflwIVMWll\n6pprrpE0N/bp85//fC/Hv+GGGyQ1ipTvOsFvD/1Df/rTGn86weexB8ZRbT+lIpUkSZIkSdKRiSlS\nP/rRj7Rp0yZJc2tw4HWUappcd911kuau+llVHnfccZIa7xLFxGtm4HUS51Dy6nx169fJKjh6Duxx\nA3hlrI5pD66T9/FaPUaH81Anir+7t8Vx8Kr5/zOf+cyB8/rzYo8581U63ptXVfZYLN/PqBa8DL5P\nO6CgcHwqt3u9KbwP7Ip+57pdZfDaKpy3VC8LJRV7uvrqqyU19hHVLOJ7KKsoWl4FuLTDPQoa7YDy\n55lN9A/96v/HO+O+URW8pkuEjw/sErv3SvX0SylDxuukYUez61KhctFWnjnLdxnrfi/77LOPpGZM\n8D3uwVXju+66S1IT3+XZQihZ2LDXysN2fZ/LKJ5u1PhY5zp5H0WJMcZYYoxhqz7WuX+PJ52UggaX\nXXZZ1ecuuuiigdeutM38RdGkXUtZqX1nSTrYQzRW+6oXVgv2wzj2zG/sz+0aBZU5nuv+5je/Kan5\nbajNAk5FKkmSJEmSpCNTD49r2+jZJ52a0vT09LhPmyRJkiRJ0prp6ekwzjUVqSRJkiRJko5MLEZq\nHIoU5xiX+jWp85E5Eu0wT3wHz+fJMPHK4FQyp/YHmRDEhbz85S+XJP3VX/2VpCYOwuM4yNwhBos4\nCmKRiFshziLKWnuk9h/3f+qppw6cz2uwlKitJE9cy5vf/GZJ0sUXXyypieHi78SvEG9A/Sj+Tz+S\nNQnYEXa2bNkySdK6desG7q+WKKu2xPT09EycGbEcxKUR00F8FrZOBix/5/PYLjFO3PtZZ50lSVq/\nfv3MOccB5/nYxz4mqYkT5ProA8+WOuiggyQ1sR+MbcAWia1h7J500kmSpI9+9KOSpFWrVklqbIIK\n6dT34ToY0/QhcZJcH+1LPxDTctRRRw3c56jhPGSTeQ08+p85lJg6YucYM2QeE2ODXQH3x9xJu2BH\nxMjxfWLriJO8/fbbB67P97Ok3ekXrv/FL36xJOlv/uZvJDWxf1w31+V1zrx+mlfq931BeZ/6TtwX\ndsDnidv0TG3GqbdzBO31lre8RdL47SUiFakkSZIkSZKOTEyRWkisWLFCUuMt4QVA273cxg2eO3Wi\nUIjI+CBjAW/0zjvvlNR4N3ibeAUoFVFNEq/Ejne0cuVKSY0XQ22dpUuXSmq8FhSo++67b+D7XE/X\nHej7ZlSZU9H+YJ71h/cYVaOOlCj3KrFfwE6ATDbPJq2tck3mDCoFryhSbWmrRM3mAx/4QOfv1oAt\neG2tcYGyBFH9IojqToHvwcbxUaQY457pfMcdd0hqVGbPfGUsY0OetUctsEnPqTfeeGOrz6OYoKh5\nJm6pkjs1/GhHn2O9LpLPhb4vLRnZtL/PCbxP+5PNSr97lh12HdU0ZI7ymnnM7V5ZnuOjXDpcn++B\nGDHM3DBKUpFKkiRJkiTpSCpSajx3YlQclIFJe08ReHnEN+BN4DWwisdrIL7C6znxPer1oJx47ROP\nN/G90/AuiFdBGaP9qP8FPN/neqNK4+NmVDV8IhXB9xzsWvHcvViPaSrtRxYx6tpGqB4cf9I1huaD\nmJ/aXeH7hrE+rgrWjHHulzkGRYk502OzsBXfvQJVnOMwtwKKjStv48ZVXSeqCee7XjgeoxbRVpXn\nel1Joh94RfGK6j1FSpQfj9+U2r0UI/Xca/2VVPCuc8+ee+4pqRk3PCVB7Xdlti2pSCVJkiRJknRk\nm1CkWOWjePStDBHTEdG2Eve4QfnxzBiPRSIThefctCOrcrwoFCa8Rq+WizfD+dx74vN4F3hhkVeC\nV9o1W2uhULsD/ajia1BLUBFQvrzCPv3TVlWp9Qaxs7bQ/9gf9tWmWnLbzMe2dFXJvOI5r6UsJWfc\ne6nR9hs2bJDUZK1hO1GlbsYAajRzgWfroaRArcIxarrOQSX7iOIjhyU6L7sd0A9d9/jzPSKhq7rt\n3+c3qkTXcc1TDuZeFLBhlShIRSpJkiRJkqQj24QiNamdzfEaUXxGTVdFBq/WY2z873iXKFGlbES8\nQ1ekULxQKLyeEfeB0hTFPBGLxXN3/u/7cS10uH7iRkoKp+/7BMSW1WbLOagEngFDrRbYd999Jc2t\n6dIXXfsPO8MuOc7Xv/716mOMSokCrrGtMsTYYKyM+jr7gqws4hiZg7G1UkwN98lc4NluPvd0VUz6\nJoqBGpZR/YbRH67w+dzdNbbPf4NRfmv39mMOGjb+ld/ktnjcJUoYKn5t7FpEKlJJkiRJkiQdmZgi\ntf322xefr/J8l4h7VttkIbXxVGsgtmPJkiWSGu8xqoHRN6N6Lg+uhJRizfAmPTYGxQmvBCUJJYTn\n0HixkRdC7BmxRXgtCz0mzaF9amP3PBuP+8f+UALxvmrjRlAHUJxQQTwug/ONiq5xPNgn9+HZhgsB\nbBmbbwuKDHNLFFdH39fGh7X9PHMpYzhSgrg+z/YifjLKrkPJQiXHJjgf7VBbP+iRwqgyXsHtiDmA\nseXxxm1/c/itof9q5xIqsKOIRXZasuNIzS/BbwrtQczYi170IklNBf+upCKVJEmSJEnSkYkpUjXR\n/nh9y5cvl9SsJqmD1Dd4XcS4LFq0SFKzeo0yVCaNZ2VFRMoG3mVUt8iPj3KCV4OXw/Ny/l7rbfJ5\n4ijaZjItFGrjBbw9Ue6IsQLsn9dSFWtA2aNdPauyVvHj+6gXHKcUF9M1zgW1ZyHWj4JhY5uwETx0\n4sC8DlPkkWML3oee8VhSGlAGSvs0Mk/T9/QNMUQeH0lGMHi8H3MN9901Fok5me9jk6W5bNKMOt7W\n7dP71+eotooUx0ORquWuu+6SFGct0p8lSnNPCd9DkKdPjMeu/ZOKVJIkSZIkSUcWdNYe3tfmzZsl\nSbfeequk0dcZ4nk+ypfvVbbQQMlpm3lQ61X4c33ag+fjXj0Xr7U2XgMFEC91oSp/feHeF/8ntgyv\nETWgrReGtxVVR671ulA9iFXkeni/78yzhaxEQV+KlFd0riVSExlrUQxJFItVW0Ebj53jcB0oYRyX\n64iukxgp5qyusWYeV+ixZwuVcds4/UD7eKxQW7h++q32ONhH9CSK35hRx8cy12InPKUZtj5bKlJJ\nkiRJkiQdWdCKFDETrBp53o43M+rYJbw1Yk54/t9XNdS+aLsvE+DVtY0n8HpR0R5stUoe2VnLli2T\ntO3U2HFqqxa7EoiXRsYKdu0KUK3XRNwIypPXXqnNHOL8nJfjbqv90wfDquEoUihRrkx19Yy5LuZG\nPG5iQlasWCGpySwt1ToDvs/3GPv83+eeSHFgLmDuJH6SOj5t4bfBd3XoOheOi3FfH2OVOcT7x2Pc\nSkQ1BIdlXPXD+M3iN+/222+XNHy/pCKVJEmSJEnSkQWtSJG95V4LHv2oMzNYdaOILZR9oJyuz5VL\nz+vxIj0TB6/Z4ztQpugvvJwvf/nLWz0P+3etXr265rIXLLUxYa5o4o3hXaOwYue1cSR4+WSbRrFV\n9E9tBfW+qhI/Ehi27hGKFPFwePi1FadLqjgZlmSvYUOct+0+pXwPxYdXxjY2Fs0lzAnMJWSeEn/q\nVffbQvstdCVqXHhlc37DsC+PoUMRrVWZfS/LYffaGzfEEXMfXXeRcFKRSpIkSZIk6ciCVqTAs9Ha\n7AbfBwtViQL3UslkGfa5M96reyvr1q2TJO21116SGmUQpWO33XaT1CgpVNq+8847B46Dt/ubv/mb\nkqS1a9cOHG9bo+t+TXjreNUofsRK0Y5R5hXQnihH999//8D3oW1lc7+uEvT/IxEqdne1UVR2Yplo\n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\nqalxPs4kbNmyRdu2bdOmTZt0yy23aPPmzX1/n5qacltNiFLdu11Gz3ve8x7t2rVL27dv12GHHaYN\nGzakn3V7jIaXX35ZF154oW666Sa98Y1v7Pubx8h4efnll3XRRRfppptu0kEHHeTxMQtjXUgdccQR\n2r1798z/d+/e3beCNePhsMMOk/TqYdEXXHCBtm7dqkMOOUTf/va3JUl79uyZOaDZjJ6s7uN4eeGF\nF3TEEUdMpIyvJ9785jfPfFlfddVVM9sTbo/x8IMf/EAXXnihLrvsMp1//vmSPEYmBW1x6aWXzrSF\nx8e+jHUhddJJJ+mZZ57R888/r1deeUWf+9zndN55542zCK97/vu//1vf+973JEn/9V//pXvuuUcr\nVqzQeeedp9tvv12SdPvtt88MGjN6sro/77zz9Nd//dd65ZVXtGvXLj3zzDMzUZZmdOzZs2fm33fe\needMRJ/bY/T0ej1deeWVOu644/T+979/5vceI+MnawuPj1kYt3f7XXfd1Vu2bFlv8eLFveuuu27c\nj3/d881vfrO3atWq3qpVq3rLly+faYPvfve7vbe//e29pUuX9tavX9/793//9wmX9LXJxRdf3Dvs\nsMN6CxYs6C1cuLB32223zVn3H/nIR3qLFy/uHX300b277757giV/bRLb41Of+lTvsssu661YsaK3\ncuXK3rve9a7et7/97ZnPuz1Gy+bNm3tTU1O9VatW9VavXt1bvXp1b9OmTR4jE2C2trjrrrs8PmbB\nR8QYY4wxxnTEmc2NMcYYYzrihZQxxhhjTEe8kDLGGGOM6YgXUsYYY4wxHfFCyhhjjDGmI15IGWOM\nMcZ0xAspY4wxxpiOeCFljDHGGNOR/wM+hTPIf67+9QAAAABJRU5ErkJggg==\n", + "png": "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\nifbAG46ULhTQWvC2a/eZm6tqoMxwre75YnN4nr73GX2I8uDZS33jNUtKFIxrTuP+du7cKal/xjN9\n7bEmXn+LuYXr94xZstLoB2y4tQ5ThCtvtWDjKDl+PHDFL6pIXwI7YEzxVoB2JT7U3xbwVoEMY+JR\nmWtQjaMsOt8zsTV+NSJSiyN7p7+jfm9tV+agW2+9VVJ5rj/++OMldXaI/fozulUpTUUqSZIkSZKk\nJ8t+Oq5Nf1pOumyZZmZmFvu0SZIkSZIkzczMzIRZq6lIJUmSJEmS9GRqMVJ7UqR4T+w1YCJ4L+yx\nR5zDz8V71db36RG8777gggskSZ/4xCck1cdFlOB9LrFSvL8/55xzJEnvfe97JdXHG6xfv16SdO+9\n90qa/16ZulG8pyeegXYke4z4C+IiduzYIUl6+ctfLknasGGDJOmVr3zlyHXTv2RzsY8Sx+V8tKf3\nHxXQiX/xGKojjzxSUvfee+vWrQu2AzVCeC9/1llnSZI++MEPSipndvF57pusRWLEjjnmGEldLBXx\nNcQnRPY5KTjPxRdfLKmLAyK+Ajsr3bfvfbnvvvtK6uJiuM83vvGNkqS/+Iu/GPk87U1G3IoVKyR1\n49erepMBFFV95rxvf/vbZ8/lmZJ9Y1oivO+8fhXnX7dunaQuFosxg2fLmCamiTbiJ8f7vd/7vZHv\ng9fVwaaZ26iq7/s+EvdH7BJtfu6550rqKmRP2jaZC8477zxJ0t///d9Lmh+Xh216Zim2QPYVsVrM\nEdwXY5B4zAsvvFDS5O+P633zm98sSXr/+98vqbNDj7kjs5pn2k033TTyf9oliodlTnzLW94iafj9\nlfbEw35f9apXSZI+/elPS+rmYOyM2ET2qyVW65nPfKakLkaMmCvGE3MUP8nOO/PMMyUt/twZkYpU\nkiRJkiRJT5Zk1h41JaKdyt0rac2Cw4MelyLldX3GlYkCKEYoNu6Ftp7v9ttv3+P/adcoO+yGG26Q\nFNfb+shHPiKpqx3iXhNK41133SWp83pWrVolaX4dqQiUDBQezx6L6nlxPqoLu0pRW2X3iiuukNQp\nT4CXyXH4HW9x2vuSeS0c7LdUK+hFL3qRJOnzn//8yN89I8yzSr2+mdeewb7JZnRF6oQTTpDU2Y0r\nUnPvxxUhmPRuAxzfz0Nfu9IEXqvtG9/4xsj/vS0/97nPjemKFwYlpDZjcii+zyW2RDYaY5yK8P55\n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\n", "text": [ - "" + "" ] } ], @@ -400,9 +400,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\nfnMq53NaFbalttdaRchBqSKDvC/Mz6ifuBcyP0pKFPe8WmV60SecXXbZZesGrM9//vO1995766mn\nntJ3vvMdvelNb5IkvelNb9K3vvUtSb82rpNOOkk77bSTVq5cqdWrVzd3TJIkSZIkyXKn2lV97LHH\ndMcdd+glL3mJnn766a1e4s4777zVO/n5z3++NeNM+rWyUMpCqeH444+XJB1xxBGSYkWqllIMVO1T\nPPEDpZiZEpyvpERFEHPFzvGMh9eRKuExZnih7vUSy4Z3WooX6PuePvJ2++651wr9gPLk2Zb8rPUS\no33cYNqbC7TuBemwx10JlEzwLNO+kIlF9qgreNvai/elz2W+y/+/5CUvkdRdG3+PlJux+rIV3zvQ\n8QzkoXul0R+sBZ5hDX0VO1TaKC4Wm2EOljKdSzDnqF/UF9ZSMpuJeVsqRWpHATtpvSeydvSNUfS3\nMtwrsF/estTGRPVVNquy9n75y1/qta99rS699NKtRfFgbm5uUTmvVepLkiRJkiSZNddee+2ify8q\nUv/zP/+j1772tXrjG9+oE044QdKvVah///d/1y677KJf/OIXW2NyVqxYMeEBPfnkk1U1bLzWi3sf\nxDmgbkVZYF7hfOtFDoxv4LjUa0LR4qGyVHNjbCUlejh1Jadv9iHeH0/txAD59fH/pYdkr59VS9Sf\nYytRqKrufeAtu3rh7aptDyqJ7ywP/H/kdQ/NxCrFKLZSO76RilGLx0S5KrRtv3kfRfGJjOnmzZsl\n1dvo2PWI+sJ6OlYWYAnGmP6K1pSha2t03rGy74aqvjfeeKOkLkvthhtuGNymFsZ6C+Lss88+krp7\nHLUAS/cQV/iGKlLr16+XJN18881N348yo4G1F4WRe2ZpLT/66KN1/fXXh39fdIV95pln9La3vU0b\nNmzYumWAJL3mNa/RFVdcIUm64oortj5gveY1r9HXv/51/epXv9Kjjz6qBx98UIcccsiiDUySJEmS\nJNlRWVSRuvHGG/WVr3xF++2339b6DhdccIFOP/10nXjiifrCF76glStX6hvf+IakX78/PvHEE7Vh\nwwY95znP0WWXXVb1aq+U1fXDH/5QkrTnnntK6qra3n///ROf4/2qV3ElAr+2wrLDU67v1wQlj7uv\nkoJCwXnc24uO58pdqxdGzBVP7a7wET9SygCiv1Du+u6rVAuKC3WGUNRK7cPb9f7kevH+yHosqRZc\n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\najtMAAAAAElFTkSuQmCC\n", + "png": "iVBORw0KGgoAAAANSUhEUgAAAlIAAAJOCAYAAAB8y+mTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXmwZVV1/78vgBE1JkGQoZumu2nophtsVJxBoQwmpFJE\nqhRRUziVQzRxLMVgJbwCkcYBE0sxZcpYRKscq+KQVFAxCAiFLcjYzdDN0EwNOMUkmkRRfn/4+7zT\n9/ve7r3PPufce1+zPv/ceu/ee/Y5e6+971nfs9baMw8//PDDCoIgCIIgCFrzW5M+gSAIgiAIgsVK\n3EgFQRAEQRBUEjdSQRAEQRAElcSNVBAEQRAEQSVxIxUEQRAEQVBJ3EgFQRAEQRBUMsiN1IUXXqg1\na9bokEMO0bnnnjtEE0EQBEEQBBNnpu86Ur/61a+0evVqXXTRRVqyZIme9rSn6bOf/awOO+ywPpsJ\ngiAIgiCYOL0rUhs3btSqVau0fPly7bHHHjrllFP0la98pe9mgiAIgiAIJk7vN1L33nuvDjzwwLm/\nly5dqnvvvbfvZoIgCIIgCCbO7n0fcGZmppfPBEEQBEEQTAMHHXSQ7rzzzgXf6/1GasmSJbr77rvn\n/r777ru1dOnSou8+/vGPlyT97//+ryTpF7/4hSTp937v9yRJe+65pyTpP/7jPyRJv/M7vyNJ+q3f\n+o2w9uMf/3jke7OzsyOvOTjef/3XfxV93vH2Dj74YEnSbbfdVnW8FPvss48k6U1vetNIe23hhrY0\nTK60P9evXy9Jc3Fxn/vc50beX758uSRp+/btkqT/+7//69ReX9DO2WefLamxR/oJ+/r1r3/da3vj\nvr5ce7vv/ptl4bGPfawk6ac//enI+6V24+2l5tehhx4qSVq5cqUk6corrxw5j9WrV0uSNm3aJKmZ\n/49+9KMlSXvssYck6R3veIc+8pGPjLSFbd1///0jbT7xiU8cuYYf/OAHkpq1hu/9+te/1kMPPaS9\n99575Lh/9md/Jkn68Ic/LGl+Hz396U8fObfLL79cUrNWcc3//d//LUl68MEHJTVrF+3xesopp0ia\nHlvZb7/9JM3v1xzM/R/96EeSGluY1FzYsGGDpOY353GPe5ykZlwYr2XLlklS8ofU+e3f/m1J0l57\n7SVJev3rXz/SbgrmFr91P//5z4vac4bqT86L62MuTutaRn9yvowz+HineN7znqdLLrkk+X7vj/aO\nOuoobdmyRXfeead+8Ytf6POf/7xOPPHEvpsJgiAIgiAYnOOOO26n7/euSO2+++766Ec/qj/8wz/U\nr371K73mNa9JZuzh3fE+HvBPfvITSdJDDz008nm8R/6///77j7yicJR6Dc5jHvMYSfM9ZpQJlIjc\n3Sv0rUQB3jPkFAK8KveSfvazn0lqvIpSUAp8fACv5fnPf74k6fbbb5fUeO377ruvpPpxqmW33XaT\n9JvM0p1BP6IOoCrUKlEoJ4zT//zP/1QdZ9yk7Jx5+5//+Z+tjpdSelE1mMdr1qyR1PQb9ul2ine5\nY6gAY8TYYeMOClDqHN1GmEOcE6TCFPg+5wF4wJy7K1HAXEE5K4W5yXmWrlVtaatEwaMe9ShJ9ar/\n0Hh/YU9t1yoUTX6TSmHtYdy9XdbwlIo/NMyD1No/bXC+/Obdd999I+/ztOzmm2/u1E7vN1KSdMIJ\nJ+iEE04Y4tBBEARBEARTwyA3UqXgtXHXjxLF83NXTn75y19Kkn74wx9KapQPYoZySkOOBx54QFJz\nF4sSccABB0hqvJWhvLxacrEqeDEobiha7gWXkvNGOP4VV1whqfGuf//3f1+StHnz5lbt4cXWni8Q\n/4J9peD6+vKa/bn8tJMb37ZKVA7mOYoUqgoKoiuwDnYlNWsJawa2wyue/j333LPTY7HGALEqqObg\nc+93f/d3JTVrB7Cm8HnWmpRNM2fbJuYwdh4jRr90XSNr4Troh2mhtH/pT2yV3xx+C7oqGg5xxrSL\n3aLuTwrmFXNz2sHeXYmCvsZtuqw6CIIgCIJgETExRerxj3/8nNflMTcoBjyHR4lyuNskdoK7ZJSX\nWvDe8Ob69jbGDTE544rNQcn50pe+NPJ3LV2VKKiNK2ib3TjtoMzRr/QL8wkv+AlPeIKkZl7yuZxC\n5F4+ynHK/pjnxIPwOeJ8aB81w2PVdsyY49xRlBgz1gbWmtQ5oTi5IkUbruh4DBZ96msW11I6F1A6\nam2WsTvooIMkNWOWi9vMKUb0I8obmaw5GIcdM7qngdI1kXHjddu2bZKGU2awM283aEfXpxmlCmoo\nUkEQBEEQBJVMVJHCs8RLJJaktHYGGRHEI6TiE3LgLS62WJa+yGWCtFX48NKIN3Fviloy487a85oi\nOW+fbE2uhxi+ru1PWtnKZWl6XA0KFipJTpHy68t5g8y7a665RlKjQHEcxoH4FFeLdlSFmMt81zMl\nWTOwaWJdUEpQGlKksrqAdliDmAOcxy233CKpXGHAVttCH6K8EX9GjE3KBlOZqR63hqffllQW5bTD\neLrSOKmYs1JQWBdLv3sGflewW7LzGC/GkTU9pUyWZmqHIhUEQRAEQVDJxBSphx56aO5uD4/UPc0c\nfJ/n9HhLqZiqFHixeKnctXq14hR4fYsVj0HBe6Yf8BJKSdXc4W9q6YwblJHSTB3O173w2uftHGfa\na7BwfcxH1JqUioHXx3x0L67Ua+c4gDLmOxnsDDIKuQYfK45JDBFzvlYlRKlwdZOxRs1DEWg79iXX\nvBCsgaj7Hv/WNvOS8+Z1sdRC6wvsBBvNZf72BWuVr8GpLLTU9/umbyXOFc++wP75LWeeonLn4jdL\nCUUqCIIgCIKgkokpUr/+9a/nvMCuMSN4V147pRQUMWKseK6MAsHx8fJScRGTxp+Hl8bk5LwL9+pz\nx+XznA93/yhV9957707bG4q2doEXw/V2VZL62qOP8+H1wAMPlJSP72kL8yI1zl4bKPe5nB3Svymv\ntKT/cvFbgI22zchFYQKUCmzL/2bN8IzEHKihrtKVgqfN3GYs28aPpphUZe1JkasdmMoorcX3WmQt\nLbVvmLaahw726Ipf37gCi/32FRcdilQQBEEQBEElE1Ok9txzzzlvDY81VcMlB8oRnmxbhYjzwEvF\nM/a7ZZSevuoa9Q1386kMk1q89ktOYSCmhT312DkdhWfaasmk6Nvr7ttbxS67xkGkvGnPqk3tfZmb\nD8zrnHfsqo6Tmtc11bJza0wqdsLVMu8zv1Y83raetscktYW5Rl+icBFrw3nVZnPtKopUacZ2TrXn\naUhpXG0O39+TSvipivyLFdYunloMpUh5fC7zu6/f8lCkgiAIgiAIKpmYIvXwww/PeTV4ttzVt33e\nzD5EeF9tFSnu/vE2OS+PRelLURgK+rEvJQpWrlw58neuH2jfxxWlqq+98x5pYJ8offRf15gzVBTm\njasgXRUvvL+cIoXXyHzGXnhN2V3NvKQmlVfmpm5Tag3xueUZqvxNtfYVK1ZIklavXi1JevDBByXl\n+4IxqJ0jqL7r1q2T1Hj6d9xxh6TudYUmXQutL/pS1vquPI6djDtLcNx4dm3f+3gC88kz0vv6TQ9F\nKgiCIAiCoJKJKVK/+tWv5rw+nitz14hiURpRf8ghh0hqvKS77rpr5H2O50oJsB8VXiUePl7GtMcD\n4PGvWbNGUuO98H+8mq1bt0pqvGH+T/VlnlPTn7zPcaFUMaTfUBjoXzKf8LqCMuhvr/PUVV3wGEXs\nnva6Kpyl6oXH86DAlVaiXwjPZOVYVDrmfWyaGKItW7ZIaubSqlWrJDVrBbBm+XFcxWMN4tpyihTf\n71pzjXao4N42/nTaScXvldJVWRtKXUcxwW6nJTN8KJjbfcWYOfQf48S45fo19toLgiAIgiAYmIkp\nUo9+9KPnlIr99ttPUlMjo1SJwlsjK4wqpniPQIxO7jkzd8OLzWt79rOfLalRfvDS8L65q8Y7JeYE\nBQrlwffGYxz43rHHHitpvnKR2s8JL4M4FPq/6551tXCeeCV9x5INDSpFaZxNCld4UnEJeG3MM+YX\nypHHF6VIeevYJfPzgAMOGGmX88Q+8dJREVB3qKO1I6iofu7YvFf4PuywwyQ1aun1118/cjy+7x4q\nx+Ec+ZsYLFQ1YpN8zqCkuNrGtZVWsE7hNfb6qiM1bXi217h2Dxg6zrN0jkHt3oyTZui1GAWatYv5\nym9+qj4X8zhHKFJBEARBEASVTEyRWrZs2ZxXdvDBB0tqPGyUEbw47sr9rvW4446TJB155JEj33ev\nkb/xTvF4aR/vj+PzOY5HrBHeLB4x3qbXveH/KESpnay9MnTt/kV8b/PmzZKkm266SVJznbzP82Dq\nENEuShFKnNfV4npRpLgu+sUrynsMFePoe92VxiegMBLj1Ra8NOJfvI7VULVL+ob+RFGspTQLD/WC\ncUOhbOuFr127VlKj6gB2gp2yswB2Qfte8whVh8/xfam5tlTFcubmEUccIanJqkOJwlb9XFGGqOfz\nnOc8R5L0tKc9TZK0adMmSc0YcW6sXfyf+ENfY2688caR9phbKRWd62BN8rWP6yI2iv8ffvjhkpo1\nD0+cftuxL6cZ5iz9yFoOpZmsrA385gD9gCJBe6zlvHqcKWtr20zX0t8C7MJrLvJ/VN2h8N9C5gPQ\nvq8VfI95wfueGc8a4E9T6GffvzWH/zb7b1NOwStV/UORCoIgCIIgqGTm4QkUBJmZmdHs7Oy4mw2C\nIAiCIGjN7Oxs8ilKKFJBEARBEASVTCw4ZByKFG187GMfk9R+5+za9j7+8Y9Lmv/8GIhvqI2J4rnv\nu971LknSmWeeKampeE2tG55jX3rppZKa59JPeMITJEnHHHOMJOmyyy6T1MRjEC9CNiXn++IXv1iS\ndOGFF0qSrrrqKknNc3HPjAL+z/Nyrpv/E5N16KGHSmriG975zndKStvK8uXLR66LatLge/ylapQQ\nB/HmN79ZknTeeeeNnC/P52uz5Hjuz3UTT/Ga17xGknT++edLarLxUnW6vN4T50MsEbFqqUwf+vGs\ns86SVF5LpRbae//73y+psQvGifgdvDzPliV+getOZfMS+/b6179+bEo37bz3ve+V1GSJYUucq8da\nEaPEHN64cePI+4whtkfcIe3lrq/trhAOMSjvfve7JUkf/OAHJc2PH8XmmFNuQ7k97DgO8Zannnqq\npKY/ybLi+okL9HawIWzF96LD5nyPxLe85S2SpE996lOSpG3bti14nn3BuF188cWS5q/9zAniQFkz\niMFjrjNHWKO5bvqZcfmjP/ojSc1axhxiHLFL4hcZD7dH1mRinOgnxp2Yv5e97GUj11kK8wV7L11j\nS+dDX2Tn3VjOIgiCIAiCYBdkcaQrdaTvfZBy4DV51V28Re7Ceb3lllskNd4EXkbq7ty9XLxPvFw8\ndP7vNVVQnr785S8veHy8HTJ/POvwmmuuGTmuV5KvrcN16623tvo8/ZCqkI4CmVNcPFOp7/2eXAnz\nrFKv54VC4xlb/N/tAu/W63vxeR9/z+IcGsbJ7TanEJdWMk9lxY4DH0v63K8VyM5LVSzH88cm21Zz\nZw1IrR05xcoVJD9O6fnkagGmVGSvZs/nUraasyEUGBQyj3HxDN6h4SkFayxrpZ8Ha8ZFF1204HGw\nD1R51grmNopUbi3zDHZANX/yk58sqclK9Yzhrr+tbetkTSuhSAVBEARBEFTyiFCkSiul94XXBAG8\nQO7CUXz8e159GC+T5+YpD9zr6uCN4F2UxogRx0EslVdXxnvBO0V588rTbSFeonTvuJx3XKq4+Ofo\nZ+wGr9a9+No94Dxeg/Y9fqEUzguvFoULL7x2T8Oh9hED4oGwszvvvLPqOJOsA+Z9U9pXrvQwxxk7\nVMTcbgxOau5wfI9tmhRcn6ulzCXWEuZYaveEUlJV/GtjyWpB0eG6vBZh6VrCbwVPNfhe2zhgzgeF\nlNg06mGxhrhyCEPHHS8WQpEKgiAIgiCo5BGhSOUg8+OZz3ympEYRwBu89tprd/p94hog5+25p49i\nhCJDzBSkYkyc22+/feR88N7wGvCCUFxSSgXP7fFCPKPFFRWuB+8yFZuVw3fozsF1dPWuXTnkelCI\nvKI+XtqSJUskNeoC9uLXzfFTFd1LqzCXgtfdNdYLxYhXYuH68uKJr3DFte141uyrRkYqWUmorrXV\n8yGnmKCs0IeontgU6lrt2KXU4FKVs23l6KFgbWLu1cbz8T36uVYtZ03lNwLIwiuFNZU1uTZzGzvy\nNdrXshz0L/3DvECh2rJli6T0nBzXnobTTihSQRAEQRAElSxKRQoPua9sPI7H/lnsw8Vd/hvf+Mad\nfr+tF4DXh7fE3f5PfvKTVsdJQb/48XiOnou74LpRCPz63ItCQfJ4BsDbyXnZpeOJgoGCR8xZbZ0n\n98JTNYCA66N/UDTJliTDJRVb1TVbjoyf2j33SmsNYSd48SinbeN2cqTqrQ0Jnjxj3FemZq5GHLaL\n6okywVz1bLUUKCTMvb5qglGLbtLQT6nYHNRdYspyKmbXDTzoV17ZH7ZtTUBUbJTH2vpVzEVeUVRZ\nkyC3r6nHgfr+lqjl/N/V+b7ouqaVQjwm/cS86/rbG4pUEARBEARBJVOtSOE5c7eK99h3pgWxRV//\n+tclNTFCpbE6bTNJ+roLdvDiyLjg/F3pyXlPZAVy905mCPh5czyel9Muf9cqRSnwrlCSuN7adlxB\ny/UP3r9nWHm9sBSemdM2O66tAuq0nT9UL6Zf+H7f9jsJ+q4ZhlKEcuG2lMtyYq6iNKTOD5tBcWCN\nROnwOV+qnHgGZNdK6bV4bTeHNWDc2YdXXnnlyGtbUPxqsw8B5QaFi7XaySlxqMv8trIWEiPFmsRa\nh133vUXv0EoUeOZ8X0+1QpEKgiAIgiCoZKoVKe4e8c6IHxiqkjH7DPG8mZgX7sb79l5TUK22bV0d\nvGGe/+L14HW0fb5N/3sMkXsj7u3STluvyyvBp8BL9gryDrFvxDChBrgX4gpPrpYL3gyvnC9Kpvez\ne/XubaMklipS46oG/IxnPENSo0h9+9vfljScEsV4eZxQ34rmkDAHarOxmDMphQGwYWwL20nN8dLz\ncRssVaLYb/NZz3qWpCa26fLLLy/6voPStquB8pObwyhCzAXswnc9YM1hDfTYutLYJtZS1nLWQP7m\nONhbrX1PmqHWrlCkgiAIgiAIKplqRQq4G09lcPQFygLenseEpMg9z29L7V0z54/3wfmjKLVVpPBC\ncgqNeym1z/9La5IwHrSTihnieT+KD/3gipR74V6pPXWerj649wbYB+16TFZb+/F2UhleXatBE7dw\n1VVXSZLuueeequOUQr9zfXjlXF+fNWs8lgkbIt6uthp8110UUvsjOswBXrmOtlX2ndrzx8bIQuvq\n+e+qihT95Cor18vTBHaXoB+J4/U9GJmjvjsClK792L/HIXtFfI7XNcZrVyMUqSAIgiAIgkoWhSI1\ntBIFrmygIOS8w76rAddmonj2F15I7V5peCG566fdofc05Hzw2vGeqCflCgxeGupCKmPKvTWvPk2c\nAl4k//c4Ao5DfxHz44pU6rpKKc3A6joeVNjvW3FNgQLF9WG3jEefGVooUihQZD/RZq0i1TWGBFWu\nbVaUq7O1WVW1dYKYi9iM2x5jWxrv1lVZc4beN7IUj+8Exos1gvhY/xzZmfSP7yGIggSldsh5+VrP\nXEQxCyVqYUKRCoIgCIIgqGRRKFJtq8fWwt0/WV4oBbnn/V3r+nTFFQO8FLyI0lgnJ5cJBF5HqpZc\nzRr+z/kQH0CVYX9+X6pgpCqbc13uTeM9ej0r+tmzD90LTsVHQK4fuP6c6tDXfMHL5bpK921rC8dF\nJaJdXtvuxbgz8OCZO4xJ2zgw3x+QDF+upe2cQxkjUzlXd8rpWt+nVn3EJlFMOA/PKizF4whr4Tgr\nVqyQNHycXw7U7RTMWTLT161bJ6mxL34LUVQZL+wQ+4NS+0ut3fx/XHWeFiuhSAVBEARBEFSyKBSp\ncdWs4O4ejxhFgLpSpeT2N3IOOuggSc2+Rm2VHbxBvFcUGa8w3pbrr7++6HPuPdbu94UXnqoLheKD\nPTBejFOtnXiMEl4cx03F6NEeMVruTaa8QVf4XHlC4UopP66C9F1l2BmXN0ptnKVLl0pqlOG2Ow2U\nwJxgbJkzbSsdY7OMBa+1WWesAaksrBy+j2dbPMamLaxBnuVV2q/UozrwwAMlNePCGnPbbbdJKrd5\nvo8S1XUvwq6Uxi2iXDEHWBOJQeO6fG6mdp0A1g4UWfqR8aKfOU/+TtW9QiF7pBOKVBAEQRAEQSWL\nQpHqCl5Rzhugojif526eu/KUZ+4Vz9sqBG3jIBxvb6gYFvBK7/zNc3v6OXddXnUXhcmvx+tB8Xni\nL+644w5J82OiSvcJc6+/VNnie3jbtZXvXfHMjd+uHq9w9913S2q83bYV/muo3XMLBQm67knHNbdV\nkbH1rvWXiAfsCiot6uK1114rKR+zw1xgDUDdrc1mhKHmTGnlcChd67lelDTsIZc1l+sfztd3D+B7\n9BP2hD2gCjtkJvdNKi4aRW3aCEUqCIIgCIKgkqlWpFKKglclzpHzFrirxptDWfAMiZRX4+fnmS8c\nFy8A78Jjsfbaa6+R9tj7z70MdhBPQXyB1xjJKXJ4H3iRKHObN28e+Zx7lXiNqfHAu0JR8popfhzH\nY5bwUvg/7dLPbWv5eFwB+5xhF/QH4+bZerTH+OH1ET/D5zlfH0/PCuQ4KFNch2fP8X/+5nzwHrEv\nz1Tab7/9JDX9hl1yHcwX91ZdKeP4ZGpxvK57AfJ92p3m2jWM1QMPPCCp2Z8T2+HceT+lNK1Zs0aS\ndMQRR0hqbJmK1sCaxBqADbgyksoYdTgOx+0rW47zYs1sm73oa0GfVe37pO2uEcy13G8XazbHJVaK\nrM5SFXzZsmWSmrXT1X3sDLvluLRLzJqvGYznoYceOtIe8wG7Y03z2nyp6+e81q5dK2m+EslvYwq+\nT39hf7kMbn4z+e1GaX7qU5+60+9BKFJBEARBEASVzDw8dMrPQo3OzGh2dnbczQZBEARBELRmdnY2\nGYMWilQQBEEQBEElE4uRmp2dnXue2jWmwiuLE7Px5je/WZL0iU98YuR9nodSt2br1q0j71NNlrtP\njxHieTKZKTxXPvXUUyVJ//RP/ySpyTYixobz5P88Xz/66KMlNc+VL7300gWvk+e3PP997WtfK0n6\n53/+Z0nzY2noV7++E044YeT97373uyPfI7aH+AliY0455RRJ0nnnnScp/3ye75fGSRA/QL+ffvrp\nkqQvfelLkprn6zzXJ66DOBKOf9hhh0lq+pf+5vNcJ9fFeb7whS+UJJ155pkj7eXweJVUhouDKptT\nZ7E34hb8+LyfijHz9rAXjuPxNcRGrVq1SlITr8B82bZt28jf1GIie5N4lre//e2SpI997GOS5o8/\n45iLX+Bz2D92wt/Y4emnnz53bcRW8FnawOaJ2fD9KMkK4pUYD8aWOXzyySdLkj760Y9Kmj8mnBu2\nQR+zhx+xHsTjka3mc4oYl1e/+tWS8rbifVW7Zx3tcH2+fyW7CTCHeD322GMlNf1JLTquy2NjnvOc\n50iSjjvuOEnSWWedJSkd37hy5cqR6/KsydS4pq7v7LPPljR/t4K2NemIiWOcaZfjnHbaaSPtDg3t\ntF3LHN+lIdfeuK+vtD3mMxXuWbuIj83tAZlrJxSpIAiCIAiCSiaatddViQK/2/YsH7wXvBTuPlN7\n6G3atGmn7eF90Y63h8fOeeE1eY0XPP+LLrpop+0BXo57YShweMucH/93qLvk/U8WFooX3rJnfXn2\nX8prIVMpBe0xDoyT1yZhvFCWyCRBAXFvorQiewqum5ovqAqoCF7XCMUt1d9Qu2ckakqq4nvb6tdc\nD+OFXaJcMr7YGwoe71PnCeXSs2hddaA/UW49y5D2UuqJqwWoLSjCO36Psa8N/cypeg6qOh6uZxcx\n5tgItkv2FWObqh3Wtr4VY/nc5z5XkvTNb35z5P22NphSV6kw7nzrW9+S1IyNr1XOJZdcIqlRpHLn\nRX9wHdgCWWXY5K233rrT40DbuZM7r2kjp0Rhp/R7n7sHjIPSOl6uerMGMl9zilSOUKSCIAiCIAgq\nmeo6UrW4Z4u3wN02XqffxebubvF+iElBAcrdzXbdK9A9eG/PY4RQGlL7Zt18880L/h/vGqWH/nKv\n1L2WtjVe6GePP0kdj+fb9AN1l/AqUteTgu9hF75juntxeC2p66TfcwpcrR3kKp2XxmQB3pnvyehK\nI/1z8cUXL3gcPo/deByNfw7lkfHnlf7zemt+PpwnSirf31ENwMMure6fmvNcE33l+zsCY+4KGNeQ\nqhFGuyhVXmMOUipkCmyXWCyUIdYCYohyqnstXGeth496icKXep/+IlaL8bvrrrskldcYRBXn8/50\ngfhW3vfzQglDvR7XvrB9wT6v9ANPU7zCvj+VmBba9jcV9sHjq2sJRSoIgiAIgqCSXVKRclxBScVm\n5Z6z4kW69+Leb99eicc+OZ5t5d5uKSheeF201/au3fdp8kyk3I7w7pUTe4QSiHJRu0chXmYqzsMV\nTVdSFjvErXgV7LZ4plLKTnyHAuzKd45HfeG4qUr8HGeh+Yp6yZzns6lYkdScxwZ8Lrt6mVJeaA8l\niJgorjGVeekZtrUe83XXXTfyN8pJTjWdNF652pU9+hWFhLUYRZD+SsVt+l6CfN6VRuyC/Vf5HO36\nHnipNd9tfNpwdd/n6JYtWyZzYoV03dvSM8FrYytDkQqCIAiCIKjkEaFItQXvBOUERQUFCq+J98ly\ny9E2Y8b3bAPPNsRL5nxQatruUYYXjzeeymrMwV1+KgMkl+HiKgFZhnjTpftVpSDuJeWFuMrA+dRm\n+JTWYml7nNRelDl8n65aL4z4G84jVVcMVcaVJO9P/i5VGhcaD86F19o+Z+7gsfv+isDcdIWJ76P+\nEYviMTXMEVdE+oZaX33Tdt/THB6DxFpEbBe2m4qhovaZ1wkCn9v87ftgYqvYEWs8Sg1xqbn4xGmP\nmWJ+YNfkKbm1AAAgAElEQVTMVTJzp3mfyz5JxWWWEopUEARBEARBJY8IRQrlAe8J74+7bTxbj4FJ\nedh4LcTauMJCBgTeCHEbZOzgHVLNOAXnxfc5rsc5cN5cZ20tEM7Ha9zUKjG1d/cOsV5cF16i1+Uq\nhRg5V3aGgnHHm63NaHJ1pTY+AAUzV5k+B9dBbaSUqpJTKGtZKGaQsexrC1GPGfE+T2XVodCgSGFz\nrgxxXNYSr1LfNs6RtQD12+cgWW6p+MC29KVE5Y6H7aAc5L5fOqdz2Z0bN26U1FSYHxeMH/ZVW6E+\nB2uKZ+4yf0rrNC12uv5WhSIVBEEQBEFQyUQVqb5iR3J4HSDusvk/Sg+veJ2p6rg8fyejw+9mPRbK\nMwPw3Hke7ftiuVeG4oW36pW/eR8vzL029yZ8rzkgboPrIj6krVfcN64U8jf9xnWXem1eu2fo+BTi\nD8g+LK26PBTYJfZfW3GdCu/Mq5SddI0TYXxc0dqZl9yXB+1zxOdmqarH94itcVCdmdsoUm2VCK47\n1efUYUJtbluDbFKUKk2shb62ptTQnO2ztqPgjSvmifMmBo/z4LW0TloOsg9ZC333AX4TsZNdXZmq\nJRSpIAiCIAiCSiaqSKWq+XYlVdHbn7OjEHGXz9146fkQ/+DeAX/7XmZ4U3juXk8nFW+B15val4v4\nC9rJxeCkYou8fZQUr+0yNF7rhfHkuvDa8Y5Q/Eq9dz6Pl+uKYteaIg5KH2rApPF+6uplY38pb5Xx\nbJtlSCwXGVOoOb6f3Y4qkZ9D32Pp9KUMUFG6bSXzFLlYrlys0bTB+OXi7HwNz30+Z/veT+NSpLBp\nzn+odvktIj4WtR97Yc4y10KRWphQpIIgCIIgCCqZqCI1VI2KlJfoVWbxVrnL5q681HtFyfA4CdrH\ni6Adj80Cfy7t4F3yOd/JmvMv9WZTmTHUBaI9YnrGjfeP7/Tu2Ze8X5oNRz/xPVcwUzVFUrFlOTyT\natKUZqiUqjnEcdCvqCtAf7oilYtPQZHyGj+AUsX+atL8udFViUJFTGX29oXvTtAVHzsyR4l1QU1f\nbLgt+VzkevtSCofKlitlXAoY/UrGNvaDCtw1w3dXJxSpIAiCIAiCSh4RdaSoistzczxiVwpKvQ8U\nERQbj0dAKfHn3K5MOanYLNrj1etWuULj7XmcADFGeDt4w16BOrfn2VC4N4n36c/nUUAY31LIkGLc\n/fsoLGROEStGLRnG1ZWXFE960pMkNf2Zqso8LrAXV4SxZ+wTO0idL59HGSIWytUOjuP27RXqXT3K\n1d0a0lunj6iM7Zm3Q7Xn11oby+R9+eCDD0pavDEu9H9tDbZg5zB3eSpBP3sl/2BhQpEKgiAIgiCo\n5BGhSOHV4YGjPNXebeNB+w7ggKfO5/CcUUDaxm2QFZWqicLO3XgRrrg5nB/ngbeK8kD1ZfZbGrrO\nl+PjguJBDBtxMFxnW0XKFRau//jjj5ckrV+/XtL8/sZb4+9SRYr4FFf+JgVVtF2RxC68vhvni0KH\n3Xj9Lezd7SVlP57VynGZr3jJ2L+zUJxPW/UUJYi2+X4qjnCo7D/mqleSfvKTn9xrO/Rp7T6afXP0\n0Ue3+nypComNsybSn7U14zgeleG3bNkiaf6cWKywOwFrHL+VPA14pFQ4Z354TckcoUgFQRAEQRBU\nMlFFiliUvr0j7q4h5dF2jf1JedqueOCtdM2USe3gjjLmMS8p743MHa/X5FWOPQOqFGKQar/v2YJk\nZXl1X0iNby0oca44uaJZyr//+79Lmp74jlQmTtvzQ8njNUWqenaqxg+KGPW32tBWGei6V1zb2lgp\nvP4RqlxbtdXPCwUGJSHVP+6JA0oMqiFzAzjP3JwgA9M/7zFgK1eulNTMPXZZoN4R/ZSyHZQTjoua\nyv99jeQpAe8Tx4jtoY4fddRRkprxYC3n++NW7YG1lvZR71Pvc/6MJ39z/fwWs+bS39gH1+sq9q4C\na2DbtTAUqSAIgiAIgkompkitXLlyzvsh9gWvDi+Avz3GCK+Cu2qvfE1MSt9wXqm99WDt2rWSpE2b\nNklq7t6pSYPHjTfs3pBnzXksi++1l6vHhVdKf3u2GnEieJtds6G88rSfd06BTGUcjYvUXni1tVSG\nVqLa7pU3bu+Z+Yi9e6V8+sdVDbdr5g3zheP0oUiWKivO0572NEmNgkLfMha8skbxvseHoc77Guhr\ni481fcHnUWqYQ16Dy+eeK18eQ+S7BzipTFrGnMzL1D6JxBodc8wxkhpb4Dz4G1vIVSrnuOyN53jc\nqI+TXw/nsXnzZkmNDfN0YNxzyW3fayF6LUGeCrjyh3LF9aHAsX8mT1U4rh8fpWrcGd3TSihSQRAE\nQRAElcw8PIF0g5mZGc3Ozo672SAIgiAIgtbMzs4mYwxDkQqCIAiCIKhkYjFSX/ziF+eeS5NhwvNe\nnoeT6UFsEc/HeU7Nc3ue2/JKvMCxxx4rSVn1y6sV14p0tJNrj+fVnGdpdhvnSX/99V//tSTpk5/8\npKTmebXHY6SyBT0egufvxEswPsQ2vfKVr5SUv76+oJ2zzjpr5HxSYCe1lcNLxy8FNViIpcrFD3Rt\nry3T3h72TR0v4mO2bt068jnPCsVu3/Oe9+gTn/iEpGYMvDYVx2QtYS4ddthhI+97xiZtkkV20kkn\nSZI++tGPjrRHOx7LxJrmsUasAR67w99kIL/oRS+SNLmxo5/oz9o1kn6kH+iXv/mbvxlpb2ho57LL\nLpPUZJaSHbhq1SpJjR0QW3bIIYdIauY6GdPYIn/zW0SNv1NPPXWk3aGhnb/927+V1GRfspce53vt\ntddKatYqxnm//faT1MQv8/9DDz1UUnP92PtznvMcSc1vkWd3em06WLNmjaQm5oz+d/g+53H66aeP\nXOfQ5NoJRSoIgiAIgqCSiSlS999//1y2DXeZKcWBarIoJXfccYekJiMEL4dMBpSJHKkaMHgjtEeG\nAnfNvhccd+/gtU/wVmkHxQhvBe8AhWjFihWSGi/J9/vy2jJktdF/eNW5fcE8A4a/PVtq0jt/l2aj\n9VV1l/FDLcDLxAv3/kE5ZdxQxB544AFJzXhRc6W2vlaKVMX7WjhfMr7GlZlE/+Ilp6pQM29RSnfc\nexIP2klltjKnbr75ZklpW2PMqMHl/8f2fAx8n0zmPmsUawTHoX2uiWy+trC2YINd6VonC7raPnOI\nNa6rbXrNOGyeNdfXvlK1m+O4vYwb7Au7or/4v6vmjLPPI58n2HnpLg2pceIeIJctO6k6XaWEIhUE\nQRAEQVDJxBSpPffcs7gqLDVBUvv9eK2SlBeHV4jSwN00d+V4gQceeODI+7RPdVeUHs7Hq7tSkyPl\nBePteE0X7vo5j5T3416SKxL0a1/1izweoq9qzn2TUs4WUi52hscF5GKdaPe73/3ugu/TLq9dq2lj\nb27vXSvng++z1RX6n+smToPzTc3/lLpD3BDn2aY/U7Eapaqnfy6l+jInWWu8kjR1lnz/TZ/zbWu6\nsUZRJ8gVKdR2jztbLDB+Rx55pCTpqquu6nQ81mBXRGrXTuYi9lW65gwFMUw+l7yuVCn85qHCu2rc\ndi/DtjUCfTeOUlgzUzFYXQlFKgiCIAiCoJKJKVJ77733nLeFF1ZatRbw9rjbxKtIPbfFc+U43F2j\nOPD/733ve5Kau3Y8X68mDK5YcF5tY0z4XCrOI4Wff+p5M9lQq1evltR4pd///veLzgvGrUThzddm\nCrX1CvuKNXJyFehz0A+uwHrMXl/4jgG1uP14de9SmFeoOsSulRyHvkspUqV4X6P8ED+JjfqedX7N\nrHlcE2qbq4BtbZ6xuvHGGxd8f7EqUUDcKGsYWWTEIrUd19R+jrVrXF/7xvouF/vvv7+kJqaotJo/\ndshvn2e4twXFDWXHlS2vxN8XnG9tHCzzbChCkQqCIAiCIKhkYorUQw89NOd9+T5PpR6w12rhbjUV\n24GH7TuD+/5YHIfzSe1/xff8bpcsQr6/ffv2kfe5u2ZHcf4mFsu9277wWJ2hlIzFRu1z93GDvXZV\ntkrB7rvGxHkMU+35M984H1ScHRXHVAYjcymXyZrC9zgDr2nl+4LSZ3jyKFisGfQN32ct5PyH3qdx\nseKK3rp16yRJ11133cTOqU9cRUdxazsHsVfsF7usnQccz/e9BK8flQN7z60JtSo2EMdKtiy/fV3j\nVSEUqSAIgiAIgkompkj99Kc/nXvOy10yd7ulXphn7aSq7vpzYc/e8895BXX+5hWvl3bIYABillIZ\nCdxV8zmq5XJeeB2lNWBKnxvj1aTqYU0rXWOkUHJS17tYvP6U19Y17ifFUPbhXmwpeOnEoTAPd4xH\nysW31caG8D2PAfG1wbPvvCIzyhQ2SU08vu+KQ20NNypPs7Zs2bJFUvssqWmDNZv+ZC2j33jakKtL\ntNioVYO9kj9zxn8LS5WZu+66S1KTeesZ620VnnHF23LdKGCsGcxTYu9qCUUqCIIgCIKgkokpUlLj\nveE91N6d8j28Rc+i4y4U5QiPmLtUPO9Sb81rwvhdOUpbrgbMTTfdJKl5rszdse9513dMzGJRoqCr\n10Icy2K77lI8Vi9X92rcUDOJ+edxRW2zJFFgvZ5WCfRNqiZdCjxtjy3xa/A1iM+ThcXnyRYjQzcV\ns1Fb74e1jDW2r2yyFCgbjC39WrvvZQr6g7Wb66K9obLGxo3PkVpQpLAvflMYL5RL1F6UUn7DfM3E\nnjhu1zje2littnhcMLXoWEO6KlKdbqSWL1+uxz/+8dptt920xx57aOPGjfrxj3+sl7zkJdq2bZuW\nL1+uL3zhC/NuNIIgCIIgCHYFOt1IzczM6Nvf/vacxylJGzZs0PHHH693vetdOvfcc7VhwwZt2LBh\nwe96hk3Xu9tUrIhn93EXzF112+fpfD51N13qIXtVY+A6hs7Sosox7d15552Spk/R6Mpijwsppa9K\n5H2DGkNcAn/X7hGIfWK3bRTLrvsx+tzwvz1rD+WLVxQaPsdawue9ErXHX7YlVSepb1DSiAFjdwgU\nlb7i9zx7y20eVXZcma1D0bZCeAp/2uP273HFvJ+LJeS3s6ti1tf+qDn4rcZuUgpzLZ1XXr8J+OpX\nv6pXvOIVkqRXvOIV+vKXv9y1iSAIgiAIgqmksyL1B3/wB9ptt930+te/Xq997Wv1wAMPzO08vu++\n+yYzzx5++OG5u0GPA6it7cDdt3/fvRi8Pz7Pc+NU3ESqjg7eqN+Vl9bd4XktXqfXqRrKm8RbpDow\nz4eHqug9adruV7ZYcKW170ylrtmSwHliX54x1DZr0uM0xuXVSo2aBqkMROY+fchcZq1Axef7rE0+\nhpPeq60tvtsEa1tpJe4cKE30F7FEfe8POWn6iudkPHyOMBdZO7BLlLBcrFnKXtuCffAbnMt4r8UV\nUeZVX09fOt1IXX755dp///31gx/8QMcff7zWrFkz8v7MzExSOvvpT386Nwi77757dVpyEARBEATB\nUFx88cU7fb/T3Qv7/+yzzz466aSTtHHjRu277766//77td9++2n79u1zWQHOnnvuOXLXvWOl866V\nlN0r8YwOPz7VhlHGSj1cvNOuz1mpFYOnPfRNJedLxsu9994rafx76AXdwIvDXr1CP9R66X1V1kd1\ncUUKNaGt8krGDSoEtZjafLd0P8v99ttv5DW1b6BD37k6zrXzPn3j9ZBgsSlSnC/XPVSNNlfz2Z2g\na8xO39TOPa7PVWFXoXOk9oX1pzPYHYpU6W9aX2ow7Y2r/ldbxe+4447TJZdckny/Wgf9+c9/Pjdp\nfvazn+kb3/iGjjjiCJ144om64IILJEkXXHCBXvjCF9Y2EQRBEARBMNVUSx8PPPCATjrpJEm/ubt9\n+ctfrhe84AU66qijdPLJJ+uTn/zkXPmDhXjUox6VzHDhrrjUuyC7je+xnw54HSlUMn+eT9aa414i\n32fn8eXLly94PqVVibl+zofvs8N236CkoRCUVlAPhsErr7tqAe6F8j5eJhlT/M3xiImbFB6HUVP/\naUdQHzjujsc5/PDDJTVzmc8wZ1euXCmpWSv4nGcQok4zN1FWXC1uW3mcsfF9L1Nq8NC71vcNigLX\nNVTcJWokNs84DV0vqy21Kn9KDW4b7+mKae43JWfP/Eb7Prm1sEZh5+OqK9U31TdSK1as0LXXXjvv\n/3vttZcuuuiiTicVBEEQBEGwGJhYhDdFPKVGIeEu1+s95WI18HDxKvFYAS+UmAzufjmuZyw4nlHA\nXf62bdskNd4qdZnaPn91L+Oee+5p9f1S8NpcuRhn1lMNKH6oB4yHZ+4sXbpUUuMF3nDDDZIaLwp7\nIn6D/nB7GTfE7WzdulVSY4eMC6+cP/bu3ncqM6qvjKlaiP9hnuAV19rdpk2bJDXXv+P6gGLksTnM\nVe8zbMnnLMoK8YOlsIYxVtgex/N9Nvk8qiS2zPk/6UlPatU+eDbU9u3bR9rrOx6S62UODq0seOwP\nytdiVTRSoKRi12SzldblQo2mfhlKK8oTa6HbI5/jt4k1ilhB/zywluZi41h7OS5/Dx3j5nGl2A1r\nKufRtiL/rpErGgRBEARBMAEmpkj95Cc/mbsbxEPl7rbtc/XUvj/HHHPMyPt45nhj3I1TR8k9ZJQB\nr5KLN8BdvXsHpd4e1+v7HQ0Fd914E4slNgo1AXw88NJQFRhHvKlUXAH/97gAvC7ssu9K76gO4PaC\n14QXipfE91AUb731VknN9VOXCXWD4+6488CO4L1j56gmuR3hsSO8SdpnHqFKgPdf12xAxn+hcU3F\nOQJj7Xvg0ac59c5jpOgLr7LONeLZ8zfn7J93W2VNueuuuxY8Dzx/xgybZ03hvOgr2mOtKVU2OB42\n5Gst/XbwwQdLauJT6UdsgX6nv7GJXEyOP62gv1A5eXVKlZFpx+tm+XjldgfAPug/j8ddKM5Qaua+\n2yn/57w8yy63VrI2cR6enVg7Xswz30/XY/ZSFe+XLVs28n3WstKYu1CkgiAIgiAIKpl5uK9iMW0a\nnZnR7OzsuJsNgiAIgiBozezsbFJND0UqCIIgCIKgkonFSJ199tlzz/F5/k6kPM8nSyFWw+vxvO51\nr5OksalftPPpT39aUhPf0HdWHM+TzzjjjJF2gf4kTsDjLF7wghdIauITiLXheTjH98wO2jn//PMl\nNTFEPF8n/oJxIF6C59I8P+eunnHyveI4j7e97W0LXt9Q0M6//Mu/SJpfO4g4AyppE79BZgyfp1I3\ncQBcP8/f6a83vvGNI+0ODe184AMfGDkv4HzZsYD4i9tvv33kc2SSET9w9913j7yfs8+hmJ2dndcW\n5+IVnH3XeyeX3UY755xzjqTyisycB31buq8o7fn1sSsDtkgMDTbI2kPcHXF2niFNDAn99Za3vGXB\n9oaCdt73vvdJKo+TXbJkycjnS6vk097nPve5Bd8nU5gK+Lyypq1YsUJSM37MEeYCawZr8aTmeq49\nfiOwc9ZkrpMYODLJPQYKu3vHO94hSdqwYcPIcfl811g1Yrqw3z//8z+XVN6fuViyHLl2QpEKgiAI\ngiCoZGKK1C9/+cs578Gr/bbFvZBaBaivTA8yVoaqz5QLa6PdVC2Mb3/72yPH8fPEG0l5zVyfZ5D4\njt38jULFK//vOxuuL7huzs+VNK9K7fuL0S8oUHh71Ejpa2f3WlKZK6gTuTpm119//U7fn0DYZRLO\npbTuDpRm3rbdG4w+bqtIpWDtyykx2N607UXntFUM2tb5cuh/sr5QYHi9+uqrJTVPSXi95ZZbFjwe\n2WKo8yiQ0wq/dVwvaxNrnteZcvw329fMvuB4tZX+h6qwD6FIBUEQBEEQVDIxRWpHUIK422y7Gzzf\nb7vvlUPNk5tvvnnk/8QhlJ7XuHds5/pRktauXTtyHt/5zndGPp+6O0cxOuKIIyQ13ojXcaI/qJbs\n4G37zuzEEtEOx+3qlffN5s2bJZXvdZgab6+IP237gE0bbXe2X8z0rQwR88T+n8TwoP763oN9Kwep\nGBR2lfA4u2nB1zbWUPqp7W8Ra9tQFeT7Zt9995UkPe95z5PUzEFiwm677bZWx+sai5Sj9jeecaVG\nIEocMYG5+nM5QpEKgiAIgiCoZCoUqZSyUUqugnUpHhvCXSzPz0tpG4/RFWJeOE/ab6v08Jycytb0\nR+m+Q57151WH2UtuaOiHtvErUPs9oB9Q7rZs2dLpeNNK3wqS74k47nm0mHHlA8/78MMPl9SorFdc\ncYWk/pQoniKQnYZNoD6n4vGmFda6WiUJ20UJbPvbMW44v6OPPlqS9PSnP12StHHjRknSWWed1ep4\nQ6vJteOCUsZuJ4wTMXahSAVBEARBEEyIqVCkahUEPFjPtqu9a/VsPerpQC6baVxwdw30H/3gO3eX\ngiKFd8nzfhQqSO3Rl9oPKsVQz9OpbULGVtvjo0TiVbbNtOL6+Tz9yfFqsznx8om9In6h7fF8v7W2\nYGfEwBFP0RXmc9vxYrwfyeBhU8fI91kktiSnRBHbUwoxWdgm0P60ZubmqI3bZBxQpYfOFusKNQa/\n8Y1vSGoUxNrM4mmNbyTelXhW9tbrS/UORSoIgiAIgqCSiSlSMzMzc8oJygcefGnWG554ql5PLXjG\nPP9HAegbPHvu4ku9IL/r5/zwzDn/tufNXTvHoWqwK3VdM1E4r6HqbLWtjO9QPReFlP7EuycDKee1\n8T5eO96+VwIvBftYtWqVpMabaht7llIdUOIYb66fecC442VjL8y/rlmzrAPYRamaMe21eoYEW0V9\nxUaovo9tMOa5vmob00N8K2sFsVm0h01dc801I+fZlaGz4ujXtooac55+XCyKHLs58DouUO6Gjodk\nXpDBjoLKb11XewpFKgiCIAiCoJKJKVKPfexj55QJ7kp5bVuHiee6PJ9GQehyblITE4Vy1Dd4+ryW\nxmC5IoUH79l6bb0h2keRQGlAKegLYs+mJebMoT9RXhgf+gOvm9igVD/z/kEHHSSpu7Lpe9uhOtQe\nx2HeuXeIiuHX2Xf8B0qixwDmKK33NQ30nenox0upvMQ/sr9pqj5Q2zGlztLll18uSVqzZo2k+QoV\nCoDv+9kWfiOYS0NVakehoJ3S7ENU3K6Zv4uVUmWHNZV4TX5z2DVjKKgbxuvBBx8sqbFPrytWSihS\nQRAEQRAElUxMkXrc4x43p/TwXJnn53gd3LXiDZA9xv+5e+3rLtbvpr0OUt/gge+9996SGkWtbRwB\n3ijnzSvHa4vvX9V170GHfp3W+AG8SfqVv4kBwuvPqQrYLbVpul4v7XWtx5XyllNqxLhqAfm8n7aK\n910YKhYERSZniyhXObW+VilDzWQtR/Wk3b7Gkt+A2rg4xiFH7EJQR+kuI6yFKJpDxSHnYC33zPS2\nhCIVBEEQBEFQycQUqcc85jFzmQ14MSgo3B2izBBZTyaFZ0vh5eFR12aGoOR0zT5qi8fitPXevG4U\n508/tH3O795z31lRfStcfYO3RP/xN/2KnZbW3EGRikrdO6dU6VuMDDX2pX3F52ozRnOwxhBHCChm\nXWOZWIP4bShdo/ntQDErjfdkTW4bO0M/EIu2WG2ZOEXstjSbre1vBf087n5ye2q7p6ITilQQBEEQ\nBEElE1Okdt999znlxWN8UERQArjLR4nyvd8We4ZEVwWMzBi8CO6yydRBQbnqqqt2ehxitdavXy9p\n/rg8UuB6PQOK/kA5zClSeOeMB9mK017tGLtJxYlgT3yOGEXib2rrgy32atjTTOl+mbV4prDv+1lq\n8zx14DfA42ZRlEprxbnS4Wstc5nzxrapGUfGLbs55Gxz+fLlkholbLHaMrFObZXEthn3vmvEuOCe\ngjWra5x1KFJBEARBEASVTEyReuihh+ayw1CU8GK4S8TLmdRz1No9AMcNigf9Q3+hmJTG8qAIcBy+\nN1S/44WghFF3Ca9uUqxcuVJSU6cJO6A2Ds/X8YpTMW2+5x/9ecABBwxx2sXgbbsXxvWhnJEd6HWa\nGC+nr0r1067YBfNh7SAOExtru2cbihNziuPxf16Zk7l40lz7rDUoVa7A+L6ZKYWJ80K5YveDxQKK\nn9eMa7v218YCjjtDl99MlLeu+76GIhUEQRAEQVDJxBSphe7YU1VhJ5X5MK1KlO92j2LA832y4lBC\nSis/o1BcccUVI8fzCuReqXvz5s07PU+8DfdW8GI93qGv/bhqITbowQcfHPk/14E3k4sf4PvuFXet\nWdIWt5dUPAAKsdcRcxifrnsa9kXflfcXgrlANtauimfdlYKKy76SxM+1rRTN3n1OX9l/zq233ipp\nfhwoShhzJRcnyhxvq8D1Ta52YKpWIWvzPvvsM/J3raIIrD0oXqjWtJ9SwJYtWzbyfdZSlM5aUKDW\nrl0rqZnPHLe2dmQoUkEQBEEQBJVMTJHaZ5995rwWanVwd4qiwt0hni93rewovnr1aknNfj0pTxov\nCWWGGA8yDPByeD7qz0+JHeEuGi9r6dKlI+cJZJ649+SVm1P1lDz7js9xt+7eRGrfrFq+//3vS0rH\nvFBzI+dt5jI4Us/Ta/c76otU+20VmJQX6/EA++67r6Qm7gNFzLNWsVvsg5gr/x79TqYW8wzcK83t\nj4VXiLfq2aClNVjwAplPnC/zlvaZh1wn85B2ieFK7Q04BPSVZzKytnCuxMiwBjA2d955p6R0LTff\nQ444UVfAvJYefcFawRqXq12GzaEud83MZc5gE1x37X6Q4yJ33UNlLJNpTX/x24cdsEZgT8D7jBvj\nzxxmXIE5yxzFTlJKk+/bmoPfMmCusmZwfZw3axh2zm8bv5XYN/ONtaF2H06HfuUpCr+pXdX1UKSC\nIAiCIAgqmXl4AgEpMzMzmp2dHXezQRAEQRAErZmdnU3G74YiFQRBEARBUMnEYqTGoUjRxmc+8xlJ\nzXPQVBYbsVc8h+V5Mc+veV7O9z2GiPbOO+88ScPv2Ud741L3Flt7xAcQ18Jz/1TmyqSuD3sh1o/M\nJTMqscQAACAASURBVOIIeI7PK58jlojPE5dAfAr2ynW+4Q1vGGl3aGhnw4YNkpr4CDJwOH/OFzxb\nlrgJj+Ui3oFMobe+9a3Ja0vVzoLSmnHEmJx22mmSpHPOOUdS0/cew0EcF6+8T7wX7REjwlqD7RJP\n9id/8ieSxj925557rqTh6vwwF8844wxJ0vvf/35Jw2e/cX1nnnmmpOF3b6C9888/X9L8jGAHO6F/\niJnjNbXrAHPlbW97myTprLPOktSsHbl9V4mxSsUO0T72y+f+8i//cuQ6+8Yr0NPO1772NUnNdXH+\n2OuNN94oqVk7nv3sZ0tqYrPI2uR9YrmI26a6wItf/OKdnl8oUkEQBEEQBJVMTJGSmgj/VPZaKdy1\n8+reBXexuXpKvh+Ve8DcreYyGvCQXUnwukq11815BDsnldU16TpVDpXO8aZcFbn77rtH/l6zZo2k\nxg54RVXxWjLjyGrbGXixzC+vHkxmGtePl8j6wP/JPHJvfsfj0RZjzNx11csprRnnNblQqGgHm2Pt\nILuKtYdzR/1GeeF9xgqFatK2OrRSk6pnNC7GvY8oNo0doDzxm+G7VHB+2AtPQVKKlEN2IPaNPfI3\ncwp7Q/lhDfFdLlCi+Ny4MqxTFeVR55/ylKdIkg4++GBJ8zPdeTpE/2NnrC2sqaxFXGepEhuKVBAE\nQRAEQSUTlTa6KlGAV5Py3lLPg3O4t8JdbG6Xe+6CUQrwOnjeXOtlpvYDwpuZdFXdSYMX5TFE7s3k\n6iaNG8YVu8CuUlW0r7zyygX/v2rVKkmN+uJxN23By6MfsS9Ul9L6Ubl6Ylw314vXiNfse0jujNSc\nTFXMzkHMSYqcyo1n67XqUrsB4OnT16X7ZDrPeMYzJDW2j9LB+Vx44YWS8msRtjmuXR5QXmrHq2+Y\nO6jGKBvYdNs1xNdo7IF2iOXzeEnWtpwS5XOdmEDGkVgir5XIeWzatEnS/H1WuX7mKL9ltb+tfeFr\nOfOMewv2b73lllskSTfffLOkpl+8lh6KlsdkZc+jwzUEQRAEQRA8onlEBNv0tSs9d/G5u9RST70t\nKY/8ka5EAcrc+vXrJTXe4zXXXCOp8ao9C3PSEDuEF4rXx2up4ujZbLzm9t9KwffWrVsnqbH/m266\nSVJ/dk68CNfp8Rgou7U7s3cBDxcVmmw6wMPn1eO38Hxzqhxj3VeMEH3JHnh42jfccIOkclU8d94O\ne/Uxx0pjeaBUifKK7LTT11MOwAZpDxu86qqrqo6X2jeWuYodsBawhtFurj99rnNcfgP57eK42Ddz\nO6U8plTtofcNzT39Yfy5LtZIlDL6m/dTv92sZSh3tFtqT6FIBUEQBEEQVDIxRepxj3vcXEbB1q1b\nOx2Lu/dURkNfNVCGqqUS9APxFex/xj5V7PfF374T+aTxmCPiD1BmsG8yZFJqAt4W9o+91mZ5opTh\n1RFPMVSmDsdFBeD6iUOapPKKp+9xa2T9cK47yyjcEZQbamtxjbSDwlWrUF199dWSmrEn9oaYkaHA\nkye7sa0iVQq/HbRDvaC+FSnmIrFDXa8nZ8PsLcdcxp5cpUZx8TXMFRfsDPvEnnhljfA6Sm53vs8l\ndjsUKF0oq8QsuULK9aP8eqzUPffcU9Qe/Uy71G8r/Y0IRSoIgiAIgqCSiSlSj3rUo5LP33ke6zUs\nvDIy4DmnntemnksHuxZe6RvvzjNLPKuybVYbChHZcV7nqS14f8wHvGCvrI/37c//ge/jxeGdts38\nQg055JBDJDXz6v777x9pp29Q2lAVUlXIxwkKANl79C0wBql4MRQm1i6ORywGY8m18vlczEoOYmA4\nHmOGDQ2l7rEWD632oi577M9Q9KWs5WLTuC5eATUYO+K6vZ/9qQlzmfHHLphjXm8JRZE1x9thHrB2\nkgUHKGC0g73nslsdj1Xiun3N43z4HPbua2oO1jbOFwWs9LchFKkgCIIgCIJKJqZI7czb5K7dM2Tw\nprjr5K6du9S+n48Hiwu8issvv1xS4827IuVxK23jULAzV3pyFfZT+B6AgHdZmq2G97V69WpJjVfX\nVn3A+6R9FDf3PodiWrIppcaTRvFwD5WYo5QC44oUni7fc3Wdta8vxYjjsUaSxefn0RXfC47+Kt0N\noi0ogJz/JDI6ayh9OuJ7P2InxCql7MPnDn/zyprF2lCq3FCHiZhAlCD/zfU6aChUbRUpr+ye2h+V\n9rzuVerzObgvYZ5jzzlCkQqCIAiCIKhkKutIcReKksDdLV4I2VlBsBDuveFFoVh1BXtEISWeBQWn\nrRfE54lnALzStt42x/OaPqXQHgqU7wDPdXO+ffUruHrhascksvdQWNgNHnKxQF4NnmsrjX2qrUrv\nkG1F9Xuupy9FirhBj3Mb6inBpCtq11I67kuXLpXUxBqhIPHbWLrGsIZgp6ndMXJgL65MeWwaf7eN\nUXJ8VwNi78jGg1TtPP7P2lxqL8w3lNRQpIIgCIIgCAZmKhUpSHmeQ2doBNOFZ3Hm8OfqZGK4cuLx\nAm3B2+H8auuMcZ5e2bt2T0a8ObzR2srmrkShQOGNjiurzqsXTxOlMUCopKh5qbHFBrCtrrE/jP2B\nBx44cr59K0VkyFKviv6Ypni3LjDHeR06JsvridXWvsPeWDtZ61gb2q6tfM/3kQVX3EoVKV+rUeKw\nH+4FfA3w7ELaZx7x9KpUkSIum++RLZkjFKkgCIIgCIJKplqRgrVr10pqdkxfrM/HgzpSikpODfB4\nDcCLaVtfyeG5fVfvlPPwPQDxsjyDJwdeFd5UV+WI9qkmjRfaNhOnlmmqA8eea+A25LvRA2OJh56y\nPfqWsetas8uVL2JM7rrrrk7HTcF1l8aWLBZYa1B4XK0tpbSuEp8jzpPfPMYPpcpjhLzOGXbEWgVc\nB58vtbMnPelJkhrl0Wvo+RpVmq2JnXpsFOdHP/h1sGZ6lihr4IoVKySV2zvtMQ9LfyNCkQqCIAiC\nIKhkUShSKFG1cPfel5KVUwiIIeHu2e/Kucvl7jfqX+2clPKEF5N6H2/MvUe8HV5rqzD3VeH7yCOP\nlCStW7dOUuN1up1t2bJl5G+HfqDGC8/5a/faA28PL5jj5hS52pou04hXuHa1LDWniXmiz1IqG0pF\nX2ofnjWeO+c1VOzSrhYbBYwbqiwKUNvfFN9b0eG3g5g22sPuLrvssp2263OV47HfKL89KEqsEaVr\nGe0yl/t+OuRrMe2wlpOJDF4/irpSbRUlYFyI+Yu99oIgCIIgCAZmUShSgIcOnp2UunvES+zr7jkX\nq+L7JDl4a6FElZHK1srFzqDsDBVTl4qHcfCiDj30UEnNTvWAF3TnnXdKarxdV5Jy+6+hBnzrW9+S\n1KgQxFscffTRI8ehX1NKEbVs8GqpRUTMle8FyPkTfwHEN6BckYEzhGpROia1kE0ErD2prCJAJeT8\nUnu3EVvU1151eObbtm2TVL93Xym76prGGkL2ZW2Gbi5Wh9+O733ve5Kk5cuXS2rsCqUkha+JW7du\nldScN2sNv4ltlc9/+7d/2+n7XSvZu91zPBQzf/+mm24a+T+KFGsUtSdL40ypncd8Zr4/73nP2+n3\nQpEKgiAIgiCoZGKKFBV2pcZTxVvj7pu7TO5uuYtOVWnFs3YPO7L8HlnglfCKkoJygneCt+EVxQ8/\n/HBJ0pIlSyQ1cQp4Obxu375dUuMtoYAtW7ZMknTYYYdJaqo+e/VnwAtK7WVHjBHxDBwHVSOlXnhV\nYEAhI04CxcqVKm8fxYlMHb6HcpWqf+XVjr1KM2oNShbH8axIr13DuO1Yb44+YiwYc49NYcy8Oj2e\nO8oQahy4rXAuXCPH4ZwYg1z19wMOOGDkeJxH2yrujBV9iHKSUor4PP3EnAH6h37wvc0YG88qoz2v\nh4TNEfPidYiYOynlxmu3gcfKoDz4PpZ8vxbiLWtrs2HrKCXgSuQ999wz8lqLt8Oca6tEcb2cZyou\nknnG+PM3a5VXJgfmttfU4/uctytdKHcet8nftRm/bbNaQ5EKgiAIgiCoZObhCaTSzMzMaHZ2dtzN\nBkEQBEEQtGZ2djYZTxqKVBAEQRAEQSUTi5EahyJFG7Vttd2HiHbOPPNMSU0VWM+U4Hkxz3HJaiJe\ngOfaxOL4fj/EpJx00kmSpE9/+tOSmswc4hqIFyEWiOvh/zzHJh7D4wuIJyDOguv77Gc/K6mJPaJ6\nLMe96KKLJDX1v17+8pdLkp785CdLkr7xjW9IauINiL+gf4g3Wb9+vSTpM5/5jKQmXiCXGZV6Du/Q\nTzxXf8tb3jJynUNDOxs2bJCU30uOWK1cvE2uPb8+4ksYB2K/vF3iFahJQ1wMdkt8x+rVqyVJp5xy\nyoLtDcXs7Kw+9rGPSWpsm3PzKvdts/qI7eH7p59++lyb44B2PvShD0lq5tp9990nqYlZ8dphnkFM\nDBJzPmVzXdfOFF5TjDn7tre9TZJ09tlnS2oqU7MGcR0e68W4EGPGWostegYpa8Ob3vQmSc3cI26S\nWC76pzb7zLPEhurPFG4vqTpRnCd2Qz+X/uYxnmeccYYk6YMf/KCkxh6H2pNwUv2ZIhSpIAiCIAiC\nSqa6jhTZRV67ZVx03eMLpQYPHy+Lu34UJM9AQanBq0IJIGPCvSyUIbwtFCtePfODCtp4KWQ+oDDg\nZVD3iIra4BkwZPJwfe6NkH3Fca688kpJjQKFl0wWmO8Nh/eaU2xKlSjg+j1zaNzkrgtqlagcqDOu\nRHm7qfbd60xlH44D1DXPzmIuM3dStpKq48T3ahWKvsBmU9lTnqEJKC2eGZ2DuZ36PBW4WdM4HxQi\nXrEdX4u8VhoKCWsDa2NK2UDd990KXGHCHnzcuS5e264hKYau11VKrmI554my2RaPGeJ4u1pl+xyh\nSAVBEARBEFQy1YpUX0pU21inHMSS4A25t8Td+A033CCpUVjwylB+iIXKVULPVbOl5gVKFq+33Xab\npPleCbFLOe+UWBivZcPx+D+Kjtf5AWKmUBg5P5Qo/7y3h9LF+FHPCLru5bbYvaddZS+75z73uZKk\nSy+9dOT/K1eulCTdfvvt2WMwt3hFicDWc5W3UzW5mOOTVqTagirt1fNT+O4RHrfoUNOM76HooC7T\nbqoekitoHIe1gvZZM4jXJG4UxYzPsaay5qPWszbVqrqpit2027be165KXxX5FxuhSAVBEARBEFQy\n1YpUX/SlRAFeUS4jAe+Kz6N8tFVA3BvyuAK8Iif1fLw0kwJv3pVBvA68fvqX/+NNepaZe214k/QP\n7bhqwPP7lOJCf9R6Q213CJ82ul5/33jMXynYB0qlx9eUgM0yx8hG4pyYK2RlleLf74vavck8jtBh\nbtEPpbs7eGxPak85r3Ttu0qgRLXtZxQq5iSxaa5cpdYSlDPfo42/a1VbzsOzAYeK32XnD+zulltu\nGaSdoB8W9y9IEARBEATBBHlEKFJ9U+qF4B3h1fHaVgFxb9XjFXIxVrWk9mPCu8M7x4sljsH3SkyB\nkoV3Tf+44sb7qfiWUoWPDB73zoeqdTIupkWJAnasbwtqAXE9Hh9TAnWFmDMoVBwLlRTVdOvWrUXH\n9f1A+2KomCtsonSPtBQpRYqxIn6T/Re7Qjyk19bzfVUdXxNRclibfC+3thAP6+0NNX6ldtkXZGgz\nX4iPHUpxY3zIIOe3YNOmTYO0NzShSAVBEARBEFQSitSApGKz8I5zGUQp3Atyb6kvUrVQ8MZQgmgf\nBQsFKVXTBsjkwVsmE8e9/r4UI+IoSuNFphX6Czviemq9Y69sTvxJ25o6eP3UFmoLGWCHHHKIpEZV\nQZG69tprs8fA5rBJroUK2tRkQ+Hw6v0piPXBhrqCIkYcWN+1t1h7chm/XcEWDz/8cEmNzfCKbaXU\nbcfHifEhTq5UnWRtYvxRKj0rMQd2gpLJcVBUrr766lbHm1boL+bc0LUbsU+UR16JBVts2bGhSAVB\nEARBEFQy1YrUtNfHyZ2fe694VygvKD5tY1xqs6L6wiuXo6zRD3gTuRorXD/xFSgRHiOVi48ozcpM\n7SG42EDFQEGijlhpdhvjQj/gpfN3rhpyCo/HaQs1gDx2rk3leY+VYczxsD3TtLTCd+r4paBooNzw\nN32G4pXLxps2sKUlS5ZIauYU/d42Y9orjWNLuTpNrInYCudB/Ch1rdqeD8dDZSVbD1v1ell9k6q0\n3zfjjsnyjHaukzjWvirMj4tQpIIgCIIgCCqZakVqWpUoyJ0fNWyA59B4n7UVtV2xGTfEPfhzdbw9\nvP/Sar9eh8q9fhS8VExZaS0evl+rmJSSU9C6wnWyd2HbGDm8PuJRiNdhHOintjF8jF+tonXTTTdJ\nml8Lij0rS/CxRanARlCkateW2qwvbAIFgzHARvqKvWqLz+W2sD8j30dRo7/b7jnH2sH3ec2dH+Ps\nSofXqGurQjMujDvKDbFaKHK021cGNfaBvdDetOzh1xWvUchv4lBrJkpi7dqUIxSpIAiCIAiCSqZa\nkZo0XZ9Pu/eJ99fVqyhVVLruMYiX5efrsTW8z3mRgVEa70G8CAqePx/PKVtt1YWhMkLGpRR2zcTy\nPRF9PzXsdqj6ZClQi4j9QilrM19cMcL2OUZbW2HOEiNTm/FJHBu2zvmg+g0VY5Oj6z6TZEkyd3mt\n3dPOx4v+R5VOxagx7j63UV1Zg9v2M0oQ14OCwnkwnthVX3OGcSF7kbU1t1fiYoFx8Bg4/mYc+4oN\nG0qJglCkgiAIgiAIKglFagHwqnheW3tXjCLkO9Bzt932eX3bfblQHPBu2iphKSWL6/G6THh9VKbG\neyPDJcVhhx0mSVq5cqWkxnv39ugvHw/6FWUl5X3gtbZVzEoZd+0T3z+M15zKgB24V+jZe7V0rf7N\nOOONt/HyuQbfA84zCkvnNH1JX3e9NhQc5hZ/l8YTTivEoGA7uRpyKRgn+oc1DFvwOlJ8ns+5Yuj2\nUAuxUdSRwi5QpvpWipgDXE9ttmhbavd+rIVxwW5qM9knTShSQRAEQRAElYQitQDcFddmEKDMoJDg\nveBl1Xq1eAlkyuToWicp5ZUQF0DcAgqQZ8jklChA2eJ4xMYAMTNe5dj39Mt5MXitQ1WCHxfU7KHf\n8CJvv/12SXlFirgcFDkyZlAVumbOUO35BS94QdX3sR/mS5uaMlw7toQigWdfaisOtc5qs/YA5YLz\n61ovp+86Q6jJbWGtaGs7XmmctZe1hMzUlMpMPF9KjcbWWTO67mrgKnbpWlxLbWxfLeNW1ffff39J\nzbjdeuutY22/L0KRCoIgCIIgqGRRKFJ4XXibvA51l167Bx7g9RDrs9iqFecghgzv1RWk++67T1Lj\nLTJevn8TXjkKF+Ps8QB4m+7tovyVKk27Sg0Wz9pbvny5pHJVwvsRL7Qvpa5rP6NGYEdt5jlqL7aG\nbXk1d6Av/HspW227V5uDysY11da3Ya7k4hjpS+Yo7aUyP/3/XhNtn332GTl/1FHiDlGhU3GMZNFh\na8Q+AdeD8sfnUjFCvrefwxpE+22q5JcwtIKDErqrwvgutkrmTihSQRAEQRAElUylIkXsB94f3o3H\nHKH84J3hdeB1TQrOk/NBwfG6S7nMFr5PZWe8NDJHJsW1114rqYkPwCtz5Yn/p7x4Pk/cCN4sfx9x\nxBGSmuwyXjkuXmrXuAcH++G4xCC1jf9AFeirJopnKKECYF+oCd5OVxUlB+eBd4lSmMIrl7uCxf/J\n1kNN8axCxn9HxcpjVugT5hIKFXWh6CtUY9rwavrYXteMRjJ5saVUTbYcOVtizSAGBVhzUoqUq39P\nf/rTJTXKlis8jBWKAtfBnoJcH2s0Kj0KnKugKFQch/7yNYC5kIoHRC0nvpK57HOYfSuf+MQnSmps\nGdvzbEpirbiugw46SNL8yvXY7ObNmxc8P0DhIxuxVH3lvBkH7L62ZqAzVPae1xrEbvg/CmfXWnk5\nuD7mR1flLxSpIAiCIAiCSmYensCGdjMzM5qdnR13s0EQBEEQBK2ZnZ1NKoahSAVBEARBEFSSjZF6\n9atfrX/913/VE5/4RN1www2SfhNP8JKXvETbtm3T8uXL9YUvfGHu2fA555yjf/zHf9Ruu+2mj3zk\nI8laMueff/7cc1Kej5LRQQwOz7UPPfRQSU1MBM/ZeS5NRWziGnje/MpXvlKS9KUvfWmkbZ7Dc7w7\n7rjjN53x/5+bUmmbWJ/bbrtNUvNcnmsllovzOPHEEyWpWG1rGxfh0A6vxMoQd8D5ES9AXALP0+l3\n4kZ4n7tuxoPjvOxlL5Mk/d3f/d3I/z2GjRgjsq7oH86DfqdaMNfP94gbOPXUUyVJZ599tqSm/+k3\nrzzP+PG5tv1KP2Iv2BPjTY0T6jURq/anf/qnkpr4je985zuSmrgS+hc7pV9e9KIXSZLe+973SpLW\nrVu34HUSR0DcBv+n/z0ugvfpd+I4nvGMZ0iSLrvsMknz+5/r5PqI81izZo2kJl6CWDbOhzgixpe/\n3/rWt0qSPv7xj0tq7NKrhfv8Zzy9DhnXlaqPNjs7Ozal2+fertreP/zDP0iaH7NCjND69eslNbbB\nWortEePE91lbmDvE073mNa8ZaRd4vzYOkjmMjTO3Tj/99AXbK8WzIh3WYmLSaOeLX/yipGbusuYu\nW7ZMUjMniROlHc6bNY+5wJrrMVovfvGLi66Pdvne9ddfv9PPO6zZ73jHO3baHufvig5rPefPnPds\nWtYMrvuv/uqvdtpe3+TaySpSr3rVq3ThhReO/G/Dhg06/vjjdeutt+r5z3++NmzYIOk3gXWf//zn\ntXnzZl144YV64xvf2HlTzCAIgiAIgmklq0gdc8wx8/YR+upXv6pLLrlEkvSKV7xCxx57rDZs2KCv\nfOUreulLX6o99thDy5cv16pVq7Rx40Y985nPnHfcBx98cK6iMni2FKSqnXLXyl0sGRW+wzd3+aX7\nFeUyBny/J+7m29J3XSPPAiTjJNV/eP6pjIVUbY9cvaFUxkduzzT6A8UG8FZQLryGjiswPj4pUFy8\nZhD95sqlZ4SR6fWpT31qp+2QYePHB/rpuuuuKzrvUlAD8OpQpBh35hn96NWp+RyZLd///vclNQot\nXjcKFPbnXjr9m6pfRf/maimVVOpPeb5Oau+2YBTWVIexQMHwtRV1caHMSqmZO7kae10zcnM1AVmr\nXF3Prc05WyRb0Ndkzgdbp3/5LfTfrlQ7zB3vH1/LcjAuT3nKUyTNV6SoUZfaS7C0/llqPrIWorz5\nGuFCzLTWAqyKkXrggQfmDGXfffed+4G87777RrYYWLp06eBpjEEQBEEQBJOicx2pmZmZne4/1WZv\nqrbVfTl2rh4Tz5Hda2pbKwPlwyusd90RvvZ8ppXa80/Vacp5pV4jKAdKTQpihFAruJ7avQvxMvG+\n77nnnqrjlIJih9179ehLL710we+594ciSVyH4+Oc6h/Op+vej15leyFQQtyzd1CReUW17htUT1RJ\n1iBUwGmvXI1SkFJ2UHK4LmyIv1NPAbBN4mT7hrWU+lCucoOrothqV1L1nFBUsE9smf7oSttadYwr\nayxrI+PK69BMq9JUStUdwL777jsnSW7fvn3OWJcsWTKyMNxzzz1zBbaCIAiCIAgWGxdffPFO369S\npE488URdcMEFOu2003TBBRfohS984dz/X/ayl+ntb3+77r33Xm3ZsmWuMm4JJR7njqS8T1eIuNtH\nESCTw2NDcnDXzF16rrpuW2qVHM6H76eOUxo/4ky6UnwO+j/ldTqMey6eoG28gUN/exxECtQLlBu3\nKxRRMl3wHokzoB3PWvRK46gwOdUmBfbA4/3cPlmlsYk5StaF0msi3s33iewbFA5UQdasm2++edB2\ngUxQQizajrlXeAdsirUVW0PZyKmPKCddq/2nYI0rVTpYM3NqdSk5dZY5xG8Vyl/tnKyF6/7Wt74l\naf5vYi6GEOWvFP+Nx1763p3CYc2j/7kXKK0Ef9xxx83FhS9Ethde+tKX6pJLLtEPf/hDHXjggTrz\nzDP17ne/WyeffLI++clPzpU/kKS1a9fq5JNP1tq1a7X77rvr/PPPb/VoLwiCIAiCYDGRvZH67Gc/\nu+D/L7roogX/f/rpp8/V6MjhNULa7mmWunt3BQXvhLt/vCDujtl3qzReAQ+b5/tdY6Tw7HkMirfq\n2V0puF5uWlPKR20R+677i00rqTpeZKn5nm9tob/x2lEjUl4yj8hRwmgfr4n5gb0yfzg/FCmvNeNe\nNrFkPn9Kd2Dn+DmFDfra/6tPxuUJE795yy23SGo8/XHtdo/NlMaOOanP02/YWNt+ZA3OKR4oCNh6\nKvbKlQ5srm3sTV/xqalYK86T8eA3py9ljuMCcz81B1lj/DeXfvPjOW2FEs6n9ulIV7w2XV9EZfMg\nCIIgCIJKOmftdYG7f+7S8TpKlRgndfftFa9p17PvvApuykvwjJPa8wUUhVrlY6i7bOgaKzSt+HiD\nKzlkk9aOM95eqj0/H+yRecH58D5eIvWcqPSfws+7a8wS51/q7TNf2mbl7kqgvLgH7llvfUNdoNrY\nn9x55epA5fA4QNR9bB+1njXcbYjYF6/5RmYsc4ZXr4vllbP7Uk85L8/GYy7SDsqkV/nnfIjhS9Xu\nc2XHf7Ny10M/8zSEtZ7flNya11ZJ65q5W0vpU65aQpEKgiAIgiCoZKKKVF8ZEp4J4XfhxPigeNEu\nd/mpoqHc7fPqx8HbaJu5sNjo6i3nntN3pfZ5e67qMeeL11arSNEOSlIqDoP/0w79TvucD8ejYn0q\na5R+8fPuq+5ZKW3HnXlV099da7G5QtEXKdtkzRpKkaLdaa1N5/GXvosB44n6iS1h295vKEEeZ4iy\n4xmsjHdun862axj97nWYmLt+fB8fvpdb0zgvvt/26QHf47eQuMehsiknRdenRjlCkQqCIAiCIKhk\nolIKXgAZH3gjbSHLClxp4O7evZFU1hbgDfDqe7v5XmbBKNQ7YnyH8grwatseP+Vd+vP0rt4ZO26j\npQAAIABJREFUShRecaoSP/EDxIG4902dLM4n562m6rL1VUV5KLqoM22VF5QPMiHp46EUImArLcYC\nJWGxV3hui9tiqp6T74mH7aM4eSa2j59niwHjn1Oc2qqqtJ+KCUpdn1daz9kh55+rIZiCtYbv7WpK\n1LiIO4AgCIIgCIJKJqpIec2P2rgEFCHu8lGMwLMC+TztcleeyyjwGCm8iHHVhJkUtXWkhs4mhFql\ny9UAwC7wzrrWGqL/nvCEJ0iar5jiVXrtG7zE2rgdj7GCvhRUjrPXXntJauaBe7Vt22Me+/UOEWtH\njBLnPi4l6uCDD5bUxGcuViWqa0yZ11vieB675Hv+kQVJv6FQkUnNODK+/Na4YuO1BbuOA+ebitdl\nLvqcqI1h6ysLbhprvS0mQpEKgiAIgiCoZKKKFF4G3gN36bVZWHgD/tyddjg+XhCfy93V++d9r71J\n1cYYF7UKRpfsqx0hxqhv5S9VlZf2fEf72n2w6D+8Ts/kwRv2eAVXWFP9mJovrvhCbn+5XOwgHH74\n4SPHQ9mjdhHQn7ksSWC+ubI1xHZTXesgtYUxJEuqdH/IaYX6TKy9bfvTbRbb4//8zVqCTbst8H/W\nYmyIuYbtuXLmGbEcl++3rT/E04qDDjpIUpNZC8ztobZOq3164FmSQ2e57WqEIhUEQRAEQVDJRBUp\nVzrwgL02Rg5qX3gFaUDJYF8jj4vIed54xtyl40Xi5fR9946XlKppMm5qY4S8SnFtddnabM4cKYWL\n8URhwR5rq1BTZZk9FFPX49l8eMk5xTM3X2j3hBNOkCStW7dOUlMZHfCmiXnauHHjgscjG3PFihUj\nx09V5m8b/5GaTyXHaTtGVM5mDRl67y/fdX6xe/7YHvtEtlWkfEy9cjnj4qoma6M/hfBxzK1d/nQB\nPG4xtVuGnz/tsXb4+DL3U2tA15iz2linVCZw33XVap82oUx6hv60EIpUEARBEARBJRNVpNwDr401\n8rt+j2VBieL43GW70sPdMoqWe0d4L3greD8e89IW7rZRBKjOy3XkFCm+l/K+8H5WrVolqfEaUWSG\nivEqjYlx/Dn/uLL/AAWpL7wfUsqce2set+DjhB0To+QxUby6Qrtp0yZJ0vbt2xc8j1xMHOdxySWX\nSKqPHSslFTO1EFxrTpFizpBJ6Woac5o+JBsstedZDhQVroXzdLV72sipydjesmXLRv6P2pkbs1RN\nNWBvPN8jr+1xUqC0sHay1vp+lyhP7OnHOPo+l3yOOEFfuz3jO3U+taQUKZRD3/eS81m/fr2kpp9Z\nG44++mhJzVMY1o4U2HVKEWyrRHE81sb99tuv1ffHRShSQRAEQRAElezam8T9f9xb8cwPr2Ce2qU+\n5cGnvN+2z4O9rlVpvEEuDoDrpR/wEmuVKLx1vFG8KF7xrvmb9vGKiEvBO8KLQ+FzBcX33/KsNtrx\nrE/P+HHlkP5wb3vovQFTuJ1wHh6vwfly3SiLqfN1Re+KK67Y6XnkvOK2SiMxiag5qXgMV4Sxa7z3\nEkXKz53YHWwDm0eJAt83E9vxvdq87lEpHo9HHaRpJxfXuG3btpHXvqD/qTjPXGBtREHk/yiGvg+q\nr31+PakahqwVxANim/yfNcgzijnv1G8ICpbbH3A8r0PFXGEOpZ5S5Cqz+3kxx773ve9Jmj/HiH8s\ntdfly5dLavqJWDHGh+P4bwLjhR3x/SVLlix4HG+PNY74TuYpaxW/pak4S8aD62e+l+6jG4pUEARB\nEARBJTMPD52mslCjMzOanZ0dd7NBEARBEAStmZ2dTT5dCkUqCIIgCIKgkonFSA2pSB1wwAGSpNe9\n7nWDt7UjtEPWF8/ViRki1ufLX/6ypOZ591FHHSWpeR6/ZcsWSU2GyOrVqyU1GQvEaq1cuVKS9LWv\nfU1S85yX9nhuzH5ePC/m+Tv95PtVkTXnlbVPPPHEkescGto555xzJM2PT6nNCuS6yI6kv0477bSR\ndqlZQj8SR8H3UzE7XhncaxsRx/HOd75TkvThD3945PuMD+NP3ARxDsQRcDyqKHuFdOJCuM5XvepV\nkqTzzjtP0vxqz9gncSnY1+233y6psWv2iaPfsEeP26Afx2kvH/rQhySlY1ToC9/lwCtp830yEt32\n3vOe98y1OQ5o5+///u8lNdlVZMsRA8KYEivisTVArAmxIH/8x38sSfr4xz8+0t5nPvMZSU1sCzZG\nrImPuccz0n5qrzufC+Puz0984hOS8hXmWRM985s13rM7mRvM5b/4i7+QJH3gAx+Q1PQT/c+awlzj\n+KzRzFHWIsaBtQW75vWUU06RJL3vfe+T1PQ/awlxql55/aUvfenIdX7nO9+R1MSAcZ6cPzFEb37z\nmyUNP3709xlnnCFJOv/88yU18bWeyexxum1rAHp7KUKRCoIgCIIgqGSXzNrL1Rzpi1QV5a9//euS\n5tcowVtw7/Cqq65a8PhkeODF3XLLLZKkO++8U5L0hje8QVKjUHDdtIdX4V4j3jbHg1QVW8+iGzec\nf18V3vEec7VnyPjy5+J4PynoP7xRFB7GBy8T8HqwD5QoMllonwwWvErsADvES0UN4NUzXVAByIQB\nvLY77rhDUqPOPPWpT5XUKHSoNPRfblxQXG+44QZJjT15/3P9a9asGTk/1BDfG5P+3bp169wxch6n\n17wqrbpfkjE4Dnxt8zpGkMv4ZQ3yV4d6UKWhtPRj6S4Gtbsm9EXpXoee4ZzKbPV+TNWRYs6ztru6\nzvFzNe0YFxQwbw8FCXxvQYfzYVw8W8+VxnHPC7dDP7+u+6Lm2ksRilQQBEEQBEElu6QiVVsdlue9\neAu5u+2U14XX6N9vW5cI74G7brwNjzPwCth49sRJoFzk+oUYLc6Tdmpr54wbYnqI2elasZ2K+Kgc\nXi8rBeOe2k/NK4cTf4BSSBwEn8M7TLWb21/Oxw9FjHY5P9/PjNg6+hV78urIHo/k14dimlMWiUNB\nQfNK7SiBnO9Ce/u19ZBr93+sZenSpZIatc1VwUmR2neS8/WYsV2FvvYBLf2+11JLPQUoraTPWs9a\n5+PjayBrS2q3CBTOlFo/bRX4+c0b9zx2QpEKgiAIgiCoZJdUpPy5cClkveEB56q5khngXgCxNXjM\nqQyXHMSSeFaUV8XlfF2x4rVUoeP7tIsyUfscvO+dw3PQT56xURtbRb/i1bUtuUb7qA54l5wfoPSg\nKNHfeLu5/svFBaWun+PjZRITRfuoFN/85jdHvvesZz1L0vw9EcHPt9SL9dguYsWI9/G4H7zRVLXi\nHanddb5vuu7j2FVByR3XoW8n7fEPBWpu2+vL7UeZwtfS0lirFAupsjXwm4l6XDKnpoFpsctQpIIg\nCIIgCCrZJRUpv8sv9eKIwSj1WlN37Xj2eMGQa5+sLN9TzRUFPy6KBB468QwpJcn3bvNMB88W4++2\noMwddthhkhrFiP2b+gbliP4gq6utIkV8AvW7UBE8likHMWdku5GxQ1wDMA6MC+df6hX6Dul+fm53\nV1999YLHSWUj0n/Yl9fTylHqveOFX3fddZLm762Iksc4MK9L+mnSSlRfYDuMFWpm6b6cKVizHNTE\noWJjapUd8JptbandT9PrE00Lvp8oaw/KFXOGV9Ry+iGV8c7cZ076fp+PdEKRCoIgCIIgqGSXVKRq\nvc+230tV1ub/OW8Hb4rK1HjcfD+l3LjShIJR6qHjtaBgeOYQXgbvp2JhcuDd0K+pzKC+ob3ajCi8\nW6/e29Y+UAlQDVJxOnh5XjGddnMxUChv4IpUX1mX2BWZPaX1xbxaeIpUFiBQjRlvGKV02jKJhsRj\nmdpWak6Rqufk6nffpGKzSulaW27cdaxYe5k7PAXoGpOE+u1rAePHmo69lK5lHI/fMs6fDN9c/zG+\n/Ia0/Q1g7aB/ahXEoQlFKgiCIAiCoJJdUpFyxl19FQ8ZLwBFgGw7FCc8bJ5jEy+QU1Lcm+AuvdTb\nyCkD9BfeXtf+6yuzZFwwfniLjFdbRYpxwQvDe3MvHCWK42MHeK05L47vpeIVusahOCht7POWy87s\nKz6JGCraq83OnSTE3/GKbeWq5aeoVeN8zFI2Vqpmog4yJqVxhKiuk2JS2Zz0e5vM051BfKjHuqUy\nz3NK3vLly0fOj90DsDf2fc0pRF4pvS2MS2o3hmkhFKkgCIIgCIJKFoUihZdT+nzUPfBxexupOkx4\nAXgPKDXc5XPevE+GDteN9+RenO/b1BXOm/MtrWni8Dyd4yzWzCn6FyWprXeF/aa8e9732DTsAW8M\nxdHnQW2dslq84niuunBf4+7HT2WaTSOod3j6jDF1e0rp65pdPUypzqXxkZ5pXEoqznRcoKSNK1aK\nucCc57eidI1Mqb+pfmwb44Z9HnnkkZKaCug77mcpNap0brxLd4NIwfGnZa/LFKFIBUEQBEEQVLIo\nFKm2kfrTWtuCmBuP8cBr4H3uvlEivBL20NeHwuD1g9rSV0bRuGF8eEVJqs1g4jioCV6Xi/FEWfK9\nHl2Z8jgBvLZUvEztOKS8X+yW+IucV+oKcVuFOcWk1Yw2oDLTV/RB25iPobLoUnO87a4Iiw3m1LgU\nKeY+7aJA+W4CgCLI+DCX/HP8RriCSMYwNfzA5yTfX7FihSTpwAMPlNT8JtG+K6LjqqM17U8zQpEK\ngiAIgiCoZFEoUpOiNqMj5d1wHM+yI2uP/xM7xd2+xyi5V5qLjSq9Dj7Hc3u8ELILHymgFngdqVol\nEG+d8XRvkAwnFBbGwWOl8Ab5nMdUpdSKWm8bbxbvF68Zr7pUHXG1o69aMNOeybMjxJpgW4xl24rk\nQ+2B5vWHACWtlJzC47W/sLFJ0bWOVQ7PLGX3CuYEc9mr9gNrMWtESl0+4IADJM23D3aXcEWKNR0F\ni34gG8/jMlHlUao4/xtvvHHB83mkEYpUEARBEARBJaFILQDZclRvbZtZUxovwOeoFF2KK0vUpMFL\n8FgrrgevJuXVeqwW5zeuiuTTAv2G14xX7nWeShUqrxHk3qF7mR43QfYj3vzee+89cn54l6gbqdox\n4DF6qYwYrg/1hM9RD412safbbrtt5P/A+fo+Xrl+zO2jNu1xEwuR2suslL4UKRQGxjSnzLC2oCBh\ns55xzFrEnPGxdTVy0pmX2DL7afaNXy82e++990pq1NTUuHr8ZIrULhip3QcYP5QwFCjsgt+Au+++\nW1Iznthv7W4JbdfOxUIoUkEQBEEQBJWEIrUA3G27cuDwvBvvAtp6yl33CsO7SMUzlNaBwktYrBk4\npeB9ofSkauUM9fzfK72nvE3iTHj90Y9+tODnbr311lbtk5njXqZ7iagU9JPvmUh8h3vzrrqkvP2c\nV5qzw9Lq2YsJbBE13Ofu4YcfLqnpU2KbGCPfHYHjMVZLly6V1KjPqIjYhEP8JsoVCofvC4qCwVrm\nMTaeecz1HXzwwQu2Oy7aPm1oi8dIbdq0qdX3U3O+lNT1YVduXyhozE3/bWOca2mrRGGnqPGx114Q\nBEEQBMEuxsQUqf/H3rkGaVZV5/+ZRCpJaSr5q0GUAWYYGIbhjggogxQBvEQhRFMUpCRGJV4RBRTl\norSAMCiIBoXSaOGtolKViLdQISBgQLkqIAx3BpCLVvxoVapMqvh/sH5zpp+e1Xuffc7bb4+s35eu\n7n7fc/bZe+19znrOWmu/8IUvnKP88DtP8WQ58RTLU6nHrHgsBe+94YADDpDUve/FK8Nrw4vC88eL\n4vx4V3vttdes85IRce+9984630JXYe2bWTMpfM849z6Is2Ac8ZYZd8ahpNC1ZlPiFdNOlKDWGDDs\ngp3XUQOeeuopSXGGzaQzhUqgQpSI4nn6ZgGilgB2QOwev2PHntHkyhQqDLFYQxXdIeywww6S5l4L\nbUctjOrtYDOsJStXrpTU2YireV5hGlWOMaFPOB5zhb5FgXAV9Jprrtlk+1A0aKdX+Ueh8jHmej2+\nju+zNkxaESrh/cA4sjbRfmystCciawz3FsZhsRFlV95xxx3zfo9+YXxrawxiP3zed+OIlCa/l9RW\n2l9oUpFKkiRJkiRpZMkzU0h9WbJkiWZmZhb6tEmSJEmSJL2ZmZkJ34KkIpUkSZIkSdLI1GKkFkKR\n4hylcxFXsGrVKknS9ddfP+h8F198saQu9sbfw1M9NopBIe7A9xLj/TJxGUcfffSs806a2v4c+3zn\nn3++pP6xYMRteKxd6Xxr166d9XmPbyHjiDiIvqIucRennnqqJOnCCy+U1MVuUXeJuAIyZYhncPug\nX4jPoNaPV6v+m7/5m1nXORbEuBHnQLvPOOOMiZwvYmZmZsFt8yc/+Ykk6a677pLUzVFiiMjQZM4z\ndxm7devWSepszXcTICbk9a9//azzLlu2TFJXg25oXR4ykIlHO/744yVJX/3qVyXNrXBNrFWpqrxX\nxCZO1eNIo7XFY2ta93YjJoc14UMf+pAk6eyzz5YUx+gQb8t5PVOUOccc9Oti/DjfBRdcIGludiPH\nZe4zDowr9sR1kE2JfXF++uvkk0+WVJ57HrfaukvAWPeGUvwr8ajvec97JHX3BvqN7FPmldfUY+1m\nXB955BFJ3ZrMcZin9C/32ohUpJIkSZIkSRrJOlLqnjqjWip4f48++mjV8Uq1P/CKosyJqK4Qf/e6\nQaWneLwUvCevBYJysVjr8uy8886SuqrJKH1kx/meeGQ20V9423hdeB983pXBKNsOJYj20I9UFcbL\nwQuPFEevqeP97uNDO7meKGuO7/n3GX8UqbFxL3yaVYsjNXdSXHfddZLKNa+wSc+6i3BPGkUKGGNs\nuTVzF1ulv3zt8b3xUFhKNfYA24iUqKg9fA5b6ls/yNvN2uj9xFoczanSWl5ScHxNRnXmunzuc53+\nd28f18Haz3XW7n8JjPe2224raW7tPLIO2TVhUns9Qknd9/72vQLp36gfuHd4pjbzl7pZZPbXzqtU\npJIkSZIkSRpZFIoUT5HTrlqKgoBSRE0Rr07bCt4j1Xx5X4u3wfvaSBEB3uP6cf14eJn+nt0p1Ttq\njUsYC7wh2sN14bXxu+//hPeEN0z/oMDx/9r9z7z/8OIYD4572223zXuc2torgKKG94WdMK4oTtE4\nuUK00KpNLYwf44RagJdYE4u20DW6iP2pVZrGYmiFaSCejrnkNbk4Dx68VzYv7euIily7u4IrVigL\npXsEc4Q6XLxlIFYGIvtgDpeupy+ujHB90T6SteMaKSWtSfjMtV122UVSp/zQX6X6WUAsIPbkdcyG\n3uOxJ6A/Wfuw36F7OLJG19aETEUqSZIkSZKkkUWhSI1dyqqvxw8eA9W3gnMJvA+8Jbwfnt5rY0v8\nKRlFqaRkRQoE3qXHA0xbiQKqO//3f/+3pM5L8jgCz/DBrvg73hDH4e+1oIwRE4UXh5KCd8/xI/ra\nlVfyRknj+n3vvhLEPSw2RQq7du+1z/rAGJWI4hP7Ql/6XB5LXe9ro/Ca17xGUpdNSDyh47bj6jvf\nY23i99q1oTULDFCKojm10047SZIOP/xwSdINN9wgaa4SBW5Lvp/l2LhyxHhi66ivKH60D/W5NkbH\nM4n7sn79eknd+HMv6Xs8xoufzEfufWO/dfJ7AO13ZZV7BrFzJaWNeVG7a0IqUkmSJEmSJI0sCkUK\nz9730Ov7fZ6ivX7OYoOYD7yQvllOrXvD+fvjHXfccdbfh+40PinwHkre43bbbSep80rIbsT7G2sP\nxCiOgVisEh7LFeF7S6J6UDuoVTFE0fKaR9Pcs25jJq0SSN010xelrLsIxmKsmCUnWhuiGBv4u7/7\nO0ldTbuDDjpIUqxMoYB4RqmfH0WhNnurVYFgDqMcRooUsVf8v7SP5ELvg+q4Chyt5X2zMFvvCa5A\nsaa0ZuexRhFLx1rn2ZitRG9dsFPWDFemua5ahdf3Ay2RilSSJEmSJEkjU1OklixZMifbjKdYnsZ5\niix5i3gtPPUu1h2igaddno77KlJD6/TQn0O9j4UCr6CkmLCTPJkjk7ouquuihNIuVA6PCwD+j72W\n4LjEKbjX2IrXDFrs409GFkruGNRmkZUgfm+hKa2Jl112maSu3lMpdgylwJU1r1FX8uhZy1njsF1X\nIlBbI4UCJatUu48Yl3/7t3+TNN0aZpsj9PNY6q/HCKKUjRVvG8U/16rYtfHErIm1GfupSCVJkiRJ\nkjQyNUXqj//4j+dUbMY7ccWkBE+/KFx9q7suNFzftJQAvEGUu9b36wtF7XjiZdRWoG8FJQplCjvl\n/L5PFl4NilTfWkd4WVHcRClexlkssVC1oEixPtTWtHk2c+211876WSJSJ4mZYo3AdlH/PauLz/nb\nBlRQ5ggK11hrNUoIc61v1lsyDszRsdRzp5SRP1btQ2oLesxgRCpSSZIkSZIkjUxNkdrYU8Djbn2/\n7e/18YIWK0Nrq9RmEkTgrdHvfesQ9YX6R2QF9lXi8DJbY8ocvBrspG+2Ip/Hm8b74ScKqWfERFml\nJS/K9wZk7vB3KqxT38rx9/yl+IDFAnbjtV/GgDg6xnLa2VyLFcbAY11QZT1jGlBHGTsHG26tkxXB\n3FssShS15Z4tYB+TilWr3atxrDjS2goCqUglSZIkSZI0sijqSI399LrYY36GMjQrEa8NJQ+lg2q0\ntXvP1TLUO/AaIEPthdgmrztVCzFGZH6RbYr3QvuimCWviUMWX9RPeFnsSI5KgBrA99mDz48z7T0s\n+4J9s6+W76c1BoxRVNX/2QZ97n3saw22iM2VlB/fDzL6/+8rY2WHbi5wD+Gegj3V7jhQomRvYynL\nXsesRCpSSZIkSZIkjSwKRQr6Zh89WxlaRdkVjRe84AWSupifsRWpF7/4xZLm7itV663RTrwd2oky\n1FeB5Lxcd6tigwKF18Lv2G/0ft3jRkqVzmkv/YgC5vvFLZa9EYdCvA3jy+9jZusxh1AnFyrLC093\noVXC0t6C2GRJzewb37jQbweYG/Tz2Ofve48aex/ZhQbFtjauF+WRNQ17IVasrzLl/e32R7wpawX9\nzdreqjSz60dtXGYqUkmSJEmSJI1MTZF6znOes+Hpte8+OI4/tU6qjhTH5f0v72NLMUtje6FDvWZi\nT3iKp9/GrBy9MShK9Jvv2F2Cz/uO6a3jjMJx9913N30fL4X4joceeqjqe3j9xGaB77/lcN2cZ8WK\nFZI6u+vbn16/bSh4rdjR0Ewlz7yZRN0ojk1fsIb0nVuuspYorQHYFmvGWPuGlio+R567q8asGdgk\n/Uc7+9ri2DC37rnnnlGPi3KJms8uCozn2LXZUBBdadlpp50kSffff/+o58P+uR7sevny5ZKk2267\nreo4ZJR7JjNrRF9FypU/V0w9vpR7G2ttqyJFBjT3mDe84Q3zfj4VqSRJkiRJkkampkj9yZ/8yZyd\nxFvrBW255ZaSuve4vB8F6uywLxZPzSgTeFeliH+edvFa+TznB/f4F1vWFDuk423S75OqpYPSxbjg\n/dTiXsXQOlwlUHpQ0vBKXBHDW3JvFPsiXoPjcN1eBwzvCXv0jBdYtmyZJGmXXXaZdVxXB0pK0557\n7imp86q9/bX7bmE3BxxwwKy/j5WlOXas3qbAllrjDrHpsWJxvO9aVUPi6VDzWtegSC2tXTP7MrQy\ntWfEOn0zdIF7Ee1iLpeUqNbaZ9jVvvvuK2ny1fxf85rXSJJWrlwpSbrxxhubzkv/u5I5qTWb87AW\n164ZL3nJSyR14/nrX/96k5/LOlJJkiRJkiQTZmqK1J/+6Z/OqViMh413SF2ciG222UaStPvuu0vq\nlANXPPDq8Co8G6gEXkz0fhfPHrweEwoEShbtob3uddJ+YmF+8YtfSOriD1ort/OenxgW+p/23Xnn\nnU3HLUHldPpxofd6K2WeuL3ssccekuYqPNgL4xh5v147h9/9+8B56B/3gnxvRNqDPfB5vCzaFcWk\nEc+Cwor3y/zj+6gRnJd56fuloTj6vDrwwANnXRfVxImBQrFjXOgXjzvxebrDDjvM6oeNFT7P1vH4\nSa+ZxneZi9Ec5zj0EUwqrhBc8aGdJU8ZRYrPP/XUU03nn1TWHf3pe5mVlCiuy/dnxTZLCopnzNb2\nJ2BHtD9SMqC0N1zE448/LqmbC8yBSdU7u+qqqyR1byvWr18vqV6dBvoFZYvvM04+t1kbPN6VWDDW\nBj7vcdT0L+PH8TxukzWY8fdnD5Qt2se6UJ2tWPWpJEmSJEmSZA5LnplCoYslS5ZoZmZmoU+bJEmS\nJEnSm5mZmVC5TEUqSZIkSZKkkanFSNUoUvvss4+kLkaIWJu+5yida9WqVZK62hF94X3sSSedVHU+\n3r8OrVDu10fsE8ctZT0SJ1J6zx+db2y8ujTnOffccyV1NUM8I4SYGa/n5O/diW/xGCVidT7wgQ/M\nOq/HSHm8De/ryawhVu7pp5+W1L1/x4shRoiYpfe///2SpHPOOWfWeWhPqb4UNW2iecH/aS/n+8Qn\nPiGpiwegn7Afj6ch9or4lNtvv32T52P8iOF75zvfKUn69Kc/PetzjKNXdH/00Uc3eVyH7EXfx+vD\nH/7whmsjHpCx4LO0jbkR1T2K6iLRV2eeeaakzla4djJ4OT5rlx+XNYCxIRYJW+H/9P2RRx4pSfr4\nxz8+6zzYTN+1ETw+lZgQruuzn/2spPo1IqJUEdzXligDlbi+oXvY9V3Ltt56a0ld+/v2R+l8pcr6\nzJUoS5L/s6a/4x3vkCRdfPHFkuLYKtYuxj26BxKzROa7x05xXZdeeqmkbr75OHlMk2eTsjYwf6L+\n4Hyf+tSnJHVrZW2mf9+dDEp2kopUkiRJkiRJI1Pda4/IeTxwz7hAWWn1tmrZf//9JXVP0Z4tSN2e\nqFpu3wrbeA0HH3ywJOnb3/72rP+TjUh/uBfndbIAhaS2Dlerl1nyKrw9pXagdHCd7iXghUVeKIoE\nXrVnlQGKi2daufIT7Uvm3iDXddNNN22yXZ6BhDqBWgJeobykREGpZk40b3xPwJJ3hkLB0qclAAAg\nAElEQVRV2l+M73sWpCuv9CP9UKtEAZ/n+xsrW2T30Dc+BvRxySYjpSqKkeA8nsEbHZc5xBzxvqXP\nvC89S612d/oIr0DtWVFj7d9YW2+K87sSxRijoPzwhz/sddxWfPcNMlGvueYaSePVRyopI6XrxC7d\nPkvtQ2EqZXWSxVeyB9oZZcSX6qKx5kb1t3wXEeYHn4/uaa7ojb2n5lQfpFj0onT40tYbdKIPbt/4\n+bvuuktS/Epj++23lxQ/SNWWUQCu67jjjpMkLV26VJL01a9+VdLc1wFOZGRD5fdaeD1RktdrZVY+\nFx2vNJ612w7Uvg7gwd4fpEitrb2uSI7347ZO6tp2OP7gz/n977w+4jpq7avkWJRSwjnvy1/+cknS\nrbfeKmnu/PRNozcGJ41r81dmfbeqKNG34KVvz+RwA49sAxvydH4gLIJXm7VlGtym+q5tEVGR2dL5\ngTnEjT96sPBXpox763XQHh7Mv/vd70pqL7Q5KXhA8YKUtD96VV1bFqP2nsqD29Dtp3iFyzxlvH1t\nYZ6UnEq+z+d5duDBbOh6kK/2kiRJkiRJGpmaIrXllltu8PwJhOtb/M29OV7tcNxaKH7mXgseeEke\nLb3yiPj6178uqXs6rr3+sWXJvoxdMcODsh28EBShyNtBQYy8rNpCoJF3gpeEXZQUIdQCxhVvyBWU\nsTYPrqV0Pl6BosQyPrQ/UkxRHQhyj3Av39lxxx0lSa961askdeN/xRVXzPoc9rCp+RepZyhHYwUt\nt1JaM2oVFO9DxuCwww6T1BVG/PKXvyxJuv766/s0c/CrPX/dPhTuFdHraG/vWOcF7Geh1mDeVqDE\n9WWs7clq1/yx1jJeXbP2oCh5O7D/vm8/GL+xxjEVqSRJkiRJkkampkj93//935yg5aHgffT1Qkht\n5WkVRQLv5r/+67/m/b6/t8Wj53hRmQPeZ/d9Pxs9fdcGd6OA8ZTfGmvjZRw4rm/yG3lFpKJTPoL3\n+B7/gH14IKyDEoWSsttuu0mSvvOd78z7PY/ZieIvuC6C46OAZnCF0Tc+7UsU5xCBYuObJEfzDfWA\nmCgPjC4penijpesjmN7LHwAbpv785z+ft73e7hpYG1A0KEmBbbVupTIp+q5lXBdjtXz5ckndRtWR\nIjW2cgRjH492YmOuKHDdHqRfW1Kklb7p9A5zges79NBDJUlnnXWWJOmnP/2pJOmiiy6SJN1xxx2b\nPA5Kq1O7ZkSMrZqzprz2ta+V1CXssKai2Lpy6/3beu8am1SkkiRJkiRJGpmaIvU///M/G1KFfSPI\nhd7cFuWAGBveS5PNV3rqdY85ep/rEMdRKlbnRFlPtU/nrTFd4BkPZBCRbYUXTGyZe098jzIPHtvm\n3iTUKjmUryhteg213hbjSXtdIcJu8Zp4v+/t7rsRKPT1KvvGc6CMEttFu2lvbbxFqdAsSiSxYrSP\neCXsozY2kTigGvgOcVwUGiTua7EpUn3BRn7wgx9I6sbQs7kc1NaS6jtpSsoRikU0hzwdHpsdK1Yo\ngnb7Zsq18Hl+UhKH60BpisaHucQaBH03ZY6Oix2NVW6CfqKswuZOKlJJkiRJkiSNTFWRAjx8vAkU\nl2233VZS99Q6VEmJKBUEJOYGb7X03r+vctD3uiZdhK72/CgyHqOCF4PCB17Gn/EeWutloSBjCG+q\nNrbNFceFztJzZbdU54lxaFWEa71/Pw9xIvQXf48KpKJ8tagojB0Zu5u7EuVQq47ri+pNAUrGtOsj\nlVRn5lBUo414QK6HtXjScw6lbOz++9a3vlX1OfrB5wjjXlLB+Rz3XIpBsx0T9jT2vefuu+8e9XjT\nIhWpJEmSJEmSRqZa2dzxLCee7smqw7taaI+ep3BiO6atnEw7jsGz/fD+iPki1gXvhiy3e++9V1I3\nfl4xm+/13XJnoegbc8R1LpbMEih5lUPbW4ptQnGif5hP2JHXdmIrmMir9q2l5oNYFuIgUSyGZjUt\nNLUZuig8ZMaSUexqKp+b1Nwrbbrr7YhABafW2AMPPCCpu3cwvpxvqNLYN1N2rC11+sK90mvUecxU\nhNfo4y0BqvC07jm1djNtUpFKkiRJkiRpZFEoUpHCg7dVm301Np49FNW9WWiirLaFAu8MLwEvjPEi\nFopNc/EKydLE20HZ8RixsSunj01przhYLEqUe6WluAk+77FO2D/XHylzpfHDfomtw+v1Pf/IAi3t\nVFA7Hhufm2NOq7J5LShnjmfMliB2KKqQPWklZSxFgfFiTWYcsSFsdixlzeP2JhWnOxTWXL831PYD\n18XaTv+i9E1rLWON8LcYi42iIvXWt75VL3rRizYUN5SkmZkZLV26VHvttZf22msvXXnllRv+d955\n52nHHXfUqlWrdNVVV02m1UmSJEmSJIuAoiv3lre8Re9973v193//9xv+tmTJEp100kk66aSTZn12\n3bp1+ta3vqV169bpySef1KGHHqoHHnig+f0qisa0IK6Ap+Fo/65SRszYLNQ+T8SERe/ZIyWRmjyM\nu+/EDmTBTZu+41cbdwAoJtgR/bpQvPCFL5z1e0mRirLuvNZNK08//bSkTiVxu+B37KaU2dNnZwA8\nd8YQZWexQWxOtHb2zagk62paEOcW7a/Yl/vuu2+Tf0dRGUu5wAZRR6N9JmsZWgG9L7X7t6JITvue\n67AWsSZMKwatRPEJ58ADD9xk2flNyfff+c53dMwxx2iLLbbQsmXLtMMOO+iWW24Zp6VJkiRJkiSL\njOYYqYsvvlhf/epXtc8+++jCCy/Un//5n+upp57S/vvvv+EzS5cu1ZNPPjlKQ2ug3lNrTJXHhuBF\noSRECkrJQx97n6dSBslY7/NrvZnoe+yV5nu9DYUszrFsy717FJxIgaxVWD0+AWXKFbCh1YdLeBwQ\nSitKzthVn1FTIpgvJXWiVCEdonHaFMwJFAG3pVa1bey96pjjUTzkYo8jBJQcbGIsRSqCtWeszG7m\nbN+4VCrnu8Iz9lxD3ea6h8bPcr1kAQ7dXSTa3aGWhdrdJKIUnwlN79ze9a53af369brjjjv04he/\nWCeffHL42cWayp4kSZIkSTKUJkUKL0OSjjvuOB1++OGSfufdbfwO+Yknntjg8c3HH/zBH+gP/uAP\nNngRPMXyNIgyRCYBMRbOUIVixYoVkroMBbzT0sNgKWZmaA2Ovt7uYskswWsuZUahWEUKhMcVTNqr\nxWuMau5EMTlRHIh7xz6Ori7U1giqxb1Bfh/LO3Yl9wUveMEox50k7JZAjTNUyGhtiSAWh5+1c7R2\nTk+7vhXqZak2mMPazff7qIZDGLvGIGtp33pU3Duive/Gwt9y9B0nB4WrVUHyXQhajxOtvUNh3jEu\npaxX1rRrr7123s813eE3Xmy+/e1vb8joO+KII/TNb35Tv/3tb7V+/Xo9+OCD2nfffYvHm3aBySRJ\nkiRJko157nOfq+c+97k6+OCD5/1cUZE65phjdP311+vXv/61ttlmG33sYx/TddddpzvuuENLlizR\n8uXL9fnPf16StHr1ah111FFavXq1nvOc5+iSSy6pegJ3L4I92njfy1N3yVssKTEoXbwH5v0rtVp4\n6OMp9eGHH571uQj3KvHIUeNad7jGm6Mf8HJalQR/n75YIH6CfnSb8QyXSWdulBQ07AUVg3HBG0Nh\nirxwP74rbiR3YM/E/mG//MROOS+KLPW6PFsQsKfttttOUufFYq94bb/85S83+T2Uw6222mrW+bne\njRXr+eBzeJ8PPvigpHr7jvZ6nA+PT6MydiuMfdQGxoC24gnzs6RITbtmHGNbq3Rgy14rLBpTr8Q9\nFiWVG1hrmFNRfGmtys/3IyWF4zD+rBWt6vPYMVfEAaOw9n0bUtseYsi4ft+doFaJiuKPuXci0tB+\nzlcbY1irpBYfpL7xjW/M+dtb3/rW8POnnXaaTjvttKqTJ0mSJEmSbM4seWYK6R9LlizRzMzMQp82\nSZIkSZKkNzMzM6GSlcFJSZIkSZIkjUxtr70aRSqK8YBSRgnnmLT6xfvk008/fdb5SvWIxj5f32yv\n2vpWfr5zzz1XUherxDgR20PcSG0dIOIKiGvgffaJJ54oSfrCF74w6zyPP/74rO/zvp3+vueee2b9\nn2w6Yo1uvvnmTbaDfiTmj/f9vgfcNttss8nzEO9BjBzfJy4CO91hhx0kSUcddZQk6bLLLpPUZfsR\nrxH1H+NGzJtnqxJ7RH+SSfuhD31o1nVyHq6HmKja/dsA++B8XPcJJ5ww63wloj3+apmZmdHHP/5x\nSfV76dGHeJq+lnAcbI9rfc973iNJ+tSnPiVpbowNx/GsO47DNXLNjBnt4HPErJxyyimStOH6onpX\nURxoXxizT37yk5Jim8B2oorfHjNFf3D9vrZ85jOfkRSP29577y2p2zPQY2u8Xdg0/UX/EH7yiU98\nYtb/x9oT0KE/yf569NFHJc3dO5C1gTntGbasdcuXL5fUXR/1qogBfO973zvrvBH0J+fxXQRWr14t\nqYu7jOyA83z5y1+edTzufYwzayH3dOyUtYPvcS/Bfv2e5tfHPCKmq+8aBtgHcE95+9vfPu/3UpFK\nkiRJkiRpZGqKlNQ9paKk4A3w9FmqCTJWpfChRF7MtttuK6lTKO6//35JXXbUAQccIEm6/PLL5z1+\nSZkDnsbdC911110lzfU2avvPFQK8TLwH2uXKSy18D3vwasDYR7QnHt4ZWWiuFL3iFa+Q1HnFt912\nm6RY+SBjJMrUWbdu3Sb/jhdU8ob8+/Qf41YqB8K4ReNH/5f29WKeoYJ4NmAttJfj9N1HDKUQFeH6\n66/v9f2NoS9d0fD6NlDKYEUdpa+8ajtzjvP5/pIR9BXtpU4RY4BS5h4ya0G05qxcuVJSNzc9K7Fv\nfZ6SLZT2nsMWIpvw6/DrdVAIo9p91AWj/7x9nvHLOExKiXJQGKO1kjkd9ReqdbQnXvS9KBuRTHhK\nGHH8NWvWSOrWpGjN83FAKfR7lfe7v03ytzYol9gD7Y7sg7W8VYmK2llrF6lIJUmSJEmSNDJVRcoV\ngb61NMaq/DwU32mcp+af/vSnm/z8kUceKUn67Gc/K6mLj+B3h6d7Yn2ip273DlBw8MYjr7yE93Pk\nxUeKmStq9Jc/7ePNOLQ3Umrw5qP+Jt4Abw+7i/a4K3khePXEM6A01saE+Tj5PBi6v1Sp5gvn5zqw\nPz9vbcyS1+Lx/ivtJcjemH2VrE0RVYkn1qHW9qmRhefPcakhBihS/L+kRNHXeP7eV3jEzF33kEt9\nhNJELT6nVCmduQqluMtSvSaUB9YerwWIigwlNZv4xqifUV5qK9TX2hyxRNEaUwv9H9UdQ3GL4ldb\n73lR7T36iTnKGo0qXIrv9fZgP9yriOHyecnaE423K7al64Do3lJag6J6WbU1F1ORSpIkSZIkaWSq\nihRPs5NWlqKn1LFwj52n2+jpmQrOxEahaJQo7THnigJP8zxVt74/dsUtglgwbwdewPve9z5Jnbd8\nySWXSOoyQiLwJqLr9yw+h5goJ/JOuI7ofHj9eLOHHHKIJOlf//Vf520HuL14O0rzoaQsomYQIxWd\nn/nAePF34oDIEMJLw64feuihWcfj/5EiWVuqru8+d/PhMUb0Bb+XYmNQNrB9FC2yiYCx8jHlPMuW\nLZPUxSqV9mxDiYjiHUtw/Og8pTXQx7A0dsR7lhSp6P/+95LiUFL8yIYbG8Z9//33l9SN749+9KNe\nx2HtiMahFP/YSmkc++4lGB2XtYC57HGa9FuUbekwr/rGCXv/0g6UMu4prKXRPbi0jy6kIpUkSZIk\nSdLIVBWphWLSGRn+VF7KPLnqqqskST/84Q8ljbdjOUoE7+Hx7vrGnnAc30OuBN6i7+mHV3HNNddI\nkv76r/961vEd32sPVaCkqLXuVO+UYoIY77vuumvWz1ZQgNw7j7xv+jfqD+JWiMfxvR7pT+zU42Dw\n3vg+3mDktaLekD1ZGys2STy2wT1iFAZsxT9PvJ7Hqtx3332SpEMPPVRSHOvCHOo791C+gCyvaVFS\nMkpzEluM4h+937G9SJFhLWIcmTv0c0m1r1XXHTKBV6xYISnOYnM805jzR7FqHqPWF9ZAKMUGTRpf\nw4iNYl65uh3BPCuNX9Sv9APzCTsrKZiZtZckSZIkSTJhnhWK1KTxp31XVGq/1wrvfT22xr1v3s+X\nMnd46kfRqn0q53x4D5GXT+ZL9P7Z/06cSCk+Ai+D62vt36G1SCKiDChUCPqL//v1Ylclr5V+oKaO\nqyYch89xPH7Sb3j7qApA/5LRRjv5nqsqiwEUC9TGUgyKxz5Fn/daXIAN0feoe6XYENRpr18FUT2g\nWrCJseLRovhElBiyHL2GXUQpJoy1ibpdpcr1Tqv6T/YZ2ZylbDbmmCtSKEZRHS/W0NoMa19T3F6m\npUSxlmD/zB/6EUWKeNSS8sr3o7jPEt6PrTUUI1KRSpIkSZIkaWSzUKRa6x9Ni9J7esD7QIHhKZ2n\n9lrwSlAQeLp3b6j2/TteW9+qv6V4ELL1UNCIN/Dqw97ukoIGxOZ4Ndy+1H6P8cLLLGW+RNl4jD/j\nGNXLYjxKWYr0J+qDe1+cj1grFCdX8hgHPof9EFfk1ZVRW1BfpkGk+pU8S5Qe+saz8yIPNlJQmDM+\nl1FUyHbzStBetyo6biu18Y61eD8TA/O6171OUqfMlOpNRcdzSjXSSni/lqr/A/1W2/+cx9vr6q6D\nPdXe67y/at+GTBrsOcrCbM1OHKPWXB/IXC6RilSSJEmSJEkji1qRYudpvBzqDeE9ogAMrQQ9LfDw\nUQJaa4fgxbJnGV4W3jneFIpQKa4gqlZbAm+T8XHI0GDvO/ZWc9yLqVUkWxWoVujPWsUswvfdKsVx\nlOqi0X9k67kag9qCgonihP15tifXxzigKDq0v7b2yiRACeibrcQYsNYQ51Wak309ZMaMOetjzf+j\nPhxac2/MWl0bwxqx3377SeraT7/WKlIlhipSjtf8i5RL1p6+bwvcPkoZ3ajbfK9UWZvj0f6hWX99\nKSlgrfbKGkcMVd9+7wvKk6vstQpuKlJJkiRJkiSNLGpFCqWJp27iCviJN1GbEbLY4Gm7pGhE+y45\nXnEbLwVvivOVMn/ci6r1KnwPO4f2uALiuNe5WN77O8TCRQpcLSiHXGdJcUJJQlmMVBfa5f1H7BNq\nCPMMb5bfqbHCdVKlOwI7cfuZRoyjx8nVVkbm86iNjAFquH+/NqvHKSlZKGNj15Eaq2adg43xlgA1\nFNWZPfUmVXm8FeYO9sFcjOZe36w6t49S5XbmdO2a58db6DjikuLbam/e/668RXi/RRn1/J01EpUd\nxZR1IOtIJUmSJEmSTJhFrUjxNI8HTdwCtUn8febmRm1sV23slHsj9B9P2XhdfWOJ+n6+5IVQg6U2\n3qE1dgzvEq9j7IwPvJqhcSv0A/ZQUriiGjROVHUbr47sPvoFJYx2EE+Dt4ZKEmWl0g8eg0fM3qTr\nc0ldLA6xJihJrCGlqvcoKMT63HvvvZLmKhEwqTo9JXW3Fdo/djwhnjtV/hmTVatWSZJ22GEHSdL1\n118/6nkjahVIYrlof2kusxYxR/vaNHOH87pihX1Sr6pvTFmtYjOt+lJ9ITYKFT4aH9aYaO8/YH7T\nr9tuu62k+N6YdaSSJEmSJEkmzKJWpIjp2WuvvSR1T6M777yzpPrYqKHVgEu0ZimNnW0Yvc/lqbxU\njTeir/dS2iMOvH5ULcTIPfnkk5v8P3aD98F5x/aG8R6HKlJeN2osO0W58vHDDrA/6j8Ri+eKEl49\nas+DDz64yfNFak9fr53sU9pP5hLXMV81Z1Q1V45qx+jlL3+5pE5JufPOOyXFHmttDEXffSCjelhD\nqVUzW2GMUC+JjVrobLLa2Bw+V9vPY2XoRvuRonxSA46acbVrcFSDjrnNvZDYO+yS629V/6E2lqkv\nHC+61/rbBt+Tj3Zhl/xkvrPbhlP71iQVqSRJkiRJkkYWtSLF0yDeJb8Tt3DNNddUHQeviHgJjocX\nUKrV4fA+lve2pf1/ovfhC1X3CC94aFXkvtA/K1eulCTttttukrrK13j7fYmUKIf367Wf78tYakGr\nMleitho3dhHVF8NO6ce+ClNtbBpKI/FJjB+xkOvWrZM0f7/7Hm++tx1tdw//gAMOkNTZKLEsZJ/5\nHniA0sLc5icKALaPSoqKzudoH/+n/SgLk1aQJgW2hAr8yCOPVH1vUopGRN+1f6zzRWsxihcV78eK\nZYoqidcqpLWMPW7cW5l/tfcw/xzzFEWO+QnR261ahS4VqSRJkiRJkkYWtSJ13333zfrZCpkKZP0R\n6+ExGLXgZUaKlu/fFEX+89RMfR48cJ6aeRpurVUDXo9rKKUdu1EA8d5RXFADaIerBVTc5r19K0Nr\n76CIUPOGmKLacUBVoBYRCgrjHdU24brpB8YfbyyyU4+rAOIEUFWGUtpDErtvtTPm47XXXiupLa6G\nvr3lllskzc168rWAPqfN9BXqF1lokQrGWPN9zsdYczxsiTWBSsqsRYwV30eZ8L4cq0L4pMFmmfuR\n8uFjXFI0+saatYKd8LNVffaYnigO0eEewFrrGdjEf7JGcDzfp3ShGTsrkOuOlKgoltCzXbFH5iMx\nUvRnpLLT/yVSkUqSJEmSJGlkyTNTKCixZMkSzczMLPRpkyRJkiRJejMzMxMqbalIJUmSJEmSNDK1\nGKmPf/zjE88iQ/Xqq361Zo5wns9//vOSpN13311SFw9xzz33SJJ+/vOfS+re6+69996zficmjPfr\nZBIRe3T//fdLkl7/+tfPOu+k4TznnXeepK5ydimWq7Y/iX8gjuDtb3/7rPNOGrcX4laIO/AYpZ12\n2kmS9NBDD0nqrp8YJ7wXst74yThznosvvnjW8YmD4Xdin4ibieIrqE1D3AkxS8QLvO1tb5t13knj\n/UlcArFjVE5nHcDeuQ7iF7zGDvOJ8aFfjz76aF100UWSujGgL8j8ow85V1SdntgIzkHMCm0+7bTT\nZl0btss1MnbRWGHjxC9yfjKKOS/tP/744yVJn/vc52b1AbZCVhx73QHHIZbEM4WpOE57iGs8+uij\nZ12fQ+atxzkydtT64/9R1h5z65RTTpEkffGLX5TUxY3S7h/96Eeb/D7jQj945XBqkrFW8X/Wlksv\nvVTS3LnHeGBHDz/8sKQu1oY5RfsYN85DPzN36c+1a9dKimN/1qxZI6mzU89spj2MU5QRy7idc845\ns9rtRBnlEXye/sG+fD5MGs5zySWXSOrmmfcn9k173Q6JNeN7xClH54tIRSpJkiRJkqSRqSlS8+0h\nteeee0qS7rjjjk3+/9BDD5XUeYcoPTA0Ow0vyRUUvCQycHga96dgvNk99thDUudFkBngNT3IMnMv\nBe+WekyrV6+WNNfrXGjw4vFi8coi77tW2RurUvhYMA5RthzKoBP1Q2TzeLHYAf2FV//Sl75UknTj\njTdu8vivfe1rJXVKJzVoUKTYK68vkX33BfugH5mfnl2J4kpGHZ+nP/DS+R7H3XhPQZQBV5o8Oyyq\nVM5c9UxXbD2yTdqCohHtIsDxSvVpUHw8C8vr6eBBR550aexQU10BKuFKFLALBf140003zXsc3w+S\nvc8OPPBASd043nrrrZLmKjCMn++7yjhh+zvuuKOkrgYh+Pe8H6PrpF2s2axdnk3oa0epUjZzN9pH\n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\n/vz5euGFF6q45UnNaPXR39+vnp4eLV++XMuXL9fOnTvr37k+2suxY8d04403atGiRVq8eLEef/xx\nSe4jVRCrC/ePUcg6yH//+99s9uzZ2dDQUHb+/Pmsr68vGxwc7OQtmCzLent7s9OnTw/77MEHH8we\ne+yxLMuy7Pvf/372jW98o4pbm/S8/PLL2f79+7PFixfXP4uV/euvv5719fVl58+fz4aGhrLZs2dn\n//vf/yq578nKaPXR39+f/fCHPxxxrOuj/Zw8eTI7cOBAlmVZdvbs2WzevHnZ4OCg+0gFxOrC/WMk\nHVWkBgYGNGfOHPX29mrKlCm67bbbtGPHjk7egvl/siDG4He/+502bdokSdq0aZN++9vfVnFbk57r\nr79eV1555bDPYmW/Y8cO3X777ZoyZYp6e3s1Z84cDQwMdPyeJzOj1Yc0sn9Iro9OMH36dC1btkyS\n1NXVpQULFujEiRPuIxUQqwvJ/SOkoxOpEydO6Jprrqn/v6enp14xpnPUajWtWbNGK1eu1C9+8QtJ\nF7aJ6e7uliR1d3fr1KlTVd7iJUWs7N966y319PTUj3N/6Rzbtm1TX1+fNm/eXF9Gcn10lqNHj+rA\ngQP69Kc/7T5SMdTF6tWrJbl/hHR0IlWr1Tp5ORNhz549OnDggHbu3Kmf/OQneuWVV4Z9X6vVXFcV\nkSp710v7ueeeezQ0NKSDBw9qxowZeuCBB6LHuj7aw7lz57R+/Xpt3bpVH/nIR4Z95z7SWc6dO6cN\nGzZo69at6urqcv8YhY5OpGbOnKljx47V/3/s2LFhM1jTGWbMmCHpwqbPX/jCFzQwMKDu7m69/fbb\nkqSTJ09q2rRpVd7iJUWs7MP+cvz48REbZJvWM23atPrL+q677qovT7g+OsMHH3yg9evX64477tCt\nt94qyX2kKqiLjRs31uvC/WMkHZ1IrVy5Um+88YaOHj2q8+fP69lnn9W6des6eQuXPP/5z3909uxZ\nSdK///1vvfDCC1qyZInWrVun7du3S5K2b99e7zSm/cTKft26dfr1r3+t8+fPa2hoSG+88UY9ytK0\nj5MnT9b//Zvf/KYe0ef6aD9Zlmnz5s1auHCh7rvvvvrn7iOdJ1YX7h+j0Gnv9ueffz6bN29eNnv2\n7OyRRx7p9OUveY4cOZL19fVlfX192aJFi+p1cPr06eymm27K5s6dm61duzZ77733Kr7Tycltt92W\nzZgxI5syZUrW09OTPfXUU2OW/cMPP5zNnj07u+6667Jdu+tes7EAAACgSURBVHZVeOeTk7A+nnzy\nyeyOO+7IlixZki1dujS75ZZbsrfffrt+vOujvbzyyitZrVbL+vr6smXLlmXLli3Ldu7c6T5SAaPV\nxfPPP+/+MQreIsYYY4wxpiTObG6MMcYYUxJPpIwxxhhjSuKJlDHGGGNMSTyRMsYYY4wpiSdSxhhj\njDEl8UTKGGOMMaYknkgZY4wxxpTEEyljjDHGmJL8HyFOTlbukMv2AAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], @@ -428,9 +428,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\n6Ycxn16m03hnMpm8Sf1EpAAAADzFEpFat26dLl68GHWzAAAAk7Z27VpduHAh9O9imUgBAABU9FKE\niAAABA9JREFUA5b2AAAAPDGRAgAA8BTLROrs2bNqaWlRU1OTjh49GkcXUGKNjY1as2aN2tvb9eWX\nX0qSnj59qk2bNqm5uVmbN2/W8+fPY+4lpmLPnj1KJpNqbW0Nzn1qjH/44Qc1NTWppaVFPT09cXQZ\nUxA23plMRg0NDWpvb1d7e7u6u7uDv2O8K9vg4KDWr1+vVatWafXq1Tp+/LgkrvFQJmL//fefSaVS\nZmBgwGSzWZNOp82NGzei7gZKrLGx0YyOjuac6+rqMkePHjXGGPPjjz+a77//Po6uoUguXbpk/vnn\nH7N69ergXL4xvn79ukmn0yabzZqBgQGTSqXM27dvY+k3/ISNdyaTMT/99NNHr2W8K9/w8LDp6+sz\nxhgzNjZmmpubzY0bN7jGQ0Qekert7dXy5cvV2Niompoa7dixQ6dPn466G4iA+eA5hr///lu7d++W\nJO3evVt//fVXHN1CkXzzzTeaN29ezrl8Y3z69Gnt3LlTNTU1amxs1PLly9Xb2xt5n+EvbLyl8A1z\nGe/KV1tbq7a2NknvthVauXKlhoaGuMZDRD6RGhoa0pIlS4I/NzQ0aGhoKOpuoMQSiYQ2btyojo4O\n/frrr5Le7Z+WTCYlSclkMthPDdUj3xg/ePBADQ0Nweu47qvHiRMnlE6ntXfv3mCZh/GuLvfu3VNf\nX5+++uorrvEQkU+kEolE1E0iBleuXFFfX5+6u7v1yy+/6PLlyzl/n0gk+FmochONMeNf+fbv36+B\ngQH9+++/qqur03fffZf3tYx3ZRofH9f27dv1888/B5skW1zj70Q+kaqvr9fg4GDw58HBwZxZLKpD\nXV2dJGnhwoXatm2bent7lUwmgx3Wh4eHgx3iUT3yjfGH1/39+/dVX18fSx9RPIsWLQp+me7bty9Y\nymG8q8ObN2+0fft27dq1S1u3bpXENR4m8olUR0eH+vv7de/ePWWzWf3xxx/q7OyMuhsooVevXmls\nbEyS9PLlS/X09Ki1tVWdnZ06deqUJOnUqVPBhYnqkW+MOzs79fvvvyubzWpgYED9/f3B05yoXMPD\nw8Hxn3/+GTzRx3hXPmOM9u7dqy+++EIHDx4MznONh4gjw/3MmTOmubnZpFIpc+TIkTi6gBK6e/eu\nSafTJp1Om1WrVgVjPDo6ajZs2GCamprMpk2bzLNnz2LuKaZix44dpq6uztTU1JiGhgZz8uTJT47x\n4cOHTSqVMitWrDBnz56Nsefw8eF4//bbb2bXrl2mtbXVrFmzxmzZssWMjIwEr2e8K9vly5dNIpEw\n6XTatLW1mba2NtPd3c01HoItYgAAADxR2RwAAMATEykAAABPTKQAAAA8MZECAADwxEQKAADAExMp\nAAAAT0ykAAAAPDGRAgAA8PQ/lmdbw7Uf8/AAAAAASUVORK5CYII=\n", + "png": "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\nCyXVb4j7xBNPZD6HVvn+Sr3QJ2l8fPy8Y58ets1puz30XQR7f/i0qaXhLe2N7mfdt/M4J/eagYGB\ncGyLrvyYdTv36b6nn35aUnft4EBECgAAIFJhEakL3R2UMQrlTU5OnndcVJTl0UcfDceLFi2SVOvo\nLqWzzDTt360XolCeb31hCxF+/vOfhzFrl2H/RXv86z8p4k0kqnX+ObVjf/5uJ7Jg5xd/XrBIov+5\n1s4mpq2NXwyEdB07diwc/+IXv5Ak9ff3hzGLUnX7XqJEpAAAACJxIQUAABCpcq6AXEulUlG1Ws37\nYQEAAFpWrVYvWJpCRAoAACBSYVV4RUak/GMXHRnLci5WZOm7axc1l1a1M5e0W2h0y/OStjLOpdl5\nXHnlleHY3h979uw57/v83pr2Wmr0fmp1LllKmou1cMmy6NeKyK2ztST9/d///XlzmU2z72NrbyDV\nfqdGiwrK/jcqis1hx44dYayothFlfF4uhIgUAABAJC6kAAAAItFgo0krVqyQVN83o4x8Z3MrjMtj\nA+UsJfWaSdJqvxjfHyemPw06l0852Ubf/n1i7/OtW7eGMUtx7N69O48pZiaPPj72XvW7PrTKb8A+\nNjZ2we/bsmVLOLa/4fDwcPTjlp3tYiFJZ86cyeQxmk3n+T6D9p5q52/eqYhIAQAARCIi1aRO6Yjs\nu5lbV9lOj0g126Gj2aJ6i1z5uynkw/bemp6eLnQev/71r2f9ut1dWzd6KZ/9EK243e/HaNGxbuwI\nPZtGOzNYZMbvOZrGbg5ll1UUKobfe9ayNn5+nf7Z0ywiUgAAAJG4kAIAAIhEaq9Jp0+fLnoKLTt6\n9Gjmj2HpMV/waamI8fHxzB8/RrMpwDSsXLkyHM/MzOT2uJ6l03wBqR3nnS76wz/8Q0nSc889F8Z+\n9atfSaptvC1JV199tSTpN7/5TRjLs4jVUvnPPPNMbo8p1X7Hdn5Xv4giiaUNfdqyTOyc0qgHnKWQ\n/EbynZLa8z2yOpn/G9n5ftWqVWEsj55lZUBECgAAIBIRqS6Wx5L+q666SpL0yU9+MozZHeL27dvD\nWBodxjtRUVEoXwS6dOlSSfULJuwOcdmyZWHM7pKznLO9DtavXx/GLCLlX6+ttrIouzzvzBstzrCI\nQZYRKSsAP3XqVMv/1ubf7GKQvXv3tvwYRevm8+HU1FTRU9Db3vY2SfVd7y1ilrSDQbuISAEAAETi\n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\n", "text": [ - "" + "" ] } ], @@ -456,9 +456,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\n", + "png": "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\nSF9ciQIAAHBAEQUAAOCAIgoAAMABRRQAAICDWDSWL1pk1nJZWVlGbGpqKox0gLQUZBJ5ENr0Zq2h\ndqLs8QcAAAYuSURBVHJy0mp92k0CPT09H/g6rdnX9jMjyGs19fX1Rmx2dtaInTlzxmp92jR67ekA\nmoKCAiOmTf8OQrtpIAjtaQO254+t2tpaI2Z7PGz3X2Vl5bxy+iBFRUVGTNsvfFeGhytRAAAADiii\nAAAAHFBEAQAAOKCIAgAAcJBIJpPJUDeYSEjImwQAAHByqbol0itRra2tUW4eF+F4xAfHIl44HvHC\n8YiPhX4sKKJwHscjPjgW8cLxiBeOR3ws9GNBTxQAAIADiigAAAAHoTeWb968Wfbt2xfmJgEAAJzc\neOONc/7ZMvQiCgAAIBPw5zwAAAAHFFEAAAAOKKIAAAAcRFJE7dmzR5qammTVqlXyxBNPRJHCgtbe\n3i433XSTrF27VtatWyff/OY3RUSkt7dXWlpaZPXq1bJ161bp7++PONOFY2ZmRjZs2CB33HGHiHAs\notTf3y933323XHHFFdLc3CyvvfYaxyNCO3bskLVr18qVV14pn/3sZ2ViYoLjEaL77rtP6urq5Mor\nrzwfu9T+37Fjh6xatUqamprk5ZdfjiLlUIVeRM3MzMif//mfy549e+TQoUPyzDPPyOHDh8NOY0HL\nycmRr3/96/LOO+/Iq6++Kv/0T/8khw8flp07d0pLS4scPXpUtmzZIjt37ow61QXjySeflObmZkkk\nEiIiHIsIfelLX5LbbrtNDh8+LAcPHpSmpiaOR0Ta2trkn//5n+XNN9+U3/zmNzIzMyPPPvssxyNE\n9957r+zZs+eC2Fz7/9ChQ/Lcc8/JoUOHZM+ePfLAAw/I7OxsFGmHJxmy/fv3J2+55ZbzP+/YsSO5\nY8eOsNPA7/n4xz+e/NGPfpRcs2ZNsqurK5lMJpOdnZ3JNWvWRJzZwtDe3p7csmVL8ic/+Uny9ttv\nTyaTSY5FRPr7+5OXX365Eed4RKOnpye5evXqZG9vb3Jqaip5++23J19++WWOR8hOnDiRXLdu3fmf\n59r/X/3qV5M7d+48v9wtt9yS/MUvfhFusiEL/UpUR0eHLFu27PzPDQ0N0tHREXYa+D9tbW3yq1/9\nSj784Q9Ld3e31NXViYhIXV2ddHd3R5zdwvDQQw/J1772NVm06P+/HTkW0Thx4oTU1NTIvffeKxs3\nbpQvfvGLMjIywvGISGVlpXz5y1+W5cuXy5IlS6S8vFxaWlo4HhGba/+fPn1aGhoazi+3EL7fQy+i\nfvfnCkRveHhY7rrrLnnyySelpKTkgv+WSCQ4ViF46aWXpLa2VjZs2DDnU8I5FuGZnp6WN998Ux54\n4AF58803paioyPhTEccjPO+995584xvfkLa2Njl9+rQMDw/L9773vQuW4XhE64P2f6Yfm9CLqKVL\nl0p7e/v5n9vb2y+oXBGOqakpueuuu+Tzn/+83HnnnSLyv/+i6OrqEhGRzs5Oqa2tjTLFBWH//v2y\ne/duufzyy+Uzn/mM/OQnP5HPf/7zHIuINDQ0SENDg1x77bUiInL33XfLm2++KfX19RyPCBw4cEBu\nuOEGqaqqkuzsbPnkJz8pv/jFLzgeEZvr8+ni7/dTp07J0qVLI8kxLKEXUZs2bZJjx45JW1ubTE5O\nynPPPSfbtm0LO40FLZlMyv333y/Nzc3y4IMPno9v27ZNdu3aJSIiu3btOl9cIXW++tWvSnt7u5w4\ncUKeffZZufnmm+W73/0uxyIi9fX1smzZMjl69KiIiOzdu1fWrl0rd9xxB8cjAk1NTfLqq6/K2NiY\nJJNJ2bt3rzQ3N3M8IjbX59O2bdvk2WeflcnJSTlx4oQcO3ZMrrvuuihTTb0oGrF+8IMfJFevXp1c\nsWJF8qtf/WoUKSxoP//5z5OJRCJ59dVXJ9evX59cv3598oc//GGyp6cnuWXLluSqVauSLS0tyb6+\nvqhTXVBaW1uTd9xxRzKZTHIsIvTWW28lN23alLzqqquSn/jEJ5L9/f0cjwg98cQTyebm5uS6deuS\nX/jCF5KTk5McjxB9+tOfTi5evDiZk5OTbGhoSP7Lv/zLJff/V77yleSKFSuSa9asSe7ZsyfCzMPB\ns/MAAAAcMLEcAADAAUUUAACAA4ooAAAABxRRAAAADiiiAAAAHFBEAQAAOKCIAgAAcPD/ADWWZox7\nIqDoAAAAAElFTkSuQmCC\n", "text": [ - "" + "" ] } ], @@ -489,9 +489,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "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\nnULet3dR/+VOZHt7hh08eNAbO3ast2nTJm///v3elClTvOeff950NakaM2aMt2PHjj6fffnLX/au\nvcezGPcAABuTSURBVPZaz/M8r7m52bvqqqs8z/O85557zpsyZYq3f/9+b9OmTd7YsWO97u7uxGOO\n4pe//KX31FNPeZMmTTr0WZjl7Onp8TzP8/70T//Ue/zxxz3P87yPfOQj3j333JPwkoTjt9wLFizw\nvv/97w+YNk/L3dra6q1du9bzPM/btWuXN378eO/555/P/TYvt9y1sM13797teZ7nHThwwJs2bZr3\n8MMP5357e57/ctfC9vY8z/v+97/vXXzxxd6sWbM8z6uNY7rnDVzuJLa38StYtgYgdY3X787q0qVL\n1dTUJElqamrSkiVLJEl33XWX5syZo8GDB2vMmDE64YQTtGbNmsTjjeLMM8/UsGHD+nwWZjkff/xx\ntba2ateuXYeu9H3qU586NI+r/JZbGrjNpXwt98iRIzV16lRJ0lFHHaWTTz5Z27Zty/02L7fcUv63\n+Tvf+U5J0v79+9Xd3a1hw4blfntL/sst5X97b926VcuXL9dll112aFlrYXv7Lbfneda3t/EEy28A\n0uLBKi8KhYLOOussnXrqqYfGAWtvb1ddXZ0kqa6uTu2/GzH0tdde6zN8RdbXR9jl7P/5sccem9nl\nv+GGGzRlyhTNmzfv0GX0vC735s2btXbtWk2bNq2mtnlxuU8//XRJ+d/mPT09mjp1qurq6g7dJq2F\n7e233FL+t/fnP/95ffe739URRxw+9dfC9vZb7kKhYH17G0+wCjUwlOvq1au1du1a3XPPPbrpppv0\n8MMP9/m+UChUXA95WUfVljNPPv3pT2vTpk1at26dRo0apS9+8Ytph2RNV1eXZs+ereuvv15D+r1V\nPc/bvKurSx//+Md1/fXX66ijjqqJbX7EEUdo3bp12rp1q375y19q1apVfb7P6/buv9wtLS25397L\nli3TiBEjVF9f73vlRsrn9i633Elsb+MJVpABSLNu1KhRkqT3vOc9Ov/887VmzRrV1dWpra1NktTa\n2qoRI0ZIGrg+tm7dqmOPPTb5oA0Js5yjR4/Wscceq61bt/b5PIvLP2LEiEMHn8suu+zQbd68LfeB\nAwc0e/ZszZ07V+edd56k2tjmxeX+y7/8y0PLXSvbXJLe9a536ZxzztGTTz5ZE9u7qLjcTzzxRO63\n96OPPqqlS5fq+OOP15w5c/Tggw9q7ty5ud/efsv9qU99KpntbaT3WIkDBw5473vf+7xNmzZ5+/bt\ny10n9927d3s7d+70PM/zurq6vDPOOMO79957vS9/+ctec3Oz53met3DhwgEdBfft2+e9/PLL3vve\n975DHeayYNOmTQM6uYddztNOO8177LHHvJ6ensx0iOy/3K+99tqhf//gBz/w5syZ43levpa7p6fH\nmzt3rnfFFVf0+Tzv27zccud9m7/xxhvem2++6Xme5+3Zs8c788wzvZUrV+Z+e5db7tbW1kPT5HF7\nl2ppafE++tGPep6X//27VOlyJ7F/G0+wPM/zli9f7o0fP94bO3as9+1vf9tGFal5+eWXvSlTpnhT\npkzxJk6ceGj5duzY4c2YMcMbN26c19jYeGgH9jzP+9a3vuWNHTvWO/HEE70VK1akFXpoF110kTdq\n1Chv8ODB3ujRo71/+7d/i7ScTzzxhDdp0iRv7Nix3uc+97k0FiWU/st9yy23eHPnzvUmT57snXLK\nKd7HPvYxr62t7dD0eVnuhx9+2CsUCt6UKVO8qVOnelOnTvXuueee3G9zv+Vevnx57rf5008/7dXX\n13tTpkzxJk+e7H3nO9/xPC/asSwPy5337V2qpaXl0NN0ed/epVatWnVouf/yL//S+vZmoFEAAADD\nrAw0CgAAUMtIsAAAAAwjwQIAADCMBAsAAMAwEiwAAADDSLAAAAAMI8ECAAAwjAQLAADAMBIsAAAA\nw0iwAAAADCPBAgAAMIwECwAAwDASLAAAAMNIsAAAAAwjwQIAADCMBAsAAMAwEiwAAADDSLAAAAAM\nI8ECAAAwjAQLAADAMBIsAAAAw0iwAAAADCPBAgAAMIwECwAAwDASLAAAAMNIsAAAAAwjwQIAADCM\nBAsAAMAwEiwAAADDSLAAAAAMI8ECAAAwjAQLAADAMBIsAAAAw6omWFu2bNH06dM1ceJETZo0SYsW\nLZIkLViwQKNHj1Z9fb3q6+u1YsUK68ECAABkQcHzPK/SBG1tbWpra9PUqVPV1dWl97///VqyZInu\nuOMODRkyRF/4wheSihUAACATBlWbYOTIkRo5cqQk6aijjtLJJ5+sbdu2SZKq5GYAAAA1KVQfrM2b\nN2vt2rU6/fTTJUk33HCDpkyZonnz5qmzs9NKgAAAAJnjBbRr1y7v/e9/v3fnnXd6nud57e3tXk9P\nj9fT0+N95Stf8S699NIB84wdO9aTxB/+8Ic//OEPf/jj/J+xY8cGTYuqqtoHS5IOHDigj370o/rI\nRz6iK664YsD3mzdv1qxZs/TMM8/0+bxQKHAbMaMWLFigBQsWpB0GImL7ZRvbL7vYdtlmMm+peovQ\n8zzNmzdPEyZM6JNctba2Hvr3nXfeqcmTJxsJCAAAIOuqdnJfvXq1brvtNp1yyimqr6+XJH3729/W\n7bffrnXr1qlQKOj444/Xj3/8Y+vBAgAAZEHVBOsDH/iAenp6Bnz+kY98xEpAcENDQ0PaISAGtl+2\nsf2yi22HokB9sCIXTh8sAACQEYn2wQIAAEA4JFgAAACGkWABAAAYRoIFAABgGAlWQoYOHa5CodDn\nz9Chw9MOCwAAWMBThAkpFArqHYm/z6esHwAAHMFThAAAAA4jwQIAADCMBAsAAMAwEiwAAADDSLAA\nAAAMI8ECAAAwjAQLAADAMBIsAAAAw2oiwWIUdQAAkKSaGMndhVHUXYgBAACUx0juAAAADiPBAgAA\nMIwECwAAwDASLAAAAMNIsAAAAAwjwQIAADCMBAsAAMAwEiwAAADDSLAAAAAMI8EKwO9VO7xuBwAA\nlMOrciLPb6IMN9YPAADgVTkAAABOI8ECAAAwjAQLAADAMBIsAAAAw0iwAAAADCPBAgAAMIwECwAA\nwDASLAAAAMNIsFI1iBHiAQDIoUFpB1DbDspvhPhduwrJhwIAAIzhChYAAIBhJFgAAACGkWABAAAY\nVjXB2rJli6ZPn66JEydq0qRJWrRokSSpo6NDjY2NGj9+vGbOnKnOzk7rwQIAAGRBwfO8gb2sS7S1\ntamtrU1Tp05VV1eX3v/+92vJkiW69dZbdcwxx+jKK6/UtddeqzfffFPNzc19Cy8UVKX4RBQKBQ3s\nTB48Nv/5TZQRv1wAAGCGybyl6hWskSNHaurUqZKko446SieffLK2bdumpUuXqqmpSZLU1NSkJUuW\nGAkIAAAg60L1wdq8ebPWrl2radOmqb29XXV1dZKkuro6tbe3WwkQAAAgawInWF1dXZo9e7auv/56\nDRkypM93xQEyAQAAEHCg0QMHDmj27NmaO3euzjvvPEm9V63a2to0cuRItba2asSIEb7zLliw4NC/\nGxoa1NDQEDtoAACAuFpaWtTS0mKl7Kqd3D3PU1NTk44++mhdd911hz6/8sordfTRR+uqq65Sc3Oz\nOjs76eQeIQY6uQMA4AaTeUvVBOuRRx7RBz/4QZ1yyimHbgMuXLhQp512mi644AK9+uqrGjNmjO64\n4w69+93vthZoHCRYAACgmkQTrFiFk2BVjYEECwAANyQ6TAMAAADCIcECAAAwjAQLAADAMBIsAAAA\nw0iwAAAADCPBAgAAMCzQSO4oZ5DPK4IGSzqQRjAAAMARJFixHFSYsa0AAEBt4BYhAACAYSRYAAAA\nhpFgAQAAGEaCBQAAYBgJFgAAgGEkWAAAAIaRYAEAABhGggUAAGBYrhKsoUOHq1AoDPgDAACQpILn\neX7DjpspvFCQxeJ96ys/ivrAEdeDxha2XBPTJrneAACA2bwlV1ewAAAAXECCBQAAYBgJFgAAgGEk\nWAAAAIaRYAEAABhGggUAAGAYCRYAAIBhJFgAAACGOZNglRuFfejQ4YGnD2dQqPryIOw6BgAA0Tgz\nknul0dL9yvCf3s4o6nkZyT3sOgYAoJYwkjsAAIDDSLAAAAAMI8ECAAAwjAQLAADAMBIsAAAAw0iw\nAAAADCPBAgAAMIwECwAAwDASLAAAAMNIsAAAAAwjwQIAADCMBAsAAMAwEiwAAADDSLAAAAAMq5pg\nXXrppaqrq9PkyZMPfbZgwQKNHj1a9fX1qq+v14oVK6wGCQAAkCVVE6xLLrlkQAJVKBT0hS98QWvX\nrtXatWv14Q9/2FqAAAAAWVM1wTrzzDM1bNiwAZ97nmclIAAAgKyL3Afrhhtu0JQpUzRv3jx1dnaa\njAkAACDTIiVYn/70p7Vp0yatW7dOo0aN0he/+MWy0x599Hv7/DnmmPdq2bJlkQMGAABw3aAoM40Y\nMeLQvy+77DLNmjWr7LQdHbNL/ne6fv/3l+nVV1+NUi1CGDp0uHbtejPlugZLOtDnkyFDhmnnzo5E\n4gIAoJKWlha1tLRYKTtSgtXa2qpRo0ZJku68884+TxgOdF2f/xUKD0WpEiH1Jjz9+8kVEqyrWJ/X\nb1o7MQAAEFZDQ4MaGhoO/f+aa64xVnbVBGvOnDl66KGHtH37dh133HG65ppr1NLSonXr1qlQKOj4\n44/Xj3/8Y2MBAQAAZF3VBOv2228f8Nmll15qJRgAAIA8YCR3AAAAw0iwAAAADCPBAgAAMIwECwAA\nwDASLAAAAMNIsAAAAAwjwYIThg4drkKh0OfP0KHD0w4LAIBIIo3kDpjmNxo8o74DALKKK1gAAACG\nkWABAAAYRoIFAABgGAkWAACAYSRYAAAAhpFgAQAAGEaCBQAAYBgJFgAAgGEFz/O86pNFLLxQUP/B\nI4888jPyvP/Uvn1dPnP4hVKQX4h+ZUt+n5X7vPy0/evzryt8ucGnHSzpYJ9PhgwZpp07O3ym9Rd2\n/cRpBmHXT5jtabF5AgDQR6Fg7ryTykjuvcmV38kfvQ6KUc0BAMgubhECAAAYRoIFAABgGAkWAACA\nYSRYAAAAhpFgAQAAGEaCBQAAYBgJFgAAgGEkWAAAAIaRYGXc0KHDVSgUBvwJZ9CA+YcOHW4lXgAA\nakEqI7nDnF273lT519QExcjxAACYxBUsAAAAw0iwAAAADCPBAgAAMIwECwAAwDASLAAAAMNIsAAA\nAAwjwQIAADCMBAsAAMAwEqwBBo5q7oaBcdmNzb8+RnivzG9kfdYZANQeRnIfYOCo5uFGRbfFLy7J\nXmz+9THCe2V+I+uzzgCg9nAFCwAAwDASLAAAAMNIsAAAAAwjwQIAADCsaoJ16aWXqq6uTpMnTz70\nWUdHhxobGzV+/HjNnDlTnZ2dVoMEAADIkqoJ1iWXXKIVK1b0+ay5uVmNjY3asGGDZsyYoebmZmsB\nAgAAZE3VBOvMM8/UsGHD+ny2dOlSNTU1SZKampq0ZMkSO9EBAABkUKQ+WO3t7aqrq5Mk1dXVqb29\n3WhQAAAAWRZ7oNHqI4ovKPl3Q9zqkLpBMUeQjzu/GUOHDv/doKCHDRkyTDt3dliozX+Z49bntwwm\nyjXB5dgAoKilpUUtLS1Wyi54nuc3PHgfmzdv1qxZs/TMM89Ikk466SS1tLRo5MiRam1t1fTp0/XC\nCy8MLLxQUP9RrY888jPau/dHAz7vHZHcf6RyvxD9yq5URm1N63Js4aYN0DwjKdd+4tYXtl3Gqc+/\nrvjlmuBybABQTqFg7hgV6Rbhueeeq8WLF0uSFi9erPPOO89IMAAAAHlQNcGaM2eOzjjjDL344os6\n7rjjdOutt2r+/Pm6//77NX78eD344IOaP39+ErECAABkQqBbhJEL5xZhStO6HBu3CE3V5/JtOJdj\nA4ByUr9FCAAAgPJIsAAAAAwjwQIAADCMBAsAAMAwEiwAAADDMpBgDTo0WnzpH9SuoUOH+7SJ3/Nt\nJ0OHDk87XABADYr9qhz7Dqr8Y/2oRb2vYAk2FMKuXbQTAEDyMnAFCwAAIFtIsAAAAAwjwQIAADCM\nBAsAAMAwEiwAAADDSLAAAAAMI8ECAAAwjAQLAADAMBIsAAAAw0iwkHNhXrXkP63fa3jy8goe/9cO\nubF8frG5EBcABJGBV+UAcYR51VKlaft+npdX8Pi/dsiN5fOLzYW4ACAIrmABAAAYRoIFAABgGAkW\nAACAYSRYAAAAhpFgAQAAGEaCBQAAYBgJFgAAgGEkWAAAAIaRYMFhYUZhzwdbI6uXKxcAYAcjucNh\nYUZhzwdbI6uXKzfP6xIA0sQVLAAAAMNIsAAAAAwjwQIAADCMBAsAAMAwEiwAAADDSLAAAAAMI8EC\nAAAwjAQLAADAMBIsIJKkR5kfWF/SXB5l3q+McnHFndbEMrsgz8sGuKDgeZ7f8M5mCi8U1H/06COP\n/Iz27v3RgM97R5QuN9J00M+Z1v3YXJjWndj6735++0zy5YYvw9a0fsvsd8jyL8PWtOWnz5I8LxsQ\nVaFgrv1zBQsAAMAwEiwAAADDSLAAAAAMGxRn5jFjxmjo0KF6xzveocGDB2vNmjWm4gIAAMisWAlW\noVBQS0uLhg/nqRMAAICi2LcIedoEAACgr1gJVqFQ0FlnnaVTTz1VN998s6mYAAAAMi3WLcLVq1dr\n1KhReuONN9TY2KiTTjpJZ555pqnYAAAAMilWgjVq1ChJ0nve8x6df/75WrNmjU+CtaDk3w1xqgMQ\nyKBURnoPxuXYwhi4HEOGDNPOnR0pxQMgipaWFrW0tFgpO/JI7nv27FF3d7eGDBmi3bt3a+bMmfra\n176mmTNnHi6ckdxTmtbl2FyY1p3YbI3kbmL9JDk6exZHcg9ahqsYyR0YyORI7pGvYLW3t+v888+X\nJB08eFCf/OQn+yRXAAAAtSpygnX88cdr3bp1JmMBAADIBUZyBwAAMIwECwAAwDASLAAAAMNIsAAA\nAAwjwQIAADCMBAsAAMAwEiwgNb2jgZf+cYfLsblq4DorFAoaOnR4rFKHDh1updy881tvrDMkKdar\ncgDEcVD+o5q7wOXYXOW3zqRdu+Ktt1273rRSbt75rTfWGZLEFSwAAADDSLAAAAAMI8ECAAAwjAQL\nAADAMBIsAAAAw0iwAAAADCPBAgAAMIwECwAAwDASLAAZ4j9aem0auC7KjVTuN6o5zGLkePTHSO4A\nMsR/tPTaHGV+4LooN1K5/2jwtbjO7GHkePTHFSwAAADDSLAAAAAMI8ECAAAwjAQLAADAMBIsAAAA\nw0iwAAAADCPBAgAAMIwECwAAwDASLAAAAMNIsADENPCVLdnDK3hs83uVTNjXyfiX8Xs1t+1MrEvY\nx6tyAMTk9/qarJ3geAWPbf6v6wn3Opnyr/yprW1nYl3CPq5gAQAAGEaCBQAAYBgJFgAAgGEkWAAA\nAIaRYAEAABhGggUAAGAYCRYAAIBhJFgAAACGkWAByClXRmf3i8N/9HG/z92It1zM/svh7oji/ssW\nfzT5ctspfn3hDKzP3W2R/Ij0fvXZXD+M5A4gp1wZnb3cSPflYkt7VPxK6y3Ycrg7orj/ssUfTV7y\n307x6wtnYH3ubovkR6T3q8/m+uEKFgAAgGEkWAAAAIaRYAEAABgWK8FasWKFTjrpJI0bN07XXnut\nqZgAAAAyLXKC1d3drc9+9rNasWKFnn/+ed1+++1av369ydgARNaSdgCIpSXtABBZS9oBwBGRE6w1\na9bohBNO0JgxYzR48GBddNFFuuuuu0zGBiCylrQDQCwtaQeAyFrSDgCOiJxgbdu2Tccdd9yh/48e\nPVrbtm0zEhQAAECWRR4HK+gAeEOHzurz//37n45aJQAAQCZETrCOPfZYbdmy5dD/t2zZotGjR/eZ\nZuzYsXrppWVlSvBL0MolbWE+Z9p06svatEnXl/S01/zuT9Ryw9ZXa9MmUd81Pp9VL6P8j99kl9k/\njjDTlmNnvcePofTz6tsu/ij9JtqEC2ytn+D1ldY1duxYczV5nuc3JG1VBw8e1IknnqgHHnhAf/RH\nf6TTTjtNt99+u04++WRjwQEAAGRR5CtYgwYN0o033qizzz5b3d3dmjdvHskVAACAYlzBAgAAgD8r\nI7kzAGm2XHrppaqrq9PkyZMPfdbR0aHGxkaNHz9eM2fOVGdnZ4oRopwtW7Zo+vTpmjhxoiZNmqRF\nixZJYvtlxd69ezVt2jRNnTpVEyZM0NVXXy2J7Zcl3d3dqq+v16xZvQ90se2yY8yYMTrllFNUX1+v\n0047TZLZ7Wc8wWIA0uy55JJLtGLFij6fNTc3q7GxURs2bNCMGTPU3NycUnSoZPDgwbruuuv03HPP\n6bHHHtNNN92k9evXs/0y4sgjj9SqVau0bt06Pf3001q1apUeeeQRtl+GXH/99ZowYcKhjtJsu+wo\nFApqaWnR2rVrtWbNGkmGt59n2KOPPuqdffbZh/6/cOFCb+HChaargWGbNm3yJk2adOj/J554otfW\n1uZ5nue1trZ6J554YlqhIYSPfexj3v3338/2y6Ddu3d7p556qvfss8+y/TJiy5Yt3owZM7wHH3zQ\n++hHP+p5HsfOLBkzZoy3ffv2Pp+Z3H7Gr2AxAGk+tLe3q66uTpJUV1en9vb2lCNCNZs3b9batWs1\nbdo0tl+G9PT0/P927p+ldTAMw/idgqM42RJwEVGkUpJAP4FaOohF6VKHTn4B/RIddHIWhOKiq5QK\nCrYgOgiCuAoqOCioiPgPdHjO1oOgcNBXTDjXb8wbSOAa8tAmr8IwVCaT6fzdS79kmJ+f1+LiolKp\nv49S2iWH53kaHx9XPp/X8vKyJLf9vvwV4Wfivd8GvsLzPLrG3OPjo8rlspaWltTd3f1ujX7xlkql\ndHR0pPv7exWLRbVarXfr9IunRqOhdDqtKIrUbrc/PId28ba3tyff93V9fa1CoaDh4eF369/t5/wX\nrH/ZgBTxl8lkdHV1JUm6vLxUOp3+5TvCZ97e3lQul1WtVjU1NSWJfknU09OjiYkJHR4e0i8B9vf3\ntbGxof7+fs3MzGhnZ0fVapV2CeL7viSpt7dX09PTOjg4cNrP+YCVz+d1cnKi8/Nzvb6+an19XaVS\nyfVl8MNKpZLq9bokqV6vdx7ciBcz0+zsrLLZrObm5jrH6ZcMNzc3na+UXl5etL29rSiK6JcAtVpN\nFxcXOjs709ramkZHR7W6ukq7hHh+ftbDw4Mk6enpSVtbW8rlcm77fecFsc80m00bGhqygYEBq9Vq\nP3EJOFSpVMz3fevq6rK+vj5bWVmx29tbGxsbs8HBQSsUCnZ3d/fbt4kP7O7umud5FgSBhWFoYRja\n5uYm/RLi+PjYoiiyIAgsl8vZwsKCmRn9Eqbdbtvk5KSZ0S4pTk9PLQgCC4LARkZGOrOKy35sNAoA\nAODYj2w0CgAA8D9jwAIAAHCMAQsAAMAxBiwAAADHGLAAAAAcY8ACAABwjAELAADAMQYsAAAAx/4A\nFO7/RF8068UAAAAASUVORK5CYII=\n", + "png": "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\nOvLII3XBBRf0f37yySdr/vz5uvTSSzV//vz+wGuweZKkK66Qvve9wX91vX/bb2JQm1zdDyVZeALJ\nlX1osxzX87ezAAAgAElEQVQ339w3WPXcc+3lEUati2/5fvjRj6QdO6Tm5r7fd+yone7ZZ9fP2+/m\nWf7zJZfUTyOItOpuGvmWzvMvfEG66KJg64QRNGhM81zu6Ukn3zAD/SdMkN73Puk//7N2mq5cE13U\n0tKilrLWhSuvvNJY2nW7CJctW6a77rpLDz74oJqbm9Xc3KzFixfrsssu0wMPPKCJEydq6dKluuyy\nyyIVIO6BNzHYsdZyzc3pV84stKZloYzlkhrkbmu/XHKJVH7KLV0afN1qYzxqLVtvPwVtwbrwwuo3\nbJNsnrNJXg/++7/7/iWttI0HHjjwd9PpB/28ks3rzbJlfcHV44/bzXPIEOlf/mXw52H2zYsv9r2C\nCW6q24J13HHHqbfKgIYlS5YYK0jUypt28JOELGxjvS4Zk4PcX3ml9t+THphba7mkjt2jjwYfg2Vj\n/0TtIjQpzuuaqqWTtMpyf+5z9ZcJK8pTpLa5dI077jjpF7+Q3nqGy4jvflc66yzpXe/a91lPj/TE\nE8HTiBOUZu0LcF4EGoOVBFdP5KRP/PITIU8nhcn9WBp0akKYffzFL5rLN6qlS6XOTv9B3GmOwQrL\nxnllKrB16WafFr9uqkJBKhbDtZaaFnUsVdj1THcPfvObffvviisG/+211/qeFB092myeSF/q7yJM\nYv6lri7p5JMHliPoIPekmsbjLot90v5GZ/O4zZkjnXnmvhcbR8krrXr17W9X/5uJYQ+2AyyT++36\n6/2f3K0XDJsQJ80rrpC+8x1zZaknT18yq5k1SxozZt/vYSdbzdvkz3nizLsIbXYRrlwZfiLEtOYe\nSXqOnbBsTAXgUpeMSbfcEn36AhuqPTlpay6tys/++MfqX3AivghiQD6mugiD5hdn3a1bw3UPJSXK\n+DwT+UTJP6jly+OnYVNnZ7DlbN+LXLrP5EXqAVbSgUzakXyUSpx2mcNKqrzjxknr1g3+PKlvdH/6\nU+3A4qKLpD//OX4+Ut+4s02bBn+e1pNOcQVpqYnzUtqsnTMlSbRgRZHV/Vli60uEDUm0oCIZqQdY\ncWVhlvOoablycS0X9eS3sS0vvij94Q/hy1IuTrkmTZIefDD6+mHMmCGNHTv481tuCZ9Wtf3j99qV\n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\nipZKMphbLVjFQEvNmRM2XX9hugjjXPTrz29XHPSJX4C1cWP0MqSlXoC1bFmwdLLeRThQsWbeWQww\ngp3wnLAAAB85SURBVAZYQbaNLsLqIgdYK1eu1OGHH65x48Zp6NChOv3003XPPfeYLJtVJiqFjYoV\n9GSNmnfcACuKMF2ELgRYaTI9TUNSkihXUi1YUR668AuwsnjjcamL0Oa5ELe+ZvHYlgtafptPLTeC\nyE8Rbtq0SYceemj/72PHjtWKFSuMFMqUWt1Ntbq6qj3CW/l5tTRqBQn1+t4rB69XWz5IH/7OnYM/\nCzrT9LZt0l//dd/P9Z7mqade7/H27ft+7u4euJ/j5B31UexSnrt27Uvj9df9l6lUvi3VyuQ30WHp\nuNfb3iA3wPK6EWYflM4Xv3pTz549/nnFfRy+ZPv2fcegsu77nQs7d/bV9aefDl+W8rFTQcdR+b0X\n9PXXzW2/tC+tIOdE0DE+leUrf+I0yIScpWV27hyYlonxZ/Xq4fbt1c/PesqXL6UR5sGh8uPtV84w\n2x/2Gld+XfLj97dt2wZem7ZuDVY3/Zap3E+l3z0v3XFzLip4XrT48+c//7kWL16s2267TZJ01113\nacWKFbr55pv7lzn88MP1QtwZ3QAAABIwfvx4Pf/880bSityCdcghh2jDhg39v2/YsEFjx44dsIyp\nQgIAAGRJ5DFYxxxzjP785z9r/fr12r17t372s5/p5JNPNlk2AACATIrcgjVkyBD94Ac/0Ec/+lH1\n9PTo3HPP1RFHHGGybAAAAJkUeQwWAAAA/FmZyT3NCUiTMG7cOB111FFqbm7W+9//fklSd3e3Wltb\nNXHiRM2aNUtbyh6/uPrqqzVhwgRNmjRJv/71r9MqdmjnnHOOmpqaNHXq1P7PomznE088oalTp2rC\nhAn6apLvg4jIb7vnzZunsWPHqrm5Wc3Nzbrvvvv6/5aX7d6wYYNmzJihyZMna8qUKbrpppsk5f+Y\nV9vuvB/zXbt26dhjj9X06dN15JFH6vK33qmU9+NdbbvzfrxLenp61NzcrJNOOklS/o93SeV2J3K8\nPcP27t3rjR8/3lu3bp23e/dub9q0ad4zzzxjOptUjRs3znv11VcHfHbxxRd711xzjed5ntfe3u5d\neumlnud53tNPP+1NmzbN2717t7du3Tpv/PjxXk9PT+JljuLhhx/2nnzySW/KlCn9n4XZzt7eXs/z\nPO9973uft2LFCs/zPO/jH/+4d9999yW8JeH4bfe8efO86667btCyedrujo4Ob9WqVZ7ned62bdu8\niRMnes8880zuj3m17W6EY75jxw7P8zxvz5493rHHHus98sgjuT/enue/3Y1wvD3P86677jrvs5/9\nrHfSSSd5ntcY13TPG7zdSRxv4y1YWZ+ANCivomd10aJFamtrkyS1tbVp4cKFkqR77rlHZ5xxhoYO\nHapx48bp8MMP18qVKxMvbxTHH3+8RowYMeCzMNu5YsUKdXR0aNu2bf0tfWeddVb/Oq7y225p8DGX\n8rXdo0eP1vTp0yVJBxxwgI444ght2rQp98e82nZL+T/mb3/72yVJu3fvVk9Pj0aMGJH74y35b7eU\n/+O9ceNG3XvvvTrvvPP6t7URjrffdnueZ/14Gw+w/CYgLV2s8qJQKOjEE0/UMccc0z8PWFdXl5qa\nmiRJTU1N6nrrZYEvv/zygOkrsr4/wm5n5eeHHHJIZrf/5ptv1rRp03Tuuef2N6PndbvXr1+vVatW\n6dhjj22oY17a7g984AOS8n/Me3t7NX36dDU1NfV3kzbC8fbbbin/x/vCCy/Utddeq/3223frb4Tj\n7bfdhULB+vE2HmAVGmAq12XLlmnVqlW67777dMstt+iRRx4Z8PdCoVBzP+RlH9Xbzjw5//zztW7d\nOq1evVpjxozR1772tbSLZM327ds1Z84c3XjjjRo2bNiAv+X5mG/fvl2nnnqqbrzxRh1wwAENccz3\n228/rV69Whs3btTDDz+sBx98cMDf83q8K7e7WCzm/nj/6le/0qhRo9Tc3OzbciPl83hX2+4kjrfx\nACvIBKRZN2bMGEnSwQcfrFNOOUUrV65UU1OTOjs7JUkdHR0aNWqUpMH7Y+PGjTrkkEOSL7QhYbZz\n7NixOuSQQ7Sx7K23Wd3+UaNG9V98zjvvvP5u3rxt9549ezRnzhzNnTtXs2fPltQYx7y03Z/73Of6\nt7tRjrkkHXjggfrkJz+pJ554oiGOd0lpu3/3u9/l/ng/9thjWrRokQ477DCdccYZWrp0qebOnZv7\n4+233WeddVYyx9vI6LEye/bs8d797nd769at8958883cDXLfsWOHt3XrVs/zPG/79u3eBz/4Qe/+\n++/3Lr74Yq+9vd3zPM+7+uqrBw0UfPPNN721a9d67373u/sHzGXBunXrBg1yD7ud73//+73ly5d7\n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\n", "text": [ - "" + "" ] } ], @@ -520,9 +520,9 @@ { "metadata": {}, "output_type": "display_data", - "png": "iVBORw0KGgoAAAANSUhEUgAAAlcAAAJPCAYAAABRvvFyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmcFNW99/HvIOTJomPAyIBCRFHCKoy4PSTcjFHQmOgl\n6pMrGiWA5j5ZvG6PW5LnCt6XgnrVCBpj3I1XjHkSkHhxEhdaiQZQGcSIK4Kyq+CwijBDPX+0PfT0\nVHfXcqrqVPfn/XrxYqan6pxTVaeqfn3OqVM1juM4AgAAgBGdki4AAABAJSG4AgAAMIjgCgAAwCCC\nKwAAAIMIrgAAAAwiuAIAADCoZHA1YcIE1dXVaciQIe0+nz59ugYMGKDBgwfriiuuiLSAAAAAadK5\n1B/Hjx+vCy64QOeee27bZ3PnztXs2bO1ZMkSdenSRR9++GHkhQQAAEiLki1XI0eOVNeuXdt9dscd\nd+iqq65Sly5dJEn7779/dKUDAABIGd9jrt5++20999xzOvbYY9XQ0KCXXnopinIBAACkUsluQTct\nLS36+OOPNX/+fL344ov6/ve/r3fffTeKsgEAAKSO7+CqV69eOu200yRJRx11lDp16qQNGzZov/32\na7fcoYceqmXLlpkpJQAAQIT69u2rd955x0havrsFx4wZo2eeeUaS9NZbb2nnzp0dAitJWrZsmRzH\nqbp/V199deJlYLvZbrab7Wa72W62298/kw1CJVuuxo4dq2effVYbNmxQ7969dc0112jChAmaMGGC\nhgwZos997nN68MEHjRUGAAAg7UoGVzNmzHD9/He/+10khQEAAEg7Zmg3rKGhIekiJILtri5sd3Vh\nu6tLtW63STWO4ziRJFxTo4iSBgAAMMpk3ELLFQAAgEEEVwAAAAYRXAEAABhEcAUAAGAQwRUAAIBB\nBFcAAAAGEVwBAAAYRHAFAABgEMEVAACAQQRXAAAABhFcAQAAGERwBQAAYBDBFQAAgEEEVwAAAAYR\nXAEAABhEcAUAAGAQwRUAAIBBBFcAAAAGEVwBAAAYRHAFAKhaq1dLra1JlwKVhuAKAFC1evWSbr89\n6VKg0pQMriZMmKC6ujoNGTKkw99uuukmderUSRs3boyscAAARG3Dhuz/f/iDdNVVyZYFlaFkcDV+\n/Hg1NjZ2+HzlypV68sknddBBB0VWMAAA4jR1avYfEFbJ4GrkyJHq2rVrh88vueQS3XDDDZEVCgAA\nIK18j7l67LHH1KtXLx1++OFRlAcAACDVOvtZePv27bruuuv05JNPtn3mOI7xQgEAAKSVr+Bq2bJl\nWrFihYYOHSpJWrVqlYYPH66FCxeqe/fuHZafNGlS288NDQ1qaGgIVVgAAAATMpmMMplMJGnXOGWa\nnlasWKFTTjlFr776aoe/HXzwwXr55ZfVrVu3jgnX1NCqBQCwWk2N9O//Lk2eLA0fLi1aJHHrqk4m\n45aSY67Gjh2rESNG6K233lLv3r113333dSgIAAAA9ijZLThjxoySK7/77rtGCwMAAJB2zNAOAABg\nEMEVAACAQQRXAAAABhFcAQAAGERwBQAAYBDBFQAAgEEEVy4efFD66leTLgUAAEgjgisXc+dKK1cm\nXQoAAJBGBFcAAAAGEVwBAAAYRHDlglcmAgCAoAiuAAAADCK48mHaNGnq1KRLAQAAbEZw5cMVV0hX\nXZV0KQAAgM0IrgAAAAwiuAIAADCI4AoAAMAggisXTMUAAACCIrgCAAAwiOAKAADAIIIrAAAAgwiu\nAAAADCK4AgAAMKhscDVhwgTV1dVpyJAhbZ9ddtllGjBggIYOHarTTjtNmzZtirSQAAAAaVE2uBo/\nfrwaGxvbfTZ69Gi99tpreuWVV9SvXz9NmTIlsgImgakYAABAUGWDq5EjR6pr167tPhs1apQ6dcqu\neswxx2jVqlXRlA4AACBlQo+5uvfee3XyySebKAsAAEDqdQ6z8rXXXqvPfe5zOuuss1z/PmnSpLaf\nGxoa1NDQECY7AAAAIzKZjDKZTCRpBw6u7r//fs2ZM0dPP/100WXygytgzRpp7Vpp+PCkSwIAqHaF\njT6TJ082lnagbsHGxkbdeOONeuyxx/T5z3/eWGFQ2c46SzryyKRLAQDmrVghtbYmXQrYomxwNXbs\nWI0YMUJvvvmmevfurXvvvVcXXHCBtm7dqlGjRqm+vl4/+clP4ihrbHhaMBpceOKxYYP0wANJlwKo\nLgcfLN19d9KlgC3KdgvOmDGjw2cTJkyIpDC2c5ykSwCUd/fd0pVXSuPGJV0SoLo0NyddAtiCGdpd\nEEQBAICgCK58oLsQAACUQ3DlgiAKAAAERXAFAABgEMEVAACAQQRXLugWBNLnySc5dwHYgeDKB54i\nBOy1aFHSJQCALIIrAAAAgwiufKDLATZZuJA6CZhE7wRMIbgCUur115MugV0INAHYguAKqTR3rrRg\nQdKlAFBJbAzQa2qkl19OuhTwi+AKqfStb0knnZR0KQAgekuXJl0C+EVw5aLYtxf64wEAQDkEVy4I\noqLBfgVQKf77v6WZM5MuBWzVOekCpImN/fEAgPiddpq0c2c8Xxq596QPLVcuqMjRYL8iStQvALYg\nuAIAADCI4AoAAMAggisXdC8AAICgCK584Gm3cNh/AIBqQHDlgiAASB9anFGpqNvpQ3DlQ66Cf/pp\n9h/8MX2BIAgGUA241qVP2eBqwoQJqqur05AhQ9o+27hxo0aNGqV+/fpp9OjRam5ujrSQcSsXBHzj\nG9KIEfGUBQAApEvZ4Gr8+PFqbGxs99nUqVM1atQovfXWWzr++OM1derUyApoo5dekhYtSroUoKkc\nQDXgWpc+ZYOrkSNHqmvXru0+mz17tsaNGydJGjdunGbNmhVN6VBRaNoGAFSDQGOu1q9fr7q6OklS\nXV2d1q9fb7RQSePFzQAAIKjQA9prampUQ5slgIRxGUKlom6nT6AXN9fV1WndunXq0aOH1q5dq+7d\nu7suN2nSpLafGxoa1NDQECQ7a1DBw2H/IUq0LKNSUbejkclklMlkIkk7UHB16qmn6oEHHtAVV1yh\nBx54QGPGjHFdLj+4AgAAsEVho8/kyZONpV22W3Ds2LEaMWKE3nzzTfXu3Vv33XefrrzySj355JPq\n16+fnnnmGV155ZXGCgQAQdAymm4tLdLu3UmXwrs4W5Oo2+lTtuVqxowZrp8/9dRTxguDypb2pu01\na6QPP5SGDk26JEDlqa2VfvIT6T//M+mSAOExQ7sPaQ8OEM73vy8NG5Z0KYDK9MknUlNT0qXwLs7W\nJFqu0ofgygUVOR3iDnZ37Yo3P/jDeQvAFgRXLmihigY3P0SJ8xaV4J57pAsvTLoUCIvgygeCA7tw\nPABUmptvlqZNS7oUCIvgygU37WjQsoAocd4CsAXBFQAAgEEEVyXs2iUtWJB0KQB4QcsVKhV1O30I\nrkp48EHp2GP3/J5Ut9bbbyeTr+3oZgSi87vfcVO3Bde69CG4cpG7oOzcmWw5JOn116V+/bwt27ev\ntGRJtOUJgws1kB4vvZR0CaLxox9lJwMGokRw5SL3LcGGbws7dnhf9t13q6sbk2ANgF933SX97W/h\n0+H1NyiF4MoHKng4NgSrafb009LzzyddCgBAOQRXLmwKoghIzGhtlf7yl6RLEc4JJ0gnnZR0KQBI\ndt0nYB+CK6SWn8Dz2WcJTCodNztUKup2+hBc+ZBEKxInlRm0AFY+jjEqFXU7fQiuXOQCGhsqtA1l\nMMV0oEjgCSAplXRthnkEVy44aaLBfkWUCLZRqajb6UNw5QMVHEAanH++NHNm0qWobF7vB2++Ke3e\nHW1ZYB+CK6Tetm3ZpwEBZN19t/Tb35pP9+qrpY8+Mp9u3OJsRe/fX9prr+x1CtWD4MqFTWOuUFzu\n+Oy9t/Qf/5FsWZA8Wpajd8010hNPJF2KdGpuTroEiBPBlQ8EW+FEefNbtiy6tG1CHSyOfQOvCMQR\nNYIrpJafCyQ3XiThf/9v6ec/T7oUiALXFJRCcOWCbzXR4GIUHnWzOBv3zZ13SrffnmwZFizg3Es7\nG+s2SiO4csGFqPJU4sWpErcpX02N9Oc/J12K9Dv22OwTazCr0s8/hBM4uJoyZYoGDRqkIUOG6Kyz\nztKnn35qslxWKAyyqv1kuuYauwJPm8qShGrY/sWLvS9b7ednKTxNC8QrUHC1YsUK3XXXXVq0aJFe\nffVVtba26pFHHjFdtsTYdJG26QZ69dXM1wJ72XSuAKhunYOsVFtbqy5dumj79u3aa6+9tH37dh14\n4IGmy4YKE+Xrb/hmDphFsFpaHPtnzZro80A0ArVcdevWTZdeeqm++tWv6oADDtCXv/xlnXDCCabL\nZh0uNuFEuf9mzIgubaSDTS3OsFtaruWffJJ0CRBUoOBq2bJl+tWvfqUVK1ZozZo12rp1q/7rv/7L\ndNkAwGq7dkk7dyZdimgQrNqDY5E+gboFX3rpJY0YMUL77befJOm0007TCy+8oLPPPrvdcpMmTWr7\nuaGhQQ0NDYELGidmaE+Hajw+1bjNcTnrLOnii6WjjvK+zimnSCtWSG+8UXwZjpl9TAQrBDzpl8lk\nlMlkIkk7UHDVv39//cd//Ic++eQTff7zn9dTTz2lo48+usNy+cFVmhS7GHIypRc3uMoX9vycMUPq\n3dtfcPXii9LGjeHyBYqx5Z7z+OPSd75jT3lMKWz0mTx5srG0A3ULDh06VOeee66OPPJIHX744ZKk\nH/3oR8YKBcBdpV3cTDIRQEcRhKf1mPGFpLRq2j+nnCJ9+GHSpUiXQC1XknT55Zfr8ssvN1kWa6T1\nYmi7KJ8WjDtvAOlVTYGRKVxD/WGG9hIKT8BqPiFz2x5mH1Tz/kP0uPi319gYbn32J/JRH/yp2uBq\n0SLp4YeTLgXgz65de37mYgcEk7YB7Zzr6ZPa4KqmRnr99eDrX3ihVPBwY7u0bUFrT3HVuG/y3zJV\njdsfNfbpHuwLILjUBleStG5dNOlyUQHSx6YvRYAJ1On0SnVwFbckKrotJ5eJMVdJ2bIl6RIgDmms\nmzaz5dpjq2qrb9QHfwiuSrDh5LGhDKYUOzl/9Svp/PPNpVeotlZavNh/+kheJdV/IArLl0stLUmX\nAoUIrly43bT//ndp9+74y1JJit0ob79duvvuaPP+6KNo00fyTHyzJpiDjUrV7UMOkX7zm/jKAm8C\nz3NVbUaMSLoEKFTtN8JqaKavhm20VbWfX+XYVDc3bUq6BChEyxU8SfOYK8muC6EpaT0WKO6f/5nj\nGodK28dxbE8lXkOjlIrgautWqbm54+dRVSgqERCNTz6RWlu9Lx/VOT5vXnznuZ9tmD3bnuEHXAdL\nI6BBKakIrk44IduvHJe0t9JUCy48ZmzaJO27bzx5ffGL0tVX7/ndcaQNG+LJO98bb7h/zjlfHbh2\nmPPGG9lxs2gvFcHVsmXSxx93/JwTBF5x0yxuzRpp8+b48nvzzT0/z5wpfeUrZtK19Xpga7lsxL4K\nJsnr2/vvS489llz+tkpFcBU3TvCOaM2zTyXU0/XrS/+9ErYxrZI419N0fam2198UK0OajlmcYgmu\nli2LJl0Oakc1NdIFF2Snjqh0fo6/DRcn06qh/lfCNlbCNlQajske770XrvXYcSrz+hpWLMHVoYdK\nH34YR05m2XoCvvCCNH+++98cR7rtNunee+MtE5CvsVH6whfizZN5rszihlkdli4NP+6RutJRbPNc\nRTGDbDUcULeL/de/LnXuLO3aFX95AC8WLJB27Ig3T1u7sbxepwjs4pOWQDwNdYd6644xV/DExhOo\nGoLrtDJVX6rxGNtyriVRjqSO9xtvmM37O9+RfvITc+nZoNT+qcbztByCK/hiy4Uf1cH2cXVe8uSc\n8S6ufVWYz8qVZtOfM0f64x/Npmkr6rc7giukVrWf1HxbNK/a6xS8M3H+ffCBt0ljbT/XbS9fEgiu\nXOQqChda2Mzm+mlz2UyKYsyVLfuukm+YhduW1LbW1Zl56XKUdaZc2rbUV9ukIrji4CUv7ccg7eWv\nJH5uZFEta6NBg5IuAfwwdU1Zty6+vKKS9nMvCqkIrmAPm07yuE/otF9Axo+XZs1KuhT+6lBUy5pi\ncsxVsVfyJMXW/VlNbGjNpOUqmFQEV9xEEVZaHr2O0v33S/fck3Qp7Jb2Y1xo0aKkS+CP1/3vONKW\nLebysf2ab0OAUywPJhF1Fzi4am5u1hlnnKEBAwZo4MCBml9sVssUClNRHceOC7TjSOPGpWOm9nfe\nSboE6WTzBa3UORBVuZPYH1Gc6ybTHD48+/8//uF/XZvr16OPSrW1yZYhjv2TZNDkpww215WkBA6u\nLrzwQp188sl6/fXXtWTJEg0YMMBkuTyJuuIFSf+HP5T69zdelA68lO3BB6WHH44vv7jZ3mUEd7ZN\nr3DOOdF+CbHhxnPmmUmXwKxVq8Ktb8MxyUn7tSnt5Y9KoBnaN23apHnz5umBBx7IJtK5s/bdd1+j\nBUurefOk5cvNpRe04kZ18UjriRRkf1x5pbR1a/Z1QjZK67HwI45tfOghqVu3YOvadJM2rRrqV06Q\n4xhnq1KUeZXbdlquggnUcrV8+XLtv//+Gj9+vI444gidf/752r59u+mylVVJ3Qt+paGMNgmyv269\nVbr99nBpVKug3YJf/7p07bXmy+OV7d18plx9tfTqq0mXoqO4zjEbj0kYSY+5QkeBWq5aWlq0aNEi\n3XbbbTrqqKN00UUXaerUqbrmmmvaLTdp0qS2n194oUGnn94QqJDVfPD8XmwqKQBYs0bq3j37HkU3\nfrbVRB2q5noYlxdeyL6H9Be/SLok3tgQjL33nnTAAVKXLt7XueYa6aOP2n95sEE1nmNettnmpwWl\n9N53MpmMMplMJGkHCq569eqlXr166aijjpIknXHGGZo6dWqH5XLB1eTJ0ogRwQtZjI1jrpIuQ1Rl\nTmJfHHigNGVKtnsOlSOqumTrBT7qcvXpk23t+/nPzaZr6/6U7Lg2x8GGqRjKsbls5TQ0NKihoaHt\n98mTJxtLO1C3YI8ePdS7d2+99dZbkqSnnnpKgyKcAc/mk7yQbRXNrTytrdIzz5hLL0offlj8b7bt\n67jZfF5Uy7Gx5Rh8/HHSJUgXEzO0Bxmr1NLi7XU3NvHyNKEt54FNAj8tOH36dJ199tkaOnSolixZ\nop8H/NpUUyO9/XawMng5oAsXStU41r7UCfHMM9Lxx8dXFjfr10unn55sGdIurQGMjRfiKFsIbGl9\n9suWcrgprEMbNkg7diRTlnff9b5sr17S+ee3/6zUfvYz71dQJvKw8ZxOWuDgaujQoXrxxRf1yiuv\n6E9/+lOopwU/+CDwqm0uvFD62tc6fv7ii9LmzeHTt43XE8Kt0tvwzWn+fOlPf4om7aVLo7kxcAEx\no5K6BW0OQJIQtgXN73sYc77yFelHP/Kej8kxmOPGuf/dbVvWr5deeil4XkmwYQLTNLJihvagF8X8\ng5rJSJ/1UoYW5iJtS0Ur9fLpIGW0Zbu8GDRIeuIJ8+mmaR9UozDHx885v3FjdGmnWUtL8CktcsIc\nw5Urw+UdVJRP0dkwFUNcaVQaK4IrW9l8M02qMtu0T0rtg08+CZ++TduaNmnrQvB6rD/4QNpvvz2/\n27gtphTbtmKfx3m+pHG/R7nfouwWpOUqmFQEV8UOXhpPsLjV1GT3X/7biSplv1X7SV0px9EUr/vj\ntdey0xe4KVenggTtlTbmyobyhS1DHAPaC/+e9h6DtH1hSpoVwVXaD8ykSdJzz2V/tulkyFm0SPqf\n/zPpUqRP2usl3A0e3HGiUhNDE9LGa9lPPlnati3asjQ1RZt+IZMvbo6zDqxYYT7NsDO0p/kciJIV\nwVU5NjRDlzJ5snTTTUmXIsttX7W0hE/Xln0dlInXW9gWbNl8TGwumxvbx7Qk6YknpPffjzaP5ubs\n/2naV3G//uatt6SDD87+/vrr0qefRp+/F0zF4C4VwRU6ammRdu3q+LnpAZDvvJN9+i7tkh7XENSy\nZXtuPNhj925pxoykS5Hum4rfbi2v64WRtqDcjzCNBI7Tvkt64EDpxhv9pVEqbS9/p1vQHyuCq6DN\nklEfUBv6yEuld8cdZvNyc+SR2afvvJQnbtVwQh96qHTOOebSW7vWXFpJWr5cOussc+mVero2LFvH\nXAXNx6ZrQFAmrx1RzkVVap2ou2q9qoT6EAUrgqugKmm+nCBKnVymtqG11Uw6QXHimp2nbc0ac2lV\nkrQHGjYEhWkWxTXf5P5Lstu6kt8tGKVUBFfVfOBsGWhr44XWT5nCDlj9f/8v+PpRsfm8SKK+2Lw/\nbGR6f5kYkhDXMTRRP02V1csM7cVeXh91/nGsX6lSEVyl6eAlHdTYeIPZtCk7diiIOC5g5ezeLf2v\n/2XnvoUZQY+tl/X8ph2krpp4YAPtzZ4t3Xpr8b+XCyZNXi969iz9d9PH8tZbpR//uH3ajLnyJxXB\nVTFRHdAox19ELVfmqPZNkH0ycWJ27FBc+Ul7tt/kEzW21QfbypNmUc6EHedTZSZV++uELr9cuuii\n4Osn8RBNS4v/a57bcZ42TfrNb7ytb9Mxs4kVwVXQp1aiOqhUFrM2bUou79tvTy5vr04/3Z7Hqk2p\nlnMozdtpY7dgXEy2OMbRreY1jx/+sHwrl1+MuQomFcFVUtLc1J5092S+MC2BpY6Bl+Nj4jU4UfvT\nn6R165IuReVZvdr7srZeg7yK4lply7UsCl7msAtbJ0zUKb9PIr7yiv+XZzPmKhpWBFfF3HyzdMEF\n6ZqKIWlu+yTKOVCi5mWwpxdpv3m6Ses2RV3uM8/Mvly5Vy9p8WJp507pc5+LJi9bxlwlfZ6aklSd\ndsu3U5m7Y1rPP7/KtUgyiag7q4OrW26Rbrst/nzTXFHcxly99JL59P3IlSWO/frii+6f2xhgHnig\ndOed0aSdtNw+e/rp7Jckt7+Zlqtfv//9ntepbNuW/ec24a6btI65CsL0IP40dQt6EbZb0MT8V3Hs\nSxPX5TTfM6NiRXCVxJgrL5XBpm+Ql16afWotSDn+/d+D5+u2n7ZsCZ5ejtf95PekPfpo/2XxyvSx\nXbNGevbZ4OsneRNrbZV+/evyy/3yl9m668fq1dLf/x6sXHGzJZCIolswideORTkhp18m5n8Ks3xc\n6YXtHrblHLBN7MFVS0v2HUl+eDl4S5aYT9MGuXLefHOw8UOOY/aplaYmqbY2fHp+8w3LxItZ01Jn\nSjG1DatWST/9qfvfHn9c2rCh+LrljsXq1dKIEf7L5OUYb93qP9242fKlLs76Hve55aWulOsWNJFH\nOV6vPUlfm2i56ij24Oquu6Svfc1MWkEP6LHHSuvXmymDraKq7B995H+dKAaL+vXBB+bSammJ71tj\nsXXefTdYfkH2+8svZ7vavDrlFOmee4rnl+RTvmPGRJN3KeX2+dq1Zl6u7leanxYMW3aTA9rDdgsG\nZer4eW2hS2o70yr24MrtVR5xdwsuWCC9/XawdcsxXdH8nkCFT+bV1CTzHq1y65roFvSzXXff7X3Z\ncvl16SJdfXX49IL6y1+kvn3jy+8nP8kOEq8E771X+u9JTNp7wAHSTTeFSyPOJ5uj+GLkd1xmHDf0\nsC1XXiU95spEHrRcdWTFmCsUF7ZfP+3fKpK+8OTnk5/fK6+UXmfu3Ojey5gb85aGqULivOjaOuml\nl2XCtqza1IVnS7dmWEG/9Bf7e5TbaPKhJcnfF2Ebj50NrA6ukhrrkuYZ2qMS5li4fStN4zcdP9v+\nrW9Jf/2r2TQrRRzHPs37Na6yhw0eCpkc21lOHHNQFevSzj15Gra7rFwrqpc0cp56yttyGzdKgwZ5\nW9YrpmJwZ0VwFeV7veJmy0Xd1PQHSY6PkbLTcfh5SjLHhrfcBym3H2EC3biUG3Nl4zmcRmmfRDTu\nQM7L+m7dgpMmmZsz7f33vZfFlGXLpKVL239WbrxZfhD58ccd1y+WRrULFVy1traqvr5ep5xyiqny\ntFMuQLAlkLFJYaub1300bZr0r/8abZmC2r7d/zom64YNj55XqqjnvIr6cfkoJhENwqZAKI112uuA\ndj9Ppcf5tKCJPLw477z2LV+/+IU0bpz5MlWCUMHVrbfeqoEDB6rGRy268kr/+aTxZC1m9+7Sj6nH\nwW1/Tp8u/fa3HT/PHdp99zWbr58LT7Hjb0MrTFg21u3vflcaOTK69P0e+yDBtV9Bj4OpMVdJiOpp\nwTBsagExPbje1nmu/ORTeC7OnZv936bjZovAwdWqVas0Z84cnXfeeXJCHmVbD0wUAzPvuUf6yleC\nlcdP/vmtfjZe3P2UKciYBr916pJLpJNOKp2PLfux8Bib9tRT0t/+ZiatsGXcsUP60peSyz8uQZ6k\nzZf2SUTz07zjDunss83nUUqQqRjCtuB5ua4kNa1FXGPfKlng4Oriiy/WjTfeqE5lnleNsnJ4ObDL\nl0eXfxBr1vhbPuw3arf109biE8cF5g9/yE5xEHc5bAnYbLVtm/dl3caJBFk3jWyqm2Gna7n7bunh\nh4On4YWJSUTzt9PLBM/z55dfxg9TddZEEJj28ycKgYKrxx9/XN27d1d9fX3oVisvwnyDCjN/TFwV\n5tVX/b/J3I84Hwn2Wg4T3YImRfU6pChEXS+Lbef06dmXIPvhVtZHH/W+/o4d/vILKmjrpKkxV0nc\nnGzqFox7+72UNWy3YOH6//Iv/tNPqlXL6xeV3HK2NWLYoHOQlV544QXNnj1bc+bM0Y4dO7R582ad\ne+65evDBB9stN2nSpLYD8/zzDTrjjAbX9MoFT5U+FcPhh2cnaZwxo3hZvCpc3nS3oKkuCxPdgnFJ\nOv9i4i7Xv/2b9I1vSPX18eUZNLiK6xyOYsyVLd2CJvMqx8ZzLA0t7l7V1Ox5mbnpdCXpuefMpx2H\nTCajTCYTSdqBgqvrrrtO1113nSTp2Wef1X/+5392CKykPcHVNdcEe1dYGgU9oUx/Q8+/ubgFXIWS\nGpSZJmEfF7/lFumLX2z/VKaN+zNXpo0bs+UNI+y4ldycQlHze2zHjJFmzYqmLEF4rUfz5mVf/xVl\nXkm2YE1XUoy3AAAgAElEQVSeLF1+ufSFL4RLR4p+hvbcxLFeWqdeeUU69ND2f/O7r954w/3NDmHG\njsU1i31UGhoa1NDQ0Pb75MmTjaVtZNcUe1qwoUGaOTNMuu3/L/b3qNhw4wv6rddUc3LhsmH2uc1P\nC5YKOE21oF5ySfZfWuy3n3T++dHmEXRQtVdBunamTStfrsceC16mpCxbJv3TP+15T6TpSURz8zYF\nYepcnjTJ33QJpfI33S2Y77XXpDPO8Ja+lL1unHqq9+XdFJt3z638Xj9jrFVxoYOrb37zm5o9e7br\n3559ds9FKOwgRz+fV6qg3QUmxxcEYbpbMKkBljYNGpaiO2b5ZSq8YablnAt6zXAc6cILvU8Aa8t4\nKi955Gbxzr2WyXQLlNtULl7Z9kSuFO3Tgm7v2PWbhl9JPKBQzQJ1C5pWSdGv6YoYdMxVqTEnv/xl\n8PxLbd8HH0jdu3tP26vCPO+/3/86QdjyIEAhv+X49a/9zSrtN/BduVL66lfd/+6n/j7xRLiyhLmO\nBF3X1JirsFMxxDmGsRInEXXj52nBMOIKeop9YQjTaldJ927TIu8xjaLFqpoEveiWWvbll82kk2/9\neqmuzv1v5bp3vZbhhRey///jH8HSKcVLt6CJNIvlEaWf/jT7L4r8/vAH6aCDzKQVxXEtfHl2HHM3\nffpptE//hpXb1qDn4znnuHe92dIKe+ONZvI3PYloEHG0XIVpwSS4Ki4Vw9HSeACbm5PJ122MVBz7\nL8pH5h0ne5P8+tejy8ML2+phVE+V+Um3XBAR15ipYkaP9re8ie6p88+XunULvn4QQcYwhtnG114r\nn74fYQM+Sco99PXHPwZPI5/tg7X97qvduzsem3XrpO98x9v6jLnyJ7bqEyT6jXtKhMJ8g8iV9Yor\nzJTFLe2o14kzvTB5Rj2g3Ws5YJ/c8fz0U3/L+z3GbvXGbc6fHTuifZF3FHUz7NOxNkt6rJzXHglT\nDyYVW/7VV8svS8tVMJbH5unld7LFpDz6qLRpk//1mpq8b2PYINnrUy5BJyktJ8rBtmFan+Kc2ygq\ncYzfyT9+XrtGvObrdbkvfCH7JFsxYWaX98trK5HpcjQ1SVOmxJun13yCdAu6HTPbzq98UQT3BFfF\nWT3mKiepA2jziVKM3331L/9SeoB4sfSOOEL6zW/85RVU/k2x1A0yjnLEZceOPa/UMDlBX9znUtgb\nuJ+blolti/IYv/56sPVuuaX8u/ZsCLTLHaubb5Z+/nOzeUbJ64D2KFvWk3pa0O8M7ejI6m7BNHwb\nKJSWwY0m8vTb5RJFGeIQ5dM8xZY57rhsABvWxo3+14ljf99/v/fH0YNw2wYv1yAbrzle3rXnJ/iM\nattMDGi36WbtZ0C7W70x3foZluOEG6TPmCt/rJiKwVY2XWC9MjEwNCpBy5Q/ENPPBcK0OPNtaioe\nvPoJAPbbz1yZgii2z8aPl1pavKcT5rj7CXJtaBV1nD11fq+9oqt3Nl0jbLzW2rB/TLYa+f3CEUUZ\nqkkqugWR5WdfmhjsKEU/15OXt8nbUodsGXMVddomy1Tq4hv2wu5XlOePaRdc4G/OuLifFvSSfpTC\n5uHllWBh96ltbxBhzFW8rAiuamqyc9xcemnxv/v5PCxTr3jJWbtWuuGG4GkmKehA33xu3RG5z7xM\nWVGs2T2upwVzrT9R3DSKdduF2bYrr8z+n38xTTpYcBNXi5INXWZ+vfTSnrqRlidZvY6fcxP3/veS\nT6kxV488Uj4tkw9jmBC0W4+Wq2CsGHMlZZ9au/nm9p+VO+FsuKB48fDD0UzN4MbGyh729TfFgoS4\njn+ULw/+29+Cr5v2mbKjLJ/fL2SFQZxN+67Ucd6+3X96Ng4d8Lu/4yh7qeBqwYL2vydRb4LMc1XO\nJ59k03WbToQxV/4kOuYq/2B17Vr672ljquwmgok070cp2ScE08z2fRZ2gG2hck84ealHNuwzL2V4\n6qlst+Ett2R/T8PTgibnljJd9rDdgmHyK7UtQf9WbPly67g9ZELLVTCRB1deK4eNBynICZz0xTnp\n/PPt2BHuQpsTR/dWFPXPdPdyHGkcckj4fPPZMObKb2BWap0gxzSKWepHjZL695f69s3+HsV4Mhuv\nyVEJM+yg2LAF2zDmKl6JdguGrZA2H9goypbEiRtmQPvo0dKQIe5p+b0Z2NBtYMuF0627fMeO7Ni+\nfEFuFG7dAVGJa8yVl/y85hPVF64on4QMmqeph2KiENW1P4kv/LZcV4qh5SqYVM/QbnulTILp5u3C\nfewnrVdekZYtMzPPlcmb7P/4H9Kzz7b/LK5BwyZaDdzS+OUvpQMOaP+Z2zfVuM+ZsC1XJgRp1Yl7\nP4W9gaXhaUGTLZVxHB8b9qlN97j8bvzcOFSCq+ISDa7KVZw0HrgoTwYbTrQgZSj1tKAXppuzd+7M\nPo0VtaiPV/4+dHuFUZgBqHGce17GXAW9aUXRErR8ecfWwSj4+UIT9qZ+4on+5hsrxYbrU1h+rlHl\nHrjyUwd37bJv6oZS633hC9n/03iPjosVY67KfdNJ6pUdfiqjLZUsjoGefrm9pT5ot6DXLsJKuND7\nsffeHT8L22UU9T7Mnxy2GJM3hLDjkg45ROoc4IoZ5bUhyDUqf52//lXatk3ad99kylTIy75atar8\na3T8PCyRW95vWcrVMT+tcMXe0xr1ORg0/dZWs+WoRNZMxRDVunFJQxmDKNyucts5caL5MkQxELNQ\nXMGx14uS3/rUpUvpNHIX78J0//Qn6Zvf9JeXH6b2q5fWnGJ5/epX3stTbr8HaeUJe22w5YubLf74\nx/Ln0Ve/Wvrv5abk8KtSr/8SY66CsqJb0NaKGebx5ii2KWiXXJz79957S5fF7edygoy5snVA+86d\n0qxZ4dMp5La9bkFp4XIzZ0offugtPdP8tC6ce27Hdb2aMmXPOl5bypK8JoVtYQuyjpfJfP2m+/Wv\nS0uW7Pk9zhvxqlWl/x5mXFjhckFaq7yyKbAJM8ygGiU6Q7uJinjQQdK8eeHTcWNDt2DYsSZ+m8fj\nEvQGkpabXinLlpVfxu8A+7ATtUal3Hghr8HOo4+aK5OX/Gzx059m3zNZjKnydu1avGvKq8LA9IUX\npLlzg6URt3L5vvOOdPLJwdcPk3cUeZrKx8Z7iy1S0S1Yyvvvh5vlWsoOUn3ttXBpxPHkTZQnU1wt\nFUF4GZsTVtovErnZpMvVF69fdkztj6jmuQraquwlsC2VbxBbtrT/fe1a7+n/+tfmylFOqTL9/e/R\n5m3L+VfsHHj6aemJJ9z/Vmx90+WJQhRzsCGLbkFJp50mDR7c8XNTTe5h+E3PbWxKUgPAi6XZ1OTe\nFeUlnaTrSo7pi0rQLt8cr8GVDeXO2b073vmdPvoomnT9OuAA6c9/NpNWXNcoE2MpvQT2Nt2svX4x\n8PqQTVrRchWMFU8LJm3HDvNpeq10t99uPu98prsFTRyzI47wn6ctdSUnyad4vA7mtm2fFTJRvvz6\nXa6ee3lHZFxf+D7+uP3vYSbYtYUtX5aDMFX2IGO28v32t8HSC5NnmPUJrooL3HK1cuVKHXfccRo0\n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\n0Xnnnde2rdVwvN2223GcyI+38eDKbYLR1UFntbNUTU2NTjjhBB155JFtc32tX79edXV1kqS6ujqt\nX17AlYAAABrdSURBVL9ekrRmzZp201SkfX/43c7Czw888MDUbv/06dM1dOhQTZw4sa35vBK3e8WK\nFWpqatIxxxxTVcc7t93HHnuspMo/3rt379awYcNUV1fX1jVaDcfbbbulyj/eF198sW688UZ16rTn\ntl8Nx9ttu2tqaiI/3saDq5oqmAf/+eefV1NTk5544gndfvvtmjdvXru/19TUlNwPlbKPym1nJfnx\nj3+s5cuXa/HixerZs6cuvfTSpIsUia1bt+r000/Xrbfeqn1y02x/ppKP99atW3XGGWfo1ltv1d57\n710Vx7tTp05avHixVq1apeeee05z585t9/dKPd6F253JZCr+eD/++OPq3r276uvrXVtspMo83sW2\nO47jbTy48jLBaNr17NlTkrT//vvre9/7nhYuXKi6ujqt++zdFGvXrlX37t0lddwfq1at0oEHHhh/\noQ3xs529evXSgQceqFWrVrX7PI3b371797aLz3nnndfWtVtJ271r1y6dfvrpOuecczRmzBhJ1XG8\nc9v9gx/8oG27q+F45+y77776zne+o5dffrkqjndObrtfeumlij/eL7zwgmbPnq2DDz5YY8eO1TPP\nPKNzzjmn4o+323afe+658RxvI6PF8uzatcs55JBDnOXLlzuffvppxQ1o37Ztm7N582bHcRxn69at\nzogRI5y//OUvzmWXXeZMnTrVcRzHmTJlSoeBgZ9++qnz7rvvOoccckjbALk0WL58eYcB7X638+ij\nj3bmz5/v7N69OzUDIAu3e82aNW0/33zzzc7YsWMdx6mc7d69e7dzzjnnOBdddFG7zyv9eBfb7ko/\n3h9++KHz8ccfO47jONu3b3dGjhzpPPXUUxV/vItt99q1a9uWqcTjnS+TyTjf/e53Hcep/PM7X/52\nx3F+Gw+uHMdx5syZ4/Tr18/p27evc91110WRRWLeffddZ+jQoc7QoUOdQYMGtW3fhg0bnOOPP945\n7LDDnFGjRrWdwI7jONdee63Tt29f52tf+5rT2NiYVNF9O/PMM52ePXs6Xbp0cXr16uXce++9gbbz\npZdecgYPHuz07dvXueCCC5LYFF8Kt/uee+5xzjnnHGfIkCHO4Ycf7vzzP/+zs27durblK2G7582b\n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\nAElFTkSuQmCC\n", + "png": "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\n53/2nTc/36xZ3uIp9sYbh96IUezll8sPB1Qu/nwd55FcOQs9uWpttf/cKWlobfU+CnRQJsbysWtF\ncLucUn8rdYHcs8f5QPLCywFi+jaQm2Z4PwmAZYV74JeKw82o80GsXJn7/777+v6t3LbyeksozHGu\ngtSRn9swSbrol7rN5qUPj9c+MnacWq5KvarHbUtO3CO0O8X59NNSZ2fuBeaF07m9LVi8DK/7o9v3\nAnqty3POkU46qXxZv/qVdPnl3mMofpcsyZWz0JMrp28zhUlD4c+zZ0vHHht2VOExvbOVSq6uv97M\nMgrr5te/dn9Amxql28s0fjtBOy3n+utzyVCYF1677XT22b1/97L8pibn8sttq1Itel6SMVPJlYlp\n8kwde24HBg2rf0rYtwXDrNOgTMdQrry9e80sP2jcXm5H+l1W4X7xgx/Y9wUtV/YnP9n7d5IrZ7H1\nuXrjjUM/F1a66RebulG8Q/nplF58W/DgQWnnTu/llIotigN/9uzwRh33e6Lwsw3cHvT/+I+5gUUL\n90evvL6dXsp9cywUxj5ios9VmIIsO0gftUL5W1+F+8uQIe46sAeJwW+LoZsYysXu9EXXVGJjV05Y\nF2FTr09yWy/lzmF+9wkvyZVffr/MFG6bfv16/y3/dDxJVl+xJVeF4jzBm1J8W/CnP5UOOyx4uVFs\nmzhvC/rtfOt1Wdmst+V4UXwb0MQJ0WtfELtl222rUrcF3VwUTT4N6+b2l5e/u4mpuJtCvhN98cXV\n73G3b1/pW6luLuJubws6TRNFh3a3D+6E1brnltfl+01ygrT+lZrHLlEO80u23/oiueorES9utjsZ\nFD51FTaT/Ur87mRO42P5HeSxUFg7vokTV1QtV4891vv3NWvcleO2/KDCaDUI42QadD7TZRQqVyfv\nvZfrZ1NK/mJWfE5yu+9+8pN9OyzbzVMuuXJy7bXS3/5t6Wm9tlw5xZSE24RBmWohLDW926TZKa5S\nybTdtbHcE7pulullmsLPnL5skVz11a/8JOGzOxkMGhR9HMWC3Ba0+1spbpIrv5LyYmYTyZXb7fHx\nj5f+e/7Fo3kmt1Fjo/cyTdz+LZ43zNffmE6u7r/f/nUy5VoSSp34i7lpDQyaXEnOt4kzmeC3BX/8\n40O37QvLK+S1z5VTy5XXVk67v8U9OKvXZMdpetOvvXF7HrOb7oc/9LasPBPbleTKvUQkV3HfFjR5\n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\nC1RTU6OJEyf2fOZnPZ999llNnDhRxxxzjL7p9PhQgtitd2Njo0aOHKm6ujrV1dVpY8HofpWw3tu2\nbdP06dM1fvx4TZgwQbfccoukyq9vp/Wu9Pr+8MMPNXXqVNXW1ur444/XNddcI6ny69tpvSu9vvO6\nurpUV1ens846S1Ll13de8XpHUt+WYQcPHrTGjBljbdmyxdq/f781efJk64UXXjC9mFiNGjXKeu+9\n93p9duWVV1pLly61LMuylixZYl111VWWZVnWn/70J2vy5MnW/v37rS1btlhjxoyxurq6Io/Zj8ce\ne8z6wx/+YE2YMKHnMy/r2d3dbVmWZX3uc5+znn76acuyLGvWrFnWxo0bI14Tb+zWu7Gx0fr+97/f\nZ9pKWe+WlharubnZsizL6ujosMaOHWu98MILFV/fTutd6fVtWZa1Z88ey7Is68CBA9bUqVOtxx9/\nvOLr27Ls17sa6tuyLOv73/++9eUvf9k666yzLMuqjvO5ZfVd7yjq23jLlekBRpPKKrqbumHDBjV8\nNBR6Q0OD1q9fL0m65557NG/ePPXv31+jRo3S0UcfrU2bNkUerx/Tpk3T4MGDe33mZT2ffvpptbS0\nqKOjo6eF7ytf+UrPPEllt95S3zqXKme9hw0bptraWknSgAEDNG7cOG3fvr3i69tpvaXKrm9J+m//\n7b9Jkvbv36+uri4NHjy44utbsl9vqfLr+6233tJ9992niy++uGddq6G+7dbbsqzQ69t4cmU3wGj+\nZFUpMpmMTj/9dJ144ok9Y321tbWppqZGklRTU6O2j972/Pbbb/capiLt28PrehZ/PmLEiNSu//Ll\nyzV58mQtXLiwp/m8Etd769atam5u1tSpU6uqvvPrfdJJJ0mq/Pru7u5WbW2tampqem6NVkN92623\nVPn1/a1vfUs33XSTPlYwwnM11LfdemcymdDr23hylamCcfCffPJJNTc3a+PGjbrtttv0+OOP9/p7\nJpMpuR0qZRuVW89Kcskll2jLli3avHmzhg8friuuuCLukELR2dmpuXPnatmyZRqYH2b7I5Vc352d\nnTrvvPO0bNkyDRgwoCrq+2Mf+5g2b96st956S4899pgeeeSRXn+v1PouXu9sNlvx9X3vvfdq6NCh\nqqurs22xkSqzvp3WO4r6Np5cuRlgNO2GDx8uSTriiCM0Z84cbdq0STU1NWr96OWFLS0tGjp0qKS+\n2+Ott97SiBEjog/aEC/rOXLkSI0YMUJvvfVWr8/TuP5Dhw7tOflcfPHFPbd2K2m9Dxw4oLlz52r+\n/Pk699xzJVVHfefX+8ILL+xZ72qo77zPfOYzOvPMM/Xss89WRX3n5df7mWeeqfj6/u1vf6sNGzZo\n9OjRmjdvnh5++GHNnz+/4uvbbr2/8pWvRFPfRnqLFThw4IB11FFHWVu2bLH27dtXcR3a9+zZY+3e\nvduyLMvq7Oy0Tj75ZOv++++3rrzySmvJkiWWZVnWjTfe2Kdj4L59+6w33njDOuqoo3o6yKXBli1b\n+nRo97qeU6ZMsZ566imru7s7NR0gi9f77bff7vn5X//1X6158+ZZllU5693d3W3Nnz/fuuyyy3p9\nXun17bTelV7f7777rrVr1y7Lsixr79691rRp06yHHnqo4uvbab1bWlp6pqnE+i6UzWat2bNnW5ZV\n+cd3ocL1juL4Np5cWZZl3XfffdbYsWOtMWPGWDfccEMYi4jNG2+8YU2ePNmaPHmyNX78+J71e++9\n96zTTjvNOuaYY6wZM2b0HMCWZVnXX3+9NWbMGOvYY4+1mpqa4grdsy996UvW8OHDrf79+1sjR460\n7rzzTl/r+cwzz1gTJkywxowZY33961+PY1U8KV7vH/3oR9b8+fOtiRMnWpMmTbLOOeccq7W1tWf6\nSljvxx9/3MpkMtbkyZOt2tpaq7a21tq4cWPF17fdet93330VX9//+Z//adXV1VmTJ0+2Jk6caP3z\nP/+zZVn+zmOVsN6VXt+Fstlsz1NzlV7fhR555JGe9b7wwgtDr28GEQUAADAolEFEAQAAqhXJFQAA\ngEEkVwAAAAaRXAEAABhEcgUAAGAQyRUAAIBBJFcAAAAGkVwBAAAYRHIFAABgEMkVAACAQSRXAAAA\nBpFcAQAAGERyBQAAYBDJFQAAgEEkVwAAAAaRXAEAABhEcgUAAGAQyRUAAIBBJFcAAAAGkVwBAAAY\nRHIFAABgEMkVAACAQSRXAAAABpFcAQAAGERyBQAAYBDJFQAAgEEkVwAAAAaRXAEAABhEcgUAAGAQ\nyRUAAIBBJFcAAAAGkVwBAAAYRHIFAABgUMnkatu2bZo+fbrGjx+vCRMm6JZbbpEkNTY2auTIkaqr\nq1NdXZ2ampoiCRYAACDpMpZlWU5/bG1tVWtrq2pra9XZ2akTTjhB69ev19q1azVw4EBdfvnlUcYK\n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\n", "text": [ - "" + "" ] } ], @@ -550,15 +550,15 @@ "output_type": "pyout", "prompt_number": 18, "text": [ - "[]" + "[]" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\nftz5m6v2vf766zF37tw455xz4rLLLotdg16G+LWvfS1aWlqitbU1HnzwwbyGzm+Uy+WYOXNmXHnl\nlRHh2I0nu3btis985jPR1tYW5557bjz++OOO3zjyta99Lc4777y44IIL4vOf/3y89957jl+ivvCF\nL8QZZ5wRF1xwwcD7juZYPfnkk3HBBRdES0tL/Nmf/dnIPvionV12hPr6+rKpU6dmW7duzfbu3ZvN\nmDEj27hxY17D4SBefvnl7KmnnsqyLMvefvvt7Jxzzsk2btyY/fVf/3W2bNmyLMuy7Lbbbsv+5m/+\nJsuyLHv22WezGTNmZHv37s22bt2aTZ06NSuXy7mNnyy7/fbbs89//vPZlVdemWVZ5tiNI9dee212\n9913Z1mWZe+//362a9cux2+c2Lp1a3bWWWdlv/71r7Msy7LPfvaz2T/8wz84fol6+OGHs/Xr12fn\nn3/+wPuO5Fjt27cvy7IsmzVrVvb4449nWZZll19+efajH/3osB87t5kwF3NN35lnnhkXXnhhRESc\neOKJ0dbWFr29vQdcoPe6666L+++/PyIiVq9eHZ/73Oeivr4+mpqaorm5Obq7u3Mbf63bvn17rFmz\nJv7kT/5k4DIyjt348Oabb8YjjzwSX/jCFyKico7tKaec4viNEyeffHLU19fHnj17oq+vL/bs2ROT\nJ092/BI1Z86cOG3I75g7kmP1+OOPx8svvxxvv/12zJ49OyIirr322oF9qsktwkZyIVjSsW3btnjq\nqafioosuildeeSXOOOOMiIg444wz4pXfXIX2pZdeisZBFyNyTPP1F3/xF/H1r389jht00SLHbnzY\nunVrTJw4Mf74j/84fu/3fi+uv/762L17t+M3Tpx++unxl3/5l/HRj340Jk+eHKeeemrMnTvX8RtH\njvRYDX1/Q0PDiI5hbhE20gvBkr933nknPv3pT8cdd9wRJw25Sl+pVKp6LB3nfPzwhz+Mj3zkIzFz\n5sxDXkzZsUtXX19frF+/Pm688cZYv359nHDCCXHbbbcdsI3jl64tW7bEN77xjdi2bVu89NJL8c47\n78S99957wDaO3/hxuGP1QeQWYQ0NDdEz6Df29vT0HFCRpOH999+PT3/603HNNdfEVVddFRGV/xXs\n+M3vI3n55ZfjI7+5fPjQY7p9+/ZoaGg49oMmfvazn8UDDzwQZ511Vnzuc5+Lhx56KK655hrHbpxo\nbGyMxsbGmDVrVkREfOYzn4n169fHmWee6fiNA0888UT8wR/8QUyYMCHq6upi4cKF8eijjzp+48iR\nfK9sbGyMhoaG2D7olyuP9BjmFmGDLwS7d+/eWLVqVcyfPz+v4XAQWZbF4sWL49xzz40///M/H3j/\n/Pnz4zvf+U5ERHznO98ZiLP58+fHfffdF3v37o2tW7fGpk2bBtbHObZuvfXW6Onpia1bt8Z9990X\nn/zkJ+N73/ueYzdOnHnmmTFlypR44YUXIiJi7dq1cd5558WVV17p+I0Dra2t8dhjj8W7774bWZbF\n2rVr49xzz3X8xpEj/V555plnxsknnxyPP/54ZFkW3/ve9wb2qWoUX2BwxNasWZOdc8452dSpU7Nb\nb701z6FwEI888khWKpWyGTNmZBdeeGF24YUXZj/60Y+y1157LfvUpz6VtbS0ZHPnzs3eeOONgX2+\n+tWvZlOnTs2mTZuWdXZ25jh6+nV1dQ28OtKxGz+efvrprL29PZs+fXq2YMGCbNeuXY7fOLJs2bLs\n3HPPzc4///zs2muvzfbu3ev4JWrRokXZpEmTsvr6+qyxsTG75557jupYPfHEE9n555+fTZ06NfvT\nP/3TEX1sF2sFAMhBrhdrBQCoVSIMACAHIgwAIAciDAAgByIMACAHIgwAIAciDAAgByIMACAH/x/d\nQzeSSiDvWgAAAABJRU5ErkJggg==\n", + "png": "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\nXqudx56e2uczym/Do/bEE7VjHK1qtfY5DH89MFD7+n7HOyLmzRvdY73+eu3C3SlTal+3Z54Z8Z3v\n1I7njTciNm6MmDu39m8xZUrErl21Hxb//t/XPu5IL297W+1xTvr9r5bDv7Z37Kh9Xwz/9//Zz2rv\nb2kZ+Vj/5V9q38MLFtSmiBsbI84559DtHn20tt1vfxvR0FA7juM5d48/XvuBdvnlBz+hZPDzeuKJ\niP/7f+t/Dw8+K/jll2vHdOaZx348R2vnztq/x3veU/t+3Lev9kPwne888r7PPx9xyilH/l4Z9PTT\nta+Vwem1P/iDiD//89r/K8Nt21b7Wrj88vrnZ+PG2v5/8RcRM2cefN+bb9Z+qF9ySe3fNaJ2Hp56\nKuLcc9/6Ghy0d2/tuNra3nrfSN9/v/517f+o005767yO1euI2tduQ0Pt8+7vjzj99Ij/+T9Hvi6s\nWq390vq2t0X8h/9Qe/3ii7VzMtIvs48+WjvuRYsiLrig9oSks8+u/d+6a9eh29cz/Lxs2VL7Zf2S\nS47ucQ60eXPteD784dq/cVEc28uYK+r45S9/WSxatGjo9le/+tXi9ttvP2ib5cuXF6tXrx66PWvW\nrGL37t2j2rcoimLmzJlFRHjx4sWLFy9evJT+ZebMmfXS6ajUHQnr7OyMrVu3xs6dO2P69OmxZs2a\nWL169UHbLF68OFauXBlLly6NDRs2xBlnnBHnnHNOTJky5Yj7RkRss5IbAJChuhHW0NAQK1eujEWL\nFkW1Wo1ly5ZFR0dHrFq1KiIili9fHldddVWsW7cuWltb4+STT45vf/vbdfcFACCiUhQT+bJPAICJ\nKemK+RZzLbe+vr543/veF+9617vioosuim984xsREfH888/HwoUL44ILLogrrrgi9hzwtJWvfe1r\n0dbWFu3t7XHfffelOnR+r1qtxty5c+Pq3z/7xbmbOPbs2RMf/OAHo6OjIy688MLYuHGj8zeBfO1r\nX4t3vetdcfHFF8dHP/rReP31152/kvr4xz8e55xzTlx88cVD7zuWc/WrX/0qLr744mhra4vPfOYz\no/vgY3Z12VEaGBgoZs6cWezYsaPYv39/MWfOnGLLli2pDocRPPXUU8UjjzxSFEVRvPzyy8UFF1xQ\nbNmypfibv/mbYsWKFUVRFMXtt99efOELXyiKoij++Z//uZgzZ06xf//+YseOHcXMmTOLarWa7Pgp\niq9//evFRz/60eLqq68uiqJw7iaQG264ofjWt75VFEVRvPHGG8WePXucvwlix44dxXnnnVe89tpr\nRVEUxYc//OHiH//xH52/knrggQeKTZs2FRdddNHQ+47mXL355ptFURTFvHnzio0bNxZFURRXXnll\n8eMf//iIHzvZSJjFXMvv3HPPjUt+/5zgU045JTo6OqK/v/+gBXpvvPHGuOeeeyIiYu3atfGRj3wk\nGhsbo6WlJVpbW6O3tzfZ8edu165dsW7duvjEJz4xtIyMczcxvPjii/Hggw/Gxz/+8YioXWN7+umn\nO38TxGmnnRaNjY2xb9++GBgYiH379sX06dOdv5JasGBBnDls/ZajOVcbN26Mp556Kl5++eWYP39+\nRETccMMNQ/vUkyzCRrMQLOWxc+fOeOSRR+LSSy+Np59+Os75/UJJ55xzTjz99NMREfHkk09Gc3Pz\n0D7OaVqf/exn42//9m/jpAMWLXLuJoYdO3bE1KlT42Mf+1j80R/9Udx0002xd+9e52+COOuss+Kv\n//qv4w//8A9j+vTpccYZZ8TChQudvwnkaM/V8Pc3NTWN6hwmi7DRLgRLeq+88kp84AMfiDvuuCNO\nPfXUg+6rVCp1z6XznMY//dM/xTvf+c6YO3fuYRdTdu7Ka2BgIDZt2hR/+Zd/GZs2bYqTTz45br/9\n9oO2cf7Ka/v27fH3f//3sXPnznjyySfjlVdeie9///sHbeP8TRxHOlfHI1mENTU1Rd8Bf6G4r6/v\noIqkHN544434wAc+ENdff31cc801EVH7rWD37t0REfHUU0/FO3+/BPbwc7pr165oamo68QdN/OIX\nv4h77703zjvvvPjIRz4SP/3pT+P666937iaI5ubmaG5ujnm//xMEH/zgB2PTpk1x7rnnOn8TwMMP\nPxx//Md/HFOmTImGhoa49tpr45e//KXzN4Eczf+Vzc3N0dTUFLsO+NMAoz2HySLswIVg9+/fH2vW\nrInFixenOhxGUBRFLFu2LC688ML4q7/6q6H3L168OL7zne9ERMR3vvOdoThbvHhx3H333bF///7Y\nsWNHbN26dWh+nBPrq1/9avT19cWOHTvi7rvvjve///3xve99z7mbIM4999yYMWNGPPHEExERsX79\n+njXu94VV199tfM3AbS3t8eGDRvi1VdfjaIoYv369XHhhRc6fxPI0f5fee6558Zpp50WGzdujKIo\n4nvf+97QPnWN4RMMjtq6deuKCy64oJg5c2bx1a9+NeWhMIIHH3ywqFQqxZw5c4pLLrmkuOSSS4of\n//jHxXPPPVf8yZ/8SdHW1lYsXLiweOGFF4b2+cpXvlLMnDmzmDVrVtHd3Z3w6BnU09Mz9OxI527i\n+PWvf110dnYWs2fPLpYsWVLs2bPH+ZtAVqxYUVx44YXFRRddVNxwww3F/v37nb+SWrp0aTFt2rSi\nsbGxaG5uLu66665jOlcPP/xwcdFFFxUzZ84sPvWpT43qY1usFQAggaSLtQIA5EqEAQAkIMIAABIQ\nYQAACYgwAIAERBgAQAIiDAAgAREGAJDA/wckYxa5Es1/mgAAAABJRU5ErkJggg==\n", "text": [ - "" + "" ] } ], @@ -575,22 +575,15 @@ "cell_type": "code", "collapsed": false, "input": [ + "# load labels\n", "imagenet_labels_filename = caffe_root + 'data/ilsvrc12/synset_words.txt'\n", "try:\n", " labels = np.loadtxt(imagenet_labels_filename, str, delimiter='\\t')\n", "except:\n", " !../data/ilsvrc12/get_ilsvrc_aux.sh\n", - " labels = np.loadtxt(imagenet_labels_filename, str, delimiter='\\t')" - ], - "language": "python", - "metadata": {}, - "outputs": [], - "prompt_number": 19 - }, - { - "cell_type": "code", - "collapsed": false, - "input": [ + " labels = np.loadtxt(imagenet_labels_filename, str, delimiter='\\t')\n", + "\n", + "# sort top k predictions from softmax output\n", "top_k = net.blobs['prob'].data[4].flatten().argsort()[-1:-6:-1]\n", "print labels[top_k]" ], @@ -601,16 +594,16 @@ "output_type": "stream", "stream": "stdout", "text": [ - "['n02115913 dhole, Cuon alpinus' 'n02119022 red fox, Vulpes vulpes'\n", - " 'n02119789 kit fox, Vulpes macrotis' 'n02123159 tiger cat'\n", - " 'n02123045 tabby, tabby cat']\n" + "['n02123045 tabby, tabby cat' 'n02123159 tiger cat'\n", + " 'n02124075 Egyptian cat' 'n02119022 red fox, Vulpes vulpes'\n", + " 'n02127052 lynx, catamount']\n" ] } ], - "prompt_number": 20 + "prompt_number": 19 } ], "metadata": {} } ] -} +} \ No newline at end of file diff --git a/examples/net_surgery.ipynb b/examples/net_surgery.ipynb index d64ae853ace..bf3d1140559 100644 --- a/examples/net_surgery.ipynb +++ b/examples/net_surgery.ipynb @@ -290,14 +290,14 @@ "output_type": "pyout", "prompt_number": 7, "text": [ - "array([[278, 151, 259, 281, 282, 259, 282, 282],\n", - " [283, 259, 283, 282, 283, 281, 259, 277],\n", - " [283, 283, 283, 287, 287, 287, 287, 282],\n", - " [283, 283, 283, 281, 281, 259, 259, 333],\n", - " [283, 283, 283, 283, 283, 283, 283, 283],\n", - " [283, 283, 283, 283, 283, 259, 283, 333],\n", - " [283, 356, 359, 371, 368, 368, 259, 852],\n", - " [356, 335, 358, 151, 283, 263, 277, 744]])" + "array([[282, 281, 281, 281, 281, 282, 282, 278],\n", + " [281, 283, 281, 283, 281, 287, 281, 282],\n", + " [283, 283, 283, 281, 283, 283, 283, 259],\n", + " [283, 283, 281, 281, 283, 283, 287, 259],\n", + " [283, 283, 285, 283, 283, 283, 283, 283],\n", + " [283, 283, 333, 283, 283, 283, 283, 282],\n", + " [905, 358, 259, 283, 371, 259, 259, 852],\n", + " [335, 335, 371, 185, 186, 263, 185, 356]])" ] }, { @@ -305,7 +305,7 @@ "output_type": "display_data", "png": "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\nnridj/C6Y3t7+xVF8/z58+LWrVtCCFlgzp8/L4QQ4vHHHxcf//jHZ1/3yCOPiG984xu392FfB/zC\nL/yC+MpXvvKmWncQBOKBBx4Qzz777Jti3Ts7O+Khhx4SX/3qV8W73vUuIcSb631+W6/ne3t7bGxs\nzP79qtZxdwgODw+l+zewvLzM4eEhAPv7+6yvr8++7k74Wdy8eZNr167x4IMPvinWXZYlV65cYXl5\nedaieDOs+9d//df5vd/7vVeYi78Z1j3FbS2aP06H/mbBy+OAf9zn/7ViMpnwnve8hz/4gz+gVqu9\n4nN36rqntom7u7t8/etf52tf+9orPn8nrvsLX/gCS0tLXL169cfKDO/Edb8ct7Vo/lPruJ2dnVfs\nQncilpeXuXXrFiANUKZqg9dio/f/O7Is4z3veQ+PPfYYv/iLvwi8OdY9xdQ28Zlnnrnj1/3000/z\n+c9/nq2tLd773vfy1a9+lccee+yOX/fLcVuL5gMPPMDzzz8/E/d/7nOf49FHH72dj3Db8eijj/Lp\nT38agE9/+tOzovLoo4/y2c9+ljSVphfPP/88b33rW9/IR/0XQQjBr/zKr3Dx4kV+7dd+bfbxO33d\nJycnswlxFEV85Stf4erVq3f8uh9//HF2dnbY3t7ms5/9LO94xzv4sz/7szt+3a/A7W6ifvGLXxTn\nzp0TZ86cEY8//vjtfvnXFb/8y78sTp06JQzDEOvr6+JP//RPRbfbFQ899JA4e/asePjhh0W/3599\n/e/8zu+IM2fOiPPnz4svf/nLb+CT/8vx1FNPCUVRxOXLl8WVK1fElStXxJe+9KU7ft3f+973xNWr\nV8Xly5fF/fffL373d39XCCHu+HW/HE8++eRsev5mWvdcRjnHHHPM8RowVwTNMcccc7wGzIvmHHPM\nMcdrwLxozjHHHHO8BsyL5hxzzDHHa8C8aM4xxxxzvAbMi+Ycc8wxx2vAvGjOMcccc7wGzIvmHHPM\nMcdrwP8F7/c7xJLyUh8AAAAASUVORK5CYII=\n", "text": [ - "" + "" ] } ], @@ -315,7 +315,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The classifications include various cats -- 282 = tabby, 283 = tiger, 281 = persian -- and foxes and other mammals.\n", + "The classifications include various cats -- 282 = tiger cat, 281 = tabby, 283 = persian -- and foxes and other mammals.\n", "\n", "In this way the fully-connected layers can be extracted as dense features across an image (see `net_full_conv.blobs['fc6'].data` for instance), which is perhaps more useful than the classification map itself." ] From f1eb9821ba717a55b684d42ef8c87125e855b402 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Mon, 28 Jul 2014 20:16:52 -0700 Subject: [PATCH 386/408] [example] include prediction in classification, time on GTX 770 --- examples/imagenet_classification.ipynb | 66 +++++++++++--------------- 1 file changed, 28 insertions(+), 38 deletions(-) diff --git a/examples/imagenet_classification.ipynb b/examples/imagenet_classification.ipynb index 40e69aea138..8ab65fda02f 100644 --- a/examples/imagenet_classification.ipynb +++ b/examples/imagenet_classification.ipynb @@ -112,15 +112,15 @@ "output_type": "pyout", "prompt_number": 4, "text": [ - "" + "" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\nRK5CYII=\n", + "png": "iVBORw0KGgoAAAANSUhEUgAAAU0AAAEACAYAAAA3NiR2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvU2sbVt23/UbY8y51t77nHPvfa9euSpVZXAqrthWYgWS\n2MIdPpJITkkE6EAiBAIpoLQQSPRoICEhpEjQwh1EI42AIiQ6ER8xKFG+MEEmUqQkhpjICqRcrirX\nq/fuxzln77XmnGPQGHOfVyahiKWKXiGd0XjvnXfP3WvvteYc8z/+//8YWyIieI7neI7neI5/oNBP\n+w08x3M8x3P8/ymek+ZzPMdzPMdvIp6T5nM8x3M8x28inpPmczzHczzHbyKek+ZzPMdzPMdvIp6T\n5nM8x3M8x28i/qEkzZ//+Z/nx3/8x/nKV77CH//jf/wfxiWe4zme4zk+lZDvt09zjMGP/diP8Wf/\n7J/li1/8Ij/1Uz/Fn/pTf4qf+Imf+H5e5jme4zme41OJ7zvS/MVf/EV+9Ed/lB/5kR+h1sof+SN/\nhD/9p//09/syz/Ecz/Ecn0p835Pm17/+dX74h3/46ecvfelLfP3rX/9+X+Y5nuM5nuNTie970hSR\n7/dLPsdzPMdz/MBE+X6/4Be/+EW+9rWvPf38ta99jS996Uu/4XfssOLb/v2+9HM8x3M8x/clTu8t\nPHy0/X3/7PsuBPXe+bEf+zH+3J/7c3zhC1/gp3/6p/8eIUhE+MLP/ONogBMQgpoSxPxzQwxCBS1C\nGIQ5boqqgIEqRAgCOOT/l/xZAAkQH9AHo+0wBoKjEeCO4hiOCSCDESAKioMHEfluxANEiBCut0o1\nP4OaICK4O+4OBGMEvQWjO/u+M4aDBBE7D99s3Hx+IQLMDJGCiFKKYgalGrUWaq3UWliW/LdZYVkW\n1lqxYpgoRNB753x+5P7xzP3DmfO5sW2NCKdY3juxQEwQBaoSDNQCUUFVKMXyZ1HcAx/OaM62OyEt\n72s+WSIEsLw37nlPXBEpqAaHo1GrUExgBG0TpAu/9r+94zNffkFvsG8bbQ9GF9zzulag1GA9GKUK\nughlKQigNvAwRjfCFVwYwxEq+Tg6IoFgCPDdyzkiGCGz+gnwQFXBBBS0Cq5B+EBFcAF3J3zQ+4Ch\nMPJ9ehdKAK6UItjRuHlx4ObFLafblfUgHA4r67Gw3hxZ7w78tf/ub/H7/rWfoS6VshaC4LJvnM8X\nHh8eePP6De/evOXDb3/E/duNvsH2sLHdN3wXGDafc+DdkS4QBn1ABMbAVEACUcUUzGLeTwUCMcdC\nIRQRwyNwhNYdpOAilINQD4VyUtablfUYHG9WSg1KBYmChDLGYLt02uZcHgbbBdpl0M/BuAwujwPf\nBx997SNuPrjFzPK+K0AQ4lACnXtHRaiHhcN7Ky8+eMXp1YEXN8d83yJEOGM4rQeP7x75+Ftvefxo\nJ9xRA7VPXlfNUIQhc7+6IDFYF2E55L4q2hACFUULqDoigxiWa9KdEMOXxl/5E1/j/y01ft+RZimF\nn/u5n+Nnf/ZnGWPwR//oH/37KudaKt4GwUx4QSY9EUQgYgBKhOYfISjg4ij6lDAhkyQB4YA4IYNC\nYDIoq6Gl0M6dPjoxBqaGEIgDEngIoiMToMyNN19cPCDi6VqOgxiiMh9sbkQRYYyBqmNlJqFY88H7\neb5LBTLxixQEg4DegkAYOhgREIqHEATJdijeYATECLD81L1Bb4K74iPoe6P3garOBBeZwAx0MVAw\nNUZ0tBgqmUyviT9cGCMYw1ENIhaIMW9uefqMIiCihBeg43FmXY6UQ6euhaJC352qxngIIqDtjbY7\nowV9z/cWHojl9a0qYoGZYqpcj79wZXRyHYRAKCqF4aASoDXzofd8FiL5+d0RhGqCXDev5AFiZgzp\nSJnPORyrSo+BAqM5NgZhSmwDcbDN6VtBeyYONuH87pHLw8bjyxM3dwsv34fTqyM3r46cXrxgOazc\nfeYOWYJiFY9At9ywIY2tVS7bwuHuiKixbTuH20I7DN69vbA/7EQTdBRkKB4DjQEGJkZ4ZNJUEAlq\nhZDAaq5PJZ+viYFn0lQPRh9zXTaKFRZdnmg1M6MWkLl+Egx0TBfCBVsKSHA5D1rv9A7hQu8dhuT6\nJBAJIgaiiqjgRB7immtHRZBFKTcrL95/xfvvv+LmbqUcSv69ubdaayxR8b1TF2W5FaIHixo+X8s1\nmG/3KaG5Zx5pM/nijqAYg6aDKoao4gwwwU55b0SMKN87LX7fkybAV7/6Vb761a9+718SwSzRjTig\n88ORH1b0mkfzhoRoogTN7B+Rp+v1NMhkm6drELnxuhMMajFuXt4xfGc7X2iXnidRglMsBI+ep5Ab\nEfkqgyAkF18mi0zd4ZEIGZ/XnclTlMiMT4RTl4HQaT1w/2RRMpOh4KgKnussrxtBHw0UejcusbFW\nRWNHCWQoQ5OK7n3QwxnuQKKLNhpqsB4OlCrUGmg13AAdDAYmhooiJjh5yKhmUlYV3EBHPoThAeIQ\nMp9ZJm7H5mETnI4Lx9tgOQliA4ZgKD2AYkQIexvsO4wdeELsibK1QOj13uQBOno8rY8IRdUYYyRq\nFzIhIBPx8rQGAuhjAFBrQUxAwEVAE9HnQQdhWeGYDELnAYNTVmMfMHygVRg9oARWwS+wD0d6QRDe\nvr7w0BqXccROyp28gMUopwJFqIeKLIbMe9vGeDpwSzXWm8K6wyDwIvS9JRK6ObK/W7j/9oX9sYEb\noSNzP4rYwEIQCUxjomynmKICGk6ZC1wJ1PLPR0RWSOQzwjTXXR94KKN3iqy5RlBUHTzXd0QmaZeg\nLsZSYWyd3A0xEyLzH3OPQu4hlUR3ZghKVcOWwuF4YFmPrMuBZV04HAqiwnCn957PtIFVYb1Z8OHE\nKHmP5i4UCURyHbhnyaiRFUJ44EM4+0Y3yfuDEB2MzBmqFVOhVAFzQj+FpPkPEjL/qSKEOshEkzbL\nilBQcORpk43rQ4h4SlT539eNELhDFUUjN10RQ3VAbNSiLDcHeu1c9gt9T7geIWjovI7P12MmP74L\n8SWVEKGEg5RcKD7y/aACkYm6mBAmSIFoC4Ryeu+ClYKpJpKer5mnnoEFEuARiVolMXb4pBw8KKXg\nlkjZfUzkrBwOB9bjymHfGGOw1EpdjLKSi5CBqyIRhAxCZuIXQJU+OohhVsCDEUEbI8+oSITs7vQB\nogrSMAuWg/DifVhuNqJ21A+MJjiCNzi3TnlhbOcgXAkXEMe0oDYPLQtM9IkS8WAeool4BEMi37tP\nNOnfvZYmGhfJTaPFMBNKrQz6TBx5KAcBcj0AIaJDIWmLAmGB0ykO6gEDYh9ggZNVSvUFaUZcgojO\n6J1gpYnjAl0D1+BHfvcXaTJYrDKGE70zxsCH4zFo0enS0INj4Zg5UQUW0E3QWhi2EEB7O7CuFBNE\nBdOspBhBsSUPqxCqKhIdm9QRVzRPTBQyEqjoRHs2KYlwSih771wuykJgItgslSHmNszDxUywItTV\n6K1Ti9JbJv/lZpnPJaslwpEJKlSUoka1QlkKh+XEoRZKMZZlpZaClGBBGT5orbGzs5SFtRY4rbTm\nTFLuqfLJ9ZlUwPDcWx6DsIBYCFcaTphQXJGYn18NJ5O6VLBSErF9j/jUkmaCJUWAMXeAqE7EJYQp\nKoFcmc4IPCCuvBSfJE8RJcITytdKicAkKNIxDRYzwsFjQxzUnGUxii301pHJYfpwfMRTeafzupFv\n7lrJ4T4QUfoOVgIrExEJ4IqVitqgnhZKPSAiXLbB7atKayMXMgvugjtIZuanUl9nudx6cnKmgscZ\nP8KB/Jn5bNdSqVGAFQTMXib61kS7Ho7rQNhp44IF7JGJIyyImfSxPJ3H2PEqIAY9kZzoYIhjIZiC\nLiCl0hnU96DcDpbbSlaOBY/B/RBcKiMa5WahP+4QA7OSaJyGmKFFn0rJCcbxAI2sGFTyf4RMOK4L\n3R1RY4yGzsSgargPVAUrhmqiDzyTjE80ThTcFYsA2ajacauUUhi649GIIkgRNGCMPHw5G9zm87LN\n6UzKJoKbm5XbuyOn2yNDgt4b22XjR37yi2z3G23PZ3t+PON743x+zeVypp3PtP0NqjvLKowYSBWk\nO+NQGJcLCw3dhU2U9jigTbRkA3VBqkB0ihVkdJLjVbwHVibj75J8ogcWSROFg5NUjlaoy0KilGDz\nTq2SPKFYrgFJ8OAjiA4SShGlW8dLJxi5R0Q43i6zapqJ0z0Pvh1sAVkLulbKWlELukyeuRi2VpSB\nhFAtEbofhXLZWG+PSZ89XvDBpMUS6EQkZhkek26KWXlO7UNmbTIUrTrRaVI1VuJJpyil8P8l8nx6\nSDOSnwyUrJmumTORg07ElaejZtUmgWEwq0Wd5XnMcpgIRmt4EYp48jMiecqq42MiQXd8DHrvDB/I\nTMSlVsL8u04vwefrf/edlHK9LvhIvsZUQRwtgZWgHhZsFY63hWU1RKB35/FhsF0arXnylCMYzfGW\n5ZGoZVKVeXi40EYnAmrvdDUEo0jBiqUoYZqCilluAjVUoHvnYXtg6xfcdS4qMIzuSQG4CItpJnxA\nSX4UPDedAmoUMYLOUozD8UBI54P3P0Drh/jq1JPz8nDDh6/fsNgtnzt8jm88fHseBj756iyd1RSr\nmgjTcvFqkSREAiRsIlJwyYSeqEWvRWUeXJoHGddKw6CU5EbzYG2UsmR6UxLtzXXm4ZgX1Au+7/TW\noQRis8asjmqWky12OAyMCj2RsoTRVChm2K2yvLBEiQS9Oful8RgX1JTe79mac7lsbPdvGHGh7Rf2\n2MAiS1frHI6aCL13aAOTQBvUlwkdhnX0Uiie15FZhYnluhZNMfKarCTy8wwfyaGP/FvJD6eeMAZZ\nZS2V5WTIKqyrUEsKkeG59FMkhNGdvjnnh86+C5dLZ+zbU4KSKciGT6otrpz5YIggA9gbUTM5aVFq\ndbCgmlKXOvn+POiKQCFYa6GvC6MP6J6v1zt1sdzXwBgdCUF1lunzfYcPUJ8rBzx6ygJk0qxLUIpS\nS0U0GL+hjvl741NLmqhkCc5MjoCpPiGCiSvQma8yb11RZUzy//9Rpo/AcbokX+EST6XXVXggBmMm\nTG8d94GZTFRjHI4LrXX2vefvzIQaYYl5NUvXCEekEJHoIyIokjff1mA9GstN5XhbWVflcCyEwPkx\neHwYXB4b27nR2qBdBu3S8eZJ2GfxDfgk1mEWWIxwKolOTSzLmnV5EkAQmSxB5O8YmAh9zFIzoOMM\naUhIqoWqeYqFI8WoXRlTUNOqXJmLZTEOp5VYC7UYt3cLn7n9IqfjwtkeaKNxexi8uzQk7nPjemAB\nAyGELL/MU/CxLLVtHprpKsgDIAZoLYgGoYpDCjoB1wyvT/xxJl+1T1wUY3SsMJ0L8w5OukMlGHvD\nZdAt+V4phg6HklxIrAMxsGQEkTWy7GvC0MBiEFaxCuvLhVE9OWIf7K1j543LpeNjsD1sPD5cOD8+\n4P0xHQJl0HQDazS/oKvNAwJEByYriwh+R1IoRehqxMfg507VAhPtqkyaYUqm10rIiUTskyPOklQZ\nozM8mLUUVSpWFg43leW2cKgFLYHISKFkCnIqwj6cCKX3oO1B9Cy7e8S87m/c5nGlgOZz8p4Hl1Zj\nPa1YrZSS/H4EeB/YkodkH0kjKZ6ARBNlsxQuW0ct96EVoTfHPZ72dkSKUzE58YhI54kFBcdKckOi\nnWU5pEtFDWSko+Z7xKeWNEMy70fko3sCciL5mCTRT2j2s6MFF33iD6/8V4RTEcIMCc/Nt3dambwF\nQtVU8ojIE9P9k0SLECMtC5D8zuF4YD2m0HJ+uNB6x2NPK5RADAfRabfJBbt74ApWVpZDpRwGp6Nx\nWIPDTeFwLGgRDkflcNx5fCfcm7JdHBUnuCT/NhJ0p+UmiDYXm6Sdq5jh3hjREQolDhNt8CSSjRjJ\nXclALEux8EzAw53Gmc4l1cZY6VKolKRDYqS1q4BJSWuOOGbCertQqnBT065TS+czLz7L7/itv4Nf\ne/Mr/O1f+zt85Ys/zq/8nb/Nu965XByLI/Q2bWRB8eTqVPI9myWpn44FmRtZkGL4LPcEUCtoKH0S\nvCIQPbL8fqK9PxEgrg4CVU1kOhz3ndECuqNXLgDHqyM1cAt0CUQDOxuyBl47elBsGBKDMMdYGAyO\ny8COJ0oNTAcRjR6F8/meve2MJmwPG5f7C+3hkbZtuDll2bEykkKpG8MajLyeYSx2xEuj2IWVRJ9d\nhNIEzpLKdkvuVmJndJ83oGJy5btzPRZN5biPYPSOSSW0pmvJgsPBkIOiRTFRFikcyoIuSkiH6rTW\ncXZ8DA7HQpNOsVxnQbD3TGii0PqGT+FI5Fqp8aRUO8mHdmAbjRfiRBhmlRAYGoh3+tQXPAaDYIud\n7htCY8QOkVYzIoVH3NHh6LSMJcJ0Rneiz+pUAz0IshSIgmpJkDN51qvw+APLaRIjM2JMFRtJdKSz\n5LiKPpPXCkB6Ehd+tasAV718jIZ5CkCNkYmtgXnB5waN5jBh/ZWQDx/JWV3FHk21eC2Z6A6HyuPD\nhcdto/WRaFWZpWJakCTrAXxA2zqH20P65pbkbZbDwuFYWU4FD+V0e8SWM8FGyMZwp7qiZlkuiVJK\nydN5xKQRnH0MtHVEEyUMz2tLgaozuYgR6oSk/t9bo3suuK3vNG9PfrlSBGJDLeZSUMIiLV0T1Ys6\nIWDVsLUgFZoGv/23fIHPHo9svvGtb3+D3/87/0V+5oe/wf/6N/9n5L2v8L+//jq3qnzUO92CauAO\nLIGaohqppAqI9kSNCBKJADQEUZ3I9FoiOurTeoMwiMl761RPAw/PezDXz+ipsPY2GHtJKoYrR8p8\nYYgxcl3tqfKKAppcnmrSC0U0S7dDAzOqVqiOLIauyhiN7aK0PfJ+P3YuD432bmfsG9EHIhvlCOut\noSURFBJIbKgsyQwcrnROPtMuQg1lbEKcY4pIggxJRxiWSr8k7SA4Irk+xp5IawyHMAaKj05gLKcD\n68koZcU0RZUg6KNjPf2zWst0qCw0WtIYUliOh/SO0ogubOdt/p5M3t8JHJWCBnRvqFmaMKZvWNRp\nozPoNG/s7YxvO8uS1+y9MUba1EZL2iwrvClyxRQNfSTX6mndU7Mnx8eQQdHpwQ2f+UYoRVmXSin2\nG4QuUcVlfM/U9aklTZ8+Sy06b3Au4pjE+xgdsykKiKVyHkGPSJ/dGBRVfDgGFE0exSOQKIQ3ugSP\nrU34n9xGjA0fDfeOBti0OokUcvdMo7RBKcLhcOBwXFgvncvlwrY1tjZo29xtAAxUChLBtjXKo3B7\nd0fg1CWtDHZQyrJSy4HlvRPLek/Eh7QY7L1zu55YygGPTmudPhQfAx87Mgpsg74722hEG3SEWivs\ngdpASqVoIWzgPvAQLm3nvF84b488bI8Eg903rM4DySPft1hSIbO8l6sX6+oIsKQWTOGkynJQpHVe\n2ZHf+ZP/FLYrv/0zX+b27vfwMz/yz/A//MKf4f/4q/85v/fL/xi/8Ou/zDikx/Z83pCaIqBZmYRD\nJo5UhI+ZrIuiYmkKXyopWUQ+njYdBt+t6k4hr0CiVfEnQa2NgOFEGxhpObqKBOGChzMaRE90G8WJ\nqsk14pk4C1kKSmBK+iSrYBLImrfJbeDhyfH5YL9snB+ddx8/0t/uVDWWopgKVuMToUYLIwaVymp3\n3NzeUauAdc77zo7j0YmtYQeHm4J32NoguiEudM8N371T1Kag6ogpe480t4/OQPDRQQcNoUb6pcti\nT5zkvjfK/IziwEguOBs4sgkgXfRKWQveAquCbB18fJfGkBYyTZYcRxBT6lKwalAFl0GLneYLe2vQ\nglWNEQXV5OhNwLeWHGzkc5PJSUgk/yuRe3vEpOCuGoM5lQWmgFVMcJKes3JkXdd0gJRCqXVSAntW\npd8jPj31nBQ3+mB6IZlewdzQViRVVsnSSiVPKSQ3gSHQR24gdySSU4pwNAQkOzBa2+iXjnpj0Blt\nJ8Y+OTyoJflGjx2TgtkxN7QoIYWQfNAvbeF4WHh4PHMa0PadbQwue08rTfTUskK4PAweHxo3Lw4E\nwlLTnrHUA6flDimV918tiC+If4TxbnbnFIQjrScvs22d7dHYt473nRYP9J6kPlJQFfZ9ENbYtbB4\nohcXGF3Y28alP7KNgUewj45YLjoTQdWmT81SkY9MnIOs9lTBtFx1OKQrx9sT6+Lc3N5Rjq/4/PEL\nfPlLvxV/vfH2419lffmKP/jVf4vP/fBP8wt/6b/hW5/7NV6fjW++u2dZjjz0dygdvVIdIZSyMq7W\nhPnMy1I4nJLTBFAXvEs2yfhAwhJxTluLePpOccdJOmJIcqkEhCYnnXam7LRxRooCkV7S2CMN/qXh\nCmudZZr4bAzIikQjX98UlIJqZfSBx4bvjb4p9/cX+tvGeNtoPQUtWRUqtL1Te0lDvg9KPXJ7vOXl\ny/c5HVfqakg1tv4er998RPgD+znAHDejEVSpuAShIz3HbsndKwSOaFBMaZGiY0hhdJn7xXCH8/1G\nXQwrhePNTXKYnkKIaf5/d8cJXITQBSc7xmxeWwvEErBoHq4klWOWrzGAUbIjx4pS14Itii5CXZZs\nNAmdNEqW9b11zIy+t7S5tZ029nQXaHYAmRmjd9LZP3NHa6mID5u2oxRnrYBowT33vYizrpX1sLAe\njLUYIqlpmFZa1O+Zuz49pDnS7iAI4leTakHEP7EZceWnpol5yubCTJSTtzCYvkdBNZK8n5xIzD/r\nYzAi7RfZQTOSIbAAUhmtxZ6UV7OSnq0s5pLnEuF0szK60KpQx+CwFHrb2fZODMcjO0revL5nPQll\nMQ7HQT1m6SlWKFaxVbi9VfyzxuF4w2W7YJZl5RhpnyrbBafTxlXMgt4b3Tt7V5or9ECbU7egnAxq\ncl2+5+LufdA9aOFYKVMsSSKeef9TdU9RRlyTR1VFDFRScAg6g0HbGp9/8RnevXng85/5Erftlr/z\nS7/Cm49+jYfvfJtaFo6fu+N3/b5/ld/ze/8A/8if/I/4r//yn8Hlhnp3w6987R1aKsQnXklXxyXQ\nsEQja+F4c6QsyTWNMdDJ0UU40pUryv/u5gbvPqkLAEdCU+SB9H0yBcSrH4aJOOePfrU2hVKuwiHz\nz53Z3ZKcuE4TOdf1KmndGgO2fWc/N8Yl27hkFDw6wwItBfMs4WXN7qdiJ17cvM/7Lz7g9vaGuq5I\nFfZ9o8gB+A7b43eQ/cJ+DMbB6eekMwh7uo+1LBA7alBPK7oWLAxvg+0hGPeT8x7ZUCEhPJ4b9VhY\no3EoilSddIfOvXNt5Eihp/fB6Lk+YySFVCLFNa1KXQ3PooAgK0A1RRelLlnBWVXKalACqoMGfexI\nV0bIVO19rvdBa3vqCp5VRhvZpZX0tqAy1/LBaHujR7owxkTbeD5bs0o9rBxPaQNc6srxsLCWkteL\nQMIY3r5n7vr0OE3Ph2C1ZJeCpOBzTRzERA+S6qszH+LszNHZJ83Idjks0aeMTzbjCKaBNzc+I4ne\nLPcdGY73YHfH/AErN1gR1rqS3q+Yfr+rutd5ajfL5ne0DIoaRYXdoc9+8+0cfPThmVIry3rg9rii\nhxUoSBRKqdzeGuJGPR54eHxLaz1vjTuLK37vlMuGXXZUUwhKFAoUZ42A4ughWGrnMLLvO4ZlohXA\nFoSgKAglPWmmaEn0e3UH2DTWm2kqnJCoJUBQNAr76KjAD91+wKFXfvt7P8rf/ut/nXePH2EBN/XA\n/XZh+9XBn/+T/zE/+dP/NH/oX/73OL56j5/7E/8pt+v71GJ4AZGaz0b0iV+8dpUsa+F4WLBiBDui\n0JvinvdnjJ6IEUnVOAQRw0cne5wqk5BJ1VTTf4jMxJdaPN6nNcOnZW1azBhp9XIP1K/qe3aK4TyV\njunnzbkCY0AMy0NqG/jWaJeOdJk+YOjNqcXYtz1bCncwX3hx9xlenD7DzeE9bk93nG5usQIP50cI\nwQfsl8Gb/jHRO3V3ojvS0vWQXtqYB5ywHhdOdyf0JJhku+GlDdo7eHh9xs+JArUa9aRgnTF2RI55\niMXI9TNdCqIyu5gSPCCOidIh6RuFRQXqVRidcxtm5YJp0hkraJmwsOiT1xgJ3ButAT0PxmseiLiW\n2/lkR+9T4BngKfaN4Skmdke1JsiKhrhPNG+zg0hYl5V1rRwPh+zIWldWs3loOs4O7QfUcmSTe/D9\njJSSCpqSCASSlwzQ6vQQstcgRRIfYz44R0pQ/CougOosETQXvXkQYQwF1cYwS1IcoyNEG8TeOaO4\nXUAUK2dCVtaoRB34HG5BTP9ZJG84vCcnNmyqvoNSFkTS7LudG+8+3jidjlxewl0o+9mRNXtzl/WA\nvFzgcia0c748QIDIApGlt9pIm4g7Ixr7bA07VAVrVFtY187xFnQFLWPaKwpjgA9FRxq/hcAlBapa\nO1i2syVZmIdEH3NjWCAtu0v6CGo5cVLj4eEB2+F3fekn+ejr3+Dxow9ZxAg1ugifffUB948Xei/8\nrV/8Cyw37/Oz/+y/w9d+/SN+/n/6b1lfHBmSYkWIgQ6izxMeqFU4HoWyDrCsJtRn+2oYLn3mP8s2\nukhrTY+emzEUdT7pdgoluyolr4kQs0datUz/YCdIIm8EWHNkh2FO1Nm3Lx3X7E4yZuPA7JwKLwyX\nRPbbYGwD3yDcEOk4ua58L+wE6+TkRwsqxs1y5ObVK9774DO8ePmCYiU7uCzovKC1zsP9zrYHizVO\n1nnjZ+7bA/IoyKVMm9lgPS0stwW9Cepp5XCsBMLahX4Hx/cPPJwH/bJDFCwqlB2PQffOEoURG/tG\nOjIk91wtK6LC4iV9n0w6wOLJ70tJ2mdEZNktcxCPZouv2RzEY2mWKprrPGIwRlYZqOe69bRQ9dbT\nXBzCooqr4laQEXRaUuIy76dfe87T0kYUCGhxRqiUpWBVuT0cuD0cOZaVKglg0npos+mmf8/c9elZ\njnyfiDAVQNFZcj8ZvQLXASOTBggtJjNNijSKQ/Rs51qmy19nt1HIkxXa3RmuhNucmtJxMSANt2NT\n/OzgDRmsCARtAAAgAElEQVSPWWbfCj65l08UthTXR/fkUz2RLmNkyTNVPFEIbSDG+bxxftx58/qB\nm9MtL16s9H1QbUF14WYtk9jOz9xGQ9XoPvuFZRDijPikx/r2xYH1MHAdHA7K6WWlHoUoWfr0lkZw\nruW2zO4JND9LEepyzIX1hJwTyQ5JZV7EEynIgnrHZUe78uV/9CvUR+OD5Y6/+61fJlXHzt3xltZ3\n3t5vrMfC7c0N3/z4kf/rf/l5ylD+zX/jP+R0+Zj/4m/+Rb51/0Ctgmu2W8YO++zAWtbZ/qm5NoZI\nzh0wJaIlGvdrt3N8cjhOGxpC2pLmShH35MrmPQ7vmcBmqf7JzIJZhSBEd6IVtCjRUoHu4ZSSKOuK\nSmqtU70W+tU4H0LISAQmMS11uc1CheY7qxvsQl93TI4UO3E63PLi7iUffPABPjrNOzymdWg7nzke\nT5z2DZeGSHBTXvGuvuXDb3zMw3lnGdliWQ8L66lk8jyuuDk3NycCo/dGa4VT6+xn5fLYiJ52PilO\njw2NQHykMyOSJx7e6K0hGMULyFUY2umN3HBLfkovCsw2To90dqxLcsIyRV/NykCQp30l0/+sEbPn\nPEFV74225fssnr3xyMjhLpLDb6JLCqSztVKuA0csoAsegg+nVFhW4+Z05Pbultu7dfqFNd8vzijG\n/vefCPcUn155PgYh8+w3YThPnTbp7+pc+8Bllk3ppEyrjEqOrSo27ceWVpxSCuJpDk+vapL47sDI\npGmtMGRgutK2ThPJKUj74DGUMc7szVnXjWWtLKt94iec01uyIyEX1xhBDOjj6pcL1CqqQRsbb988\nUmrhsJ44LnfoonQFkywHaq3p/POV/WFn0HPARd+y93bsiDl1hdPNwrokOswxXoV67Gi1ORbLKUXx\nUHwIwVXgSVXViiYpL0tynJqTqRQYdWTpu++0lpOHIpJ77mPjaJWPP/xVftvv/hnefvsdKsG6npIH\nNmeRRA0qha1tfOkzn+fx0rj/5i9RfkX5g//Sv8svfONv8MADodn1cfGg6YDmqBr1VNIjWtIqU1C6\npxjYe/baf3e0qajmXQfIlsFaKzfHwxTUtlkh5GYlkvtm+BMnep2sk5vYGLvixSk9J0xZrfh4wCyr\nlFzCA29ZxspIe1iQliip2dzgF6Gfn5oucR+0PUveqkdUC3VdORxuOBxvETXWpULfWMeB0Z26HKhL\nlpSDRGRbdG5e3hFeKPGW/aPH2ZUWSBXKsaJVOJ1uoBbWdSV0ZfTO5XHDlkI5dqKD9wk2ypwDoU6t\nlhO9NG1EWYykJYk0VFDGgqrnKMQBIUmDqFi2sorOOQXTLzsV7xR05+i3FlweL/TR5yjDK8c+QUjP\nfUkkIGF4WpF6Guk9YLFCqSkAEvDJZDRAIl0lngNc7u5uuXtxw+m0Po1eTJM7iHcue6MuP6ADO0Yf\nT5N2ZCLM1HImYS8pcrhC9l5lAi0CFk6d8wPTbhMsdZYDGlgkz6n2CZcFOS2lt0GRwjCj2Zhtdxtl\nWejnwd6D7XEQY6fVQV3aJLCvcx9zEYw5b2NEmuNHS8sJMlArBDmVRkR4e/8OOSjxLXhxukNule7C\n8IEtAUsmEMSIcPq+0bad1s7I9CKaBq/eu+WwVsZoLMvKchrYMrCl0n0wYswSqLL1gUvgmgg0Zktd\nsbQYqU0fnVXMjFIWyhhAx03odbYPSXZTvYwjivCFFx8g0tiaU2UlAmo9pApcChLM6gDO+4X1uHL/\n4Lz5pb/CT/wTX+SP/eF/m3//P/sPuL9JwWu5zA6WCksRahG0xJPtIzwV7D4850o+dUgBksXyJ2P5\njOHOejjw4sUt77/3ilILb9685fXrj3l4uMfDnoaBgExf8LU1M5FKDGYPclYUNpzLvufAiOFoyefk\nPRNEMk2zUYKBrcZSCvTCWCp9aVzuJ6obOfEpFnjv8IrD8cSyrqyHBZH0SNZ1ReYcz701xhhUKxzr\ngssBr45qowSMsROXlcswtod7aBujVdyDUgt2LGjNTq5kjVfKslJOO/t5m+28OfijjzkZRnsm9YnI\nHXlqSxwRRBmIVdbjCg2iOccbxyOT6/D+VDWqXscOJpqH+bwRfAR+cRxj905ZDanzOn16Z/tgvzTc\nW3LR7knnSA7nMRH20ZKl1jH76XPWREQOTtECxQr1YNzeHTkcj0lRLWtWpSVRlUj6xkf/AeU0cytk\n+SFkyRQMrmZ3tzTj5si1QDTJXiEnpkT4PB2DtQa1+PT3pQl57gmUmq/nadkQM+zKfdiGNUVN6G1A\nKWzbYN+cfR/0NnBf2C5tNpMpUiSRriZ6y0YWnzMKp4dNHSkjrTEWGJX2cOb16Pzdb36d3/ZbV+ql\n54K14HBac+bnvjP2nfP5TO8pHKSAGxxujJvDylJyKLGWkbaNWnFt+O4U0hAeDlYUbZLWIolsYwyn\nxZ6KrCwIimkBsVSEJekMWZMnHb4jmsNdDwJrOfDecsdNVB4+/pgbLdih5tP0nRiK1kMS+aXgbbBv\nO/YqWC+V//Ov/UV+8g/8K/z+n/oL/Pd/43+cLYw5GrBKJoXjsiSnrQKec0WH5+DbffPsmGKq5h6I\nlqfrhcNyKNze3fDy1S3H08pxWXl5e+KDD17xne98h29/+BHnyzbR6bUrLFFVQIp7qkm7tDm1qCjV\njL515uSXXI+aqNZj5EEkUCqs64Hb5cAit7Rd2S8b928eeff6zP39DqYcTwq1c7q94XS8RTG2fWM5\nLextp/fOvu88PNxz2R4QOoe1EEvlfGmsGAdZWPVA2St+vmdvDwTBeNzwF6d8TxROp2MCCM3Zouth\nobbKflh4OKclz0ebFVrgUVHNIdDi/kRtiKcAqnJAerLAbopYzdkNVhJZzohJKfXeuZx39r2x7+Np\nzGIO4pYUxlBa7Fhkg4dEosrRB96zStDIqnP39GZqUTyViXRWkKwIZF4ID4oIKsrN7YHT6Zb1aJRV\nWQ9lzj8wsGn4bx13aO0HVD3/xFwtaQVi5Cg1zSnp0ixV1atZOdLRr5aw3FBMB0s1ShnUIpgFWJ/J\nLHuzr3PVDKDniTNc2fpgsYWxdawavhleB1I6WgKisKwLpeQEpcfLzn7pKeTo7MCxMk3Wyal136lr\nJUkVsCW9oqFO2zZ6DL718Yf80Oc/4OXhkEZ8qeyXC2WtjP2Rbb9w2c70FhCCSaGWLBnWY6GaUWxk\nH+0sZ5qnr82jTZ6OXGhYDkNhGo/JMreNQWhnpWZJGRAaDOlYUYqmN9Vpc5EoL25vKBfjy7/ld8C3\nhLt6YHt4pB7WLOE054TevXrBxx9/hPeWNhSUr3/9V/mhz36Z9fwhb//6X+IP/8F/nb/8N/8i3ZXG\nQyIigXWxnA0pyb9ezWe956Tx60H5NFVPZQ7mzYnd9Vi5u7nh1csbbm6OqcKvhplxPKSvdWuNfd/p\nPd0CwnWKj0x6NysTF52dQpr8Y3VKU9ymYMl1jmpWQMigLJWDrhzWE3eHWw71hqWcGA6PH1/48Nuv\n+fZHr1EbHN8rHF/d8uLlC+7ubvPAD6HtO+7Ctu28ffOOd2/f8e7+Na0/Um0lUEyDoZn0rRq3L+6I\nXbDYuNw/Evtge7dRj5V6WukjgYea5VDiqhxKpdQch7bV5PEul8s0sE8PrCYqL2SjQ04eWlOk1exl\nt9WmUi6ILIlLp1Yh02UQwzmd8gC9v7+wXXb2ts/uuizbr7NSfXeipBIeIzuCZAPYYXaQpQ+0oHPY\nycApcwBvG+PJ76vzWxFuDyeOxxOvXr1gXVaWo2FV0/5lqSkMz4aRFER/QJGmj45IycEMRRmRfkui\nJt+Rhro0LwvgWW6L7FgoGg3F0BhpXrUxOREy2czBD3MOzjRx56i0ll4kpKV5e3RhWBL+DeH2cORw\nOFFsdiaUnBR+ebzw9s0Db17fs507Rk/BNkp2hOqVxNbs+RafbX7JZVUMH43X9x9zOn1uztXsqTz7\nYPSd7fHMtu2Mnh41s0JZjPVQONSKlZz5V6bYpFVpTRk9T/wY+ZUbY8tNj4wcvzY0v+IghOaN4bOT\nIwrLkgR8XWT2mRuiwaEe8++P7D3+0c/9BF+qX+ax/938Co6b0xwiHUg4TYPXbx6AlXZ5xzG/f4HP\nfvB5Hi7fpK7v8+4bv8wPff738y/83j/Af/VX/zxvR1qCFiss5TpUSfF0lNC60z0TepROFaNb2oWC\nwFsSbOoNZ2M93fHi9pZDNQ51Qc1YjyvVDIrycH/P23fvGPc76ehVcjao0XOZZVurCuhC7w3tig4l\n6GlZMsdKKsjZu5hVyEEX6nLDq/d/iLvbG16sL6aQZoyXzvuvXvDZ+5d85/W3sdX47Puf4eble6y3\nK0Kjj0LZO/ulcf9w4e3rd3z00Xd4/fARgrPW4HicIxMt2GfydFFqNWQ90B5StNk+OqPrgtR7mjin\n21uMPue51vQDke6UOpgT/+fEKYzer5a7q8CqmOdXiuTwlIqxULUg6khMblAmDz77uNPGk8ffuhZK\nOXHZCvePxuM5u/PC95wd6qlpjL4TfXB5POM9hwgXGSwL1BIsy0IplXWtLMuCLalh9HC6j8wt4U9J\n9VRvuL25Y11XXty+pC7G4XBANfn9ER0L5RI508H5Ae0Iuk5d1+tT0FSiPQRkmp9jzgGUVMJGTB/j\nFAnSAjS9dpITjuY3xeRF4koOJ/yaQme2iIlyKNlto0L2FYuyHBbWdU2Or1RqKdRSMV3Y98bdi3tO\ntx/z0YevuTyc6Z6nk7iglr3P3jvesmUudqEV4bgYx0Oin/P2Fi2vsFoJCbrkIInNd7p3RmvM1g4g\nDwA1zQEMlZwl6UlXjFAue6c/jfDKBKo6UfbQVIs9h8z24TkZvu3IKsgxv8bCloXR82suiBVc6OMd\nWoTb21t077w+v0XLhm0N5zqCbo7iGjmI4d2bD/nsZ36Yh95n947zcP+O4+nA/bt36M2R7fU3+ee+\n+sf4X375l3j75g03dzcMyQpBMa6DUXRaVpxHaknk7D3QEYSkn1RqtsbJUNpwzucNPiOU4xGryvGQ\nooSp8uLFgQ8+95LH7Z5vje8kVxZpbxsC6PUrD3TylDlBx2PktPAROS1I8neK1Uyk85BcS+Vwd+Du\nxYn37t7n7sUdh+OJ0oz7hweWg1AfC7fvHXHpvHjvFasV9svGUlf2Lb9ZYL888u7dW968+YjH+zf0\n7ZGtbVzsQu+DQz3gvdFDszWydHacy0gSSfzAdhm8/vV7usP7ZaWXHbMDZXa72PySnVEDjTa/miXY\ntj7tO9k549OcWgRQzf3lmQTTHZB7K+Q6jm9OLpC04F2/qWAE00+qHE8rUrLH+3IZ9CHZreZz8n7f\naXtntJH2sJ4zMKPlvpXIr4qp9cjt7Q2nwytKBZeNbey07SEPAEBLYVFjXRdOpxN1LSyHhbCYQ2EC\nxmDrF1pv89/fWz7/FAd2ZNuAzgHCXGf9jUC0409TaHKAwtWAPCS/U8eM2Zs98E52fkzbjuic3Dx5\nbUiofp2TF0ROCxqwrjkcIJozKpSysKwHii0c1jW/6KwsKOl7XA7r5EQWXn/4joe3Z9plRy0ntbh+\nktDpc4I5QSmV42lhvalYce7PH3O73GElT+Y2bR4RSXDHSNEjSXNNFXUtOXE9AmYPbW+dy2VLq5AH\nMYxxnbcYQrVC77nZcUVcKFa4tAtEQ9iyfAtlWXJQyPAN3LG2sNO4XDqrD17e/hCXX9/SMjJycIRa\nnVPAgzF2TssC4dzcvZptjZ398SMez4NSKr/6jW8jy1/jK+99jj/0T/7z/PJ/+Z9wLEZjfjeQ/t/M\nvcuvbetZ5vd7v9sYY17W2nvt29nn+HCOC4gNGENFhIJAJaTAlCJVLKxE0KBBC/EfQJOuaaeRTlDk\nVhR6oZGUCClBJKSSowJUVCqYMhj7HNt7n3P23us25xjju6bxfnNtV2GIlMgyq2Nr2WvtteYa8/ve\ny/P8Hs23sdYgtZGybmpraXhpJKk0Y+54BDStZoI4Uq4cDgtXN1ec398zDIFh0FZOrEYzhOB49PiC\nahvXr266r1pfr9YXFjnmTp8bKHXFGkixUF3FB1TErdPDO9mSbWqw8N4xhMD5/fucPzjDe4+tlrAd\nuPEWDgYfPc4Z9puJQQxnxtFiobXMsi5c31xze3vD4XDF7e0VS7phSQsihnlZ2O/u6Wyx6u9caiEJ\nOpvOlVrVEz5fZzARP80M06hRGl5Uyubc6+24Bawhi/q+aiukmulNtrb2rqPoRNkQphs/dGTiVePb\ndC4u5cQiNd1VhUqIOlQG0wgDnLEhBMfN8UiNSlEqRa2cNYFUreItDpXtV4wNeLdhu92xmzZshq0C\nxZ3Hmi17L1hTqCgDoLSEM6qmGKcR5x1uUFB1k9pdXFFxeSV2Tei3LBu/zcd379BEy/4iXXFXdb7k\nWtJivvVApqpOnrvjr/Uf2UdIunhpqVIdd7MRbZlVx1V74pLeiKYvPPTw8Bo2o5s40zfiRgjOstls\nGYeRcRxx1iuBKOuhaZ3BMWBQPt9xbiTNgcCJVShAFjBOHQ6dwBO65GHYO1YRQo440YNxXSNxrup0\nqk33EDkT46qZLs6S1qhwXhJiEo1MzpUcE615qlFDgDRdojhjkGI1tbAKOVrEWZzViAINY1PPvCaO\nBBoRJqE0YbAB4zakCO9sn7CPF0w1cYNWsH5w6sqqpwvLYGzg8vaSabNhubnCecMwnVFqphwzbz15\ng+XmwOHrX+Znf/zn+Bf/4n/ha+19nNsCq3YBFqDqa+gjdUkwVmqquGpQ3bNu6FNqSHVE0diMdV14\neXXFk/IGD8IG4516tmuiWgFfkFDZbhzN7YhJcWLGwJp01umyypJqq6TVUYpeUp0fBO1kvdRZMqeq\nDDBVl0Zhb5jOBzZ+UKfbMCo9R1aIG87DxGZNPGSkvYqsQVGGLIklZYiZ4/UVx/mS1BJLnBFjiC2D\nE0Z/hqnKnKxZPfRNoHpHWbJ+ThzXlzPNw+ZsD64gJlGKZbMdddTjlTamDjHbLzpNIzDdDeYkqGrh\n5MrpTh/bCrY1SrIKuqgOkYwRjWDxQWf76uvuyz0xVGlY8QTPHf9gdiuHw1GXrwlaRN1+uZFlxuUB\n2ViaNUzjxHbYMQ0bvB3V3STKkQ120FmtrWRWirFIUadbk4IPAw6Hb5aSC/lUqORMy0pAq+Xv6UwT\n6SFZdz+fOgyaaCWoriClT3N3WylcNiZBYqF1ISum4Tps2HWFlo6aNGa2S167hks3cIVKNeofdlZh\nDtI028d5Sxgs+/OJadqrjtFoBoqde3RGUslQKklv6Vw4wZGbvE4/zK2oyrp5gtsx+R1TCNigyyuR\nQsxJt/ZLJSZ9E7QsrMtKyqsuSky7A8giEbGJWpR2k4tTDmHWxcXrWbGnpEyNQop6SbUCcS1amlt9\nbZwoHCVWVSzkagnWUMUxsiWII7cNm+0F66uEkw5wreC869pGo1HJphKCZ5y2WoVSqcvCZr+l5Myz\nD56x22z42p//Gf/g0Rv8V//0v+R/+Of/PTkEmmtQhdKxXsYUjFSVeVV18ogDk/tle9JoGkGauoOs\nsVzPt3zt2ftsxu9hkj7/kaa8gyD4yTIyQBQQ3RLT41IUM1gpuRGXSkr6+doyyaQ7HW6tpcdJvO6W\nStKDywendHqr9POCpaaFbbDkJvy4e4N7a+DcT9w3AYwQpTIvK7Oc8X+t7/PR7XNujrfUZkirLvhy\nrXqpmRulU2WV7RRRDmVsC5nS/45e9Ze1cvvBDS/GAevvs8aEn1RY7oMCoXWsk/DekrOhFqPmg6Tp\nnCLd107/9UXu9K+mGorM6oTqCg3bVLLlB8846Pxd7xYtairaPRlrcALDIBgzUGMmL4WYViiJlrTD\nyAWS0UA6v6E7fYI6sbLR9FfjcE4BIPr3qV1t+FqLLKKwYrFJ30cN/bvGQkyJuKQOxLF/59H13Ztp\ndlfBqY3WNqeTb/rMpIOsdTrfK02kUpKhdIFwSXRBr27VSq5Iy9Seoy5NEyJbvROVUKRiWve1287x\nFEczSiy3HvxgmTYT27MN3o2KGUsKBcmxMK6BKY5s4uaO1g3ST2W1Iqa06OwxeLwdsAw4ExjchA0W\nZxulLpS8klMhRo3CyOtCSYa0rJSTfdScqC0ZMYma9WbPWR/BlAo0qy16zrTciEbjjktUgIG3VgXK\n0jiFyRlRupK1SnhxNuDMhLUBa7eYbHnw6IKyWDx7xHxEWTOjm4g10woKOult2zyvuOC5ubzGjBta\njkzW8uryFTUlHj96wBJX9tvMB1/6E37ox36G+//b/8jNEClOFxDS89RrLd0e2bBapLD2zWjlhOzQ\nw7vQ8M7gnM6xrg4vef+F58mDM7y3Pa4WsJZpPyC+4qJQxTBYi3T/sRFHyY2SE/MSiVEp/mldOKQG\nvtBM6iqP8vq5pFE6UKRVJZqvy8xgLRbLRZnYfCTcT9/DVC2JzM37H7B6SxHYuYFxN7ELZ3zv/glf\n+uAveGAGbuZKapZYI82IitPXWxpgm7rLytooR0OqhbVkltyQRVtrki56Pnr/JdP5xHDuqXXVgz5l\nCILYQqPrjBXiRm2nw1SzwRGj0SFND8ZhHMA7ciwsOWGDskpjKhzXhMSFdJOZRs9uF9gOk2o+OyRY\n22n9G3svCI7gJ4ZQSUtiTUKLalWt2WqFLVCvIZgZbzcIXuVqhm5kad1YYMBqvIzUih8HctKteLFV\nx/xiaU3HW3FJzMeF5Rh11FW+g4ugd999l7OzM83Z8J4vfvGLvHz5kl/6pV/iq1/9Ku+++y6/8zu/\nw7179/7G175OlNSbrJHVR9zpJpos2a1xfQcuIrgGjUpJFuO7dMQ14qr/L+8btVq1OJ4KPqldSdJd\nH01Uw9lEgQp9aH0X7Gb00LRGfaw+iEJ4s0Ir3OIxIeCCxzlPGAaMtZ3TWDFOISRYj2uVYQgEO1Gy\nJa6OtDpdAlkV6qYFak6QTNcjJtZZ9W1VNN9kjSpPkl4VlmKp1ai8qTVsseSi1ViJ6n/OUgk+3AnC\na+1hal23ak19DZ9wJwG/J4wDQ9jiTGBqgfUIb5w/oBwPpNaIWTAlUoyiuaydsHgMlhAiYhWovJ0m\nlqWCEwYvxPnAMs/s7p+zpIS/PTB88+v83D/6z/jn/+6PWK0jsZJboqRIMVEF/6iQvORCzoaUWgf9\n0mVDMA5CmCy4SrADYhu3x2umyTKNI6hXgmBaz6HRUUtqeoFaa7E24K2CQYQ9rQrLvHJ7ODLHhU0Z\nWeLCXG4xJkFLOkaSrhuVSklJM97XSEuV+fLAxa3jwYeCuy0cb2+4LZDXqCvLWQ/cZ/kV/iPL2+++\ny/c9/h5+4KO3uXl+xY0zxCVpR6axkrQmpLqSciJHS02ZWAbmrAtJyR3S3XkCCUtd4OrFFQ/HM5oz\nHOOqxPKm443aL9ySiy4N+6IIUR2rsV2mIxZnjZLWq4XNwJALcU0cjwu2CdNk77KominMecUNgc12\no6yDlElrImW1DFNs/zcrwUAwCpyJUS2STVYqwjpXYm6YfKlR2wnqturys2TCoNI8qRYxuduZNdrE\nekcq2n6nfpaczqHjcSHOibgWUhJS/A7qNEWEP/iDP+Di4uLuc5///Of5zGc+w6//+q/zW7/1W3z+\n85/n85///N/6PU4kZv3oOSdCnxudQLP1TsogTdl+NMHkRk4qNA4SqCYrDKJKX8a0u2zj/gPTR9HK\n6qz6uRNlqVUQr5xJgFpXWvVggjobMD21TrOAELo9TN90rudoG6cVjLGRXArjtGU7brStzUJZofju\nUCpCOhrijOaxx0ZaK+sSaTT9Xn2EscwrPnh9fcTTTg95s0rYKfSZkA7Sa4/EoGenJDTATBoqwDf9\nEO6vs8pLBCtaDQ9up5KvJhjjGMQyGk8LmbYqbanagmGhOYcxuvAyVqt2kcJmuyEVsK0xjXpYHG9u\nGaaRq5tr7t0842d/8rP82Xt/ydfSh+SSya3orLaIuoBSoyyVtBby0sgLULyObkzDDuC8vaPpYDQW\npKyJ25sbUkyEweKCUHGEfpkMwZNbRw6ekgC8I5gJjF6qwzjihsBUVtbllmUNuBlSOWCcJebYyVkC\nRRcjKUdiysiHkfuz5+0bwVwduKwLU9OkRusnrOjfJcaVIJ64rnz5L/4d319/mB98+in+zasvs66X\nFGuRJp0/UJWfWbqBoSVNAfWNMBmW65XctG03RSU3tRsv1nUlpoStXp+JpAckXWwOkHOjVas6FG2a\nOiZQ7Z4h6ILUOafs0aIFScqFfdxwezgwHw/Eoh2QGMFbr9W5JKbdRE5WUw1it0hK6amf0iNQFCNX\ncyPmiNCjb1rGtsIyF25upG/3E7mMrEvGByEEh5/UVolJ+NGSOvaN1rrRRTPVQYXsy7IS55V1jeSU\nKMt3eHt+8u6ePn73d3+XP/zDPwTgV37lV/iZn/mZb3tont6s3/phbNOZAkKp33LYwWvBqVJU+x8d\nshSsbRQXkbU7Tq15LTru3unW5yxqdQPQf79CR3wBVlP4bBfcGltAMrlGyEYPpZyhFRoJPXVLt1bS\nZUfqMDLG6h97njFiGMcJEU/JaArlbKmmcZyPzIfMfCzkJTHPmbQUzdWxRl+HouJbZyykohCPTnCp\nySjdJau+sOZKjZpPXkpDSHeD7VrBe/Martv/DrXWOyzfaRZk7cQwTDRv8VVIMbPcrNTrhZVMKIYY\nMz4YzWfCd7NMxroADY5x5d75A24ub/FFBdvkhB0t8zLz8Pycj97/Ovff/FF+4lM/ydf+j/+JabAc\nY6T2A3NdM3Ut5LlqJbCo2L1mBT8Yo8utagHJONFlTy7Kxb28vmYcItPkGEZL9pZWR3VWiWpwDUo4\nz7lSKrjB4MWQe8bMtJ3YuZFlCdwebjAG5iiUfGCps87aa2XrNXfGN4t/duRxGfjeFlhc5mAaZ5wx\nS2UYJw7zwmR9lxBN1LyqQkwKV69eYt/c8Or2JZoHRReC96F8Fc1Ql0IVD07hNrEmTFAgS4eIdcfd\nCZD6p0IAACAASURBVDoNa0yEbGhJ1FhCz0/vmVf6uqMSoqoXrHilrofRM00j3oZupqg40SXMzjpq\nbuzTxHHZcnV7w7zOtFqY/IgfAlI1Q8iEgSEMuGMk20ReGrFFSk19G68W0CirFilNM6tM0B2GNZZl\nnSmXmeNyrQzXcSCMls12wE+DBhsOhtCEIXhFyrU+jhO6wSF3t9JCXldiWslrgfU72J6LCD/3cz+H\ntZZf+7Vf41d/9Vd5/vw5T548AeDJkyc8f/78237ta1be6Zv1P7DIXctzIhrd2d1EKE3FxQa135mm\nby6J+i6pJx1dVt95NjrrFBFqUjSYc55SFbTbEJWcSMZIo4lDpCAtU2RPrhXmmep6NOs6M6cDS5qZ\n8y2prORYAX2w9LDUnJIGhOBZ40KxaMpfc8S1YGRFjHBcGtc3M2kuxHVlXVeVt1RdfkjVw9qIoRjd\nIOv87UQ9cuS10LJmFOWssaynJM2c1v6Aa5a1uKAxp8WQ14R3iSpCjJkmVk0CywHrrxiGDZs2EazD\nJmCtuGnicHmlrg0nHNZbgjOUYjRDSCZSg1YL66sDh5eXOGtYBEzVWNpcDdthIObG/uycD//ij/mR\nT/ww/3L7v/OX6ZZUEsc4M8+FNmfirJKpnKXbS4umI3Zhdblr84RSBEkD2MZcBSOZeT1C81hGbDVU\npwsHR0XEkkwiZzU9uGYoxmgkgwjWgbc6F7fOM40T1hnCYpkXT8yRVBe25owQduzsxIOD8CO7e3xc\n7rHUxHqzMPiBYhrBGHKMnE8bWhWsUe5jEcveTxxuEzfpmrfDW+yGLeG4IGsiUfBioTikQnWQS8M2\n9Xnr4ee7vrLhTO0wDkHGwjCNWGewZFpxd/nnxjqtkpshlwIUvPEdmA1iqrpovFM1iDW4UQEvKmwX\nRJTKXhoEE/DREvaWnHfknDEoE5QMGGEQHb/JJFTRzitTcK4RPKSTWcVrp+hcn7sbcM5SpFCaKIz7\nNgOXuGDY7LesbceGQMaTimVNwuId3ulyznm1YueUe9RyJMeiFW9s5Hmlxu+g5OiP/uiPePr0KR9+\n+CGf+cxn+OQnP/nv/e+vqTF/80PUmdXlHHInST+146f5+ikgS4QOF+3kI6NfUUrFVukar0YxWpkZ\nV1WqYw0l65JCNYB6sLSTLMk6rBXls58I8U1L+JRXTLLUatX/nArH+cC8HJnna+bllmWZoViMBJp5\nveVXH6ySgmoqLMvMZtiQUiQ3bcucc/0Pp8No1ahJH1r3oLc+kC+iW2X1vBdUK2UoTQ+UtqpUKcUe\nW1o1N8VZXdJ4EUarC58UEw5oXn2/YswdNCWiVcmRW47+gN84gqn4PGKrkHIilcyaMmEwTNsdN8st\nU0uEOoDxiHVs9+dszy6IaWY77ri6ecE0Om5vrrm5veb6VeKNh4+Qltm9NTGlmf/6P/9l/tv/+b+j\nlMIyQ1qgLEarqtylUaJtaSlZ27NiNPrCKoW+iHYh1itGLFfUd2kaDs8YLC0LJVaKqVhbiKmwxEQs\nmqMtxdB8xY2eWqF0o4A0dVtJM+w2e4ILrGVFZsuZ3+M2W+5lwz+e3uZiuCAXmDtb0tlBnUbe9+RP\nhdUogDnjXGBZCyE4lpLwBDYMKtGxFltQJxuCcQaKYDyctJPQKDWrFdkaNYJUARzOC2Fy+NFgBw3P\nQ4yqRlrvztAMoFpPIy3N+LHO9feqUEoCRnJdGYYRNzjcCZhCwxudt4vZ4LxTYlaHd6SYVKhewVbB\nWc8QBuDAvC60RZdR08ZTbVWr4xhZDlFjqF3f9tNwOEXxlUbOTQ0RTmfRy3LEONXLRlJfZilL1omn\nlKasziqdnJXJJVFqZZkzyzFRv5OV5tOnTwF49OgRn/vc5/jiF7/IkydPePbsGW+88Qbf/OY3efz4\n8bf92stnrwDtNqbdyLAbUT3layvWa2xXu2sjT8sjWu6pg1p1lOI07a81Vgq+GcV1me7LLk1th8Zg\nbNX5lxX0+hMQreAQIeXMklaIQpOgiYhZWJaVNR5Z1iNrPJLyrJj+asA0Wgl3F0XL6qbQxVbhcLhh\nM20VZpwaxs6a19wiKa+sKdFK1SqqNUrJuuHsc9fT5VOMEulVGpMxTbFcJXU1QtVWrhbNvs654Jpm\nzojoaxKs5qUIQkmZbBO1VWUmjlsMBmlHrl6+oK0Jxj3b4QzTImtcwBnScSGnwjhZvudjH+ODZ89Y\n0g3jMBHCfVJSSc5mdw/xgfvT2NmNG26vn2N8YH9+xhoLKcPh+Ue8/R/9Q3783U9z/ef/Nx/MN7QI\nu805t7c3Cg2WqJiraoAeGytqlz3NEyv639MSSbkgJVJz5tg0B3232TC6iRIrkQhtJRY4zImr2wNi\nMvv9ljBqhowbBoLPTKOCoNUVr4F+Dstu2rO3E/th4o068Zk3f5S93TOvM740hmYhBGpT6DT03CVR\nSIRzWq3pZWg41JlgGhu74dH5Y/7s+AxrvEZIVLUnnuqgE6mpIYjR7J1sKhk1SEgGsa0nllb85PU5\nNaghoZk+H9ffp5TC66m/3DmfWqtahRYhpqiyryK4ZmlOR1Kuazg1rNUQ/EjWLRclFfzgKKlCM0hS\nDTVFCFNgiIFcArRMzTAFlUs1Wxi3E0LpqLnOSejjqrhWrC+YqtCY1jKlrqpZbplgQ1d13Dlf7l6z\nlBIpJXKO1Fp5/tdXfPhXt+RcqPE7BCE+Ho+UUtjv9xwOB37v936P3/zN3+Szn/0sX/jCF/iN3/gN\nvvCFL/ALv/AL3/br7795djeiAdSqJiqmPX3uDlD6H1SrmvJraDZjUIlSqRWyg1qpNlNXOsFEeh4R\n1B745O4eDEOvb/UQrSpizjWyRGg2U9vAYi22GWKMrHHVLOaaMJ1mVNbaIxIKxkxajUiPR2hCSUJm\n5uXVM7abneY7o/zA0jJrXllTpKZEzYVcix5+rUFfzuil0cgov1Oquo5qLf1BquSiF4ARnWFq6p4+\nzCCkjuRqtYDXaly67CPGhKRCyer3jqtWx9fHW4bdO2zfHmn2QBZDrTD4wDzfssyZr/71e3zqhz/F\n+1/7K26uL1lyxQ8b5sMVu/MLzh89ZTMGrq5eYa3j/OyCZZ55/uwDLh494ZvPvsHTx+fYv/5Lfuan\n/xn/65/8MW4WHm7P+XC+YTAWPwwUJ0jSeW1PG1G5eYNWtQuJKSFkUk56yJSTzS9xc3Xk3v2MjBaa\noSZlBaRUSEvh6sUNl7cvOD/fst9tcYMwbUe2uy15u6FVheJmKqVlBhF2ZsO0sTyInp9959O80SZu\njwuSM1WUFlSoDNMWQQPdTprBahumVYZh1AurwWAKh+XA9dVLdkFVBiOGZB3WCElS15UqDCXVokAN\nU2miF6W601RGl2vEhgk7DVRfcWFg8K8XgLYrm2vTrbyzHim6CBWULGSD0c25reSyIPOIUEFmNpuK\n9VtCCORatGNzhULGi6cUNTzU0sPYGt262JSiZRvDOOjrmjLZqMSsxcKwV0K7GBX+16Yjt5Z7jIjV\n51WqoVWnQBJbVS0jBeuaOrJ6mCC9u5XqNTynRV0sp8b5oy2bzUg8JuIx8t6Xbv7Ws+//86H5/Plz\nPve5zwE6P/vlX/5lfv7nf54f+7Ef4xd/8Rf57d/+7TvJ0bf76J0sp0xzK2jVKGic6re056elDWiL\n3i9HGtLnMbpRTC1jvGCLdPCCCsuNMTin8y7ndYBtG5r/glXnUGl3ede1ZlIWTH9TeR/0Ae3i59YK\n4xheB2nVqJktNHJZFQTRFJNVWwKJ0IQ1rgoiMbn74BVmvCwzKS7qta1Va5keACdNBf1VDA3bIQiN\nFCPG+O4QUjtYw6hFDpVlqQhAgRi5rEjzlKaREnpfFBrSWZX6b+cIccmMPlGHLWVqTFPlgZ94hVCL\nUFUXDMZSa8YCf/rH/yef+MQPcHtcsEH9vc4Gbg5HLm/+kuAd5/strWbiqmg2v9lxefmCN54+4OZq\n5vw88cbFY/7Jp36SP/q3/4rnty8YmiV34PTAlmpusUVVB6XnydSSVVtZdBsc/EQrleAEcRXjCsJE\nKZlliZRRC6zcMrWVO/J7nBeOlzfUw8K6P+p22hu2+w2PHj1inEZtNaVhqWyGkdYMj2vgc29/miFO\nxDhD0xnldrNVa3ATmjgN9rJdPmd0gSc16xtZrRq6SGzCMkemYSRYhY2IFHKacVbI0lmp1K6RBZOF\nMAlpThSbSM4gTnFw45nHDgVnNeu79vddKZVq9eIsuWBFwcEVjc5Ver6WGEY8wWh4fa3CIR+otxnY\nE/xW8YFu0N/XFJodqV0dkOaF2hrFaMpqq9rV1FzJMeqi1SbCKBjriCWpzM/aHgtv+7Kykis4qwFy\n0rGPLVusCYTRYfxJQ5vIWT3nxkgPxItaYFRNXC3VkqqqTuJaybGyLJXj4TtUaX784x/nT//0T//G\n5y8uLvj93//9/9evrwKmtf7mPekoe0tgu9ZSTg4EFd2eYi8a+qZvBrJpOow+fd+iiYJyCoWyRoPi\nS8UanYU5Z7A2K1PPgh+LDve71ar17Jic9UAquY8F+qLKOxWA6sxRMMWyrqdZYqbQNG60mbufVcdG\nlRhvaWRSU72kob/Z+7ZTsOoRb4Kp+gJI36DrBqBSS69eOxbtpEmqFhpaVZ9uHenieDGNTjygWgtS\nlEcqXd6TpcNdoZL1FouWkhqPvu8cYiHmqhlMElX0WDu/Uyrb7RnvvfdN3nz6vdzcHkA8GcfZ2YgV\ndS6VmDnMt4xjUCjDmrCSuL6+5XyzYbm5ZvjgBf/sn36Wr733ZV4cXnF/u+XlcoOzjkomiNcZdW4k\n03RpRqVEyCUzjVu2W0+jMUzCvFzjAhgCqRRyOXYdaB+dtEYuCr8wRghiKSlz8+pW+QS2sRxXnHiG\ncSJ4RySzwxCmDT/y+GN8cvMIEK7jS9YCgx2ZvCcX5RAE56gYrCjg2DptH1VDbLpywVFMpR0q0zhA\nWpn8xG7aKyuyRCyQ5Uij6mLKWIokaqcRxVxUy+ks1hayy2x2I35rNZfKqYXRWM2JKj00pKRCSeCM\n1wVRq524btS/HzzGKQ6u5EJMl51PGzi8EgZZ1LwxeJwV8EHnzhQFbVdhqQkJVhdVNMRo3IwxBvEC\nnVFjQsVno+i5oFg5yYaUdVnVbKSkQkon2ZDRY91qt+qNJ4y6yHNWL/VTlWW1MqM0HcHlXCgRSizU\nYkml9aPoO7gI+v/3oRs/c1IS1ZM7p5OOiLTmOOW3tKa1daMg1moOcwNnXs8qTouYWjqUoOmGnW57\nyyYpUzM7hsHgq1Zj22nLZqsD7dyqQkAQ0mkrbjTN0fSwKO+d5ooYofRUTREhx6w57l0Z0HLpv6lq\nR0Gp1o1CKrlfGJrjLFYfCqnKkVSajkBVgo+SdwoUpz7xUlVKJOqNNlYlIkYErJrBDfS8JHUBFQGR\n3CUojWp6oJhUjCkK9E1eLwmbVTJSKr7B8fYVMS6opDFhndYgpVQwAy5MeD/y0asPuLh4yJoru90e\nZz23h2vGacNus+XcPOL58/eYxomSHMsxEpdCsoU1FW4un3Hx7k/wE9//aa7TNe9dHzkbd2Az2Rj8\nqkaD6xTJx1UjiaNqM59sdmRnGMbG7myPcUc2dVBMbavYo2ps1zJTo6h0pxr1xddKSbMeqE1wOIVE\nr7AsMz5/hJ82XDy8z2255GJ7n59++sO8u9sjJXJzfcAUFYV7rwsRjMEHjbSQvtALztJqwp26qqYZ\nNmK0NZ62E/EwM4yeV9dHrVBdY/RCTAZpIyUDbdWLtVlKK7SWaM1Sii6XmhfCzjE+DPidYfQBEUOU\nhvcN6W1+6TEtIpZBHN7qIsZ77cDCqBKe0tRJYIxgzaDPnLFQ4HCMhE3C+gDW6vadRnCW1CIpG1zp\nC9ng1NPuDFasVpmtUWyCoHsAK4YqOq/ORjBNPeKlQcqOtCzUZIjRYTE44zRTHr00jASs1Y37CYGn\nIy61S5vWcKicz9TW464bOTZiSbi/r3EXgMqMmm5rT4eCHpKtE8jl7gA6tes6gzuFM51sXv2bcXJm\ntDtB+LfmYnd0DV3NgwSHDRbvLWMYGEZN3FvmRVvp00hA1NPsumzhxBmsIvhaGfOAqZG1+5I1ykSF\nyLVqKJrOJAvFJppUnDV3bgv1wTYQBS93mlaXgABFb1LT3VG1FTQlSPNShEaNGTcG1UxKw9rcD0ND\nM5ZmAdvUTdQS1hU9/MTqDRwc9USir6LkFxrpMjJWi7OenCEdM8Y63f6LVn9Kuj5SSmO7vY+zW/bn\nO168eEkpN5SauL255HmtvPnWx/De8eLFR1zcP2fabnl5+QpjYFomjF2Yn32dn/ipf8KrZ+9x5Ov6\nppLGmhd29wIpZ/7qo4/YbM+5OR65TTMbO9Bc4p2PvcmHh29wfm9kGs85Jku1lZeHSwbXoMys9ZqW\nAikaDesSDWrLVZNQXX/YjHFsQuD6eMN8dWCsaoQYbeazn/5xfujiHuUYmY8R7zwiFes8pYC1jorq\nfo045XKaDtyutTsp9DlX6rkueIpVNuvZxQXXVwvbJ/eQJUPziDkieSWWAlUXh03oWe1dIWIbzQrN\nVcbBsD8bGTZgR8GNFuuUXytGSfO5RJzVwD1bDcFZpmGDsxbvRkQsRTLOWFJO+ny4/m9W3SmUWJmv\nFoxYttsNxWVyqXixGGcYx1HPsz6qKEUXvg19H5V0SkJVXZKxKqwvVcXnpWRqEciVFjMlVlJUMlct\nhdU1BgwhDIjVuBTnLNbyLZlDndVZirrJ1vqaqNRGhEhrSTtK//c0jfKu3UUPPsOp9VZHkMFQ4c5m\nCXoAKjS7VwlWv77vS3SYfWqbTw37yaqJnMpRxBhcCGqNtJ3ebNWiNgSLdxv8alkWFcDqH9dijMU5\nna8omEARc8VXSrDYnLQl6W6cRiPX7p/tP6PQML2i1viOhrf2bqEj5uTY0SF8rqj1sTWdX9am7pWm\nRJ2W1UV1d9mIuqfEZHXJGB1PmNAQV7HeYoyuVq3ROAzNZtLqtIpmN520qw92FwxGPcfjtGG+vcY2\n1UZiHbmCxzBtdngfwFQ+evGczXJg3OxIGRqBy1czKR758z/71/zgpz/F17/2NeI6s9tO2GCY14VX\nh1um7Yb84gVnP/Kj3H/ykI/HW00ARZi2EzZnnl29Ip4rmSlu93zp+is8fHyfD28+ZHSZj12csXGJ\nJw8ekWXDh7cfUBrMqK885VVdU6shNa+xx1WbMmt9r6bVz38+jki6ZTNtOBPLMC/88md+gU/de4tU\nF5a09upFHUk0i3WBhjCOEzElggHvut1VUFlO1bmzdO2d9JjosvYRSDDsz8552jK35kCuHieC9Y5Y\ni+bitKjwi84AFQFjlWsqo1FavSuIE0wAbMV5T+tFw5ISwTlcNUwuMEhg8pMCZazHSCCforbRrPOC\n5s63imqdaXjxpJgoa6KEggwajCi53bENNtsNyzFS69oXOI1CVzyU0hdbqOSuamc2LwstV1I0qoVe\nLXEplCSkNTLaAWMD+KZkI9cjgkULqVP6jEijFLW81pz10ExVgxQPK8ejkFflzIqTjsH72z++e8Fq\nRf/QRvSFp+mbvdaipp8mCBpqryiqPgyuOgepqD5LpTUK4ajVorSk1IGo3FWXTbRFo2Vq0YfYW0dw\noy5UGioaF314x2HC4Dgcjl3Ocqo6O97fCMFbWjEUEbJvNJ9otWeaoBSkKq0nJipX05RKaxZj0QPK\n9Lx2eY22o6n2MBjBmkqRqnlBVUEVJUt34OjiQ0zGjhMEtap5GxDvsR5wGnFsXL98pGCMvoFd4y4a\nWMRhqlVxdwNTg+YvDY79/XNcUcDCZjtxuJppAkuKBD8xbnZYv8UET8bw8OkTps0WFwIvL1+Sc+Lt\nd76P977yZfzG8+df+jI/+MlP8sf/6l9yPFgGb3jj0WPECkuJyKsPOcfwo+98Am5vucyVEBwfv3jA\n9e0NJjeePnjMzdUlizMMt41798953yjQ5HsffZzn5X324Yy2OXLEkfMOKyvz0VCiY8kZlwoHkxlS\nouWMlcTmbOA4Z1gjUhX6EHwgWOHt84f84x/9NJ969CbpcMPcFPSw3Z6RlswQBsRbqjNsNrt+IXqC\n9V33m2hetBIsmnleamUYPFYg10Krkc10RmuRcXMPkcI9v6UdLjnWiomOOFTWmPsyI2Kr5urUqOaO\nJo0weYwfyMYQrMf0fUFqakuMVbn1ZBhdIIhl6x0Wjag2VCQkrFU5W0yR2FK3fUY1VxT1cduxQmgQ\nJ8qxIb4XBkarXoBhGJCq7qElFZJkxDiMFFwTYp8n5qQzepXr6cHsciYvwrqoAaTMIAzEVthsiuaZ\nO/CmEJyG7ZmT9K91OI0ESrcdi6gKYlmL8guMKnHsRjBBL76/6+O72p63pi+Oge4F77rMXmm21tQX\njLa2xugGmb5p1LjYPutsmljZjOgyhdfaxtPGWXqkaIqVZUls9hO9dtWqrzXIKjo2aKyptUIzlsF4\nrDha1tK3lNMNqRKHU6UiGMToVrJWXQ7pz62pjjqf1W21c6cSWjOhRQRvnLYwUqmx53mbviGl9Vwh\nfanMqbrwDlyfMwaHuAwOqgc7GKp0XaoRcA0k60yYimShJQel4+SqajuNq4zTlsfnb9FWSJJw3tFq\nVH1pFkIYGMcBP05M2y1YYT9MGBFefPCclBPWGY6HI6yRRw8e8M1n79PSzAfPP+CNt76Hjz74BmFz\nRqyF+TBzvt/pDHK+4uzhQz5+cc6rm8jufM9977l3fl83tH7gvQx2O/KwOYyfeHRxH2Hm3v6CXWp8\n//13uLp5id8Zvr6+ZM8NcyxMmzd4P36ks79lIZXM4JyS1SXwYbxh8R4jjr0LvHlxj3cenPPf/NRn\neGN/Rl5mlqTaVu88Ka4YY0k0gvWEMJKStnqDN5QSsc4zGk/OCUtTdUfuz3SpHMsKtTH4wCEWpu05\nro5sZEOTGbd6jNsoXGRdsMZhyoptVrPcsy4BaxOs8TpOGnrEC5mExfcwOVsLMWdsFbybdDzTo2AM\nSaVsfa5ejWo9Tc1IyTQSSCFnPTiVSdmIrXC7Zvb7lUlGhtFjijDZAamewVl2O/WsewKt3WLrwhIL\nxo+43EipUPJy10bXIoBV1q0pYJJKioJHMJ3/adhsu9bVVR07OF1mqmtOSKXLkKqmfeaEOu6KMhpK\n1ahsFzSIzU/+7zy3vrszTbT6Oom3W+2HJ3AKR6L1tvzkBjIoubx/TalVB7683qCfZo5aHDZOoVld\nvEQzwuF2ZbNb2EwOcKr7bCpjki7dkWRUYA69OtPvI13Aa8RQS9QNdgcCtKri9CZFK0TRn5mTELk7\nnBS83K8EY3pbpUxRi+oIMbW3QF2bK3rR9F8S+kzIOoEeZdxsw01NF0seTeBEEF9ptkLPTbGilKSa\nKtYE8iqUpdJywTrHxcWOwex56/HHsOK6Hzjg3MqKWk+XVfPZU64Y59me7VnXSC2Z/fmZujC85WuH\nA1evXjKNI8M4kuLC8xcf8AM/+EOknBmsYdpOLGlmGEY2wSKrMJw95ixMyNYwhUBdZ0QM98eA9SOb\np29STOOtccNu2vPs8hXjNDKd7Xh2GHiQd7x9vuffvJrxZ3tWU4ntkm3YULeJOc483Yy8vLnlwdl9\nfG605tgbz/vXVwxhw/fdf8Q7F+d89h/9F9wbhOVwydoy2RmV46SIcx7Es92fY73vz6L056HHZ8So\nTW7OYBuVQs3qFqqtasY8jRIj1lhsCLhhYhMyqTQ2cUtKGXJDCBjxCJZWsorUq2qFQZeCdCq7cRrz\nUqjqdksNU1tnKEARRzKRwU+9iKl6mLSEC0G7upopLRLLQm2FXA7qkIuJXCprblwePM46tod7PKhP\n2J9tcIMWCwMjQbwK2YcBycJmrBzXSjQrrx9whYYbjErvWud2Rt3mi7dqTPAddejAhQaSlKVp0d+0\nFc1lygYzBE21LA2apZTKumbWORNnhX+XWjFWW3rrDcP47+vC/8OP7/KhCfpCofIL033gXfZvxHUv\nd+kHpipUbW/PS3cIlVJOFKveakp34vTWnL6R6/IbmqFkuL667TPMSpOJ3CrbUZBmsdbgjGVwpzeB\nCnPTekrb67DTpkQjZzUpsjoLuVGKUEp3bzQdB2holaiQGdvtXfrztKrbbGvVnaGhXU2jjI36rG0p\n5HKaX2lb7iw0WxHXNATTA7Zhg1KLijQ9OJ1okFpVhF5tCWkeY0aoCr1Qt2DkyeN7PH34CNsGbMvg\nKi2PtKKAjpwEpJKPK9Iqty8+5MP3/xpjG/cvnnDx+BFzPGKaxq2+9e7bfOO9b3B1q159Y4R4jOTa\nuP/oCfHmIx7eP4N2TsorZRgpV88oObLZbNWzVQo4S1kLj7b3cIOHs53SccxASjMPthuqcWw3W94Z\nd9gQaFiG9imeHS555Z5x9uAdvvTBMz795E3m45GXV1d879P7BPFsd3tu5oX74wZK4/H5nk8+fMQ/\n/PinGGWhRFiKWu2sVbCwYMi5Me0m1pjxTdhMIyVnpFYG1w0XosJv64yGltWTdjDjxNw5uBKVkmEc\ndxAdO+e42Qy4ecB7XbJY77DJY6rD2ULOq0qAqmDpcRT6pGHtQG1d53yKRM6ZmhuI4UDC1AysbFwm\nWIO0QVv5fEvNmTVHYlUeQGwZSlSN5YK6r1pmjSDGsqQETnD2EVszUZdMc43iCjFFsOrnd04Rc2Du\n0IU5V1pXn9RYWWNUdUZRPKDVNEGNRRFwTl9DOVXK6Pe15nU8cKuo3TJpNE7qsSKNfFeolFqwwTMM\nhjAWXPh7f2i+/jixNBv0pMZvgXoIdzOKk53Sul7CSX+h6fk8aJusYWv6/U4xF70gBAO31wnhQMqV\nNVWmrUJ9N6MneIcT3ZjX2rpVswe7Vb3JTy16y6XPZQVDwFshdXKQNPX4nkLaRITqdcZVa1R3UZ9j\n6u+r80UxggkOX1RHKQgEIdV29zUiaNC9z9iA8kOd/qcYAaswZDpyq1FxVue+NTVyEgIDtVpapBI6\nWQAAIABJREFUUo3b07ce8+TRA3bTlk044/F0TrBgSurrgIL1VhmMLH2hNeCCYfCedTny7OvvEUth\nu91z794FN1c3WGs5zkdKSazHa7bbDX/xb/81/8lP/KdctZkWI48fPuLZB99kcA9YXl1i6kIRw/78\nPrfXN6ypcphn9uf32IxTv0QNVgJxsbjB89GLj5iypw0BaY1pCGzangsDN8Zy7/yC4SgcWdk8fchX\n83s8vbhPPMxcPHyDD66v2JqBUCrf87E3+cTj7+dj5+dcHT4iV6f2RBFiTAyDh2QI2x0N6UxOtex5\nP1DWhDFe4ztST1lE9YGaDy5d9lPuFoFUNWPklgnbAak3mCxYp6JxCZZpGFiSJ1dPK0k1nhTFEXqL\nL04vbhqpapvbYsGKkFrPdqrQnG7zfY2INMiWZBuILrcKSllPdSHWrC05/b2W0MVKz7KyzRDXylwX\nXplrght64oAn5MY6Ry0ehoAzFhesdi5W319xSazr2rsvPUz1jQ00jc/A9ILGa4/qnLbozlqM1bHV\na+ePQnNqz3vWKpoukleik3UwjA6sLsbcYLvG8+9pe15rveM3fqssqBSdU7aqq55vdVB+KxVJ+v/H\nnryx5nU7XyuaBInQTL37uvYtjM5cMs46bm4iqVRSTZzX0JdNI1PIBOd0DlT7ULo7TkAlSLW34rU2\nagGj8mNEVMPYnL+LALbGMAR9YGiNWAspWWJe74hEDelEeSVP22Y6PKFSzWuqE1VlQTnnXnWrD99Y\nwViFejRBZ5nmjm+OGBVz1yq06vEmkIuS8FsuPLh/wcMHFzw4e8BmDNwbLxgZdDRSFSqB8zx84wmv\nXn5IqAmHo5aG854wOAbvGPbqsX/23vt8+MFHfOUrf81P/vRPsRwOLPOR7Wbk5uol/+Ddp3zlS3/O\nD3ziXdLhiufPv8nmbMtye0s8Lvg2M222iBg2+x3Pv/pVWNVyejHe5xvPn/Hw/mNeXr7EuMCLb3wd\nHwxj8JhmGYeAmxz1mJmM5fzBY4b9OZ98p7KsR17cXvIf/8AnkOtb2rinmcb5kze4tzvyMGy47x5w\ncXafZK5osVCs3rZSKtM0shxuGMN9lsMKrjAMELzrVaNjGEZqzliriZZQWNcF0IViijoOCdZp4JnR\nSnActhgLqUaVLDmDCZbNdqJJwiXLbrPFuMrgDYebW81CRyur0kdbrSmAV4weuEtOlL5V9qK5rdYp\nLei46mImu0YVhYAUGhh9VnMpGnpopetE1TByYnWS+6MW4eb2Fucsu/2OcRhZjqtqM/si11bDctDs\ncwDnBlo7kuJJDK/b7VbpqpXX73lpFWdVV+q8RqI4b9FDtmJtB4nzugixYvBO+gy5c28HQ0mJEDyS\ngzrbjGrAXY/2+Ns+vquSI+DuEKu1du95l9oYoFlat7gVHSzqnKgJtelsspygAuY1asC6Rq5ZM4Yy\n3Umk2+r+r2OMVf1kFY63ysa0UnHNYeqBOghl2ECnvKScSSmizW3oSZDdjYHgaHprmwZOyCjWzVqD\nd0q+DtbgmlMJBnBjjM4VzYKS418j8DTdjy5FUfCIN7YTiXR2pd7i3IPiQKQgUjHSidsVpHiaK2Qa\nvnmSUYBIM4ZWDCYL1IQ4x2bjubefODsfCGGiBRi85+XhBn9defzkTUJwvHp5yW67Zz2uHG6uiWui\nUjCtcn7/PuZwTQMev/kWZ9s911ev+LM/+VM++ekf4qNnH7DdDVw8vuDMGNK4cogL5XCrm80mOF+g\nCXPNjOOGKrCuhfl2xo8Da0y8ujlQU+ErX/lyH9OA84Hj8dD5pQHnhGff+CbzfOT83j22Z1tKK2wG\nz9n+Id4HakvM2wopsd+fU+xAXiqExPm9LZvBkOIGsQutedqyYMUQ55lhs+sXKQQ3YL1TBkBc9Fkd\nJ4IPCBnEqTzHW3JaWY4LKRXEZIpz+Ko/r1jLfn+POFiOhyN1qDgafoCxGoQJKZnaIjkPYCtlEmo8\n4moiidCS5j9oag9IQQnoJyeYGIx3CoNpWo3mDIioUcD2SA/XsDSyFHzQYMFWtJihQq4KIq5ZFSOl\nCMYob/ZwecUz/wyqsNtWSiqE4LHHSMtqZknHhXk+/j/MvcmvrdlZ5vlb7dfs5nS3jcYOmwhjmyKr\nSilRDBIJCZlRCeWgZMlMEAwZMgF5yAT/BcwYeISgBlWQVUqLQlnlkqoGlAqSxiaxwY5w+Ebc5tzT\n7eZrVleDd+19I0hjJFIle0sRuvecc/c5++zvW+td7/s8v4cYhaNprcTYYKDEw2KIYACVlrQXihDh\nc6Jkg9IOjppP0cjK6VCKJ62r4L+A0bWXrGaKRrK9cqwDM5ltGG1/vKfnwMcqzX/0mVfOGmqv8h99\nXlEOY2SxGVKqVbLI8fwjD60QQnst8w+Lk6pH+3GIDDvwaiJnTYiaGPck7yqVOxFTFE2oqlknRY5U\nqVqvlBHro9FinStZdj5rrERj4HDaCRMwZzrVyUBr1MQYqhxIgBgylEIGYkWO50ZrlLfkHGqbQZOj\n7LCHkwxoYrSYbOUGMZkSLCUoCV9zcqOWHIGMtgbtpKeGLXQLT7ds8b7BuYY57ZiswmmPdYbOr8mx\nsN1tMcajbcN0e43V4ox6+u4VpvOsViu2bcc07Gm859Of/gmm7Y433nmTvNthUmK7v+bkZMX1hx9w\nfv+CJga2uz06BMGwzZHOO5yzvHjxkhAjp8uHjBHK7RalFL5t2dzeYpuWm82OxssNM4fIZrNjs91h\nnaVfLhj3e263ezrXUHLidLVgmie2Nzfcf3Bf/PdxZne3wWnNG68/Zp4n5mEHRhP2E2gIIeO7jt00\nsu7PMdqhlMag0bFgtMVqjw6ZkieiEl1tSokYA2GejxswKMI8YxorJ6ZQUG3DZdyym7c1xniWa1sJ\nDcl1FhcVTaphazmA0hhdN8hckBRr6amrXIS6laXvaKyBVNGJlcKotSYiLR9t60BGIwuvgpwSxoh7\nCsS8IZDMA0ZRNvEUFSpl9nEghOeooon3LujHmaZtZd6T64YeM/M0EsJUr3+wVvqxWouc0FgjZDD1\naiCsC5V7K9e+pO4KmPsA0v742iLyv5gTqYj7KxdxbemawKlUjY0+SBN/yONHtmjqf9yzRGq4Ut+g\nI3mCQ4FZezG8cuSInEfE4PGwIGapzgyaVGVDpQgdCOoRP5WjiPyQy1xSZthEWpeksiuRkAQG0ThL\nDHPNZBf9qBzZ85GiUoo6vi6VJf85o+QGsharZQLsdYNx4sFl1tTEVA5BTyDiYTnO1ViNUqOMNYA0\nqmUn1eQKtIgpYrNIgVQpJDLGGrKumlFAWS0kJguUQiLgUGRtBGSiJpKNWK/xSysAidDgVcPD0/t4\nK+mK67IQx0sSIbK+9eSSmELAuoZFvyYXzYffe5/F6ZqT+2cMl3tWXcN6/SaTUcTL57SrnpvrK/Yv\nX3D/8Wu8eHHLul+w2Y2c9AbXOF6+vGS9PmGz2Qhncx4pwHK54GZ3zcOzc8bNljnDFBPOCZBiux+5\nd/+Ceb7m7PSMNBdu7255eXXLerFivVrSdC0fPr3CacP2bsucAsY1nJ+tefTGJ0SeluV9UEmTciHm\nwmK5YgqR1fKUNBfZ7IxE4BqjccaJ/5pMjjMpCyE85UQMs4Cmwwwo2rY52nCLMjTOYxcL7uKeq5uX\nwgUtmWkeIEbmKIR25zTBadrOE2Ni3O0rdLoQJ6kQS0lgBfAr38NIrG6U662WbsJIKEUifhUQ5bpT\n1eNOEi11CK84rZJBZCtf1EoLqUZWlCLAmTgmri+vZNE+OyPOcy0KshRAsTCPI/txT9FZ7KwpCs0I\n6iQ/k5Wquus6NM4ch0EyAINMwRxTGsqx1RdzrJWpQmx11Vef00eSVDPGWKhmA6V+UBH36vGjO57X\nKfehsayr+FBRE28r6qtUVwzIjpiPlkRZMGUQJNNI0ZfVxVGlSjupLYBiKDYfK1aDOmorD4L6YZtw\nZpDQpghqSjAVoq9asaDQyuBs4BjXiyzS6bC7aVCliC895goIsXjvcc5KE9xqnFEoX4SkREIhUoic\n5NicsqC0EqlGlGaKjihV0KXukC7W/qYTF1EoqCiIrJRmitYYbckEjBdbpvYIlVtr5O4B53pwimz2\nxDzifSGXPaFY2nmBCYqzR2s2+y0pBzbbDfMocqhp2DHPE8462sUp1ipM0zPFkbOLcxbLjvNlT0jS\n/nj3L/+Kd/71v+LqTmPCgEmRxcUZN7fXvPapT3L93nuEOJCKoNTGlMnbLVOKdIuWq5srTk9PSCQu\nTs6YNgP7KLa50/MzPDBOYwXxJprGM44j05S4urpmmvZ86lOfZp4GXly+YBpGtBN6eVYaUuLi4h4F\ncb3EGNDKMKeA0oaucQzDjHONcAy04N+sbzHGVtmcoTEaTINxHh12cq2VhHMN+/2eGCN93xNCkHgV\nJe6tUqDrFjx78X2ef/ABru+xSq7nmGchUmVJUSQrrHJ4l1ktLDfzHXk7Q1LkFEhKYZRU3toqSTyo\n7jsV5BBDko3VWlX1xCJbK1lAMamIrTQX5BieM2VWFewKqjipdHMtbogYJTlI0lYJ3G13GGtoYosE\noxzmAZk5jMQ0H2OS8yENU2URmpNxxcKhaq5/yjmLpTkXQowSeVIymYCr8ORSCimK9KpkGf6QX7nv\ncs51eGfr+iLfI//Ak++rx4/OEaTKUYIDB+2lLHBCUBdZDXAssQ+7wLEPWiQQLZcsLoBUyKYQFEg2\nckHqPYR9WX8Xh1+MbDIZrYAogtj9JqOTw3owLjK56tiw1b+qEyobcpHgsJTLEXKc0qGdcPh56xtd\nbwaZ+CuU1TjnUEWmfzEXYpIqIcVAzpk4S7RHURHbFWleV2C7OC0K2inKLIMnEjArspLdVSI9IJUg\nWLxQdZsFsArlEsYVos4YPeC1RRfPdrxjl7csWZLuAovS8PjkIXe7O66vrgmDwD/urjcEZSHPlJgY\n54S1E9ukefjmms99/qd57zvfYb67YX3SsupaQhgJceYf/vIv+G9+4d/wja/9B9rVgqurS6ZhYtUt\nuRkSn3jtNS4vn2Gd4/ziAc+ePmGeRjmBmIauW7PZDjx6dJ80jnQLz24/sV6c0FvDkw+f8Nrj17i9\n2XJxep9nl89ZrxdcX1/z+puPuL29xRvLZrPj5u6Os7Mz5jDTdT3TMLK5vaZLgYQn7AdCgnEcsbZh\nChPWivrBaiuMQ1176El6b5TCFDOuRFrvsW5N42e2mzumecD7BmuFzwoCRlZaFqjlssV5zwfPnvP0\n2XMuFhe4zoAWlF0kiFFCCYQ51GhapRR9t8SsHbt5T4gVBKMVKsrXG62kx6qUXPPUggGJulC6oJU+\nXmdy71WIlqKqTwpWNWCM0NNVwRpbr3sNCKwDJaAsZz0kxeZmT5hmGdQkjfe6PneqqQvpeKzWRr65\nqeAZV4X2By01B6VzyoQoziiVEsWIYF2pQkkypA05o1MWTW1R9VRXYR4cZisHxY3cqzH/mC6ah8FN\nLq/iLOo7I4vdgbhxkKRXMbfi1cBHURfUA5XZiCDWR4EelMwhcFIWFV0X6rrgVqm7INiQ4cM0RAiF\nttMoW3CNJgWNdWCsxCFIz7TKepRYOEvtm8ixvL4ULdVsmGe8d4KoU7LQowtWaVAGby2N9xLsNUvM\naB7lmK5cpiB+3qKLQFMLR+WBfA+FSjWHRcvxPCdEC1o00ywyIVsQITQKrWTCi7MoNF5bvFdkNTFM\nI5RCG1f0vuN8dcrt7UvCPLPd7RiHQJpnYg1cM1ozTyMxwGq1wBL48L2/5/VPvsl62fLdb/8lq8US\np2WzGO5u+fP/5d/z1ud/ir/+iz/nwcUFm+sb/vav/4q3P/ffcnX9FGMbjDHcbTaM48D1zTWnJ6cY\nLTIVUMSY2I4TyljaznF7e8Pq3n3axtM0nozi5m7HOAXWyhJL4fziPjFl7u62dZIt/dnVeslu2HN+\nfo9xtyGOA0oX9rsNBYX3PbFkjLaUSI2BkBbSPM1oqzDVLjmXgjfilx/nGcg4q+mXC9JmxgZLiKn2\n8CyHzDRvBTeXyPzlX/45T29eMnYzTetwrUQ+Jz3jfI01JjCHVI/+FT1HxjhHCCMxZZhmisp4pbGA\nLRlnPUolChpTYEaOxipp8ZhrOZarUiQnqCpIYpLXb3QrfdaiK9owixWZOkDJNeKjEZyeM1aAJFFm\nAikEUpTFNsSZnEWPmVJ5JSMkkUqRHKIiyo+SpS2WDjdYdfqlGsNcRDZDKhFbZGk7LJwciiSqSaYc\nrNnyvZRSQrSncDDq/VOPH11PsxyqSFV1VQg44qCjrLuJPF5Rjg7H+bruHJ0/iXR0CxVyhVBUmYKR\nY4fiEJdRq1qy+ItTRFUQRo6ZMEeICtNoUnSklHA54bOt/VQBuiot3nKJGJXWgNa22tEOPyykaSJo\nQzSOxtZe4XEQZWmsY7YB7yzBmlqBF+Y5keeCDomSJSMFPVPQ1RoKRjt57cXUhn/15FcBe0GsZDJJ\nFN8zUegzmoLL0ghPJoMyqByJ88CoC4vwAKcdsUwsuyVX5oq+7xm319xeXaJoCHMgH/gBKbEbtpxz\nxmq95sXT9+HBPd5656d4/zvfIE0z69UpJc682NyS/tM3eOO1Bzx/dokFXBtRZUsumq5tmcY9BhjH\nPSFNDPtI5yaGaWCxXHJ7s8F7z+WzF9x7cI+SLeM00jRSCQ37mfWiZ5w94zhzfv8++ylinUTC3m02\ndG3HFAZKWYoBooDxHTEENpfPKRZ8t2A/7ijKyDG6gkpiEqG3MQ6jLeO0A6TnOauMVgJoJmZ22z3e\nGZq2QSvN7V1G61F87U3HOI+c2BV923KXJt77/hOur2/Z+z22c/he4zpDthHjFV3nBbxBIodMjBai\nQxdNmEdCrKzMHCkqQSOOGacSrRYzSCajkifmPakkYhIt84GiZbIWm62WdpPFoaNmziMgRKyiD/1F\nK4VDKaLcQGOVxRSDLiL3keZjPX7HGo42SZ/2oIDIOWONxFeQZHIe6z2eD0NhpK96bI/V1hx1tqCQ\nVFuQhfEwbyh1iKWMrprqKh1E5hhay7Nr82Mqbn+Vt13qBFt2NGp/88AaLCV/bGj06t9RyeiH6boS\nEraWX5pWhwGRSJmk5M+QVfWt17yRGiQlRHZAHdItFdSduyCykhI1cQbrFNkdFmQ4tA448Pp01YpV\nNBwqEWKQiiBGqHEDugajaW3w1jGpiFHi5dAoSkiEVFBBmJqlKSinyCqi1KvAN61q37dWwClHYhZ9\nKPXn0VZhrbgojBNXhjLC8RSQsCYVS8iFOW7QU8PKn/L47AF3l9c8fPSQftkTrOVluSTMU82sBg55\n3EphlGYYJvopsl4uuHz2lMvnT7hYn7FJNzy/fEbfOCiZZ88+AC2SGLdoSHNks5/plmvStK9V3YzC\n4F3LfphZX5wzzxE9zJQ0k2oPeT8MeO8Z9oO4QQrM88RtDOKAiol7D14HJTn0z5/eYGzLNO3BKIZh\nkP6vuqFpGqZpIhlRLNxe34C1LBYrtDVstnu0abGuYZ7F1ROmrbA9jWGkYIxo/fpepEj9qidOEyXB\ndrdn2O9o/ALvWrEMpMTJ6QJyYZgC733wnMu7O5xzaFNwnaNdGfyyoJpCXHd0q4Vs/AppHxVHs7Aw\nOOJ4K3ALZ1A6Y3SpqY6gTERp0WpqbZhjBcUoI06zeurKWRYQlaQXKC4mhdctkVxpXZBcgiynrZIL\nRclADJDqsDpzBOv4SjM9jfNRUVCQxAKclTgMkHUAKY5ShXfklOramytsvLb0ULIgV53mEdgjq42s\n7kjvOINQ7KuOWhuH0kl6vJQf3+k5HBbOTDmYs0uuOLgiQNzDVLEucB97lI/8d6hCCzLhlimTTNGV\nvJFaIZPAw/EcqpRH/mFOUvpLT0QGSHHO6KQga0nSCwnrCjmJE8JYLUiwKi0qJVUx7qufOWVJT5Rp\ntxytS90YY4likVTIgEhpSbA8euULKUZ01sxFKhvTypEJVWnrSZr26EKJSrrvSO/U1ERO6zTag2uy\nIL+0COad0WijqbJOUimMsRCDbFLrk4aTbsEwBi6ffUhjpO/WdS3tYsk2jcyzBFN578kx0batVK45\nsb3boYnshw2Xc+DexRnjtJFoBQPTOPD8xQvefvsdNlc33HvwmDgnQghcv7zk/sWFHGORPG5jFM45\nxmHA2Uam0WRiCWij6NqWZ9fXtMuO3VYyrMI0cXJyIr5+BfMc2L94xmZ3yxwGVB45Wd6TCtNZ2q5j\nv9virGV5cspwe4NJCbwnzAHintPTU4zt2IcEqUNhmOfAMEycrHpy0ORxR0ozYSeSNYmaMIwFxmHC\nWE/by6K3ubnm3sU9Wt+hXM8Hm0uevHyJ0p6cDMVltC5km5nVhFWKcVSYxmB9i9IF7xxOt8wh0DeG\nsoKUb9jHGWxmGCYWyxatQz1Wa7xzYo1FIi5CkT6hdhUEY1/dIyVFnLboYmRTNw1FaXKNyYgli/xJ\nga7tE+n1p2qNTuLQqb7yRCFHavKq8B68cyhlRKtr5FoupRC1lJQSAaOEu1nVMkpJhlFKkoSQs2yi\nJZd6T8rgU4YBsk5Y06Br2KG1hm7RSLZ6DbhL8cd00TxIjUReedAhKlIMtWcpi5+2mhhe6a5yrTbl\nNFjf0HpM+Lje87BTyoJgYiYZKcVTPdsf1tuDpKGkKE1sIMcoURlZk5CeobURX6TCi6Fgva6yBQDZ\n0XMppChSDk2d6EeRBYUQiTkR6psuTWhJSTRabiyDwhqDbwzOO8Is0R85QYqRFICoanWXKmBV1fgQ\nRYnVfmYy2hZ8b7FOgrGMtoKhsxFjLNZqvFckE8W3rjNzLAxDQbk9s53ZtXckHekax3Y7oYssXNp7\nulNFuYvsbkRKc3HvgnEaySj2wx5SpHWiGUx64Oo68c47n+XvvvUNcewYx9I2/MPf/h2ffPttbi6v\n+fRbb7PZTgxJrKnzJPaTaZrxvrC5u6YUGf1q12L0BAbmaeT2+lrg0SqzPGnJCfplj7YWbRQhDeSY\nmcZb5uGOOAdWi5VsirqwPD0lJFiuV+y2d2yv97RG0a869llhrKdbrEjKMMwSvqeLx1jP8uSUk3NF\ngyaVAHRMwzU5J5p2KWLwlNjc3qBsz6pf45y0kvb7iZO3OqY4sXrwCd77f/4jw/aW1dlpBaVYtBLI\nhhDQJUp5P+5wRdNYjVcJXSTuVlXsoTWWtN9TIuwS9IuZ3uoqERIQh/Wg54TOSbSdup5ejCIHkU9J\njnrBGY/NrYQJHgLZGoUmE7JGzXO9oxM5Qc4SVZyj4OhCzLWQkNNbmEdpsymBe2tjUDljrZF+qpKI\n4bnk2tssmKKw1hNyoqQk9xv6mPpgjAPycUElI7ZkdTi1KuI+cHnzkhRnHjy4II6RppW8oZQzRf2Y\nLpoC0BAUk0iMKiZOEtOIWnoVqtotRUx+LCrrwlkXSfWRj9XHocTO1cubqGNAo2rPpWo/cxEyelKU\nJLk7KktUa0lCK1JFILMly2StuFjfWKAovNPC0NTuOM3XSgshvsZ4UGRqqBIQMmg5yislvUgjdEUW\nbcErh9OWOCbmKTCOkvFcUiTPDiUbOdbV12IsJgvFSFVdZrEK22iMB+eFzI0S/ak24FtF02qMkwgG\nrBFpE5EYAmPWXM43fPrkEc5Ydvs91iomHdBG07Qe9rKgdYuWGAz7aUPftpR5R396j/0+sNvtBE82\nJ1TK/PVf/0fOTh+gmHGNQE4eP3rI9uYWqy0fPn+fxp5xcfE6c5oxjUaFhtXpqWTEh5HdfoNvV7ic\naZwjR9htd4zjKJRwZRh2O7a7HW3/QBiQIUIqdG3Dk/c/IAwDXb8mYzBNizWKaRbyz26Y2O129P1C\n2jza4eLMer1kDjLU6bqe9dKRkmEaA8MwootiSCNpDuQSyGmQDW2ScLxpmtBo+sYR0kTYzgy7Hc57\nijVMIbFaeP7d//m/0Txa4XAYnUUupAs1KU+ST1NiniKxbAkObKuxeJQS3bBzHmcsGkkXVSiGu8Rs\nPKpLoFVFDc44BxFFUoliSpXhyLfKKtNkjVWiKfZGQMRK16VDK2KJWKPI2crgNUFSkitOkUwrVTJT\nnIlzln6kkg3DWo1zB8qZQLJzViLfos4dkCO10QarHEolnLFkHUUnbF3NCwLRWpqjrpM6EKYoGVbl\nQibSNg3Ft+Tksd6hjSPlSfqp6scUQnyAGR0wb8fZuFIiaoU6yeEYaPbRQjJTDoP2o8Tn45VmpZm/\nmiVVRL98v3zog6QiiZXVISA0+Y+gvQq1qitErUizxnhD8cKaNxWHLFNosa4dgMkaRHtq4JWGA0pO\nhAmprq0Qk1QRr3u2EauMXOTdhB1mzJjJMZNjrSoz2MYKNUf6C7KxqFe9YmMV1im5+E2W66AUjC40\nraZpHd6DaYSAn4niFMmaOCXaRuI8rm7uWPcdhsLd3Z0MPazCOkt0jq7vGPeFxapH6YTThWkaCeO2\nciMLYZ7oGqH99E3L9dVTHtx7ROt6YphYLlbcXN+xWK9QOjCOI48/+SmuLj+gKEXTdljfcHl5xbpd\ncnNzx93VjtWZ5fz8gs11IsxbtNUVkjvim8T6ZIUpmWG3I+QgOdg5s725pW0ti2WPdQuZhDvHHCJa\nKdI0sugX7DcbfLdkyju6rmO/H2i7lXi3e8cU5PifS8Y7xbAfiWHG1XymIpGobMcN8zyhtWPRnZBL\nZtqNxGlHKon12Ymg0Lzj+vkLnjz/AN87mqmAleA6Y+RERFKQqZrDRCwTRlv2Yc+yPZNqwxictXjd\nYFVDiCMFxbDN7Lwck1Gi9TTagilYI7fGISNLGSeSKsAZI8d57VE1V0cAGEoKmzpdBxk2ksEZTZgF\nNkO1MYY5kWJ9fq2wXqI+DiqUgtDyrRHNqlzLhzM3KKOw1uDqghiTwgihXE6etRcL0oM9UPG1yseZ\niDUGv2jp+xatM86J6qEUSbmUwuzHdBCUq5ZLIUMfXahhSgAKmwAlFBZtxHaoaqbFEcArueflAAAg\nAElEQVRRF9hXw6GPZgq9EraX45RdKtlS4RgHyVNRUSjodU2VEAohtFMOQA55MyV/R1GiXJ9aFYGf\nZmHGKyVVs/hhM0YJRM4aJX3IFDDJCFiuTsCtNRQVBfZqFWhNa3raKdK3kbwfGUOFk6gkGdTe4LxU\nmqk6LFQtD7SSnVokaHVaWbmOxmqUVShvoSngAkZ7VIkURiFcR/D0LHpDmjOjGlFpZr/fkRIoxO9r\nnQUlWTSqBFoHbdfgGyhlJudEiDu6bk3Md5gMVi3o+o5p3kHxvPnmW3zn3e/yzk+8zTzPLJfnjGbH\n5uYFaIfRPa6L4Bpuxog/WbIcBnxVP+xToT/p+eD9K/pepDD73Z5TdyF2R6u5fnmDNgPm9DF3t3ek\nNNH3F8Rkmcuei3v3uL7b0/SWYb9DKU0aB5TRbHd3+EWPbXq2d7L4KevYjQN9f4ZrBMwcY8J7yzwO\nTHkmhBFFpgQRfm93O87O7jGFgF94EnK8bBYti9USrS3t+Rnf2wxk73AlYZtCUmIIVlqoXpF4XKSU\nEsfbHDNFz9yN1/i8RBdHzDOt1TTGMqDx2ZJT5Go3o01Dp6qETYFuwCiLs4qcEt5ZVC7YUslhGkHM\nYYkFbDkc7USlkkoiHtUwBaNcdf8GcgzEQB04zVUmJNerwcnwqZpQBD5RjgNUfcisKoK5s1buMa2l\n3YIyGH0YAqnqbKL+HBmKrnVXkfsBI7MLE3De45ykJuQoPx9VlZPSD1809Q/9LPBrv/ZrPHz4kJ/+\n6Z8+fuzq6oovfOELfOYzn+EXf/EXubm5OX7ud37nd3jnnXf47Gc/y5/8yZ/8c08vj4N/vPYqi6rR\nt9TFjvqi+PgR/KN//ygp6aBhlGrzFU6uZE2O0kxOSSJAZYJupP+Saxxo+Qim7vC8xUjed9LkkEgh\nSc7MfOAAFoTCpmsDWwT6KJnYaW3QqsKOs0zopykyz7Euyg5Kg1Je2Jna0zStOIk84uTxBdvKzSNg\nl1xTMevrTa/y3MmJynmqP4shR/m+ISbIM8YWrAXnoes6rOnRJTGUHWPZsxuu2Q0bbjc3vHh5RQgJ\nYxTDeIN3CZ1Hzk96lkvHciU8zv2wJZfMIVdJFmqDcyu6xQOa7oymXbFYnqKU5/33P+TRw4dcvnxG\nTIre9YADpRiGHXPYE5MMhz796bfwfsVifYJftAy7O9beM+4Gcins9wPGWsZpBuPxTcsHz5/z4vIJ\nBMUcM67rQHmysvSrNY8fv85mKFjXs9/sscoR58A4T0xxxvqOkh2XT58yzwPzvEOrTN8t0NozDxM5\nRG6vrnn54TO217fs73aM+5lpNzEOE8OUQFnGMNP0XiDEKtPeO8UvehrXUIylu3+P7zz9Pvcf3Wfd\ntjSLBu8U2kjYnrVycpAUSlkochBy0JQi23nLxJ4x78FM+D6zXlv6torFi6HMMIbMHCAmzRggBoNS\nFm0tbevr0EyKGWNkMYkxEmMgFSGfx5hkkJOkV5tCPA4Fj8jEOqwxWgoJp41cq2QUkZCmap1Mr9w7\nRR/RhyLaB6UjSsufnddoF9A24HzCuYixSf7zGm21qEMMaJNBiUXy0IpTyqBoUEi7TazI0stMWQox\n6Yv+049/dtH81V/9Vb72ta997GNf+cpX+MIXvsC3vvUtfuEXfoGvfOUrAHzzm9/kD/7gD/jmN7/J\n1772NX7913/9uPj8oEdGFsvDELwug/X/5Vg1fvSzr0Ab//ni+bHkSerRvWo+ZceSyXL+yFG+1GqT\n+nX1tCvJj/XjqiANaG1FxhRKtUhKtGhIgv0vIZDCBFW+lEpNxdR1YUNJZGrIzFMgBElyFMw/5FRQ\nVRohlHjJWG9aS9cbbAUMU48bh81B1WlYSZKBkqJQwXPI0pBPuX6fyDwLFCLGgNHgar6KseBcg7aG\npHZ8cPuEd3dP2OYdc4qgDa5pxHnSt3hvuDg/5/R0yfn5mrOzM05Pz1gsOmE/FoHGNm0DBbx3oBNN\np2n8guX6gnv3HrNYOJ49fcbJ6j7OeG62W+7fu8+434hudZplCOQcWmlc03N2eo/t5pYQB65vXorE\nqesoCJOxX52itGEeZ26fvc9ivcCt7nNyfkK/WHHv4QPWZ2cobdjtJm5vrrm++pC+cey3G6awx/se\noxfsx5Fh2mL1hM6Z8/UDUjDibppuyDGyud0QQ8A0kmaaKKI/HOp7W2QUvVguRZCeAv1qwfLslO5s\nLbT51Yrruy17HfG94/75fVbLBd3C07RGqqLDFVrNC5XlAsUQ8syU90Q1oWzCdOA6WPaaVW/wDkzt\nV8YkR9uUNTlpUqi5U5UmZBCpFfWkllI+XqspREJM1cGW5c8xEw+pkTlTciQf/PZRTl1Gyb0VQ5UX\nGTnK55q4KvzLOoStGtgYY03AkT69RlULMlhbcB7a3tItDL4zdI2l71raxtO2LevVkpOTnqYRZkLT\navqlZ7ly+KbgnEKbVDcIaWtIeOJ/IRru537u53j33Xc/9rE//uM/5utf/zoAv/Irv8LP//zP85Wv\nfIU/+qM/4ktf+hLOOd566y3efvtt/uzP/oyf/dmf/c+fWMsvIacCSvRb0piWX9Cx6kS/6k1KTX+E\nEGuZ4XyM2P7RBVVrBVq9qhrriqhyjf/MWaQQdVoPULI97mo5She5QJ2Ki0DXeEQXGgvojJssuWhm\nn9FZQ8hYK3176QZpjCiRoShhWNbc8hAKJY246pXNsdSpe0algtUG3zREBXkSUg6i6yUa6cnkXCS0\nqr5IATJnUjKUSRImFRBjFHCulvzoccpY36CPfv5MLIqcHMkpxjIxTBONkyHAbhhYdh1N29F2PeTC\nNG9xbo1SwqhU5oT9docqEll7fnZOTIFpP7Jen7DoFuy2W9K8JStD35+wWl5wcnpKVg7TNmw2L2na\nFp01u6TwVjbOvmnYDhNusURbh1WW/uSE7WYAApu7Wxrb85nP/Fdsdrc8+f57tM7z4P4bvPbmJ0gl\nMV9d89rjN5nChDKFEGG5bBh3E0+ffoD3La5bMgZxPWmVmLaJ7DpMo3l+9ZIY4cy1kgw5z6xPLzi/\n53jy/SfcO7/H9X4jmswMeC908aLY70Zw8NrZI4oWX/bJeoluFXGx5H//xv/L3zz/FtsyEp2mMy14\nh5kDcc6EFFFJevnaqio9VJALTssQc4pB+JxaPN6qUyxnTUqa3ZSE0IUmK1sHOmIazznRKJlex3q/\nJICUKEEd4cCKQpyh1Pwe0Ex5IqUgpwojPXtdRDqUYpYTT01dEO5blT1pTVGFOc0it4PqkmtEH23E\nNmqMZH5pq3CtxpoGYyX3xxhJzhy2SbiwyBRca8EyppSITiJxnBNiVkqprguHQgqUkeDAnDMhHBCS\nP/jxL+ppPnv2jIcPHwLw8OFDnj17BsAHH3zwsQXyjTfe4MmTJz/wOT7adzQcgsc49muq3bUSjvLR\nyK+UrrDWcjTWl8IR60TtKepqrj18ja7QYPkeH83q4VhRgoAxZNFUGBdFFxbqil0XlxhklzJWUUik\nqAm1v2q0k95TKFU8bI92LZVEB2elAylH5TAT50LjG3kNCKwjhFirZI1SBqPNqw2h1I5sqNP8pMnx\nkPBZ+6ReE1MBM1G0JlVBcAwBsMS2MPvMoDNNK/EfKYoeUmuYcyYUacDHEOmXC3y3EKeINpQs+sim\naYUrmmINw5JjVdd1NWM6c//+fa65JRfRqz6494gQAuv1itubS7TShCny6c+/w83dnl2YCbtbhmnk\n9OSUUCJZa4qFRb9gGHdSoSjLfjexWq65ut1IvjuGueZzj+PAyeM3OT27EKmV8cxo2qYVlBkOrQOb\nl89xzrBan5OyZthtKWlmmjeQYdlfoIxFKdER3n9Q/46i6xpyyTx79pSYAxeffMT2OyPblGm7lmIU\nu+2OtutJKbFatGxv72hXDSenj1gverrO8J3NFf/p+nu8v3uG7Q0tDTFMmCRHxphE5K+0rRVZvfGL\n5D3p6oTJMZLNjG4MVkv12CdNVIrxuqBtQRnprYegMNbJ0VwpYsxYZ7DaEGOULKGUpKWUoBQB24RZ\n3leRwolERybhTlwWShxvJdWwQ6gnM0TmZOXkVTJgiuhslcVah/UCSMhZUHRCj1KSmNmAb8GZhPca\nY9va7oJu4cjRoorDWMQXXzLGKpqmoWkl70iUNLb2TC1GV3dcHaKK2P6HH8D/iwdBP+io/I8//4Me\nIgmSALN/zL8TfdXB+FhQpmAKlBIp2XEEeKCO2DittZScJNFZKSXSAw5ypY9oPXP9/HHZlOpOIZWp\nNfXC1BIs74wmjCKyLkXcRaKPLBRd0CTZfQtkm2qLtmCcrj9HlSGVOsjSSE+lJFIqpDCRU8HZBoGU\nJOmrjZNkpHBwMR0UBOKEyCmjkiLO6SieFzjIQVaVRdJZkXMlJ5LJOGuYhkIxQfrHFe2liyUHhS6G\nzi54uHqDvl/TUsgpoqzDGcc8jQi/sJDngFWaqfqSYw5cXFwwz/Nx+vnixS33zs9wzrHb7UBp2ral\nFMVPvP15vvWtv2Wzu+LZ0w94/fWfYNjcwVHEHHDdGqU1TdNChBQdMcJPfuazDHEmMciChuP+o/u0\nbUNMM6ZpOb+4z9nFPYpSOFPY2ySuMNNgrOXy+QuUdbz1zuf47nffYxxmjDLiZz95gMKwvd0xlw3O\ndSyWKy6vXuCbBU2zYJpmSJa2dTx+8wHZJKxSWO/YDDuG/R6nC64xWCzzmNmPBdOeUryje3CPsr1l\njiNX821VWoDTTrB+hwQDa8QEgUcr2VBVOjA2xd7pc8ah8ErhdcG7wBwLTWewU8LagvYKZQpJQcgK\nNUe0qbBvI1APpWRjDCnKSbC2mUrMpJCJUyRGYWgKgjFBHcY454RKH4Pcj1Wxcrz/tPS6C5BzwGmH\na71Uxl70yVqVOiQqaGuxTtFYg28yxgW8BAhgTal9SbknQjWuaCXT+5ypVklRfIAMcUVHm9FWdNZt\n6zikMKhUcM3/D3EXDx8+5OnTpzx69IgPP/yQBw8eAPD666/z/vvvH7/u+9//Pq+//voPfI67Jzu5\nkQv4padZ+WNVqJR4pMtBi6mUWKuSohjJDT+wLYUTqOsELtdS/vCoerAiE7dSEmSxWMaDyOkwCSTX\naaRGm7ojK4NqZGGLIZNDwWpH04rbxji5oLTWhH0kpULT1J/dlOqSSKSkK1XFCkjDaKxxWA1RCdx4\nDjPZiIsppsA0z4R5QhXJadZV0xqSLIpZH/BdhjxLdaoVwg9VwjQsRqAK0uYQOUaJMG1hZ8sRlkKU\ndoJRGp09UUsomJrBny5oncbNMyUXxjjKz+IMOUZK1sxB+JA5JxZ9j9aG09NzciyElLj/+E3G3a1c\nI2+8idKW1Xotv/+m5VPvfI4Pnnyf9959j+1mplt6qbZjYIozTnesml7iPTDs9jte++TbkuGtIiGk\n6nDxbLY3tG0HSvPaozdZn5+TgaZtGO+u2Q43MLeYvuN285KLizOM6/nekw/RKtEvBd3m3IJhGJjD\ngHWFdXeKxkPWdI2rA5FQY09mXGMw3nJ9ec3uZstut8PogrcZ7x0lK+ZRMspt79jfbXjzE4bu8Rvo\nuwXv/9XfEM2MQYYyRVX5TDKkPImLTReMqqJvJQM+U8BhsEqBCoJGVGKWMCmiVBRrsU4UHcnKCjZP\nF7GwKtBZFnqdIM+RZORkpuosoOTD0KmQgmQCkWXwKTi2cqziZHZQsFpegzGWFBKN90zzWJGQMuxx\nrcG3nq5vsQYxY1hwthzbVd45lNXi7KvidK1r642KStRCGZujYOw+coYk5CiRv0pjjJWN4OgwFGtp\nIvLdv3nGu3/94Q+dwRwe/6JF85d+6Zf46le/ym/+5m/y1a9+lX/7b//t8eO//Mu/zG/8xm/w5MkT\nvv3tb/MzP/MzP/A5Vo9XVfIjFSdksV8ddySEr1elA3Jw1cRa7hcRdtUjuyx6xoBSEimQ84E8pKpt\nsFbFQFQfHRgdUG4zrmkkOVfN8sYoA0p6J9Za5jmjdcQ6L5ZEK0d+ozI5S3pmSQWxIZQ6SZTpPFQ/\nrlYi7jXifGjblrlMYu8bdhIfkITunUuufmbpR+aUyVNCZU2pvvNcokicauUcVUI5och7a4gFQpBc\nl5w1WhfiPjGbgioOFQNlNhhvcDrR+syyPeXUtnzm4ac471bEcU9OmWke8VaxWq8YpxHvHFMlehsj\nnFBrLM43pPgq42XYb3nw6BNobbi9veVs1RGjZg6RaR65f++Cvuu4vLzhO999n2gG3rh4yJwT2jSg\nDs9ZKKowTBPOedanp3zn77/FovEMw0DXLTg7O2fYT7z+xuvc3m7Q1lHIzPOM1g5t13jvmXNitTzD\nG8vlZsv5w8dcf/A9bm7uWCwXjONIyTNKJRq/JIaZGGa58ULAupZs9pLd03eUEthubpiGPdfXLwDY\n3N2hSsE1vQw2w0xSDq8aSky0fYvq1ijjoFhSgXGaiDGRYiAVIfhIQF9B61ytgoLnO3jWXRECu0Na\nBU6rWv8dHG6vrkmrjBynDQKoyAe8oa3uPNBRKkGlDEY1zLGQ54N9OAtLU2oZ6acai/fNkfcgdU71\nhVPo2p4UM646lUB6srp19AtH0xisAWUkQlergFJgncMYhVUahRGJYs6kOZLTLImWSlxHWsnwNs6B\nYowMyZATZizglUdXRUkusR7PxVmlMbz+2TNe/+yZIPKA/+t//Ma/fNH80pe+xNe//nUuLy958803\n+e3f/m1+67d+iy9+8Yv83u/9Hm+99RZ/+Id/CMDnP/95vvjFL/L5z38eay2/+7u/+08ez4+aqrrg\nCZC4UrLR9XhZ5UPVN3rYXcm8gnqkmuOti6TU1STHksrxWB5zPvZCAUzJpFLnMiVJRdA29F2H8VF6\nL0XIJ1YbYgAz136rivi24BuFtkUC7XN9jdnKwqZleFUq+T2XGetkd1RGKuoYM41r8N7RdR3DduDl\ndMU0BvKcpbF+yIuKEFKQDPQ5k6JCKMmHY7ipAyC56o3NtI2jWyhiKYxzJk6GaS/oOa0tYaMoKRLH\nTJgKrs94VyBqmjLJZFt15HlgHG5J0xZrPVq3oqdcLLi7vhVkWJQWgvdtrU6ksg4xSnWQC3fbLYvl\nik++9QmmcWAeBm5vXnL18il/8xd7Ht2/z+rsdX7ycz/J//F//weefO97/MSn3yYXR9c2BDTDFGhM\npm1blsueYRj51Cc+zbe+9Q26rkFpw6Jfc3v9HsZYuq6TSW5p0CkyDAFtehIR5zy+6VEYXn/rPsN2\nR86FRWvZ3lwS4oz1lkW3JMRE36+Y9B6tYRp25JKwbc+6OSWVSNt2xDBDEpr/9vaGEiaWp/fI2rHd\n3rFcNCRr0M5ycn7CYrkmF0mYNMpxd33Hbh4Yx5FhGgU0nKJkJ6ksiNxKJwopShtKS3WIl7gMp01t\nNRVUyWJ4MNXiSyKpLHpiFKUkZG4p75EwvVW1Hh6SDV5N0UtSpMoAUFEwN8pomsZhjaGUuinHVPkL\nGu8NzmSckX+fi8J4g3GGoDLFCM/TaIO38u/RPVZXPkSWe/GwDSgtAYJWVYedE3ScqcPWOeXaz5Sh\ncs4JlQrTQX+qFBCgCHoxxIBxogeVGBppt/2wxz+7aP7+7//+D/z4n/7pn/7Aj3/5y1/my1/+8j/3\ntK8m4NUNJJVgkXlLERqRcDJTnWAXstIiydE1bkIBTkg9Tafw3pCTkaEHWY45RSo0rZVcZIXK0xSC\ndcoK1zgan3FNxncKimc/BrKKQELbhG0NeiygDcoUrAdlCphMyV7CqGIkZ7l4UxFWoSKhTcaYXPuV\nGaOl6mwbg/eeohS+MSSVuHz6kjkEAoKK0y6jYqmVhGY8QDqqXEtVRpNUmiLlaHvD6tSgfcZrw1It\n2N4kGq2YhpEwZfJYyFp+8XGXKXNBLRznbcujfoFDs58msNJ3RmucteL7nQMvty/pu4btMBJDBZUo\n6R0ZbZhjlSkpzzSMoLdYlfi7Zx9wfXXN9dUVz5+/YDdIFev1t1mfLvmpf/Vf89/963/Dv/v3/ytP\nnl/x+MHbqG7BTEJPhbaXSt16h1WGzdUl/aKl5IjSjpgi5xcXtL6RIUYWC2lKgawbUt4wT3usbWkX\nltPzB6QUMe3E1jtuNldYW+i6nqZfoopBm1xRfAVdijhknFjvYpDB11hGwhS5fnGFsZrVyZI5QL84\n5W7Y0PYNy/Ua27W0y5azi1M2u0su5k9Cu+bDZ8+5vb5miJFxHIhzYB4nWShVPYtpAzqRmBA8oEIX\ny36YaJzCIu6hkhPikbAEXcSh5DWq9RyQlyrVe00rmXLPAUxDVkoWBV1zgIqjxICYLsU0obMs2IqC\njBI0WjtSFoShdUokczpjncbbhpIj1ovTx7aerDIlTqLFTEWye3BY29SvzxIFkyX+IicFSuzBRTli\nmtHKUOZCiZF5NkyzZbubGMIEWgkNPgoj8pCDbg6U/hRBlZqoIL1Nd6DXp/BD164fKbCjFJATq6qN\nYXH/qIM48iPi9EMCpVGCqJIcHzmqd31D24qPtWTBuY17GbikRKWdxOoBp5LeqagqhfbQLh2ujWhT\n8N4ypkn6NrqQdMImi7UyDFJolI4YrchESpnluZMcC3IpGCQVUlPQJgoCDukjde0Kpx1N4+m6Duct\ny9jSOokOuLqNbG4mlAuYVgLGhF6taZaWMCa5iSszS+kqyDUR7TX9PY9fB5yDtumJsyLuExaNMZ69\nlmCvRjmWbY9y4lo67dc8XN3jnj9l3ZyQ1MQ4RlSINLaVI3ISLWSeZ7Z3W5rGUUqmaXrZrV1DKYqm\nkdbFOAa0dQy7kWnO7KbEbtS8++Gev/+HW242G5JS+Kbh9QeRy9s/5zNvveCX/vv/gf/5j/8nFosJ\nvRtYeMPJYsFmuCMn8MUxM4ht1cL+LvLo0QV977FuSbdeMyvNarmsCAnNy+vn5JK52+559PiEZtET\nEAvmzfVLtrdXLFYdXq0oWjPWSXDTL9hvZeEjwzQWYgr4GJiTbP7TfgtoFqsWf7Hg2Ycfcu/8TbZb\nQdidP3zEEGZWi56mb5hzJk2JtL/FLs9p+zXDuGUcAvshUKZACAGlCr4xKGelX6ml5RGTBOOFLEfd\nORWsKSiJepTrIWvJO9eqWl9FjWKdwIbLMSZIevmpJKEcYY60olgzkkKYyLmtw9ODdTKitUPZQirz\nQbRHqRFfh7Ay14ipxBhF03is0+zDhEkVcJPF2lmqy+tQpYaQmWcxoqQgVLE4R9om0fUwjwOBgRIT\nm6DZD4qbzcR2lKm9DKk1TjdgJbxwt79lLodKNGKUEkvtosd7h/WWQ2DcP/X4EaLhxOJU6gtQSoYg\nRx9UFWaWckj9Oeg2D+HvgCo0XmOdZrHw1TJoCbGQs0Skmiy8yBSrDZNSM3KAotCpoHShWQqCX9si\nu/ZeMY0HEbkSYbCDFKQDqo1ESxircFaO7UXJMUOha09FYbwFLYi2WApeC2jDGk2/6GjblsY5jDGs\nlyswCd0WpjxQVEA1IkBnjLgg0o12YSp9SZMr5i3lgDbQriz9RWa9drKDZssImObwW1XYAF2/oG8b\n2qbHWEdUkd0w8e6T99mtbnltfcp+85I3Lh7RGw/aMM0zaZoYdgMlzOQc0GaBd43QhXJExZ0MF6xw\nCr1zTMEw0/L0ww03+4Fv/8O79CcnPP7cZ7kIgeeXz7nd3vHdZ5F333/C1d3ELibefucdJh1ZLk7J\naSag2Q8z99Yrht2OptFYrQXs3HXMY8CcONq2JQOnJ+eEPGHs/8fcu/xalt33fZ/13o9z7rOqu7r6\nzSbFpkhaEvVwYDgJLAhOAliInVGcQQaZZJSBPbATJAYyyT8RBHk7GWaQIDCSSHAUKxLsmBIpUXw0\nm81mV3W97+vcc/be65nBb1eLA4sZBc0DFLpRqH7ce89Ze631+34/n446RXy/5fLFQ6wLhG7A+kBM\nC8SCwfDqvftkJUoNcsXTOOwP5BhxWqC6ymmJPOVMLjfg5DAcQicDSdMxT3tev3+PB59c0ppiczRS\nNRyfHXN6fkyuQvLqug7jHMvNA3708fdY9o04F7FeVsixYL2mZWimop2Q4i2GyILSYJQBU1lqojMO\nlSt1VaqY1jAWYlshwkbaSM0UrLXSaRe1IyCDRWHBriWQJJAVsT2CUQLDkNhbxTmDcxalxYrpjbjU\nBXotvp+YIsGDs4JIpCVaVXTGkVWVmrRePzfr1UBeCkY5TLWYWiglU1IiJfkstlUJ01lJ2sScoDkU\nVhbYtVmkjZH1oxayyRIRsxtUymIgiEmmGX1mmaUGq435jIvyF70+Z+95+wz1Jt/sP0fSr2A1WAO3\nL3+3rTEGVYUFaWzFdwkb5GjYlILcWIpoIIwHlREqi1pJSUbqjTlXtBZPugtip2tmRgeD6RRlFiCG\nImH9+u9vhqZWYruTqaU1gWEDeYESMzQn1VBTwRaMl6M0LUl7Ind4FwjB0XeeEHqckxxZVpFsMvt6\nzX56IZrcJhi6MkFXGjaA7WXHnRbQLpBKoSroNjCeKIaNXXFfmRw1rpNFrJqMpxG6wPHJOcZoAhrr\nHXOb8V3h7Oics/GEwVgOseF0QetITYllEk4lREqOtEPDHVmuby6I6YZBC6GpkbHe4t0R2zvvEY7P\neXH7Kd/5o9/nS1/9Oq7r6LrAl97/Bh/88EN+7/f+T6q/pMUT/tn3f0CMld/8rbukktDWc/f8LhfX\nj1HKkMtEHzakODN0HfvrG4KznN09Wz8omhgnNuOI2XakRUAkS70lFs27b71F6I642k2c3DkjNU0f\nerQylPl2zQg3pts9mgNohesH5mlh3AZOjqXiSU1y3FuD2j5Yxr6nHvU8fnZN1QtDOKK0iA+GO+db\nqJFgFJvgKB7wgYcffI9Hz58zTTccrpMsGlrR9T2bTc849CxlJppJdoDak+uNkOQlWAbVUFpAN71i\n2xTegY+VXAyKitMQ1ysipatMrLXsxqgNlWSw+nJ+3JIwF1KR4zamAQml1kSH0aVrHpcAACAASURB\nVDQysEK1Jf8n12vNkHNB6cjiKnZYJ/LKUldNtWT0oLRK1U1qlsViq5XcZpVKcq4Fo8UXXzLoVtF2\nwVuPxYKpGJWwFJwq5GWPVgMUS6kJ1Qq4Jn6kYggaxjuvEHPh8nrHHPekXHFertLszyu5vRSZZsqd\nnFrzjGv+8qf65K29zFiugVOlXraqcM4SuoIPDe0LXS8Edpc1cTbSDW8F443UCpu8QawxEjlSBpct\n2qR198jKnWwMfaAsipYk+F5awwaZbDvv8J2RWFJrGF0Yj0V0P++gpor1iuDXi3AnU9+cI2mKtGqF\nPpMS7ugE5y2hF6PkZjzmPBcu98+xfqbmRM1CoWlORFXdoOm2kJthmjW5REZnJKtoCmFIaCeu65wz\nph8IW1gOGaMrfefx1tBvDMEFOhdECZIKy7JnKntS66H5FYispBJXJINKa8Rc0cpRauPFxTNKXUgp\n0XIkp0I/BgZruXvnNV778td5elV4dPVdXvvSe5QK3/uT7/MLv/g1fvO3/hX+n29+k0+eP2feXfDF\nd9/gS1/9Ot/842/y5a98iXffe4/gPcZaxn5kOeyYpz2b7QmHQyIue8btiJHhMNvxiMOyMHYdZjOy\nVIfpNOWQOTo/5o3XX2XaXbHbz6S4MN08xPiG1h7vLJ0ZBUZmJV429gPTYcfN7oZuMzDFBa0R1umc\nMK1huw7f9YzjBmM83gXcsGXcnnB9cYVVA3fvnNIocmVUwXjH0d17tJz40z/9No8+/ZQ6FTau43ba\nE7xn4wc6O7DpRo7tKfs6cR2fktSy8hKURI0I2CLXlcZUnMpY5VEYKWGohrEO48R/o53BrNhV+TA2\nuQ992chTRsRkGmhaej9KUG2yG9QYJ5pqsSQUOm9RiIJXK0k+a2TXmLxCKScnQZWoTYFyEhlMDWoW\nGEhNtCKAYqMqfRjwrseYnkPckXMirnCUkjLRRqq2FCZy1fL3bYZWmKY9Rsl132YY6EMnAyOrcXZA\nawhdx9vH97mYdlzuXnCz7NGe1UH1F78+t0XTB0uKbUVArcfml0H5NWb1Mhz9EtaxBieAFcNvFNo1\njAcbGtrJMKm1l80HjTfSxilajJXyTzeslrYBTVD31qywXmtQBkKviRMsrdCK7DiNK7heoY3wMp11\nOCPH+1RkCOObJk0N4xXOKZxhrbjJlDtHxcX+lqCPmDcLpUas6yROYaDre7p54OhoQ1ZX5JhQTiqY\nrgvUMdN1DhsMyji6ZJnnjHFS5TQ6Y8MeY0UP0GxbFRsQ9QE68MbjHdig2Pa9ELYNdN7QdVuUlye/\nVnL9L1GOSM6JZZqwSuGsW5tLkcN+x9D1UPt1Ejzhui1Hd+9zcv9dZj3w8NGPuLy65v57r/P8yVN+\n8vDH/LNv/Qm/+3/9IRcXz4nLRIqJHz98yF/+pd/g6M5jHj+/4c37C1pprHM4a7hOM1pD7yzZW5zZ\n4BxY5dgenzIvB45OR7qjc4w/wVbZNfphw4nd8L1vf4snj55x8eIBaVmY9gec9Yxjz9mrp7z9hV9g\nu93Shy37NGP7wKA1lcQ8J+xKj3LayIOpCSHcOIu1gVIKSxLL5J27W8bRUXOlqYRRFqu05Hi1wjjH\nzcVTPnn0Y9699xp3230+fPCIfdszhi3eeoJRBKNxztIY2ecOtMLrmUVsgVgqqgnqzVu56pG2TRVz\n6Vqtc1atPhwBXb9s4em25pVfTsl5GRtS6+S9odVab24SxdOr2kVc5w1ri4TKtSGmJHnjWslVeAcp\nN7QpKGPXBl6FaohTZlkSk4ocbccVGCKxQVVlUKysIlRH6yx6Fh9nqolQJSPaVERVRa0RrfLKh5AB\n0tiPOBRBWbquxxmHVQFnnQC1vWc7HnP/9BUe3zzmYvecpuLPXLs+t0Xz+GTgdrcQUxZPzcsLYP4c\n4stP4d4AUNKAQAvFxHsJmSstbQZlGs4aSqmr7mE9NllLzXKx/vKeFORSnGbQZgAq3stCDOA9uN6x\nRHnymlYwfjUIBolGeBPwfkEZTSoG1wA9Y7zF6x5tLM4K0FVlJT/sotk927HtDoybA7eHK4btQMuS\nc6ytYD30fSAsHTATtIcoH8yqG8PoQVXG/oT9fpYpu+mpLZFLxnmLUwtNW2ZdiWbGhICNkmY2TsCv\n1ii8tZIosApvBJhrqyKTOJQdTlUWBsosQXtnDLFkAoZaktT7FEzTgjEdyjnunG157d67vPruF1Fu\nwyFNPH36BNf1nB+f8Gff/CapVWqFBx//CDRMhwP/xt/4bf77/+a/4O//nb+P/tqv8emTD5jmSQZh\nRhofxjd06Zj3B4bBc31xJQCCznF1mDg/GdFO0Z28giagUmF/mLlzdpd/8r/9z3z3ex8w2Fe5nF7h\n2fMLUq4M1nKeNM+fP+LTjx/wi7/yPl94+8sMR1tKzizTAaUNNU/CvQS095ycbjikPc5YOmuI87S+\nNzPOBQwNezRQqyLGiDWWuCSq0WxPT9A1UQ/XfOHNt3iy3/HRRz8GBdtuQ0sVf9TjjAwyfRBlrrcG\npwNRdygTsdqgkLxuLprm9FposCglXAXVBD7dWhH+6hrRAbWqRwQFh6prAw10s2gEhahsxdoKpf4U\n4Ud2nKnW9YQmdtVUM1o1Ui3EJlnjlCsxa5wzlMZaCknYplC50BJMJaN1wnuPMnq9nKsoVait4K1e\nDaWN62VHrQs0TWsGihFmZs2oJnGiVioVjcngbQC1kIvm6PiIwQ60FuQUZhUai3eee+4eY7BcTU9+\n5tr1uS2awxhw3nB7e2Besjy5SgEr942q/XQUSa1h1NXDoxrOOYxLEqh2Gucb1jWMyWhb6HsheiuE\n7qK9J1QJJmtt0cqwLGnNZymMqWgjfnOaHKe74IheqC66GZQyhKBxTmMs1LZQjYAEjG+4FUCsek/n\nA7WsrMyWASWiq1gpB3j2+BofDJvjgO93bMfGNJUVUxXX+1rDoAZc8TQnaDnnLMFo+o28uZRqzKkJ\n7q4KZ9BqhcLKw6hmQYaYgg8V5QzKVpyWIz9mvUe2BauVuMbNiCuyyz6khKoTtUZYEt4Y+q4jRdGu\nxtW7XltjGMQPNIyn2G6gKcPp6Qm7h8+RDnLj+cUNMSmuLm9Ad1gteVrnO37040+otfLbf/O3+S//\nq3/IvDT6oxP6IIMZqx01JU7PXkF3hpxuGTZbWs5sjo4YTu5Q5z0ta1rTlNDTmOi6jo++/wGPH+15\n8Awe3XzE6at3GO69SscJ0xL54GKHSZ63tOKjP31AjI53v/AOqlZiqmjX04+NmtOqa5CHYHCOUiqH\naY8PPb0fUUrG0k0BtcoO0BliWghDx3B8ynByxhIXfvDwh3zrwz/l+z/5EbXA6XjKrB03h2uMKhjr\ncc5InK5W+uRYioAtVDWopjE6YDGonDBNTlROGwmSe0VulUknNJGsKraBWjcO3ggVXcwGMjh+WVZQ\nVUyT3stASSNRvxgzVgVKE06s0w2vqzBZdaUoyKWJ3tk6yVhmwcm95HXINimhrDT6jLaUbFiiIRgH\n2kjqELk6qLqimlwnbetWhIntIImRKjXOYA2da4x9YZrAKQFuKz1Lxls1DtMz+uO36J0nzU4aVl6W\nwT4m1HAE7ed0pzkMjloNobdcXx2YJiGfNNYIUv3puFFba1NiO3ReM246fC8cPa0kS6hVA93oe7+6\nYNS6YKg1qwc+dNJ9rQ3tNM6vE3IjrR9RCwhAQmmBvCrVoAkbsh86hlGhzUKtiVI02hmCl6GUKwaa\nwakGbV2EWeuUOdJW588yRfa3M5eXN4S+R9xRilwjSxF3SrBeYhtao5RH6Q5tDM42uiDTz1wNpiTJ\npc0FRZEPRJOprjOO1OSoHYJFd4amFQ6L0o1qRNeqkF2MqpB0o3eWPjt80Zgsu4hq5ft2OEw4q+XX\nZkPKGW89tcF2M2CsYhwD/bDBe8/gLGfnW27+7Pu8+dY79F1PMJacG0XpzwLhD370ff7hf/s/UpeF\n/e6W3X5iszlhHHqJjljD8WaLMdIKGq3nZnfFyXaD7TrKelS2fkS7Hpwn7W9Jh8R3v/MB3/zuAw6+\n45VffIXT8Q0ePnzEhx//kDvHI+//4teY9ws/+PBDju/cY7drPH1yyenJiHOOuExy4nAKq+Glg0bK\nZdLgUbVQc8UHUdDqpigUfDCklCQE3nm2x6coHXjw4Xf5J//093mRbtlYj9EBZTs6Z2m6kNNM7TW1\nRGo1KJ3pQ0edQStHkCIdpq4+cmXQzQg7QSm8C/SdwwWDs6BD5Ho+UNNCSUmKB3ZVVFQls0tlaUVh\nrBF7pWmEFSv30lOkqqKkLKcjYzG6rgYDOS1ar+mzo2QrNWaiXMGpTKNQysusk7h9jLXY1qNVYL9L\nGDLWBjkJqoquoFzFAjkVgnb04QTtDU3vaU0iYFopnFV0vWYzGgyWcXC4oPBBiGW57Hmx+4Q7x2/R\nhwFT22rWNPTeAp7iNz9z7frcFs0QAs7JHZA1jt3uwP5WlJ4vgRq8LEz+1G7TOE0/eMaNoRuMuG90\nlvsMI6FV6xq+M4RexPQheIyR6FLJFec8VnvsnFhUpLTMuDnB+0xT6bOKmLEK6y25zdSoscFiOnBB\ng7LoamRjnApKa7rBQ9MrLagILNYoaq7ElKipsCyQdWF0jjYbbq8X9ts9ZOh6y7RMxJrIRIzSWNdj\nSqWgsKbjM5J17VE+YXUBZkqWuIi1A9YYalpoTeGV9G2TW9bduZfKXLQYxI1u7LojFiqKzE+zplMO\nry3WK/SsiCtCrFE47G8pSViK25MTmmr0vYUSUXrDxdPnvPb2O8R5z52zM774ZuEfpT9kOSTefvct\nnt0850++/REgWUCjNF/+4mt8+4/+Kbe7iR9+8AO2RkMRpe322HP1/AZlBpZS6b1DqUzfeWJtnNhA\nt9mQ9w1/ciJUpDljbceHP/4JnzzZ83yuvPHOa/zb/87f5s75u/zdv/ef8uD5Nd/7zg958viCv/pX\nfo2v/Pqv8sff+hP+tfvf4Oj4dUKXSdMlU1zojUFjMEoTYxSCjvNQM1o5nFuHe84SvAw68pLRSpw0\ng+9x/YDfbEna8L2PvkOsezpVOD8/58X1Itlb69mwYZ+ek8oVcx6wBRoJrxVZ289UFMY0MhHVEk5t\n2dhO+tvOSZSu8/ihw3lFNzju5sJuOnB9c8M0H1jqAd0ke9yZDucttQh/0nmFdRmnEzDjjBEWrPLE\nJpVKhUK3QqsZYy1Gd+jScH2PqWsN2hoMk7zPXKOUSM2Wisf5AVqAOhDchsZCLpXbaUEph/ca1Uv+\n1JoV6OPXarQB6zqimmipUqjYDlzW9J0g5cxQ5RRq/jx7OcULPn66cP/8C5wNJ+haSXkBJVdb3f/H\nsvi5LZr96HHWYe1I3/d0/gZjrjgcFva3cpyV1qNM1Guta/WtEbqCcQ0XLMFLmF0ZiSLVlkFlQteT\nJsVcpW4odxfSQddKjpTOy1SxNodzDesqqA6aYNtKzryknqPAGkfXebqukss6BHDI/asKYntUbYUr\nyNepSGtv+eUxVuIYxgcRryWIU8GwQC0scWYpM9XIXalZwR6sldAubISEvfqCFAbdMt6IgtWoRrCB\nhiYhcBOQnacLgeAHjLYktABQKAIidoWiBdXkzIitDpUUMSWhINGIKUFp8vWUyjBs6LQllyo9YR3I\nOTJNM9lm/vD3f4e3vvB1+u3rHA2av/Vb/yr/0//xj/nSL7zDF997B4PnweNP6fuee/fu8fWvfZm4\nND768SdcPH/GN/7KN0QzXKHGSrCOpDRdCDjdqPNMS4mTk3OUlxplVQbjN+QqErDDTeGTTx7zB9/+\ngK/9yi/zw598n//g7/wndP2WDz78gPmwZ9kv/PG3v8PdOye880XFe3/p1/nkOvKV8R7kSyyXONWo\nK2A6z2IB9V7urdMyEXzHkma0giXKdYVzDmsstam10VPo77yKPrtHTjNHJ+ecbk7YPf2Evh+4q0dq\nysyt4sII80TmgPEFpSeMlpZbDYqQDaZVgtOkIgMmr4S63nsrv8a1mugMOnR0uSemzHg0cLQ95mZ3\ny+72ksN+xqAI1tE5h/cb4U96hQuZVtedbo0yU6iRqhsZvaZHDJBBFbQu9DqQGthNL8PCatA64taY\nk1rvPIPVVKNEj1ECPnj6LqCryNqmZaJZx3So9J0G3SCArQplRThnnUJbQ1MLyiqqUvRViXe+WZyr\neC9XC0Z7sSboyrwkLnaP8KYRXAdqkayzbjjf/oVr1svX57doBo93HqOt/KCcpZmInNYa8yFRqxT1\nGy/955m+9/iu4AM43wh9FcJJlcXVGPlzWmV8F8jr4sI6IUc1ako45yXvWcBqTT+IoldhMFqOKJOW\naZy1ilzEL2StxgVoy8vJPqu9z4mveY1zxJZQupFLpNSFnCulKKmDNcU0HTg5O2PTDeikaLYxlURZ\nnT/OOrQR7p/SBqUqS5oZx9O1RVUxqqBbXZtKUmFzyqErNGVRukDVaDwGg9U9gx9AVYJ2kOVOx6zD\nBvneZ3JeiMXR2gAKcs2oZaLEQlwWnDUMw4ANFopmGAYhJDXQ1jDf7lG9ZRy3PPrJj3n9vQ7dMr/0\npdeY6q/zO7/7+7z/9S/T9Rve/fJbbLqO09Nznj6LfP+7P+BHH36fr73/Dr/6K18n51tyilxfLKS4\nwzuN9YY4z6Igrl4yltZhXKCyx2yOKMnQlsxH3/shf/BH3+Z6aSjfSMvEd7/7LYoCVw3T7pr/6B/8\nA/7yb3yD//jv/V3unt/n9LhwnW451MqQG9fPP2W6ekxOC40qtdtuJMaBzck5J9tTrm8uqLWseVvx\nJ2ljsM4Anlwiwzigjo6hH6BERhc48h3v3X+dw1KYOs9+Mgza8Dwe8FnkX239MMtubyQXRauJ4Axj\nCDTA6kbJDeclVmadwXeBzjuM6/BqJCdPypUua4au0XUbhnFk2S+keY+qRQoRVkl+uFMoU6lVMH5W\nJw77HSXLsIcqiw9V0Q2FlAvbsRfcm7XEWeP9Fu97Urui8ARDouodxkqluet65grKVrypbMcNXncU\nVdlNF+ymW1TQtAjKKqwuWCdYN6011q8AHyWcz1YtGs8QPIqwxheVXH3QQTFUlfEqYIrh+uoJ52d3\nZPixXh8Y83O6aG76NdCtjMBya+Ps7JRSILW8VtMEgMrK66ssoJxEebyiD4ouFHI2tKLWO03kiWcq\nNiRMFOWDkG6KtBVoxDThrCcEjzYNZwvBO5yR3JsmsPSJeZopRdOMHBWcl0CwIPEtygvNR9zQYgAs\nVLIppCyRomqjPA0nYWi6AK1Gzk+2nJ6dQoNgDM0UplZoqaGrwuHIaiZXycwZnal1xuhe4AhK0Fah\nOaHeNCTIi7ixFW6twQkyK1hH7+SqokSLsT2siC7B6FWyBdMaNWVu0h4VG33z2LiQp0XUqTkx7TOh\neHyQgZeyipgKeUlSIa2ezThgmfjuP/89su94/c0v8o333+W0s3zvhx9i0gFXMjePdlx88phSKu/e\nGfg3//2/zZ2796hzIS3XPHvygPv3z6EWtF6PxkZTS2McB2JrdLkQdzs2J2eUacH4nsvHL7g+FL71\ng4+49+Z7pCWTpkqnFRGDMpqlwNnZKb/x67+GdT2tNQ7zhI6iCDk6GZkuO/YVbndX+NCxnw6ELrM9\n0jSuSV0ip8SyHDCbYzKRmCaC79kenUjxAiM7nZRQOTLtrki7K0almWohLTuGcIwfey7iHmsUm2HD\nbZJjbQWsHtf7+cIYLE1B54VUbnXF9p5SZ5TJglA0Ct91hG5L1R0QSKWyRMc0z2C0gDP8TIkdqlZp\neWFEEREktldKlWBTjTgPSjvB9qVGikAViI21DaWSzBSsx9uOo82rWN1YUqDZHuV2LDlwe9iRUsS6\nxmazoWaNN06aV53cnw4qkNrMVdqhqsNGjeoq1RacrWuDp6xDngoqY7TDmxWajNz9irDN0srq7LIj\nNWmUFUndFK8Zh1O0scQ0r3nxv/j1uS2azkv9EJCFrhmiMvSDIyxGNBGqME9xJZJL9bC0ggua0AnP\n0jrJTc77RKmyEzS2p7UolkhdaMWTM7TqSEkupYU7WNCu4L2T+xEb8N6jlYdWONqMlBS5vsnUrNc7\nGcRKycrkM+IX0drjjBezo67YmlnSLYKWU7hQiVPEeU1Vmlfuvspmu2Wz3UgWU1W013L5r2X4Y1cS\nea1if8bIrk+3BCVjVlOnLprcDlhnKRHaOgQCjXUeE2cKUXD/1mF1IxuDNR1UK7peDlSiBPo1JNUo\nLdE7j60e7TOuNlIsLPNMP46oYiTuYySvp1sl1cIUE/vDnsvbK95++13Oj04wXeDFowdcXt5w92TD\nX/3Vr5BiY5lneWNrRW+hlJllitxMz+jdBlPAuca0v8Fby3xYON4OTIcDvQEzeEw/cJgPbE7OmA4H\nNqFnuYxc3+y4uV0wdsvN7S3O3+fOK3fwXaDOGVrl5PiEf/S//y6qFbbjBtMbjIIWNcErNnd72vwm\nh90Fp0bx/OICq2V09vzqkm4/8corr6KUIoRBuKJNpsTBD2I+VY3edeKaqmKodNMtm03HJm6YLg+0\nznOxXBH1wpwjyhp6pVB0JCf1Ya07uk6MAlMLUgv0hqYrugmk2DmLd4qSIzkq2mmPHR3OBJoeyAXc\ntKp7lVx5RQ25M1AarcgDSWthJgiLM0kkqVYMCquyBMerPLjKSidzToNKGKcYuzOcOYNqMTqBKiTE\nVOq9JseCUgspX7AdTmjFrWH0mboOX63PuNQYlELVSFLSdRqURtsqR3KdsG6FgWtDUgqlsmxkEIkh\nhJUUbyhZfOxOW1rVkppRjlIP9H0AJbi4n/X63BZNay1o8XDXLOpaXRpdZ+iCZc4T4ybgTGY/JUqu\nn4WtG/mzPndTQv0wVgvWScslMQqUroReYkq1WLHplSKZtYroWNVA6BogObDgB5qydA1s66gloWjk\ncrv+wCvaK3QV1YQAYQPBBLwPQKNUsM4yqI45TqRUsUHTDYZ50vih4/U3XmXcdDgnVTitGlUlDI4Q\neqxX8jU2yZW+pNekdMBqh9LSNzduHZTVdadtFZS6LoiyaNZOo7XBG9lRvsTkybXCEcE3GpXU5Ii3\nnwoB2PqROkWKlu+BtZYUM5vtlu7oiFI0ZmUeqpZJSYYBtVVMU3QedjfXvPH6mfiqtz1LSVw8fc4Y\nArlmjjcdoe9oxmH9wO7qGTomTscNNzfXHPY3TFNhfOcdrm9v2Y6BGjOaJpPU0IOSae50u2N7fEpe\ndjz7dMfuUBmC4rXzI77zk4+pX32P19865+3X3uDPfvADjDZYY/jHv/O/8qMPvsmXv/T+ykrt8LbS\nO8twukFdn/Puu1/kxbNPyc1y2F3QmmHTBZncpnlttOn1IW6wrqMBuSRc8uAaug/i2Zl25NsLnLFY\n29OFnpu0A5XAaLabgaUWmWprRykL3ajpjaLvT8FodLhhng4YD2gLGeIc6Xyj1SJd8fWBbrzH2YDv\nB1KqGH1YYduW/X597yyALXKPnw3WeJSVHKMpUJIE0xMOoyPBGg5UdHEol0Qlo8D5QOMa609lk5My\nzjqqahiV0NoQ281q2fTE2XGYLjg5fo08Z1ItECVxYK1m7B3WOZYYiSWitFkD+3+u2VDKMvQD2Ypu\nJtlF1gttaFlgzlKXl79mPa951baeLOW9NC+3Mu3/C3CWn61d/7+ujD/jJeShArVKuV9brLUYI/Gd\nWgRY0CqMyrHEBdUMVpfVDCnys0bEuoG+98zzywnZOn1fp2GtGuaDApU+oyvVqqkolpToq5aGh9Vg\nwCiH9oZgBmo9xVmDdSO17QleKCulVlQuOLOh5p7gPFYHlrJfw/iWvpcAcs6WohphmznGcbo55+ho\nKzY8rTFBKEwtKbSy+H5DbQmMIscZVIUKMU0S3DcOVQET6WwGnagpoZR72Q+hqroi/leVr1I4o3DW\nUlvGBo1Vspt1K2gipQOqNI5tj6odaoLebzAEbEhUnfG6k2+xNozjSKvSvrDaYpwjl4LzgZpmctEs\nS+Lxo4+5c/9NSoHTYWTjE8PRlvHkFaiF4zt3GY/OuX5xzWF3QUkHOle4uXpIKYUvv/8+F8+eoI3m\nbDvScsUqOT7Pc6Y3iZZmbueJrvM43TPd3FJj4Pz8Lr/9r/81Hv7X/wOf/OQpb75zl9/4l36F2A48\nePCYWitf+8oXefvdN7h//11OTs958vED/sYv/wqnr56gN0foo552Bcenp9wcJqyONDRTWtAYrq6v\nGccNm80RxmmUshgbcM5RFcRW6Y0FF1Bec3j8kHLYM4YNZ5tESbc4/SrbfmYphbkVDrUxk6nOoHVP\n6HsGd4T1HSEE+nHDzf6S/byjUuQIrysxzjSV0M6QSkGpQG4d1sppKlgPJlNVBAW6Wpy1JGeIy56s\nIDPLe7guKDVjdKSqeY0IaawRipX3mezteo+/R2vppVciqT2nFU3n7pFrwXlDbR5lNeDJfYerFas9\nKWWW+QpvNkJKapF5Fv5lsOBdwCpgiUIpq41aHcF7vDOSteQW5w+0ujraW6ZmRdN23fgYAXYrTTBO\nOunKgPIS09OVWhXBO8Eu/ozX57Zozsse5yw5JeYkk6/WCtosuFDJ1aKbQHwVZsVUZZkYa6FOC3rK\nShTBNVLSq2BNtBbSNRU8lbXSHqhVtBTOGErJtJYpRa9g4EwLUtnT1kF0bLfH9P2GTZeJ5YqmL3B+\nljC5bTjbQzkWt7KKBNfT5pnSFlALzje6wZBTo1o4GjtxWgeDcVEqnNaSSmWeD1SV0aoHbWUDUQw5\nHagkSjtIUDoIoqxNGUwht5lSo0Bei+wuYVWAVAEBWwOKjKLInSOCwKMqtHZYs8VnMG5gNANdf0IY\nHFY1HBB3EzlNLHEGVium0lhvMc4yH3bM+1tKkhjQ2HfEqdF3R9jecXl9ydtvvkONlXG7pdSMbxMm\nbHj+6QOunj1h2d+yu3hM33mePXuMVpnt8cDFi6csy8LdO2cYldjvd1itCDA5DgAAIABJREFUSVKE\n58WzJ3ivWeaFw/U1tw+fkPaNkgqb7RFvnAX+s//w3+U//+/+Fy4edrz11Xv89d/8a3zy8BOMabxy\n9zXeuP8Wu/mWxx9/yq+/8zavvL3l7ntvENOO2nYMznN58wJvNH7csp8TNUJTijgnXGgY19H1PbUm\njBH7YdNKHtzGY+xIvd1hlz1VGXql2SpPsyNJOYJzXM97VFogGNCS7w1e0/UndO6YMHhMcxx5y2Zz\nwtNnn3K9e7bGrzr2+8g8LWgTaNVBtXInj2NOGWOk6tj1jlqiYNycpnnDrUoc8oy1CUUBFamp4UxG\nWVjyAWtlAGt9wfdmtRnI/6tICQu0Qk4HtNtRWo9xQfxUdU+rC5WJ0BlKMXgzUqsmR6lXagO5zhgD\nNUds8Cg0g3e05qh5Amsx1WOUxZse50CZDbncktUe40TMlpug9MraFnK+k2poquJEbwrvRNmiKqCN\n6GzG7meuXZ/bohnTRENyeDHvqVl0F8ZIRKBVTQSUEuhtwGJcJ9Uwm0W25gWwga4Yi1BMELxbKcKv\nbKVgrFu9IhKmhZdUTCONBiv5u5yjkL6LvOmtCxhtmKcDfhhRJlAIxPKcqsTD4swGyga0Jq/k6sqB\nJc1CNNcW7wAS2jtG7wlmwYcJpXpimah4puWWm9tLjo+PBebrLNpAyh5SpSk5VueSPzP61VaIS0Fb\nQ4pK9BLrG8Q4g2qS16str+0kyHmRlpSuWGMw1mOtxXvFIWWWekWOL6h6ppYOE4XJaIG8zITQybHW\nu7WTr0lZuJnKDAyuEuc9Lw4HIIPNDGUglUaKH/HK2V0ePPgJJRceeYPxnWRdafTbY4KRxS9XqMby\n6MULKJU7Z2fs9rd4pWQ40aDvB168eI6zQrSquZCnmZsXF1w+u+L8lXvoAo7Ckd3w7/1b/zIfPXzO\ndz++4MDM66+9QWuJki0vntywzJf80uv3eP+9u/zCL71NPFxx8/wB5uIFF7tLpsOtRNfMgFUJ1xQl\nSvsspsjzi6cMw8B2M6JS46AawTt8Bbc9po0D+dFT2rJnOUxM0wGdIyddx20x7KaCcQXtoOkMpTAE\nT7YNZQSC4s2Gznfkkuk2W5zqiNPCNF/LvbjW1GaISyYtkcM8448hN6l/UiKtIVc7KpHVhFGe3MQT\n1DnPNEUaiaZEC6Faoa4blqqU+MZ7zdHW08pMZkGpRllBzbktUCAXzUSiFXmAh07T8i3GZUInylxl\nDa14kjKUJBuhbtys5soElFWeqBlcRyHijRPvUtbgBVVndQfN0/meXK8peVo3DQVjwtqZBqc0tS7r\n51+WP2tlSFeLlEN0/TnNaWpdxcNCJpcDiYhuDioSKUBBlQZQ5wXIoHWguYnQW6yptDavaCtR7zpr\nKElo1sZ7UrkGEs1KnSsXoVlrLWR4FwasT8LXxK6K30xpkRorw3CXlGTh6e0GZQaU3bCbHXMWIIc3\n5wKqMI1UHCndoE3GFE2pGZrC2gBKpuzGWvlv+j0tWWJaiAV2tztyjSgtu1aJT4H3niUp6ewa4Wc2\nGtqtDqLaKDHJhL0sco9U5B7JWCs6Y9NWe6a8d4wWZmBrmZxn0E52ACoxc8tSr9lPC12+w5Ee2FgP\nRaqDu5uduFmsGPuU0kLsBrR1HOYbye3pxnSY6XoRWXnvSDFyfXPNq/ff5uLyOcZa+n4kx4VaFqZp\nYd7PlFqIy57aDK0FmorEVLnjRpwfscGzpETOMHQdtUZKnEkx8uR2xnUd6Jk0PacuYMKWzXZkON9i\ndeH9t+/zycOnPH52w9WhcXQUMK3yyhtv8PZbb/De19+FJVGvP2L+9IfcPnvMze4KZzsyho0fGLU4\nbOIhk2Jmmm9wzhC8kJ+stoSuF6Tg0TH0IzlFvNZEJ2HzlGZSVVANWhX60DMDUWuKiuhciTagVGJJ\nt+SaODs6EgbAygTt/REUePjoA/aHF3inIMuCU/ItOU8sKWKa0NM9AmRuFQFYl4m4FEoVgLczA3bs\niHHHkjMxXeNMxNpMKQalPdZHhtZDVZSmOExaNhQ5SUi8jRSVoO1FkFYDBkNrBq0DqlkUhuDFclow\n9ENPjpZaBHitnZfvT9mjtJPscZ05LAeRB7aCMnI6Va2X+0oEOqJVh9FJ2lrKgupQKtBqWIEhhVoj\nOcvGwPuOlj2tgGoR6s9pjdIYQ4xNIjlNpms0yShaYylruNYag1UGmmgLjAsYK64YZwMtTWhrsM1h\n6ClaiRLaQjOe3MS0aB2kHCEJpspYjXWGfpRBhjaGSmFJB3ptSWni+vYnbPu36foBimIcenAa48+5\nvp2lNaS9YK4UKGeobQdzQrsiCdOyUJvBWJFgaVfASrUs1SuZlKpGinvAgJqxrhCzaEyd2WKtIbVI\n6KRKp8xCa2LYqxUKhiVK5lTZgpzFtag0qoK4oLVYFGO6JeaE1zMJLcO1FigtAguaIkcU1zHYjhob\n+3TAZkF4lZro1EDLhXlZqLWSSuRmd71mPRVD13G8GTi9c87N1SUX1zvSsuf46JScMod55gvvfYmH\nDx7S9QOvvfE6F8+eMh92jGPP1e4GbTXLbqbrNjjb04eRrj+nWSdA6QpVa3I1tNS4vdkxzwvOGXot\nQNlGoWsVPzpivOH8zffp7r3Ch3/wf/PmGz3vvH2OMj26t2yPTzk+7qmxsH/xEy4fP+D5xx/R5oiy\nim7jsb6nU4Z5lnB/qzCOPQd1YIry4LDWMo69UNBpnBydoc5fgeNT1IsnlFzXHZ0jayO6Z20INnDU\nJIJH0nhvOajKbCpHpmeXPLc3V5wd3af3G4nJBYPzPefxNTbdEdfXT/n44T9HuwPGKmq9JOdLynJC\nPHhaH4C0CtosVXXM2UFVWBVANXKFli2dOcYbj2k9MT2RoUqTzLJKgeIK/WCJ2RJCR8x7piVR5obu\nBEJMS9Qyr0kTvy66cqIzSWGNk567ttRk8bYHq0lpwdgkLFnVr0fpjPEBuItyO4LvX24eSWXCak2t\nmSVONGZKlbt/o3vJLFcDyqKUwfYj8yIAk1QWYmr04QyyktPvT2FJ/kWvz23RrFVQ96kUytr91LD6\naCq6VZzXaOWwTdzlxoAz0ot1Roldztj13sauHDwLWix8unqsTqSa0EYyYbWKMdGg6JyROp6uq3St\nUsokd6M6MMdLunCK1SdY72kCCsQYQxf6z3KYRksFsdZFyDMeWoaildgoyYD4VKqKNO0pTWAM2lRy\n3mO7Ri1Q24RSSTwprWCto+sGCjuSSrgmKlKFIdcijd9myFmm56U1nFoJ1qXgXUCrgRQTpR7k+AfU\nektplkqgpkLThUZEo3AtYJrDNkcXPDpWdC0UK62l2+tLUYW0yjJn5uWAptCyoTs6ocVIOizslkjJ\n9bOd79X1FVrf0lSltIWvfuWXePH0Mc8fTZyennB21HF5c8upOyU9ayydZZonjk7vcPfVN+m6EyE9\nxYQvWSbyXjHlmYahtURqBpcFUG2NZnd7wRv37tKsZrl8gj67yxd/+S9xuLzi6vKSZX7GWE+YLw/c\nPJ2J88J8uEEtM94o2mA45Mh8dWAzCHyjOsGMeec53EykHOmHHtXg5uqSVhPD0YZNv8EcnaKOz2go\n9IpMW3JiOczUIj+LluVr6Y2hGUtVPddKCEO6ZpK1wr9Mt1wfPsX61wl6xChH5yz2aOSw71HV0+5n\nrvZ/xpye0uxMXq5ZDs9xfSBnoYLV6oQ1mxUwUtIt1AVTe+mFV9FFGGMZ/AmhGFK5IOUdjUxDtMJK\nK/ou0ErF6A6rDSVngZqstCSjG0pVai4sU0S1tVefK615tArCRFTSW6daWhMyu3cG321Qpch9fkkE\n7cjVoKoUOlByoqux0SjUFslFct3OeKwNsoM0DZqE31EapZw8BBzMywGaJfhjVPOU+HOqu1BK3tgq\nG7SWjJbVegUFQ6wCcVCARQvJ2YppUhuDMgVp8ldas9SqpTutxZHeapbpWDNYW6muEhdhIWoT8Xoj\nYjM0xitqFQ+RapWUrlFuizKB6/1Djke5K22x4buXwidFaYWSK1EpDJXKxFInrO8BMd9pZYl5QmHJ\ndaaWiZID2lnG0Et3NlnmQ+JwuCbVayrnaNzafy90HJPrgaYupfOOXrFdkuAVG6UciZuWqJUCSiwU\n5I1idKCxrLU+QW61lqAmStPkKJpglS0dhqNui8uOkjLKqhXkkIVNSqRMkTlm5qmQcyKVxGZ7wsWz\n5xjdOPy/zL1brG7pVab3jO8wD/9pnfehdh1N2RhDuZ1uh0MIJCg0EUlDK4mEZBQhYaEkROLG3FkC\ngRLBFTcQISEBUhMpBDURQQpK0lHSdtJpCQeBSbnLUGW7ylV7V9U+rb0O///POb9jLsasouk2Jgpp\nwX9Vqlq1dtVac47vG2O87/N6FEmGChmmcSLGxOZgzfrgiKOjM3IqvPDCs+zGHavNIeN+INQ9MSVy\ndVRnOL15BLXh+nLEhIFbTx0TnaNkwTlHJmDWJ7hcMXGvpoNqGKdrbPGsVyfUccIddEzbC8y45fLd\nu9im4Wx1wGVxXDy5R9e07C6vKbVyfLghL1vefecBl+f3WbcGfKdAZtcTayElyFMk5kSqM6jD6R1l\nHAb65ZLF+pDatdRwjc2VGgdKSnjXEGVPDpGcktKlqMQQMLnQW0ssFpGWnIWpFLzvWYpl2l1zWb9M\nv3ma3i1orMMsFhgimZHt2HNkn2efWoZ4nxICDDvSfqs6xqDvW04VyQZrOpAd15fnODZYezyjGS3W\nOhpr1RSSRyKJmCeEiOBAHH3vyTFgRaliOSudLMakl5hqscZjrUKRY1R9dUwT02Rp/UL5VzWSwg6K\nx+BJAQyVVa+yqZoMtRQlgBkDZSDGgWI9Xgy5VlLVDbjUhUJzzCGWDtPuNEkzKXlKELzvNBa7BITM\nMD1SWZ1Z657k63z+GjOC5kB5r7nWmsEjs/hc3t9mOycqZzFKpX5PD2fm63jKf5ZoGYPyojMN1im5\nyNCSMlAz1hS6pgeqwoaNqP3OVEQmqmQwmVInYk4IC6RmLq/e4fDgBuDIRXT+VxI5JVLKpLxTgrYU\nckq6RHJqgWxblcCUAsUtqDVibY+zepO0pqPvT3F+S2RLLDtiuqDvnJ7oWelKIgbnvMaZlkipmSI6\nhzIUWtNoBAcWqnIUS6nkpA+JGEFEN/zvKSpSiZgSKAmN8ciVGDO5JCTvWNPgm4a0D6SQsKUQxokw\nBmpK7Pd7chZNZDSW3TjirKPdrBXskRMAXbfA9ZGr6y3FdmxObhFKg+1WnO8musUhX757ztnRMXee\nv8F2u6e0D7n7ypc5f3BFzg/ZtI6lF+69fsTJ2W0WywPEeprFEu97olmS3AlLH/C+4DZrSgTEsNs/\n4cbpDTha4oZAazsePHqXEgL7aUByxswz477teP0rX4YaadqOg8MjnDEKl0HIJCgRb1pa17NceIZB\n/eW1JqRUGu9ZLdeYtgNjMPstNU6YUqjWEseJrmuZRk8qkRgnjDgWtqERy7YEVhha47G1YlIilIqn\nY5smhu05sY4smobGPo3FIRSkOPpuwRguWDVHyJSZ0iU5XRPHLUVavFgsaY6/zqSUNVnSV/bjE0wa\n6Zo1OYGd419qjXMn0yLonF55CwqVWy5WDDISgyoWUlE6OrViTYt3DWBneDGAI8WRfd1SS4NrWkpu\ndOEU1a5sciGlwJY96/VqhtG8N1vPxKBxwKVkcoFMBJOpMlFKxbuOXFXor/G/aoKJaU9JmZh02VWq\ndqG1JKb0LtFczDXiL/78pUXzk5/8JL/3e7/HjRs3ePnllwH4mZ/5GX71V3+Vs7MzAH7u536O7//+\n7wfg53/+5/n1X/91rLX84i/+It/3fd/3Nb+viC4nKt3s305gC4JSjpwR8pzFY5v3tt/yXnKQMi9R\niY1YzctxzlKyzEVmxsph3kd62QlKcTNuTdmUzluMVep0ISNNpERDzZYiW2qqlNKw3cJqfYgkUYAB\nmVK19ZzSSI5q/apkataxQtuojtE53a6mFKnG4Eyjsakl4myHcUZD19qWFCdiCdi0V2xXcmAyRty8\n7WcmQFlynAnbiJ7mTuVWxugIoyQV8DurDqsc0dmxoEWcQs2JWjzTOGhJKBliofUecR1UQ9s21DxQ\ncqBpO+IwEXJksdxoiJWx5GJ0tmxVuTDlQtf2iAhXY8BSOTy9ycFmzWpzwLMf+AZOT4/BONq25+Do\nNk8eP6bajnbTsYqJk5MbvPbwVcouIl1ldbpg2j3h9Qdv0fmWbrlieXQD3y9JtmNxeIy3idZOVGNY\nr9dIqSwWjmF/xfL4iJAM3fqYdYpc73f4pufsxjHbJxeEkNltH9F2HbZ2NL7BOa83yRw1frbRW9A4\nbnWGPRSsc7TekSZVKKyWG3yrQOZsG8yUYHdNiokcJ1IMTMM1UGkbjbMVa8gxYhH6WlVbWwpL4/E4\nkghXFIZiCCYTtw94bJbUpaN1C3JRrKAmpToEza7KeUFMetMEVYDEOqn0BiFlCOMEJErdM8VrQrmi\n9z01Cg36zNSayblSSppvmZqoYK3yI9qq7X+pou191SDDvl9iMPqezrNCTYwVfXem/ZyfBbVUcnZI\njhoYR2W/nelIbn7sJapZZU6xtGJIUUdVxhWwGiUtoo4nIwHnNEUzJV30pvnSAQXrtBuyAqWOlDoS\nyvBXK5o/+qM/yk/8xE/wIz/yI/9cwRM+9alP8alPferPfe0rr7zCb/3Wb/HKK69w7949vvd7v5dX\nX311nhf++U+tVbl/ttHYUCNQC9Zape0wkqvVxDqCbnhJNKI3rxjTzOkDmQuKVNHi957uigrGYygq\nircg1WGKx2LmRL74fia6sqwFcZaCJeWJWjOpDkyx0BeDoyekRAwjSCKTKZIJYaTxnoJGY3jjqGKU\nvJPVt15KoWSjVvr5T7M2Yp0QksH6AC4wpiv9b8yNZsGkNLunWphzZkSMivQFUi6zrEpUJ0dRmRGG\nmCKlWGy0+FZjQnJVelOuFakRi1KsS43EMuKlIcZMcYWmXcJYsDZQ2w5iQdaJ5bLjYjtQykTTAzmz\n3+6IKekhUISLqyd60zLCcnmDao84e+oZPvrSN9H6lkcXW/bjyFO3b5Oy4YN/62N4t+Dy+gorHmc3\nXFxPfOXz1/zR73+BF24t+JaPPoUlMeFZtisuL3c0IXCVPM+uDtlNe45vbog5YFLEdZ4qlrbrKX1H\nd/sG5tYzHN+/x/jqFxjHS3Z3H9N4w+1bSx7e23G12zHFxNAf0blC23bQ9fSLHus62sYxjYFxGui6\nnlwy26vHQCRknQ93scDVpb7o/QozteTrc0ouWCKLpiVadfE470i50jjtUDo8aTfSkjFVD9nRGLwJ\n9HhibsnumsvdVynZ4lhi7IYadSkSoiY/1mxxtOSSiEOiykBtqjqPqnYvOWWmKZB2O4QRa4WQ99Ti\n6KXHu1ap/m1FopAmsFKJRWN/a7FIY3BY2oUF02GmaY4BcTRe4d1TCKoksT0xB8RaSgnEOmKDByIl\ntYTksSlTcTS+o5TI5dU7aqSQgSlcKlzD6OVKRMhlrzKq7HAiiK1zLIe+B1PYIXTknBATZ+Kk0tGQ\npJbMKjjjYUYy/5WK5nd913fxxhtvfM2i9y9+fvd3f5dPfOITeO95/vnnefHFF/nc5z7Ht3/7t/9L\nX+uNvvRGBGyjt0OTKSXibEPOAbFgiuipUKNqKv0KQTFkMSdy0V90KoWU1VObS6amjPVG0+oEIoHW\nVlIxiFiM6OnnPVQ0LIuZ0QeGkPIcE6wLErHCMF2oDSvpD1tT60S3/jWr+DZ7sjiMc6S5ODnX6QLK\nFVItTONE13dUKYS8x+aEMZX16pgQd+z3e8ZwjrMLjGm0fTZRRxjG6MNahWqFWNRDrbkvGp0rkrUN\nyUKIELnCGk9xhhIVaZfShHULRNOz5t9pIZcJTMDWR+yCpaSJlVvhmoZp3BFKQpwCpFdHvYKSjbbx\n65UaAXKBmAFnODg8ZsqFwyO9lbZOKDRELP36iKlccf/xjt12z9uPLrHOcfvOM7THt7l9dJMPXW11\nsRUmDpuJ633keNVzevMp/uS1h0yp5dadO9x57gOYruWp0yOOT9bUFNhuBxKVg6NbNLc+CLYjhx5q\nojt8hoPlQ3Yh8nAI7Act+vSHLLtDzfrZXrMb9Sa0OTymGkOqajtslits15NToml6DmxHGa8xs20x\nHqxpjtb6uxq35HHPFBJTmFMTjZBzVZwgWfOcaiVXzdVp51a2lsw+XVMEnC3Y+Z9FK0S27MI9pK7I\n6SGmNNRkQTKd8zizYAhxfi4jebzUpY+gJK8qlCKkOBJzoHEeEPVgl4lq9qSyxUmL8Zpe0JVeo28L\nSrSXgLEVIVHKpLduseSUEaPgnJzUpGKtJeegkjkRGt+QkzCFa4yxMxW/o+L0WYwTvrHkEgjxShe2\n0mO9R2zByBFIZgyXhDhhTNUcsBn9WEqdF1JCjhM5F0rN5CqkOlAp2NohUtQdZRW/WP+qRfMv+vzS\nL/0Sv/Ebv8HHP/5xfuEXfoHDw0PefvvtP1cgn376ae7du/e1/2BrEeOYYp2lKrrFVqlExTlLa3ty\nLlTRjG3bqlfbmo4ULMYmzWQmYavoILqEORTKo1kpKmpXrFuFbGakm26gQUnUqSZsowNwEYuxBUmW\nlANWGp2fJiHEHSXb2YqZlTCPLmNKhpw1j2WUQWODEaxJc6H2GDMRAux3ezAR5zO+eLpuTetPWPVP\nI/Uu17sLYtjibY9U+/4c0tiZYiX6M8xZPfgiyjW01qqEi0KpGjuQc9B4WrF0c3ZMqUIJ2pZUSaQ8\nIaK3zVoSsXqkOyVLItSMsR0HN26zuLNApsqwv+TJxQPyZLi4esiUIvshsGgdq4NjlssjusWK6/GC\nguXeW4nOt9y8ecaqc3T9jBBrMuv1Ac5fc3LrBl3bcb0duNzuaUzhw9/yEgeHJ7z9lS/TDQ8o2XP+\neMCvRl76+Hdw69mPcbU9x/vM8e2Ws9MD2s0B5xeX1NxTs2WwRyAdvjsF72jMligThy++yMM/PCeb\nx4y7rVoYt5eEMbA4WOvopqpDZXf+gCJCzJnVoqftOnWN5cQ021R3uyusF9YHN5HgmLYT1idSSXTW\n0y/WWDNAmZT0Po+EUoogRu2BSaOYqcpisLXi502xKZVDJzgMe3Fkk9QcURMxOnIQvKxxzpCix/ke\n7xK77agtcBj0MRJQu4Ih10gKATu3rwY7O+garNXCGeuEbxtyTjOQxkLRGbkYQwwR6wKYmRFh1IZc\na0Yo1JSQrIsakYRrdLRmnWoxU94CDlPXWNeSY9ZuMaFJmX03L5YMYj1iFT5uZgxkLxus25LLJTBS\n1OxDSAHnwcqKWiGGogCcGpWKxHzbzrPppWgumYrq/38umj/+4z/OT//0TwPwUz/1U/zkT/4kv/Zr\nv/Y1v/a9ON5/8WOtnTfoWa/IxmJMM5vwA9Zq6h3WzqFLHm86naFIA85i6grJlVx3FBEgUquhcUul\nPjuLdZPawWrFiH7PnMBZg2+8puxVbaVTAcl+ZmpWHVybCERCKO+HUzm7JEwRbCTmQsxRs31CJJWi\nPvbq8Y1FJLHdbWmadhbPR20p5jYup0grG7xd422Pk451/xTDkNlPO6Tm2e/bAQNGkpKTcPP2XDeA\n1ugiyljBiNWFTp6dV8XqwshZoo0qLZJWgckm6AbaZowpNFkYh8LyYM1ivWDV3uTQnTJdDVxtdzwJ\n19Rhy7i9Zhqu2F0N3H76aZquo2B4/O4lj999xL38FhXP089+AyenJxyenUJNXA7XHIVDLt58AycL\nDo6OwRoODk8Yc2bTb7i9OeH+w3dxVuUvB0enfM/f+wH+19/+B7QhUcdATi37sRDjRCpPONxsOOpb\njOtwfsnpc6cQoaaM+DXVOmhWWFGL7vnddxievMO7b9+ltwmXA5dPHrLslvjNCuMdxjX43lCqYYoj\nfb/AWa8EoahMz8P1ijQGas2s12uOjs/YnJzSHB6Abagxk7ePmcIEUeVhecqUaWAqI63oZrmWqA6w\nmHR05bRDMqniqtfDvC20thKz5To4aDydh33Ql9xKo6qJohCcVM3srMmkvFfCUoGUE1QN1CsykpNV\nEnzJWlBQ+pFoQAHWRGqNtIueahLRWBgsMQmNW2BcYZwG7cAwlBowRlvjVDKlCGMcEGuxThF072mM\nMQWLoRSZY208+KhxKJPDUNiPmvNkrcyLJDNnqKs7jllPgniqKKshhAnnM/tpoG+1jmAMgsfZFskt\nxuiFQsShO0tl5FL9161//5+K5o0bN97/6x/7sR/jB37gBwC4c+cOb7311vv/7O7du9y5c+drfo/P\n/eM3qRVSKTz1wiHPvniqEI85O8S5npJVY2ktONfg3FLnelUJPYYGpKGEgEiac350Xul9jzGC9wbj\nG6wplDqR7Lxln617OWVyiSTUSeRqg/MK381moFpLiorGSjGTkm4TEV2ipAKIRlpQIcailBSXyEVb\nIWcs03SN80IuFZlDnlKsOK9F3JoVtRpqHbVlMw2gkASZ2xVrPDGN81zGUYujSsYaQ6lxPvk1SraW\nqENzdHhvRJcDuWj2UZ3lSrlEKhNIZtGsOexucvr8HeLQIKFnex6ZhndZ9g0GtaTWdkUuHmkOufW0\n5+LinDe/9Ab73QXtwnF4+BQf/eC/wWp9xPVuz8PHjxjjE1YHa77xQ99MHPfce/iQTX/E4+2W7sGC\nWoVu1fL2vXcxxnHj7AbX045xu2WzOebkzvP87b/793n5s58hJE9ZnnL81B3cBm4cHrJZLDHec/7o\nios3H2C7Hu8cTbfm8LShXy+xNVGNxTcd6/URnD/i6GTNW19+nX7V4w9vsQ8DZRppqeQpEKdJRxC+\nYbvdUYoWx265pm87ckos+p6LS4UQu25JuzwhWdF5bs74/oAigWQm0u4aMZaQi3ZEVrshXcyAGKFx\nDbUUMELrhBQqYy6klJFSaMTSySG1joQ8gBkoVZ041rYgfoZXN0C/ZgpTAAAgAElEQVRPrU6f8zxh\nrGbYl3ylMr3iKRSyUR4BFWTUILWVayg5YN1E4zMljJjOcdgvCM4x7D0pZKztsPaQGJ+Q8ohIIZdM\nKhFqQy5CrIkaGjwJYytNM8dSe0cMy5leNsfVWIupomyErP77lNQs0EkD0VKsxo4IhlQmSt2T614V\nE1ZZm3lWRUzhCmpLpdP8I2kwTuO8pS5IKfD6K+e89eql3lL/VbTn77zzDrdv3wbgd37nd3jppZcA\n+MEf/EF++Id/mE996lPcu3eP1157jW/91m/9mt/j3/73v4mSLcXO5vqU5jmhQ2hwVsiibWlMSUXa\n1QCt+k6LI5WCE0vI+u9b22Do1IZFo6mRjSeXHV1vqDkxEkGqnlJJiKkorTwXXGmg7xDrtOA2hTJp\nBnhKkZQLuQamXBTDZpMSocVQUO0mYhlDJKSIiQXn3ay3TDTGULLKqaYIJWsfcV0u6PsVy/6UGHVT\naXH0fkkpdT5FC7mIbrxLmhdeWbfr8wbdSEVqwdmebMCZTOM6hrgn1R25Nljmr6/Ky6ypIibxkQ+/\nhPWW+++8zZdff4XjzS18OWLhT1m2h5hs6FxiGAeSeI5vHZND4atv/CmXjx7gTOVbv+M7uXX7w7zz\nzlf5Pz7zP/L4yQNOb93k3/t7/yG2P+Ltu2/xv/zP/4iTm2f87Y+9RO8UwzeNE+MYWB+uMMayu97x\nR3/4RxwfH2Oq4dE7j7nc7tlsTnBHN3HrAxY3bmAWHuMNi/6IkkaGYSCFhHGVcfeY1K7Adjx5/ISQ\nLKuasZ3HtC3d8U18SSQbwXekNFFCIFahwRCmHVUycRjJYSKHiHcObx0xRMKoSyAaj3HCwWbNen1K\nvzmgmozPLRJH0sUjdtdXpLDHOEPI0DUdp7efZ7jest8/JoWB1aLDWIMJ6EHpHCYF4n5AaqUzKp0x\nxutMtQoRyxBVZ1tzJadJl57WIuqkwJSG3h0Spy2IJrkaosbCFKEkQ1YzsxobrCXs37MROtYH2pF4\nV0gZSjaKL2w6pLYkFwnRYUxHKZDynpIdvtHn2xqdMUIllqQ/R++UkWsV2+adI9UIWCV/Va85WFY7\nz6XrVQsctuR8Tb8y1AnaWikUxEKOI5hKiAlXHdU1eL8ghsxuesyyb+etv1f6mVOQdywJsYYXPnLE\ncx8+QKowhC3/9H9462vWrf9XRfMTn/gEn/3sZ3n06BHPPPMMP/uzP8tnPvMZPv/5zyMivPDCC/zK\nr/wKAB/5yEf4oR/6IT7ykY/gnOOXf/mX/8L2vMgcipSTesffw9I7BeVConEdORmkRkqqiPuz+SEG\nlRsUwDjEZ1KqWNOQq0EsGiJmCkjA+kh1FY/mm9TsEAc1CTm1GjcqC1JQ6Ib3YEW0fS8wBdVUZqNy\nhZgHyBVvq1ows84PU1BtJKIRHW1u8M08O6oVisbLhqjxqCkZELi8ejzHbLznoAFXe4SemPbEFEgV\nclVBv3W6jSxzWqcK2i0UQ5oSJcssU6q0zZKuB3GaLe3m2zaSuPnUs3hOePfuu2SuEWs4O7kFucEY\nmPKWkgJtWugJbVsOT3qur7ZcPH7EnTsv8JFveYm7b36Jr7z+FV794hd58OQRd24/w3f/O/8uu/0V\n/+Sz/5TqLN572u6YF198kTdef5M7d55mHCecbbHWE6fEOG6ZJpVJxRC4utpzujnA24Htbou4hoPN\nAY/P90z5Psv+CTfONrQu4UzFeej7jpOTm7SLNdV1rFanGNPpIq0IaT9Q6khdLlie3eHZzSnj9RXD\n9SXjuGcct6zmm0owHaNcEseRadKQvkW7YBq2pDDSL1YU69gcbug2HTXuyUPBNAM5QWk6+o0hx54Y\nRmydSNOOy7CjGEO3OqJpn4IcidMOjCPnqEaDKrRNgxTLEAdKyowpgTesxBOqILXDDpkxXjDFJ4xD\nZLV4RouuiUryMSsOl08zxUsqo8qCbCCTSLEyxVEXN2gGFrVh3KksTySyMUvw4FwkxURI+3kZOy9x\n65JMT24qIYAQSHFAjM5HmRUvalLR/QWS0YztoiYXo4QjY4TO95QIgiHUSs1C4zqkVqZ4xeXlfayD\nfqnvqpgAkqi54F0z15AeZ1qa3lFYoFJ5g7hCpcWZTsHNTdSkBCI5q/ba/SVV8S8tmr/5m7/5L/29\nT37yk3/h13/605/m05/+9F/2bYmlYpyGlcU0v/RZaSapZhppMM6xWDjGFEghKKjABYpzGKObOKmG\nmqxawqrOZJxfKonHWdVyWYc1hmyCYuQmIU5A1gF7qoacHGGyODQxrzoza9EADM6uqLVqtojrSbkh\n1nN1Jc3a0VqKbuxKVsmFE1KpaOx5hFgBSwwZZmiBtyr83Q9bUglslgsMjW7NrcXiqWVFyjvCNFBw\niNtTUNKRcVlvAKUSo2K6StGM8YrON7vG03pH1zvE7hjGa5aLDacnL/LmW6+T6+ucrI+QamjoFb5Q\nITPhbYtNPUaWNNbRNR3biz3Wej70Td/MeL3j5Ve+QOcMfdfx4OKa7/7u78G1K/7P//2zxLjj1s2n\nGYqwWJzxw//xJ/iHv/UP+Q/+o7/P7/9ff8hzT9/h6upaSThiSSkSQqDrOq6vr2lcwzaO7Ic9YRh5\n67WvIN/wHIfPnCHeEXPmajeR88CN40Me3H+A9x0HRx7rJ+7cfkZZpCXAJNjFzLdKUJuO9vgU2e51\nE2w8hkfE7SXTtKdQcVI5ONpALJQc5meqkFNlCnqYnR2fIdXQr49w/ZI0RcZxS9uv8G0PNTKeP2bY\nbRl3V0jNNK3DiiOnSIgjWI/3K4pMLG0l5UoIIyEZhW+UTK2FphqmkiEbGtPT5USolTjt2A2JWi5w\n5gDX9+/bcL1dUoP63UuN1NqyD+eITIhMM6NSI3Bz0flmKY5hp++HlBYrmb53FPTZLjlhaHS2Xg2m\ndLTmlFXbMsaH5CqUule1B0LfeyIoC1Z0ZiuE+R0TBcjkQJGJUrdYv0RqZWF7alpQyTR+iY0dU3lI\nSFt2+y2+KRgbEWOwRm2/zneA0o8QMKihxXghpkmBOkbf1ThumR0gmmprdIn69T5/fY6gbCgygTQz\n8NSSqTTV4n3LNAVaa2jcir4tXG4fkSUgU5mlB41uHnMC9AdQcsa4oNxNsYzDiPMC1ulySToKAeej\nUtCz/rKcF6YxE2Mh2Y4YIxjNQwHVvJms1rOUIq1vlTifVSjvnCFRkFyBMoOOtYDlEqBYEL0RxhjI\nsRCniHWGtikgSn6JEhhMZdEssEbHECnOA/PiKWlkShHxgabNiFFRu2TVfOZcGadA0/zZdtM3LV4E\nZwYaByI9d57/Zu69fY+vfPWPqUUwsmLcQ99lSh4JZYtzKxwdhkRM51AHSlpTa+Xm7UN22z1fffNN\nJBuevfUcFxfnLI6f4sN/69v4/B98jjhds1lYmsVtrvaBb/nYt/Hxj38b/+V/8TP8Z//pT/Bf/4P/\nhm//ju/k1Ve/hFA5O7vJbruj6zpqrTx++Ihpmtjt9ioFipk4BA6Ojhl2E/HeWzz97B265YIQlOCe\nMRyenOHbJbVaFosNF5dbQqpgLSdnB8RBA+TEClbAJGidw5wcY8eBtm+RWhkuH9BZy7Db0TjPjds9\n1xdPiGEkpYiVwmrhNUveGbp2Qc0CpsUedjAtVYQ97tmdPyHur4lBpW2N8aQQKTON3wZlH9RuQSmV\nUHSTLUZwXU+I4LKng3mmLjqvNJ79NJHjBTV7pqnHSmHYD3Re7YZ91+ozbB1hnB11pcFWxaxZVzEp\n46rSqqCS0pZaW0qx+MYTbeHySdQZek2EMJIHi6kTzjQYY7TdnaCxPTUdkmwhSyHViJVWDRadJ6Wi\nIXwqpHx/UWWtxmbkvCWRcK2nMQdI7WgWPYIlhKDQ8nSEMiYs5J3alSnMvkCcPaDooBhrdQyQUyZE\n3WVQCqkGQkiMYSKFLaVWXGPUVPCvSnL0V/3EkAjTiJvjGnIqhJqQMeNNi/MNVcA1SxZFmEJhzBfs\npi3WRxq7whg/pz0mck6UbAgM1HpB9Su8OIzpwSpk2MSilBMTSJIR4/QWmg3eiQq6KeyHPb0bITYq\nLaoTvuk059k1FCrGFHzV+AJbzfxjLv9cu/xeXLBF5ozolLOCC8bAOBS865CaMWbS7BVvmaaEYWTR\nGMQKxjRYBx5Dmx1TZn7QoFSwaJ5QxpCLbktJSrfPuSLGzeR5jxg4Ojzi0ePXCGGHtR0xGYpkprRD\nksG6hIREi6Pxa8R6nGuoudL3K45Wxzx6cI/d9YC3DYt2yZQTdz7wQbZXF7z8xy/T9Au805z4YYQP\nffgFnrn9AX7lV/4r/pP//Mf5zP/2Wb773/wuXv3Sq2w2a8ZhQIxmT5ch8cbrX+XR/UecnpxinMfk\nQq2Zg4M17vSMkBLjbse7b7/D4eaQk9MDrFjeuX/F0dGGzvQcbNa0y56K0K06uq5lNw50bUsOgabt\nmcaBEAM5BFLcUYYtIcPqqedYnN7m4s1XGcdHnD95GxPBt7phjiFQbWbReY4Pb3P7+Q/DZoOzjuni\nMTlc0EjLlDP7ccRkQxj25BQZ91uysbTeYrzRXJ9mgTiPEXBujlV2lpgScRqQFOhqxSBEgUollUDK\nE7lGTA7kvJs5sC0lwn63xVqPkYauW1Cyw9kFOQ+kkIkBqjXkojALg1DS7PgRg9CQkyWFJc1yiacy\nbHcKxk6BEAakXNJ6S9ecaLyGabEkvPWk7Ei1YJ06gxrjKEYPd71ZJvLM6FRaewVUG13rRIxbjFuz\nXh2wENW7jrKnZqWB7YbCNE2IK7iawaV5plkwztN3R/pnWYHaIpKodZiXXwZhAvSgiOqzxiSVfRlr\nv27t+usrmiUyjiNtSTTek0tmCDtSzIjNLBdHONtpzo/vWC832LFwNV2TUsDUESNxFr4Gcs7EGDUT\nGWGfEr3vMTYjOKwpeJkzU7zHWkimYm2msUJpHWY+bXOZaHKkOnUNWDMvWholqk/TqCOB2a6prUhB\nyTCGnCI5B1LqcdbTti2lTKScybXMG+1CzoaUMzU7oq2UKdFgKJyrUNc26lX3lloNrfMsuzW7MBHT\nVmlKUjRUSixFmBcCajfNRU/YvtlQSsuN0zPOn9wF+5i2OSCMnpIHjEtghXGaMCVi8h5rWqbc4Rdr\n4li4cfQ8ve/5kz/9v7l5csZ6fUzXrrj31bf5pg9/I6+9/iW8t6yOj5CSkXrAoycP+ZaX/g7eH/Df\n/fe/yd/9vn+L3/nt3+a5Zz/A5/7g9/nGb/wQr7zyxXnG+VVCCIQQuLq65GCjMN/N5pCcEturK6RU\nuuWas9WCxw8ekuLEw0cPuLw+5/T0iNMbZ+yCoV16Lq52iLUa5RA9uSRWBxv2+z2b9SExRFzXcbHb\nUcdL7t9/h+ODNY3AG1/8PDHD3/m27+H83Xe4eueLnJ/fI11fQplYrU91+WcdpUSeXL3DwapB/A3a\nBUAi7LfUkDhoWmKBq8d79rtLdcE5S0Xm5aVlGAZsm+maDubBijGWFEdqyph5dj2OW6Y8gZup/Bly\nmHAZGlEHulRhypk07Fl2C/bD1fsCb+sqOVtisgyhII0+j84pyMK5TIoTxmgIXLvo53QFo4J3YzFS\n2E/3lXNZLLV6apm100kLaqma1aU3Ce2GfNO+L7w3tkKNeN+r7ZmsSapSFa5dKk3TUstECFes+mPl\nJFhd+jhf8dkwDjJv3IWUIyYXXFfYDXexLuHsmpiEPMdo5+TJcUnbWmU3lEDXGZxtKNkwTbrYDePf\n0GC1qVyDKeQ6ErNHxFIZGdOAnzKr5SHOepyt2OrJ3qggPHliHLFmIr0XOlaqRlcUodSorbLRdMqU\nLVAwrqG6pNnec0vPHMokBhonSIvaIst7zoyBRkPGtSUznnGaCCniHag4VnN+SBZKpWajPmURaq4U\nKmlSx4/MWlFrLN5rzChZZkBJYdpPVNyMk1Oh/LI5wpleTz9vSaWlNGumEig5YlwFU6FWpBiqVIyp\n1Fmom9LAdl947rlnefvRG1h2UNfEIroYSoYqhSkN5DzRsMTnlkkCrrnk4vGWF5/+19hdXbCLV5yc\nHENtmabI44d3ufXUU7z8z15muV5QK3T9gtZ1XFxc8tI3/+vEEHn5C5/l27/zW7n/8DE3zm6SU+aD\nH/wgX/zin/Dss89y9+5d2lZVCKvVCu8skirGZEoZOTo80JgFI7RNT6Vy+/YJVMPl9SVXF1ecn1/g\nugWb444QE32ni5zlYgFU+r7Hzo1XihN2sSCnyNFiwa4OrPsFD+6/RdjuONtsuLx4zD/5n/5bbjz1\nFL6D06eeY7g8Z395TuM965MbHB6esD68oQsnMileUfFE14GfGK63jPsd18MexLJaHjAN16qysGa2\nA8d5vqejHZm35KUW+kVHLiqvm8aBputY5ol9HNmWwqGz7GImEVnWSmggYohVw/rGcYvIUpkHBUQs\nMUWG8Zox7hC2tF1WCdqcJeVQqVzruzkmV0h1UoC3/vRm91zB2EAM19QSadwRpQqBnapMZMJaNY/k\nEjDFYEw/R1+XOVl2whqoRa2kahax6ihLic57pjFwUe+x6I8pEsEkMgmxMrflnpQCY87UMtKIp6Vw\nffkO3j/COqvx1tki9YCaOu0ygVwTMQ/EGGdjiiNGKPFv6E2TrPDdnLK6dSx0nWcaEyFOxHLNwqxZ\nNGcEM5CLpfEL7ORJcUtyI8Z4YswouF6jbpGqyXw1YcqIsR6pBZ8d2WScq+SsLoycDGAVBlDnM74k\njAipVqQkBZnalpwrw7BlioFiMsVokdKMZIOVBc4bTAbJjlwi3gtQsEXtcM5aUlG8mjbWKlMSGrpm\nllmFcbZ/JShVXTOdwxl1LZkUqVkfrpLVe2uZ/we8JUwqSUIEyYa0h8PTY9746p+yPBgxlHnjuJqh\nKYUsdXYyaeZOqZ4k1+z3hg/c/jj7/Y4ahb5Zs9+NeoueLM8/8wyvfenLrJYLhv2OzcEhi37Fdrfl\n2eeeo1a4/85dTk5usOg3vPbaGzz3zHNA4Qv/7GWevnOHR48eaWyyMSz7Fftxh9TKwcGGtm2pAuOw\npXVC03gODtbst9c69jCew5M7PHzQcvXkknHcsswrqJ6+W9I0DavVipwTMSg9q+97Lq4uOHAG41qe\n7C6RGJUcHo9ADE/Oz+lax7O3Trm8eEBtW+g8x2c3uXHnWcIQOD48YLM+wK6PMAfHlKEgjOzTRLs+\nY3d3R9pPbC8fkqo6srx1WLGUnCmmQPmzMMGma2dhesEaozKckqhZC4hm2SuN3GZoMiQRjmeaUBTh\nyiVSjTQoKWiaRkIccLadZ/4z19UaTGGW2k10Tm3MRipZQEqmMlLZk0ulaRZshx3rZTN3UKoTLlVB\nGjls2UehWkcou7mbmt5HKBZJ1JIVeGJ7PeDJOKOHRapBUw1MS6094oLO/8OEAa53T8jZqgqFHanu\ndHmGKlVymRe5sUFqxVLIdk9KQuN7jHOIqCQql4EyKjFMjCGXSEwDIKRkoQo1t1+3dP01RviaeQ7S\nKKKJSOs7pCyZpoHtOHKwajGuxVGxblLXkBVSEUJIWFtBVBDsrCOZjFRtGWKcEDNSR1FakCt0uRJT\nwMyc1VLyvEEUbYExpAQlZ2pW8lE2GtAmaOpiipHqC756jNGtvJEFIk4hqbbBeI+RhHOVkPbEnBQt\nVrRtLwXiBN50c/FToXrjlpi2ZUwDMURGChd5i0jLctHiOvXimwIkBSqn6LDOg2hL5LzeXlLOTIPn\nQ89/lIeP32KzPsSWazADtVQsFRFN4as1YlymJH0kjLVIgeeeeZHHF/eRMLGuZ7iiAWteOk6P7vDG\nV17n5umZio77BdUIpcLpjTO22z3GgnUNH3vp4/zjz/wjPvyhb+T8/AnWF87Ojjh/8gjB0nXKDh3G\nHcO4Q1JkHK8IQfM5bhydslouefLkCSenx5yeHXF9ecli4agi3Lp5yGbdIc5iuobVao1vGpbLJdaq\n1CnnTAiBtmlZbw6o0x6RzOlzL/LojS/QWsvh+gM8fniPrvWMwxUYy53100zTiPctzjiadsPJnZsI\nhdy2uNWhFrrGEEbP6mBDyBPrm8+zDEBJXFzen2d9FeySXMZ55q2diogwjRpYJyIU+54CQsEsJRUQ\nS6lFlyZiaEUo1tOkQtpFsjP0qwMIV4SUMaaS9iMhTCwXB4AlxEiuI0imbR1RHE2j89Guaahp0pC/\nmonhgiJWOZXFYnCEKeC9YQrTLMszOBOgRGIKZFpiyGT03ZOis1GRoss3FC9XSsJURwoyRz7vKGlC\nTMWagtARoyOlMPNfJ652d/HhPUyiBriJcdQYiThSEVrnkVygeFKdKKZipSWWALMOVYojlUCpCesK\nlIyYNM//PWHc4+RvaEZQygPWtojxWHFAIcWCwWKko5YFpQqZCUQzTTRgScXoZHW3eN9oVKlRkWxO\n7/nCYRyjwoSqo+yBRnBZ/d4xJmqpqiEzBUyedZuaUEmGUova10WF4GIgprmY+qQRoq6j5E7BHKK8\nzda2GKcLJOfNvL1PupSxLcU6ohUEjzcLGtvSOE/jIeRA53pijcSQcWLYb/e0jcE0dt6oW8Y556Wm\nhjKT76sxQAAKYaqcnT7H/XffxjaBxi0QseRiqSYhcxiW85USVf1qrCK0ah443HyA7W7HdvcWB+55\nakmkOCI4bp09y8NHjzg9OSGmeZBuhOVmw9XVBSKWRb/g3r03uXXrDn/0x3/A8y88z+XlltPTGzx4\ncE+p9zljrTCMe7xvFAdWBWsqzgklRxrXYGaKlKGw357jDg9ZrRfUkvGNY7064OD4kLZfINbRtgsW\niwVd24ERmn6hpgmjywZrPbUBKRH2W47ufIAHb75C3T5hc/MWw2WDua6EZHCupV2fUtLI4vAUsiEN\nI4uT27THx6TthLhMjpPCda+22q3gKd2SxcGxAnfHa6ZYKPmarms0d9xYpVNZR9M2egAblbqJiOIE\nQ8F6LSDGGozRg6LWwhgnplKYxFKrw7mGRWtpmqK5QK4S4kBMHdBQyUxhwHswNapzJyWaRjFtSmjT\nAmd9VdK/tUxBLyPjvtIvFH6d0h7nEoUM3s2Yt5E4WZIMNK2mBxhTVLeZBExHqRNWhDpbPWtOqtU2\nEVOVzCTFkoIup8I0qYun0bGadQYMiOkQM5JKUbaCabAuYUwmx4TxLbZWUkiMMWJNpvUVI3OBbCwp\nR1KNs+e/zHlaUMr+69auv772vCZS7sBA5xtsFUKs1GKhqHDdmlZBGCXjnNJ93nMPCS3VFQwJsLPM\nx82g3YSxnpwLY5gwNlOLV1hxVp5aLUp+0ZO9Yo3CE4ypuuWOCduo9KMQlQotAjMcQzX7HlNaqB7v\nLUUqJe6wzilphULXtGAt++lKmZvGaaywEUqGxnm8bVl2a7rWM8UdU4o0pmFXB8JUaAlM4zWtXSkd\nvG/ZB8MYKiU2GmIlBicNzlViyNw4O2F7caXpgbaB4mjajlAKyE7J5+8jtBrILY3bYMQxDomD9YZ3\n732VVb+BFJgkkPMa7AGPLh9TpXJ5dUFIyg04OT3j6uqKp59+hkcPLxmnLauVjgCaxlJroW09T548\nnscPlff0raoxDVTn8NbjDHRtw/XVSLaW/bDn8KCja73696vaOa+udtw6WrFYHFMEuuUK27T0i15F\n1IAY8G2H9w0pjzSLjriLtIs1aRwo4xYxS25+4KNs33qVOI3cfP5DPL7b0qYBI57FcoWjoS48aZ9o\nxOCmQLm6wm6OKTkzXu4pV/dZmEx69JBtrSzXR0zDgDE6R+X/Ye7NlW1J0zLN55/dfQ17n32miCQg\ns4ukDVrowgwBRASSG0DAUEBDROQWSCQMLgBk0OAOUFpAwdq6O7FKoMkhpjPsca3l7v/cwufnVFV3\nVQqUtWW62bYIizixYw/uv3/D+z5v1zhnWNeIsQYTmtzjenvRd3HRhBBEC9nZjBOdnGXkYrRDaUta\nnphTpGnPYdhJHO5gWZJYIbtRuNWQk2VeT9D9ds+KesPRKFo4Ca3KLDU3SX5sTaMZaF2itoUvq2gt\nc1kru92IcYXaTjgnBY+2jTqLz7wiJDBrO62tKG2ofaW1E96MgIauaaWQcyVRML6gmhzmtIzuEymD\nJK9a6F46w54Fa7hNYbGGXkT/2VWXOOLSpaBQss+Iq4Je6H7BDxJG2FKhfUjcrJ1WNIogyy31MzrT\nbBvqTXVFjhqtPYpCqVWsV6nTcqVuqYuyUXMYNciNg6c3yFFKcKUyylqWRbblWoEJltI1ikqtmbhK\nlk9JbWuL5O2OUpIE3iHnCCB6RzdAkSiCtiG7lO503clFMziPUpJzYqwn94w1Ha0LxjlqCyhdBEpg\nFLordJUMdmsVpWu6FvJ5SR2722HtDrWcRRxtoaGovZETOCcthTWGYZjIbaZWsPVIo1BVRgH7/RXn\n+cycCzv/EmcCtI7WAa+vyF0R88Jgd9TWJPXFBLx9jlaBX/z5l3z+w39hMoGaKr2dUfWKYbrmG598\nk68/f0OZV7qWyInr6xsen554/vIF3//+P/Pi+Svubu/55V/+Ff71X/+VX/qlX+KLL77g6uqKGFcR\nHOsPQmdFSkkywjuEwaM6nE4nhmHk6fTENE6s64W0rLw8TtRaxZpqBLJ82DesGxiHEesDKSamacI5\nR6kF6x1ohTEO2oAZO117TAi0oKhLwWXN/tU36U93XO4fufrGLxMvt9S4+f9DwAwHFBk7OXGAXRa8\nuUfvj+xfvCRbg56fCFeK+ct/4uuv/o3p+jmPj3d46+RB3iRp1li0spRc0ErjtNogNop1XaUwUBIs\n2BVoNdHxLGmGXrk+7FF5x12qtH5mbZDTTK+Sj6V6YZomtAqcTpF1jZSaBeirNXGJmMFQomzhhQon\nM3rNjpREwtc7Qh0qAoQhN6xZGLXfOq8L2ngheqlGzI3aJZxMdSf604o4cVqm1PMm+2lbThiAIkWH\ncQ3NIvdq06QkdDBjhMerlNsWNtszvum7lb6IDhrp3owR+/AbxAAAACAASURBVHWvAtxOuYg7q1XW\nMqNtwdoslXU1lGLpzVFLxRoveUI/4fqpHZp+2AnduUHJjaajBJRtwnA5SCJzF/pJ2fBmwe+oXMki\npxvZVHvxoIPB2RG1zYOs8wQcqFXmOUXkFtrtKC1vURqajuQ61y7SnlIaOVfOc2S/G2TOojpm433S\npVItLuOdxikv0onuWOKZ1i5MUwOdgYIEQDVJ3WsrdIv3AarYR60bKdmS5sJuvyPYRjaR0mQTXkpk\nXTXeR6CjlRV3jpM3sO576CsKodeHwfJ4XnHO01VGmRFl7AaI8Oi6hy62UWc/6FjLlkJ5zeUpMgwT\n1BGfO0EPOG7Y2WfcvbkjXy5oFKV0xmnk9HRiHCd6E6dHCIFp2vHu3TumaSLGyDAMzPMsdjpjhWfa\nt5ZIa4knbmKpM9oTnCHGlWEnkN+YVnqTQC4Gxel8wRhFro1GYwgB50Xb+2Gx1HrDh4FaZcxhg6Om\nhvaetm2Te9cYP9DWSB8CanrJLs3M64ndzWfky4kWn1hrweeIP1yRY0aHgJue0R8+h3c/og0HejpT\n0z3r03v8/gbTFKf7222LLCaJRscZs7045FBkMz2AYAx7b4I+0x9iXRrSTWn2g8jg1iR4udorFcNd\nbbSSQXcqmVoiRg9Mg4OaKOmBGCtLWrFGqEWmNmzQ+CAVGXTK5k8vRdGKEeZml46sYzBaM8+yXFIK\nDFXmpOww2tFLISZFKxYVBkxQqCwyI6UaKS0SZ6GEHlWoEmWhBzoC/daA6uJb781RUsEZxRB2tB5F\nYtg6ujesK3QlBQTNCpRZO4FwN9GE9mYpBVFjULEqg4o4ZSjZkbOmpUZXmpYLdvgZrTQHfy0WyOwo\nKFqPeOPQxrCmyBwv3J9umYYj0KXKo1ArKDWBmjddl7Tv3QaqlhmXqp3et4fTGIFxaKEP9cK2HVOA\nEKJbU9sDJDeGNQH6hbgW9vuOG/Q2MO7krIix0bUixogzCWf3eOvQ2rDbR5Y509uKdaLZbVU4oSkn\neVEgeUcuKHEfYaA7atEiLfEGHQ0oRUVuonVNKLsyDQO78cBoNc1pqvZYHEp3Yl1xRnOJD0yjJUdP\nK4VuMqUqbHc4rTFtxFkwBHTb4d0gVVksHMOOy9OZgz3SVJMOIBse5hPXV6+5e7zDKYGlDMOIQuGd\nYxwG3r95SxhHvn7zJS9evODh4Y6XL19zf/+Ic4ac8ybR2iJHtmiTEAK5iK+70+jaUir43Z7eKrU1\nNIpxN1FqZZ4XEf47jzKB1BqmV1IpDONI2WQ8y7Kg0HKYaygRsHqbl1W6CqjuZAY5WEzLtGGCDr4/\nkk7vsYcrWl6xqXJ+/46bb+ywuwnSSp9n7KtvMv/433DvvxT4SF55eHrPQOHF8xvm+T09RpQL4hLb\nwgFr6+Q1Mg4GoyzeSpT0B8j1sqx4v8G5FYCSw1MV0TJjMaax844lZ56Ne0qurOXCmmZCcGizE5vj\nYNFHg+meLx++IFKElFY7YevKaq7kmqQj0pnWRDrnnYwP6GKfrE0zhhsRoVdIpQsQGLEGD25giYW4\nyjxTbMgdnTb+ZWvbjsCgrZDFvDV4Z2isxHihtYzqBZA5bvCBcdhht0iX3gxWw5wixhQqQgRbo8w2\nU0bAHKiNd2vRulFrxgfRoxqzjRyylo8mlXHpmVx/RoPVDJ5gDmgr8bOlLJS0bjnnlkzhfLkXa6SW\nqE6lNVa5LREvMPmA1ppS1y0ULWP1jGk7ehW3g9YWp8IWwCRZLKAwymHUxs3rRqjtqm5JjVKtSFUp\n6C5rJZxsqEbiR0uh5UYunao0zhq8t7Q+SDVZJXWwdkPOiVaykJJKlcTLFElRlk1392959dwyL9Ji\nlGaxdkRl2R5qFDFLtrgzA9UZhvAcEwaWdKavHW0c2npifmQYnLTqXaHsHoPCWaFYm+oxRuOqpleL\ncTvAcnV8xXxeOJ9OKBI1GxSNuD6h88Cr5z+HKo79eKCuM2prgWrrxLTgvRx8g9lJfksVa2PvneO2\nICqlbGF5cttp7bYqSmaYzmvJvbcOY6VNMgZoFacNgx+2vCiDHwd8mBj2V3Q8rXUenx4BmRvO84zS\nipQiznviUjHe4ZTjclkIVtFVx45OmKR1E4H1SLcKFTVNr8S7hJ5uaJcTo3W8/+G/8uyTz6RdX26J\nvRBePKf+4McYgO45fOOXePt//m88vPkRLz77D8RZtIDaGMmX6h3nPGGaCEHGCKlmgfkag9EWPzr8\n9r0C1JIxppGy8FNjSlIEKC2Fxnrm8fw1l5pAG5TzaGeFgNQUjoCzEiq3JOEjYDU5Su66OHGCaBiV\nsD2tVXS1opQjZzAmiPssy8Go9wGlB1pdSB9g3KajjYjVY0qYZlBNQdViR9ZCendWGJqqK1T7z+kB\ntQticc0XtG5Y17m6eo1zA7VsYyozoLTicr5I4eQTJSlS7SyXLM/MpuQAaF1jtMI6hTENpbYqtgac\nOdKLoSB2Za0lhO0nXT+1Q9OpPaYZtAk4N5BxzLVTW0aj8S6wxJU1nTFesQs7DAeUdgz+CGklaIcP\nGnTeAqFWrE54HajFoaISnJIWR4XzGt0967yKda1rdGvycGpopQq0wDS0lQNatQ2nZbbMEe+wRpGy\nYl0TzhfWPuO8wdFxrjMER1qlUmTTZNLlZumqySKqI5lGrXE5X1j2F1Qw9BYoOVNNZxpGYlwJYUTF\nzGVRlLyjIVCC4Ce8c5yLAGC1dfQu0QnBj2QMrUhOumhNxbERgsfoAaUHvN2DgnXtWBfI/kRaErZp\nVK2YlnFqx9AmYpzJdUVr0EozrwnrPNdXVzydTgzTtOU0qY9SH2OkwvwA1wUIIXC5XND6gzlAMQyB\nTsVaK2OYMCBZ9wpUZxwG7BYlEfwgIW7DhDKe1BoqJva7A5fLiePxKG1u65QqyYveWWiOukS8NeT5\ngp08ywK+5S0pUkGXl/MyZ3pMrOnCZB3T1TPq0z0vvvENyuUkP7PcCfmO0s7oZ695/Ofvoawldc3u\nk5/n4cf/F+fLLdevXvD27VtqlReGdyKxqimTlHjZldabg8nLyEgrwiBZ6jFK0FeMK7VVtLWMNnBO\nkXldeZjPrCWjTGAwikstzPPC3h7FnUijI1tmo7SMl/qm70UOwdYzyjSqACkJZuMo0FG1MbgBqyUX\nvRdDKZr728TVcRIYNkUqxNZxWuawpUpFV0qDnnCILrX3iDMNYw3oSm0rusmIqNVVKkDElaONQemM\ns0estqIGSBIVrIxke3kDuED1nRihlLqlvYo0ySiZaTsnWVdKO5Qa2U0vyGaQxaI21CpuQO1+Rmea\nkk1TofdN+DvhfWNNT+KdNhbvR56Wd7QS8UZt9HPwbsSbidzWTfsFzg60okS64B5BDbQaKLFTtAhs\na9XC9nNQKDg1UreHxRtDaxlvLao5isloFN5orO6iXELhtPxdR0Lq1+XCeB1o3dFaANWxQZOrge1r\ns8pRlMAEjJYb1XoHraKLcAPn+ZGbqyNaiW6y5YK2kjSosRwOB5ENaYPVO4awxxiLVp2zuqepRFwi\nKkTZK5pRkhNVp7VOR6RVrWdSrih2eDOizIDVgbwmrG1sCmBUy9hoUHqgl443UHLlMI3E1GTUgMSs\nPj4+YKwlx4Q10qpba7m7u+Pq6or7+/tNXiRV04dq80Ni6DhOrOuCUshh2TshDKSUtj8HtSn5mRlL\nVYq4JmrjowbTasPlcmEcR5ZlYRwlCbM2eeiXMjOZgU6j5UaKhbXeY4Zn1HVBlRk3TvQMl/nEOO2p\nrGgF8f6O6Rf+Fx7fvWF8e8f0/IrqwexeU8pKffsVJhb218+5/fF/4urFS+IYKDevWc5PtKoJw7At\nsDYiVu8EL9G7wcsipSGc0941Tlvymj62s9YY3OFI7o35MpNSpG0pjmG346palqfKaX3LEmfS2jFq\nQuuBVC4ilLcJ6zp7Y+lNwYevpXaMlTmgNisKAfH2DrZ7yT1SAaqHaqjZU3OlVsNJty0tcoPGoDG6\nC1bRCFXJmwFtG0rLi1ObSiqPBBPoutMpxGRoFEHf1YZSWaJtbKerFW36xh4SF19vRbSuVlIWgtUk\nJ+T7WjspCsy406FLuF+viao6VlmG6RlKTRgUe/bkbOmtkcojVSV+0vVTOzTnfMtgrtC9ojbCiTay\n6OlV0uEmt8d5x93Tl6QU8fpMV54YFVO4olQoKeOHQK1P8mYhSQSu3WEHCTYrZZD5YK2gIygJs+pd\n5BklNoqRXObRB1RqLMwYZSQqootz6YMsROkuVBVTqIjrInjJk9EKEd8a+eUaJzeSUoa9tvQy05um\nakOqCJCiG3qT4Ks+jiKf8ZZUErvdDaqPeD9ymDQlCxLO6B3GgGEH1jEvd0DDtSQRAz0RwohWipY2\nao6pgCGuBWMWaCe0GnBmwJgglrhe0LYQ14WmRlyxeKXpaRbKTNfkUknrSk4JlMFqLfkq2hBjZH91\n5O27dx8rypQS3nuW5cJ+v8d7z+l0YrfbkXMmhMDT04mXL19QqyxBlFIfK9UPWUygoAnspdZCrY3d\nbk/vjXmetxmgVLmC5pMo5bxmlviIdo7BD6TSucQFc04ML8SJlWOjR3lpOmeIcaHWxM4NnO8e+fL7\n/8jNy5+jvPu/adFhwp5iQD9F3PGKy/07rFIMw8jdm7ccryZGF2DY0Uve7k2E1xiCAChixDtHTAml\nKy5Im26bPOTGGKyXWeCHq5ZKCAFjLct6lphcPOt2pOSaxXFE493T14zuSuI5aqT0SDcL1hT0Rifq\nvWGUp9OpathqywtOG6ySzkwrRy2WViRZNadG75rWDJfTgh3k0LReSRFkOj4I1xZjsMbibGdwndpW\nYl3pXCQpVgVSziyLQG5ayWggBCEUDZOXhV95IkVLTk30oCmBVRgVaFay2IfSUWNl1Zp1rdRuMC0I\n0awIXm/cG6zaY9WO1py08mHCWUdKUSKA3f9g7vn/X9fp8ojZH7AUUJ2GJsaMtRrndtSS5Bdn9lyN\nrzjPb6jB0FslxotkjWi2llMeql5Fv9W7QrmIUhZMxaKgaBHL90JXmVTYHsRN/4lCtYZz8suy24NX\nSmOZq1Sw6C0TqFK1QmNoPdF0Yq0z2IrtssyATteaMHi6lh9zp6KVIy6Fbi2WQi8Kqy0WR68LuimU\n8YKUQ1My3Fw/Y5qODM6RYmEpi1RX1kNrWHvAu3vOl4WqFAfrqClS1IK1E3FplJjItUhueis059E6\nMS93aDRTONBKw3gjej0ndkzTPWVNzDYyhonSqryI6CJaTgqFpQdNbBmLxj+/kQwkYJ5nhmHYZEVB\nsmeU4ng8CrAlBJZlEbjvtP+4LFJKMQyDuKmMJ6XEOE7kmGhSkxFC4P7+npcvX7LOy391GNecOVwd\nuL99x/X1M5ZLZH8s3J4fuLm6RiEba7eeMeFImAZaKuS84rUhq0Zm4PHrH3E87Lj/8l94Gi07N5Lm\ni1TTJZL2Gn54z3R9ze0XP6CkwmE3cT4tPLs6kNJM12L0Lbl9nOHK+CJsml8ZZWhtsWic3WZ8XcDS\nvUs2t1bS6Sjr6EoxuoGzi1we77mfH0jlLAdu0ZRUeYgnZp/QGmrNaJU+OsCUg94dk79CYcglYowm\n10rvHqMLRjmc3knhUA0tKzEzZNFK9l5IJZPRTIMB3bHO43SVPYF10D3WC1KOrWPTBVIrQi3qhpw6\nKRnohl6rdHuDB1Up+QzuyBobcQ7kLMvTulmTp2AkGkQVlC0EZbFOobUjzhLlba2Xdp5Or2DMQO8G\n7wa0ChQKKINRgg9T7mfUEbSmR5Z1ZBeeb5KFCWcCKZ9EzqC32IduOQ5HtIrkItqqSuXh8pbReUqJ\nuA7eKazZ0zr0ulJUxqpCGAbWtRC0I66NUjvNJNCN2CKaCY8sLGT5M6OtQRtLWiK0DbRhJVI150Ip\nmdaEValUY00n8XPTaVoOM60VvWe6dttG0kur0RtUqaR072S1Bb51IcBIbnmhNJHMzOsjn4ZfwJsg\nEAVT0dkwr7eEEBj8Adt3jO45hMjcIKcFZTqxrTgzC4k7RnICrRONhUHdYFyj5ZleHshpQetCbRWL\nx7qGriOmj0yHPd5fk5cVb7WI6WnUkhmcRKo2YAoDVhtxFXVZDGj9n6EUtVa8DwJX6bKkG4aBN2/e\ncHPzDLdBG5xzWGs+VozeuY9V0RpXrLFY53DOMY7j9nk9zm2LpdZQVmJkj8cDJSd24w4qjONEuTxy\nOFyRtUF1ETsv8yODdZS4ELPEn4TjDdEZ7h/uOYwTt1/8E/rqG4zGkG8L1Ir95FPKFFCnB24++ZSv\nHt/TrQHVuL29YzcdOF2eRGvYJc9J5nqiN9RagxYW67AtyHLOoJBFYt0E7dYAGmUaVhuK8HtRKdNa\nY24rl7qSeiOiaMoxmj2xLJS6oFXHqI61nW7M9nU4jHVYHNZ5lnRCa0/vGqUiJQtxyfQAzWB6p6pl\nG9VnecF1gav0UtFG461k+5QGWNH/OqOoTZ4HYz2mRGoyxFxBJWqFWgaBzKgmErhWoFl6zazpTMsT\nOWvWdQP0tI6ycD4XdqPGeEXTG5WsN3ZTwDTHujRUUzhjaShsC+ju6AhRiarRtpOWZdufVMxPXp7/\nFMXtbSHmO5x1uBSw2tONgTwyL3dMwyizlS5zsv3wnKfLV+QCtVXWtLBGAXRMm4TFeS2zzKagOpqR\nOIphkAfXDdCzJrfN2VPESmfVgGl92+LJNlVLUgxKd2qVhUXpUQSwKGJt5FwYxrAh5SCXBmRUQ97o\nCJ/QOgvdoLB4pyj5JAN322QY35QwGlUndYEs126xztPqSswzV4dPUKbLzFBrni7vWdcz03jFoK9J\nJRF0pPREzFluhtqJbUYDS8ykKNlI1ncos2zSlWdeH+h1xFnFNDq8HWlREkDDMKGyaAlRnZIbtYm7\nx9gdcXbUZkTq5RzLecHN80dLoLyIGikl9nuh37dtrbnbTayb5zqEAVDs9zu0tqS0fmzRx2nClSJt\n/MMTGD6K1/f7PTFGpnHcBPId7zxdS8Rxb3A47jmfThjAaIV3lrXJdj+WiGqVwVlakQz5h9uvIK3M\n737M1WffZtDCn0zv7qnXL1DK4lJh6RH/byfc//xt3v7v/8LNp8/ZjYHzwwO7aeTd4z2n8+NGtZKv\nrVUxcAzDAMh8d11npv2O3iraeozzBC9RtV0Zuh8lCKw2lLHk0wMqZ7w2vLh+jgk79DDA3UiNtzy1\ne7QCbyy9CjUJIroVvHIYv3EKrAZkL6CUbO178xQWcfg0JH6lCRWsNhlx5RIFbdiqIOBwsvRp0KqM\nvLTptB7Fc648Vn769FpRykN15GI3ZoKl1UBvHTcYjG04L0WKRnOZ35PmHTmOxLXJjNJ6dDM0ldFt\n4MrvQHkST7Re8V6j9xrVNfMaZYNPk2Vr0ZhmqGmFFilkqi5gsgC/8/oTz66fno1Sw5qfcG6P1TuU\nndBqZPCKFBtrOuN0gKowoWOdZXI75rISa6SRUKVuIAArc0qt6RgoFmM7kMi5YCwonbFuFGlFtuKx\nNUJ/Nmhx62jZXtPWbVEVRCjcEyVv4VUtUaumFiOtUnUEtxPykM7EtG1szULXDVKTA6FqdA+ovsOH\nziU+UVSkmYyzshkuOXOJDesbxgbAYJzh9uErXtz8Aik7CcXScnA9nS54E6BKK616geoobQLdsE1J\n+FpbKa0TS8FqGfw7Mq0t6C6ynlI1hgnTHbrBLniBJ8dEqQrVEzXLR1eKmhOldvHWu471Qt4P4yia\nOrulHFY57D4Qh0TgvmXRa9Ee7vd7Wus4J3ZUrS0xLh9b9BAGrG0Mg8zyhmHAWMM0TRhjOBwO0PqW\nFLknWEspBeckisFay36/E0xYl9gKYzzn85PELFdLywpNpZXG6Acent7gW+bu/Z6XQ8COBz55/T9x\n+/4d7ue+RX16ZBhhiSf8j/6F558+Z/76nZDCVSYuhW/+h1/k/dfvyXnevOaaopRoDXunlYK2hnHc\nIaFpSuRgLqB1oPeCsQpKomYhX5Wt01FKScSDMRzGEW0dqnu8GegEPn94y5wWUm9oHRjchCJhTaG3\nTKcIPamL+kRCVWXT3XWjVqlMW51lkdgtrYkoX+J3RWHSexZwRt/o80qE93wQ8BuRC1qv6N1Qm0fr\ninEDKmd6DeI9R+GcYRccIXSsEUhJbiJfyzWSqwLlaV2UAKObMHovFKeicf451u4p5URKYqQIo6fS\nSKlvTkKDVp6SK2x5W1VLBr21kjjb1c/q9hxPa4o1NbwqGApD6Fg0IYw8rrd4XXDW0EvE64Hgr2n9\nkdzF8dN6wiiFqSIPao0tpElRyirC9p5lnmM6Sq14H7DWU0plXcVFYXyTz7NxCFs3KJFnUkoTkbeS\nGWjJ4pUuWYkLyUo1MI47Sl1ZyoXYErpLoJtE5jaCuqYWkT7RA9ZN9HShq0JuCxpLN3KTqKbopaD0\ngm6OmO+5vXvLfnwFOpG2lus8v6e3GWsmYl7prOJe6hatnQibVREUl1KbW8cwjNB1pLVE61oAI7Xj\ntcY0jQ0QlxnXxARQc2W/M3g9osJILpm4gVOUaXRdNqsr2CBkoVIETXZ1dSClzDAMIjbfYj92uz3r\nulJrY5p2HA5Hdrsd1op97oOzyFpxT8nmvTOOAyGEjx/ee7z3lJSZlxnrLd44qe6MwbmBjmyrVRea\nVV1FD2lNJ81n3NghK+L6QFsj3hnCbiQ/PpKfvuTHj4Gfe31D1pnnXlH6SmkrRCT1MxcuD2/ZP7+m\nrhee3bzmdP+WXBIvPvuM09svyFXo4GEMpCTQbBMsHwTYWlsJBTMGyII81HK4am3khY5Ceydqg2XG\nKcNazqytMNdE7wXbO/tp4lW/4evHewGJWIt1Fm+D6BSRDmRNM4oi4nVlqB2sGSkUcswbxEbRS2aZ\nE7oPtN7QSqGNJrWI851OpKlOTBk/aOZ4gSyide0SPWUGdcCa8JEnG+wONUzM55WUZ5zpjMYzmhFv\nK86Lrri2TlyQbqUWepOK3VrhPxz2V+ieiWuCZgnhiLKNeX4AEtYcCWOnd0OvAzl3es843/G+ir1T\nic+/94rRSqKMf8L10zs0FXSlSG0m1hljLwxKAp2s8wx1YIknum/YNkGS+IeKwZqBsXsqia4KBkVb\nKm70wqjUGtUqpURJOcwFctvym4Novxjxe8e79480FqnscmfQRuhDNlDsQoqZ0jTBAV1EuqWA5I47\n0bg5D21i0CNJi2zKtoaxmtwzSwLvj2gl4WdrljjgXhW5JKE86UbDbfNAjbV+i+NtoDR3t29wrweM\ncaScSOWRtXzF093KtH9G7hdyi1g/4LqW7BZlZX5qOmaUWZPqnXGwdO1QNWJUQbWC1RqrKipXWulY\n5xDnu2VSE9bA6XLmcpGFizGKaTdSK4T9kdOcGIYgUJMudspRDdQqsQRirZy2KgkeHx8BmKYdu518\neO8JwZHzmXEcGcdRljq1E0JgXdeP9CJrRfP3ca5pHdNuJOWIUrCuM8PwjN6bzFFLFluldbC5t4Zx\nZD6f6CZzefcVe1+ZT48s85lvvP4mLdywdM903HP75T/xySefcvf5VxjT2SnHl1+95XD9guiaZK6/\n+RHP9s95eHfL1fXI/d0bJr+yuzqIRKoWtNGUUkgpg24E5+RFirTqc4p47whWMoDEe23Q1goDUll6\nq3gNy3Jh5wOJjitS3HVVBa24nDFGMypP6xVrDc4OaIwkduoXxBC5f3zL+SyONeUs1lusgmwqS75g\nnXQDFZjjLFwIoHUlraxydH0RVQmG03oSY4RRYCq6bpK3dmIc5eVllMW3IyWDqQrdheVpjRH+rZIx\nilKVZY7QPb2JySPVKPCVloglsafSssbg0X2AakAdaNVj3Ap6wSAb/NI6KXZyUpTSNi9+xgdJjnDb\nDN2Z6SeeXT89R5Br6C4zpFge0XiMsiI5oqGapavOvC5iGUTLJrE0oTAri3OKXuWfobbEQatRAUFz\n9coaIygoPTHqCa0cznmaHtBq5LNPb7jMicvyQAiNMN7gCEBhnI7kAvG0sPaM7o3S1QYXUZQU2Y2f\nYNgLIkvDGI5c1kRKJ2yvKKMoqfOQ37OfOqVaaqqkXIm5bjT5gtEHBBIv+jnVtWg6G4xDwKiOplNz\nkr+WzLw8kvoT69OdiMC3MYN1OwYT6JQta0baMR8MLYPVFuMHgSakAmSUMmhd8d7hzEAps+DwSmJe\nH+mpU3vn2fNrOUq1IZWKKo3z+ZEQjlgn/u9hCDyezqRU8Erx/PkL9vud5JJvEQ/DMG4H3n7TWgpE\npWSZFV9dHZimHcZotG7sdjvWdcUHoRjZTY5kjCGEQNUGpRBrZ63sDgeeTiee37zg4f4e7w0lixV3\nNw6cLxd0a0yDJ7aMSjO3T3eoBn1duP36x5jBUO1I5omrqxuens7cvP4Gn7/7Avv8E477Z8QUqTVz\nPF5xONzw7t3XKNu5vb0n+EA3iqfTheD8RqeXw7H3TsuZ0jYtgPak3rHaMPgRawPaOLrpIkvTjtaF\nlqQ3yrpC4Yzj5d4z+MBaklSrStHpzOs9RTfGcKR3wzAcGcKEphH8EWMGPrkpLJeVd7dvWeo9RhWC\nfYbe7L8xztgtHdVaoEv2eU6ZXCF4jZ1E7dF6kQhfJfNhpQR47Wyj1UxbMt5NtLrdq2iMGpBcjErX\nCrSltUYpIvPLqZPTB/aDRPaiOlY5es88Pb3n+fFTDB7VusiRasWaG7R+BCWfW0LTJNYiZ7VV8Uqe\nmyaYR8MHXefwE8+un3ho/vjHP+b3f//3efv2LUop/vAP/5A/+qM/4u7ujt/93d/lhz/8Id/61rf4\nm7/5G66vrwH4kz/5E/7yL/8SYwx/8Rd/wW//9m//Nz+36orWq0Rp1kwqC75OqCIOELxFN0uqmiVG\nnNFQQVdDa1pwZ13TKjirqemM1pq4dHTtTOOAM0bkQaUzhAOtSvrdECzDOEKfCPaKF892XJYH3t99\nTm4LNIdwKR3jMDLPE2s8YY2nZkuwHqcNKRXScsF5i1ZY7wAAIABJREFUaVm1FjeLVY5zFL+u84Za\nt/xwFE6PLHGhFkWpHaONbMxVxLoBowLOOnSWUQF0equMe0uKZ4z2oLqANnSllSjJkxpkiORQ2tN1\nwiAb+a4auWSRfmhp/yydpkT034hUHKlHzukJy1lSohs4PH4I7PwBeqOguLl+xjxfYF3J6cJu3OHD\nhA97wuS5vX+idTgcrlCqc331nDWeWNcVrcXtI9g4mMYjp9PTBmfQNKWYxon9/kAInpTyVmEpnj17\nxt1dxWwV5gexfGsN7yXV1DpZOdQqmTvaWnKOzJcLtSR208Td+4XdOJDnMzUvDMcXvHn4isMhcHla\nuTruWZeFyd6gwkA4HHn/wx9w9ewZb96+55PjC+o0YlYIKnH77i21FA5XR6ZxR4ozTVvWmBmN5zAd\nRGtKYxxHcimiojDSfovovaOVAFdKzegP35/RMnvf7gatRRpH7/hR6FV3T4903dlPI4dhz36c2ccT\nT0mTU6GVClYq/nG6Yh+uOeyu2E/PUN0SS+QXPvslvrr9IXePn5PiBW/2NFuJMZNVkQWa9xKGaHe0\nZkQutBZx9li9LZY6zu2gdlqJ5JrQo4y41lzw2aKVkxl5k1lo8I4Q5EBsVSSDtRbJHMqWmkFbISdZ\n3alNXjoyW83McUT3HdRKZyG2jPONro0I6mkYW+ktCwxcNaHLl04plVITpRb2uyucPQhE5d97aDrn\n+LM/+zN+9Vd/lfP5zK/92q/xne98h7/6q7/iO9/5Dn/8x3/Mn/7pn/Ld736X7373u3zve9/jr//6\nr/ne977HF198wW/91m/x/e9/X2QV/6/LYKh903O1TOHCZVU0taertJGPGk4HcpZUvkakRdj5a47h\nhaD2XSLHldgiS5rx4UBchAu42+252u2J8YFORjtDK5116YRjYAzXeHvEENiFa6Zw5P3jj2g9QhE6\nUisNbwaKXVBN4Y3HmkYwBpUr8+kdfhzpeBQrzhvCMFCqIpVHEbmXSm6Juj6gmKk0YumorkmLgdGg\nbRHvevEYHRh2I70kIIJaSOVBbHVaAA678RXH/beID6t45muWoXZNGL2QS6WrA8ZWlJlRJBqFcdhR\nY4Ju0L3QcpbwKazE2jrPNO5RpTEazeCuoVr53sPAYRhJRUKMWmvsD3uUCyjlURYRwANXV1fUWhhH\nyS9XunwUsj9//nwTsEtK5ziO22adDYzsNreQHIYfDsZpmnj7NhPCFa21TbrTpYI1MgPNKWO8/Pdh\nHDDOc7i6Iq+GWiJ5XbG9sTzcUtcz58d77GXB9Mz8eGE/HokloYPjtF7o68qL0ePGgct84ebFCy7v\n3uF3Ab0fiY8Lz25umC8X7u/uuDkcCKMXPWw3hOA30IYs+h7u77cZK/Qm1fUHhUHPldzAB0tKCaU9\n1riPv9vWq+h4lf6IMCylQJdIjF4aow84RN6kdUeZTiORkmY5F6bxGXaaOB6vuT6+4rB7xhIX3rz5\nkqvpGSVfeGgXNAGln9GaY0l3aFXQrmLM5rxTMkpSJtFKQiNqBR8CTnmcG8TH3RIlz0JLV52CAKZ1\nlRli8I7RGYxr9J7oWVGsGNNK06I4CRI3Y4wHMqUs1NzQxmOM5f3jO3bDjGpGzBy9YbSn1jMKYUl8\nyO2yXuM0lFRQ6kOsTCHVC+c5c9wNeHf49x+an3zyCZ988gkA+/2eX/mVX+GLL77g7/7u7/j7v/97\nAP7gD/6A3/zN3+S73/0uf/u3f8vv/d7v4ZzjW9/6Ft/+9rf5h3/4B37jN37j//O5JzvSWyK1TGli\nV2tVUZe66e0qTYkQWGlFJYmoto1b+h3spmthL/LAU5xJtdNyYhoOkBWmeXb7ieA8a7yAltzndZ15\n7E8ML59htcFbQ8kGo0fGcENuj/QegSeabTiXULEzBI9XFt0VrgutPPaV27efc7x5QQsabSfGMDG5\na86LYcm3lO1Gbz3JlhsvM8MipCFqh6rJCcJHaYoCZUFVnPHkvLIsDxwPn6AqTGHPZy/+IyVV7i//\nSeZH6oMkI0qchfXshh25LqIAKKvQopqnFIM10JDo5KoSXg+UXrisMwOW0h2Pl3u83qO8pqyJyzLT\nmiZ4s0UDS9SALN+EAfnq1SvKVi30bQm1LAvGWH7+s2+RS6Q3LZG4RnM8HolReI+dzm7aM4SBXArW\nKEoteO+ptQqCbjuwpZ3PMtPMZSNGyU2ttKLUJhZdOo+nE5BklEEhzRfIkV4SukpIXXCOuKzowaGt\nYzCOUg2X04x3CrosnMabK+7e36L2N3TVySUz7Sdomdoy9/f3XB8PInPDMM8Xrp+/YM0rOWWBEpdK\niuvHEYPzAsPQxklr7iy1ZtoqG3bjLEZ7So7kKtG3Wmv8BufI85lh0EwEhtMD5tFChTVGmqlMo0MZ\ny/3jV7y4fkWvhiHsuLk5EOwLnu0nvv+jhbm845Q0eVnoNELwKP2MuDyilUU7K9k6WgZmgl+zdCUW\nUa8HfAuophl0ABWYlSL2JMnkCUyX58E6w+Ac1gMqkVKlFU3NTYwozWH1bkt2kJbc2iAsU06UdkH3\nhNFB8orMnpKFiNbmFT/UjZMg64jSIjU3UAPaKNKa0FYJPV+tdHVmXj/HaPfvPzT/y+sHP/gB//iP\n/8iv//qv8+bNG16/fg3A69evefPmDQBffvnlf3VAfvbZZ3zxxRf/7f+xcijlqBRSTRhjqO2JSiRV\nv7Vkkhipbcf0Tm4ZqsU5jfeGw/4oMAtreVgf2NsdMSe0ajizoxdNTYohHHB2YM1nUok4P/F0eqTz\nBd94MdA9aCuzxNYqKWeULliF/HmXGaxjcCNOd0wV0EfsGaM763xPf+y8fPmK1mBwE6PbswuB20fF\npT6hraLrKHxLFGMYKWuGbih0cqwSiDZIjk1FeI9KDTQ0qJllecNuv8e7a4bg2ZmBb776X0lfPvC4\n/hCtZEPbe2I3DpvMoxHcHq3gcjkB201eC1V1lJfwq2VZqRmmkBn7me6P1DJw5SdUU+RaGQbL/d0D\nx+MzTqcneu8Mg8P6A4+PD9y8es311TWXNRLCSK0S6XB7e0drleurl2LnxEiQW1NcXV1tNB/NZS6k\nlDDabAu8ytaJopTaFkoj3gfmOdM2J9jp8Ynj8Sgb/FqZt4N0WVactWhVmLzhy8+/YHm4Z/LCIKgx\n4vcTu9GRfMCYAT1o1rTQc0Gnxv7qOQ3QXWOMIzjPeHAYF7h9eKQvJ3opXB33LJcTZRj49NNPuX+4\n58XrV8znM7tJ9KjDuBdjREnkFDc1gWKaJjoKHwLBObQJUmEqUYP4wYMSwjqqSmLqFq/SNnG+dxPv\nL4/MpdCCpVlLSsLPXGtDK0/wisuy8vmX/we7ceI4Hyl5x/PjDU5rUv9FLvXE+9uvUf1CJ1GaZGgN\nfkdKCa278E+9kpyhJFEukUyMib0RuLfqMkoz2uF1xemVljO6D2Iv9g7nxfDhQgXtaAykBj0tpJKh\nBUzwjG5P02xyIcewv+Hkbrms70At4uFvidwu9A65J9GLFoX9oFelkjfKliLJfkQrIZ/Z7RD3HcqF\n8/zP/+OH5vl85nd+53f48z//c9HE/RfXB8vbf+/67/673ii1UrYYn1pWKo1mVxnO9gGjPNrIW0Yp\nacdKO+NDYhiOsmEd9pSW2T0deZxPaKM45/eEyZHrHr1WyUr2Ft0HbBP/uHMr727fEHPjsDswjBMG\njzOdOTZifYR2odPxg8W5PaYNIpnohbJErG20WMmt0taF+fLEzfUrCXejE8KB/f6GckpUpWndbGgs\nJe2TVdSkaNVSeqF3Ta9ZiNeuYLRDY+gqU2sh1RN3p5Gff30jLhljGMKB11f/kVo7T+vnQKeUwjTu\naF3SDZ11OH2F1VUwWcpJHISKWOeYumfyE2WttFpRekQj8Rg5NXQrTNOe8/mJw37PMl9wfmC3P3B3\n/57RFl6+ekFXmmVd0MayrCvOWR4fH8URZQYOhz3DMHK5nJnnCyE8p5SM924jGhlp0+ms64pzbnNg\nlc1hJXKlEAKlZHIpuG2+ef/wQPCe3ThRUmJdVuhwe/cWXSNadW5uXjJrRTzdk0vDGst8ufD/MPcu\nrZZ1973eM+7zttbat6q3pFeWZNmcY78kJibELUO+gTAY1DC45S9g3LHRB3HPDYG/RMAEQo4gB9xw\nGrId2ZYlvZe67NqXdZtzjnsaY1WdkNg6EHOQV6vYULuovdcac4zx//2eZ+yv2dy8gKLbzkRr1uVE\nUorT4T2ygpu65iHPjsfHI8O04+52y/qUOe+fmU97XNfaSe/u75nGDfN+RilNFokiFMFHFAbtDErp\nj4H3Vsxw9F3rPAtZGwbxwxVGlQgtEQiUbci3dtfdSESyNpr/Vt3w/v0jMUk0msE5+tz66j7MgEJp\neL//Cv3F36CtwnaSimDqtwzdlpdX3+Dh7jWff/6IjzPCtFaesQYjRiiFGtvcIfrWfhNIUI4cBefD\ngt45VNHMOWGNolcdur7gKZ9ZRWlZ6iqa+cC0jVHJ7T2eC6RcCD4w2h55qTJb07cCTLUgKy+mDdvp\nijl8SSoeZEURyLJiddvFWqeRMreadS2XO1Ao5YxSQwMeqwqioK1AiBXnRkr+N4bbY4z8/u//Pn/4\nh3/I7/3e7wFtd/nmzRtevXrF69evefnyJQCffvopn3/++ce/+8UXX/Dpp5/+i9/3h//rW2JNxJK4\n+9Ty8lcEVEMthZgEVUeEVReat7oEsFeUrszr/jItBmU007Bju7nllN5SCVijOK73TE6SF0WuLdxs\npCXXgJKVWh1VrNw//YSzH9gNtw1cIQ1CJEQphBRQyrDbXiHERF41JVQonkWciKLhvKw1CFVZjgdi\nWNogR0iMNjjtMKZvRCOhkUpSLvoNUQFRkKK0BlOBVFocxcgOaL/QIvPlcnxl9s8clxOje4EWLW7j\nzBUvdr9ByoXT8p5KIMTIqGWjVYs2IMrZYoRDyg5YqUJgNFg9oMUARmPLRE3QiQEdO6ZhwKoOsmEY\nd7iuY3vlGKaev/+7v2e3u8ZYx7ysjNuOEAPr6Uw/NobmujRYx+3tLc51CFF4fHzPOLZp+jRNbXep\nFKZ29H1HLpHT6ch2uyOlALWyrh5rLc/Pz0xTc5nHED6S32spl7ZKQCuFjw3m3BnN4WlPCSs5htbb\nlgWRweieYbzhvMz0zmKcJJemIckVRIwMux1P9+/x6wnbdWAT4zBy3O8JMWBy4Wq343n/RCmF1c9M\n0w6hNUoYYggNM2gsOa9kUdoA0XtC9CjVfFG1aKiZrnOkmiklI7NoaZAKorQKrtIGkE1r4VQ7pudE\nDgETNbdXdyzWsT8f2S8PjKnjED2lrgg1gGjYti/f/iNSKazrSXnlbnuHEYZBbunMSLWW6CObItGm\n5XWFlKQkkFmRL3lNShvgODmQtSbkxNPxPb3Z4OiQ2aJ1h7MSJXr2cSaWBvsuQtJbjWZkCXsomVJm\ncqio3CGqJa2ROezJNtL3V1gzIWTGdgNOOUa34RBfk+LCGmeKqJc6skBpUFISfCalSow0r3pq7xep\na8PAicRX/7Ty1U+W1s//r6yJv3DRrLXyR3/0R3z22Wf88R//8cevf/e73+UHP/gBf/qnf8oPfvCD\nj4vpd7/7Xf7gD/6AP/mTP+HLL7/kH/7hH/id3/mdf/F7/4//8zfJpRBrJuWFXFdSWdCqxYtibHcb\nQrYJtNL1cjdROPs9S36mzxMmdWip2W22PCwjtcyoAD6vPB/fMdoNPoJQ7TghadNUAeTY4B3ePxGl\nQVjPcmEAlizQ3HF3c8fY3TVwh/QEAqufqVpSrKFmz0brtkusijfvf87XXv065yAoqtnu+q6HdabU\n5mePRTQdgdJIIxEytyhEahPU6FdWAcM4UoS89LgFBcUaZ87+ieN8ze3uZfPKSIUSjk9ufpV8Hzmu\nX+L9kSC3qOwoJVy4ghaKpaa2g7fGUvWpJROKpDcj4dAmlbJUdtOG1XtOpwd0sYgL0GEzGX70ox8x\njgPDONIPIz4lfPCICs5ZYlp5enqk70fu7l4yjVukhOPpCaUk0zQB7RSz27XBTtf1tLB3y69WEss6\ns9lseHh44Pb2FiEEj4+P1NwWy+PxyMuXLy809ERYoSpNDGfC0hQpndGsK5yWGSdVU+4qWmSnc6zL\nyuG4x6UOpzegHNYO+POeZVnZXd8yn54pue2Au2FouUc0i5+RznB9cwOykfZP85nOGPq7G8QaiOcj\nKfiW8kiSkPMlydFskENvWdelmQDMCduPdH2mG9rPTMomA8Q6Pqh8MYUaEuG8UksAZZpHvCaS9yhn\nwQqqKaAFKSZCWDG6Q0mNUvD5F/+M667oht+hlzOdcYxW851Xv8H+/Mhxfk+qnmnYYK1hWTzeJ2Ke\nCUu7vza6R4hCyjQYi5asy8LRn+m3GwSSXAtaaqZuRPc9SyxU1zXOaxFICVZMnMuKXzPRV2qWrCVi\nRLrIFCO+FHZXDis7qgAtBmy3xfY3nJY31PPn+HJoGWSRiaGgOgsIcmr5YWhai0qDfEAipsCr7zi+\n+R8HlJCImvk//pf9/79F84c//CF/+Zd/yW/91m/x27/920CLFP3Zn/0Z3/ve9/iLv/iLj5EjgM8+\n+4zvfe97fPbZZ2it+fM///N/9XjuQ4czFikKCkepM+ckiGmhkknRIGjw35wT2l7qZ7EQi+fLx58w\nbW953qt2SS8zfW8ISyHXuf2Q54AQCSU7nvaK3Wak73vO54hfT0gSqkxIHS7cHIGolXUNdGbkV7/1\nm/TDruUAQ+V1fssy+5bDTBXdSaSwlLDgtKJURxWS4/Kewd0Qz8fWuKitoytLRVfRKoNSkWnKYmpB\nmBWnHSUbEIXKSqVVz1IGrSRGj8zeU2rgsL6j74fLfe1jO2IIy4urXyU/FaI/c8jP1G5Cp4qQBSkc\n2hhyKtSqMGXCygGlM1Jl4joTpKIsgo2zHI9PreVhHUo259I4DLx9+0UjqovK8/MDX73+OV0/sd18\ngh07UinUXBjGka+/+pSrq2uMdhxPe0KI9EN/OXpHaq3EGNntdh8BHfMcLsdzTd/37bQh5UdO5vG4\nJ/rQdtnOMc8zwziwzDNaN5htColaEufTPTfjhtP+EeUUFMnQb4j+jDaKsAREbazW+XAg65V+c0Pt\nBnyKxGVFhMD26go/e7TRLbtoNLl4csnMMXO3vWVdA/2wxcT29efHR8ZpS5LtM9Cwd5okFbM/o4yk\n5EqKsXm7bX8ZDLUHpQ8eJ1U7ndRMDhklaJ4JKRrwVwm8j6SQ8FWSlwUrC8ZoNtMVaz7g18ISPSmH\nVnfEYo1GyMI//uSv2W6uGL/1PyDoMJ3gdvc1/uM3/idKFnz19GMEI+Nwze1uYH/Yc1LvEOKE92fW\n/ICzFzygvOw8naLkzNN8pNs4pDQNENJptLPoc6Fae7kyS42BGUQLpqfmBQo+tCsrY1DWscaIkCfm\n+8+53n7ClXFoO2DcyMYILA5ZBI/hn6mybT5yDm2hDyshFqQwH2lRSsumRFY09XcpiNq0M/LfIlb7\n3d/93Y8oq//366/+6q/+xa9///vf5/vf//4v/EcBQig47dpCVUCJgiiJnCIV0RSvpd3N5JCIPmN0\nm4zFUnm/f83d0xsm93XmpVUmye0NFXIlpkSshf3ZM3Y3lKgJtsNpxdhtmJdnUjzgOo2SrvnSjUPb\nHiETV7trxqHj+uqWq90OqiNEeH3/jjXNxDxf2hodZmgEHlEFQsHZH1DCkmtFCY8VmlLSxXxZESRq\nURin6VyrF8pSqEVSs0QbgXWCnFZaorhN86SwGJM4nZ64+frXOPnnRjLvO+pBIqTG6Q1fu/5Nnvfv\nOK9foeUjgxyaAKt4Fu/ph5coeYWqE05YtPOs8YksV6TusK5HSIVUltubHRKFMztC8CynM1bDUtpA\nx/uFnDxT/xKt4HTaE1LhfPZ859e+Q98PCCEoNeD9Quf6jz30+/t7hGhd664bPvbF5/kdp+MMyI8E\n+PP5TM4fCEj6Y0BcKdWwc0rizzPdVraf46XYsBkG5vnEMA6cTvtWTJCCHFuGWYgmrjPKMA098zyz\nvv+Sq5sbbq5v2L/9CttZ5uPMze0tx+MRZzTOdsQYCV6xzCt5J+j79m/UonheVl7cjPjz8UJNL5ew\n+Bk/z1TRrlza/90QQuMoKGVw1l52Z1ByJoX2IPDzjFatPYMAbR3KGjrbcz4eeD6d8aWRiaZ+yznc\nEvPCMkfWJTYfuJIUmQkRlKoUEj/6ux+yGya+/fX/jhIVWldeXL8kpP+erhs47U84c03fD+yuvsHx\n4Ve4f/gJ++NXHM6PeB9wncbYDi070twUFN4vHOOxDXykRlbVwNG6UnXFWNG87qLVRMmKkgRaSZIE\nWSrXV3dkekKa8XFhvz4xrzPIntF9gmFA5IXBbhCinQjW/Eyi5WLX1V/uvzPOfsgzf1BsV5QuiNbQ\nJaRMZ3uQ/17RcOfMaGwjc9PYeLV4cu4oVUIW5MQHrCA5Z3yBVNtRu8SZr97/mE9fCKiJimKNz4S0\nkGvB5+bXyyWR88zN9R2iWPws0dYyjS9ZQrvDsMqhVU8uht6OSJcY+h1Kdk06prbM80zvJl7dvuJ0\nfI8SO3JMUCOhNMGbkvJSiSss8XyZ/C50ykINjbaUF9AOoVvOTSrDbtfjw8p5XcEU9AWYrKSCojC2\nw2iHVBUZKynOlOxRYuR0PDQajNSE6HGuVe/udt9i6Eaej1+iZGQcBFIYivCs65HN+ALBgLFbjI4U\nLGt6BBEQUrGWGajUOWDUwHwukD2H4x4pC1c3Lxj7Dc+lMPYtP/ru/Vuej0du716243e5AIFpQWVj\n2uJvreX9+/eXhoy41DIVKSViiHRdj9IS7/3HAHvXtUWqlIyzjsfHR/SkLsf6jhQjSkgO+0e6ziFq\nRgvB6Ximc5pcazPQxhN+nRnHER884FHVU0MgKUvXD6zzidPTezCK65s7jvsjt3fXxBSZthPrPJPi\nmb4f2U4bttOWdfWYouiHphARQjCfT6ScCMljRcsQCpp5UymLD5HFR2a/MriOrhuoJbdrBaVJYgGT\nkVXj3Ii5urqAMhQN1NVsrKob2AjJQmV92rPMR1IJ7Rje9YzTyLIE4hIRNAB3aSU6lNaczvf89d/8\nb5Ss+PrLb7d2jFDcXO2o5lusV4HT6YC+xKF22xsqM6kcUVqwhiM+r0S/UomoqrDSgk7s/RGNxSnX\n4LcopJaI4gk+UoQghJYr5jKEoxS6fuRq801GewuiEFLi7I+cl4hfV758/VOuxyt0jUQhkSqRksLq\nTdP81pmQJRdv8uVqr/XV1eWar7ZdFsj2NakUVStk+TfsNP9bvvbHGacDV9cdRjmKTAwyEQ+V85KQ\nuQnlc1kuR1RNSp5UC9oUtJY8Hx7oup/Qu5EqAnPZs/gjJTUFcC0OqWCNCz7OTHaklsQ6F5TpGPot\nPh7QemDsb7B2aMeldCDGxHz21BvFYb/ncDxxPjcV8Nh1aFGIoZBqpXHnWzNCqMqy+Eu8pznbawl0\ntt1lxRIhFXrXQ8qkNaJ6h9EO1zUZWi2KnNs9kawNrzapAbSgUz3n5Z4YjigGCisCjZaegKfi0Moi\nq2BSX7vcC74hpUpne4QYWVeNjwnrBDUbZOlRCHpjWOQjiQI54LRh9YE1eHq1peZGHdpuBlAdb+/f\n4OxEjoJ3h7ec5hM3n3wNJRWd69vRNCWmqT10Qkht0v30TN+3qpq79MihkY989BcknL6I6Nrfcc5d\noNARqSQ3Nzc83L/Hdc0XFGNAKcm6BnJccVpTSiCXiPft3rBc7Jc5R87zM5vNFcEXVKcbbtCvdB2N\nNKQkKWdCDOzubgn5kqm0FpcrNRfOxxkloO97hqHHh4WwJmTXkUtmu9sRU2L1C4f9kZrzZYCi0VLg\nOn1JBWTIzTJpO4nqDLU2JqUulSpbYFt+EH/FSK6Vai/RsdwIUVPXU64Fh1LZ79+jRaXTGzbjgq6K\n02HF+4gVklASWVaUMdhcuH//M/7PH/0nfPZ848W3ccqhtWHbXzEOhdENHA/PZALaaLQZGadrQj5j\n0SjRsXhPyAUtJKVUlNLUKnhaTxTl6I2mzw6pLqSitSnMvPctDlQTQgtyaMbLu5tvoUXXShI0OEp9\ntvTdhLWCh+efoeQrSslYZ5CyIIzF6S2pKPyyknIml4y1HUqJy7C1zQjgQyIjooxDCkWOYH5xTPOX\niIZLkfl8YDM5hrEDmdAqYa4gh6bjNMYSM/gwk2rGmB6n5kbctiPGdZyWGaUkQq2kegbaNNoZSy2O\nabJ4v/D+6QuGr18ha22MzFoROLRyl1qkoTcTZuh4OmWO85lKZv4nz83mU06nBUSl5hWlc0OvCYPK\niVxFIwApLioKhdKSdW6KjBAXIpWYC0JLYjpTo8SwQxSDjAnjGii1ArkmBBJRNGRLCZViKlp0F43F\nwNPhLS+vu0akl0Cd0SWha0SpnpBadbLvJrT+hFoDUg50/Q6hAotfGIis89owZFJSssO5a4QplCUQ\n14BxPeM4YVNPiJXr6Q5VC8fZ8yvf+hXevXnP+XRqLY0cWY5n3O2IVpV1OaOt5enpkZQCSld+/vN/\n5Pq6NYKstYxj25WllFiWGWiLkD3b1pqp5eNdJ4BSbSciEfSuw88LSrQdU83LJXDdVCZaSaTRzOcj\ncTkxdo41ZpSybUcXPO0wa3Fdh5Aa70/EGMi+0ZdKicTk2YwDawjEktsdWC1oVck5cpwPOGcxylKF\npdT2sDydz4zDyDhtCD4RvWc5zIS13dtvNiOqSoxqdk1pNNurO0w3kLIn54rWDmUciDa4pMS2U0WS\nlxVBJWQ4nw48HA68ftrzbj7gkyeIRDG5/TwVOGOZz4G4JChdyzOGhNCOodO8efszUg6sv1759ovv\n0HcO63S75pi2pOh53D8gnUF2EpcGtO/I3iNyRFJxolWXhbokGWwPUfO4PLJhRxKgZcQo00AePrGS\nCNG3WddgqFIy9Fu2VxMSxTpLUo2EJ09vOzrSWSKjAAAgAElEQVTnmlCxZp4Ob6gioYPCWkcVCi47\n6RAj0Ue0tXTdBqvatU7MzQrbGnQRoSD6hBQSK3qK+sXz81/aoqmlhFqZTytXu2us1cTSnMtXW8Vj\ngZwCAtOo56WpGly3oTjT1AxjwVrTvNZGokoDq9bSlBVC1Qt6bCLlhbeHn7Ht76Cohk5T9UIbtyhp\n2yW5qFg3cP/wnv3hnnX9O17efpMcaFRp2eqISjXcfwVUvdxVivYhp2Ss0qjBEmLEuYlcPRWIaUbr\nZtWTukns269BoXTziecUSRG0cKRcWVLAJok0AlEiJSV8mdmfvsLWgXTZhZTk8Su4XiOwkAWlOIxq\nx0YhLEoqpiHyuDzy7t2XTOOZJVq6YUPJDZXXOUlSDWnXS0mMLdw6biZiSuyPDxg7cnw68vz8gKzt\nvrTvNtxeX/O8f0Ybiw0Lm92WL7/6nOvra16//ooQPafzkevrW8Zx+phVTKl5fz6oMT5YLJ1rmubz\n+dx2Bfm/MDq9Wojec8yBcTNhjcTatpNNutIZTY4eZzRpXTkdnrGuQ0nVMqy5otRF7LVmlFGM44jo\nR5JfiSXhpMJeIk1Om1ZZzAnjDMopSrEcjnuO55mrjWn0nDQzbTacj0eSDyBFu7pRsu0wNxtiipxO\nJ6Z+YOgmXNdhhrEtkFKjPmgpmga16XoL7YGQMyBJoYW4s9BUJEIalNYIWQnLypJX/OTprEJ3XfOM\na8WiI/EUKKugSHFRv2is1ty/e8sc/xM5BL756tdQoX2m5vMJaRVCS/aHR/pBtkrszTeYl4Gnxy8x\nKlFqBFlBZ6SthLDgbEUlSUpnghUYYREUSszUlFAUkvck2XgBrncM49DsnLLHq4CfF47HAzkVrO7o\nrEFRKTUT80yh2TWUdK0EUAs1GbTaojAUb9D9gFEFLSvndGxBeB8oGVAtIlaVYKn/ThfNHI9gtoQQ\nCCEwTA7NhoRnmjwRzfPDSsmghUAqS28t1gq0Nvi4UHxBd2CUwilATCQ/E3K41MzEx12M0gahInN6\ni6k9m34HF8dPygZtRLt7y56aKyEk9qcHUjmy//k7jDKY3jDaHVaNzMcVqWjVthTaUSSLFh8qqWXY\nZGTsNaVWau2QqhJjZQkLvTYYs9CytVuCr9jSpFSyGIiBUDxCKM4pkTkzpAPWmuY5qonj/LYRmYrF\nKoftDPO6EE8RUUeCV6hOI9DkpNqOUUpKjNxsFW/ev+Hx8AZ1MvT9ytiPaFnwteLcgLUghENpg8qw\nPzwRvCfFE7d24Hw4YmQzgcYsub75GjFHpmni1atPmFfPmy9+xm5q5HTvW9TLdR1StshN8JFxMjw9\nPV3yl+31AcDxYfhTSpOnTcPA6XxmK1ts6f79PUZK9scnbqeJnAO3V9e8ffMFXiRkbeFvZyRa0abm\nWrc8roSUVrpeUzIICjlGejsyXG9Z4kIJTbFbasEaw4VbRhQVp027q1OSw+GJ0/HIq699yuFw4N3b\nt83t5DoO5yMhBtLlYaC0ph8GnGs09hhbttQiSDEg6oVxWVV7L1mHVB0oi46+pS1qq64GH0ihDTu2\n04RPiYf5QCclOkXWOVOkQbu28NNVdKwImcA051b2hSpohW/gq89/wrwEYg584+V30KpQiKyp7Ww7\nCeG0UI3E6R7Z31J3iXV9wi8ngo+X5Ac032ZsgjVdUbJgVNOMiOSpBQwtkJ5JpBwbxNrIS98+YK2k\nzvmikPas3uC6DRh5GZY1sHEunkqhpEoMmZqb6loWSVojUQiU0hQRm0yvKkTdkM4BZXqKEFQ84r9y\nPv+lLZr90OP9E30/8PhwYhhU252oDauakST6YUD0hvPhhFGGrhsuDp2INY6YAn71dKYnZUsuLfUQ\nfSHGjNECa8XHAHGpoETFGoEPp8tgInFa3qOtonNXH2VrStoW1PYNlNt3CWU8dph4dfdNBBM/+/Jv\nebf/ClmbyTKn0o7tSuC0xGhL13Ut2hJjy0ZagekkoiYkFS1qo7NUQwoNuV+rAjp88uTmfOIQTvS9\npB8dne2ggNAaH32DHaeKQ1KF5zwfSXFPyZqBLcpZQgItJML2lJwxquP2+hPun97wcHzGnheuNjcM\n00iXHZ3u6KcemTVhXolxJYVMSTC4HTEG1nDk+uaalGDrOsZp4t27NyiT+ed/+DGuH7HWYTrL/PiA\nURqjWz70eDxeXEqS8zk3/mXfcH5KN9ybMYZ1XS84OUEtGUTFOcu6rvRdj7aanBJSVR73z5hSwcgW\nGM9ND5piJPuVvu8uAFt58XFnapXE+YyUCu16ZLdp/p5S6bqR3Ar6SGVJJaJMg0+XUvDBo7qO67tX\nDNsrnt+84Xm/Z+x7us7h13AxcepmKTWSYwyksJKjp+s143aLVh1VgpECaRRVqubp0QqhJBUDCIQz\n0PeNy3BxJclcyXElicLTwz0n38oRpWac6YhCQinEWkFJiImqE9ppyuovVdW20DQQh0QKx+P7e/7m\nb/8zPp24Gq+RSiAu71XlWjIkIVC0qJAsDqc2SC0QKbLGGZGb6ydnqFUgVaW3rS1XayXlBn5JJSFk\nxSrNEpvXKuWZlFekVvjYGkGf3L7i6fme/eEJ7QqmtpSJvLBfU84ocaHQy0ZCC0uiSgdF4FWh7yyS\n1GJ3XGYfQbOGNixKsqJS/oVr1y9t0Zys4RQWlvM7jOm4f3/k7uUEWDp3g9GF2hX62qGLwJem1JVa\ntKlXcSQRqMITsm/UHjRUDThO5yOCM65TTFOPu3iEetdjpCJVQb1kJiNn3j19zvUGet2DGpBCUbOm\n5nY5LJxgMNdcT99mO37CZnjFze7r/PWPfsj7h59TRW0B4uSRMjO6yt3NLUYreteUDSkXpDSs0YNs\nts0aExrP7BM1FnKqpNqqc7m0vr0UhVI9i5cg2/VDpyRVt+ZUjpmcBDEDBGourEsipoUYMrbv0VpR\nwkLXW3o3MqqRQXbcbF6yhsrhcEDU5/Zhu/qEECR56NGmwpKY1xNWOKRuFcnNZsfXP/02KWeq8Fjn\nePP6S5b1RD9MdN2G+XyiH0Z+9vnnOGXQUtJNY2u7SIXWmvP5xDgOWNsC3s65jznFD3Gj/X7fgtnW\nEGKk63vev3+P1ppu6Dk8PGClQZTKaT6TXUOsHU4rRla2g+W033O+IOS6TpJyAsAZ1/QlpDbMk8NF\nGZspa6RzhpBmqkxMw451CSBic/YkmOcjMa64vufFq2/i/YnleMRoST+OLMuZ4/lInBe6TtNPPTkb\nzueZ4ANWWaYXV+3+rTRzgda2eZQuURwhVdNaI6iqIoYBM46UdcFYxW605KdHpDyzX4+c08KSMilX\nslJUmSkioDqBUZJqNV0nWJc2/AqhVReLbzGdUgUIeH58z4/+/m/45qffZhpHxn7AaYPAst3eEtOK\nDydKUYhqqNGSo6GESi3DZWfYiO7KSGxpKLZQfBt4iiYPTBSMtcS6oIUghDMxzfh0akT7rjE2x75H\nih1yaaQj1ztq1ZegeoMlR5/QyiCkwmjbZidrq0NXEUAketvwjSVWYvCIZC8Rx3ZdQ/h36j2vIjP0\nA6dlJoVn6F7g54J2GmuuGDcCfV7ZoHBKcU6CnBacvsXYG1b/TEgr5XLEEwKMbXT3KuVHr3QRreMt\nlMNoSQq0hpGUIETLsJUja/Q4s0HYgnEOo3uM2TAvM7UmYghYM3F39Zv0tqfmhCw933rxm8znPT4H\nJJrgY8uUjltyEcRU2WiL1YoQKyk+42yliBUtFdoayIHJTCgcp/O5VUljAVqCoNZWH40hIoTByIEq\nG3fRyFYFS6KBRmqK5NoiS/NpIaiKXQPCtjsmuwpeXX3CtmtQiERhko5jKfgQsOHMed1zd3tHiBqn\nFdKMCF04HE6IAnfXL1HGcV5W3r774qPjJ8bENN0xTRv2x2eoojVpqsCLzO3dHftzq0d+sEs25rK4\nHMWbgE1r3QAuOV+iSOFy55kv9Pf00Zl+Ph5RylCTR2uFs5r90wMvXtzSDz3r4YGH0zPbybEm0MoR\nQ6HrLcfDkd12i9SGlAS12ksZQ9F3tu2m5xnnNCFmTqcTt3d3HPcHjO4oshDXM4PTxNORrFY2dy+J\nOWNKRltDN71k/+4eZwe++vKnpBC4ubnBWktc1vb7Fhlte7a3r5C2mSflpScNgKwtIuQTMqbW/xYa\ncmwnllLYdgP2hSQZOKfM87lQlcKpiNADj0vCqMCm2yBFpOQTw0ayrILj8cw8n5HFIatuaggZGaYe\nUSNvHn7OLlyh9dcbzk2AdGNLgNTAcT6gpCOUBtnI2beNRrGUBEWIdp2AQKhMEZW4FqSQpJKJoume\n2+czQ2ktwef9G0LvuZpeUvHYrilobuzAGp5QQiNFBzQIzodOe4tTNU2IIDaepmmyt5RXUukaM0MZ\nKB05RbQUGGu4dFZ/4dr1S1s0k8iMQ0c/3HHyJ4SZEGLT9JwBrOzppx7hA1pKBJFiDLa/xmiLkY6Q\nYF3uyaygBFW15shuGljXhZTbMSWm1uKxxlKkbpI0UdD64kFXCnLi6XSPmiwpnUDAYCdm/UxJBb9K\n3r2759tfe2QavkXOFSkyJQaMsmQyWktyGfDBE6KmRosIlXhKmF4jRW6999I+vKWeiRlUNdhO0Nlb\nlNny9uH+Y/+4ikBOLbspJdSYqakSq8DUShIJbRTSgiYRsyHmhsRSKGpaSTWQciPrTOPAw9Mbuo1m\n7HbIkjGiRX+SDAglCOXA4fSaT6b/QPYK6yaYoMTEzk0NxpwD7+/fUWtqbABt2F7tCCHhfWiWQQHz\n6QRKYe3QQvxSfiSYa60IgRaOdhbrNMvSnO7QuAfjOBKCR0rFPM/t2K7bqUFKgZKNJZpCQEuHEbC9\nvuLx8REZEzEGttuJ4+FEN4wfOZwpRsZxIKaI0rIF+vmQs227NKk1JE2uimHsiTFwf/+Wl3evOJ7O\nKJUxtuP5dOb26opcM++++hmlVM7BU3NmGCc2V9cc90c20w6hKvM8ozyQMr1qDS1rm/q4TclXlO4v\nu0xBFQahCnFdUGGFWSCsacdS27QYpsws5zNb2/Mru1ucsnw1z5xLIRvNQGINz+AGpk3LKgtxJMTE\nvEZOx5XcrjnJaaUfR7b9BmMEQhTm84F1c8vmxR1OmLa25EynDaUfeNo/XBYiC0ZSc4Es0cIhUUhd\nsNpSi0RZgx4reWmd8ErLU5cSL2UHTQwLylme956UVzrdkcWC7iVGTLiiqaIgtUZoSfBLi24BH8Dd\n7f4Yul4DGefMx0qyEBpotHlsAiGRJmF0uRg2//XXL296bizKGLTpuBp7ioyE8oDjmiwcaT1jXYc0\nPesl/NpNO7RS5JyweoOSezIQlkAWK5PucHagc4VPXmx4MoXj6dCO7FExrwnZVbJIjTCUmlSpVok2\nI+vqOfoDvag423QazlpKDZxPlefDwt/++D/zW5+ZVndEUOqMlCu9SWRfsbZQqEho9KJUWLwn1orU\nDbyKaoMHZS0CxTBsScnS2Z6uf0mVjp99+VNiXtsuJxRSTGhVESLjwxFpB2QoCGsopSURjA3U2Mjt\nqUY6o3BaYYwiCMNSDHHNZCk4HB5Y5xUh2xGp1thABxRInqent0z2BZPZtTiPMbhh4P2bB8Z+CxSU\nsmyGLb/2nc/453/+Jw7He4ZuS+d6brc3/PSffsonX/sGr9+94WqnccbRW3WpTY4s67mJ8IRsP8tS\nWq71MgD6EHgvpeK6vhGPYgLrMKp9sErwuK4tvg9fvaHvJeN2CzE2WIZSnOaZzWb70QETQkCbRhHq\nur5JxXKlFo8QpimgqUilMMZe/izo9cgyw+FwYBgG9od3TN2WF3cvORxOaKfYTVODLitNkYqUM0+P\n73lx94IcZmZ/wtiOlANaKmr94KsppGVGmw0FhYgRTKUK26RqQmA3E8IbalgpORBTahKYbkQUhZZH\nSGecKtwMlqoVr8+efQxQBIO5wtaBoRvoXMDIp5YjTQurt/iTwMqB/spwffUJzmqqDEhbkRLu379G\na8fd9pN2v1wjOZ4pdcXYTAhz0/vW0uj6SJTgwlsNSN02Kr3pQYS2PxQaUxMxL6TadMBSiEsN0lOr\n4GH/JZ3ZXOJ8zask6RrxSemW05QTMQRO50dKiVAqRlqkikguIjvTYMZVRBCy0RxUQRuL0xatE1bn\nprz4RWvXf+O18V99VaVAWarVbMaJUjLzfCRXg08Hamn+E1krSYEnI0tE1waWrSWyrivzOTRAq44E\n14LgqhNcOU1nenYj+FXh14qisqwLvWuSeGj05pp0Cy3r5v9pwb9C10nc6ojF4+yGOK+8fvuOkP93\nttMNuaxAArmiRcV2IHOls5UYPbFYjrFFTQgLpVS0SWjT3ogld030Rs/V9A1EaRW/V3efEjx8+e4f\nqaWFcEG10HcnUCq2iJVySBkRRuJkAxBEfXGvi4LtLBulsFaQlWGsEKpAZkGqmTA/Q1EsKlNqbCqN\nGttRKwc+v/8x3/jkN0i1w4q+xaWMIeUASD799BsA/F9/+yPO8xO77QbjWiXy5z/9CeO4JXiP9yu3\nd3e8ffuWm5e3TNuG9bu/v+f25u4CDzbMS9stlJIJIbDZbNrRSim899jO4ueVGCPqAhwRVTKfZ3rl\nuNqNvH79c9bTe7bTNVE6jocjoiaiDNirzQUPlsn5kv+knci0MRjlCGH+2ELi4vVOObPMbYrvuo7g\nM8sS6PuJZVlBSvrBcT7sSUXShhIJrTQxBISsPD68Y7vZ4lNEpYjrOiqFGgPNrVoRKJS2zQ304S5b\ntGabVIJcBNJOVNEhZUaW1MLt8xnVDdgXLyh+YSkHAhmtNRsHPgbOWaDdyOReYTC4qcWpqJlUA870\nHO7PiNzz4u4ThmF78RK10xpyxasTb17/Pev8wNV010hBok2tMx4pK7YzFCKB3BIJuplVUQ19mIkU\nEZqqmdafrykTc7nASTS6Siq1UaCkYhCCHGdiLJixI4aAsj1KdBQEqmq06jA2kPKBXNcWXS8zri+Y\nmljXREx7ktCEHBGlqbu33USphaGTaB2bjA33C9euX9qiOfvAOAi0aag0aQxVah6O920abUZCdZQQ\nWrCVRI0Lvd2SS8FHj0+peZSrIgVYl5Whg4JGqRbYNWzxIpFkowgtKZDw1CpRuV4UqRZNh7UGLSud\nlm2yLjxX04CslV5qzsVzPj/zOjxwb+4xNtFPmqFr1O1Mou8UWjtqtpeL9sA+Fjo7UWqLcZiaEVGw\nmUZSquwPR5xZ6eyOlAqQuN1cc55f8Lh/wNBThUaKFWsb+LemTEwKZI8o7d42lUwRCaEqVV44jbJi\nKDizwQjLyIhRjrTu8enAcTmQNVgh0GS0MlAbBWjxJ14//Jhv3PwHyJZu6jjOZ5xUjN3Efr+/tHhm\nNtsbUvE8vH3N6eQpJeI6SQyBX//VX+ft29dY02Ru1jpef/UVn7x6BVUQY6TrCtZYDoc922nHshzY\nTLtLlbRdrdRakDajZEsfGC3pOsvhcKaUFS0lN7sbnh6+QNTCZnvNZrtlXRe0s5TcFBBGyubsLhm/\nzjg7UnIGKdGqhdOtMeSU8GvEOsuynqi1Y5pGqJEUIyRaHXOeyWGl7xpBvGSDQpBLxnUd59ORUFa8\nX+mGvlkwz+0B0Q0jqHafVz6AeJAI05BtKmeogqQMJa9I27KE+IK4eHLIiTqf6LRlGHf0VO7ffcUx\nnniKkUNacWZCY1HG4cyAKJ6huyHnzHl5xJlM303kMGGMwvUtu1yyJKXK4s8IUTBWcDw/tgGKAEgY\nbck1YvSFwCRUg6aUAAiybKcHmVdkrcTiUFXQVsmCEAYpt2hVkKpeNCAFrcCo0qrDBXLNnNcFYyZk\nOCGkoOsbGyGXQpUeNwhysq1LHs6UvICUCFXwoZBqRgtahFB1SKGJyUPJVDKF2OKCv+D1y2sERUkJ\nle3VjkRE6UqVkseHZ4jw8muaki8O7ViRFUiZY3gi58TqC7mAFhZyu9soXrAuC73bNAmV0mil0Bdl\nbcqFvliCbUOUvCZCWAgpoVXHdnxBpw0+nZEyo3XH1c6ghCEnxe1oefde8e7xXbPuBUFBQE4waobR\n0VnZuvI10/ctUnOYPdkLZG2hapEkgzPMS2AcJ7yP3L9/y6sXV6z+YisUhc4aNuNI8hljJ6o4Y1UL\n+Qt1MXHWDySkTCqSKhoGLuXEWhLe9Qih2ViHliNW7VDSUI3hKOG0LOSwYq1GVYmWilRWlKzNER5P\nrPEA2mEojLdb8v7I8/6JfhiJMTNNI09PBw7HB+5uv8U0bqAmzucZKTWkipWKzYUyNZ/OKKm43l3x\n7v7ho+N8XVeMdg2EIhukN6WCUpKu69r3EwJrNOfzEeU0QlQ2zvHw8AXbaUQIz3a3Y55nUlrRuqMf\n24NAFHGpLRaMdnRdxzzPLMvyEa4thEbUQq0CbQ0+Rs7zievrLafTzMPDIy/vXvD4OFOK4Gk9s5sm\n1tNCzqBNm/RKa8gRDscTY99zOh6J/szT8YneTtjLsV9oyTCMyFqoQiCMo4hmapTSgVLUmlDaoeQW\ncrhANwAfyH5FCkHIgZzB1IzTlRe7G/LxyCmcieFEbx0URUyZcRD4NSIk9O6KbX9NTM+MVxW/Loha\nqdpRirg0sTy5nMkl0HUdJVuir+QSiHFFyMYjTSlQSiXn5q5PITUhmpTUoghhRTnJKldqoRVXmsUH\nozqEbBVG45rihByoObV7T1EJKbWHtp3p+x4fzyBKk/LVSsq+VZnlhFaOsbviuL9nXj1aWwalOC8r\nRkqMdnARNFZhyekEuhD8ihT/X6fZ//P1S1s0t71jUAInM70dqFWysZLBXrHmt1hp0aLlwFKudELj\nbE/RGqrA6cSgFee1Vep0EY0XGSvZO2Q3taiGjE1BimxPMilwvSWnyiIysVZE1AhhsWbikxffYl7/\nb+beJNTSNa/XfN7269Zae+29Y0fE6bIxU296bK6n9EpOBR0qgiIoznTiTNKx4khHIioIDpyIII7E\nkYXDohLqChctb1VyzVTzZJ5zot3N6r7m7WvwroyqW6VZhVLogphEnNjBiR3rXd/7//9+z7PnOD4j\nJ4+2mpubS6IzKDpW/UBGcbe/ZXYBKQoKgdGC0hmkUAhTSKma9YRQ9L0h+nolzFIiiq7umcmTS0DI\nzOJ2LP7vWHVXuCWQS0HLTGcU2RhSSRg91Ou9ol7btUarjiUcKTkTS2UD6kZgh4w/FqaiSdHBfKRr\nW5SJGCFJQK8bGtkQikdJg5YKkSW2saQSaewaQuFweoa+6DFqjUYhhwHKwjgfkFJxWhzOjzx69ISr\nqytuX33E7Caur9+mbXrGaWK9vcD5wIVSCKl5++23efnyJePk+NSn3mOaljdELa0N2+0ly+Kxjalx\nMmWwtiOnQAiBrushR0xjCcmTYu2Jn05HHt88JmVwsdDKTGvrh1dyS/3gbDooVcXQNSu8dOfZaV0S\nSVn70KlEurZhnjPLnLCmwznHw8M9xtQigRCa2SX61YrgHcEtdH3PsjiWeSHFwKtX+3OgO5FdYHIP\nhEZj275GqYxita2JhCIqsizODqEkYtVRlKFkWUEdWSNFQdiEED3KSJILLLNjijO7ZeK0OIrQrPo1\nhyVhVENIYBC42cEago8UkbBWM6yumdPIEu/IzUJJAp8e0GUGIGSHaSJWgNaJFCaEsKTYknJmXmYK\nqna/JW++RyGCKHUZUx/eWpIrVU2uFcklUq5tp5Qine1pTUORid4KiAnvF4KfCAGWpbCEfIZ5zzSN\nxbk7tLGVwi5bYFWp7EniXSX7bzcVP3hajmjTUqIgRo3VCs4L1uDBn+pGPabp255d/3aH5tqwsRql\nFtp2wzQJSpkYuoGS12gpKTERz+FkciblRC9aaAaiTgghiWEhqyoTKylhZE/2hihNdWAz47ynKQUl\nar5xju5MeIGmM0QKvbUY0SEpDM0VMc3sTx+ChL59RKs3yGLpTM+0VIoRaaHESD7ToJdTRKSCtZpG\n9WdToMAXhzQWYxQJIEsEhpg0+8MBoWd8zsjjkb69w+qW6DMajZamwouVAvmt3jRQSl0mKNBKAwIr\nWpSEGD1DbyF6Tm4ha0EYX1GUpIjAut/i00JIlSWpkFhjsabDKEGRlc5UdEIBIXscR6zqsM0KHyKJ\nqhA4Ho5El7h5/Ji+37J7eMY4H3n65G3mecY5z+X2CUJIVkOL0holBHd3t9w/3HHz+CnzMrIsns1q\nhVKKZZkZhoHj8UROkdbWapwyAuVqVEkBCPA5I5SpfFBr0aIjRWhMzcVaa3HecXGxxRVPDJGcEkmI\nc/8YTNuQU8KnRCqFxiqkqm/4cVxYr9ZvxHBdV1MAuHiuejqUUCRU9dwI2J9G+qZFSUmRir4feHh4\noDnHifw8UjAVXK01XhliCOhhoOjKU61KiwzBo64eE6aAUpnsApSq/CVDDAUzbBj6LfnwgMl18TJG\nKNKCaVBG1LZLFizzxHF8IBaPX2ZcsJjBYNuO4nvwBecLKR1JZT5j9gyZDKUGe3RDbeyUttKCZAZR\nHxSSW5BZosr5aZOAGAwogZAVWVZKZYj6kKr8LRaSN1jbo3Vt/OUSydSki/cRHwUuZsS5Mmp0tZ9m\nGRi9QGaFVZZuuGTVXrNeXxOd53C8Y5qPZHGkbwUmRIoKLMHVqBqCXCIhwBwliK5iJvkXQoj//3w1\nRtI2trq1FRhTryddq/CpJfpIjo5cEsvoKWVG5IK1HVIFCglrDaaz+LhQcq1MllyQGESxBC9Rsiea\nzO5wpJG6ysaspaTKEqQoYtrhwx4hIvMUMUbig6vzE6tZ3IGry4E4S6weuH6UOExvc39KhDATfSSo\nSoXPEaKtwXNFi5WFqD0u1ANUS0k+b4rJCkGllZMnUvZMywHPiChQVIPVfUX3S0sphhQkQhWgAmV9\nPKKNIIY6P7PyrE5NESNn9oeZEDKpLNztPmHoPM5XdQKxkPSZ2t73KNVQVyOBIjM5T0jbkRPcPbxE\nbS24QisLwgjcMWCUZnWxIqXCeDoxz3rBPMkAACAASURBVBNX14/Z74/1aq1tzVamVH/EyOu7ez77\nHZ9hca7WQY97Hj16yv7h/owKzMxThWGAwuiB4GfOiRysEqQUiH7BTROXF5taywye7eWWw37H9vKC\n02nE+wUhJIfDEagHsPOOTisWv9D3PdJISrbgPTEEjscJrQT9sEIgz2MGzpXfhbbtz0+kAqUkh/2B\n8TSzGjoW5xEUFpY3/fPxcGC1WrP4hRQyTb9G5IigHhBKK5J3lJwpfYcwinKcEclTlCGdTuimrU+h\nWpLvjmiREDKjiudwe0Q1HY0qXLQNThbyIlmK5ubyMSFN3O33eD+RpePV/oHV0BKEJ5eGuHiCzwQn\nid4Ql8DiHVJGyLZmhRHEFBAo2tUKJSoo2OiCO39fJQqBIvuICoUewGqyKkQZ0SrTtrrelMjEGFic\nZ/aFwV4xzwt9K8hFkEWAXJdMQRRiiZVupiRDZxCi1DHTmUlh9JpW3vD46nM82twwjoHCxNXmKa1d\nc7f7CCJ1dKUWBq3eIBVLTujGIpJliZ7i2297dv3b1SgHiyiFFALH/Q6UQYo621S6kEX9Sz2Od+wf\nDjS6oJuMloZh3VFE1c9WUrdF6Dp7CdEz+wNCGUw+E2SaNaNxjNNIdgIRBVJJ5iwIUZCF4XZ/y3a7\nq8Dd0uPdQnChXne1ZD/usFim+QHw3FxeINSReWmrkz0F3OLqUkValDQYJRBaILNAy0QKM2Ahq/NT\nUD0UpU6ktBDSkRhqK4LikaUgSyKmA0J1oCwpS+KSyalS6XGJfhgw1pJivW5pWQsB7YWmNz3TtDCO\nAhkHUjGcXKhPivFsNrR1xqmlBhxG1MZMEZ4iCjlZnHPsDrfotkFjq6DNtJVlKgSSCiu5unrKadwT\nYtV7vP3k3TpfzJlH6zXHw4lPv/cet/d3XGy3xBh58uQtUsx1JGEMOUVOxwNaSWyzRpy5h1JCDg6s\npsSAVpLGKFLwrFYrlE44t2CMZVkiTdugtSCEeMbGVfSe1QrvPBfbC1JKxByxTVvbSEBWgtNpVxcN\n7Ror1HlhmM864umNh72x9UPh9vY1fjlgm4YYI+Mx0bYLfdcwrHv2uwNKKkzX10WHqX6pJASpZHxw\nWL+gF08p1aCZRK6HQ/S1zFAKClCbgTQekbkgbEtneg73d5yWE+nsFh/6Lct+BOnoW9jtT8jGs6Q9\nJln2YzVLKmUR3hInRXQDy5w5jJVNmXKC7GsfW0jadgC7xk2FtssIFWh7jy+ZEBYSpo6/tCKWQCFU\nnq/MCBnq+Kfkao4MicUlTpOna5+y7t7i6vKai83A5F/zcPyYEO9x3hFLg24ErTL16+iqjZFKE0Mh\ne4UdejbdJYNZc3XxDoY9tz5wOh14ON0RwoJuEiFONd8pQYi68Gy7hiQKiBUsmRj+nYbb297ApPHO\nczq+xjSmxjWyZNV3yNJwmgKHybM/ZYwKqDnigudSdEjRoHSmUEg5gqgCr5Qz0/LA5CND+4SuazHS\n0A9bTjnivEefq15zEAQCKjfEOPH8xdcpV1DGW3w5kUpkmjza1GaJYiE6U7FtMrNqVjTaMmuNDxM+\nLMScCalW7YRq6maOgsypBsfDRI6ZVBqUsjTNgNYFkTuK2ODcPT48ILMl5UTIM0JrcpwRMiHP1/Pg\nM7M7YpWg0R297VFWsQSH1LkKoyRoC13pWPWXiLhinBwhSHwSOD+9oUvtlyNm2FbKs4ykkojZV1e7\ntEjdcvKvsdIi9ROUMhiRKEawGqo+t1n1+HFkWWZKVjx69JS+33B3e0+32WD7DlMK4zgikqQfVgxD\nV0lFxyPbq2umcYQMKQSsaikxcDw6LraX3N+/oLOWHD3ZO/quw5fMeNzTtIYQJW4Zsaa67Y01SNmz\nWV8wzyNd2xJDOh+q8/8JORaQ00xjLYg67xv6LUIIgq9KjrbTlKzIudAPHYfDgRcvnzF0PRebK548\nfpvd3QuCTwx9j5tOuHGPnwTTNJNzOi8pwCiLtfpMbm9R0p4TFxnChMiauHj0Zo2QiuiOqBix62ui\nPyF9QtkBSCQqLu+yHfDPP+R2f8uUAkEuZGUoZUbKiaZzTOEViQPBmRoklwZjesRi8D4zjrA/OvxZ\nQlZvbhFx1geHxdNqiRYFtzikWghpJJexWjdjoSRLxqOQFGEpSiAI6BjBZ1xQeFVdSrFIVsMN7zx5\nn6vVu2zWG1a9Yeh/AKnheHrJ1z/6W57tv0orAkpESqnq7ywlzkkoKyAyzyPvvbWpbaaU+fx738Wq\n7fmHb3pe3H5Y4eQsKF2hI6UkKIWURZXO6ILKNbJozL/TnKbPdX7kCow+oksGpdGmpVUXQE/Ojt5O\n3JUT2SWkj7gQCWWh7zu0qTQcKRNSFGRRBCdIrJn8wji/5C39Do2xGGMQ66dod2JZqlrVipZpP+KS\nxwrLsowclxcVwyUKWmlSgcUHjLYcdg/4paC1odEGYzS26ZGqQTqF0IpCQmhLKopQMklqgqMK1BAo\nUa+WQtZ2itEKq6uymBKxfctpUszuJShIaFrTn22UkZI92qgabBYWLTuiU3iZsb1B0+KnIy7O5/mQ\nQooNio5UFG3TI2UghD2NjlA8lurTnuIeEQM5LUThESajpKOUE0I2LF5xmg1t09HR0nYtXdtjTYub\nZ1IonI4npFBcPnpUuZ+7B7qhZ7PZUHI6U6cSw7CiH3oohf1+z/X1FdE5RKo0odf3J64uL5nmkZIT\nW65oGo0WEENiPj3QW02jLe54D7LQNQNzeYAigVIhLTEwng5n5FxmtaoHXt32VjlYXUBFSkp0bUfS\nmmVxtG1DznW54X2g71bEWGNKSgha27DMMyXfsdmsWW+2hODZHY4VxiIV0XuGvntTj00xIQwYU3v1\nQoiazTTVWipU5UnqbkXBgjJgRM1r+hmtFeRQbQdnW0DJGZEzT5++B9ri7l8Rhee4vCblhcXvCGXk\ndDrizn3xeXYYtaFrVlgJKRZyjvgUmZaEoiLmpDg7dUx1HJ3GIzEYusFTxIlCpKSFrDSlVEXF6EFJ\nUwWFIuKSRFCgKIzsUVGAkLS6RciOEgt913GxueHpkxsarTns93g1crN9j8yEH59jVSRmQUianFqM\n3dD1F6iS2O0fuHvY812f+QL5jHzr9MC63WClrjsI6asvXNYuegoCimZJsRKvSkZbyPw7BXZEIkEW\n5pyI0pKlQsuMLJGL1Q0hSBQXhLXguf6YXBQlJUpSnA4FONL1PTmPGFMDbp0d0EqyoBBpYjpOHOwD\nrTU0/YDShq7d8iBecHA7pMq0zQq3jLRSI3Jgmk8Mmw7vBdZ2KFWVwf1gQQpcmPAxUaymaxuMWpOU\nITdUgnjyGNNV8nZMiMZizIY5PaBVgVIoKEqpbETnHJLK8gOBFANGXTKKHRBpdEtOLa1tyTrjYs1A\nalWXFRVsIRHRkEZV86xCkkPBC8+q7UFEIhFtDZKIFhkjEiLnKuk6I9GWIFncEZjRtlBSoVMADqkm\npO5I4YiLJ1rVMHQ9Rq6IxSMULKcaBVmWzGk8ETNcXFxiTUsKgaI1Xd9xcg7bKEJ0SKrKohSYjgeG\nvmVZJtabFTF5jBG0tscoECWTcsS5E0oVUnI1UZEWpDLVWEpE65ZMYZwmLjYXLG7CNvWfeqUOWVLK\nGFPjXW8iT/PMfr+naRpWq4GU0huqfPCR++WevmvP1sz6d6+FIoSR/W7hcntDLoK+H7i/f8BqiSgF\nv8xo3ZBSoJTacJJS1+9TLoRcKNqQpT4TlASibWrwXguU6hBSIxKk/R1Q21LFO4qs4JkSPCc3UWRB\nNw05BlycuN+9oGstrdnQMHLce3az53RyrPqM3mikFZDO/nFGjLXIXFMORlukqDPwlAohJKQQ5HEh\nixkIZAFBJkgLGQe2xZeCKpm1tQyqR5uhjiMSZBQx1kSA1pnFveTVvaiEMK25vlhjrELOBecWwhgQ\nsSDIWFmXQEre0PVPCaXOPjs78er2I5689R6Prr5AUYW2s1xfrXi03xLSx0SRa65ZZGJ25ORxzuEz\nJPzZDJvPJLV//vVv5wgKEzEbtG257K5IOVLKgpaWrunJJSHDgm0MRilCiQg6SkkIIlZ3qGKxSqLE\nhAoZGQSbboPNhUZdcZyPLPmOw/GBTf8IoSRGrumur/H3/4U53IJd0+aWrlEYOVQOJ9D1AqvN+bF9\nwC8nstJEoSBnTJEsPqNtpu068uQQwtW8aCok5ShJIl1EN5aGgWV5XbvEMiEIpNhwGg8cJ8fQXtI3\nHSUvFDJWDUCkby7JyRBjQaqza8UkUhpBPDCHha5oYIVIdbM8xkxCkUtdhDR2oTW1nTO76i7q2hUX\n2zVQuL+/I+uId9Xc6UMgLjPWgJszpqmdfiMzQi/kotCmo1jNND1wOFSlriiVQCWFpu/W9MOatm1x\ns6dRmaF9xGH3GqF1rcXqBpEj0S8c3EyjdPUmiVxjN3Ehec+6a9jvXzEejzy+vODV4YG+lQgJ8zIi\nlOJ4ONHHTJG1kqlE3U5zBoHM04K19o2TSBsNpZBTdY3Ps6NpW1JM3N3f0vcrbNvWLf0ZNt2d5W9K\nZdrWIpUEHXC61EP19R3DaqCEwFs3lxyPJ0JShHlkiieaRqHRGKXxbq5e7qahs7qKxUyd1UqpiKke\nfoWCaM/he+ERTUvyHt0aiqhzPZECx2VknE+83L0mGkFBsrhYYRrqCoWl1VfM44Hd7oEsOoRYY2KD\nNqW2kETBohhLFewJoVG2RnwMFkpBSYUQ4MORfI6DZxRRxooaTQqlItdNw+PVmsthwDaSLAVzgNPk\nObrEcfKcUm30lfLA7vACNx853u94uVGYznKYXvL89h+Z3XNaEZCl7gckgBjJZa45UuERJhCOr/i7\nr/3PXPcXyF5APBGCQ8tqQ4gEQGOFRaRMSaEWHtAI1ZKjQxlRuanf5vVvdz0PJ6Rs0KahbVq0lrip\nQaCwpgEFJ39kH1/SrQXaQXKecv4ETOH8jywXhLFI4wHP0GoGtcblhq7tmZLG+z2H6TU3209hZUvX\nbXmL7+Qfnx1QYkZbjdEdnemQMhNyouRSJV66buL9NOOWisQP2RNzoDNriO1ZfaHIxaAVLDEzLuNZ\n2FZD901ziWots9tTyvyGAF8yTNOEWwpldQlQ65lCVqmbttj2gtM0VrhAUUjVsuo3iNJyyrecxiOl\nhUb1VVtRMt4Hiqg09NRIkq7UGe8ybbeisxe0cottNa26ZjzesU/3BALBVSYnQ4tKESkbRMmoJmLb\nREkHXFmzmyJ5dPXJRGjcOCGlYXt5jdEtPsSq3W07Lrcrnj//JqfjkSfvvQcKopuYjvszqXtFSZ5C\nFXAe9g9Ya1itN+weHhASrFU4vxBDJGqJ946MwDYtK0TFi4WA0uCj5+pySwyetqnb0BTDGdYAzqeK\nCHSeO7fQdT3OObp+4Mlb7/Lq9UuO00jfGPq2Qcq6aJOqRl4QNc8aWBAZjNU0na7Cs5TY7x5oVitk\nyIhgAM8yzmiRSUnSNC0zdRHTtpG+ZKQSFFXfwMYoUg7ItgPbU3wi+wVtDUptIEdozxoQkbFNS7zP\nHN3Ifl6QdkXfX7FeCkaBLJmhyWhtiCURYoUECypAJlMjfNZYErqOnKRGK4kSkkZZrGjRQuPLTGMf\nM3mJW+5IsiYUdJGs1JqbzYpPXz/iyXpFv24RMnBYPHcnRwiB3RRZ/MJ4nPB+JBVouxZ1+DrNKuOO\nEPeeyb3mxcM/kHJgZQ2gWfWSlBYSHb19St/0nEaHEBNN43jYfZ2//+Z/5en6RAwPhGhIImOaNSUL\n/LmymZLCqh5tFBEFUpGwCBOqR/7bvL5t9P2jjz7iR37kR/ie7/kevvd7v5ff/d3fBeDXf/3Xeffd\nd/nggw/44IMP+Iu/+Is3v+c3f/M3+c7v/E6+8IUv8Jd/+Zf/7NcOIZKLQ8hMzkv1nZfMen3JdvOU\npzfvMQwbRveMdhVYXRT6TcB2ASHrFSfFRAya6BRSdPVAzbAeOq5XF2yGnuv+mlV3we7wCgFo2aLx\nPN58iveu36czgraVaJ1QytVIk9ZIaZGy5v+ktJTSkuJZbpfALSNC+/N1t8GqeoCWIhEFZJa4eUKT\nMdpSksKaNav+hsZu0FqjZe31CmGYp4UYCyEJTvOMiwVEAwi0tFjTEuIJpQsiG6zoeXz5ad55/AVW\n/ZaiPBMHTmHP4mfmZWaaPYsreJfZ7w8cDjvm6cBht6ttotRUOycN7z39Tj799HNsGougkqXisuBO\nkeN9rp4inyk5ktSBOd/hOKG6Ft30zC6wubzmydNPMc+eh4cHjDFcX1+z3qxxznN7901W6wuG1ZbD\n6YG7F59gDXSdQYuq2kjeQ6r+nq7rsEaRo8cIwaprefHsI6wyiGSJMRFchALO+zMyrkNKQThrNZSq\nnX111quk6Dju7vHzEb+csEaQUw0/q3MmtqB4/OQduq5nvz9wGkeUrmizGCO7wwEfIz4EcoL15oKH\nw5HddMJ2LaJt0P2a3etbxt09IUfW6xUXl5fYvieWwuQ8Snwr9F0oySNLQJQAGpLpKcMlMRnSNCGp\n+DhhWlIRFVySHFIXomlo+p533/4UTy4eY0zl0gbXsu4/xVtPvoNOX9CZgb6tbRmtDcfjAURkmiZO\ny8R8vu73tqXTit5IOhtoDRgJuhSsFGyaLevmKZerz7HuHtOkjkH2XAvLu7blbWu5UILWSkRxhGnB\njQun08j9fsc4jZyOB+bjgbwkmiKxpUUjmdwdiz+yLFNd1MkGpTRTXNiHPTv3QFAW2RhCmXBhR9s4\nlEooJRlsyzc+/irf/OhrfPTqI54fXzMGWK3fZbv5LEZe4JxEiZZGrmjyUOfz9DR6oATx/4bT/PZP\nmsYYfvu3f5sf+IEf4HQ68YM/+IP82I/9GEIIvvSlL/GlL33pv/vvv/KVr/Cnf/qnfOUrX+GTTz7h\nR3/0R/nqV7+KlP/Ps1lxhZtmdLfgXUEWTQiRt578B9596wuUsuBS5sNP/jPez2hhSUYz2oCbKqHI\nO4cxliIbsrYYJfDeE5zHdtC3A6fFMTQXqAj7/WtWj24Yx6W2ClJDay9rdCfkSvEuCylT4RpKkTNo\nqWh1wyIDIS7YViMzhDDRdT2GprYTvMQvlc0nSsEKj3Mv6e3bKDWgTZ1P9U3H3eElTlbfjRCgVY8P\nlbqT8j0Pty+xb71Ha3XtKDeKcYEYj6z7CyQNiUzXb2l6y358zuLuoHi6ovEuMnuP6HuKbmqQN1Uw\n8TQGXvARZMl2dclquIQQWA8DJT/Gzffczo7jMiNkA3OkbQqrZoVSGm01OSRUabHa0AhLc9lQfOD+\n7q4elo+vaZu+1lml4pOXz7m+fsJ6PfCwv8UYxcXVJdN0QEpJ1oZUMjEFvHdcblaEZaZvLG480VmY\nTgtuXhj6nlwiKUPKmcOhvvkzXa2qJgelAmbHVJdPFXuSaZuG1bqOKhLgfKTtDEZZlNFEIjlESi5c\nbC7Y9APjeOJ4mtms18gMGs04n2hNSy6F3W7Per3GTSMvnz3HGE3TWpRWzPOEpFCyrebNdsVqe1kV\nIqo635XW0DSUosguIMWC6K+QpgoH8zJRlrlqCbSEvq/+7qUS4LU1+NnhxolPferzqN0dX/v4GVoK\nTuNIDg2d7ZicpzENmhZkIibPi/sXFJHq6MoKQvS0ZkEbRUaR0SBnogiEEsjyknVnKdFik+J6/S65\nuUC4F6ysoMkZ5yIPuwPTMqEk7JfC3Tjxej7x4E64OZJDYtMKBivpO0XTF2g8BIjygAs13VECxKjQ\nRuG8O2+7Z7aXAypIlATTSvQIRmmy1bi951n4BkJbHt2sgQYtOnLxqDKh5QLOIYui0R0uOiKe4AML\nGlX+FcCOp0+f8vTpUwBWqxXf/d3fzSeffALwxg74f339+Z//OT/7sz+LMYbPfOYzfP7zn+ev/uqv\n+OIXv/hPHJpbZp84+D3W9oQFJIahWVdBfFpYL9W5nZR6046RGlbrBqM2LCkyhxlphor3EpqlJJSb\nyMqCsIAi+oLWAykVbnevkbmp4XEkKvYIM5HkQhARce7OFmS1I0qJwKKlZm0vEGEGlSgKYl5IxTH5\nU53uiHqlL99CTmmDY8L5HW2nUXrAqJau27Beb/jG65dM4+35qtdiTIuUVQal1YlXt/d0dosT1WNz\ndXHJcXpgnF/RmiusuaKcQ75XF29xeNDMp+fINCJUotEdRl3TmB7dZvan27MHBV69foVbAqerK1IJ\nNKrQt1DiXDvaoiW7QhG1wx+cQkSNRmN1vY4XH3DRE1IkeY/NCmM1Q99TsuB4PNJ0Lc+fP+Nie0Hw\nmXEckcbw+c9/jr/+27/h6aMrcsrsp111YC8zq6ElZ0PwkcM+IygYpRinkbZpWa17jscDQhj6Vcv9\nrmC0rhSc3rJarzmNI9oY/DRhbfMGnpFFbWV1wxpx9svHDBAp3iEbQ46RFCLj4YG+X3FxdUmIBedm\ntNL4eanlCJHIIp975NWImbzHjSeWKb+BYecYqlObgrK1hWIaSztssNpiuh7dr8lCIa2mNC1JCESM\nKK2RwwXFebI/wTzXRc/1DdkH1P2O5eEV47Tj5e6WsOtYUmRZPHPUzCGw+J6SMiG56tRqMiUlYkzM\nyz0+JhKZxjYIJRAFAgUlGwodStcMtRCKJR5psqRrLCIYNGtK9ljRYUUmBcu0X7gtRxyZLDPTIhlT\nYi4LQTtEThgtuegaOhPZXGhUA15kfKpqbOcL0StEbpFZE1yocbsEh3Jkt3/BzUoipSbHiCSQvSN6\niE4xlT1Stmw3M/msKslE5tlV93yWlBAJFBYSQUaibRBpg1Hffmr5/3mm+eGHH/LXf/3XfPGLX+TL\nX/4yv/d7v8cf/dEf8UM/9EP81m/9FtvtlmfPnv13B+S777775pD9v79SEhi1wvsRNweCz6iSaZSm\n1ZpkWhSCea6aValVte0ZjcgtBcNmteKqeco8T1WwhKIYSZQGtzhyWPAkQgo0XUuWksNph5VbEAJj\n11ytFHeHbxBZcHmuaLhcnT/ZjKQEgS1aazZDz0Zt2c17TvGOKALLcsZJFw1FoduGWE6YojClkLIh\n5SMhasQk6C+2tM0Vq6EHteE4ThWSoPSZZF5omxXHk2Fa7rnbPVA2a1IUNI1ECc8Sa5DZNjPdsEJi\n0Wrg6fYRi+p58fHfgiv0ZkU7bOmGC5QtTHHkOJ8qs9IXdrvXTPMDBsXFdnOe9QREm9GjxCpDSB4p\nE3lpKX5N9KDNiFEQciDm6zr8lxXV1qw65tnRdoqnT59wOB5RQvHq1Wusbei7NZ9+99P8t7/7GtdX\nV3TdmuPhgYeH1zTdmuurS8iRaRpZrdbM85HrzTXeBwBWw4qUMlKqs8O8sNms6due/f6OEEGZHtsN\nhBAZNmdVbIpIqzDKAoJEobGWzg71piOr/iLOrt5glKZvh7pYGyvbVSnF8bDDLRNWVUtmEYKEYOg7\nZlFIOVXqjq85wKZt8E6RSr2xaCUxuuaTtTrSX9yg2w5t69LHLQt62KJNDwSyc8hmjegNqlXgM3He\nIfYH5OYKcWOxsvDJ6094fjowLq/5+otneODF7h6Po/AZTE4clyPOzyi5YLRAqkxafCVoISg5k4vk\nNBXarFDaI7KCoklCY3VCNgdOfkY3BqRkWU40IhFFQUjBROGYIsfZMecavzO65iqNiBiR8aIS+41J\ndH1Bq4RUdea8uMw4TixeELwm5ojRhpAkUjUEqWhE4vXtc4gnNufyAX7EAKdQiHFGiIAgcnf7Tebh\nKTkmsnAc3T0XKjMYDSkhcmEUkalE/KK56a9Q5w/Bf9WheTqd+Omf/ml+53d+h9VqxS/90i/xa7/2\nawD86q/+Kr/yK7/CH/7hH/6Tv1f8M5ilGucwqLJhXgJSVoxULIXZnwgxMs47Rn9A5IJoBFYKrOpo\n9AUla5Jy+HikGQwlJ4zUGFVpLjELvJ84TntciVhf2GyvaTuDygqjNFIolLlgaJ9wf5gpeaKQ0BKi\njPicKSrSNnc04pKuu6YdOuSomV4/4L1jv7xEiRmp1hQSF72GkBBSMPuCy4IiMzEsRE40/r5GqmbF\noK+5uthyFw+IfCLnBiE6rOm5WN/AKfCwu0UJwaShT4XMVNWj/sjD8ZZtepvt+lNArZBerD+DfnfN\nN/7xbzkd9vSPFG3XYVtFGwZkuWP2gbDEimqTkte3LwnsWPIDxobqZVlBn0ut1eWIEoWUFX4JFH0i\nqAUtH2E4ouWKxqzISXF4ONK1HfM48Y/jN1BKEkLNOA7DQD/03O3uiTHR9xd47xjHIymW6q0uha7v\nOR12lcK/2WJajVsqjs1acz5AyzlHCU1T42TadmhdAc/GtpWsriD4hGpqx9jljJCSMHtcEEgRUUbS\n2aoqISWCd6hGUHRD3/QIUcHSylq6bgC3MM6vMUWhbIekxTkwZ/p7CpZiAinX5Y5pC877c44XbGvr\nQqoURM4IUkUgCkW7ucaFgC6JTINIB3KYEHKgytUGlFmT7j9EHl6T+h55ec3b/+EDPvzPf0mW9T30\njRdfZ4wTRXo+fLbQiQaXAofTARc9UkuESNhVwQSNVBaihCxQtuaJBRKp2krRChmlIlLOWKGZ/TdJ\ncVUXSrrGvJacOYXEXARzkYRcMEiKqu0+qUvt9KuEVpLcSGZZKusgBMZZMB4i4+hZXCb4ephmW+f7\nwibSmVOaReRwuEOkiU27JkYoUWKCIMflHMWK+HBifviIlBNKZrTOKFtvCaWJpHi2N+RMYw1Jefru\nX7k9DyHwUz/1U/z8z/88P/mTPwnA48eP3/z6L/7iL/LjP/7jALzzzjt89NFHb37t448/5p133vkn\nv+5/+Z/+/kxoVty8teHybUuKmcU79uMB5wOH/S3eLbRGMS+JqDyLFqykp2kC2mRC9PgY0CgKgZjP\nV/GcKRJO055AJkuDcQeU3JBKwrYDOTlKVhjb0OgLpjlgZQ26mk4QvScUj0gBGwXGfpqhu8Z018wh\n8PGzr1AIuHjEWoW2mnlyaJ2Q79/8sAAAIABJREFUWlFK3WA7F9A6EOKBdB9ZNY8QZUHogKKwGjqS\nDxSxME0FpSqceD0MjPM9u+MrtG6YXKaxEOJCjgHvPR8/+wrLTeDJ9feizUAShmb9Fk8/2/HhP/5X\n9tPI6skVUjWo0lBCIXldFx8CSpbEUAizplvdMIdbpAjIRtFdaeJSmGeFNgNaX2MLZH9PbAIxHxFR\nI1WHDoH5NLLpB4KvxCI7rJFS0RlDTInt1TW73Y5h0Ogz3m3dN9w/3LHuVmy3W3IOKKVYbS5Amjdv\nvNM4s12tOE1HrG3Z7SaGtUBpzeLmKoQ7Pw1qrVmcxzYNIThs31XVcvJvspdNq4gxMR5nZMzAiuAr\nEFcpW+G2UnI6nehaSzM0zKfT+f+rp5iEP3n6tkWYpi5nlqX+mecWUUqVFamVRtrqPEIpUlS0bUvX\ndRUknQRlWtC2JwuDac5z2W4LpiPsvokpGdVsyCkjRQM3nyGPr1DffAGtojOC7/v89/K//M3/yn48\nsJ/uSCS6wfIwP/BqzggMi3cou0HKUkc4rcVgKElA0JAkWRZEydim5leDK6QQiaoQVaAQSbZCkqNo\nWChY1ZEIeLHgviUIjImYqjCuINFZo4yg6zLyXPcURZC9AxJ+VJyOiekUWXzVGIuUEHhsX53uPhRC\ndCTVEMicyozKLQVFzJVQZa0iJJDKkDxM4YQ6j6W6tUXiybISx6IUuCXx7Bsn7l7cncE16l9+aJZS\n+IVf+AXef/99fvmXf/nNzz9//py33noLgD/7sz/j+77v+wD4iZ/4CX7u536OL33pS3zyySd87Wtf\n44d/+If/ya/9H//TBdoMIAzRC5YyIZC4ZWK3f4VLidP4gJERYwaQmhgLlMQpnghiRpZEKgkfDEZ2\nCJmxskMKgVD1G92te+bjHdnMFAwpC5Q2zEtAm4aSJBrNevUIqzuaMjL7W0optZonagth8iNZjBhj\nsKbn8fXnuL3/iHk+IpVCSiAJ/OJIOoCqylZRIrJJYBw6K0JY+Prz/4bWF2i1QPEY0RKyJ+WZpjEg\nfKWzF8WFvWI8LpymhRAKMcqza71qZmMuPHv5dVJWvPP4u1D2hhI1Gcv25m1mvyOETG4ljeggW6L3\nxGgYQ8SoHtE0ZG/IrmBMyywmRPFoCbLJaKno+2s60dPrDi8Fc/gYKffEPKBLICRXXeUkxnlEK8ug\nNSllUilst1v+/u+/xv/wwX/if/vf/5qbx49oGsXXP/wqQiQutluM0qjGsj/sePzkKePphDEaHzJN\nP+BToghJpLDaXOCWTN8LSnFI+a12jSblTNf3eOfQ2iCVQWtbI0kxYVqLDxkpC7KVtEaxe3jgYrth\nihGEZokZOZ1q9p+M8yNWGkpJBDKt7VndXNdyQdOQUgaqpiPlREn10Dge9nSdRat6GwolYDVkXfCh\nepKQVG6mkYgYEcaC6Wq0SWqay7eJ+2fkIjFdS+aeUnpUs8V3B+bXn5BVYcyF9XbL48sbnt89I4hY\n87O6oGxLTj2rvqM1LcZKpCq0rcboqu31k4JiaTtbCejLA94fmVnwpTCeIsUrsA4ZJ3Tj6Lp3adUF\nOUHy4P2eafIsLlTsosi0ItF1DcZUkHbbdKTkKdmjlCVlT05VCZzzWe1LzQbbRqI0lXrkoWk6vPPc\nLxNWSfrekohIlcgxsyQFyPqEGjOpVKhKCrXEMC9zfZ+KQpGZOUNA8vZ3XfDZ/whXqwFjFV/+H//h\nX3ZofvnLX+aP//iP+f7v/34++OADAH7jN36DP/mTP+Fv/uZvEELw2c9+lj/4gz8A4P333+dnfuZn\neP/999Fa8/u///v/7PX8cHqgazyStnqJiyXnzBxOPBzu8b6a49Z2i25XhOgJYkHkiBSRJXiS32FV\nT/ISZMQaSaIQ0gzFUHTLoK7IMjK6Awy26jCo/VifJTFmerNiMFcQJSVJlPUUuWBkZSDGVMgyszu+\n5mb7HeTsaDq4ur7k2e0BXQSkSoHx0TN0kjALSiORsqX42oM2dmBynslNMM5YLek6Q87pjLwCY2oF\nMJfIsLpg1fXEdebFq5fs9vckqVFaVeZhiAjVo2Th7uFjUg68dfk5OvUIUsCIguk2XF3cYGzDqZko\npaOkhCaz+MDt/YG+axGy8iBLzmRhEDoQpcen/4O5N9mRJMvS9L47i4gOZu4WHkNmZHcVGgTZbIAg\n9/UC9Ur5cmyuueGAZhWrKueIyPDJzHQSufPh4mpGc0EmF6xGpgKxCSDcAm6qovee8//fl8EEcHdb\noLQRwEYwtoMWWi2IKijlOa0r5EY4WJ6fX9jvd4Qw8f33P/DNN1/xL7/6B5wZtbrf/+636F55evyC\nKUykkoiXiHOO82l4eHrvtDr6zxWF9YOwn9KfKDhlPPy0AVWJMRKCxyjLFAxVOmhNR4+5dqpM00KT\nRK6J4+MjedvItbHFhJsCKW7Mflyha9koKJYlEHNEofB+wqBBm6ESL2UE3YWfuJzr7UzcVnRXPF+e\ncd4w+YD3E7pXVM20nPACm9Ys+wfcvEBwo5LYG6bcEKVR2qN3T7TbiaYKegoYSSgtuG++5eVy5nb5\nRHKKj+cX3p+eMc6B8ij1pwi6IriF4A+j666G/91Zj7dCr4ZpWjDaUWrGs2daPGcacdvopSC90BGq\nBUO8q6UjvTukz6TYiWtmjYlbTIAaGpHeQBvspLDOYpRgldAESu3kMmJjIhWrh2TOK8+Wr2g/44Oj\nd0gxD0RkNqzrOGA0SXTRzCEgTci5YJpDzDQQcn3g6FQVaImWhZsWrlbTZLy37U4IobMsBh3+v3Oa\nf/ah+Xd/93c/gWH/76+///u//3/9b375y1/yy1/+8s/+UBj94TWfca7RdUfZPVPY0ZtmXdOgU5fG\ntz/7D5SWOMcLyDO5faZTQBlogRiBJkODII7dsqO3kb0z2iJFcVy+YL87spUTWxQeDwGjZ2IWrLe0\nBkuYmMKe9y8nagXXDeLiiGMoj9SNy/ojn86/Yjd9Te0NbMM6sDRaavTqUf1AXDOKMOaAknC8xbUZ\nb2ZYAiU1aio4PRzXa7xhnFB1Q9kNq4VcGofDAY1i8hM/00/E9XXwIIvCujD84UaYvMd5TS03vnv/\njxz3X7OoPUYV/Lzjq6dvyaWx7TNbbKOrrAf8tbfKx+dnphmmaYjbylapJmG9Gg9lo7nF75kWsGqi\nS7yfrByT93QanUatCaMZyYIyZoctJ7aSsNrivef50yeOx4Xv//D9eKMz/j/WbeNhmpA70GNZFkQG\nkLjc2YcpJXbzQmmVNSWO+x3WG0KraGNxrt/9Phq/hCHOy4mmDH6aUDagm6F0jbYW74XaKq11LuvG\nljPv3r3BaMvlcsW54aWfpkAscq+0Dr1DrfXuENIoLeQUWXYHBMXL8zMljQ/eut0GacvNpLjS04aU\nGakJ3x4IfiFMmVJWbB71T6MPEA7UeMVsK6IEtV9wDwd6LdTSMLpBE1CKL56+5uX0mc/PF7ZaWePG\ntm5k08fpTndy6TQuI6tsPbkrdHXEJOwmhcjQPEwTYxstg7+QbhVaweiK6hX63TSqG0pXGmdiHeSt\nXMqgcNVKz5mm1MjQWs1OHCg3oN3ajB5+2oh5wLp7qzjlRvtIKczkqBIQGf1w6dBqZ70lau3EaMip\n4/w8yg73IH7NQ7ehlEFLH5BzaYgRck5ENKkKa804r9k9OoKFJSh2wdFaQ1r9s8+uvxwazjnS1kg9\nYnxAKBSdudyeqTXhvCXXCBicmXncdVo7U7chdO8yqDG9empLBHugZ6EmjVaanM8Y0zFuR68BRWPv\nh7K2l46yDW8tpVWsbeRypslGqRu39YRvCj9BZ/ws6xXNVT68fsebQ6MVR+sJa0H1hCh/Z2R6qqgB\nWK0VVEMrQ6qdXirajV+msyMEj3SkN1rLoDOVCIyt7JY7x/ln0AXvK7/4m6+haT5+PHNLV7putAKH\n3cRiPF51bmnlu+//Tx7nRxYd+PnjE856ch4PumYTfVfQSeMFUBrnMqfzZ7raY6XR0PTKuAFg8NOM\n85q1vqfVTlkFPwV200RRrzg9I8rRm6XVisWQ8joUtL0R48qbp2/44YcfmCfH6XRGKQaiy4wrdVdw\nPg/n0G635/X1xJdffjWsj6fCNM+gFMoYKH0YI5WltIZYO/r3yoMa1BqAJh3nApZBaRdtcEGjtSPX\nBsqwxZUUE8q6oQ+uMiAgOpJK5jDPpFqZlpnSMlPwo0mj9D1/fIfzKsWnjx8J0+CZbnFFeufh+EiK\nka7g+PSEFY2x5u52H7cKYYTzbcp4PyNxRT407ONEV51WNkzuML9BGY1uGz1HdBXaNfHx40fEzuS2\n8Xx5j5squ92euD4TbxFo1N7RVHK6jat4y+RcoQq73TCCauUIITD7iUU5ZgsiJ/SdhRlQZMbcV1VH\nT5XSLoia6WLvDSM9AOJNUAq6btTauW0rNozigWqVmjI5CekOTdm2lV1YkO4IxqCU5rAciCXS2jDK\ntDb+yalTSkcpjXSLRsi5k3sbC0Pt8C4xW1i8wUil2g1RmtOlccvj2h72GvyKd37YTdNoJ7X8V4qG\nc2FHrhfAUnrGGs/pdObhcCOnip8VKZ1wxtEqxL6CgmnxQ78rHdXGcBelqNmA7dziCe/f0rumcyNY\ncO5Aip7SE95CSRWhIDqPq5WFLV5ptbKmZ863Z3ZlnGSV7gPApRQ9Cj5ETrf3g7zeN4RBnDEujU1c\nH5zEIh1rhFYrNXYOh4mSIg5Hr3chFgOH1824iqzxmUwgeINqhnW7UQ8Nz8x+djzME7vpHYf9O/7w\n4+9pl2eul/Gh/+L4gBVFsAe28+/59OkHvnr6hiadmCOlFc7XDzhT8AcLixpX3tzwzbDfPxKmHdIL\npDNUQy0a/7CgWNjNe1p+5fPtA7k70mU8mGpfCbawVw5pFmMMPXd6r9SsaGosdq7nC252XC8bxhiW\nZRhInQtsMfP09oHT+YXH4wMxRnIuOO/ZSqcINEA7RxVBOTs6/jLc7uDoArl1nBvE/lwaunQwmi4G\nZx3KeLQzpFTv4xAhpcYWV7a4skx+LKrmiS7g7IDS7uaZUitGxod88iOS0nsfriYUSltSSnz3u9/w\nb//Nv+Hrr3/Bjz/+BnTjiy+/wpiRJHHO470bD5SaENXJvTPZUVtsqaD8DTm9EqNhevcNHWiXFeff\ngJkGV1QXsELKkefXD7zPGZlHfXQrG4kbpd7G+7s7QJN6YgrDytNrQVqktsjrueOdwXrNLVVs1zz6\nPcl5TBgYD20K2gjkgbpDOYIa8jltB8XeaI3TI2/s7EZXI+erlIx54zZKJaWPU3LrkLeC6IW0NqR0\nJit4Y/B6HC4SlpJBRKGVxehxeh6KZ+550/GQa02Ry8C8Od2Z95rFrrQ7sT/eOi0Pm6qbFNoPepNS\njVYNRSlqG4zOP/f6yz005wesFIx19GqpqXLcHXF2QmvL+faZ18v3iOlM7BFtx8JFZjQe4xV0oVHJ\npfJ6+xGjHtArHB8LQWucsmxboZYXlHioig0hx4gJjU6lScHaDe8CMa+IGTf/2iupjCFyF0XXCgPk\n2NCS0Hp8AJZpJsWI6Z3gFKVrRDtKL3Qaxnms7uSWsQooFYWjNQH00AAohTUeJzPxDFkrdodHLrcb\nf3z/ax53C99+845vvvwFD8cHHrQhTI7+u8Yy7yFXelcYP0LM+/2BXDK5V9a0cr48U6VzXj8RwsDR\nYRgf5GaQ5Hk8vkOapddE0itdPL2AlQVd9uSbY3ZPvNnt+fj8StwivSd2e0tbMsZEFAmn92ith7iu\nFba0sVv2LHs9xFutsBzH0qd0CH5mmie2uDJNM1uM9AYPj2/oSpFKHw+TpihlXL+rVGwIpFrR2jNN\ny/jyFI3xI8NrrMXNilbBGwvaYZyn3Te71lpyznf1wn+mqJ/Pr6ScefPmDet2pbdBRSqxsJs1LXWs\n1njrEOnEmO5kp8jkA61XfvzhD3z19dd8/fW/BaUQ1bB+GuZJ7bHOjcC+M7h5ZpoPzMsB4xe6UpSU\nMRpsTNRPH3GPj8jjI42CloluHmii6Ndn5nnP8eGJf/iX/4Xn93/EmsZuObClMyEkSsuk7LDG4OyE\nNdPYWDNcVUggpzxywKKwNhCmGcGSRWFhLGiUGspd5ehFE28VoxacdWA9AjQp0CsKIdgwyFqzwnlF\nCBZnFBpNbR26RpthfC250prmst3wjzO5dRA9mBK6k1MdOc5eB63egg8WYwVQ1NIHPakWcrYEzVh0\n6UZxnRwza4VbKSQq1iumxRB8I3hP742YKq1rRCzS/0rJ7U077HRAq8zsZ3KvfPH0JUYpemsEtZDi\niDCINzgmnA/jgxRP6K6xxg0Ule4om1jjCxpDv67sl4XQdhgZbMRa4sig94G50tqOrZwSWjszzxb6\ngJlao+mtUbvQRaFUgDpIKVcK5tHjvdC7EPzEbgqslwgWKp6qHOZ+klB6DMOnMLGbZ/J25XrbqAXQ\n4CaLNwatpmGvrBOaPb3N+DlRz3/g9eVHlnnisMAXTzPHnceiua4nvn//gd2bA1MIeOOJsWDCwu4h\nYr0CW7mtz3QVWKYv2C2vxPiKnxpOCcaD2x/Z72YkG3pxpO2EC4qmDfEcMfOMrgYzWVrzLDaQ1Hu2\nmDFGoRVUK2O2qTu9ji53b8PvPc0T5+sz1gbmeRlRkA5Ke9Y18fbpie+++z273Z7gw4gN+YnaNKVW\npAqIHle02rDmDnVBsN4Nin8D6zytgzaGLg1hxMmUsQgWZfRYggUFfcBMjDFsqRKWHefbjTVVpt2R\nVDo1VXoflUolQtwi1mpKE7yFECZqrVwul9GDr5Wf/+xnbJcTeUtMjxPGegwd0YpcK34ariitNdOy\nsBwextbfW3Iu2DCuyD2X4QxPJ9qm0buvIK6IrKjpAWccEma4PuOsHeOTlyHY29k95vgLrK4oc+GG\nvs8y1RgnyZ3VgB32RV3Gybffb0DaAoGtZShCVwXNAMH0IujukdIpq8YuC10P1GGTQuuDNWrQGK2w\nQQiTxShwWg0zwjTTBbw2gGeLK70m1nPldo4sy4GR+7MjXqXymG0CzgXmec962+hSaE1Ri7q/N6A3\nOwDINlH1MGLm0jldOtdN0Yxi2WvCzjCFjrSVpjS1C6VYtBrM0z/3+os9NL01IybCkLYb78nlxtOb\nJ2rtvNxWbudMmAWxYCeHtjOmG87xhC6FyVdSLpSc7g8gAx3QFTGKTEGVTFegzPAblwI1Czlf6G1g\nuIy1XM8JEzKVhhaNsY6qBK8ciKPrQhXF7RLZamKeZp6O45erDBwf91AOqIcnfHjAqMp1e+b19oHZ\nWeZ5D01hQmC73bBuIlcNbUCN7WzQCLrPTPOX5GLGKfSp88fTBekG3SeoAas9wWfeHB95ef2MOGGa\nlhFGVgWdGn7nx5zPlLH0SRXfHYfpW9bbRr6dmQ8TlEzVnVITxnhs6zwePJodtyKct8TL64nZK9Z5\nYvIPtCYs08PgErYMd2+Rc6M4UHXGKk0Feol8+nBBgKevfkbDoMxCmAMvrx/52Zff8sfvfxwZRm3I\ntXE47FDGjkhVjHhn0UrTWiN4R64VY8CacdtQxlJKxPtxTUYrSgXrJ1BmnOzU2FDlPh4Qt22jtE5p\nDWUMcbuODnwFby3r7QXJmeAceS2INJyC2jKZxGwDKY/TNL1St/HFPNnA49OXAzCtRpyJOzfT0Gjr\nmZRvzPsdLQpFG4yzFOn4w5ekmKjbjWl3pNsZky60mJDtgvIzkm/0P/4fyPQWezgSVeX5dEW2yHZ+\nZuszyI5gF477RJPfoXpDZKG1hrIRo4/oCns9+KpbHtdcYxzWTDg3k5uQG7QtA4nJzxirsLqC9ohq\n9GLp2YMYel6RlqhS0V2wJqKsYl48ypQxRtEapRxzWDBGEawd1U06JVWMM1y3zjxZSnPM3bHYTm6G\nVjOTdxg9YZVn3h8oNVLbSk2dLoUUy1j+6jHbzkAqmetFOJ8FUY6wWNwsuKlgXMegKUnIfWhzQCH1\nr3QRVMuYWcl9EaKsofTMNV6IceNyW3HGs5sDSge8d7QeUUoI1nHdMrSh37TGIaqhpTPUW42crmjt\nccphfECJHpY8IxQjGDvRkqGXQkp1IPprGTESA62PbzZlBO80UjRvDm/4+Td/wzTNaNOhCS7c56yS\nCW7iyy//luPxC2JK/PDjd/z695bz6zM5rkNI3zqajh3GdHppJKlYZfF+wYig1Mpu9wWxJKbgOe7e\n4MzMPL/BqB1KAjnf0JQRo7gHko0CXeH48AUprShVqHWj1Igxuzv4WKAaugTWYlmCR+lGca8UmQkd\n5skxhwdCE6pe2eKVz6eVfRHK3FHWoy1oGT5yuqL3CREH2qJ0RekRwSmlUGseDvNcUaaBqvzmt9/x\n9ddf8v2P3yO9sdsvtD4WI85P1NrxbnjBrXMIf4IVN2rNlNrorbHMCwc/0dCIchjr7wWHgFJ37FkT\nnNOU2n6KBLUO1gZqPQGG2mC7nam1st1WbrcTuzCBGsQkWsHcDZGX9IL0whfv3nF6fcEpNUAtkwY9\ntM3T5H/qthszTl0io0NfSqVfV3aPM6Y3jAo4/wjdMC2PbJfPlFJwfqHPCsoNtZ3BHVDLzxHZ8/rb\nf+bzP/2KLob3z594//KRy/VK1lCbsJ92NBzWO7y6Djd69KMFZzqiLcoY9kbBmtniddy+zKid9ju0\nptQ6NLeto5qMLyUzbk/WTAiW1jNZVaQP06OdBR9G5dlODu0sCk+lI6rjvGM3Hwhu4eHBYtUHav6B\nOAvbrZJLRuvx+xoUiEapBW0NIQSkWqyxOGu4rnc9R+1IuzvWReiiSWVcu1MeYBcfNPvZsgudyXno\nid4b/Z55blJxZsb8P6ckf3r9xR6aqEbv+k6zHkT2qi2xVEobG7XD4ZFlDihrgKFBqG3FOo3JhpQv\naGtwRmGdoPR9Y9ehtYj60/bUGIKdgAPbdiXnQi1C8w6p4HKjI6R+oUqixEIIO6Rrbr1QneLt48x/\n8/P/jv/2v/rv+dt/9wuss3x+/cQ1PpPWG26C3DYel4nDMiRlwU5oNLftihFFr6NO6Ztl9o4sjIhI\nS3gtaDK+Grb0wu6gueULVW20vBEOD2htqbXT+9hSeiyLm/l4u3G2it20sJsfUXpmtzRKfSG3C7E+\nY00DL+g0FCG+30+F10pvmcYNqxWeEcTWdOadZ+qOx/7AWRviekE0zIZBylEdqZ0wz9AV0tSoymmL\n2HFV6q3B/YPY7vnQ3333K969/YLT+cJ6O/P27RPazcQ1sd/vRyiZP+Udb0zOUWvBe8/1dkKAdU1Y\na6ldc7psKAWld4K1pNvoVrfWMcbSu6I1iDGN8Hkbm9dSCqVUSmlsa+Xz51e+eHrL6XxBpDIdJ3JJ\ntBJx0ri2+1IoR1pd2S2evN3AGLzzlJqZd/4u7ZL7hl3d7aCjWitWMc07nLdjsWEsYhyXFAl0gvP4\np7e06wv9uiIHg1kOSK9Qb4h/pO++4vHbyH/6n/4j//M//AO4M9fyabjLS6HWQGlXOpW1FppdmafG\npHf0OqEoI73RHEV7Ql0oNaOVQ0RRW6U3RS2ZnDPoERa3SmGNJUxDhWH0WDDltpFawWiYZo/tA+Tr\ngkWcR9shPs850aVj3MTh+MTXX/wtzhx4c3jl4fBb/ln+kZM54e2Edp4snZYiXYReKjFtLOENKEMf\nuGqUsrSqqVkjgOl2JDNEaNVy2xqpNFxwhAm8TUx3m2vpnVo11niyFrRMd57vX+tJ8543g3ESUDSc\nTOymhWI1XZ/RZUQPVFekkjFW44Nj1jOtVXJ2pH5jbQUjDi0aZw2iG14rrC4oveLtxG5+xNsdwS18\nev4j1gveeFp1EAYo0xZDa4WrnEl5xbCguyG2xBY91li8cjg14MfGgHeelQvX15WYIzVr1tS5rJ0f\n33/m5flCiiCt0krDNs1kNK00tm1lNUJxYL0ltYoWg2qZ6+U7KkLqCS3C7fXEef+CF4NSAa+F/fSW\n4+HKy7aybitKK7x9Ox6cCJITKT4jurGVThNDVxvzPmAy2KbpzpPFjLiWFk66U0xlaZGpFh72Dqsb\n1u3YLkJON6Rluil4v0PUoJ13pWm609Wg46AVojaUcfTcsZOllcjlU8SGiV4759OGsZqUG751nBrz\n59UnShdyrSNTWBtNIEwzCkstiVoax/0D223FOYc2lnkaCgWFvnfSp3GyZhgpY4zj/dY7Ip31toIo\nUt643D5hnaVLG9AMXbhdr5S0oiXzeDxyO50IZNbrhcl8wac/vh/2yZTYHT26O2LMLMtEznXUaMVj\nTP+JdQB2RKMYlUJjA8YEWi2ktdJaY3n7Du0P6ByRpun+3gGvAv0MeofeP/Hv/uv/wD/+8Hv+99/+\nr3T9ylpWzmuhiUVrR2/Cml75+tsvMbqgJkWJjV4r8IQyDqOuuOZweQHGKFHQxBKJWyKWfJf5VbzX\nxNqY50GfN3ocerZSSWnkenEW43fYZcb53d0h3qk1oSTj3XDDa7ND2z1xSxhr2M3HMfOvt3Ejkk6p\nZXiU0jCBSm9czs/jBN7Htr60ipLhgNfOYK3+aVufa6InBW0sjp3rBBfAdjQNozphGl+qR5ko3dGK\nDMHjn3n95cjtMeKMwWlzr7Q5THBcrxvWCloguPHQjPFGLBFRsLSZMGkOuz2rrtS1UHulS0fLoHJ7\nC0YYw3Rf0KZx2O+w6oA2ls+nD6y3V5x2KNnRdUfj8GomxYbRltpGONvooQF4eb3yL7/5Nc7suNTz\nYFheTpQ2rI3X24mPn36NcQarAqfXxIfPn1jjlWXeMS8LSsCUglUDRnBrmdjHA0Gb4ZZWtfHghg8n\naQVdY5ipW+Ny+gy9UfQjXz88sMw7nt58yefXZ9Z6GVGq3WBySu+kaqmtoVoD8dTSaH34fIqqdDO+\nYLRW6BAQZcapq8hgN3ZB3bONvloyDjfNKKkUqdC2QQdqCuM0hULFI8oiUmm9jTZPH4AQcR1piilM\nnE4nhi3MQlfUNmZZ27Z0IWaHAAAgAElEQVSCunC+3vjyqy8HWehyuecazXCPp8w8zeMa1vv9RDkY\nq3/qfY8H47h55DtV9k9+oD/9meODmVm3G406tueXC4/7Hb0UtFbUtOGdovaK0JA2ImatVopsTPt3\naFHEuKHNTMuRVQYF3ShFanVwWY1Fa03YLfhl5rBMVKNBGroLc5gpKaNrpX7+hFkmZHa02pCcUfMC\n0zRoTXpDWmc7XxBG8uLj68aWO7dYQFdyuRG3wldf/pyD/hanT5jpwq2/0kxFyQL9LVrNGNMIYYgO\nu3RqKZSSiDWTa4bcyCkO17sx1NbYz46mGr0X8jWTSqJUUPPCPFs6boxQSgUKva1UOZNLosY9f/yY\nsbYT7ESqhZg/YU3n4XHHFjWtCm6294fb2LTnpEgp3rfcBqPGOMRqS1EdxThl1gopCzEVchLGokMw\nxoy6pWWAebzGO0tKZahpRLHWjub/R/f8v+RLaATXMKJHBrI0UhqnhtIyOZ7Hxls7YnolVzWO5a2j\nZMZO4M3E5CP5ehuqXOtxXY9YRs3k3FhvV3IJPB5W/LKH0jG2UdXr+FbtZ6RbSt9jJQyStnJoBUYH\ngnN4O1F741e/+z3/8uvfop3CTJa3bx55+/gFh4eFUjZu6UapFxwzt9fGLV2xFtAZBSxhRk0GKYmq\nwfSArgUboDFmf32r7H1gsYbJeow2bDKheuLy+n5kG6eJNh/wy8Rxf+Srh3f87v2FRiTnlZjPKJ1p\n94pbqwktBZqjlkpKEe9nuvVIzdA6k3M0IJhAAbZWKWvG+U4XQ1MNZcrY9IuhlkypeXTnjUc14ZZH\nTW5nFE4pHGNAPyJIldzbnULUiDFhrCOlzPLwSO+dDx8/cpwWvv/+B6YwUVNhrRdu68rueMB7T9o2\n1nXj8dEPsdm9315rxTlLrZVa68C2CVwul3tL6D9L1FobN5zWGtfrdbBhxRBzQovCu5lKxYVBUerS\ncV4zLxZjLct0pPeKnSdaqWitkNp5ef0BxDDNHWsNlQGyLoB3jjBNxNsFowrOdMy0oEyFlkltVFKV\ntlAvUAqiH4aTJwQqDTEOI4JeV+rrhfcfP/JyXVmvQ3O8RiGn0SyrTXg4vOXbL/6GhQmLIpYzWkew\nClUv9KwxZsFPE6WPnUAtFd0rVerQUqfR66dq1hgxdqGlMm6B2g2mahq3rOY6giJYj5Kx2LHGsPUT\nXRVEbvSWSOtGjJ+J2zOPh2+Zw0RMCR8c662jVccEsPZuFVVQ+zCmClDzaGUhFSUdLaOiKqLQopEG\n25pIqdA6GKNw3ozruW+IdcN57jRVMiP8L2wJtiRM4V+Jp/mv/XrwDm+5K2YH7TnmV0ryvHnzjsUu\nfHx5z7a90EVRS2ErK7FmuiSWOjBbZWtQzAiktj4WI1XoVdOSI7WMtMQn/xn9zlNqQklCqzG3EN3o\noii1ULrDyILHD7ivVZjgUNoRBIyZuJzPnF5P5Jz58Mdn/v2/V0yuE/yOrA9svY9N/tzYK4NqwqQ0\nTtvx0DAWpgmsEFTAtoIymg4oZ8BXmgMdZoyzhFLoUpE64Llbu7HGV05x5th27O2ex8M7fnz5nmu6\ncr2+J/jOYdlBqdjm0c3ff37lzfwWdQj46YAoxWU7QT4RtMEoD8ZyjYlSE5f1RpOCNhZtLDY4HIqq\nQXV9l4BB64muNbk0ok4EPYbs0jXUBikNrQcOJZrb+TNu2pNTZtk90NPGrVSU0ny6vhBzxBrN9XIe\nUZ6Scc5wBtZ1Gw/h2snlNnK0XVjcbniRRKi1Ms8zp9PpThsadcd1Xcfv/P7vtm37CaY99LqZ/f6I\nUqM9Y5TCTWPkQ4M57BAl6DDes61Vcjoz+QnpQ5d8OX8ibpUw7/BuT9eakhPJW6TMWGvoTlNTHn/f\nwRBbI5aRzQzeDjZlqZh2pXmHnhxmWmgNVG+U68avfvN7/uXD77muzzgdoAYkJWY3Y51BGcvXX33F\n7BXOCVtq3HqmGcHYhFIXtHXjz1SeZV4oudDKqN5IbtAVGktPI9LVyoCj5MVwq1fmeWQca2koMQQL\nSCSKRvWIlUJsbewhzNAvCwPZVrZGo9ELNCMcDo8oPJftB4xrhBCwviKS6EWhzUJOJ4yqgELJilEe\npQKixjiuGwNWUyWSa0VQ+ODYLZ1lhmmx5JagZkSpkW+WTKuOUgZYZkBF/krD7UErjO33DXojpk5O\nK0/Hbzkub0Y2Us/84z9/pPU0HONKsa5XttuJh/2Mtm6ItupYAmQlOKOQqUEdgeheDFvLnP0ZZyeU\nAtUnAoEQMjFnYumjx91nYAZG8K/lhBiPCWPp4Zzn7dMX7HY7Pn/8zHU7cT4/8+44MVuP6tC2Sjea\nOczsbR3+6zxO0s1BkYauAaU0Ljgs4NQIuucOvSRQQlGB3BvKWqxvGNSY23hPlsI5XbmkA0fj2IWJ\np2XP6+U9qRRiFmb/DmeHL8mat7Si2amGNxPz/oANe2La8BfD5VO+iw06TRJIJOc0gt6pYIzCTIFv\n3h7ZKU3SsJZOukW0K+zDI4ufccaNXnDPTK3fg933LwR1n5eJkOJGRzEvO9bbhWW3ENeV4+MT6/VG\nSRG923G5XNhi4njYk2ImbgmlNdZYXs8npmkaWDPpdBG2OGAfXYSYEus2HrC993tVbxtvejvaO9fr\ndWxjz40uHRTMywwyfN/r9cThuCdtEWc9pQhKM+qTrXK73FgOjmIq3i+4NjKWNVWomc4V5WdCCOS6\nsW7Cw/ENohy1DR2LcTswBlVvpG3F6IllHgUBNOgp0BGUDVg90Z8/cPn0TDeGuml+/MMHrvUT3k/0\n3tHGMoXAl199ibUORedlfeHDyw80fWJ61BxnTdcRpS/jRF4UGoc23Jd7g9Kkm8KJRoymls6YFiuk\nCjoMK6RSo+mk7EgIaFvB3mjK0GrEOIULhclorJ6hCqUWrPd4Z0cypQbEafYPE08yE/OFsBS0SShR\npG3wPL9498DlFeJWUVSsHp8jcYJhFFCSLvRaUQaUUYRZERaNDZbSOp2OypbWG0oNpTBMA1NpwQTB\nyl9pjTKtlZ11dFNH1hGN08JuXpCm6MoMC2QB5zyT9xgKOnVi6WyxjhwiHiWayc+4YEal0baBi5KG\nt51eG6VuxHTCe4cRC0mz5YR1liUEeh6/TGTF6BmnNSlXIhFrHEoP4rbWGn98YFn2bNuFGk+DuRiO\nHN0RffS83k9oIqAFnA3U7BBjcXbw/oy5S9qATsEog6pCkUpRnbMUVJNRF9SKZADdmQyUllm3C9tt\nRvuFTEdC4OndA0k2QtBYC9buaWVUDKedQjEBit1hzIK6DJJU6wVVG8YplO5oE8FEzAQOIXiNdwnL\nmf3uiK6VnDI9bbTkaaIJy8wuHPA6INlR9YZ1imneU5Wl5xNKN6RrvLVYI5R44+HNlwOWvD9wev1M\nq4WWxxzw/YfPHI5HjBlX8E+fPvL27RuUh3LLPD48sm2RN28ef7pm7/f7n+aZOWeUUsQYUUpRSvmp\nCTQ25xmRTrlHXJwbMaF1u6HkhlWBh+ndUHtojbYBoxXH/UJNkZYL/t6AyjlhreHx+ESO86gKqjbi\nOdpg7Iy1HtEOUYppWTB+GsUBo5hbQ/WKiKaimINHMCjrUNOC6ICoQNeW//Trf+KfvnvPh/NHVKiU\ntA3KlGkIwuPbr1h2A2Rx2VY+f3rPFiO4CQXcqmCnjHURzYLCIvThTxehlIpFERglDzEK5UHyIDz5\nYO+Nm3FCV25kjMV2mlKUNFzsSnsmPEo6vYEOink/IfWBXBP0QpMzxweHkjL8RLPGBM9l/YEuheAe\nSUVRu4yR3tKGQTIPp7xIRWlFMJZbzQgNpTpKKs4K1irknrm2MuwOufWfHvYuBJwarTyRAbBx/xrk\n9v8Sr8slY50mALlVSjOkuPHp+Xt+9tWBVDJxPWHEsw/CbjI4q7FWeLlBRqOVZ/Ka2XtM0MyHHdZN\nlL6RY2S9XkjxOnKIchotcbE03Jhn1PvpsFd6NuRN0ck4Y+5XuvEQli5o1dniRpiGqc8FP5iYhwOt\nNXLqGDE8zE+05rhsz+Rshgb48RHvHI0Vra9YX5jDhG2jlXGTxDW+4MwdZ6bicDxrj9YzRjvcpoib\nkGVDtcLna0QrxZvlgFiFXSbeHt9R6ooLmqZPoFa6CMbtKd2gdR2LktsLVTSnS+Ll8wtsDe7+GusL\nk+3kVunsKJPGqJFr87OlGTC94k3BecV2U9xuK/UhY/WEXyaUHREQXTJKDwyc9g8joF4bQqO2cYUu\ndR0qZxO4pjOldcJyIK15zKna6HbHkng5n3h4HPNPay1GG968eTMeinDPVJbh/aljoztNE9u2jb//\n+wzTe8/lcgHgdrthZHhxlNbkFDE0nA5My3Fc+Vvnej3z+PCGuG2U3hEFT1++o1RBGYPVHWsUVluc\n3yFaKDXfm2GVLiN/+vTuS3YPb5kPB9x8RIkaUI0uLPs9vRWMKFAB8QaMHZXHsg3FcRPCwxf8b//j\nf+TD6df0vv6UQDjfVp7evmVZHEoUrQufP30iniKzHW2p2mHtiakr+pxYpkingezo3dK74Gj0ejeS\nunGSVxoIgrEN6z27aUJJZasNVYcfyyuDVxaqJhfF5B26KrQH7S1NC0lFgrfsd/OoZPaVXIR5emB2\nFpigVGb3htPpmddPL0gFbwIOi9WabhTNa0pTNO3YO4uqFacVVVtuUimM6qyzjl5GGqOYjLJg/HBK\nWQPBarrKlNSJK/SiMGn+s8+uv9hD85oyNgq1e5oWam5oBc+ff6BmMyJJLWFlRffApCec7lQ3Yy3k\nVkZ9TMHD5Jh3HrfMGLejmQNXdUX3Caf2bOmVLpFcL2jjKHQipyGtCgFTO11VttypWZhnB6JxRvDe\nEoJlmhYutwvPn39ktxzY7WfmcP+Wlooylqo0cY14M1OjpfdACID2I3RdLsR6xkjENU+wTyixOCX4\nvlH7GRcssx6dd288qAEi6C1S03nMlKqm4PlwvbDFA27aMQWDMeMq6MLQO9RUOKdniM/YkUYnpcSH\nl5VShM5Mq56p7VmcxVhN5ca0CNYFzjdhuy1j6y6a2DSua4ybsF4xz4MzGvPGc7zidxkphtnNeCzW\navLWcfOE7ZaaEkKjtYa3Dq0UIo15suR4ozUZAj00r6+fefP2iefTK49vj2y3iDXjoTgAKQO48adT\nJff67Z9etZafTpatNZoxrNt2r9BqYtxYt43eCiOUNFpNKWXePS4/PTRKSdS8spv2aDXmluvtAtKo\n1bBf9khrTLMHYbjCQxgErjLmarMfdkNrDfv9E8e3XxCWI9rsyLWjdb6XPDSH41ukVKp07HxAlnkU\nBWIlv5747e/+wGVd+earb/nj8+85XzeMgRwLtXQeH49wd/Cs68Z2Lez9AUenqs5WM68fG8dumCWR\n7DOTeUPTHtTQjKlJYaqm9ErpY9bX7VisFQ17Y9Cljk1+7WgpBKPwxuE6ZEbV1iuL3DZqhGYbehKy\n1ci8koxBh4CzgbgmSnlh8gNUbO1QZtvDzzkaOH/8gVqFXtdxJnZHlt1Eah1FR0pEK1i8oxlBZ0XR\nE7FU8pboRqFswYWCt5rJg7YN26HmSC2QN01ZHSp5YvsrnWkuy0KpkdZWRBqt2tHzlcTp9Y/3VH9F\nW02siTU5fLPUPkK1qmpqVxhbocURTm+Cs+D6xBwCNMgxo9lTsuf0ciHvRlddazPcLzIUGZ17xMhW\nctpwdqIrPYbMYeC83rx5IuXILV9YX68s857DdGSZLR9Pn3BhgipjaeKF7bIyLTNh3mF04LJ+4PVy\n5XROHObC23kiqJlqCwozlBRYTO/obuhVYa0Qe8HQ2DtN1oMGX8qAGcd8xeU9O79jWjy73YS3O1Sy\nvJke+eoX/wPPn37g0/M/0dSVlBSXS6ErS+fGXsFxbsxmJpeCWGg1oq1nN+2gdza5QWtoNZHFIKWA\nDYSjwklGutDymdf1PVZ/g4jgsfTOYCcC3LvD3rkxrG+dXjvzztFyRCvN3g2cW1pfCdPCbT3z8HCk\n10pcL1glaKXotXF6eeXd0zukjzd4yRljx/Z8IN7+L+beJNby9Sz3+339v1nN3ru602EfFEMikygB\nRYQBEkh0Uq5kGBnBFfKYKQMYMopspgyYRCA5ygRmWBlEYWAREUXhhoT45vrS2DH2aeqcOlW7W2v9\nm6/N4F217atgBiAFtlQ6Vadqr1q191rv937v+zy/R+ZSOWdijJJ/DsQo4vbTaSKlRCuvt+2KkgtD\nH/AuUHVjjgu6Zoy2BH9maDY4nQ5YGipYliYi/FaFx6qdRnmPswb9WhbVKn3XMwwD3f6CrBxUxXq6\n5jid0CbThxHnAiUXnO9oztGspSkL2gMr3lhiyfy7v/33vLr/iN1uy5yP3J9uqWvhU+/8AJ3XeCNJ\nqofjAWt6eV2WlVwSuSGw7MXhOk+ZC2VzQtuK6zp8UZxSIqtCMZpSC2luFF0fJEeuKGiVEhNaQQBs\np9G64XUvwG01YDLoWjktjdwSTWf6QdFSo6nCEg+0dqCzju3FwHYfGIeA9wNX4wZCY3GRwV4S14o1\nA9vdFbYfhczeCnGdSYtEcMeUeHl7R06FORvm0jAm41wRQ4yz1FpIs0C8VYOSLGV2xFPDrB6ve0z7\nFyo5Gi4uuJuusSVTcgYiqIR1ipKKdHraURCR89204r0m58S0JqoRH3BSlpNu3N4vdMkS8oIxHQZD\nw+K9YT5pWnLoOpIOBWUzxgaqWSmqkJJGK4PrpOdo1cDZ5ulMYwwabR3abPj0O45vf/gNTvPMy08+\n5tRdc7l/BDTmm48opfHo4ilPn7zB0I90YeAHnn2GmDKn4w3r9E0Oh4lbNLf9S56MG0n266C6LfME\nQWU2WiDGs8nMJEqKjE6jq8dr8G1hVZWsZiiau2Ml5Z6SC7p0XF5ese/fZdvt+KG3/yte3H6H//1r\n/wN38TvEtWPJkRAayWmqkhmiAnJRJG2gVjoFbhzoQ89xOgrUYI6yVTUa4wyDC5AVLQTmNbLkGYMi\nGI0xBqcDLWbmdcF7D61xup9wVok/fbqnlIzzHSVquu2Iao1x9DQUlxcDS0xoMn0X6F3P3emO0AXm\nVYrjZr9jXVdcrcw5nzfZ0mEus6DoyrmY1lq5uXkFWoAqmgYt01plCAFn5Vq9HTa8evkhbz15yuHu\nFu+9pFI6KwuPWijrBGdKToyZYbCgNUZLOqf1DgUyp14X6Hqs1eJkKglrDa0mjtMdwfb0u0EWG95R\nfcBUIc7raojHGz54/1u8uHvJ9f0Nz199R6j01uGc4eLiEfvdgLOVdV356KNbTktDI26XhmEtM80o\nrOlIK8S5yb93XQkdWCNjmOg10SpUBEcilYpKGl9hcAaSjK600mSVcd5RKGjnKM2gtEWXgi6NnAo6\nF+I6EXae0hzzqbKmzHyKrLFi9cLjRTS4p+0rri6u2A+DxHB0mkfjO/Rhiwt73GbABY0xhZRX5mXh\n+vqOV6+uocHF5R4bNsS7W1TJdDtL7zpay6y5EY8rLTYohloN61xpc6bXjkELWMe2f6GSo87vOc6F\nlQnlLOhMipmG+I21kZAsVQotruSaSfNJgsCq0JnXCjfHhbuT2KSmkOk3hW6IQnFO5iw9qEK9WSva\nGVS15LWSqRjv0EY6unHTaFVRqmT9NB3RHu6mD3j2dEtJjS4MPL18i/fXvyPrwu31zHRcxdNeV1pT\nXG7fIM6Wd978FLvNFbvxgike2fR7rNow9oabFwvHm8jBRC52HVePB/RgqRhul0obAiEYjAsiOM4z\nsRS6rsc6y3T8BF2PaF0xulDaTC6NnC2n48J0es7gnvLOm/8xb1y+w5uPP8Wn3voM/8u/+R/52l//\nT6yHzLp05OVE3xl6s2JdQNWOPEWWtkBXCFYxBCGK53Vlzo04SdTy2G/orKKpTDYGFTpaS5RUJJzL\nK8iKkiJ96Mgpcjyd2O53jENHmheO04EudMSc2GxGXFBSdFpiv93TGUUsM2NQ1FpJ8Y68HNlueu5v\nbiT69h7iukrn2Bpd14MSmnoumRACy7JwOp1kZJAWjHXn5UcVmIZS4g8vgn5TJTEEz3S4ZV2OHA+e\n0gqXF1tKOkEsOCu2Q60tznmWZaF3Fo1s2FVDiE3G0YwE/SkgpUVI8GEghJ6UhbS+2xUI4rVXm4GS\ngWWlDoaM5q/fe59/+81/y4fX32SOJ2Ku1Kp548ljxrHSBUXOlVcvb3n+4hYY6IIccFrbM81HijUq\nsy7SYaMbxhSMWUFl2R1o4W4qZTCjpy7g0QQaRlVKOkvrLChjMNbTqkXRYVPB1oqJCW01oRsIF5aq\nK3OEnCPxpFiPjiVXmlnAXkNvqaFhjpW4WjZ+w0X3BGsD7ZxqmdSM0x4bBI49jFsuL57wxpuRTz65\n44P33iOfPmG3UzzqL1FBYYphmRPrfOB0EzmdGjVFKJaaITToOovqAkJs/Bdqo2xoaB2d71AqiaTH\nDOSUiFFyzp13GD0Ql0CtMh9bU6KzjjUlcVykTFpBH1Zs0PRzYdxXxsHTqohVU2nCUlSJuTRUajit\nUFiWVLGuoh0YW9FaydDeKVQrhDFh9Mpx/ojBvcsyF7TSBNsR24q1lWUR4nethloa1+M9bz1+F3Lg\n8cXbjJst6dUHaOUwvrAbetYJXnx4YIqRVhMXfWDjOprSLLVxN50Y7Z5td0FvLe34ipom5tbwLbDt\n34DlFuc1zjlims/QAkVVmrQm/upvvoYLHeMw8uTqMS51/OCn/1OO80u+8d7XONwt5FQ5qsSuOxGM\np9Mb5iyzoLu0MnpLPwjBPaVEzYgcrCpS1phFlgepSIqn7y3OB4oxnEpCL5FRaZZlYl0Wrq6u8EZh\nVAVvGVpHzZntdqTrN9Si0V7Thw5vDCUeCUSosjBap2uCNaTpnhYGTscD/bgTwIVzkrJpZCZean5g\nZq7ritYwTUe0aajqaOcgNHWeIUuMq0dTWOYDeZ2YVsl3WtdZ5ERF5qStlnOeU6WWgtGgqJS4QgjU\n1rBKYYyhs4EWDEVDSoKHG1xgniM5icbXW3k+Xntq06jUoB9pcaHe3VLWirM90ymTJ0U+Serpo8db\nhsFgHVRjubm/4eXdidOcqesEO4cxFutlCaRMwKoZYw25emocSWskuogPoFWl1RWnNZUKVRH8GdJR\nFMYKvKPVJjBjqvhnlBZdrtISyZETxjZ8Z1EGtLKc0ip09amRbgQKgo0oV+l3FuMNWgeWKPpNoiYd\nEyHMeKso9wsLM6YVhjGw216x3TwiBIczPU8eBTbDnqvbF1zfv6KUxnZ8QlpmDm3F5owK9zy1PT6c\nYT7aYrRlMIqh6zDeiPyMr33f2vXPVjSXQ5acaWAcOqiZFCGlI8ZkrLayJOlGrNqIb7hvGOWpDaxL\n6NZYlWexiXmeOR4jaVXUOlNzwzuDq1ZOKISEVFum1gIUNp1GNxF9l1ihNpoS2rc3UgAiE8503E8f\noLqOMnfkUtmNjzHW8uLlR5RpZp6gFYPWhu988G12+0uc2zDPE873rOuRu9PHXGz3krD5ZkeeE+tt\nxVlHKRODGtHN8DJ51rjS2sowBDbhEp01Lz/5K7rtBp0qtTRGu+Oi30q6Yp44rkfmGJnyRMmam9MN\nf/6X/yt3t/d89jM/gtUGSmO3fcKn3/407/Gc29uFqiprToS0oPyGzfiIQ4rUGkFV5uWeJTdKtTJL\nMgmlBKRyiAttlYOk+gVdgKywxeMqhFY5pMJgPOPFSO87ghdyUErnRFDr6PoRb3qqnUgx4ozDqkxK\nK51dUbaS80IrYgGc54zfVJTuuD0cqC1RDwJ12Y0b7m7vcd6xLKLNXBahlNf2mmozUUo9098tuSa8\ns8AEGskncobpFMnLiYvNDmca03Tk8uIp0+GOmO7prCXHRFpnlAmyFFSNblOxbgfKsdTIfvMIrQ2+\nGyjKcThNxHXC2kAXenRLaDxVWZQt4CTN0mNJS+Rb732b++PE1vf0xjP2yDLSyra7ZMf94cR8TFIc\ntccGxKBhOoxR37Wdnu3LffDUmolFU6dCLQYQNia6Uo2makfTYABt5UqulML6RpY/TamKmjWqaZRr\noHvsRtN3VojwRnYRap5I8wlaxYxKlokjmJ2hHzWh02KAqA2Fx+pHBHeJtwMxRo7HE/Oc0UZzGg05\nyt7j0m0Y+g3BJoIt9H7PW49/GENHa5ZaDCUq1rlQP6MYnKfzHdbJLTMYJ7Q0ax++Rv8N//33rV3/\nfDrN5UDKB0kyZINqipxWpmmm1kjfR7p+g2pQq6LmLATnM3WaJqZ8ay0jSmJyqcSaSathNivFiqBW\na08fgszq2kyqCe00uMS2M5wmwzppdNbiG7YVYzPNOppuxBwxBF68eg/PHqU3NGkthIjtelaywGyD\nwxnP+x98h9AN7LZbDtOR+/mG+9MNxq4EFeid5nK/55hmVFPo1jHHhc4lnqrK382J2Hl2/SX7/VNm\nZZluPySeJmaibHudx7nGZXB4N2JjYjsollMjtoK1ntPxjv/t//qf+Xff+Dc8urxku+mwNjP0I48f\nPyWmV/i6iAf6rEft9Y43LwYOp48ZvCLnzBAMJxZaE37omgpzOUkKpEnknGk4ks4Y1VAtE7Qg+fph\nwGW5dsv3fmWNM85ZpunEMIxst1tSLCynhbEfaeWEVoLlc26LNaI7NCVxfX9iXjPKG9CF0hyHw7Wk\nAAw913c33NzdsRlH1nVBKc00HSlF5EhKyespJSEntZrpQ0cXNIOz9M5yf7pjnRZyylAq83xiWRrj\nuKVEobXXgFCeBs2yLgzWA41lmmhV4ZTFKI33nhxXjA8YZzDGMyiDorEsq6Qvup7aCto7SmuoBr4k\nyjzz8ccv+etvfIO//MZfcHf6gOYXHj/a0myhtcLpkFnTkVOurKVgvKMbPZTCdjcy9h2aSlJnVcbm\nCb4TbaZzmlgaWicutht6N2LoUCWgm8XQU2qmxInj/TUxLijl2G1HlIJ1Xak0tPUobfHdQN+PDIPH\naehCj7EdtSliTGwAOkkAACAASURBVCzTQorpLMTXkhHVa7qz80ocQw5dLVY5Oj/gnDBnVRNHkYxh\nBDOnbMPj2bstu80gB+W8SsxMbnIo6gBFY7XHKY/ukSz6c0SH1eZBp9lqFiPJP/Dxz1Y0a5uxOhHr\nwuE+sq6VFtND91nmhTxG5tmiULQzubupDMrRcOIjVwpbIZhG8g6jPSYvlAWqK6gQ0dbQSsIahx3E\nRdR10A+KYB29hmM9Qlppi2KKhUV1pDUJ+aYWrK2ouhBLxthKwZNyQilN8IHSe5SeUUWu9sYUvvP8\nGyid2Q2PyO2e0+kTXIhol9G5YzAGtxnIqbImQZyVjcMY6Cx0fsvji0/x1tvv8ol5j+PL73B3WGml\ncDyd6IY9YdMxnTLDtmfoCqWeaAFiabRS6XqHTolPPvkOH37473l8teGNN58w9I8IYcPVo0q8+wit\nMzEfGDcDkQmtd2wv34R6i+saiix+9ZTJRlHNQqmFTEZViYNdzcIyZ2JJGBVQYQsEbINge2qTQ26Z\npGDe39+x3++5urrieDwynU6otjDsL7g93NNdPEYpS+i9CI9z47TO1GJI6Zq4HInNsKZMWTKzUjQt\n9KKGQtXCmuUNmlI6R3CUhyXR667Ce8eTx5dsvaWlmZwnliXy6PFT4hSIy0Q7x15QIjku+H7EdgMt\nZVQteJSwJ5uj1gz1nrsScRaa3mJ1Y7vdcDzNlJZIVVB1ApJwaO0lgaCumM0jeY8c7rh+/oIPn3/M\nx7c3nO6OaGcwwaNolFyIEab7RsmKYbNj8IrFNHQY6Hzgan/FdhiFSmQ8wXdsLzZ4L8mfKQudPtjA\ndtyIy8p38r4IHVppUiwcTkfu7m5Zo5Cp+kFuRcu6cjyJv38cekLoCEG6Z9UUygguUJ0txXFZiSmz\npgWrDM7tGMeK7x1WG3I2olKgoXWjKY03Hd45tFYYbUFDbN+dR9faRGRfNUTD4EY5TG2hGTEtdGEg\nGI9WiqLyg5Y3p4I6w1QAsO67P/8+H/9g0VyWhZ/6qZ9iXVdijPziL/4iX/ziF7m+vuaXf/mX+fa3\nv827777LH/3RH3FxcQHAF7/4Rf7gD/4AYwy/+7u/y8///M//vY/dOw0hgKrEXEgZ5lJZcoECukLJ\nM9oIfaUh80bJc3a05mhrJcUV7wLaefY7OUW07mlppuaIpkIR6VDJMj/a767w3jF0AdUiqEzIlVA8\ng018eEicUqYUxTpHmd7rSeI1cqPxglgcnLfE/TBgfcVNQqxxvWPcdmz3T1iWlev7b1DLgVpWbIzM\nrDwO9tz1OIKrtBJRduSYEl1o7DaOZ88e8/jxUy67C9buFlXAlkKrhUe7LcoM1KgZdltyitg+QKr0\npZDVyoSilBVrGvvNwP1d5MXHL6jMPH2c8DawsYWTs7RSqWVhmV+gxyfUXHHdTlIyucUYj9JwStco\nY3k0BjCa6bByHQ/MLROaENKXNRKsA2/Zb67O2DdNcJ51mUkl4rVmMw48unrGy0+eMy1HnLVc7SQG\ndzNusVYWGN6LXY7acH3A24BWjpf396Qlsqwr83EFa7DBEueID4776YCwpBMgkFmQhVLOQjGy1nC1\nv2IIA0ZlirHM94l+GIjrwnZ/xW1NqFow55woQ8W2iqmGaj01rSilKXVmTSuXF5fM00xL99xdZ+zj\nT5PKQNMQOkHxURVGa3JKZ2dKh+o8ynmq38nz5IZP7u+4Oy08uXiM/6H/jGm5p5HwrsPajnlNxGfL\nOQGhscaZXCpaeTb9hmEYHqyk47hjsxnZ9iPeiGhdW9n0O+dQSjosbRRd1xFCh3eeUhIXy8DlVjp3\n5zzb7e7MACikuJJLpgudbNJzIedyDj0E5+SK77Ulzok1r2dDgqYbAn034jvRaFI0OS8ykz4nWirV\nMEZUB9Y6ikIKcFwpJeGsoZ7/LmMUIcgSucnRiTL6HGanRaifG6Um1rgQ10gqAe8lu0lrJSO6f2zR\n7LqOr371qwzDQM6Zn/zJn+TP/uzP+MpXvsLP/dzP8Zu/+Zv8zu/8Dl/60pf40pe+xNe//nX+8A//\nkK9//et88MEH/OzP/ix/8zd/8/dW7poKYRsoNWK8JNNRZPifFsGKtdJoWUuIVMs4ozGl4QdLaxXj\nDZhA5xzdxjNsAkoXKopaxE2tamNNEwUoxUFRWLOhZkvJCkVgXQpDq2gmLjaFu9g4LE10m6YHKrVF\nlqXQsqbWTG0S8qOdQ3fgg8HZXmjqzvHG07f4of/ov8Bbz7fe/xbf/Luvs5wUoUmM6ZRAG8/2Yo9K\nlbzcc7idoFdk3bBDwPhKrZHDceb6+sjLF3f41qgGlKlsdwFthUpetaWVcqbTa954uqdUwzFNHE43\nZBaGYHF6ZDpMHNwtu81GFhVdRzxmsIaqInF+IYmH6xPG/m1iseR6h7MeZ7doneiDpRs2dDoSE9yc\nFgyB3vf4UlHNo7GkXLCt0azjOC+o2hg3e8iJYeu5u33Fzc0Nl1dbtv2INrJcCH4khI6mDCF0D1dq\naHTjwEWqJCDWW6YFUUmkxGStZLyoRo4J24UHGLGz7pyD03AorFUMw0DvPYf7W0o80PU9SlucMUzH\ne4YRnB8gr7LsoFFKpFWPM456pp1H5Yhacr5zruwvLjmd7uhCTyurOE/WBW0CuiIdDlbwc3GlbXaY\nMNCsh7SgSiXlRjfs2I6ZZiTMbVn2dEPg0aMrNuOeGhuH21vpuJTiOJ9Y14jVrylBomGNMaFaIS4z\nt/OMtZ7NMOBMwDYjh0op524uMPQD3ovqIKUVrTQXux05DyLIV1qusUZ0qb3pqa2RYjrT+gW113Ui\n9NdnorrtNLaN9L1Yer13aO/wzsuN0jaJm2lGtJXGnIt+oVWkm7fyWqi1YJ1wPY0xZ3aqzKONMd/z\nuZWS8tm2LJg4CTMUghTnAltKQimLUv9EneYwCJw0xkgphcvLS77yla/wp3/6pwB84Qtf4Kd/+qf5\n0pe+xB//8R/zK7/yKzjnePfdd/nMZz7Dn//5n/MTP/ET/9+iWSo6V7yFOSqcC1SfRPisFceoqFWL\nayTLBlRZ2QR621EoBN/jrcUbycbJNVNSQmdY50qNkOsRnCfVTMuB1UtnO44bSgroalEUTmlB94pW\nDugQSFlRasZZyTQZbEdqiftjJldDQ6AAqTVaPREGJ5BTU3Ej/MCnfojPfuY/x6qK046PXnzE/f2E\njtJt5AQXuz1WW2wtlGZJC5KP3hJD0KQ8c3P9Ia/UHX/34q/48Po9Ll2g63uqipxO94wXgeN0j/eO\nlGa0KoybjkeXT3Buw/NPPiTHE24TKN3EkgI5J5blBV3fcHpg8BvcbsAUha6Neb5B2yNGPcFvR3a7\nd7m++xZ5XdHtEqvv6buesd+zHu+oMWN1xVnLRe8QjH3FdT00QzCw5sQ4bER6NE9opzkeT9zdv2QY\nHZvNjqv9hlfXL7GqYLsgXXgIkrfjHFiDaQrvDP1mZFMzqSTiWjidEsfpAKeJvh9IUZZltsnIph8H\nKlYOg1JxWrz/4zCgyHLVX2dQsiGOayL0O5EJaYO2jtiaSHRaIZfI8djo9wNKnWMluktyKnir0dbw\nzqd+mGWd2T96xnD5DKUDx6UyV1BG9LY2eJzWGKVpzlNNQKV7VAGtB7zf0IcTyzpRjaLb7ri8uODy\n4pJh2EjUsdH0XY91jmVZKFkkduK3j5xOJ+b5dPbbJ6ZpIsY7DqFjt9uy2Q74Jn7rLnTs93vGcXz4\nfHDnrtxyOk2Y2oQUdWZUil9dxiDi61+lUaqglIwBpkmwj9aKPMsaJ4qF1sBompJIihZlPCdxx3JV\nzqpRqiZXYQmQwHmPMkY6RO8enGEpJVSTW7LW8n1QTUAx2hpZMBswRRZUtVbQ5gHqYq196Lj/0UWz\n1sqP/diP8c1vfpNf//Vf50d+5Ef4+OOPefbsGQDPnj3j448/BuDDDz/8DwrkO++8wwcffPD3P25u\nlCmTnae0haABbSjFY3xgbZNs3LSi7yWC1DqHU2J5lEJZaGRSEYJJmRN388I6LTgsJoM1nuoKWIVu\nhbicOByO3L4K9F0QMSuNViOxBrQJVLPQbRSHa0dFY7qKbQHvOmp/4hQTtXYUVYi5PhTYMCxUr9mr\nC9544xlXF48peUVVw37c8qJlNBIYVpwE+pg+MKnM7f2R6/mEMQGtQJnCqb/nRfiAOVWu779NtzfE\nlgBDsCMFQ1wWYrvHWk8uiZQn3uQtSiiEccUHUQ+onOm2PV2J5KKobZIfOKKSuU9RlWUqnBbP4fiS\nZ08fMQ47jDOM+7eYDq9wppBOirwo7lMUJF+16Ozo+gGvBjm9rSOYLRvTY6rlauOo6cRyuiW4jpvr\na4xpPHr8DtRM3/XMa5ZD0Y84789dj6YhBPccFYYGRqDD8mc7XBfpw0zKhlbzeSYGnKHUm82Wcbcj\nOE9MkZqLLIBKRut2lrkJF7SVhu+Eo9n3O6gRawu1NXqlUTHRvCKnhXW9w/pLbNidA/ok3qLre7zx\nmK7nnTffod9foL2HohiCJc0L67LQWmW730BwYBzkKDPArMhzZl4i5ew4AmRDHDw0zatXN7y8vqEV\nyQH33uGUYxwHWoMQgiyrajkXzZmU8vnAXB6893LTkKu5UiK3m6bpAfrcmowyrLXM88yyLNQqEi5j\nDKVkEbqfIz2kKFoERSPFS2l9ZgVovHN4f54tCpdOCEVnGVPOhVrb+eov/NOmhVXwmkxkjWZdV/kW\nN5lnanWmWdUm+EctexClGhr9kDBbUkZ5f44i0UJ6Nxqjzw2aev3M/wlFU2vNX/7lX3J3d8cv/MIv\n8NWvfvU/+P3XX+zv9/H9fi/mgtFZgAQpYpXHGk2KldYK3pxD0Kro/5SRWYvSQBEhfDWOWh26JpZD\n4nS98vIwk1Oh6xSb3lOb5MEoLcuAJRaq0SRWYrQsrifYQBccL68n+gtHVY1hyJAr8ZSgBZR1WNfh\nioZyJ/nLFZSy1JKJSyG3SquVzeaCNx5/mj4M3OSZD6+/jfeZ7a5nmmdMMmBlOuZ8ILuMTobB9ejU\nCQxWWabVYA8n1nQgzi9pZkFZQ26RYHrB6ulMqxPTfCShOC0LLb6grImhsywqSd702KFMorkisGXj\nKK2iW08rnqaCDNO1Y+su0N3Eegf2kcOtmlI1Y318BpPs6JqjJbA6wcUbGDXSeUPvvPBPK5hShF41\nDKzTkRQXvGrc3L5CO83F5QVxbXKFBeblRIorm8ExDAO1NmJcQMm8TClNy8vZtpjovSU6z6bvuTN3\n0hUpiylFdILG4IxArrXWeCMAZBUsYFC2QVlYzjnjm80W5ywxR1RTnI43XG43KNtBNVir0F09P2ZD\n58Y6RazOWCdSHKWNiPODIww9aANGgzHUVMklo2qWZMscictEf3EhDiWdITbJVsqZw/0d02k6LyKl\n2PT9wLIs3Nxco5S8P/tersDzvJyD3Cz7/Y6uCzLiOHfIr7u3lArH40HspmfqfWuV1uB0OrLMH3N3\nd0MIgRDCAyFKnb338nfIFbaU190mYrw4X8VlJKcEuXj+tTHnYLRzRyiFT50PSFHECCSnUUqm1Moa\nV6qpGCVhaspYVGvUKs+n1so6L7RaH4qsMkayl16zCUomrvVBOUFcsNbx+pruvQdtaFqTW32AVP+j\ni+brj/1+z7/6V/+Kv/iLv+DZs2d89NFHvPHGGzx//pynT58C8Pbbb/Pee+89fM7777/P22+//fc+\n3v/99Y9x2tMMXL7lePo4Y7xnurunFnFoNK1QrbEulWwqpSgpKDnSqFhbJbK2VMzicXi62lhyQhfO\nGdgeTSLHRq4Sp0qsZBw1Q5xXJn3eghtLjoaLC4+34AbFXcncn+7ohx5rHf1wyWEqrPEezvFOzhla\nc+RsmOPMxXjFhd8Q14nnn3zExzffQrUZHxw3Nzc0IxDbJ7uACZ5NcFjXuDkcZJ6yLmTlKcawpoWa\nVkzw9IMQw9c5UrnD1o5QJdEztpk0GVzbcIpwrVZM6XH9QB+8EORbBCO54NYYKJqaDE0HIY6PIwyW\nKSzU8QjFoE4Kq3qGbDC6EW0lqgWDJQSPs45PP+lQWEpJ1FqYl4n7+xM0MH3HEld5ATfLcT5Ry0IX\nNixRiqqyclDdHu/Y9p1kmbcGCKbMe0MrIm+J64RzIqExquK9xmnYbDYsuXB7d+B0ukcrwDlijKzr\nAkfN1I6SMW7FF99q5GLbCexht5e0TC0Sq85Z1ttb2sZBbfS6x/WOlFdsU+cCsaJapTTJZu96j8Kg\nzsTx7cUe223QSuyVpVWOcSXFjEfRB4vTDWKhPbmkWYM+rqT7I8dZlko5SXSGtU7kXTRyyec3/NmS\nmTPT8ciyrkIpcpZ1PjJNJ7ou0JBu8fX1WOHOM8DK/f09SqlzMauU0liWiWUR2+v3Fs1hGCSUz/uH\nAtT3g8iBlOhAjTFy/T5fc9ezU8taKbKvwc/LspBWuW7HlOi67mGjXYtkyOcsW+5qGt5KAR8Gj7Fg\n7fCgiihFkkm1MSitqede0Z4PyTXGh9uHMQbTmmzw14WcCzFG/s+vfZ3/42tfFylj/Scsgl6+fIm1\nlouLC+Z55k/+5E/47d/+bT73uc/x5S9/md/6rd/iy1/+Mr/0S78EwOc+9zl+9Vd/ld/4jd/ggw8+\n4G//9m/58R//8b/3sT/7YwO9eiz+2dFQ6wlyxnfw4sVKcJqu81hgjSvT2vCqoFRBGY0yCjU0MBFl\nPM5ruVoFUNbiOivZ5VU22spZgoOyFqa1YKyXZYFqpFLRLZ+THg22NvrBUEzE+QzOoa1m2z/CqoKu\nN0x3M94CZ4+1NWBqxXaG1CIf3X1M5yZefPg+19cv0eZIaRptM7nOzAvczgObNHDZ7zCdYiqVw3xA\nGYM2nhCs/Ht1o9MObS0xrqAVORcMwhztzCP6TpZSzmwJYWQbthLmZQyoSs1gDOfPUZAanRHKN0bh\ntccFT86J2S/kNGKMdAutKbx1YjXsM3ot0BReW0LoZCanFUUZ5lQQf4BcjzQKpTqSgiUdqLVicDgV\nHsAI3nqm5SUpVfzl5gEILJ7uCBV678lpppT1nJ8tbhurKtZByRO6FayGHItsU62jtQLos/0246yV\nDHNj8WFkmSe0Llxfv+TyYoe1IosxJlApxCi55sO2QzdF7zpqLuTWsF3AOYFatNbIpbDbbjHeo6zn\n1ctXPH3mqOMWVRqtrJSYUaWQ64o1PdpqYKZZi7IXKDdxP7/iww+e8/HdNUkW/jjvscawLoaYkyw0\ntGFOK/bsA0dp3BgYXYeicXNz89Bhei9xG4r4sJUuRcj7OWdakw16CBKXHaMkUU7TdP5//gF88vq/\nIJ2usQZjNOsaWdaFnGXMIrIhucKv6/Ig88qlkHKkFkkCNdayrAGjDbkVSqr44Eg1c384UOpKF0Z2\nux1d19O7QMqZw/2B29tbDqcjxlr6vuNif0EfgoCUUeQYUUqMCih1llFJUsPhuHB7e0NOmR/+zNt8\n9j95F+dFq/zf/nd/9I8rms+fP+cLX/gCtVZqrfzar/0aP/MzP8OP/uiP8vnPf57f//3ff5AcAXz2\ns5/l85//PJ/97Gex1vJ7v/d73/d63vyENZFtuGQ2ilLPGcfaMs+Z+5tCMKBtorcBXRKndcEogY+a\nrHCDY+g8JSlcsNDg0lqWLI+XSyO1QisyMxuCFkZhtZJvU62QT8iCu6cxFQM5syaNHQuutyhAtRVq\nBiqVxjIlqjc0I7EYncl0TvNocwWp8sHHf4WzG56/eJ9WDPenhDXggmE6zhjTeHX7kt4KU9N6RNQb\nPZ0bCf2Oi2GDM0DNkrnjLWsEUc4UvB3RtcNqATPoWvE+0PUbhnGE1yf9OqNR9L4HrTgdjszLRNKJ\nru9ltjNaaJW+66BJvLGz9uEaVasUoteZ4UpBU4p5mriLws0M3p+hyg1rRcQtHmxJeu/GkRotnRH5\nWEqJp0+eMM8zHz3/BOcNRgVSqVhjOR4OpDQzhL0AOYzMvDVGYieA2haM0fRDx4tPbkWW3JoIxZXC\nKI2zjqurJ9BWWhbijjOWOC+0GllOB5Z1RqvHXL98ydh1TMtECD2lJHrvWeMJ66BhGEJ4GMUY00sQ\n4HlGti4L237EauiHDdZJHC3NYEfHlStCrm+Z0PWEQUTyqhlQAeUtZvOYqX3C7TFyuLvBe8/FxQXF\nWpLWaGPZbHfU2ui0wbuOoI3okd3rA0ZE7q+v0n3fY85zP60bzjmGYWS3u5CRgdbnua49E8gkvdOd\nO8bXWUwCdk4Piph5nnHeS4OSBe5Mk830OA6M45bLqyvmaWJdI6VkOqupteN0OhHTkdPpwLJIcbbW\nncEflZgip/lETiu1aVzo8NNEWuezA/DI8XhkXiPuPCstVSj8RhtqFfeQ83J4euvgPH+NecV5z+XV\npcwyOaMFjcK67h8qi6j2OiTl/8cPpRT/9b9+xFX/Dt5uyQ5iuWcMEZrjcJ/45l+/YDka9lsnp38p\nFKvIpSCjUINVme2mI3QjmoqKjsNaOcwnSaOLlTjNDL1hM3rGvqOawhqrJBfOhWUuAv+gULWCUghK\nM3aO4aLhR40OHYO+4HLzg3S2Q9dCigVnDJxPcnFFaC4vt2x3nmEXOM3w6nrioxfvcThd03WGMfTo\nJvT4YB2d9+x2O3zwpCrdo9eGYRwYepGElJwoWb5NiiKFq2XJX4mggWA6cbycN/7aSAcQzydtP/RY\nY5mWmbvbe3lxlYo1hmHo2WxGxmF4mG0dj8eHjeL3pjvGlKA1Qghnj3dmWibB4VmLbrIFfb0o8F4C\n0JoGciEtM6ZFSly4uhg5He+5vX9B73dYp3j25BHeBfb9lo8+/g7WFcYwsNtfCuyiNpSy5FpZU2Wa\nFw7LwifXB97/4GOub++JWb4G+/2ex0/f4PLJG+wvnmBVY4kzrSJ59Icb7u8+oKYTTx5dklfogkbY\nQpXdZqTkiNVGDudc2O+3gsKrhZQSwYqbZLe/QBspMGM/0Pee8fIZ48Vj2pOnKLOhxkTLneSo20Kz\nvciMjKFph1YOSuTmo+d85+/+H24Ptxxu7x6u4bVU0Ss6j3UioUI1lFUM3mOwMkP1RmakSa63nfdy\nSMT1IS/JWodzDucsrXGe47XzHDk+gJ67rqM7y7YOh8MD8b7WzLKs8pjneAitxf0UnCyRdhd7nj59\nxnZ3KVfumOWmpCrLsnB3e8vxcORwPMjV3srn2xDIOXN7e8vLly9JKbPZbNluZZmnkATS1mSL7zrp\nhH3weOdECtXAhwBnFUEuhVYboQt03eZc4KUZUKoS1zMFC0VThv/yJ3+R71ca//kgxEeFzge2fUdd\nM6d8g3GOjfU82ffMn7rk2397y2mqDIOh2zhqSOjiME1hKhh1doqgaBoh6yCnfl5W5iliUZgGHoXX\nimYsuoN1bdQSsa3KqZwbLUqspwma4iq5NS7CFbvxMY/3b3K5f8p+vKKzYvJ33uOtxxpFzHIN9MHi\ng6FSybvKm/uFT10+IpcsWDAjsNqaC50PKNvYDJszYl+uuaa91ir6c4aSzNliEgtaWiJNV7rSmNoK\niODdOoMGefyWWE8TxmhCL9rQZZk4HO6JWeIdxl5ebM77h1iI1xKSnDOnaZJFmhbi+rzMoDV9CILN\n01rI7Naizz9qqSgthb9RRXCuLaBIZaKoxrrOOF14dfOKdZ7o+w3LtDDaAE3jfeDlzQtqbVgrS6uU\nqzzXM1Vf5k6iLWy1UVOmC5a+C5S5orREGQybPdZY1vnEVCGXjA+S0ClBa5rgNwQ3QlmE4k/jcrsB\nLfTzoR+pqklUtFLCyqyiHTRao7TidDyw2V8IP1QbjPOoZTnfbJqMKvQGNiNGXwKysGhny56iUXNk\neXXN6e4gB50L2P2FJD2WfN7MB9koo2i1CB5PVWZnqakS15Xt5Z7ddk9wjqYNnCU3uciBWEsl5QXO\nxeT13FGff52LBJuFcWDcbc+EKrGc5pxoSjrMaZo4HA7c3d09LGGs9egQ2GxHfDeQcuF4f0Ab0Mgs\n/fV4oWqF6RyX/ZXcSM4jl5ST3Dy1kg6ZlZYLeV3xRrSy5pynDkriWrSVOBWQvQWadT1RaiatmeW8\nbR+Ggc1GvpbLPBNjkgYq5XMBVees9u//8c9WNH3bcbrLtOW5CJq7ws0nmv4J+ACf/oFHGAzPn9/i\nvEH5c+yqq+xtx4gGa7g/LcR5ohs7dE2oktGnBZsye2NR/ryFL5XjdMQag7Yeby1mdDhvWJaVtGSc\nh2RX3NjRjY4n+ye8ffGDvH3xKXYXe2H6WQ1O4a0sQTabDS4IJ9IqGUKXlCk1k1MieMX+SSDHldqg\nINEBSiuBV3SdbBfPL5h67mCEd/td3ZhzmhAcMWWiX86uliz5QylTS5brM5KSmJOMw5WW7Pi4RilC\nzsP5DeD77sF3W0ohnfWQ4qaQN8b17Q0pZ7quE4huEOdE04pMo2mFdQ5jxaJntEafdW+vO1SllAjN\nncNkQ7MG1SpLPKF15XQqOGfYbnag4P7uFqsbm82IUvUsp6ronBnGwOmUKCUDlvo9XfAyz0Ja8oHQ\nDbh+wzQvLGsidCOpFtZ5ZbMZ8EaWNY0sgXBnneG8TDy52pFjBGvpg5C3cl4ZN/1ZfuNxzrMuC7rz\ncjA5fxaEe7SVyAu/20O/QdmRPCW0bhBGtOlpVQvLE6gVlBbJzauX13zw4YdM6wQlM08nTtOdzPL6\nEa3V97hb5HaTUsYax/1yYlkL3amiRkNOSQomfE+scXsgQb3+Xi/Lwv39PdM0scZIN/S89dZbDJsR\n4yxxXclrZD0rEow1DMPwsF3f7/fAdztN+/pKDMynE7fLNSEEodpbKzCQWumdZQi7h+0+CAXKoCg6\nEZyHYaD14/nP6PMySyRCtTWm04lY8kMXXbKMI4a+l9exEnfh60VRjJF5nmitMc8z6yJLSmss1snz\ns/9Si2Zve7RqlHRkCA7V7cWXvESc9+xt4AfeucKFjhc3L1FaYZtiXVZSD+5iQ3/G498dFkhRoku7\nTB4LtjPUmMG0eQAAIABJREFUoqnKEquiaocLms4HNv1I3/f40KO0YskLyxSJKVN1A5vpg+fZ/tM8\nuXiT/WbDMPY0XUhkbLUscSJXi1kVpUgGuFyZemouaM15+9hByyyLZV1mbGuyMVYKdb4G6irSB+et\nZFub72ZzA2c9nAzvu+AYh16uxdMk/EFlRcQ8zdze38pGlEbXS0Lh8XiUF9w5GO615lUhOrq+7+Vq\nfZaGvC5C1lp22x2lVbq+Yxz+X+bepGeyLM3r/J3pztfM3smHcI/IqYrOLkSjVrNEQq1GqFnxXeoT\nsKL2tUbs+RT0gk2rQSWoJIvKqsoks9Ij3P0dbbjjueecXjzXLCIFFBIIZdomIjzcX39fs3vPfZ7/\nWGGM6PVe9nuJOCsr6rqhyCu0lptZJEHyNUIMhLAQhQznHPIsxXAHCldgjBBKRdGilLx3m82WcehR\nSg7FvMxWHd+yfo+JkIJgbnoWZllpwuJxrqAsWsqsJCjFOAWS8uz38t5UVc3tbie9PhaGqaeuc5Yw\n0hQ5hc0YTkeCNjRXV3g/MUynNeszl4YAl2GcJXhP7iqZdqNMuBZNVVaw3ZKymuQK3GYrlsnFk5jB\nymYBSph+FMZktO0VRfnEkiLRzxwO3/D88rRKeewq2xF2Os8zMuOIRIpM/N7ZbkueWU7dHhEQuMsU\ndy6VOz/Izoeoc46721sSawBHSrRNg9WGw+FItz+s+K3ARvJgFqZbGPSSIi/QRkuYxuIFikiJU9/L\nA9l7yrISJUP6Nq8ykYhB4JxEEv95Euy0LkvaugZlLrBCjBFFwqzSp7KssOuD89xeuoSAD5Gqqqjq\nmmLViV5+Zq3kvSlydGbXe0ykT0WW4/TvbAixJnoPPqfKKrJNS+UyhrlnmSPeaqqq5v3bjMwq9i8H\nliWyLIlhWhhiorKGMgcdCvzoJaGncTTtNdYUQo5Yh1M1xhU4aynyirKQMIMsK6Q3WwdZyxbpd344\nfiSGhev6hqou0U6zxLA6HNSao2mZpp4YZrF/kciLmk0JeZZTlIUUh/kZP0uWIwhulFKQkquQ6PoR\nSFRVCX5ZL3AB2ZVi9eAuaGNBrZKKtbLWr5IMEDYzL3NKX9P3IwuBarNBh4SfZiIwrDILCfOdRBSs\npZVzWgXMbuXtTOZothsaJdqtlBJKG8bJczqdAMhdTeZaNs3u4txZ/MwSIxE57Bfv6U8DIUiwRfKB\nyU/4JWBciXMF1mXcXr+WsrtxRqnINI0UWc4wdaAWrLLYPGNaZpRWFFlJ52eWBMZklJXc0KdpkYdp\nntFNkTQNWJMx+wWlJNxDjxPj1LFpDP1hpMlyEZv7marekOJCUZQcDnu0u5O2x2WCxRExxEzj/Uy7\n2TF0J2JCFB2ro0XXGSkvya6+ItgG/AI5glkOMwzPqDojZtfEpDBpQUnjF80XX/J3337BMhz5qz/7\ndxzHB2KeePz6nqfD1xibc321u5AuVlnqqqGtagJyUJ2hlixzvH37PUzmmP24fo9CjhVZxjSK5dI5\nIZqauqapRQealoX+cGCaPbP3KK0IIRH6k9T4xoRf2z6dM0xDj1Ia5ySVPsRAWA9VpRUuUxLfFwPH\n/UHE9SnispykzGXyzeoSvSzUZXN5mH9XWnTeXmKU+u+m3pBWXaa7hG2k9UGcX4YPpZSQv0mhjTQ0\nGONQqIsSIMaIWUX9f9Prt3ZoLnFBK4/NDCoWVLrCqIG0KI6nhRQHqrImBEXmSvIs0HUvMsGlDOcr\n0tLQ1huuq4wY9Lo2OZQrJVUFhTIGZ3K0cVhjQYmDIHPCEtZ1KxPDClQPfU8Cjv0BZcSVoIgsS7gI\n+ZVSq0wj4iexeCYSKsJiLYVzpBgIyyzZgSvZkueZiHaDpLOEEBjWbm45KBUi8ZGJKqZEiiKCzrKM\noqwvTPY0jUyT4HLLslDXNUVRURQ5TVOxhAVDoqgKMmfxy8Lce0IKAlFoI6ttWC5TkmBS9rK2GWOY\np4l5mmTiU5ZxmIgxUhQVNrOU69pujWFaA3/PjO15Gk4pMs8TQ7cnLTNKGfKspLAZdVHJzzvPpLSg\nY8QYBFLw4qBSZMwhYFxiGnuqqsH7URKudIQo4vQsd7RNQ5HXmCzn48Mzh9ORxUc2mx3vvnjDbrOh\n73u6voMAVZGRuYx5HCmcxRkLSVOVkjTfDz1KKdrtFWGWNsNpGkQGVor10DpHWVUYZ3BlQZFl2DUo\nJGnQRU1aRsKxZ3g8rY2hGcX1jG2vSTq7hJFZq0kYrLvhi9/7MU+nF477gapqsZklzwqKPFuvnZ55\nnkgxME4js19YlgljLLMf6Too8ieKsuTUHUgpkWeZEILrwdD3PVlWcjqdZHWGy8bhXEZVlRiV8OMs\nNs3ei6xodf+UZUWM/jt4oGwBXXdinuW6PV9XRVGs15ambdtviUb17bqfZdkFVz8fpHKvpQsp6b24\nmqyRa1ivv99p0FYmdgkcyQVKAiB9+3UwKCUHrXYZyWppnV0DPlD/AylH/zNfh9MjTkVad0sKOfMx\noFxiGRfSHPn0zTObNtC2DZkp2ZSGuQukEHl1/Zrr3WvyesMu22BNjlaigynyAmMLlEbSVpLIX6y1\noGRN8OvqIAeX9EVLWnPEWk1T1qsVTNaIZQmrmV9d7GXTPENKmJRYonxf+ECVZXijSXEhLdIzlOXZ\nKr1S+Dms2ZNizTPWSsuhkTCJuMo6Yowi8rbi1sA4gFU/N6EU6+Ela5ExhmHo6LpOMgE1pCUwLx1+\nWZiC/AwaefLHFPGTX8F3LeRRFCLhzHzLf8t6RQIfRkI4C38FY8ryXHzh66/F+K2j4lw/odbg2vND\nIYSIQZJ9hmmQWgilqVxJXjgWP5BiZJ685DK6XJLTrSIGYT2VAhVEwZAZS68TEHCZJS8KglJM00w/\nTPhp4XDoqKuCGBOnrictmmxXoEt3mVwkT9ThZ880B6q6YRwG8ixDJcNmc0VcEnYVfC9BbtgYI9ZZ\nlLVEpaluXxN3tySbo7oeUg8qI/jIX374OUVmuKtaYcVdSary79wZUnlMgs3NG7549yO6pwOFK1Eq\nSZV6pqW1YBIcrxvkM86yjKqqxdIYJ1lXh4G2kmSjYRhIITJ6SSoyRg7Hvu9Wd1BYlRSNaC5Xq+cw\ndixhoWkbGTwiNM2GqtIcjwf64USMyyr7yUlJrlO9ypjkwZku4vjCZes1I8RTiCJ2n+eFuo4r/qkv\nEMAZKsoy+XPnr51glXrJQzfME36Wo89PI5MThcdZ9pitzqNgFpnwo8HEGWbNWVMqldN/8+u3dmjO\nUyCoRGkUySjmaWHqRvrxBb8EZj/zsRvxc+Lu9jWmKtlsDUVW8e7mHbv2FrQmNxlKJ6zREuu/AtUp\nwcSCw3CJl7IGa40kq6yyC1Rk8eKYALAObu82aGNEgBvlaTyO4wVXSUn8yrIeKYw1+CBss589duvE\nMWIsWV6gjVi2/DIRkwR9kLToKp0jhcA8Txy7E+MwMowDbdNSqeoiJHamurgtzo4MEePL10BFEfCu\nMonMZczLjJ9mhmkErciMIXOWuOoXTQZunTq/a3ubVveE957JB/F5a0Nu5UIOIaCtpmk2NHV7kRWF\nEDiFI8t6A5+dFUI0yeQQFvGDn1e6wuVYbSizjLYueHr6CNGxq0tO/oWKjBQ8y9hhq4qqKAhLIM+E\nUQ/TgnMFmQs426MmyfkMFKAMVjt0bqW6+PM9dV1TFgXGyEOkLFrCPFO3GxSRoqqZ/TOBGT/1oGCe\nJ9qqFnmZFU2fNo4UDTGuh8PoubpuqauKJSqy7VswLWSWw4e/RqcjPnlMNAyHgU45XB1YhpGs+vY2\nlTpiLg+Zm1df8Oviz3GZY5h64hIwVuF9ICoo6hq9NmXmeS4tkSHQj5AXEv12GDr5DFCUeU6TlRdn\nz3kbODtmzhOhXTW6j4/PdN0JbRREST5rNzV5YdEm8fT4wsdP39ANJ3bba7768h1lXtKspBgK/Cwb\nzjRPdF3H4gJ1VVG3LfXaR39evc8PWuCChYIceHVdy7UGoA2ZFYkRJIJdBM+Sd3EV1cfLwQ1ctKXa\naFKEQCCayELCL15yDmKicNnfeHb9FomgDc5pMlugtbyxi5/RSTpG8BIq6k+BpZYUly9ur2nrK7b1\nTmK5UhC8hUQyCjLQWhG9BJRao1mSRitEl5bpyxt3ZohTko4Xu+IhLsukSN7KCL8sM2UpxMs4jhd5\nxrmHxmZ29UUrTl3HN58/scTIZrsR3HQeybIc1hX+PKGldT0/rxoX7EULk33qTvSD1My2bSvryGUd\nEtC77/vVoWFZwsQ0zWKxXJn1EBc04jcW94fGZTmgICWcXTMMUWi9dgBF0QE65zBbwzhLXUSWyYrc\nnXrGcaKuazabZvVcS0NvjCIFOq9Z5xtAJpbl4i1OUTqDrpqC6COb3YbSWvpTR4oJrSKzHykLwTy7\n/sC81vzqpIhKcTx2FIV0gqu157vKCoZhZhoGfFJorajrEu8DSsmNOM+zrGEuUVcbwjTJpK4NRV6y\nPx3ohw5nG0l2dw6rBWtdXIY5k01Wo9VC5uThYIzCLyN+UZR1Toi9TDA6Z/P+K8bDE/7lhW8+foMz\ngaYucbnF5AYIkIwM4knaMaOWKpa8bAjW0r/sCSmwPzwTg5Aq2+0V1ze3sIZshBDo+46UEnVZ4ceJ\n/ngi2+4omxpbS6CH2B4lQrBpGm5uJPT4fA2KvEmz2Wx49eoV0zSITzzB1dU1VV0SwsLsPVXdsNle\nM82B47Hn06cHrq+ueHV3R71piSlRpMQ0jpKb6ztIMiUGoCqr3/CrT9N0aQ09r+TnCfOynodlleEN\nxBjIs1xS+6MoR2QTU6uMz2Dtmv4UemIUPagxFqs1uRFJol88AZlcx3WA+q+9fmuH5tWmZOo9MSwM\nhw5jwE8LyinyvMItmsXmuNQQBrBVw1V9x6bOsZmkqYdF8MHMalH0L4F4PpBSXHG7sKYxi9XrPK6f\nZTaSr6jJMrOu3oLJ+CVAEv+rXV0SRZbz+eH+kuSiyXHGkjvHvHhM7ng+inSjrCqxfeVyMAlzZ1as\nUA58s7KBXd9jnKXJCsLK9AlQnqjq+nIhLWGhLAu0MnTdSSRHrpAkmjBLZmDiAp6b8wQZpAoEJd59\nrQTrVYq18iH/jZCFFAJ1UYhAvGlWYfTMYerxheCnu6tbqqoGIn6Z6PsRP01oLe4TQBhz1CWsoZ9n\nLJEYFEVeQ0pcX2+x1jDME85qJj9ztWvx84DLNNMYGYYJZw3TNK6NjoIpS6yXIsQIEYzWlNYxjjOn\n3uOniW4c8CESl8DQd8QUCT7w5Rc7UqhFHpOL373relymyLKckBJd3+Gt43Z3Rbc/kpU5S0oYgqRN\nBU+7uZJA3wh1VWOyGrQ4gcKi8IcnPBkuA11Zrq5b/vwnf8qmbvDza8oUSGsaE8iEuQx7VLklJWF4\nv/zRj/j4lwv744GUIqdjx+k0kJLGaEtdlJTOUWy2PGnF4+MTY9cT5gU/TizlTGa27DYbrLMSkhOj\nsNbzTNvUVFV9WdG11mtAh+bqakeMLafTEaUUd3d34iJaFvq+o65O5HlJ07Q8PT3z+PTC5/vPfHp6\n4Pbujqvtlm2zo212tM32ou8U0tBzCke01pdUJqXTSiiZ1RyRo/X5wZ/our1wEVXNHAPBB/GwG4X3\nC113YpommqbBGHtJdYor6bksC/Mc1nskUXgJGZnGEW3MxXb5N71+e8VqemZUPYtfyJaAmjXJTDgN\nRhtsUZLbK7K8pCwKCmtxdiZgCLOsEiHKSqqdQa+xVj5FjDMQICTBmvLcYa1MQpAuIl05MLlMmSEE\n5nmUcf68hi/yBmuV8F6qgeOqlVu0WlnjtDohMkyDaB+NxFHJhybd203TMI6eGPuL5kwpWLynO504\ncE65VhR5ToiR0U/MYcFpg8NyOp4wWpo6i3ydGgHWEAaRDpkL5ikXi8DcahU653l2cYGM47hitiv5\nFANZlvO83xNDpCpFdTBNE0HJBK9NRuaKlRyTG+ywfwECmSvQOjEMo4ivh55plp75dnOFigtFkVNm\niV2dEUbP4gdcXkBYeP/2C+KS8L6XzMruAwQoXcWSojixnEaz4JcRl9cYrVAssOLaPniGceI4zvTd\nRAiCi0nO5ExhDJlVZIUjq1ucjnT7e3Z1ydPjC29fv5Y8xqComwpjDXld0U8T280Oo5xYYo1hmEbK\npqZsasYp8ub1DVy/JaQM5XLy3Zb+4RP3nz6TOcvbt2/59//u33P/8sj7sUO/PNOWLcnWItVWwGJQ\npxdSs0OpjPdffJ8Pv/hLDv2Rtm6piw3jPOD9zNPzJ47OkdmKmzu1TtQRYxXbqw3zMnE47tlebZn8\nSIhrkWBcUAmU1pAEHkopSVp7lq+Qll7rj4cVzrIcDge6rl8Dhguurm/ZXd8RCPRdz/PzE49PD3g/\niYzHOGIA0LRtQ55XpKSYppE8zy4yojPeWOQNqhCrslRcGLxfmKYJBeKcI7IgZo5+HgnzWc0i4Sze\nL2v0nVrdTIEQ4noGCHzRdd0lA/RM6PW9pD45+12M+T9//faIoP7E5AdKlwguooJCe09MkTLfosoC\nYwrx1TpxgsxhIU6TlCKtk1GWief0zGivDiohWLQiz865ghHvJ2G8/bcHyiUVfF1pl0WyFe2Ke6Yk\n2OHxuK7Sw4DLheE7O3bM2nuTZr+ub7IizPM5czBcJlxJwvYXllBrzTCMeC/+2YD0dmfWiSc4QZFn\nFEWJ0eYC2iv4DiOZ0XWdgOyrpSyEFaNdGVH5uycRDxsJgvV+XqUZkl0ZY2LoJ2IKl/W6Gwb6oWee\nPdZpbF7gssTsZwhyYE/jyDxNdP2RTbtjWcIK7HuOxzVFJ8u4u7kis5aizNg2FXVVCFZaiF729PyJ\nw8Mv8YcDc9IoNG2bM55GbL6h84noJ2LI0MqKgN8EXJ6TxwI7RwKzWFo1FFlO7qR21/tZxP6xoMoM\nbdtgtcUoxTwsbOqa0+FAWTl89EzTgM4MHgW2QmtEZRE1KnMkrcmaAqst4xy4zgTP9OOIRaP1DSF6\ndJrFapkUx+7Ept3xB3/wd3h8/JquHzD5iDsdKHclKhkUAW0d3edPVDZHlY6sqrE2x08Tg19IC1zd\n7mStNdB1HafTI58eP1EWJXmWUazGhbquUEpRVZIxMPtZ7voUZejQjmEYOBwOxBi4vZWKFdHjiuPn\nPH1qLeLw4/FZtJ13t/JwTlKS5rRm27SUucXPM9Za2rZBK/F+T9MorbJ8S8qcmwMuye7WYZ04dM6u\nIMlFVThrYSUV1QrjOKVJRki/ZTVhxDhwOBzXjZL1vg5r3qdZN8V2Jak6nh73DGMPCGRF+TvKnqcR\nESMrUM6RaRiGCR8WlrGndRtslmNNgbGOkAIsGkXAGntxCACXD/XsASclafjLS6rvaL2ka8Rc1g9Y\nQ0xXMa0EBujL106KNQ1mIS5hxSSFlT9HZpWlxPwvK5bitEy9uctIiouo9ltWWUrIziSJfF8SbWat\nJcQomG4EqzWFzSgr+Tnm4HGupa7ri697s9lewHytRdtaFPmqC12ra5dFLs7VSdL3PcMgWOU0DAzO\nkWVigVuWxPEkSfBFWTLNM9o5cmsIfmJZFvwsaeDGKDSKvpcAhU8fP6NwZJlnWWaOpwPzMlJXFUVu\nicFzc3eDtYZlCey7EaXhi3bL9faaN6/f8Xh/x/7+gWo+kcaJ/f091bZk9F6G6lkMAWfLqSYxLjPa\nZGA9arUY1k1NTYExUltytqEGP1KXGVVZsGtaupdnmrZlmjqKssT7yH4/EKKmrHLy8gadXVFVt6Ak\neYswsIye/bFn2265vrphnALl1pJttlJ9y4RCM+/vUVNiu71iel6Y55EYpJ/o6fEJbMb27g1EL3AS\nkIzm9HykMAfM+w1oQ1ltyMuS3S4j+cSyPtjyvODrD595fPqGGBM313fc3t7y+PxMW0vL5zzP7Pey\n1nrvwUDbtiglXUDO5uvDe8D7wPF4vMh+nHPUdU2MC13XARITmWXiXX+8f+DTpw+yTWWObdPy1Vdf\n0r55K06j05HD8WF1Ckkk33czCaZpRmu7CtVzyjKnH06rFCojhcg0+TU1aQ2YDpEUSoGB1jXf+4Bz\nUmqntWKzqfF+4vNniaIry5K2bVeyaebx8ZFxnHDOrvDCZiWa3O+uTtPEDOMVKCNd5EoKtJZFoW0F\nWYHLLc4K0aC11HpecDrkzUerywFkrcUqIYOKoqCupaojBE9KiAsok1FcyIkkuHtiDSYoiFFWORGP\ne0L4NhzgzOD5daJVSuHHia7vGY4dmRNMtClKiqJgipIeY1dbodZKAlFXUbDRTjInnUWv/dAoRVrF\nvKz4Y4wLXX+6iG/zLMO6HGsN4yhavaqStUowWfEYS32tiHeXlYW3VtjgruuwmSMsnvG059T1LEvE\nZmIPtNay3W5/QzOX55Ksk+LMNIm+b5omZu9ZQkClwOnwJAfz0JOSNP0p4yQY1hpO/YncOUyW0TQb\nrLYsQfHwsse5QFbUXL91vHaa0/FAXjfsXx4Zu0dC6DExoDOJnlviggkGFmljTCEJfItDkeOTxypH\nDJL8bZyE8laZo6xyen9iAQ7Hg0yJGspNw7a9JUYYl4mb2zt22yva2zuBd1JCDSOLn2jaLVpBmgeK\njdRzLLYQh5fWpARZvaUfn3Am4/bqmsPhhcEPzPPCz3/+CxSK7//+75O0k68NLENPvWsgh6QCCsgt\n/PD9V8zeczoeOXQHpmmgqSt+9L0vsSry+PyAXyZAc3V1g9FCvC0xrA9qgUaSMliTA4nuNFKW0LZb\nrnb1mskpwSBVVZDnJUopjsc9XX9gHCeuru4oipJhGJn8gnEWF6V2YkmBj/cPlE3D7etXzEHkXt1p\nWLFKt96TgaKQa9b7hXEcOBxeqJucsfekGKlva5Q2pCIxDiOPT0e60wltNWVers2ZjmmaqesaEDIu\nxPFyXy9eMMrDfuR4eEFrzaHr6LueLHe4cofNc0ku8zMYTZP/jq7n169v8VNkGkeiTwyLx6sBHcRW\nZs25qyOuU1Ip4vXsnA+YrSkt7nJTn2/wlL4jDVq+c0iZ6mL9OjtYRK8JWtnV52xpmoYQI6dOBL/S\nsLdcIIGzjCHpRNAiV9puWvJM8J8lSHXo9fZaLtKUmGbP6XhAK2Es86ykbRpJYylyAqITDCs84MMC\nIaDVWZs5X1b9GCPTNNB1i4Dn68SrteF06pimiboqGMZBNG3GMPtZ+sankaEfsCv7b5xcAn6eVjxH\nft6z/XKz2aCUtA6e8VMFDONpxTRXPawPjOPE6fiMso5p8VxVLTEEnl+eKd+8Is8ykYFUjt3VNWVV\nUxWVuFNmzzCd6PYPnA5PEEautjt+8O57DO+/Ii2a//ThF8TjC/M8UBYFyzzQjyNLWr83ZQlrMM3p\ndKTcVORFQYqRXFUoq8iNwSlDSgshKRIZ9W4DStFsdnz1/d8nRkVV1fT9kdevXrPZ7uSzAsZhZPHS\nVomC2jn8KORDkWmMyUg6kdSEMRuGx4+kceLr0wOzX7hqS5bVgRWXSFVXzLOnRLIG5tOe51/+Bdu2\nwm4qYZpVYNuUlOYGH0fKMqOdpRRPA3nm+FvF3+Lnv7B8un/k+fmB7XZLntfEGKiKkjyXNVyj6XyP\nTopm2+C0Y1p7hGT6i4Q4k+ctLjP4ZeCwP/L49CAxcC6jyItLy+XpdKTdbMgyx+l0knzL4+kCB4ht\n1zJ0vRSs5Rlx7VgaZ4VZZpZl4nQ6CEz1QaIIt1c7bGkoixLWskDnMvK8pG7KNekrokIU6G6Wa1v+\nTrvKCAPWZWLVVIa2btBGcX3zCpc7zJpBavMMozUhCsxQFL+jh+btF28osoKnw4n7j585PA1inTMZ\ntXOitUSBVpRlQdPWWJPjMnVJoAYuZv8zmaNUuuiyzuvH+d/PLpUzYXLGGF1WkBc5i5/x80yWFeRG\nrViIsLQ2Ly4+2XEYGIee66trEQMXcmANg3xogx9YDp7MKqyCpC3d6cTz8wtfvntLXVXkRUnbbDge\nj2RFQZY7lJak6a7vpZaBCEmmzvOheT70x3lmGAaaprlINc42TWM0p+6E956Hhwe0MXTTwDgMWG0w\nSuOXBd+dVhVBlCoKl6NJGCsuisPhcCGszsnd54fUsixM034lnOB4OrDfH3h8fKSpa3RuMVGRVSW3\nuxs2my1ZkbFta3a7G6pmR1GWGCX95C5z+JAzY3DGsn/uUcuCWvbUu3coVfLV997xfN+ilUiI5smj\nD88s9585hYVpWfAexmmW6LbZc4onMSNME0VdUDStuE8Kmdqb4payraiqkvfv39O0Ow7HA8vKwFq7\nXmtKrrslLmirxGmVF1BvMCiKyRPTQAgDOiSUySHNBDxZ2XJX1fzk3/xb/NzS9z37/Z6rZkOe5/ix\no1x6lMk4PN8L4280b5XDKo1KnqvrLb/65SPT2K2rbCl/1ntUSmy3G7Kywv3VL3h6+sinTz273Q0x\nBjZNQ5ZZ6rrmuD/il4XH+ZFpmWSbsIa+P7E/CN44jtJL3zTthTQ5HjsUllevdmts2+OKIeZkueCm\n0zRR1xUhRP7kT/6EP/3TP+XHP/4x0+zpxp4iL4h9T4wzeZ5d/h5JaNe0zQ0xCRmaVTmH08Tj05FN\nXVJVFW1b0TQVXXciRqjrnM2mxdiceJZbxcg4S47mVbMVuWCKLOtkq5VaO+DNqj6R7M5IosxzMZro\n39H1XCmDczk3NyUQ0FnkeFAEH7E6J6LJy5zd5opms6XZNOTrSnp2qyzf0VOF4MkywS+/i/mdRbtn\nnPIcTHHWgInk50heOPIiByVumRDkSSZhxoFc2YuXGkRcneKCHwdZ0+O0Jr60zPNI13e87F94fHkG\nlRj6kbKocHm5WiYTrnBUqabrexILeV7Q1jVxmXl4eJQbNSvIigKz2slUFAD/bJ2c5/miH1XKsN1u\nsVYzjsI4ZllGUorKVGItMxY/ewY/oUlkRhK5+yUyDEeybOLq+oZN26JJJKU5nU6Xaf6svRzGQdjK\nUf6LLWYlAAAgAElEQVTex+dH9t2Rp+cXulNHXhTYt2+otwVX11dc7XZCQOUFxlqsSVS5BNs27ZaY\nFK4UVn3MwcQFtZwYDs8Mx4GivmbRkbjk6GILNuLMQomimwbSwwt+karaFCMPj5+wx4If/eAHl/Vc\no1j8zDAPlM0NeVniikxcTVkOSjP0A8EvzCHgQyIc9lSbjYRIjKO0hxqHcQU6q0jWkrRDZS1qGVB6\nQesKEPIjb24ZP3/i48NHvDb8xV/8nM/396QFfBE49Cc2w8j8/Mi8eA4PnxiXhTSOPPz6F+yu3+CH\nPb4/cjj0EjOnxBhxtuFaZ9iUW66tRanv86tfOT5//rhKdfI1/s1TlusDMATGeeZl/0K9afneF1/g\n/czxuGcYOmL0zLPn/v4TXdfTdT3eB65217zs7/n6m18SI7y6e8ubN29Y/MTj0yOn0wHnpNI4z3NO\npxN/+pOfiHTKWdqqxqCwTkNYyLIKm+cUdbtWZGjyvOTq6gprHX3fryVv35JFz8/PWFtRNzkQ6YaZ\nrLAUNqNtM1giWbkQl0hW5NLSmTkSCa3MCi8FhtXtpKORBCStUTERU2T5b2iOfntEECXeG3Kn2VXX\nGBzzkMCBI2e33XF7fcP17jW77YaiynBOHB7nKfNcFTqvnuez1quu68t0dsZQzj7Yc9/JOS2nKKTD\nZp7nNSDArL0yE33X4WfJGYwhMa9C7127ZZwGrHPc3tzIwTVJEnSWiYD4ZneLyRzH7shf//WvCDGi\njOXj/Wc2VcGXX30PgHfvvyCEwK9+/Us+3X/kkOUoJG1GaU3V1CTiRQTfdT1aq8vPcy7SynPBrE6n\nwwWOOE/ZMSUqJ1FZcQmkCjI/s/hAXdcEv1A3JcfjccV2Bcaoqopp9pfAYRAm0ntPdxrI85xpnOjH\ngY+fvuHjxw88Pwhb3jQbumGmaXbcXr+T99UPhJTT9x1h8fh55vr6GpcLARaOnqurW+Yiw6RI/+J5\n+viRcd7zVXVDCIldozF5ZAolKRNFRGYbrOlYgidFD1EIDJc5SQxfN4+4RGydUVUtZV3LgzfEi99e\n4sImqcXNHE1TrVCIhF/0/cD13Q1125JcQTQWyTQya15mJcFF0YCW4GVtMvy8sH945Pj4wsPXT0yn\nWeqf/cKnrx+wtuB0OrI/nHh5fqRwjrhpef7FZ54//CeywnA49Rhtubq55tgdmH2gbVuOxyMpKZ6f\nn8St07a8e/fFKsEZaZqKupRJLYRAls3cvXmDyzJeDns+P9zz/ov3tM12TVAf8T6QkmaaPMMwApqq\nkoHl5WV/SYoqy5LNZosxihjF5eX9xDDMNI0EbvR9j1v7fbz3LGFhiZolaMl1tTlX17dkWcbxKH71\nh4cHlFK8evWKqqp4eXlcZXuSYVpWFU1VMS+yyjvn1i3KsqkacqtghY1iCMyT3D/F6oTqlxHnrGQQ\nnE7UZUVd1+R5Ljbk/0Yu+2/t0AxpISKgeZFXWFUS3xZM/YlaVby5e82ruy9oipq8EEYanyBPl7gr\n1oiqM3N+tvJ1XXfxp54tYdLaV14sW8B6EUly+tlNsXgpp1rWN9yt2KpKkXkQkWy9tby+vcNZtx5u\n8gEPw8DD4yPv33/Fm7tXUkZvv+TVq9c8PT0xzJ77h88kXbLZbkgxsd/vGaeBh4fPgjkaReYKwHA6\nndgfXyTZPROc5RzY0TTNd6AGuaG/G+R6tn5m1jJ7z9j1qAQYOYjbrCYlzdiPnDpJuznfCCmxlmFJ\nx1CxrjIXC6XWXF1dMa0Ppbws0MawaVv2N0JSkBJN3bDEiePpEaVE8L4sHhY4HY9U1bhiX0qmmWmi\ndBZlSurtDj8e+PXHT2TFDbbaoSyyEptIlVXERRN9pCsjKd2vm4NnXiJFWWKz7BKUa4zh1d0rnJMY\nM6Mcr17dkGc5Smu600BTx7MLlTwX1Ua2BleUVS3/zCrCojDOkDAoVZEQuCAlSbVHF4A4epIzfNg/\n8f/+2/+PD998IKCJfqQuSmY/cBr2fHr6mqou2DQ1db2lbAQuaOoaP0387K//gk/ffObv/Ph/pe8l\niKZpNlxdXVMUBT/7iz9fRd0DTdNye/uat29fs9+/YIzhZb8X4s9avvjiC169fo1fAtoaxmXhl7/8\nFdYYnLPU1Q6tBfcOiyZGzTh2PD4+StRaVWDXPM2UEsfjYb0XDX5OzD6gtSXPhRG/3l1T5jVFVZGX\nBdPipWFg9my312SZoyqrS16rQFzfJg8NQ8fT88PFw+6co2l3XO+uuHr9BaeXPX/585+hSbRNy+Hl\nhbZpycqC4CUYORAxxooJZjkHWK/KGaSl4BwbR0qc1nrj/9rrt3Zo3t8/sGkmRruKzzG0141UQsSG\nXXvDtmkotCUCfpRwglIlZtZCpzVXkRDxa4rJsiwoo4khUq/OlHPIhjFu9UBbskyCMJTSoq1MC2kJ\n4EXCEpcAfrm4hwCqoiTGhDUZuStYQqAbeqq8FDfOSshkmcUVEiwQxgmrNTdXUk5XOccw9Nx/vuf2\nassSPC+Pj8z9RLbKOwCU8gyjIgTNPC8CboeFLJfq3yWIHVBSXixl5ZjnhXx195wTZMqy4unpiaKU\nySMlOB06rBV87qwiyPNMCLAQmfyCKwumcea0P2KMpWkqxphEYO69YHda46yWpKNXd1xvNyxfLKtJ\nQDJGq7IUW+QkkpAQ5b3U2nDqO0IUIXzhMtQKxGtt0NuWvN+RFa/44d/+3zDlTpLZ2walZNKeiUSX\noQqLBzSWmAL9OEiuwBLopxlrxVgQ47zqV8WWmzl5EDlrOa4Gg3zTYLFYZRiGgWzNHd1sr6QzaehZ\nlomca3S5Idll7UDSoC1nhV+CNagEfvQH/zv/6ee/4jQOtE0tU/cyMQ4dJlP0/Yk8y9nubri9ueUc\n5qu1JS8L6sctX35ZUa5OnKquIEV+/eGXQpLmJWFJtM2WLMvoTh1FUXFzcydSo6IQm2nV8vbNe77+\n5gP3j4/c3d7yvbfvOBz2F8hrGAbpVHp3zevXr3l4eOSbbz6SuQ7nrEz722vubl9dwjPOYRq3t6+p\n65qqKlf5kl8HHHNJOPLe03Un3Natw4oEs3x4/MA0DRgDr169pmkaGWJmj06ah8+P2Czj/Zc/4G53\nR9k2GOeot81ls+ymkeADjAPVGqtY6vKSraCNYVomdNBkuRB2LneMU8fz45MMNGnC9/8DbZT/M1+/\n/tUHmjpDZZYyL6jKkqooyLSjqm/RFgkpjp558sR1/XaZ/U6auWiqtDWYFEkhkrmMMs8l629Vult3\nnhYDmdMoDGktcwshMg+C26QkB3BcPOM8SYHbGk+V5zm3t7frwRLYv+zp+452u6GwGeM4UlQlN19+\neak0PtvSxnHk4eFhLbOqMKZmGgY+r/0q4zhSlRLndr7Y4FtJlbgwugvpdXZInH/+cxqMnwO6lYi8\ntt3S9z3eL7jVH332rc+zZBNaZ3nz5i0g/eJCei1opfGTQBhXV7sLC5pXMoV2XUffC9t6PnSLorh8\n3+ccRFSJ0VZY+FamfT/NaGfxi6fdNChk4o+sh6VWGKvJ7RV9deQP/u7/waQMZbtBWYXSGWVRofTA\ndDqt33Mizxv6IfD80l1i82JMKxar6fuB4/GItQLhVGugsjESfgFwGnpcnZM7R54bCu1gncBimFkW\nRVoWMpOhokYKdQORhcXPZKYkGSUh08ikJOk+G/7P/+v/5u2rK37603+HsYbr7Fp0kJmlKmtubm7X\nJPSSw+GF4/F4iUu72l5T1xXGaKbZo5VmGEWQvt/v2bTXK+Qkh1TbtlRlKY4aIh8/9WilKeuKx+dH\nbK7ZXskWMA/xAvecw6oBHh+fmaYB0Lx69YpxnMgykQVuNpsVd5TjQ1Lly4uape+7i5nj7LRLKXE6\nyQR37j4XJ5D0FMUkxpKX/QvHriOzlqauiSHyV3/1V2RZxve/9z22Vxv6sWcYOlh10K+ubjl2B+7v\nH9i/vNDnZ9jKrCYSe7FRyv3rmWfhIEC63vcvjyRlJfvgdzWEeH88Mc2iQSNIjG/b5Hz55gdE84qX\npyd0DNRFBepb50BdVaJnRMI2Fu/JraMtC+k39h5rDFldSTXEPF1shHrtdRbyZLhE5KdVxmNWvLTM\nC7nZMs1ut7vIm25ubnDO8eHrD8zBU9QVZZXTHU7c3N5we3vLw8MDnz59wlnL/f092VoS9e7de4wx\n3N/fr/F0E3lmKcpC+kvSt7UN5ylRGSFhznCEtZaqqhnHkTybmP18CWfV2pDl2XphavHTTtMlmV0c\nPmnFRIUQOHXdhXk/43bLEvh0/0jbtmw3rUxhxz3GODJbgIKizDBWoddE7XntlT7fKMMwrCYCdZF8\nnQ/9LMvwSSo/vPegFJlzPD0+sWlb+To2IyxQb2+ZZoULkWgUS4gok+gmcVAtYSEsC8M4EJWlGxf2\nh46uFwunwDBiebXW8fLygtbuO5mNEa3lgPzVr555/fYNGsU8e2bnycqC3Dlub28pXM43H37Nq1ev\nsFVNyguCtuhkUWnGkljmIyrP0bpcxVmyyQTv+cu/+DPmZWK33RFTZJonbm9uL9iftW69iRXb7U7M\nA9rQHY9kdg3sjoq5H3jqj4yr26wsK3G+5Tmn0/Hi4ImLvDcxRNp2Szf03D/c83R4pMxzkZut3u5z\nXsHNzc3l2pOHsagHzBpLaKylyHOqqryQqPMsB/X5ofndjNdL1cmykGVO+n6MkaSjxfPpc4fWSmSH\nMbHbXTFOE4fjI6fF8/z8QJFJJuayBP7sz/4jP/Q/4u76ltNpz+H5hbKsKeoKZwwWRZ45lEo8PT1y\nf/9A359omoa2bWnblqcnh1KGzWazev6lffLNmx+Q5zKV+rj8F06sb1+/tUMzTp7oEqV2LICfF44v\nPeE24pXnef+AX2bu7u5oqwbjDNoq1BpSEFPA++VCWFT5ObjiW7wyLAvjMBBmKas/J8HM87eHTYzL\nmh5UsiyR56cnttutTK1VQZ6L62IYBu7v7+WA8UK01GVF6XJCLvjfsizs93uO+z3v3r1DAc9Pj/Rj\nj3WaqqrWsFa5AH0MTMcjLpPDuluxRa01TV2vpU8JZw2PDwL03968wmhL22zWFKRpFSHnjOPEp0+f\neX5+pq4ltm0YJo7HDpd7hmGgO57ouo43b94wjxOHNT6r7wf2LzIJhKVj/zwyDSdcVjL7QAhHUIrd\nVmpJhn68HPLnGLGzjEOcHhNdf6IsKspyxNiMdp34UcJi+7Xcarfd8vXXXzMOA+/fv6O2goe5rES7\ngnaT0w8Dv/jFL/nxj/8XdNSXz88vC90wsz88S8p9DGuOPr8RzuL9zPF05Pvf/6GErxQFIUWeXp65\n2u1YYpAwZW0ZhxG9zfnw4QNX2x13r19jrq/45k/+hKrOuaozlNuArlEklrEnxp6suiElK7imAtZl\n/bR/xk8vDHMvkJFWtHrL8bBnHEf+3t/7eyil0Vrx8rJH0v2hH0aWxXM8dvTDns2mpa52GJuhF79i\nc4oQFowRn/iZBBzXg+v29pab3Ya//cVb/uOf/5Rjd2QaF6Zhkv4nH3jz5s3qmCmwVrHf79e+c4GL\nlBLr7bHvsNrwZfkeQDDecg2RXhsGnHMiL8vkIXU4HJimidPpRFmKGaIfB5pGjCfjMKOSyNuGoefN\nmy949+Y14zjwk5/8hIfPz6T1QZc7xy9/8SuOTy8ENRPnyDB5nv/6F9zdvYIgfEc/dMzzxPX1Ne/e\nvUcptfIC2SUrFmRj894zTmInPnvp+R9xBI3jyD/4B/9AXB/zzD/5J/+EP/qjP+Kf/tN/yj//5/+c\nu7s7AP7ZP/tn/ON//I8B+KM/+iP+xb/4Fxhj+OM//mP+0T/6R//Fr711mrKwuCJn6AaMsWzaKyqX\nEyaxsXn/LIxgVYuX1lqWMBMneRKcw3q994zr0yuFQHc8Mq3s+TRNK3Ypk+l5tT8HG1xf3VDkBVlZ\nrFpISTmXJ+S8kkPzWoCmLqvnmW0V3+8J75dLK19elnz6/HmdAIWgenp64v7zPfMc1sNGQhXOhNVZ\noH6OwBI8LefVKwmPuLm5pShyhkH8u0rpdT17YbPdcrXbkWU5N9evKIpa6n/XiLePnz6JBU4rXOb4\nYvvF6sO1F6PAm6YhIgkz83THOApB9Pj0dLF4mtWOejgcLqVa54MzrK2G3yXmmqYlc7LCo8xlXSIo\nxnFgHAdubmTyff/+PX/5Zz8jRiHy8jzj3NEdY2C32eKMY/+yX22PE1M/4OeZcZrZn07s93vJN13r\nD7RWFzIwxsD33nzJZtNeDvTT+tm1bcvt7a0c9uNEkeckIl9//TWvX7+GmIjHE2VVULcbIk6cQHRA\nJg9BJV09KCWw0OWV+PjNB/Yvz0zLjO8n2m1LW1WMQ09d17y8vFDXzSV/IMZA3w9SgUIJaG5vb9bM\nR3kQvLp7cwmdUEq2haIoePv27cXkMIwDc4h87/aGjx++4fF5j19mdu2W7//w9/iBgo8fP7IsC5vN\nhjdv3lw2quPxxDgOa2NnxGWKq2shnmJKxJU/cM5dAmnOao55ni+xh+dfy/NixdQThXXsH17QCsq6\nBqUvyUn/4T/8e1KSMPG62XB995ppUdRVvUICmrE/8vL8hLKJrNjwt7/8PkqLPLDveqyzvH4t70MM\nCevMeg5IWZ84D2UzatsW6/K1PG8hKng5Pv/3H5pFUfCv/tW/oqpEgvL3//7f51//63+NUoo//MM/\n5A//8A9/4/f/9Kc/5V/+y3/JT3/6Uz58+MA//If/kJ/97GcXnOS7rzc/ekvegDGOeUqM0wiqZEgL\n0zwzLwmtLNM4ixxlWSSS30BKatWDWbS2DOPAab9nXDxLiujIhQwBVmY9XjCXb+1b4mm11uGsHFbb\n7Xb1Zce13znhsgzvA09Pn/m93/t9irygH3oOhwNlVnBADq8YE2VZSBJLWBjGkc2mZbvdroeLoqqy\ni9wJIpvNBq0Vx6P4bZumYZ5nPn/+TJ4X5FnB1dUVV1c7jsfjJWjEGFa/uGPsRn59+oaskPqIZQ4c\n/AmXOeZpYrvdrO2AmnHomceJcVoL1Yzl7u7uEq2lV51qDIHD4UCzaTgeO8ZpYleVon2rK6zRssau\nDPrGbSTCbmXxf6P50Gpenp5JUfCsQiv68URbNSyL5/l5L2RNW7N/OdBuRB4jSeAFz4cnUJof/ugH\nfPPNRxLQHY90vYiuHx4+8+HD1+wPB0DjjMVmmbR+rnmikrLTMk0yifXDwDB2fPXVe0CtUWJmfU8M\nQ9dTFDmbdovRBlxGXZfkRUVwBUnFy0SLUszDTFGumZiSvS7/PyW+/8Pv8x/+zf/Dp4dPfPn+e7KS\nVzXvq3KtghBNYoiBzWZLdxpXaCNQ5Bk3t3cUecniPc8vj8QI87yg0KClkgQFxlg+fPhAWdacTife\nvXtHXpR8/eEj33z8wNu3b8iLDIJe8dKM6+sbwiITq9GGxZ+j+ypOxx6FpW4l5tBHCZeeh7VqIsbf\ncKqdpX9nmZ8Et0yrplqMH8fjkVPXX/Jhn08dh8OB3Xa7Sqa2lEWDMiBd6ye2t6/Z7bY8PT5xtd2x\nBENQRqbL6Ng2t1inuX/8mru7W1K6FeXJy4GmbJnDxOl4RGnDZiNe/M2mvUBeZwWKGEQSN9ur//5D\nE6QnmP+/vTONsfQq7/zv3de719a1uKvc7sXddrqbWJiJNCLBMv4QcDKDlAmMDBJBIyHlQyIURXwg\n0XyIDYlQFCJFijSJBJmJYBSNFESACRqwcGRmIKaB2J0Eu6nGtXUtd7/vvpz5cN57bSdgjYPcnrTv\n/5O7qlz3PVW3nnPO8/wXmO0erZb8hj+Ky/SXf/mXvPe978UwDDY3N7nnnnv45je/ydve9rZ/9rWL\nW4tQCtJcIKwCPXLRCw1TMUizDFWzcXQDDUEax0SViqfUpxJISRGaTELyvJhRf1zXkxPP6sQx3bnz\nPJ2djmSPUNpGaYpGHGfs7r9Io9nCUA10XcMw7KpQTXBdj8XFJRYXF+U1MoxI04h6q06Sg6opqJpM\nYQZkVo6qIHQVNA3XsaTyyFBknEWW0Gw0MAz5S0vTHFDodDo4jgz08jyHNMkwNJkfs7e7S6/fl62D\nsqRZ8zF0Dcdz0XSdIs3Jk5SQiKN+j3ASsLqyjOM4LC0tSR/GyYRIFGiGSrPVlAFbtoWmKRwfH7K2\nvibDqLKCNEmhLKXSqlQwVZnWs7KwSFCpjWzdhKLErsxLdEXFNS1UTSWKYylzw0JRwbJ0+qMuYTLB\nUBWKPGdpeZnWJEAzjjE0CJIx/fEQzVpHrVQdUmig0OsOqNV9gjTi5s2bmJrN4fEtgijk75+7zuHh\nPmmWUhY5mqljWtJkNsvLyqZMYzRMWFz0yIocVQgc28Vzahz3jlE1DcPUSdKI0jChOnWXoiArMyxd\nQzdN0iLG0CxIUhRNA8UAU0X3bMpogrAtNLWOIgqEokGZIKIJrfYCt05u4Xk2/d4J0WSCaeqoik6k\nV3+8qo7wXRRF4PsuigppGmNpWjWE0cny2ox/W1SeqVJmbGG7tjwhRhFbd22ioFAIwd7uHqe37iaK\nYxp+YxZp8o//+A84jixUmia9D+qNBoICTVdZXOrMNvJOpyNFDoDnurPe6VQpNhoNXxFNkef5zBRm\nyhmeDmNazSaWbeF5/ks867KkLIvq5qXTaNQpy5JGvY6uWHi6Q211TQ5KhYpheAwnI6I4JAhPKPKc\n5559FkVR2Ni8G89xEWXBsD+k3mphWVL22e+NKMqEXq+H53kcHh4SRBMajQau69BudzBN45/Vq9dU\nNMuy5C1veQs3btzgwx/+MJcuXeIv/uIv+MM//EM+85nP8MADD/DJT36SZrPJ/v7+Kwrk+vo6e3t7\nP/obFwplWmCqKkqpkedQMxyMUpN5OQDVtS+O5S7l1XyKQiEIEuI4qBrOBaKUsjbPdWchTi+3zIdy\nxtecksKnV2tDN9BUDdev0e33MVA5dWoVVZX8LTllVRkMhhwdHRKEkbyOmRpZJk/Bg8EQ3/VRFaSP\npBC4nosqZG9JKnxOZn0VebIcyZ04ilFUBcsyZ30fyRkNKXJBkkykebCi4tebmI6DgiApCkRO5QSl\noZYKlqYjNDi1uMzIkiRkqYgSM+9Cmb8iLcN0VUU3DZI4ZnNrc0Y7qdXrpGmGaTu0SsHaqmzV9AcD\nut2TKsTNJo5iGna98izMZ7u3HATJDawsBGVekFJgmToH+wcMqudKspQkTVjsdKh7HoZpsvPijnxt\nw3wp4EqBLEsZjV2G/Yh+f0KR9tjZf5GbOy8SBmMMS3qT6qaL0JDZ1aWCaWsomo1pGNRrPmE0YTwe\noGoqnuszGA2J0gyBDJBrN5uYpjFjGARV4JiuG/iOx8lxj1auoikCVGlCoqgm6ThCVwuyCXgLDqgG\neTpCIyLJQu4+fZrhZECWFdTqTRm4Z+g4tidpcFUkbxznNOpt0jyVw47RkDwfYJ9InqTvS8ZBXhb4\njoxDcVyXRr1eOfbYjMdjklSuJ8tLTp8+XWWlK2TpVEWncPXqW6Q8UpV2hMdHR+R5Vskk+7iuR6fT\nIc8z9vb2XsroqVo7qqrOONHyZ5bOhoLyNvRKcx0hBPV6g2nW1tRVo16rzXrUpmnNLA+n3OAoTEn6\nJ9i2hW7o5GXE8cGLmK5NnKQcTvZo1OtsbZ0hTiI838ZQocgEuiYQRS75vQg52dehXvfk4amKvuj1\nBogSwnCf/f2dn6xoqqrKd77zHYbDIY888ghPPvkkH/7wh/mt3/otAD72sY/xkY98hD/5kz/5kf//\nlOP4TzE8OMEoFTTboshV0kFIpsa0G4sYrklZOedkVRaP3LUEmipVPZNJIE+WTk32UyydaUjYNJ9G\natDFTCNrWZYMiE9ShsMRWZbRbNSp12vEJzFFWrCxtkKWptiOVUU6NOh2T8gyWbw93yVJUyZhRF6U\nlFlGp9NB1wyCSYCCilcVvna9jqAkiMKZRdeU21YUBWEgaQ9mFXCVxBlBEc122yiJSfOcRqNBrVbD\nsixGozH9fg9d19na2iKKItIkJs4KDFW66+i6hm2Z5IW085q2Kaamq9P/Nj0HTYVGwyeOYwYDOTxo\n3tOSU99CzHTmQggajQaqptLtdqnX/Zn/sWlq2LaHqsqTmm3XsSs3KU1RsEyHuIjJ8pjlxTa94YgX\nX3yRfv+Ek94RC50lXNOVvc4kYjKOcF2/YjokZGQIBUxdIwozjm7tQ5kwDkJEkeN5LqapowCqrmO6\nkhNIKR2vDFNm51BmFEXK0fGR5KaaNmUJSZ4xmYzwaz6OY6GMod8fMBgN6PZ60tg4maCbLkEYkWeH\nMi7athGKwDYddnYPGE4GGKbGVq7QXt1ClBl5FCCyGMs0+Jm3/QxRGGLZLkE0piykiKJm1Wg2m9Sa\ndbpHR7iuQzYaUq+3WT91F25Dtj7GgwFJktDpLKBUzAVT18mKlF6vh2mas+GL63mYrs25s3cz6PUY\nDeR8oFFvUqs1ZZ9fVXGciGAyQjc0VldXGQwGFEXB5uYWw+GwGuzU8Dwfy7bpdruVc5daiRKMqhiF\nM8+H6aFF0+RAT3p0LjAcDmfSXmDm4yl9YOXpWc5Pplf6HNt2KQuI4ohBP8C2LKLxiHrDp9XpoKoq\n7UaDtNoM4lSG6UVBUPVbR+RijPey/KHd3X06nZizZ89y7uw5xpMQXdfZ39+nLAu2tu7+yYrmFI1G\ng5//+Z/nb//2b/nZn/3Z2cc/9KEP8e53vxuAtbU1dnZeqtK7u7usra39yO937W9uIBRVEmkXa9h1\njTITOK6Pm9tkSUoqBGYU4ft16cdYKhiG/KW4nqRpOI5DHMfEYUhncVG60wTR7A9+agRclvKXJF2A\n5IDIceRkuNuTxhMbq6uziVqSxBRlzvGx3OEkoTqu9Oc5WZyBphKnMVm/wDJN8qwEpcSw61iqVQ2I\nspmfp+yzyo2gLEDVYHVthTiSlIt63ZmpHjRNoxCG7HPVfExTFvzxZIzt2CwtLhEEAVE8kXZnjbLz\n7sQAABS1SURBVBq6rkoFi23LgZMQuGHIYNgjSiJsx6LpN/B9D+nKLY2Iy6IAzcR0StIg4PvPP08Y\nRTiOg2NLCWWjVZdOR0qJZRn0ej35eqY9k1aapkK9Jk+XSZRyeHjIxUvnKUWOnlk4VhNF1+h02tx7\nZou8FPT6PQajIZNxwGgSUYiCW91baF0Nrer76rbJcDRmMplI8reuYFpNNNuh1miiaCpZFuPXfFaW\nV1CQPNM0TUiLrIoCKSkKkxLoj4YkYUhZyJz7JAmJwwiv0SAMYrI4xTQMSlRe3NklL0tcQwNVY39v\nn87yAnla4Dg2QihMJmPiOEEoGpPxkCSKuU8rCcMJaZzS9F1M10EANc/BshxMFZIsI8sFmq6Q5zGj\nXopjW9ju1LFqQJJGHP9A+lGORiMcx+HGD27gux71Wo3dg1s4tk1vMsJxfZr1Fo7lUQppuNvvnlDz\nfY4ODyjCEsd1GQdjPNcDkaOoKfVGnfF4VFGBcpIoZtTvM5lMuP7ss+iGhuO61Gr1WR78dFLf7fbI\n85x2u0Wz2azaeQJNk5zkvb09dnd3uX79OisrK6ysrCCEYDAYYFnWLMq3yEtM06Ld8un2jmQsRhCR\neQWqpaHbBn7TZzQaozkOHiqW4Ujp61jGbsdxTDAZg6LSPTzk+LjHoD/E8W2WlpZYXj7F5uYmF+49\nx83tHX5w44eS9O85/MML2/zvb13D8zx5S3kVKOJVhJYnJyfouk6zKdUsjzzyCL/927/NpUuXWFlZ\nAeD3f//3+da3vsWf//mfc/36dd73vvfxzW9+czYIeuGFF/7ZaVNRFK5eWiDVdDQ1RzEVUAWuarG5\ndjdtp0MqMur1Jq1ag1ajKRv0ponnWnIwk6YkaVpZ4kvS6vQUN3ULn8bHyqFEWcUeSFPT6UDF932C\nIKDRaOC40lBYVTR0XZ15WiqKMitmYSgLpygzDMsgy3PCIKh2SkGaTknhrdkpuSikxjsMQ05OTrDM\nqs9IIbOGFANDN0krLf2U/Nvt98mynHa7TSkERSn9ESVkw73daZGmsoFt6Ua1liZJlnHSPal06dK2\nazQaInIZcFZvNKS5bCG1vOPxGKFKXX7veMBoOKbVanJ6c4NTp5akd2LF+5TXyITvf//7tNttZK67\nh2XZGLo0k+73huztHXDu/BatVh2lmp6HYUiSxNTrTbIslSeCKsZY6CaObUu/yLHspcVRTElOWcL+\n3i2iOGJpeRnTMMgpEaWkmUXjCXt7u7TbbU6dOgVIR/lS00mSSMbyxgV5npGkUUWDCTBUg16/S5RE\naKpBGIU4tsvq0jLNepMomtBaaEvKlF9nMOwhKPFcl3q9gedIAxbdMFjfWKXdWqIsBa4rSfR5lpLG\nGVmZS1MZTWYCaZpOXoLjyGKUZtKYOE3SSmUj7fjyXA7EkiSlVqsxGAzY3d3Fc10Wmm3JsjDl4HEw\nHmHbNqurp0jTlBs3trEdm7P3nGEykUyBhYUFoODw8JAkkX4LyyunCIOQZ555RrYiTJ1mo0UYBtx1\n12nCMGU87KNoAsOQUcZxHFNWrTPTNKvY3+rmZBocHR1Tq9XJM8luGQzl9bfRaMiN15ZtIsexGfQl\nXcwwTYosmzn5D4cTlheXeebb/4fzF+4lCkMG/T7Li4uMRgPKEilQETJosD8cyBtRrUGWFZimg2Xb\nLHTaNBsNms0mL9y4wXg0YmNjA1XV6Pd7CKWQ6tdqeOl5Hm99x7//sRr0Vz1pHhwc8IEPfGBWYB57\n7DEeeugh3v/+9/Od73wHRVHY2trij//4jwG4ePEiv/RLv8TFixfRdZ0/+qM/+rHX8zCrMskNDQdF\n2u8LQZ6XaLrK+tK6lGRZNrbl4DkejuUgtIKkSm/UZnSSkigKCQJJT5k1yqveoDTx8BmPh7hujVpN\nXjENw5jZq/m+z2A4pLO4wEmvS6PekNfw0bDK9kkBBde12dvbp9mq4egOjuNWul2ZeOd5Jr1ej/F4\nTKfTQWZJyxPJzZ0D1ldPMRwGlWdnKonDQqm04/JnNXUUMg2DOJb5J8PRCEXVWFpqzXps04KMIsjS\nDMuQOvo8l9ng7XZjRgWR1mAOJ8cn2KZJs9mUlne6zBV3a4LDw0NqtRqnVttYtmQcBMGEOG4xmYTS\nsEQBRZH8vLvvPsPJybGcrGbZjN1QFPIk0em0WF5Z4Zlrf8dbLl+cTaeHwwHD4U021tfRmjWyqi9n\nVEoX21LQDQ/f9xhPSjTVI45TTp9eRVF09nZ3cdpt/FodpRSEcYSSF9y1cReOY+H7Mj42iiKEqqPr\nbcnJFZXbu6oShNJ0OUkzGa5m6Hiey3Ak7cXCQMol1/0NGWan6SRxRMdewLJs/MoVve54LCx2sG0P\nTbeYBAMc10RXBE/9zdO8/d/+G0ChbtewdIPxZDLzZjUrPwRQsA3zJRvCiqeqajrxJGQymWCaJtvb\n22iaxtbmJsF4Qppl9AZ9FpYW2TxzN8PhgJs3b3Jj+wf4nk+r1UJRBMfHJ6BIu8DReET3pMvKygqm\n4XJ0eIJAY2lxgUuXLkkjj/GEIi9ZaXZ4/sY2FBlLCwusb5zG9XxGowFFXhDnOb7vMx6PuXbtGvff\nfz9FUfDF//kN7rv3LCcnJ1y98tOMRgFRlFV/kyVZGpGnCadWVzk6PpJTa0WgqALP9+l1+5imxeLC\nAqPREN+v0T08Yn93j/2jW7Q6i3i1OrW6PxNkLK+t01hYoOZLgUSeFdTrTdI4IYrkoebo6Ajf8xCl\nnMrXfJ+lpSXCKKRW96WjkmnQHwxerSy++knz9YKiKJy9ryG5kqqOqkqChqtrXDh9gbtOn2G9s1pZ\nvKlSgaLJAhmGMt7Td1yEKv0wNU2dWdpPdclBECCKEsd2qNfrDAYDdMvAcWwcx2UwGGCa0nFH9kKl\nEsSy7VkzW0EOogxNq2z0pXFvmmdYtkmr1aIoyuqNJzi1eqq62mez06uCwKoiND7z3/+K//Dv3kme\nQxgG2I6FIgS2ZaNqKqMgRFU1mYUiAEX+ca+srJAXBYYpd2d5QpUFtihkYmVcxZ6qKtXVKauu+Wol\np3yJMzeNDC6zHN+X/bIsTZERvDmmacnTqyJjUGu1Gp5XI8sjhCgwDAsFjShK2d7eZmlpgaLIK1MH\nj6OjExQFao06a6vL/LfPfYFf/U//kaIsqujiHBmRLKe7eSl3evKMJE6lLlhAEAbouoJluoxGEzld\njXMKSoIgYG1tjSAI6HW7IBQsW/a7a7WaNF5OY0oU2XsUkJclAkGRFzJgTjdpt9ugarNJeZ6nFFmG\noRtQpZnGUQIls/eY79dwbJtms0m/35e8zhKai0v0eodEkzGdZptP/Zf/yn/+2EfBdtDSALUsSfMS\nXVEQiiJjjwvpoqQgA/lUVWM4GFCUObppYJjSeUdVVVRFkrJty2Q0HKBouixyg151xS3Icpl1vrq6\nymQ0JkkixkGE63qsrp/iH/7+OUajgPZCh431DTRFI02iio6nMRwNiJIEIVSWV5bZ39shSzLCioJ1\n18YmJSmWaZGlCXlWMAkCbt68OaMf/Y+/+l985Fc/RLfbw3EcVpaXGY7GaJpBv9fF81wGvZ60tdM1\nXN9mOBxQZAWKqlCictztcXrzbmmVWEpHs4V2mx/u7mO7HgiFTqdFs9GWswJdpds9YjTsU+YyXtg0\nDO7a3OL45BgA13E4PDzEsm2yNGV5eZlSCIIwpFZvoKgq29vbWJbBw49+4F920nw9IXR5ygSBKKTf\nZL21xOm1Le5ZOY1bd9Ffpq3WNJ1wPCGvNOhJkhAmEXEczwYl04IZhhF5Lh2MVEPn4OiQJElYtBdJ\n05w0HVZX+YQwnFTZKXLCfOtgf6b5XVhYJIoiojgmz2A0GWNZFkvLy9LZfTJBVZXqelWQphlHRyc0\nGvVZM9x2HZI4ks5BRUkUpViWJ/O8JxGqgDTJqDVquK6DYTtyQxCCsnwp3waUmaRS06X7TFnKKWYY\nBNVUXE78pS7doiiimRVeWZazdsuU8J2Uyex6VeYFk8mYZqOGYVozr8Y0zbjnnnvQdYMolgYUSZIB\nZaUx1smyHNe1pcoozVjotCnyArcuixfIZFABGJaJKeTQZjgaUSLwPGl2a3g2nqdUfD/ZXlE1SJN8\n1isbZTJlsLXQYTgYzKwAoWQwGOH7VV65qlIWAtd1CCaBbCvYNmtraxiGwXA4xLJMWu0Gw+GIosjJ\ny5I0D1EKmEQBqi7dx1uNJqZh0e50pMFyxRCwHIvT9bswdINBv8+ge4v+UZejky6L7VUMw8F06jJb\nqdBJ4zFJEtNqNiRNLo6q946K6zhkeY4QKq3FJcJwxGQyJsuLiucrebOKonDc7fPCC9/n/IVLdA+7\n2JbFwkKHZrPF0VEfr15nd++HxEnEufMX0DUpI93d+yHrd22gIBkmt24dMB7LALJWq0FWZLKdkOSc\nPn0WXbOp1Rs4ls2g1yOMQ3p9eUCYjCf4ns808nppaZmDg4OqlRdzeHjEysoKQTDhu3/3DO3WAr7f\noNluomsavYHCwfERq6trGHYLX5PMl6WFRXrdAVmm88Mb+9z/Uz/FxvoyQTimUW9g2XWyskCIovLa\nlMFrR0dHpHlOrdGh3zvBciy6xyf0B99j8+4tAJI058rVn+ao2yWOY+rtDnGSoJgmYRThui4bGxvs\n7+++au16w4pmreGh60BZEIcFtaUVrm7dy/rSCl6rhaYU5EU2kz4C5GWOIhSiMIKyQLfM2VUmz2Vc\n7LS/GUURvX6f6NYtWq3WzBRV6q5Vokh6JjqONdNfT6WAU8PTKIro9/tEcYLj13C8OkUm6UOyd2MS\nBBMWOoukWYmqSgMM2duRqh4U0KtpoaEbNJsdRCmwXRttouPoJq12E0UTREmC6XoyKCrPMQ1JjZr6\nF05lgZqqM+gPsG0bRdGwLCkzS9OEZrMJSFMNx5FXyKIyofU8f0byL4qSZq1ZDXFyTN2i0aiTFxmK\nAp3OBnmeMwkCjo6O8DyfUkjFlNyBS7yawXgsOYRT5+68SNBNhUv33UeYZtWUVVKbSmRftsxSTN3A\ncR1pPlsZiliGPCHrukmSZKiqShyHM5ux8XjMYDTAr8sQrJ0jqeMPwpAiz9nc3JTvhYporWoa44nU\nHi8sLlKW0nW/5rvYy4vcOtzn5g+HaIpNmsbYjoPrtXANB9/3ObW+ShyGqBVHWNc0dENGnwghUBUV\nBBwc3KIscwbDIZbn8lOra6imilAhCodYliLzrqwGTmpRqiqCosqNl3ScXAgs30WUgjAI0SyDmlan\nyCQLZDDoV+FoDqIsOHfPGVRVkfaDFdUtjo+5ub2N5dksnVqlGAkmQcCgN2BjfR1RFCRFgaELXnzx\nRZaXlzh79ixpKk2l8yKTPFdF5dTqusyo0oAyo+Zt0Ov18TwHMIh8GW2xvLqK47jkWcpdG5sMBgPW\n19a4994Llb/tJp2DBZ599jlUxeTy1fPs7u1y7XvfxbJMTno9ScYfT1hbXyMYDUmTAFUTPPi2n2Zx\ncYXDw0Nc1yEOU8qSqkefYlk2juuSxYJWq85oEMrsIieh1+9hVhtqWTIz25lMJrQ7izNnr2bLYDQc\nUPN8OVQimhnu/Di8IdfzK1eu8N3vfvd2v+wcc8wxx/8T3v72t/Pkk0/+yM+9IUVzjjnmmONfK149\nFX2OOeaYY45XYF4055hjjjleA2570fzyl7/MhQsXOHv2LJ/4xCdu98u/rvjgBz/I8vIy999//+xj\nvV6Phx9+mHPnzvHOd76Twcs4YE888QRnz57lwoUL/PVf//Ub8cg/MXZ2dvi5n/s5Ll26xH333cen\nPvUp4M5fdxzHPPjgg1y5coWLFy/y0Y9+FLjz1z1FURRcvXp1pgZ8s6wbAHEbkee5OHPmjNje3hZp\nmorLly+L69ev385HeF3x9a9/XXz7298W99133+xjv/EbvyE+8YlPCCGE+PjHPy5+8zd/UwghxHPP\nPScuX74s0jQV29vb4syZM6IoijfkuX8SHBwciGvXrgkhhBiPx+LcuXPi+vXrd/y6hRAiCAIhhBBZ\nlokHH3xQPPXUU2+KdQshxCc/+Unxvve9T7z73e8WQtz57/OX47YWzaefflo88sgjs38/8cQT4okn\nnridj/C6Y3t7+xVF8/z58+LWrVtCCFlgzp8/L4QQ4vHHHxcf//jHZ1/3yCOPiG984xu392FfB/zC\nL/yC+MpXvvKmWncQBOKBBx4Qzz777Jti3Ts7O+Khhx4SX/3qV8W73vUuIcSb631+W6/ne3t7bGxs\nzP79qtZxdwgODw+l+zewvLzM4eEhAPv7+6yvr8++7k74Wdy8eZNr167x4IMPvinWXZYlV65cYXl5\nedaieDOs+9d//df5vd/7vVeYi78Z1j3FbS2aP06H/mbBy+OAf9zn/7ViMpnwnve8hz/4gz+gVqu9\n4nN36rqntom7u7t8/etf52tf+9orPn8nrvsLX/gCS0tLXL169cfKDO/Edb8ct7Vo/lPruJ2dnVfs\nQncilpeXuXXrFiANUKZqg9dio/f/O7Is4z3veQ+PPfYYv/iLvwi8OdY9xdQ28Zlnnrnj1/3000/z\n+c9/nq2tLd773vfy1a9+lccee+yOX/fLcVuL5gMPPMDzzz8/E/d/7nOf49FHH72dj3Db8eijj/Lp\nT38agE9/+tOzovLoo4/y2c9+ljSVphfPP/88b33rW9/IR/0XQQjBr/zKr3Dx4kV+7dd+bfbxO33d\nJycnswlxFEV85Stf4erVq3f8uh9//HF2dnbY3t7ms5/9LO94xzv4sz/7szt+3a/A7W6ifvGLXxTn\nzp0TZ86cEY8//vjtfvnXFb/8y78sTp06JQzDEOvr6+JP//RPRbfbFQ899JA4e/asePjhh0W/3599\n/e/8zu+IM2fOiPPnz4svf/nLb+CT/8vx1FNPCUVRxOXLl8WVK1fElStXxJe+9KU7ft3f+973xNWr\nV8Xly5fF/fffL373d39XCCHu+HW/HE8++eRsev5mWvdcRjnHHHPM8RowVwTNMcccc7wGzIvmHHPM\nMcdrwLxozjHHHHO8BsyL5hxzzDHHa8C8aM4xxxxzvAbMi+Ycc8wxx2vAvGjOMcccc7wGzIvmHHPM\nMcdrwP8F7/c7xJLyUh8AAAAASUVORK5CYII=\n", "text": [ - "" + "" ] } ], @@ -139,7 +139,8 @@ "input": [ "prediction = net.predict([input_image]) # predict takes any number of images, and formats them for the Caffe net automatically\n", "print 'prediction shape:', prediction[0].shape\n", - "plt.plot(prediction[0])" + "plt.plot(prediction[0])\n", + "print 'predicted class:', prediction[0].argmax()" ], "language": "python", "metadata": {}, @@ -148,23 +149,16 @@ "output_type": "stream", "stream": "stdout", "text": [ - "prediction shape: (1000,)\n" - ] - }, - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 5, - "text": [ - "[]" + "prediction shape: (1000,)\n", + "predicted class: 281\n" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\nwBfrr33tyv3u7tSPL8WmhubOvbJ9rSDoa+N4mR764x+lm28e+DiXwGbG559nugWxF/tXX+3/2Icf\nSm1t0vHjg9dP9eq5ofyOZeqKvKRXDTkpXtJiRvjXVF4ee9f69a9LWRm6jqnvnevKlf1fJFPRd/qN\njdKePbEX1vz82C+aMbFb4v2TJ2Pl/+M/pHfekWbOlEpKpP/5n9h2Mh0d0n//t/Rv/5b8XX7iL/Kq\nVbHASfTHP0o/+EHs/ve/L/3Lv8SCadKk2Ogmme5uyeWS8vJifzgPPyzdcEP/MseOxX7ef7+UnZ18\nf9c6jw8+kA4dSl5vKA4dkk6divXFmTPSjTdKXV1SKCTddVcsYHt7Y3+Iffev3k68n5c38JyvZox0\n4kSsntsdO8++25c5eTL2piLxW2MH+73o+7261u9aKrfjxyWPJ9YnQ3XxYuyNgOPE2j1linT99f3P\nJzu7/1VlxkivvCLdcUfsmEO5ci6Vv5FUnT8v7d0rVVTEfp8l6f/+L/bzgQekadP6l49GY7+XBQWx\n7X37pLvvHvw4R45IN90kJbwvvqZ//lN66y3pX/819hrU97rS9+909f20Mkns37/fVFRUxLefeuop\n8/TTT/crU1NTYxobG+PbBQUFprOzM6W6xhiTl5dnJHHjxo0btyHc8vLykr18D0nS99/FxcVqbW1V\nR0eHZs+erZ07d6qxsbFfmcrKStXX16uqqkoHDhzQjTfeqJkzZ2rGjBmD1pWktra2ZE0AAIyypEGQ\nlZWl+vp6VVRUKBqNqrq6Wn6/Xw0NDZKkmpoarVy5Unv27FF+fr4mT56s559/PmldAMD44hjDchkA\n2Cyjnyz+Kn3gbKTC4bC++93v6tZbb9WCBQv07LPPSpJOnz6t8vJyzZs3T8uXL1dXV1e8zqZNm+T1\neuXz+fTaa69lqumjJhqNqqioSKtWrZJkb190dXXpvvvuk9/v1/z583Xw4EFr+2LTpk269dZbtXDh\nQj3wwAO6ePGiNX3x4x//WDNnztTChQvjjw3n3N955x0tXLhQXq9XP/vZz1I7eNpWG4aot7fX5OXl\nmfb2dtPT02MKCwtNS0tLppoz6j7++GNz5MgRY4wxn332mZk3b55paWkxv/zlL01dXZ0xxpinn37a\n/OpXvzLGGPOPf/zDFBYWmp6eHtPe3m7y8vJMNBrNWPtHw+bNm80DDzxgVq1aZYwx1vbFgw8+aLZu\n3WqMMebSpUumq6vLyr5ob283c+bMMRcuXDDGGHP//feb3//+99b0xRtvvGEOHz5sFixYEH9sKOd+\n+fJlY4wxJSUl5uDBg8YYY1asWGFeffXVQY+dsSB4++23+11VtGnTJrNp06ZMNWfMfe973zN//etf\n41dZGRMLi4KCAmPMwKusKioqzP79+zPS1tEQDofNXXfdZfbu3WvuvvtuY4yxsi+6urrMnDlzBjxu\nY198+umnZt68eeb06dPm0qVL5u677zavvfaaVX3R3t7eLwiGeu4nTpwwPp8v/nhjY6OpqakZ9LgZ\nmxpK5cNqE1VHR4eOHDmi0tJSnTx5UjNnzpQkzZw5Uye/+JDBiRMn5PF44nUmWv/84he/0G9+8xtN\nSrjA3Ma+aG9vV3Z2tn70ox/pm9/8ptavX6/u7m4r+2L69Ol69NFH9Y1vfEOzZ8/WjTfeqPLyciv7\nos9Qz/3qx91ud0p9krEgSPXDahPNuXPndO+99+qZZ57RlClT+j3nOE7Sfpkoffbyyy/r5ptvVlFR\n0Zd+GNGWvujt7dXhw4f1k5/8RIcPH9bkyZP19NNP9ytjS198+OGH+u1vf6uOjg6dOHFC586d0/bt\n2/uVsaUvrmWwcx+JjAWB2+1WOOFbm8LhcL8km4guXbqke++9V+vWrdM999wjKZbynZ2dkqSPP/5Y\nN3/xPQhX98/x48fldrvHvtGj4O2339bu3bs1Z84c/fCHP9TevXu1bt06K/vC4/HI4/GopKREknTf\nfffp8OHDuuWWW6zri0OHDun222/XjBkzlJWVpTVr1mj//v1W9kWfofxNeDweud1uHU/4WoFU+yRj\nQZD4YbWenh7t3LlTlZWVmWrOqDPGqLq6WvPnz9fPf/7z+OOVlZV64Yv/LOCFF16IB0RlZaV27Nih\nnp4etbe3q7W1VYsXL85I29PtqaeeUjgcVnt7u3bs2KE777xTL774opV9ccsttygnJ0cffPCBJKm5\nuVm33nqrVq1aZV1f+Hw+HThwQJ9//rmMMWpubtb8+fOt7Is+Q/2buOWWW3TDDTfo4MGDMsboxRdf\njNdJKh0LHMO1Z88eM2/ePJOXl2eeeuqpTDZl1L355pvGcRxTWFhobrvtNnPbbbeZV1991Xz66afm\nrrvuMl6v15SXl5szZ87E6/z61782eXl5pqCgwAQCgQy2fvQEg8H4VUO29sXf//53U1xcbBYtWmRW\nr15turq6rO2Luro6M3/+fLNgwQLz4IMPmp6eHmv6oqqqysyaNcu4XC7j8XjMtm3bhnXuhw4dMgsW\nLDB5eXnmpz/9aUrH5gNlAGA5/qtKALAcQQAAliMIAMByBAEAWI4gAADLEQQAYDmCAAAsRxAAgOX+\nH+ygAhcPtOtaAAAAAElFTkSuQmCC\n", + "png": "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\nyl98MTRNuHu3dN110tKl37Sho0NavHho38OGD6b/+I+S2/3NPhwOacqU9K+V+B3p75euuUa6aoKX\nvPzlL0N/V68e2o8kffLJ0N8HHxz61Z/oxImh91NVNbTc0SHddtvor3PihPS3fzvUx+l0dw+VXbVq\n6D0lTj+lPs84k8Zbb71lqqqq4ssPP/yweeSRR5LK1NfXm+bm5vjyvHnzTF9f35jqGmNMYWGhkcSD\nBw8ePMbxKCwsTHf4Hpe0IwK/36+uri719vZq1qxZamlpUXNzc1KZQCCgxsZG1dbWas+ePbr22ms1\nc+ZM5ebmjlpXkrov13EwAFwh0gZBTk6OGhsbVVVVpVgsprq6Ovl8PjU1NUmS6uvrtWrVKm3fvl0e\nj0dTp07V008/nbYuAODS4jDmSroICgAwXlm9s9imG84ikYhuueUWLViwQAsXLtSWLVskScePH1dl\nZaXmzp2rFStWqL+/P15n8+bNKioqktfrVVtbW7aaPmlisZjKysq0+uuztbb2RX9/v+644w75fD7N\nnz9fe/futbYvNm/erAULFqi4uFh33nmnvvzyS2v64ic/+Ylmzpyp4uLi+LqJvPd33nlHxcXFKioq\n0k8TLxVMJ2NnG8ZpcHDQFBYWmp6eHjMwMGBKS0tNZ2dntpoz6T755BOzf/9+Y4wxJ0+eNHPnzjWd\nnZ3mV7/6lWloaDDGGPPII4+YX//618YYY9577z1TWlpqBgYGTE9PjyksLDSxWCxr7Z8Mjz32mLnz\nzjvN6tWrjTHG2r646667zJNPPmmMMebs2bOmv7/fyr7o6ekxs2fPNl988YUxxpgf/vCH5plnnrGm\nL3bu3Gn27dtnFi5cGF83nvf+1VdfGWOMKS8vN3v37jXGGLNy5Urz2muvjfraWQuCN998M+mqos2b\nN5vNmzdnqzkX3Q9+8APz+uuvx6+yMmYoLObNm2eMGXmVVVVVlXnrrbey0tbJEIlEzK233mp27Nhh\nbrvtNmOMsbIv+vv7zezZs0est7Evjh07ZubOnWuOHz9uzp49a2677TbT1tZmVV/09PQkBcF43/uR\nI0eM1+uNr29ubjb19fWjvm7WpobGcrPalaq3t1f79+/X4sWL9emnn2rmzJmSpJkzZ+rTTz+VJB05\nckTu4YusdeX1z89//nM9+uijuirhInAb+6Knp0czZszQj3/8Y33nO9/RPffco9OnT1vZF9OnT9cv\nfvELffvb39asWbN07bXXqrKy0sq+GDbe95663uVyjalPshYEY71Z7Upz6tQp3X777Xr88cf1rW99\nK2mbw+FI2y9XSp+9+uqruuGGG1RWVnbemxFt6YvBwUHt27dP9913n/bt26epU6fqkUceSSpjS18c\nOnRIv//979Xb26sjR47o1KlTeiHl34S2pS/OZbT3fiGyFgQul0uRhHvvI5FIUpJdic6ePavbb79d\n69at05o1ayQNpXzf1/9ozyeffKIbvr6dMbV/Dh8+LJfLdfEbPQnefPNNvfLKK5o9e7Z+9KMfaceO\nHVq3bp2VfeF2u+V2u1VeXi5JuuOOO7Rv3z7deOON1vXF22+/re9+97vKzc1VTk6Oampq9NZbb1nZ\nF8PG851wu91yuVw6fPhw0vqx9EnWgiDxZrWBgQG1tLQoEAhkqzmTzhijuro6zZ8/Xz/72c/i6wOB\ngJ599llJ0rPPPhsPiEAgoG3btmlgYEA9PT3q6urSokWLstL2THv44YcViUTU09Ojbdu26fvf/76e\nf/55K/vixhtvVH5+vj766CNJUnt7uxYsWKDVq1db1xder1d79uzR559/LmOM2tvbNX/+fCv7Yth4\nvxM33nijrrnmGu3du1fGGD3//PPxOmll4gTHRG3fvt3MnTvXFBYWmocffjibTZl0u3btMg6Hw5SW\nlpqbbrrJ3HTTTea1114zx44dM7feeqspKioylZWV5sSJE/E6v/vd70xhYaGZN2+eCQaDWWz95AmF\nQvGrhmztiwMHDhi/329KSkpMdXW16e/vt7YvGhoazPz5883ChQvNXXfdZQYGBqzpi9raWpOXl2ec\nTqdxu93mqaeemtB7f/vtt83ChQtNYWGhuf/++8f02txQBgCW439VCQCWIwgAwHIEAQBYjiAAAMsR\nBABgOYIAACxHEACA5QgCALDc/wN1ylfVql6MNwAAAABJRU5ErkJggg==\n", "text": [ - "" + "" ] } ], @@ -174,6 +168,10 @@ "cell_type": "markdown", "metadata": {}, "source": [ + "You can see that the prediction is 1000-dimensional, and is pretty sparse.\n", + "\n", + "The predicted class 281 is \"Tabby cat.\" Our pretrained model uses the synset ID ordering of the classes, as listed in `../data/ilsvrc12/synset_words.txt` if you fetch the auxiliary imagenet data by `../data/ilsvrc12/get_ilsvrc_aux.sh`. If you look at the top indices that maximize the prediction score, they are cats, foxes, and other cute mammals. Not unreasonable predictions, right?\n", + "\n", "Now let's classify by the center crop alone by turning off oversampling. Note that this makes a single input, although if you inspect the model definition prototxt you'll see the network has a batch size of 10. The python wrapper handles batching and padding for you!" ] }, @@ -183,7 +181,8 @@ "input": [ "prediction = net.predict([input_image], oversample=False)\n", "print 'prediction shape:', prediction[0].shape\n", - "plt.plot(prediction[0])" + "plt.plot(prediction[0])\n", + "print 'predicted class:', prediction[0].argmax()" ], "language": "python", "metadata": {}, @@ -192,23 +191,16 @@ "output_type": "stream", "stream": "stdout", "text": [ - "prediction shape: (1000,)\n" - ] - }, - { - "metadata": {}, - "output_type": "pyout", - "prompt_number": 6, - "text": [ - "[]" + "prediction shape: (1000,)\n", + "predicted class: 281\n" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\nHo9nXH2SsSAY781q15q+vj7dc8892rZtm7454i4sl8uVsl+ulT57/fXXdfPNN6usrOySNyPa0heD\ng4Nqb2/XT37yE7W3t2vGjBnaunXrsDK29MXRo0f19NNPq7u7W8ePH1dfX59eeumlYWVs6YuLGWvb\nJyNjQeDxeBSNRpPT0Wh0WJJdi86fP6977rlH69ev19q1ayUlUr6np0eS9Pnnn+vmf96GO7J/jh07\nJo/Hc+UbPQXeeecdvfbaa5o3b55+9KMfae/evVq/fr2VfeH1euX1elVeXi5Juvfee9Xe3q5bbrnF\nur547733dMcddyg7O1tZWVmqqanRu+++a2VfDJnI34TX65XH49Gxof/4qPH3ScaCwHmz2sDAgFpa\nWhQMBjPVnClnjFFdXZ0WLVqkn/3sZ8n5wWBQL7zwgiTphRdeSAZEMBjUrl27NDAwoK6uLnV2dmrJ\nkiUZaXu6Pfnkk4pGo+rq6tKuXbv0ve99Ty+++KKVfXHLLbcoLy9Pn3zyiSSpra1Nt956q9asWWNd\nX/h8Pu3fv19///vfZYxRW1ubFi1aZGVfDJno38Qtt9yib33rWzpw4ICMMXrxxReTdVJKxwmOy7V7\n926zYMECU1BQYJ588slMNmXKvf3228blcpnS0lJz2223mdtuu8288cYb5uTJk+auu+4yRUVFprKy\n0pw+fTpZ57e//a0pKCgwCxcuNKFQKIOtnzrhcDh51ZCtffHBBx+YQCBgSkpKTHV1tent7bW2Lxoa\nGsyiRYvM4sWLzf33328GBgas6Yva2lqTm5tr3G638Xq95rnnnrusbX/vvffM4sWLTUFBgfnpT386\nrvfmhjIAsBxfVQkAliMIAMByBAEAWI4gAADLEQQAYDmCAAAsRxAAgOUIAgCw3P8Dvi5mjwJzDc4A\nAAAASUVORK5CYII=\n", + "png": "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\n", "text": [ - "" + "" ] } ], @@ -218,9 +210,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "You can see that the prediction is 1000-dimensional, and is pretty sparse.\n", "\n", - "Our pretrained model uses the synset ID ordering of the classes, as listed in `../data/ilsvrc12/synset_words.txt` if you fetch the auxiliary imagenet data by `../data/ilsvrc12/get_ilsvrc_aux.sh`. If you look at the top indices that maximize the prediction score, they are foxes, cats, and other cute mammals. Not unreasonable predictions, right?\n", "\n", "Now, why don't we see how long it takes to perform the classification end to end? This result is run from an Intel i5 CPU, so you may observe some performance differences." ] @@ -238,7 +228,7 @@ "output_type": "stream", "stream": "stdout", "text": [ - "1 loops, best of 3: 492 ms per loop\n" + "1 loops, best of 3: 355 ms per loop\n" ] } ], @@ -271,7 +261,7 @@ "output_type": "stream", "stream": "stdout", "text": [ - "1 loops, best of 3: 327 ms per loop\n" + "1 loops, best of 3: 210 ms per loop\n" ] } ], @@ -325,15 +315,15 @@ "output_type": "pyout", "prompt_number": 10, "text": [ - "[]" + "[]" ] }, { "metadata": {}, "output_type": "display_data", - "png": "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\n+LICF1LUgWkAAAAASUVORK5CYII=\n", + "png": "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\n8Ytf6Fvf+pZmzpyp6667TpWVlVb2xbDxvvfU9S6Xa0x9krUgGOvNaleaU6dO6bbbbtNjjz2mb37z\nm0nbHA5H2n65UvrslVde0Y033qiysrLz3oxoS18MDg5q3759uvfee7Vv3z5NmTJFDz/8cFIZW/ri\n0KFD+v3vf6/e3l4dOXJEp06d0vMp/ya0LX1xLqO99wuRtSBwuVyKJNx7H4lEkpLsSnT27Fnddttt\nWrdundasWSNpKOX7vvpHez7++GPd+NXtjKn9c/jwYblcrovf6Enwxhtv6OWXX9asWbP0ox/9SDt2\n7NC6deus7Au32y23263y8nJJ0u233659+/bppptusq4v3nrrLX3nO99Rbm6ucnJyVFNTozfffNPK\nvhg2nu+E2+2Wy+XS4cOHk9aPpU+yFgSJN6sNDAyopaVFgUAgW82ZdMYY1dXVad68efrZz34WXx8I\nBPTMM89Ikp555pl4QAQCAW3btk0DAwPq6elRV1eXFi5cmJW2Z9pDDz2kSCSinp4ebdu2Td///vf1\n3HPPWdkXN910k/Lz8/Xhhx9Kktrb2zV//nytXr3aur7wer3as2ePPvvsMxlj1N7ernnz5lnZF8PG\n+5246aabdO2112rv3r0yxui5556L10krEyc4Jmr79u1mzpw5prCw0Dz00EPZbMqk27Vrl3E4HKa0\ntNTcfPPN5uabbzavvvqqOXbsmLn11ltNUVGRqaysNCdOnIjX+d3vfmcKCwvN3LlzTTAYzGLrJ08o\nFIpfNWRrXxw4cMD4/X5TUlJiqqurTX9/v7V90dDQYObNm2cWLFhg7rzzTjMwMGBNX9TW1pq8vDzj\ndDqN2+02Tz755ITe+1tvvWUWLFhgCgsLzX333Tem1+aGMgCwHP+rSgCwHEEAAJYjCADAcgQBAFiO\nIAAAyxEEAGA5ggAALEcQAIDl/h+B3FfVQOwSzQAAAABJRU5ErkJggg==\n", "text": [ - "" + "" ] } ], @@ -343,7 +333,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Good, everything is the same. And how about time consumption? The following benchmark is obtained on the same machine with a K20 GPU:" + "Good, everything is the same. And how about time consumption? The following benchmark is obtained on the same machine with a GTX 770 GPU:" ] }, { @@ -360,7 +350,7 @@ "output_type": "stream", "stream": "stdout", "text": [ - "10 loops, best of 3: 192 ms per loop\n" + "10 loops, best of 3: 174 ms per loop\n" ] } ], @@ -380,7 +370,7 @@ "output_type": "stream", "stream": "stdout", "text": [ - "10 loops, best of 3: 25.2 ms per loop\n" + "10 loops, best of 3: 34.2 ms per loop\n" ] } ], @@ -390,7 +380,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Pretty fast right? Not as fast as you expected? Indeed, in this python demo you are seeing only 4 times speedup. But remember - the GPU code is actually very fast, and the data loading, transformation and interfacing actually start to take **more** time than the actual convnet computation itself!\n", + "Pretty fast right? Not as fast as you expected? Indeed, in this python demo you are seeing only 4 times speedup. But remember - the GPU code is actually very fast, and the data loading, transformation and interfacing actually start to take **more** time than the actual conv. net computation itself!\n", "\n", "To fully utilize the power of GPUs, you really want to:\n", "\n", From d5c3cef47155b5c2aad146465187364a2b41fd99 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 31 Jul 2014 16:19:20 -0700 Subject: [PATCH 387/408] fix pycaffe input processing - load an image as [0,1] single / np.float32 according to Python convention - fix input scaling during preprocessing: - scale input for preprocessing by `raw_scale` e.g. to map an image to [0, 255] for the CaffeNet and AlexNet ImageNet models - scale feature space by `input_scale` after mean subtraction - switch examples to raw scale for ImageNet models - fix #525 - preserve type after resizing. - resize 1, 3, or K channel images with special casing between skimage.transform (1 and 3) and scipy.ndimage (K) for speed --- examples/detection.ipynb | 2 +- examples/filter_visualization.ipynb | 19 +++------ examples/imagenet_classification.ipynb | 4 +- examples/net_surgery.ipynb | 4 +- python/caffe/_caffe.cpp | 2 + python/caffe/classifier.py | 15 +++++--- python/caffe/detector.py | 17 +++++---- python/caffe/io.py | 18 +++++++-- python/caffe/pycaffe.py | 53 ++++++++++++++++++-------- python/classify.py | 8 +++- python/detect.py | 11 ++++-- 11 files changed, 98 insertions(+), 55 deletions(-) diff --git a/examples/detection.ipynb b/examples/detection.ipynb index 3f2cf71ac57..3b0a5b2e705 100644 --- a/examples/detection.ipynb +++ b/examples/detection.ipynb @@ -36,7 +36,7 @@ "input": [ "!mkdir -p _temp\n", "!echo `pwd`/images/fish-bike.jpg > _temp/det_input.txt\n", - "!../python/detect.py --crop_mode=selective_search --pretrained_model=imagenet/caffe_rcnn_imagenet_model --model_def=imagenet/rcnn_imagenet_deploy.prototxt --gpu _temp/det_input.txt _temp/det_output.h5" + "!../python/detect.py --crop_mode=selective_search --pretrained_model=imagenet/caffe_rcnn_imagenet_model --model_def=imagenet/rcnn_imagenet_deploy.prototxt --gpu --raw_scale=255 _temp/det_input.txt _temp/det_output.h5" ], "language": "python", "metadata": {}, diff --git a/examples/filter_visualization.ipynb b/examples/filter_visualization.ipynb index 0fe863bc7e5..ea99f06b148 100644 --- a/examples/filter_visualization.ipynb +++ b/examples/filter_visualization.ipynb @@ -66,8 +66,8 @@ "net.set_mode_cpu()\n", "# input preprocessing: 'data' is the name of the input blob == net.inputs[0]\n", "net.set_mean('data', caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy') # ImageNet mean\n", - "net.set_channel_swap('data', (2,1,0)) # the reference model has channels in BGR order instead of RGB\n", - "net.set_input_scale('data', 255) # the reference model operates on images in [0,255] range instead of [0,1]" + "net.set_raw_scale('data', 255) # the reference model operates on images in [0,255] range instead of [0,1]\n", + "net.set_channel_swap('data', (2,1,0)) # the reference model has channels in BGR order instead of RGB" ], "language": "python", "metadata": {}, @@ -178,12 +178,6 @@ "cell_type": "code", "collapsed": false, "input": [ - "# our network takes BGR images, so we need to switch color channels\n", - "def showimage(im):\n", - " if im.ndim == 3:\n", - " im = im[:, :, ::-1]\n", - " plt.imshow(im)\n", - " \n", "# take an array of shape (n, height, width) or (n, height, width, channels)\n", "# and visualize each (height, width) thing in a grid of size approx. sqrt(n) by sqrt(n)\n", "def vis_square(data, padsize=1, padval=0):\n", @@ -199,7 +193,7 @@ " data = data.reshape((n, n) + data.shape[1:]).transpose((0, 2, 1, 3) + tuple(range(4, data.ndim + 1)))\n", " data = data.reshape((n * data.shape[1], n * data.shape[3]) + data.shape[4:])\n", " \n", - " showimage(data)" + " imshow(data)" ], "language": "python", "metadata": {}, @@ -218,10 +212,7 @@ "collapsed": false, "input": [ "# index four is the center crop\n", - "image = net.blobs['data'].data[4].copy()\n", - "image -= image.min()\n", - "image /= image.max()\n", - "showimage(image.transpose(1, 2, 0))" + "imshow(net.deprocess('data', net.blobs['data'].data[4]))" ], "language": "python", "metadata": {}, @@ -606,4 +597,4 @@ "metadata": {} } ] -} \ No newline at end of file +} diff --git a/examples/imagenet_classification.ipynb b/examples/imagenet_classification.ipynb index 8ab65fda02f..60e8bd070fb 100644 --- a/examples/imagenet_classification.ipynb +++ b/examples/imagenet_classification.ipynb @@ -53,7 +53,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Loading a network is easy. `caffe.Classifier` takes care of everything. Note the arguments for configuring input preprocessing: mean subtraction switched on by giving a mean file, input channel swapping takes care of mapping RGB into the reference ImageNet model's BGR order, and input scaling multiplies the feature scale from the input [0,1] to [0,255]." + "Loading a network is easy. `caffe.Classifier` takes care of everything. Note the arguments for configuring input preprocessing: mean subtraction switched on by giving a mean file, input channel swapping takes care of mapping RGB into the reference ImageNet model's BGR order, and raw scaling multiplies the feature scale from the input [0,1] to the ImageNet model's [0,255]." ] }, { @@ -63,7 +63,7 @@ "net = caffe.Classifier(MODEL_FILE, PRETRAINED,\n", " mean_file=caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy',\n", " channel_swap=(2,1,0),\n", - " input_scale=255,\n", + " raw_scale=255,\n", " image_dims=(256, 256))" ], "language": "python", diff --git a/examples/net_surgery.ipynb b/examples/net_surgery.ipynb index bf3d1140559..31847b2418e 100644 --- a/examples/net_surgery.ipynb +++ b/examples/net_surgery.ipynb @@ -277,7 +277,7 @@ "plt.imshow(im)\n", "net_full_conv.set_mean('data', '../python/caffe/imagenet/ilsvrc_2012_mean.npy')\n", "net_full_conv.set_channel_swap('data', (2,1,0))\n", - "net_full_conv.set_input_scale('data', 255.0)\n", + "net_full_conv.set_raw_scale('data', 255.0)\n", "# make classification map by forward pass and show top prediction index per location\n", "out = net_full_conv.forward_all(data=np.asarray([net_full_conv.preprocess('data', im)]))\n", "out['prob'][0].argmax(axis=0)" @@ -331,4 +331,4 @@ "metadata": {} } ] -} \ No newline at end of file +} diff --git a/python/caffe/_caffe.cpp b/python/caffe/_caffe.cpp index 30c86aeb384..59317727914 100644 --- a/python/caffe/_caffe.cpp +++ b/python/caffe/_caffe.cpp @@ -278,6 +278,7 @@ struct CaffeNet { // Input preprocessing configuration attributes. dict mean_; dict input_scale_; + dict raw_scale_; dict channel_swap_; // if taking input from an ndarray, we need to hold references object input_data_; @@ -329,6 +330,7 @@ BOOST_PYTHON_MODULE(_caffe) { .add_property("outputs", &CaffeNet::outputs) .add_property("mean", &CaffeNet::mean_) .add_property("input_scale", &CaffeNet::input_scale_) + .add_property("raw_scale", &CaffeNet::raw_scale_) .add_property("channel_swap", &CaffeNet::channel_swap_) .def("_set_input_arrays", &CaffeNet::set_input_arrays) .def("save", &CaffeNet::save); diff --git a/python/caffe/classifier.py b/python/caffe/classifier.py index f347be42a93..48835bab842 100644 --- a/python/caffe/classifier.py +++ b/python/caffe/classifier.py @@ -14,13 +14,14 @@ class Classifier(caffe.Net): by scaling, center cropping, or oversampling. """ def __init__(self, model_file, pretrained_file, image_dims=None, - gpu=False, mean_file=None, input_scale=None, channel_swap=None): + gpu=False, mean_file=None, input_scale=None, raw_scale=None, + channel_swap=None): """ Take image_dims: dimensions to scale input for cropping/sampling. - Default is to scale to net input size for whole-image crop. - gpu, mean_file, input_scale, channel_swap: convenience params for - setting mode, mean, input scale, and channel order. + Default is to scale to net input size for whole-image crop. + gpu, mean_file, input_scale, raw_scale, channel_swap: params for + preprocessing options. """ caffe.Net.__init__(self, model_file, pretrained_file) self.set_phase_test() @@ -32,9 +33,11 @@ def __init__(self, model_file, pretrained_file, image_dims=None, if mean_file: self.set_mean(self.inputs[0], mean_file) - if input_scale: + if input_scale is not None: self.set_input_scale(self.inputs[0], input_scale) - if channel_swap: + if raw_scale is not None: + self.set_raw_scale(self.inputs[0], raw_scale) + if channel_swap is not None: self.set_channel_swap(self.inputs[0], channel_swap) self.crop_dims = np.array(self.blobs[self.inputs[0]].data.shape[2:]) diff --git a/python/caffe/detector.py b/python/caffe/detector.py index 56c26aefd45..a9b06cd17c7 100644 --- a/python/caffe/detector.py +++ b/python/caffe/detector.py @@ -25,11 +25,12 @@ class Detector(caffe.Net): selective search proposals. """ def __init__(self, model_file, pretrained_file, gpu=False, mean_file=None, - input_scale=None, channel_swap=None, context_pad=None): + input_scale=None, raw_scale=None, channel_swap=None, + context_pad=None): """ Take - gpu, mean_file, input_scale, channel_swap: convenience params for - setting mode, mean, input scale, and channel order. + gpu, mean_file, input_scale, raw_scale, channel_swap: params for + preprocessing options. context_pad: amount of surrounding context to take s.t. a `context_pad` sized border of pixels in the network input image is context, as in R-CNN feature extraction. @@ -44,9 +45,11 @@ def __init__(self, model_file, pretrained_file, gpu=False, mean_file=None, if mean_file: self.set_mean(self.inputs[0], mean_file) - if input_scale: + if input_scale is not None: self.set_input_scale(self.inputs[0], input_scale) - if channel_swap: + if raw_scale is not None: + self.set_raw_scale(self.inputs[0], raw_scale) + if channel_swap is not None: self.set_channel_swap(self.inputs[0], channel_swap) self.configure_crop(context_pad) @@ -180,7 +183,7 @@ def configure_crop(self, context_pad): """ self.context_pad = context_pad if self.context_pad: - input_scale = self.input_scale.get(self.inputs[0]) + raw_scale = self.raw_scale.get(self.inputs[0]) channel_order = self.channel_swap.get(self.inputs[0]) # Padding context crops needs the mean in unprocessed input space. self.crop_mean = self.mean[self.inputs[0]].copy() @@ -188,4 +191,4 @@ def configure_crop(self, context_pad): channel_order_inverse = [channel_order.index(i) for i in range(self.crop_mean.shape[2])] self.crop_mean = self.crop_mean[:,:, channel_order_inverse] - self.crop_mean /= input_scale + self.crop_mean /= raw_scale diff --git a/python/caffe/io.py b/python/caffe/io.py index 1fc97231ca6..aabcfddbbeb 100644 --- a/python/caffe/io.py +++ b/python/caffe/io.py @@ -1,6 +1,7 @@ import numpy as np import skimage.io -import skimage.transform +from scipy.ndimage import zoom +from skimage.transform import resize from caffe.proto import caffe_pb2 @@ -15,7 +16,8 @@ def load_image(filename, color=True): loads as intensity (if image is already grayscale). Give - image: an image with type np.float32 of size (H x W x 3) in RGB or + image: an image with type np.float32 in range [0, 1] + of size (H x W x 3) in RGB or of size (H x W x 1) in grayscale. """ img = skimage.img_as_float(skimage.io.imread(filename)).astype(np.float32) @@ -40,7 +42,17 @@ def resize_image(im, new_dims, interp_order=1): Give im: resized ndarray with shape (new_dims[0], new_dims[1], K) """ - return skimage.transform.resize(im, new_dims, order=interp_order) + if im.shape[-1] == 1 or im.shape[-1] == 3: + # skimage is fast but only understands {1,3} channel images in [0, 1]. + im_min, im_max = im.min(), im.max() + im_std = (im - im_min) / (im_max - im_min) + resized_std = resize(im_std, new_dims, order=interp_order) + resized_im = resized_std * (im_max - im_min) + im_min + else: + # ndimage interpolates anything but more slowly. + scale = tuple(np.array(new_dims) / np.array(im.shape[:2])) + resized_im = zoom(im, scale + (1,), order=interp_order) + return resized_im.astype(np.float32) def oversample(images, crop_dims): diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index 64747f30483..43648d0af34 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -216,12 +216,10 @@ def _Net_set_mean(self, input_, mean_f, mode='elementwise'): in_shape = self.blobs[input_].data.shape mean = np.load(mean_f) if mode == 'elementwise': - if mean.shape != in_shape[1:]: - # Resize mean (which requires H x W x K input in range [0,1]). - m_min, m_max = mean.min(), mean.max() - normal_mean = (mean - m_min) / (m_max - m_min) - mean = caffe.io.resize_image(normal_mean.transpose((1,2,0)), - in_shape[2:]).transpose((2,0,1)) * (m_max - m_min) + m_min + if mean.shape[1:] != in_shape[2:]: + # Resize mean (which requires H x W x K input). + mean = caffe.io.resize_image(mean.transpose((1,2,0)), + in_shape[2:]).transpose((2,0,1)) self.mean[input_] = mean elif mode == 'channel': self.mean[input_] = mean.mean(1).mean(1).reshape((in_shape[1], 1, 1)) @@ -229,10 +227,11 @@ def _Net_set_mean(self, input_, mean_f, mode='elementwise'): raise Exception('Mode not in {}'.format(['elementwise', 'channel'])) - def _Net_set_input_scale(self, input_, scale): """ - Set the input feature scaling factor s.t. input blob = input * scale. + Set the scale of preprocessed inputs s.t. the blob = blob * scale. + N.B. input_scale is done AFTER mean subtraction and other preprocessing + while raw_scale is done BEFORE. Take input_: which input to assign this scale factor @@ -243,6 +242,22 @@ def _Net_set_input_scale(self, input_, scale): self.input_scale[input_] = scale +def _Net_set_raw_scale(self, input_, scale): + """ + Set the scale of raw features s.t. the input blob = input * scale. + While Python represents images in [0, 1], certain Caffe models + like CaffeNet and AlexNet represent images in [0, 255] so the raw_scale + of these models must be 255. + + Take + input_: which input to assign this scale factor + scale: scale coefficient + """ + if input_ not in self.inputs: + raise Exception('Input not in {}'.format(self.inputs)) + self.raw_scale[input_] = scale + + def _Net_set_channel_swap(self, input_, order): """ Set the input channel order for e.g. RGB to BGR conversion @@ -263,10 +278,11 @@ def _Net_preprocess(self, input_name, input_): Format input for Caffe: - convert to single - resize to input dimensions (preserving number of channels) - - scale feature - reorder channels (for instance color to BGR) - - subtract mean + - scale raw input (e.g. from [0, 1] to [0, 255] for ImageNet models) - transpose dimensions to K x H x W + - subtract mean + - scale feature Take input_name: name of input blob to preprocess for @@ -275,20 +291,23 @@ def _Net_preprocess(self, input_name, input_): Give caffe_inputs: (K x H x W) ndarray """ - caffe_in = input_.astype(np.float32) + caffe_in = input_.astype(np.float32, copy=False) mean = self.mean.get(input_name) input_scale = self.input_scale.get(input_name) + raw_scale = self.raw_scale.get(input_name) channel_order = self.channel_swap.get(input_name) in_size = self.blobs[input_name].data.shape[2:] if caffe_in.shape[:2] != in_size: caffe_in = caffe.io.resize_image(caffe_in, in_size) - if input_scale is not None: - caffe_in *= input_scale if channel_order is not None: caffe_in = caffe_in[:, :, channel_order] caffe_in = caffe_in.transpose((2, 0, 1)) + if raw_scale is not None: + caffe_in *= raw_scale if mean is not None: caffe_in -= mean + if input_scale is not None: + caffe_in *= input_scale return caffe_in @@ -299,16 +318,19 @@ def _Net_deprocess(self, input_name, input_): decaf_in = input_.copy().squeeze() mean = self.mean.get(input_name) input_scale = self.input_scale.get(input_name) + raw_scale = self.raw_scale.get(input_name) channel_order = self.channel_swap.get(input_name) + if input_scale is not None: + decaf_in /= input_scale if mean is not None: decaf_in += mean + if raw_scale is not None: + decaf_in /= raw_scale decaf_in = decaf_in.transpose((1,2,0)) if channel_order is not None: channel_order_inverse = [channel_order.index(i) for i in range(decaf_in.shape[2])] decaf_in = decaf_in[:, :, channel_order_inverse] - if input_scale is not None: - decaf_in /= input_scale return decaf_in @@ -364,6 +386,7 @@ def _Net_batch(self, blobs): Net.forward_backward_all = _Net_forward_backward_all Net.set_mean = _Net_set_mean Net.set_input_scale = _Net_set_input_scale +Net.set_raw_scale = _Net_set_raw_scale Net.set_channel_swap = _Net_set_channel_swap Net.preprocess = _Net_preprocess Net.deprocess = _Net_deprocess diff --git a/python/classify.py b/python/classify.py index fdaeeb01be4..417f8b5442c 100755 --- a/python/classify.py +++ b/python/classify.py @@ -66,8 +66,12 @@ def main(argv): parser.add_argument( "--input_scale", type=float, - default=255, - help="Multiply input features by this scale before input to net" + help="Multiply input features by this scale to finish input preprocessing." + ) + parser.add_argument( + "--raw_scale", + type=float, + help="Multiply raw input by this scale before preprocessing." ) parser.add_argument( "--channel_swap", diff --git a/python/detect.py b/python/detect.py index a3bee5c5cf8..4cfe0825dd9 100755 --- a/python/detect.py +++ b/python/detect.py @@ -76,8 +76,12 @@ def main(argv): parser.add_argument( "--input_scale", type=float, - default=255, - help="Multiply input features by this scale before input to net" + help="Multiply input features by this scale to finish input preprocessing." + ) + parser.add_argument( + "--raw_scale", + type=float, + help="Multiply raw input by this scale before preprocessing." ) parser.add_argument( "--channel_swap", @@ -99,7 +103,8 @@ def main(argv): # Make detector. detector = caffe.Detector(args.model_def, args.pretrained_model, gpu=args.gpu, mean_file=args.mean_file, - input_scale=args.input_scale, channel_swap=channel_swap, + input_scale=args.input_scale, raw_scale=args.raw_scale, + channel_swap=channel_swap, context_pad=args.context_pad) if args.gpu: From e1b3413708ffc51f5ccc07f9c81f748fc36864c0 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 1 Aug 2014 17:55:30 -0700 Subject: [PATCH 388/408] take array in pycaffe `Net.set_mean()` instead of file path --- examples/filter_visualization.ipynb | 2 +- examples/imagenet_classification.ipynb | 4 ++-- examples/net_surgery.ipynb | 2 +- python/caffe/classifier.py | 8 ++++---- python/caffe/detector.py | 8 ++++---- python/caffe/pycaffe.py | 5 ++--- python/classify.py | 13 +++++++++---- python/detect.py | 8 ++++++-- 8 files changed, 29 insertions(+), 21 deletions(-) diff --git a/examples/filter_visualization.ipynb b/examples/filter_visualization.ipynb index ea99f06b148..bbc919ba68b 100644 --- a/examples/filter_visualization.ipynb +++ b/examples/filter_visualization.ipynb @@ -65,7 +65,7 @@ "net.set_phase_test()\n", "net.set_mode_cpu()\n", "# input preprocessing: 'data' is the name of the input blob == net.inputs[0]\n", - "net.set_mean('data', caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy') # ImageNet mean\n", + "net.set_mean('data', np.load(caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy')) # ImageNet mean\n", "net.set_raw_scale('data', 255) # the reference model operates on images in [0,255] range instead of [0,1]\n", "net.set_channel_swap('data', (2,1,0)) # the reference model has channels in BGR order instead of RGB" ], diff --git a/examples/imagenet_classification.ipynb b/examples/imagenet_classification.ipynb index 60e8bd070fb..fc08c743093 100644 --- a/examples/imagenet_classification.ipynb +++ b/examples/imagenet_classification.ipynb @@ -53,7 +53,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Loading a network is easy. `caffe.Classifier` takes care of everything. Note the arguments for configuring input preprocessing: mean subtraction switched on by giving a mean file, input channel swapping takes care of mapping RGB into the reference ImageNet model's BGR order, and raw scaling multiplies the feature scale from the input [0,1] to the ImageNet model's [0,255]." + "Loading a network is easy. `caffe.Classifier` takes care of everything. Note the arguments for configuring input preprocessing: mean subtraction switched on by giving a mean array, input channel swapping takes care of mapping RGB into the reference ImageNet model's BGR order, and raw scaling multiplies the feature scale from the input [0,1] to the ImageNet model's [0,255]." ] }, { @@ -61,7 +61,7 @@ "collapsed": false, "input": [ "net = caffe.Classifier(MODEL_FILE, PRETRAINED,\n", - " mean_file=caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy',\n", + " mean=np.load(caffe_root + 'python/caffe/imagenet/ilsvrc_2012_mean.npy'),\n", " channel_swap=(2,1,0),\n", " raw_scale=255,\n", " image_dims=(256, 256))" diff --git a/examples/net_surgery.ipynb b/examples/net_surgery.ipynb index 31847b2418e..5f151e4be3a 100644 --- a/examples/net_surgery.ipynb +++ b/examples/net_surgery.ipynb @@ -275,7 +275,7 @@ "# load input and configure preprocessing\n", "im = caffe.io.load_image('images/cat.jpg')\n", "plt.imshow(im)\n", - "net_full_conv.set_mean('data', '../python/caffe/imagenet/ilsvrc_2012_mean.npy')\n", + "net_full_conv.set_mean('data', np.load('../python/caffe/imagenet/ilsvrc_2012_mean.npy'))\n", "net_full_conv.set_channel_swap('data', (2,1,0))\n", "net_full_conv.set_raw_scale('data', 255.0)\n", "# make classification map by forward pass and show top prediction index per location\n", diff --git a/python/caffe/classifier.py b/python/caffe/classifier.py index 48835bab842..61e916ccb44 100644 --- a/python/caffe/classifier.py +++ b/python/caffe/classifier.py @@ -14,13 +14,13 @@ class Classifier(caffe.Net): by scaling, center cropping, or oversampling. """ def __init__(self, model_file, pretrained_file, image_dims=None, - gpu=False, mean_file=None, input_scale=None, raw_scale=None, + gpu=False, mean=None, input_scale=None, raw_scale=None, channel_swap=None): """ Take image_dims: dimensions to scale input for cropping/sampling. Default is to scale to net input size for whole-image crop. - gpu, mean_file, input_scale, raw_scale, channel_swap: params for + gpu, mean, input_scale, raw_scale, channel_swap: params for preprocessing options. """ caffe.Net.__init__(self, model_file, pretrained_file) @@ -31,8 +31,8 @@ def __init__(self, model_file, pretrained_file, image_dims=None, else: self.set_mode_cpu() - if mean_file: - self.set_mean(self.inputs[0], mean_file) + if mean is not None: + self.set_mean(self.inputs[0], mean) if input_scale is not None: self.set_input_scale(self.inputs[0], input_scale) if raw_scale is not None: diff --git a/python/caffe/detector.py b/python/caffe/detector.py index a9b06cd17c7..ccb5a1f24f2 100644 --- a/python/caffe/detector.py +++ b/python/caffe/detector.py @@ -24,12 +24,12 @@ class Detector(caffe.Net): Detector extends Net for windowed detection by a list of crops or selective search proposals. """ - def __init__(self, model_file, pretrained_file, gpu=False, mean_file=None, + def __init__(self, model_file, pretrained_file, gpu=False, mean=None, input_scale=None, raw_scale=None, channel_swap=None, context_pad=None): """ Take - gpu, mean_file, input_scale, raw_scale, channel_swap: params for + gpu, mean, input_scale, raw_scale, channel_swap: params for preprocessing options. context_pad: amount of surrounding context to take s.t. a `context_pad` sized border of pixels in the network input image is context, as in @@ -43,8 +43,8 @@ def __init__(self, model_file, pretrained_file, gpu=False, mean_file=None, else: self.set_mode_cpu() - if mean_file: - self.set_mean(self.inputs[0], mean_file) + if mean is not None: + self.set_mean(self.inputs[0], mean) if input_scale is not None: self.set_input_scale(self.inputs[0], input_scale) if raw_scale is not None: diff --git a/python/caffe/pycaffe.py b/python/caffe/pycaffe.py index 43648d0af34..9a230a72b3c 100644 --- a/python/caffe/pycaffe.py +++ b/python/caffe/pycaffe.py @@ -201,20 +201,19 @@ def _Net_forward_backward_all(self, blobs=None, diffs=None, **kwargs): return all_outs, all_diffs -def _Net_set_mean(self, input_, mean_f, mode='elementwise'): +def _Net_set_mean(self, input_, mean, mode='elementwise'): """ Set the mean to subtract for data centering. Take input_: which input to assign this mean. - mean_f: path to mean .npy with ndarray (input dimensional or broadcastable) + mean: mean K x H x W ndarray (input dimensional or broadcastable) mode: elementwise = use the whole mean (and check dimensions) channel = channel constant (e.g. mean pixel instead of mean image) """ if input_ not in self.inputs: raise Exception('Input not in {}'.format(self.inputs)) in_shape = self.blobs[input_].data.shape - mean = np.load(mean_f) if mode == 'elementwise': if mean.shape[1:] != in_shape[2:]: # Resize mean (which requires H x W x K input). diff --git a/python/classify.py b/python/classify.py index 417f8b5442c..d3d239cbb7d 100755 --- a/python/classify.py +++ b/python/classify.py @@ -78,7 +78,6 @@ def main(argv): default='2,1,0', help="Order to permute input channels. The default converts " + "RGB -> BGR since BGR is the Caffe default by way of OpenCV." - ) parser.add_argument( "--ext", @@ -89,12 +88,18 @@ def main(argv): args = parser.parse_args() image_dims = [int(s) for s in args.images_dim.split(',')] - channel_swap = [int(s) for s in args.channel_swap.split(',')] + + mean, channel_swap = None, None + if args.mean_file: + mean = np.load(args.mean_file) + if args.channel_swap: + channel_swap = [int(s) for s in args.channel_swap.split(',')] # Make classifier. classifier = caffe.Classifier(args.model_def, args.pretrained_model, - image_dims=image_dims, gpu=args.gpu, mean_file=args.mean_file, - input_scale=args.input_scale, channel_swap=channel_swap) + image_dims=image_dims, gpu=args.gpu, mean=mean, + input_scale=args.input_scale, raw_scale=args.raw_scale, + channel_swap=channel_swap) if args.gpu: print 'GPU mode' diff --git a/python/detect.py b/python/detect.py index 4cfe0825dd9..77f4676aec1 100755 --- a/python/detect.py +++ b/python/detect.py @@ -98,11 +98,15 @@ def main(argv): ) args = parser.parse_args() - channel_swap = [int(s) for s in args.channel_swap.split(',')] + mean, channel_swap = None, None + if args.mean_file: + mean = np.load(args.mean_file) + if args.channel_swap: + channel_swap = [int(s) for s in args.channel_swap.split(',')] # Make detector. detector = caffe.Detector(args.model_def, args.pretrained_model, - gpu=args.gpu, mean_file=args.mean_file, + gpu=args.gpu, mean=mean, input_scale=args.input_scale, raw_scale=args.raw_scale, channel_swap=channel_swap, context_pad=args.context_pad) From 4f7726916cb965c79975c44e833e71347fa1822c Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 1 Aug 2014 18:46:17 -0700 Subject: [PATCH 389/408] fix pycaffe context cropping with or without mean --- python/caffe/detector.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/python/caffe/detector.py b/python/caffe/detector.py index ccb5a1f24f2..2fc23db0c04 100644 --- a/python/caffe/detector.py +++ b/python/caffe/detector.py @@ -186,9 +186,16 @@ def configure_crop(self, context_pad): raw_scale = self.raw_scale.get(self.inputs[0]) channel_order = self.channel_swap.get(self.inputs[0]) # Padding context crops needs the mean in unprocessed input space. - self.crop_mean = self.mean[self.inputs[0]].copy() - self.crop_mean = self.crop_mean.transpose((1,2,0)) - channel_order_inverse = [channel_order.index(i) - for i in range(self.crop_mean.shape[2])] - self.crop_mean = self.crop_mean[:,:, channel_order_inverse] - self.crop_mean /= raw_scale + mean = self.mean.get(self.inputs[0]) + if mean is not None: + crop_mean = mean.copy().transpose((1,2,0)) + if channel_order is not None: + channel_order_inverse = [channel_order.index(i) + for i in range(crop_mean.shape[2])] + crop_mean = crop_mean[:,:, channel_order_inverse] + if raw_scale is not None: + crop_mean /= raw_scale + self.crop_mean = crop_mean + else: + self.crop_mean = np.zeros(self.blobs[self.inputs[0]].data.shape, + dtype=np.float32) From 0db94786a7a463fed49825811fac903f1f1fc3c8 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Tue, 5 Aug 2014 10:14:35 -0700 Subject: [PATCH 390/408] drop np.asarray() in favor of declaration (~1.75x speedup) --- python/caffe/classifier.py | 17 +++++++++++------ python/caffe/detector.py | 7 +++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/python/caffe/classifier.py b/python/caffe/classifier.py index 61e916ccb44..fe471ca13b1 100644 --- a/python/caffe/classifier.py +++ b/python/caffe/classifier.py @@ -60,12 +60,15 @@ def predict(self, inputs, oversample=True): for N images and C classes. """ # Scale to standardize input dimensions. - inputs = np.asarray([caffe.io.resize_image(im, self.image_dims) - for im in inputs]) + input_ = np.zeros((len(inputs), + self.image_dims[0], self.image_dims[1], inputs[0].shape[2]), + dtype=np.float32) + for ix, in_ in enumerate(inputs): + input_[ix] = caffe.io.resize_image(in_, self.image_dims) if oversample: # Generate center, corner, and mirrored crops. - inputs = caffe.io.oversample(inputs, self.crop_dims) + input_ = caffe.io.oversample(input_, self.crop_dims) else: # Take center crop. center = np.array(self.image_dims) / 2.0 @@ -73,11 +76,13 @@ def predict(self, inputs, oversample=True): -self.crop_dims / 2.0, self.crop_dims / 2.0 ]) - inputs = inputs[:, crop[0]:crop[2], crop[1]:crop[3], :] + input_ = input_[:, crop[0]:crop[2], crop[1]:crop[3], :] # Classify - caffe_in = np.asarray([self.preprocess(self.inputs[0], in_) - for in_ in inputs]) + caffe_in = np.zeros(np.array(input_.shape)[[0,3,1,2]], + dtype=np.float32) + for ix, in_ in enumerate(input_): + caffe_in[ix] = self.preprocess(self.inputs[0], in_) out = self.forward_all(**{self.inputs[0]: caffe_in}) predictions = out[self.outputs[0]].squeeze(axis=(2,3)) diff --git a/python/caffe/detector.py b/python/caffe/detector.py index 2fc23db0c04..f219b6105e1 100644 --- a/python/caffe/detector.py +++ b/python/caffe/detector.py @@ -76,8 +76,11 @@ def detect_windows(self, images_windows): window_inputs.append(self.crop(image, window)) # Run through the net (warping windows to input dimensions). - caffe_in = np.asarray([self.preprocess(self.inputs[0], window_in) - for window_in in window_inputs]) + caffe_in = np.zeros((len(window_inputs), window_inputs[0].shape[2]) + + self.blobs[self.inputs[0]].data.shape[2:], + dtype=np.float32) + for ix, window_in in enumerate(window_inputs): + caffe_in[ix] = self.preprocess(self.inputs[0], window_in) out = self.forward_all(**{self.inputs[0]: caffe_in}) predictions = out[self.outputs[0]].squeeze(axis=(2,3)) From 9410e93480f232e9bcce052414b268d8b8b6af3a Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 00:16:36 -0700 Subject: [PATCH 391/408] clarify the license and copyright terms of the project As has been the case, contributions are copyright their respective contributors and the project is BSD-2 licensed. By contributing to the project, contributors release their contributions under these copyright and license terms as declared in LICENSE. --- CONTRIBUTORS.md | 2 ++ LICENSE | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 2de2a717eff..8db66ea82c6 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -15,3 +15,5 @@ to see line-by-line credits and to see the change log even across renames and rewrites. Please refer to the [acknowledgements](http://caffe.berkeleyvision.org/#acknowledgements) on the Caffe site for further details. + +**Copyright** is held by the original contributor according to the versioning history; see LICENSE. diff --git a/LICENSE b/LICENSE index bac9c99fd41..efcc5c5b6b0 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,22 @@ +COPYRIGHT + +All contributions by the University of California: Copyright (c) 2014, The Regents of the University of California (Regents) All rights reserved. +All other contributions: +Copyright (c) 2014, the respective contributors +All rights reserved. + +Caffe uses a shared copyright model: each contributor holds copyright over +their contributions to Caffe. The project versioning records all such +contribution and copyright details. If a contributor wants to further mark +their specific copyright on a particular contribution, they should indicate +their copyright solely in the commit message of the change when it is +committed. + +LICENSE + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -20,3 +36,9 @@ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +CONTRIBUTION AGREEMENT + +By contributing to the BVLC/caffe repository through pull-request, comment, +or otherwise, the contributor releases their content to the +license and copyright terms herein. From b97b88f0c2b7e32ab9e17d4325ef6bc4251c0cc8 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 00:43:17 -0700 Subject: [PATCH 392/408] LICENSE governs the whole project so strip file headers --- examples/cifar10/convert_cifar_data.cpp | 1 - examples/mnist/convert_mnist_data.cpp | 1 - include/caffe/blob.hpp | 2 -- include/caffe/caffe.hpp | 1 - include/caffe/common.hpp | 2 -- include/caffe/common_layers.hpp | 2 -- include/caffe/data_layers.hpp | 2 -- include/caffe/filler.hpp | 2 -- include/caffe/internal_thread.hpp | 4 +--- include/caffe/layer.hpp | 2 -- include/caffe/loss_layers.hpp | 2 -- include/caffe/net.hpp | 2 -- include/caffe/neuron_layers.hpp | 6 ++---- include/caffe/solver.hpp | 2 -- include/caffe/syncedmem.hpp | 2 -- include/caffe/test/test_caffe_main.hpp | 2 -- include/caffe/test/test_gradient_check_util.hpp | 2 -- include/caffe/util/benchmark.hpp | 2 -- include/caffe/util/device_alternate.hpp | 2 -- include/caffe/util/im2col.hpp | 2 -- include/caffe/util/insert_splits.hpp | 2 -- include/caffe/util/io.hpp | 2 -- include/caffe/util/math_functions.hpp | 2 -- include/caffe/util/mkl_alternate.hpp | 2 -- include/caffe/util/rng.hpp | 2 -- include/caffe/util/upgrade_proto.hpp | 2 -- include/caffe/vision_layers.hpp | 2 -- matlab/caffe/matcaffe.cpp | 1 - python/caffe/_caffe.cpp | 1 - src/caffe/blob.cpp | 2 -- src/caffe/common.cpp | 2 -- src/caffe/layer_factory.cpp | 2 -- src/caffe/layers/accuracy_layer.cpp | 2 -- src/caffe/layers/argmax_layer.cpp | 2 -- src/caffe/layers/bnll_layer.cpp | 2 -- src/caffe/layers/bnll_layer.cu | 2 -- src/caffe/layers/concat_layer.cpp | 2 -- src/caffe/layers/concat_layer.cu | 2 -- src/caffe/layers/conv_layer.cpp | 2 -- src/caffe/layers/conv_layer.cu | 2 -- src/caffe/layers/data_layer.cpp | 2 -- src/caffe/layers/data_layer.cu | 2 -- src/caffe/layers/dropout_layer.cpp | 2 -- src/caffe/layers/dropout_layer.cu | 2 -- src/caffe/layers/dummy_data_layer.cpp | 2 -- src/caffe/layers/eltwise_layer.cpp | 2 -- src/caffe/layers/eltwise_layer.cu | 2 -- src/caffe/layers/euclidean_loss_layer.cpp | 2 -- src/caffe/layers/euclidean_loss_layer.cu | 2 -- src/caffe/layers/flatten_layer.cpp | 2 -- src/caffe/layers/flatten_layer.cu | 2 -- src/caffe/layers/hdf5_data_layer.cpp | 1 - src/caffe/layers/hdf5_data_layer.cu | 1 - src/caffe/layers/hdf5_output_layer.cpp | 2 -- src/caffe/layers/hdf5_output_layer.cu | 2 -- src/caffe/layers/hinge_loss_layer.cpp | 2 -- src/caffe/layers/im2col_layer.cpp | 2 -- src/caffe/layers/im2col_layer.cu | 2 -- src/caffe/layers/image_data_layer.cpp | 2 -- src/caffe/layers/image_data_layer.cu | 2 -- src/caffe/layers/infogain_loss_layer.cpp | 2 -- src/caffe/layers/inner_product_layer.cpp | 2 -- src/caffe/layers/inner_product_layer.cu | 2 -- src/caffe/layers/loss_layer.cpp | 2 -- src/caffe/layers/lrn_layer.cpp | 2 -- src/caffe/layers/lrn_layer.cu | 2 -- src/caffe/layers/memory_data_layer.cpp | 2 -- src/caffe/layers/multinomial_logistic_loss_layer.cpp | 2 -- src/caffe/layers/neuron_layer.cpp | 2 -- src/caffe/layers/pooling_layer.cpp | 2 -- src/caffe/layers/pooling_layer.cu | 2 -- src/caffe/layers/power_layer.cpp | 2 -- src/caffe/layers/power_layer.cu | 2 -- src/caffe/layers/relu_layer.cpp | 2 -- src/caffe/layers/relu_layer.cu | 2 -- src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp | 2 -- src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu | 2 -- src/caffe/layers/sigmoid_layer.cpp | 2 -- src/caffe/layers/sigmoid_layer.cu | 2 -- src/caffe/layers/slice_layer.cpp | 2 -- src/caffe/layers/slice_layer.cu | 2 -- src/caffe/layers/softmax_layer.cpp | 1 - src/caffe/layers/softmax_layer.cu | 2 -- src/caffe/layers/softmax_loss_layer.cpp | 2 -- src/caffe/layers/softmax_loss_layer.cu | 2 -- src/caffe/layers/split_layer.cpp | 2 -- src/caffe/layers/split_layer.cu | 2 -- src/caffe/layers/tanh_layer.cpp | 1 - src/caffe/layers/tanh_layer.cu | 1 - src/caffe/layers/threshold_layer.cpp | 2 -- src/caffe/layers/threshold_layer.cu | 2 -- src/caffe/layers/window_data_layer.cpp | 1 - src/caffe/layers/window_data_layer.cu | 1 - src/caffe/net.cpp | 2 -- src/caffe/proto/caffe.proto | 2 -- src/caffe/proto/caffe_pretty_print.proto | 2 -- src/caffe/solver.cpp | 2 -- src/caffe/syncedmem.cpp | 2 -- src/caffe/test/test_accuracy_layer.cpp | 2 -- src/caffe/test/test_argmax_layer.cpp | 2 -- src/caffe/test/test_benchmark.cpp | 2 -- src/caffe/test/test_blob.cpp | 2 -- src/caffe/test/test_caffe_main.cpp | 2 -- src/caffe/test/test_common.cpp | 2 -- src/caffe/test/test_concat_layer.cpp | 2 -- src/caffe/test/test_convolution_layer.cpp | 2 -- src/caffe/test/test_data_layer.cpp | 2 -- src/caffe/test/test_dummy_data_layer.cpp | 2 -- src/caffe/test/test_eltwise_layer.cpp | 2 -- src/caffe/test/test_euclidean_loss_layer.cpp | 2 -- src/caffe/test/test_filler.cpp | 2 -- src/caffe/test/test_flatten_layer.cpp | 2 -- src/caffe/test/test_hdf5_output_layer.cpp | 2 -- src/caffe/test/test_hdf5data_layer.cpp | 2 -- src/caffe/test/test_hinge_loss_layer.cpp | 2 -- src/caffe/test/test_im2col_kernel.cu | 2 -- src/caffe/test/test_im2col_layer.cpp | 2 -- src/caffe/test/test_image_data_layer.cpp | 2 -- src/caffe/test/test_infogain_loss_layer.cpp | 2 -- src/caffe/test/test_inner_product_layer.cpp | 2 -- src/caffe/test/test_lrn_layer.cpp | 2 -- src/caffe/test/test_math_functions.cpp | 2 -- src/caffe/test/test_maxpool_dropout_layers.cpp | 2 -- src/caffe/test/test_memory_data_layer.cpp | 2 -- src/caffe/test/test_multinomial_logistic_loss_layer.cpp | 2 -- src/caffe/test/test_net.cpp | 2 -- src/caffe/test/test_neuron_layer.cpp | 2 -- src/caffe/test/test_platform.cpp | 2 -- src/caffe/test/test_pooling_layer.cpp | 2 -- src/caffe/test/test_power_layer.cpp | 2 -- src/caffe/test/test_protobuf.cpp | 2 -- src/caffe/test/test_random_number_generator.cpp | 2 -- src/caffe/test/test_sgd_solver.cpp | 2 -- src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp | 2 -- src/caffe/test/test_slice_layer.cpp | 2 -- src/caffe/test/test_softmax_layer.cpp | 2 -- src/caffe/test/test_softmax_with_loss_layer.cpp | 2 -- src/caffe/test/test_solver.cpp | 2 -- src/caffe/test/test_split_layer.cpp | 2 -- src/caffe/test/test_stochastic_pooling.cpp | 2 -- src/caffe/test/test_syncedmem.cpp | 2 -- src/caffe/test/test_tanh_layer.cpp | 1 - src/caffe/test/test_threshold_layer.cpp | 2 -- src/caffe/test/test_upgrade_proto.cpp | 2 -- src/caffe/test/test_util_blas.cpp | 2 -- src/caffe/util/benchmark.cpp | 2 -- src/caffe/util/im2col.cpp | 2 -- src/caffe/util/im2col.cu | 2 -- src/caffe/util/insert_splits.cpp | 2 -- src/caffe/util/io.cpp | 2 -- src/caffe/util/math_functions.cpp | 2 -- src/caffe/util/math_functions.cu | 2 -- src/caffe/util/upgrade_proto.cpp | 2 -- tools/caffe.cpp | 1 - tools/compute_image_mean.cpp | 2 -- tools/convert_imageset.cpp | 1 - tools/device_query.cpp | 2 -- tools/dump_network.cpp | 2 -- tools/extract_features.cpp | 2 -- tools/finetune_net.cpp | 2 -- tools/net_speed_benchmark.cpp | 2 -- tools/test_net.cpp | 2 -- tools/train_net.cpp | 2 -- tools/upgrade_net_proto_binary.cpp | 2 -- tools/upgrade_net_proto_text.cpp | 2 -- 165 files changed, 3 insertions(+), 318 deletions(-) diff --git a/examples/cifar10/convert_cifar_data.cpp b/examples/cifar10/convert_cifar_data.cpp index d1f3f3e0e9f..2d5589bd30a 100644 --- a/examples/cifar10/convert_cifar_data.cpp +++ b/examples/cifar10/convert_cifar_data.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // // This script converts the CIFAR dataset to the leveldb format used // by caffe to perform classification. diff --git a/examples/mnist/convert_mnist_data.cpp b/examples/mnist/convert_mnist_data.cpp index c2cf4b3af33..a97a9285a19 100644 --- a/examples/mnist/convert_mnist_data.cpp +++ b/examples/mnist/convert_mnist_data.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // // This script converts the MNIST dataset to the leveldb format used // by caffe to perform classification. diff --git a/include/caffe/blob.hpp b/include/caffe/blob.hpp index 2086c5119bc..eb0c25ba394 100644 --- a/include/caffe/blob.hpp +++ b/include/caffe/blob.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_BLOB_HPP_ #define CAFFE_BLOB_HPP_ diff --git a/include/caffe/caffe.hpp b/include/caffe/caffe.hpp index 172fc5f3bf7..0af9ef04c43 100644 --- a/include/caffe/caffe.hpp +++ b/include/caffe/caffe.hpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // caffe.hpp is the header file that you need to include in your code. It wraps // all the internal caffe header files into one for simpler inclusion. diff --git a/include/caffe/common.hpp b/include/caffe/common.hpp index d3dbd471e67..97a34962c63 100644 --- a/include/caffe/common.hpp +++ b/include/caffe/common.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_COMMON_HPP_ #define CAFFE_COMMON_HPP_ diff --git a/include/caffe/common_layers.hpp b/include/caffe/common_layers.hpp index ed11487c6f3..1e282d33d7a 100644 --- a/include/caffe/common_layers.hpp +++ b/include/caffe/common_layers.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_COMMON_LAYERS_HPP_ #define CAFFE_COMMON_LAYERS_HPP_ diff --git a/include/caffe/data_layers.hpp b/include/caffe/data_layers.hpp index f868b2869da..31774828a69 100644 --- a/include/caffe/data_layers.hpp +++ b/include/caffe/data_layers.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_DATA_LAYERS_HPP_ #define CAFFE_DATA_LAYERS_HPP_ diff --git a/include/caffe/filler.hpp b/include/caffe/filler.hpp index beeee01dcb9..a8366801132 100644 --- a/include/caffe/filler.hpp +++ b/include/caffe/filler.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - // Fillers are random number generators that fills a blob using the specified // algorithm. The expectation is that they are only going to be used during // initialization time and will not involve any GPUs. diff --git a/include/caffe/internal_thread.hpp b/include/caffe/internal_thread.hpp index 46f67360f0c..8520899ada6 100644 --- a/include/caffe/internal_thread.hpp +++ b/include/caffe/internal_thread.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_INTERNAL_THREAD_HPP_ #define CAFFE_INTERNAL_THREAD_HPP_ @@ -28,7 +26,7 @@ class InternalThread { } protected: - /* Implement this method in your subclass + /* Implement this method in your subclass with the code you want your thread to run. */ virtual void InternalThreadEntry() = 0; diff --git a/include/caffe/layer.hpp b/include/caffe/layer.hpp index aac82447a41..dca5f8709af 100644 --- a/include/caffe/layer.hpp +++ b/include/caffe/layer.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_LAYER_H_ #define CAFFE_LAYER_H_ diff --git a/include/caffe/loss_layers.hpp b/include/caffe/loss_layers.hpp index 73a677b624a..bd2618d6d36 100644 --- a/include/caffe/loss_layers.hpp +++ b/include/caffe/loss_layers.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_LOSS_LAYERS_HPP_ #define CAFFE_LOSS_LAYERS_HPP_ diff --git a/include/caffe/net.hpp b/include/caffe/net.hpp index 808b244e47d..8c22137e514 100644 --- a/include/caffe/net.hpp +++ b/include/caffe/net.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_NET_HPP_ #define CAFFE_NET_HPP_ diff --git a/include/caffe/neuron_layers.hpp b/include/caffe/neuron_layers.hpp index 4b3f6f4394d..6fe425229e8 100644 --- a/include/caffe/neuron_layers.hpp +++ b/include/caffe/neuron_layers.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_NEURON_LAYERS_HPP_ #define CAFFE_NEURON_LAYERS_HPP_ @@ -233,12 +231,12 @@ class TanHLayer : public NeuronLayer { /* ThresholdLayer Outputs 1 if value in input is above threshold, 0 otherwise. - The defult threshold = 0, which means positive values would become 1 and + The defult threshold = 0, which means positive values would become 1 and negative or 0, would become 0 y = 1 if x > threshold y = 0 if x <= threshold - + y' = don't differenciable */ template diff --git a/include/caffe/solver.hpp b/include/caffe/solver.hpp index 811d70372a4..cdf583a1429 100644 --- a/include/caffe/solver.hpp +++ b/include/caffe/solver.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_OPTIMIZATION_SOLVER_HPP_ #define CAFFE_OPTIMIZATION_SOLVER_HPP_ diff --git a/include/caffe/syncedmem.hpp b/include/caffe/syncedmem.hpp index 2b7f349025a..b2fc287b23e 100644 --- a/include/caffe/syncedmem.hpp +++ b/include/caffe/syncedmem.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_SYNCEDMEM_HPP_ #define CAFFE_SYNCEDMEM_HPP_ diff --git a/include/caffe/test/test_caffe_main.hpp b/include/caffe/test/test_caffe_main.hpp index 759e01a2629..40b9effc5f1 100644 --- a/include/caffe/test/test_caffe_main.hpp +++ b/include/caffe/test/test_caffe_main.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - // The main caffe test code. Your test cpp code should include this hpp // to allow a main function to be compiled into the binary. #ifndef CAFFE_TEST_TEST_CAFFE_MAIN_HPP_ diff --git a/include/caffe/test/test_gradient_check_util.hpp b/include/caffe/test/test_gradient_check_util.hpp index 034aeccb90b..4cf2cbc9dc8 100644 --- a/include/caffe/test/test_gradient_check_util.hpp +++ b/include/caffe/test/test_gradient_check_util.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_TEST_GRADIENT_CHECK_UTIL_H_ #define CAFFE_TEST_GRADIENT_CHECK_UTIL_H_ diff --git a/include/caffe/util/benchmark.hpp b/include/caffe/util/benchmark.hpp index 8ee76140d9a..f7ef8eaf3ee 100644 --- a/include/caffe/util/benchmark.hpp +++ b/include/caffe/util/benchmark.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_UTIL_BENCHMARK_H_ #define CAFFE_UTIL_BENCHMARK_H_ diff --git a/include/caffe/util/device_alternate.hpp b/include/caffe/util/device_alternate.hpp index abee4f57dd1..cf1aef759cc 100644 --- a/include/caffe/util/device_alternate.hpp +++ b/include/caffe/util/device_alternate.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_UTIL_DEVICE_ALTERNATE_H_ #define CAFFE_UTIL_DEVICE_ALTERNATE_H_ diff --git a/include/caffe/util/im2col.hpp b/include/caffe/util/im2col.hpp index c263997ae66..0051e2fa067 100644 --- a/include/caffe/util/im2col.hpp +++ b/include/caffe/util/im2col.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef _CAFFE_UTIL_IM2COL_HPP_ #define _CAFFE_UTIL_IM2COL_HPP_ diff --git a/include/caffe/util/insert_splits.hpp b/include/caffe/util/insert_splits.hpp index 4da1ea81502..4ca933b9203 100644 --- a/include/caffe/util/insert_splits.hpp +++ b/include/caffe/util/insert_splits.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef _CAFFE_UTIL_INSERT_SPLITS_HPP_ #define _CAFFE_UTIL_INSERT_SPLITS_HPP_ diff --git a/include/caffe/util/io.hpp b/include/caffe/util/io.hpp index 4f517ff1d71..cdf4d9e724e 100644 --- a/include/caffe/util/io.hpp +++ b/include/caffe/util/io.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_UTIL_IO_H_ #define CAFFE_UTIL_IO_H_ diff --git a/include/caffe/util/math_functions.hpp b/include/caffe/util/math_functions.hpp index 001950113a1..744dc849b94 100644 --- a/include/caffe/util/math_functions.hpp +++ b/include/caffe/util/math_functions.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_UTIL_MATH_FUNCTIONS_H_ #define CAFFE_UTIL_MATH_FUNCTIONS_H_ diff --git a/include/caffe/util/mkl_alternate.hpp b/include/caffe/util/mkl_alternate.hpp index c30eab8d3d4..d72bcd2814d 100644 --- a/include/caffe/util/mkl_alternate.hpp +++ b/include/caffe/util/mkl_alternate.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_UTIL_MKL_ALTERNATE_H_ #define CAFFE_UTIL_MKL_ALTERNATE_H_ diff --git a/include/caffe/util/rng.hpp b/include/caffe/util/rng.hpp index f774d704569..8f1cf0d17c2 100644 --- a/include/caffe/util/rng.hpp +++ b/include/caffe/util/rng.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_RNG_CPP_HPP_ #define CAFFE_RNG_CPP_HPP_ diff --git a/include/caffe/util/upgrade_proto.hpp b/include/caffe/util/upgrade_proto.hpp index 39e4f4ce22c..1ee184a34e9 100644 --- a/include/caffe/util/upgrade_proto.hpp +++ b/include/caffe/util/upgrade_proto.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_UTIL_UPGRADE_PROTO_H_ #define CAFFE_UTIL_UPGRADE_PROTO_H_ diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index 80dc37543ee..0797065081f 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_VISION_LAYERS_HPP_ #define CAFFE_VISION_LAYERS_HPP_ diff --git a/matlab/caffe/matcaffe.cpp b/matlab/caffe/matcaffe.cpp index d0e98f8319d..70652e26e49 100644 --- a/matlab/caffe/matcaffe.cpp +++ b/matlab/caffe/matcaffe.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // // matcaffe.cpp provides a wrapper of the caffe::Net class as well as some // caffe::Caffe functions so that one could easily call it from matlab. diff --git a/python/caffe/_caffe.cpp b/python/caffe/_caffe.cpp index 59317727914..3103d0267be 100644 --- a/python/caffe/_caffe.cpp +++ b/python/caffe/_caffe.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // pycaffe provides a wrapper of the caffe::Net class as well as some // caffe::Caffe functions so that one could easily call it from Python. // Note that for Python, we will simply use float as the data type. diff --git a/src/caffe/blob.cpp b/src/caffe/blob.cpp index 738b549e10c..9fd1232a9ad 100644 --- a/src/caffe/blob.cpp +++ b/src/caffe/blob.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include "caffe/blob.hpp" #include "caffe/common.hpp" #include "caffe/syncedmem.hpp" diff --git a/src/caffe/common.cpp b/src/caffe/common.cpp index 019370b1dd7..99b2292461e 100644 --- a/src/caffe/common.cpp +++ b/src/caffe/common.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layer_factory.cpp b/src/caffe/layer_factory.cpp index 1165abc6da8..118929fbff5 100644 --- a/src/caffe/layer_factory.cpp +++ b/src/caffe/layer_factory.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CAFFE_LAYER_FACTORY_HPP_ #define CAFFE_LAYER_FACTORY_HPP_ diff --git a/src/caffe/layers/accuracy_layer.cpp b/src/caffe/layers/accuracy_layer.cpp index f99b01dc105..76889d8b70a 100644 --- a/src/caffe/layers/accuracy_layer.cpp +++ b/src/caffe/layers/accuracy_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/argmax_layer.cpp b/src/caffe/layers/argmax_layer.cpp index 732f7bf15d1..b2ef91eab67 100644 --- a/src/caffe/layers/argmax_layer.cpp +++ b/src/caffe/layers/argmax_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/bnll_layer.cpp b/src/caffe/layers/bnll_layer.cpp index 9b7a0642779..4cb852031af 100644 --- a/src/caffe/layers/bnll_layer.cpp +++ b/src/caffe/layers/bnll_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/bnll_layer.cu b/src/caffe/layers/bnll_layer.cu index bc6a201e9b4..9895a06107a 100644 --- a/src/caffe/layers/bnll_layer.cu +++ b/src/caffe/layers/bnll_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/concat_layer.cpp b/src/caffe/layers/concat_layer.cpp index 32203a8d980..b76d4b2ca14 100644 --- a/src/caffe/layers/concat_layer.cpp +++ b/src/caffe/layers/concat_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/concat_layer.cu b/src/caffe/layers/concat_layer.cu index 1a97f02a62a..aea8b77e37f 100644 --- a/src/caffe/layers/concat_layer.cu +++ b/src/caffe/layers/concat_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/conv_layer.cpp b/src/caffe/layers/conv_layer.cpp index ca63e976e80..df3e31ba84a 100644 --- a/src/caffe/layers/conv_layer.cpp +++ b/src/caffe/layers/conv_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/filler.hpp" diff --git a/src/caffe/layers/conv_layer.cu b/src/caffe/layers/conv_layer.cu index 616a81a1388..04ae13932d9 100644 --- a/src/caffe/layers/conv_layer.cu +++ b/src/caffe/layers/conv_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/filler.hpp" diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index ddc7f770b46..c089c9ba5df 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/data_layer.cu b/src/caffe/layers/data_layer.cu index fcbf2346840..2ae1a640319 100644 --- a/src/caffe/layers/data_layer.cu +++ b/src/caffe/layers/data_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/dropout_layer.cpp b/src/caffe/layers/dropout_layer.cpp index 605aa151196..0621b56ec6e 100644 --- a/src/caffe/layers/dropout_layer.cpp +++ b/src/caffe/layers/dropout_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - // TODO (sergeyk): effect should not be dependent on phase. wasted memcpy. #include diff --git a/src/caffe/layers/dropout_layer.cu b/src/caffe/layers/dropout_layer.cu index 8befa4d87fb..9bcd687bb5d 100644 --- a/src/caffe/layers/dropout_layer.cu +++ b/src/caffe/layers/dropout_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/dummy_data_layer.cpp b/src/caffe/layers/dummy_data_layer.cpp index 58044f4c952..98b437eea98 100644 --- a/src/caffe/layers/dummy_data_layer.cpp +++ b/src/caffe/layers/dummy_data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/filler.hpp" diff --git a/src/caffe/layers/eltwise_layer.cpp b/src/caffe/layers/eltwise_layer.cpp index 09ca66f38e8..8085b4644cc 100644 --- a/src/caffe/layers/eltwise_layer.cpp +++ b/src/caffe/layers/eltwise_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/eltwise_layer.cu b/src/caffe/layers/eltwise_layer.cu index d47d24afad7..eec8857c577 100644 --- a/src/caffe/layers/eltwise_layer.cu +++ b/src/caffe/layers/eltwise_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/euclidean_loss_layer.cpp b/src/caffe/layers/euclidean_loss_layer.cpp index 2a814f0150a..17180d40b69 100644 --- a/src/caffe/layers/euclidean_loss_layer.cpp +++ b/src/caffe/layers/euclidean_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/euclidean_loss_layer.cu b/src/caffe/layers/euclidean_loss_layer.cu index e1358f0fb51..dd14f1995c8 100644 --- a/src/caffe/layers/euclidean_loss_layer.cu +++ b/src/caffe/layers/euclidean_loss_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/flatten_layer.cpp b/src/caffe/layers/flatten_layer.cpp index f1fdd322eb4..81a506a8177 100644 --- a/src/caffe/layers/flatten_layer.cpp +++ b/src/caffe/layers/flatten_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/flatten_layer.cu b/src/caffe/layers/flatten_layer.cu index 60b67f06e05..7233afb3718 100644 --- a/src/caffe/layers/flatten_layer.cu +++ b/src/caffe/layers/flatten_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/hdf5_data_layer.cpp b/src/caffe/layers/hdf5_data_layer.cpp index 38b2b8d23f3..5bad5f6a1f0 100644 --- a/src/caffe/layers/hdf5_data_layer.cpp +++ b/src/caffe/layers/hdf5_data_layer.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. /* TODO: - load file in a separate thread ("prefetch") diff --git a/src/caffe/layers/hdf5_data_layer.cu b/src/caffe/layers/hdf5_data_layer.cu index d50d9616771..1f682d5726d 100644 --- a/src/caffe/layers/hdf5_data_layer.cu +++ b/src/caffe/layers/hdf5_data_layer.cu @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. /* TODO: - only load parts of the file, in accordance with a prototxt param "max_mem" diff --git a/src/caffe/layers/hdf5_output_layer.cpp b/src/caffe/layers/hdf5_output_layer.cpp index 30e4997854b..0d7590b1b12 100644 --- a/src/caffe/layers/hdf5_output_layer.cpp +++ b/src/caffe/layers/hdf5_output_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "hdf5.h" diff --git a/src/caffe/layers/hdf5_output_layer.cu b/src/caffe/layers/hdf5_output_layer.cu index 9b3dd135841..d2f20b3fc79 100644 --- a/src/caffe/layers/hdf5_output_layer.cu +++ b/src/caffe/layers/hdf5_output_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "hdf5.h" diff --git a/src/caffe/layers/hinge_loss_layer.cpp b/src/caffe/layers/hinge_loss_layer.cpp index a7ec061eb28..bc3a593c769 100644 --- a/src/caffe/layers/hinge_loss_layer.cpp +++ b/src/caffe/layers/hinge_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/im2col_layer.cpp b/src/caffe/layers/im2col_layer.cpp index fb3dad43844..2dd7476237a 100644 --- a/src/caffe/layers/im2col_layer.cpp +++ b/src/caffe/layers/im2col_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/common.hpp" diff --git a/src/caffe/layers/im2col_layer.cu b/src/caffe/layers/im2col_layer.cu index c9802541aaa..6b4c701073e 100644 --- a/src/caffe/layers/im2col_layer.cu +++ b/src/caffe/layers/im2col_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/common.hpp" diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index a10f02c37a8..a0f03a8266d 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include // NOLINT(readability/streams) #include // NOLINT(readability/streams) #include diff --git a/src/caffe/layers/image_data_layer.cu b/src/caffe/layers/image_data_layer.cu index 8a449d010e2..f61409cc38a 100644 --- a/src/caffe/layers/image_data_layer.cu +++ b/src/caffe/layers/image_data_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/blob.hpp" diff --git a/src/caffe/layers/infogain_loss_layer.cpp b/src/caffe/layers/infogain_loss_layer.cpp index c972c032607..fa01116ee36 100644 --- a/src/caffe/layers/infogain_loss_layer.cpp +++ b/src/caffe/layers/infogain_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/inner_product_layer.cpp b/src/caffe/layers/inner_product_layer.cpp index 6493d0bd497..a9e0f353e9e 100644 --- a/src/caffe/layers/inner_product_layer.cpp +++ b/src/caffe/layers/inner_product_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/blob.hpp" diff --git a/src/caffe/layers/inner_product_layer.cu b/src/caffe/layers/inner_product_layer.cu index 4b670d644c2..e02107200cf 100644 --- a/src/caffe/layers/inner_product_layer.cu +++ b/src/caffe/layers/inner_product_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/blob.hpp" diff --git a/src/caffe/layers/loss_layer.cpp b/src/caffe/layers/loss_layer.cpp index 656e85a75d8..48665221f1d 100644 --- a/src/caffe/layers/loss_layer.cpp +++ b/src/caffe/layers/loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/lrn_layer.cpp b/src/caffe/layers/lrn_layer.cpp index 50ad6464449..e77f6857c85 100644 --- a/src/caffe/layers/lrn_layer.cpp +++ b/src/caffe/layers/lrn_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/lrn_layer.cu b/src/caffe/layers/lrn_layer.cu index 7a19350549c..eee12e66cec 100644 --- a/src/caffe/layers/lrn_layer.cu +++ b/src/caffe/layers/lrn_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/memory_data_layer.cpp b/src/caffe/layers/memory_data_layer.cpp index 15eedb317e3..d1717fd4258 100644 --- a/src/caffe/layers/memory_data_layer.cpp +++ b/src/caffe/layers/memory_data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/multinomial_logistic_loss_layer.cpp b/src/caffe/layers/multinomial_logistic_loss_layer.cpp index e5eafd65078..a9c7de6595d 100644 --- a/src/caffe/layers/multinomial_logistic_loss_layer.cpp +++ b/src/caffe/layers/multinomial_logistic_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/neuron_layer.cpp b/src/caffe/layers/neuron_layer.cpp index 1b8fcecd482..3343b26cfc5 100644 --- a/src/caffe/layers/neuron_layer.cpp +++ b/src/caffe/layers/neuron_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/pooling_layer.cpp b/src/caffe/layers/pooling_layer.cpp index 75a74dac9ec..30657b6c804 100644 --- a/src/caffe/layers/pooling_layer.cpp +++ b/src/caffe/layers/pooling_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/pooling_layer.cu b/src/caffe/layers/pooling_layer.cu index 6f3a7205091..58f1997c38e 100644 --- a/src/caffe/layers/pooling_layer.cu +++ b/src/caffe/layers/pooling_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/power_layer.cpp b/src/caffe/layers/power_layer.cpp index 86cb3d76291..8b5d8d16bd4 100644 --- a/src/caffe/layers/power_layer.cpp +++ b/src/caffe/layers/power_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/power_layer.cu b/src/caffe/layers/power_layer.cu index db88fee8f3b..0950b78b4ce 100644 --- a/src/caffe/layers/power_layer.cu +++ b/src/caffe/layers/power_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/relu_layer.cpp b/src/caffe/layers/relu_layer.cpp index b94086df98c..fca10a5aad3 100644 --- a/src/caffe/layers/relu_layer.cpp +++ b/src/caffe/layers/relu_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/relu_layer.cu b/src/caffe/layers/relu_layer.cu index e0d6aa1b5c3..a74428bfce1 100644 --- a/src/caffe/layers/relu_layer.cu +++ b/src/caffe/layers/relu_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp index 2bf931d004b..24ab6a85c6a 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu index 698ec1dbde1..0e4dab76b79 100644 --- a/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu +++ b/src/caffe/layers/sigmoid_cross_entropy_loss_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/sigmoid_layer.cpp b/src/caffe/layers/sigmoid_layer.cpp index e25db04c42a..0f8b582da2f 100644 --- a/src/caffe/layers/sigmoid_layer.cpp +++ b/src/caffe/layers/sigmoid_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/sigmoid_layer.cu b/src/caffe/layers/sigmoid_layer.cu index 28cc7f1daa6..039796e1b22 100644 --- a/src/caffe/layers/sigmoid_layer.cu +++ b/src/caffe/layers/sigmoid_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/slice_layer.cpp b/src/caffe/layers/slice_layer.cpp index fc86a2d4307..e182837c3aa 100644 --- a/src/caffe/layers/slice_layer.cpp +++ b/src/caffe/layers/slice_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/slice_layer.cu b/src/caffe/layers/slice_layer.cu index 70702148f5d..8e01131ec01 100644 --- a/src/caffe/layers/slice_layer.cu +++ b/src/caffe/layers/slice_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/softmax_layer.cpp b/src/caffe/layers/softmax_layer.cpp index 6a98b320208..61990ed9d97 100644 --- a/src/caffe/layers/softmax_layer.cpp +++ b/src/caffe/layers/softmax_layer.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // #include #include diff --git a/src/caffe/layers/softmax_layer.cu b/src/caffe/layers/softmax_layer.cu index 6d65fbce957..65b0e229d1a 100644 --- a/src/caffe/layers/softmax_layer.cu +++ b/src/caffe/layers/softmax_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/softmax_loss_layer.cpp b/src/caffe/layers/softmax_loss_layer.cpp index 43e8fcac44c..98cf14c4a28 100644 --- a/src/caffe/layers/softmax_loss_layer.cpp +++ b/src/caffe/layers/softmax_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/softmax_loss_layer.cu b/src/caffe/layers/softmax_loss_layer.cu index f55b8c7adf3..32f3e670f48 100644 --- a/src/caffe/layers/softmax_loss_layer.cu +++ b/src/caffe/layers/softmax_loss_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/layers/split_layer.cpp b/src/caffe/layers/split_layer.cpp index d13b8d12358..2786d3f7694 100644 --- a/src/caffe/layers/split_layer.cpp +++ b/src/caffe/layers/split_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/split_layer.cu b/src/caffe/layers/split_layer.cu index a89c5d61883..1cf15a79314 100644 --- a/src/caffe/layers/split_layer.cu +++ b/src/caffe/layers/split_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/tanh_layer.cpp b/src/caffe/layers/tanh_layer.cpp index 0a6ec68d1f9..0c8be3fac60 100644 --- a/src/caffe/layers/tanh_layer.cpp +++ b/src/caffe/layers/tanh_layer.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // TanH neuron activation function layer. // Adapted from ReLU layer code written by Yangqing Jia diff --git a/src/caffe/layers/tanh_layer.cu b/src/caffe/layers/tanh_layer.cu index 9307cab2ec5..b3daad1e638 100644 --- a/src/caffe/layers/tanh_layer.cu +++ b/src/caffe/layers/tanh_layer.cu @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // TanH neuron activation function layer. // Adapted from ReLU layer code written by Yangqing Jia diff --git a/src/caffe/layers/threshold_layer.cpp b/src/caffe/layers/threshold_layer.cpp index 2c8546c957a..c932356019b 100644 --- a/src/caffe/layers/threshold_layer.cpp +++ b/src/caffe/layers/threshold_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/layer.hpp" diff --git a/src/caffe/layers/threshold_layer.cu b/src/caffe/layers/threshold_layer.cu index fb973b2ba82..398d56e8765 100644 --- a/src/caffe/layers/threshold_layer.cu +++ b/src/caffe/layers/threshold_layer.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index cbd269685ce..ddff5555417 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // // Based on data_layer.cpp by Yangqing Jia. diff --git a/src/caffe/layers/window_data_layer.cu b/src/caffe/layers/window_data_layer.cu index 5efcc3f4adc..6e8fa8b349a 100644 --- a/src/caffe/layers/window_data_layer.cu +++ b/src/caffe/layers/window_data_layer.cu @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // // Based on data_layer.cpp by Yangqing Jia. diff --git a/src/caffe/net.cpp b/src/caffe/net.cpp index 6fab0e3a6b4..db6b4ffefc4 100644 --- a/src/caffe/net.cpp +++ b/src/caffe/net.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/proto/caffe.proto b/src/caffe/proto/caffe.proto index 4e77863e7e6..44bfb631a22 100644 --- a/src/caffe/proto/caffe.proto +++ b/src/caffe/proto/caffe.proto @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - syntax = "proto2"; package caffe; diff --git a/src/caffe/proto/caffe_pretty_print.proto b/src/caffe/proto/caffe_pretty_print.proto index f34988c9645..225138a4274 100644 --- a/src/caffe/proto/caffe_pretty_print.proto +++ b/src/caffe/proto/caffe_pretty_print.proto @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - syntax = "proto2"; package caffe; diff --git a/src/caffe/solver.cpp b/src/caffe/solver.cpp index 6049ddfec7c..d96d03942f3 100644 --- a/src/caffe/solver.cpp +++ b/src/caffe/solver.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/syncedmem.cpp b/src/caffe/syncedmem.cpp index 844f639e013..7d25183701d 100644 --- a/src/caffe/syncedmem.cpp +++ b/src/caffe/syncedmem.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/common.hpp" diff --git a/src/caffe/test/test_accuracy_layer.cpp b/src/caffe/test/test_accuracy_layer.cpp index 95217df3f1f..e11e3f2a981 100644 --- a/src/caffe/test/test_accuracy_layer.cpp +++ b/src/caffe/test/test_accuracy_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_argmax_layer.cpp b/src/caffe/test/test_argmax_layer.cpp index 3f55edaac22..fb3951c3098 100644 --- a/src/caffe/test/test_argmax_layer.cpp +++ b/src/caffe/test/test_argmax_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_benchmark.cpp b/src/caffe/test/test_benchmark.cpp index e6d9ebf9a05..dbbee08d667 100644 --- a/src/caffe/test/test_benchmark.cpp +++ b/src/caffe/test/test_benchmark.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include // for usleep #include "gtest/gtest.h" diff --git a/src/caffe/test/test_blob.cpp b/src/caffe/test/test_blob.cpp index 89f4a161c9c..adf7a4d38e9 100644 --- a/src/caffe/test/test_blob.cpp +++ b/src/caffe/test/test_blob.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "gtest/gtest.h" diff --git a/src/caffe/test/test_caffe_main.cpp b/src/caffe/test/test_caffe_main.cpp index bb5e6b46afb..df188fd319b 100644 --- a/src/caffe/test/test_caffe_main.cpp +++ b/src/caffe/test/test_caffe_main.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - // The main caffe test code. Your test cpp code should include this hpp // to allow a main function to be compiled into the binary. diff --git a/src/caffe/test/test_common.cpp b/src/caffe/test/test_common.cpp index 455f5d8a32d..0b3639c7706 100644 --- a/src/caffe/test/test_common.cpp +++ b/src/caffe/test/test_common.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "gtest/gtest.h" diff --git a/src/caffe/test/test_concat_layer.cpp b/src/caffe/test/test_concat_layer.cpp index b07c5727a79..c60b7f744cc 100644 --- a/src/caffe/test/test_concat_layer.cpp +++ b/src/caffe/test/test_concat_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_convolution_layer.cpp b/src/caffe/test/test_convolution_layer.cpp index 41951cfb940..5a7ea80467e 100644 --- a/src/caffe/test/test_convolution_layer.cpp +++ b/src/caffe/test/test_convolution_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_data_layer.cpp b/src/caffe/test/test_data_layer.cpp index be478b2746c..208beed91d1 100644 --- a/src/caffe/test/test_data_layer.cpp +++ b/src/caffe/test/test_data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_dummy_data_layer.cpp b/src/caffe/test/test_dummy_data_layer.cpp index aa6cc55364e..4188bb68c9e 100644 --- a/src/caffe/test/test_dummy_data_layer.cpp +++ b/src/caffe/test/test_dummy_data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_eltwise_layer.cpp b/src/caffe/test/test_eltwise_layer.cpp index fe3269bb3a2..4c17dfd341c 100644 --- a/src/caffe/test/test_eltwise_layer.cpp +++ b/src/caffe/test/test_eltwise_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "gtest/gtest.h" diff --git a/src/caffe/test/test_euclidean_loss_layer.cpp b/src/caffe/test/test_euclidean_loss_layer.cpp index 6dd631e55e8..511d38ccab5 100644 --- a/src/caffe/test/test_euclidean_loss_layer.cpp +++ b/src/caffe/test/test_euclidean_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_filler.cpp b/src/caffe/test/test_filler.cpp index d0d750fff47..e04b0fd22af 100644 --- a/src/caffe/test/test_filler.cpp +++ b/src/caffe/test/test_filler.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "gtest/gtest.h" diff --git a/src/caffe/test/test_flatten_layer.cpp b/src/caffe/test/test_flatten_layer.cpp index 928db849296..cbd01f245f2 100644 --- a/src/caffe/test/test_flatten_layer.cpp +++ b/src/caffe/test/test_flatten_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_hdf5_output_layer.cpp b/src/caffe/test/test_hdf5_output_layer.cpp index a36a8cbd9a8..696165cdaa2 100644 --- a/src/caffe/test/test_hdf5_output_layer.cpp +++ b/src/caffe/test/test_hdf5_output_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_hdf5data_layer.cpp b/src/caffe/test/test_hdf5data_layer.cpp index 1f3bf9f3cd0..f903afb736f 100644 --- a/src/caffe/test/test_hdf5data_layer.cpp +++ b/src/caffe/test/test_hdf5data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_hinge_loss_layer.cpp b/src/caffe/test/test_hinge_loss_layer.cpp index c6be1d73262..8f6f6f78cf1 100644 --- a/src/caffe/test/test_hinge_loss_layer.cpp +++ b/src/caffe/test/test_hinge_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_im2col_kernel.cu b/src/caffe/test/test_im2col_kernel.cu index 89008ac7e39..ee684c00255 100644 --- a/src/caffe/test/test_im2col_kernel.cu +++ b/src/caffe/test/test_im2col_kernel.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_im2col_layer.cpp b/src/caffe/test/test_im2col_layer.cpp index 6884b059fde..32cf6369361 100644 --- a/src/caffe/test/test_im2col_layer.cpp +++ b/src/caffe/test/test_im2col_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_image_data_layer.cpp b/src/caffe/test/test_image_data_layer.cpp index bbeedb8dce5..5232c1187c1 100644 --- a/src/caffe/test/test_image_data_layer.cpp +++ b/src/caffe/test/test_image_data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include // NOLINT(readability/streams) #include // NOLINT(readability/streams) #include diff --git a/src/caffe/test/test_infogain_loss_layer.cpp b/src/caffe/test/test_infogain_loss_layer.cpp index 7b3705084a5..162d0e6c589 100644 --- a/src/caffe/test/test_infogain_loss_layer.cpp +++ b/src/caffe/test/test_infogain_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_inner_product_layer.cpp b/src/caffe/test/test_inner_product_layer.cpp index 31d87afc7ce..5f9729c4f90 100644 --- a/src/caffe/test/test_inner_product_layer.cpp +++ b/src/caffe/test/test_inner_product_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_lrn_layer.cpp b/src/caffe/test/test_lrn_layer.cpp index fbb03dfecb5..3bd62fd9e18 100644 --- a/src/caffe/test/test_lrn_layer.cpp +++ b/src/caffe/test/test_lrn_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_math_functions.cpp b/src/caffe/test/test_math_functions.cpp index c89ca027adf..d10e702e79a 100644 --- a/src/caffe/test/test_math_functions.cpp +++ b/src/caffe/test/test_math_functions.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include // for uint32_t & uint64_t #include #include diff --git a/src/caffe/test/test_maxpool_dropout_layers.cpp b/src/caffe/test/test_maxpool_dropout_layers.cpp index e939d0c6e11..311c7781be5 100644 --- a/src/caffe/test/test_maxpool_dropout_layers.cpp +++ b/src/caffe/test/test_maxpool_dropout_layers.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_memory_data_layer.cpp b/src/caffe/test/test_memory_data_layer.cpp index 60e75ebbc1a..f401bb0f4f2 100644 --- a/src/caffe/test/test_memory_data_layer.cpp +++ b/src/caffe/test/test_memory_data_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/filler.hpp" diff --git a/src/caffe/test/test_multinomial_logistic_loss_layer.cpp b/src/caffe/test/test_multinomial_logistic_loss_layer.cpp index 9b6bb067805..3d1037baed0 100644 --- a/src/caffe/test/test_multinomial_logistic_loss_layer.cpp +++ b/src/caffe/test/test_multinomial_logistic_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_net.cpp b/src/caffe/test/test_net.cpp index 6787ba956ec..18bc9ad7838 100644 --- a/src/caffe/test/test_net.cpp +++ b/src/caffe/test/test_net.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_neuron_layer.cpp b/src/caffe/test/test_neuron_layer.cpp index 59c9b3d34f5..649f8f626d9 100644 --- a/src/caffe/test/test_neuron_layer.cpp +++ b/src/caffe/test/test_neuron_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_platform.cpp b/src/caffe/test/test_platform.cpp index a4f4b4260c4..f3513e08814 100644 --- a/src/caffe/test/test_platform.cpp +++ b/src/caffe/test/test_platform.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CPU_ONLY #include diff --git a/src/caffe/test/test_pooling_layer.cpp b/src/caffe/test/test_pooling_layer.cpp index 4636dd773a4..5be01f77b32 100644 --- a/src/caffe/test/test_pooling_layer.cpp +++ b/src/caffe/test/test_pooling_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_power_layer.cpp b/src/caffe/test/test_power_layer.cpp index e35d539b776..0c104c20b7c 100644 --- a/src/caffe/test/test_power_layer.cpp +++ b/src/caffe/test/test_power_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_protobuf.cpp b/src/caffe/test/test_protobuf.cpp index da1a0d3f5eb..0c502d6dd36 100644 --- a/src/caffe/test/test_protobuf.cpp +++ b/src/caffe/test/test_protobuf.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - // This is simply a script that tries serializing protocol buffer in text // format. Nothing special here and no actual code is being tested. #include diff --git a/src/caffe/test/test_random_number_generator.cpp b/src/caffe/test/test_random_number_generator.cpp index 8e3919157af..98424c06bfc 100644 --- a/src/caffe/test/test_random_number_generator.cpp +++ b/src/caffe/test/test_random_number_generator.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_sgd_solver.cpp b/src/caffe/test/test_sgd_solver.cpp index 14dcac25e8e..1ec24b134c6 100644 --- a/src/caffe/test/test_sgd_solver.cpp +++ b/src/caffe/test/test_sgd_solver.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp index 7205ce9311b..f5716c9e9a7 100644 --- a/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp +++ b/src/caffe/test/test_sigmoid_cross_entropy_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_slice_layer.cpp b/src/caffe/test/test_slice_layer.cpp index e61f3e4f2c9..ee8818781f5 100644 --- a/src/caffe/test/test_slice_layer.cpp +++ b/src/caffe/test/test_slice_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_softmax_layer.cpp b/src/caffe/test/test_softmax_layer.cpp index a305c647585..37685af6b12 100644 --- a/src/caffe/test/test_softmax_layer.cpp +++ b/src/caffe/test/test_softmax_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_softmax_with_loss_layer.cpp b/src/caffe/test/test_softmax_with_loss_layer.cpp index 2994a9117af..bd39bd4420b 100644 --- a/src/caffe/test/test_softmax_with_loss_layer.cpp +++ b/src/caffe/test/test_softmax_with_loss_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_solver.cpp b/src/caffe/test/test_solver.cpp index 133d01c5446..a7dbf77fd95 100644 --- a/src/caffe/test/test_solver.cpp +++ b/src/caffe/test/test_solver.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_split_layer.cpp b/src/caffe/test/test_split_layer.cpp index a4e5857877e..711669bacb8 100644 --- a/src/caffe/test/test_split_layer.cpp +++ b/src/caffe/test/test_split_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_stochastic_pooling.cpp b/src/caffe/test/test_stochastic_pooling.cpp index 600b909a638..4f13981bd82 100644 --- a/src/caffe/test/test_stochastic_pooling.cpp +++ b/src/caffe/test/test_stochastic_pooling.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_syncedmem.cpp b/src/caffe/test/test_syncedmem.cpp index 5ccc480112d..b658871b3ee 100644 --- a/src/caffe/test/test_syncedmem.cpp +++ b/src/caffe/test/test_syncedmem.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/test/test_tanh_layer.cpp b/src/caffe/test/test_tanh_layer.cpp index 1dac5a57043..9b8e745b8a7 100644 --- a/src/caffe/test/test_tanh_layer.cpp +++ b/src/caffe/test/test_tanh_layer.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // Adapted from other test files #include diff --git a/src/caffe/test/test_threshold_layer.cpp b/src/caffe/test/test_threshold_layer.cpp index b06d697ab0b..32dfbeeac92 100644 --- a/src/caffe/test/test_threshold_layer.cpp +++ b/src/caffe/test/test_threshold_layer.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "gtest/gtest.h" diff --git a/src/caffe/test/test_upgrade_proto.cpp b/src/caffe/test/test_upgrade_proto.cpp index a16b835f864..2abcadc0862 100644 --- a/src/caffe/test/test_upgrade_proto.cpp +++ b/src/caffe/test/test_upgrade_proto.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/test/test_util_blas.cpp b/src/caffe/test/test_util_blas.cpp index 841edefc66c..8770f309951 100644 --- a/src/caffe/test/test_util_blas.cpp +++ b/src/caffe/test/test_util_blas.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #ifndef CPU_ONLY // CPU-GPU test #include diff --git a/src/caffe/util/benchmark.cpp b/src/caffe/util/benchmark.cpp index 009b118a35a..566d06a8f5f 100644 --- a/src/caffe/util/benchmark.cpp +++ b/src/caffe/util/benchmark.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include "caffe/common.hpp" diff --git a/src/caffe/util/im2col.cpp b/src/caffe/util/im2col.cpp index 01df8c89182..c48f31f35d4 100644 --- a/src/caffe/util/im2col.cpp +++ b/src/caffe/util/im2col.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/util/im2col.cu b/src/caffe/util/im2col.cu index 653ce49e7f8..c90f93eb67b 100644 --- a/src/caffe/util/im2col.cu +++ b/src/caffe/util/im2col.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/util/insert_splits.cpp b/src/caffe/util/insert_splits.cpp index b88b320ff3d..270568cb5dc 100644 --- a/src/caffe/util/insert_splits.cpp +++ b/src/caffe/util/insert_splits.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/util/io.cpp b/src/caffe/util/io.cpp index 575ea3d63c2..fd7454d4f98 100644 --- a/src/caffe/util/io.cpp +++ b/src/caffe/util/io.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/src/caffe/util/math_functions.cpp b/src/caffe/util/math_functions.cpp index 2fdcf91b34b..974adf55e7d 100644 --- a/src/caffe/util/math_functions.cpp +++ b/src/caffe/util/math_functions.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include diff --git a/src/caffe/util/math_functions.cu b/src/caffe/util/math_functions.cu index 1e934931462..cec051e6bef 100644 --- a/src/caffe/util/math_functions.cu +++ b/src/caffe/util/math_functions.cu @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include // CUDA's, not caffe's, for fabs, signbit #include #include // thrust::plus diff --git a/src/caffe/util/upgrade_proto.cpp b/src/caffe/util/upgrade_proto.cpp index a6e9c404df7..5415ca83b60 100644 --- a/src/caffe/util/upgrade_proto.cpp +++ b/src/caffe/util/upgrade_proto.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/tools/caffe.cpp b/tools/caffe.cpp index ec414298ea4..ee12bca8c36 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. #include #include diff --git a/tools/compute_image_mean.cpp b/tools/compute_image_mean.cpp index 79bfdc7c4bb..fe3497fa87d 100644 --- a/tools/compute_image_mean.cpp +++ b/tools/compute_image_mean.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include #include #include diff --git a/tools/convert_imageset.cpp b/tools/convert_imageset.cpp index 21ff0d38104..0ddafa0c5fe 100644 --- a/tools/convert_imageset.cpp +++ b/tools/convert_imageset.cpp @@ -1,4 +1,3 @@ -// Copyright 2014 BVLC and contributors. // This program converts a set of images to a leveldb by storing them as Datum // proto buffers. // Usage: diff --git a/tools/device_query.cpp b/tools/device_query.cpp index efdbbbbc90e..2678154cbb4 100644 --- a/tools/device_query.cpp +++ b/tools/device_query.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include "caffe/common.hpp" int main(int argc, char** argv) { diff --git a/tools/dump_network.cpp b/tools/dump_network.cpp index 8984016916a..90895fdc969 100644 --- a/tools/dump_network.cpp +++ b/tools/dump_network.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. -// // This program takes in a trained network and an input blob, and then dumps // all the intermediate blobs produced by the net to individual binary // files stored in protobuffer binary formats. diff --git a/tools/extract_features.cpp b/tools/extract_features.cpp index 06e07fe6cba..49e8f98971c 100644 --- a/tools/extract_features.cpp +++ b/tools/extract_features.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include // for snprintf #include #include diff --git a/tools/finetune_net.cpp b/tools/finetune_net.cpp index 213ff01702a..2966de48d17 100644 --- a/tools/finetune_net.cpp +++ b/tools/finetune_net.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include "caffe/caffe.hpp" int main(int argc, char** argv) { diff --git a/tools/net_speed_benchmark.cpp b/tools/net_speed_benchmark.cpp index f520e1d7785..ff112bdff55 100644 --- a/tools/net_speed_benchmark.cpp +++ b/tools/net_speed_benchmark.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include "caffe/caffe.hpp" int main(int argc, char** argv) { diff --git a/tools/test_net.cpp b/tools/test_net.cpp index b6f827e6285..de97ab8924c 100644 --- a/tools/test_net.cpp +++ b/tools/test_net.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. -// // This is a simple script that allows one to quickly test a network whose // structure is specified by text format protocol buffers, and whose parameter // are loaded from a pre-trained network. diff --git a/tools/train_net.cpp b/tools/train_net.cpp index 08602d4a7ca..26aeb40bd05 100644 --- a/tools/train_net.cpp +++ b/tools/train_net.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. - #include "caffe/caffe.hpp" int main(int argc, char** argv) { diff --git a/tools/upgrade_net_proto_binary.cpp b/tools/upgrade_net_proto_binary.cpp index ed703f027cd..d7a62e32441 100644 --- a/tools/upgrade_net_proto_binary.cpp +++ b/tools/upgrade_net_proto_binary.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. -// // This is a script to upgrade "V0" network prototxts to the new format. // Usage: // upgrade_net_proto_binary v0_net_proto_file_in net_proto_file_out diff --git a/tools/upgrade_net_proto_text.cpp b/tools/upgrade_net_proto_text.cpp index d05d1ac5883..1176585b02a 100644 --- a/tools/upgrade_net_proto_text.cpp +++ b/tools/upgrade_net_proto_text.cpp @@ -1,5 +1,3 @@ -// Copyright 2014 BVLC and contributors. -// // This is a script to upgrade "V0" network prototxts to the new format. // Usage: // upgrade_net_proto_text v0_net_proto_file_in net_proto_file_out From 72effc037f60c4acdbc2f172064fc6bef6820009 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 00:34:05 -0700 Subject: [PATCH 393/408] [docs] detail attribution, license, and copyright for development --- docs/development.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/development.md b/docs/development.md index ff734d17219..d586a2b1c30 100644 --- a/docs/development.md +++ b/docs/development.md @@ -7,6 +7,19 @@ title: Development Caffe is developed with active participation of the community.
    The [BVLC](http://bvlc.eecs.berkeley.edu/) maintainers welcome all contributions! +The exact details of contributions are recorded by versioning and cited in our [acknowledgements](http://caffe.berkeleyvision.org/#acknowledgements). +This method is impartial and always up-to-date. + +## License + +Caffe is licensed under the terms in [LICENSE](https://github.com/BVLC/caffe/blob/master/LICENSE). By contributing to the project, you agree to the license and copyright terms therein and release your contribution under these terms. + +## Copyright + +Caffe uses a shared copyright model: each contributor holds copyright over their contributions to Caffe. The project versioning records all such contribution and copyright details. + +If a contributor wants to further mark their specific copyright on a particular contribution, they should indicate their copyright solely in the commit message of the change when it is committed. Do not include copyright notices in files for this purpose. + ### Documentation This website, written with [Jekyll](http://jekyllrb.com/), functions as the official Caffe documentation -- simply run `scripts/build_docs.sh` and view the website at `http://0.0.0.0:4000`. @@ -109,12 +122,3 @@ To get a list of all options `googletest` provides, simply pass the `--help` fla - Wrap lines at 80 chars. - Remember that “a foolish consistency is the hobgoblin of little minds,” so use your best judgement to write the clearest code for your particular case. - **Run `make lint` to check C++ code.** - -### Copyright - -Assign copyright jointly to BVLC and contributors like so: - - // Copyright 2014 BVLC and contributors. - -The exact details of contributions are recorded by versioning and cited in our [acknowledgements](http://caffe.berkeleyvision.org/#acknowledgements). -This method is impartial and always up-to-date. From e788eae37e746c512a5618c673b04eacaa3fff6a Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 00:36:00 -0700 Subject: [PATCH 394/408] lint for copyright --- scripts/cpp_lint.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/scripts/cpp_lint.py b/scripts/cpp_lint.py index 3f0ca1c3527..3f80e723643 100755 --- a/scripts/cpp_lint.py +++ b/scripts/cpp_lint.py @@ -445,7 +445,7 @@ _error_suppressions = {} # Finds Copyright. -_RE_COPYRIGHT = re.compile(r'Copyright \d\d\d\d BVLC and contributors.') +_RE_COPYRIGHT = re.compile(r'Copyright') # The root directory used for deriving header guard CPP variable. # This is set by --root flag. @@ -1368,16 +1368,15 @@ def ReverseCloseExpression(clean_lines, linenum, pos): def CheckForCopyright(filename, lines, error): - """Logs an error if no Copyright message appears at the top of the file.""" + """Logs an error if a Copyright message appears at the top of the file.""" - # We'll say it should occur by line 10. Don't forget there's a + # We'll check up to line 10. Don't forget there's a # dummy line at the front. for line in xrange(1, min(len(lines), 11)): - if _RE_COPYRIGHT.search(lines[line], re.I): break - else: # means no copyright line was found - error(filename, 0, 'legal/copyright', 5, - 'BVLC copyright message not found. ' - 'You should have a line: "Copyright [year] BVLC and contributors."') + if _RE_COPYRIGHT.search(lines[line], re.I): + error(filename, 0, 'legal/copyright', 5, + 'Copyright message found. ' + 'You should not include a copyright line.') def GetHeaderGuardCPPVariable(filename): From 51074e91d25659764148ccd02646d24b3b96ddf5 Mon Sep 17 00:00:00 2001 From: Alireza Shafaei Date: Tue, 5 Aug 2014 21:34:45 -0700 Subject: [PATCH 395/408] Painless binary mean conversion to matlab matrices. --- matlab/caffe/matcaffe.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/matlab/caffe/matcaffe.cpp b/matlab/caffe/matcaffe.cpp index 70652e26e49..5888676c744 100644 --- a/matlab/caffe/matcaffe.cpp +++ b/matlab/caffe/matcaffe.cpp @@ -311,6 +311,31 @@ static void is_initialized(MEX_ARGS) { } } +static void read_mean(MEX_ARGS) { + if (nrhs != 1) { + mexErrMsgTxt("Usage: caffe('read_mean', 'path_to_binary_mean_file'"); + return; + } + const string& mean_file = mxArrayToString(prhs[0]); + Blob data_mean; + LOG(INFO) << "Loading mean file from" << mean_file; + BlobProto blob_proto; + bool result = ReadProtoFromBinaryFile(mean_file.c_str(), &blob_proto); + if (!result) { + mexErrMsgTxt("Couldn't read the file"); + return; + } + data_mean.FromProto(blob_proto); + mwSize dims[4] = {data_mean.width(), data_mean.height(), + data_mean.channels(), data_mean.num() }; + mxArray* mx_blob = mxCreateNumericArray(4, dims, mxSINGLE_CLASS, mxREAL); + float* data_ptr = reinterpret_cast(mxGetPr(mx_blob)); + caffe_copy(data_mean.count(), data_mean.cpu_data(), data_ptr); + mexWarnMsgTxt("Remember that Caffe saves in [width, height, channels]" + " format and channels are also BGR!"); + plhs[0] = mx_blob; +} + /** ----------------------------------------------------------------- ** Available commands. **/ @@ -333,6 +358,7 @@ static handler_registry handlers[] = { { "get_weights", get_weights }, { "get_init_key", get_init_key }, { "reset", reset }, + { "read_mean", read_mean }, // The end. { "END", NULL }, }; From de6123c4f4f0e24220a874247971d452ae43874e Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 19:22:58 -0700 Subject: [PATCH 396/408] rename tools --- tools/caffe.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index ee12bca8c36..1672b600d74 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -19,21 +19,21 @@ using caffe::vector; // Used in device query DEFINE_int32(device_id, 0, - "[devicequery,speedtest] The device id to use."); + "[device_query,time] The device id to use."); // Used in training DEFINE_string(solver_proto_file, "", "[train] The protobuf containing the solver definition."); DEFINE_string(net_proto_file, "", - "[speedtest] The net proto file to use."); + "[time] The net proto file to use."); DEFINE_string(resume_point_file, "", "[train] (optional) The snapshot from which to resume training."); DEFINE_string(pretrained_net_file, "", "[train] (optional) A pretrained network to run finetune from. " "Cannot be set simultaneously with resume_point_file."); DEFINE_int32(run_iterations, 50, - "[speedtest] The number of iterations to run."); -DEFINE_bool(speedtest_with_gpu, false, - "[speedtest] Test the model with GPU."); + "[time] The number of iterations to run."); +DEFINE_bool(time_with_gpu, false, + "[time] Test the model with GPU."); // A simple registry for caffe commands. typedef int (*BrewFunction)(); @@ -70,13 +70,13 @@ static BrewFunction GetBrewFunction(const caffe::string& name) { // To do so, define actions as "int action()" functions, and register it with // RegisterBrewFunction(action); -int devicequery() { +int device_query() { LOG(INFO) << "Querying device_id = " << FLAGS_device_id; caffe::Caffe::SetDevice(FLAGS_device_id); caffe::Caffe::DeviceQuery(); return 0; } -RegisterBrewFunction(devicequery); +RegisterBrewFunction(device_query); int train() { CHECK_GT(FLAGS_solver_proto_file.size(), 0); @@ -101,9 +101,9 @@ int train() { } RegisterBrewFunction(train); -int speedtest() { +int time() { // Set device id and mode - if (FLAGS_speedtest_with_gpu) { + if (FLAGS_time_with_gpu) { LOG(INFO) << "Use GPU with device id " << FLAGS_device_id; Caffe::SetDevice(FLAGS_device_id); Caffe::set_mode(Caffe::GPU); @@ -168,7 +168,7 @@ int speedtest() { LOG(INFO) << "*** Benchmark ends ***"; return 0; } -RegisterBrewFunction(speedtest); +RegisterBrewFunction(time); int main(int argc, char** argv) { caffe::GlobalInit(&argc, &argv); From 8eb05e1f47860cc18b8af2ed5ebc8d5169c03eaf Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 19:45:05 -0700 Subject: [PATCH 397/408] consolidaet GPU flag for caffe cli --- tools/caffe.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index 1672b600d74..26db1785a28 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -32,8 +32,8 @@ DEFINE_string(pretrained_net_file, "", "Cannot be set simultaneously with resume_point_file."); DEFINE_int32(run_iterations, 50, "[time] The number of iterations to run."); -DEFINE_bool(time_with_gpu, false, - "[time] Test the model with GPU."); +DEFINE_bool(gpu, false, + "[time] Run in GPU mode when true."); // A simple registry for caffe commands. typedef int (*BrewFunction)(); @@ -103,7 +103,7 @@ RegisterBrewFunction(train); int time() { // Set device id and mode - if (FLAGS_time_with_gpu) { + if (FLAGS_gpu) { LOG(INFO) << "Use GPU with device id " << FLAGS_device_id; Caffe::SetDevice(FLAGS_device_id); Caffe::set_mode(Caffe::GPU); From fa084945d43eed3d2942f4c28def2e87bbe1c92d Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 20:10:27 -0700 Subject: [PATCH 398/408] output INFO from caffe cli to stderr by default --- tools/caffe.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index 26db1785a28..b201f8ecaff 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -171,6 +171,9 @@ int time() { RegisterBrewFunction(time); int main(int argc, char** argv) { + // Print output to stderr (while still logging). + FLAGS_alsologtostderr = 1; + caffe::GlobalInit(&argc, &argv); CHECK_EQ(argc, 2); return GetBrewFunction(caffe::string(argv[1]))(); From 3655aa93952c470b2fc04ca622b03f7a956be9cb Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 20:17:00 -0700 Subject: [PATCH 399/408] give usage message for caffe cli - call format - commands - flags --- tools/caffe.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index b201f8ecaff..3bf18650b4d 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -173,8 +173,18 @@ RegisterBrewFunction(time); int main(int argc, char** argv) { // Print output to stderr (while still logging). FLAGS_alsologtostderr = 1; - + // Usage message. + gflags::SetUsageMessage("command line brew\n" + "usage: caffe \n\n" + "commands:\n" + " train train or finetune a model\n" + " device_query show GPU diagnostic information\n" + " time benchmark model execution time"); + // Run tool or show usage. caffe::GlobalInit(&argc, &argv); - CHECK_EQ(argc, 2); - return GetBrewFunction(caffe::string(argv[1]))(); + if (argc == 2) { + return GetBrewFunction(caffe::string(argv[1]))(); + } else { + gflags::ShowUsageWithFlagsRestrict(argv[0], "tools/caffe"); + } } From 8634885d83dabfb38e8ca5f0d0d037335127cfba Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 23:22:13 -0700 Subject: [PATCH 400/408] rename caffe cli args and revise text --- tools/caffe.cpp | 52 ++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index 3bf18650b4d..1320b7a5e25 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -17,23 +17,21 @@ using caffe::Timer; using caffe::vector; -// Used in device query DEFINE_int32(device_id, 0, - "[device_query,time] The device id to use."); -// Used in training -DEFINE_string(solver_proto_file, "", - "[train] The protobuf containing the solver definition."); -DEFINE_string(net_proto_file, "", - "[time] The net proto file to use."); -DEFINE_string(resume_point_file, "", - "[train] (optional) The snapshot from which to resume training."); -DEFINE_string(pretrained_net_file, "", - "[train] (optional) A pretrained network to run finetune from. " - "Cannot be set simultaneously with resume_point_file."); -DEFINE_int32(run_iterations, 50, - "[time] The number of iterations to run."); + "The GPU device ID to use."); DEFINE_bool(gpu, false, - "[time] Run in GPU mode when true."); + "Run in GPU mode when true."); +DEFINE_string(solver, "", + "The solver definition protocol buffer text file."); +DEFINE_string(model, "", + "The model definition protocol buffer text file.."); +DEFINE_string(snapshot, "", + "Optional; the snapshot solver state to resume training."); +DEFINE_string(weights, "", + "Optional; the pretrained weights to initialize finetuning. " + "Cannot be set simultaneously with snapshot."); +DEFINE_int32(iterations, 50, + "The number of iterations to run."); // A simple registry for caffe commands. typedef int (*BrewFunction)(); @@ -79,19 +77,19 @@ int device_query() { RegisterBrewFunction(device_query); int train() { - CHECK_GT(FLAGS_solver_proto_file.size(), 0); + CHECK_GT(FLAGS_solver.size(), 0); caffe::SolverParameter solver_param; - caffe::ReadProtoFromTextFileOrDie(FLAGS_solver_proto_file, &solver_param); + caffe::ReadProtoFromTextFileOrDie(FLAGS_solver, &solver_param); LOG(INFO) << "Starting Optimization"; caffe::SGDSolver solver(solver_param); - if (FLAGS_resume_point_file.size()) { - LOG(INFO) << "Resuming from " << FLAGS_resume_point_file; - solver.Solve(FLAGS_resume_point_file); - } else if (FLAGS_pretrained_net_file.size()) { - LOG(INFO) << "Finetuning from " << FLAGS_pretrained_net_file; - solver.net()->CopyTrainedLayersFrom(FLAGS_pretrained_net_file); + if (FLAGS_snapshot.size()) { + LOG(INFO) << "Resuming from " << FLAGS_snapshot; + solver.Solve(FLAGS_snapshot); + } else if (FLAGS_weights.size()) { + LOG(INFO) << "Finetuning from " << FLAGS_weights; + solver.net()->CopyTrainedLayersFrom(FLAGS_weights); solver.Solve(); } else { solver.Solve(); @@ -113,7 +111,7 @@ int time() { } // Instantiate the caffe net. Caffe::set_phase(Caffe::TRAIN); - Net caffe_net(FLAGS_net_proto_file); + Net caffe_net(FLAGS_model); // Do a clean forward and backward pass, so that memory allocation are done // and future iterations will be more stable. @@ -132,7 +130,7 @@ int time() { const vector >& bottom_need_backward = caffe_net.bottom_need_backward(); LOG(INFO) << "*** Benchmark begins ***"; - LOG(INFO) << "Testing for " << FLAGS_run_iterations << " iterations."; + LOG(INFO) << "Testing for " << FLAGS_iterations << " iterations."; Timer total_timer; total_timer.Start(); Timer forward_timer; @@ -141,7 +139,7 @@ int time() { for (int i = 0; i < layers.size(); ++i) { const caffe::string& layername = layers[i]->layer_param().name(); timer.Start(); - for (int j = 0; j < FLAGS_run_iterations; ++j) { + for (int j = 0; j < FLAGS_iterations; ++j) { layers[i]->Forward(bottom_vecs[i], &top_vecs[i]); } LOG(INFO) << layername << "\tforward: " << timer.MilliSeconds() << @@ -154,7 +152,7 @@ int time() { for (int i = layers.size() - 1; i >= 0; --i) { const caffe::string& layername = layers[i]->layer_param().name(); timer.Start(); - for (int j = 0; j < FLAGS_run_iterations; ++j) { + for (int j = 0; j < FLAGS_iterations; ++j) { layers[i]->Backward(top_vecs[i], bottom_need_backward[i], &bottom_vecs[i]); } From 5c46d79da98cc5a090bffd489cfbaca1b6f9e35d Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 23:22:40 -0700 Subject: [PATCH 401/408] check required caffe cli args --- tools/caffe.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index 1320b7a5e25..089fef39e1b 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -77,7 +77,10 @@ int device_query() { RegisterBrewFunction(device_query); int train() { - CHECK_GT(FLAGS_solver.size(), 0); + CHECK_GT(FLAGS_solver.size(), 0) << "Need a solver definition to train."; + CHECK(!FLAGS_snapshot.size() || !FLAGS_weights.size()) + << "Give a snapshot to resume training or weights to finetune " + "but not both."; caffe::SolverParameter solver_param; caffe::ReadProtoFromTextFileOrDie(FLAGS_solver, &solver_param); @@ -100,6 +103,8 @@ int train() { RegisterBrewFunction(train); int time() { + CHECK_GT(FLAGS_model.size(), 0) << "Need a model definition to time."; + // Set device id and mode if (FLAGS_gpu) { LOG(INFO) << "Use GPU with device id " << FLAGS_device_id; From 7dcf592a506754ea5faed1cf510410b41ef19f61 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 23:22:56 -0700 Subject: [PATCH 402/408] comment caffe cli --- tools/caffe.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index 089fef39e1b..57e7a5ebdae 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -63,11 +63,13 @@ static BrewFunction GetBrewFunction(const caffe::string& name) { } } -// caffe actions that could be called in the form -// caffe.bin action -// To do so, define actions as "int action()" functions, and register it with +// caffe commands to call by +// caffe +// +// To add a command, define a function "int command()" and register it with // RegisterBrewFunction(action); +// Device Query: show diagnostic information for a GPU device. int device_query() { LOG(INFO) << "Querying device_id = " << FLAGS_device_id; caffe::Caffe::SetDevice(FLAGS_device_id); @@ -76,6 +78,8 @@ int device_query() { } RegisterBrewFunction(device_query); + +// Train / Finetune a model. int train() { CHECK_GT(FLAGS_solver.size(), 0) << "Need a solver definition to train."; CHECK(!FLAGS_snapshot.size() || !FLAGS_weights.size()) @@ -102,6 +106,8 @@ int train() { } RegisterBrewFunction(train); + +// Time: benchmark the execution time of a model. int time() { CHECK_GT(FLAGS_model.size(), 0) << "Need a model definition to time."; From 76633d335142741d99f24fa326f774ecbeaf311b Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 23:38:17 -0700 Subject: [PATCH 403/408] consolidate test into caffe cli --- tools/caffe.cpp | 35 ++++++++++++++++++++++++++++++++ tools/test_net.cpp | 50 ++-------------------------------------------- 2 files changed, 37 insertions(+), 48 deletions(-) diff --git a/tools/caffe.cpp b/tools/caffe.cpp index 57e7a5ebdae..313803da654 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -107,6 +107,40 @@ int train() { RegisterBrewFunction(train); +// Test: score a model. +int test() { + CHECK_GT(FLAGS_model.size(), 0) << "Need a model definition to score."; + CHECK_GT(FLAGS_weights.size(), 0) << "Need model weights to score."; + + // Set device id and mode + if (FLAGS_gpu) { + LOG(INFO) << "Use GPU with device id " << FLAGS_device_id; + Caffe::SetDevice(FLAGS_device_id); + Caffe::set_mode(Caffe::GPU); + } else { + LOG(INFO) << "Use CPU."; + Caffe::set_mode(Caffe::CPU); + } + // Instantiate the caffe net. + Caffe::set_phase(Caffe::TEST); + Net caffe_net(FLAGS_model); + caffe_net.CopyTrainedLayersFrom(FLAGS_weights); + LOG(INFO) << "Running for " << FLAGS_iterations << " iterations."; + + double test_score = 0; + for (int i = 0; i < FLAGS_iterations; ++i) { + const vector*>& result = caffe_net.ForwardPrefilled(); + test_score += result[0]->cpu_data()[0]; + LOG(INFO) << "Batch " << i << ", score: " << result[0]->cpu_data()[0]; + } + test_score /= FLAGS_iterations; + LOG(INFO) << "Score: " << test_score; + + return 0; +} +RegisterBrewFunction(test); + + // Time: benchmark the execution time of a model. int time() { CHECK_GT(FLAGS_model.size(), 0) << "Need a model definition to time."; @@ -187,6 +221,7 @@ int main(int argc, char** argv) { "usage: caffe \n\n" "commands:\n" " train train or finetune a model\n" + " test score a model\n" " device_query show GPU diagnostic information\n" " time benchmark model execution time"); // Run tool or show usage. diff --git a/tools/test_net.cpp b/tools/test_net.cpp index de97ab8924c..cebbc4b1efc 100644 --- a/tools/test_net.cpp +++ b/tools/test_net.cpp @@ -1,53 +1,7 @@ -// This is a simple script that allows one to quickly test a network whose -// structure is specified by text format protocol buffers, and whose parameter -// are loaded from a pre-trained network. -// Usage: -// test_net net_proto pretrained_net_proto iterations [CPU/GPU] - -#include -#include -#include - #include "caffe/caffe.hpp" -using namespace caffe; // NOLINT(build/namespaces) - int main(int argc, char** argv) { - if (argc < 4 || argc > 6) { - LOG(ERROR) << "test_net net_proto pretrained_net_proto iterations " - << "[CPU/GPU] [Device ID]"; - return 1; - } - - Caffe::set_phase(Caffe::TEST); - - if (argc >= 5 && strcmp(argv[4], "GPU") == 0) { - Caffe::set_mode(Caffe::GPU); - int device_id = 0; - if (argc == 6) { - device_id = atoi(argv[5]); - } - Caffe::SetDevice(device_id); - LOG(ERROR) << "Using GPU #" << device_id; - } else { - LOG(ERROR) << "Using CPU"; - Caffe::set_mode(Caffe::CPU); - } - - Net caffe_test_net(argv[1]); - caffe_test_net.CopyTrainedLayersFrom(argv[2]); - - int total_iter = atoi(argv[3]); - LOG(ERROR) << "Running " << total_iter << " iterations."; - - double test_accuracy = 0; - for (int i = 0; i < total_iter; ++i) { - const vector*>& result = caffe_test_net.ForwardPrefilled(); - test_accuracy += result[0]->cpu_data()[0]; - LOG(ERROR) << "Batch " << i << ", accuracy: " << result[0]->cpu_data()[0]; - } - test_accuracy /= total_iter; - LOG(ERROR) << "Test accuracy: " << test_accuracy; - + LOG(FATAL) << "Deprecated. Use caffe.bin test --model=... " + "--weights=... instead."; return 0; } From e3de3d55de460e440c514cf3ac33dc406101ab3e Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 23:48:29 -0700 Subject: [PATCH 404/408] fix deprecation warnings --- tools/device_query.cpp | 2 +- tools/finetune_net.cpp | 4 ++-- tools/net_speed_benchmark.cpp | 4 ++-- tools/test_net.cpp | 2 +- tools/train_net.cpp | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/device_query.cpp b/tools/device_query.cpp index 2678154cbb4..03799e52b53 100644 --- a/tools/device_query.cpp +++ b/tools/device_query.cpp @@ -1,7 +1,7 @@ #include "caffe/common.hpp" int main(int argc, char** argv) { - LOG(FATAL) << "Deprecated. Use caffe.bin devicequery " + LOG(FATAL) << "Deprecated. Use caffe device_query " "[--device_id=0] instead."; return 0; } diff --git a/tools/finetune_net.cpp b/tools/finetune_net.cpp index 2966de48d17..81c0c354dbf 100644 --- a/tools/finetune_net.cpp +++ b/tools/finetune_net.cpp @@ -1,7 +1,7 @@ #include "caffe/caffe.hpp" int main(int argc, char** argv) { - LOG(FATAL) << "Deprecated. Use caffe.bin train --solver_proto_file=... " - "[--pretrained_net_file=...] instead."; + LOG(FATAL) << "Deprecated. Use caffe train --solver=... " + "[--weights=...] instead."; return 0; } diff --git a/tools/net_speed_benchmark.cpp b/tools/net_speed_benchmark.cpp index ff112bdff55..cd16e8d0984 100644 --- a/tools/net_speed_benchmark.cpp +++ b/tools/net_speed_benchmark.cpp @@ -1,7 +1,7 @@ #include "caffe/caffe.hpp" int main(int argc, char** argv) { - LOG(FATAL) << "Deprecated. Use caffe.bin speedtest --net_proto_file=... " - "[--run_iterations=50] [--speedtest_with_gpu] [--device_id=0]"; + LOG(FATAL) << "Deprecated. Use caffe time --model=... " + "[--iterations=50] [--gpu] [--device_id=0]"; return 0; } diff --git a/tools/test_net.cpp b/tools/test_net.cpp index cebbc4b1efc..92e14eeebaf 100644 --- a/tools/test_net.cpp +++ b/tools/test_net.cpp @@ -1,7 +1,7 @@ #include "caffe/caffe.hpp" int main(int argc, char** argv) { - LOG(FATAL) << "Deprecated. Use caffe.bin test --model=... " + LOG(FATAL) << "Deprecated. Use caffe test --model=... " "--weights=... instead."; return 0; } diff --git a/tools/train_net.cpp b/tools/train_net.cpp index 26aeb40bd05..622bca311c8 100644 --- a/tools/train_net.cpp +++ b/tools/train_net.cpp @@ -1,7 +1,7 @@ #include "caffe/caffe.hpp" int main(int argc, char** argv) { - LOG(FATAL) << "Deprecated. Use caffe.bin train --solver_proto_file=... " - "[--resume_point_file=...] instead."; + LOG(FATAL) << "Deprecated. Use caffe train --solver=... " + "[--snapshot=...] instead."; return 0; } From 13d625b556ab473f98bd70ac1b13087c50fedddf Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Wed, 6 Aug 2014 23:56:06 -0700 Subject: [PATCH 405/408] update cli usage in examples --- examples/cifar10/train_full.sh | 19 +++++++++---------- examples/cifar10/train_quick.sh | 11 +++++------ examples/imagenet/resume_training.sh | 6 +++--- ...speedtest_imagenet.sh => time_imagenet.sh} | 6 +++--- examples/imagenet/train_alexnet.sh | 3 +-- examples/imagenet/train_imagenet.sh | 3 +-- examples/mnist/train_lenet.sh | 3 +-- examples/mnist/train_lenet_consolidated.sh | 3 +-- examples/mnist/train_mnist_autoencoder.sh | 3 +-- 9 files changed, 25 insertions(+), 32 deletions(-) rename examples/imagenet/{speedtest_imagenet.sh => time_imagenet.sh} (73%) diff --git a/examples/cifar10/train_full.sh b/examples/cifar10/train_full.sh index 930b27a1a32..9dd9ad79822 100755 --- a/examples/cifar10/train_full.sh +++ b/examples/cifar10/train_full.sh @@ -2,15 +2,14 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=cifar10_full_solver.prototxt +$TOOLS/caffe train --solver=cifar10_full_solver.prototxt -#reduce learning rate by factor of 10 -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=cifar10_full_solver_lr1.prototxt \ - --resume_point_file=cifar10_full_iter_60000.solverstate +# reduce learning rate by factor of 10 +$TOOLS/caffe train \ + --solver=cifar10_full_solver_lr1.prototxt \ + --snapshot=cifar10_full_iter_60000.solverstate -#reduce learning rate by factor of 10 -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=cifar10_full_solver_lr2.prototxt \ - --resume_point_file=cifar10_full_iter_65000.solverstate +# reduce learning rate by factor of 10 +$TOOLS/caffe train \ + --solver=cifar10_full_solver_lr2.prototxt \ + --snapshot=cifar10_full_iter_65000.solverstate diff --git a/examples/cifar10/train_quick.sh b/examples/cifar10/train_quick.sh index 5e8fffccd48..e348e12fd94 100755 --- a/examples/cifar10/train_quick.sh +++ b/examples/cifar10/train_quick.sh @@ -2,10 +2,9 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=cifar10_quick_solver.prototxt +$TOOLS/caffe.bin train --solver=cifar10_quick_solver.prototxt -#reduce learning rate by fctor of 10 after 8 epochs -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=cifar10_quick_solver_lr1.prototxt \ - --resume_point_file=cifar10_quick_iter_4000.solverstate +# reduce learning rate by fctor of 10 after 8 epochs +$TOOLS/caffe.bin train \ + --solver=cifar10_quick_solver_lr1.prototxt \ + --snapshot=cifar10_quick_iter_4000.solverstate diff --git a/examples/imagenet/resume_training.sh b/examples/imagenet/resume_training.sh index b43a9b1bf7c..9e00d93c469 100755 --- a/examples/imagenet/resume_training.sh +++ b/examples/imagenet/resume_training.sh @@ -2,8 +2,8 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/caffe.bin train\ - --solver_proto_file=imagenet_solver.prototxt \ - --resume_point_file=caffe_imagenet_train_10000.solverstate +$TOOLS/caffe train\ + --solver=imagenet_solver.prototxt \ + --snapshot=caffe_imagenet_train_10000.solverstate echo "Done." diff --git a/examples/imagenet/speedtest_imagenet.sh b/examples/imagenet/time_imagenet.sh similarity index 73% rename from examples/imagenet/speedtest_imagenet.sh rename to examples/imagenet/time_imagenet.sh index c790d835c14..c83b0c021c7 100755 --- a/examples/imagenet/speedtest_imagenet.sh +++ b/examples/imagenet/time_imagenet.sh @@ -14,9 +14,9 @@ else DEVICE_ID=$1 fi -GLOG_logtostderr=1 $TOOLS/caffe.bin speedtest \ - --net_proto_file=imagenet_train_val.prototxt \ - --speedtest_with_gpu=${WITH_GPU} \ +$TOOLS/caffe time \ + --model=imagenet_train_val.prototxt \ + --gpu=${WITH_GPU} \ --device_id=${DEVICE_ID} echo "Done." diff --git a/examples/imagenet/train_alexnet.sh b/examples/imagenet/train_alexnet.sh index d43a235dba1..6a7c0577413 100755 --- a/examples/imagenet/train_alexnet.sh +++ b/examples/imagenet/train_alexnet.sh @@ -2,7 +2,6 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=alexnet_solver.prototxt +$TOOLS/caffe train --solver=alexnet_solver.prototxt echo "Done." diff --git a/examples/imagenet/train_imagenet.sh b/examples/imagenet/train_imagenet.sh index 90dcdfaddb8..008b96c01a1 100755 --- a/examples/imagenet/train_imagenet.sh +++ b/examples/imagenet/train_imagenet.sh @@ -2,7 +2,6 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=imagenet_solver.prototxt +$TOOLS/caffe train --solver=imagenet_solver.prototxt echo "Done." diff --git a/examples/mnist/train_lenet.sh b/examples/mnist/train_lenet.sh index 4d0f1eea051..b93e48fb629 100755 --- a/examples/mnist/train_lenet.sh +++ b/examples/mnist/train_lenet.sh @@ -2,5 +2,4 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=lenet_solver.prototxt +$TOOLS/caffe train --solver=lenet_solver.prototxt diff --git a/examples/mnist/train_lenet_consolidated.sh b/examples/mnist/train_lenet_consolidated.sh index 802c801e31f..83fe895ba0b 100755 --- a/examples/mnist/train_lenet_consolidated.sh +++ b/examples/mnist/train_lenet_consolidated.sh @@ -2,5 +2,4 @@ TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=lenet_consolidated_solver.prototxt +$TOOLS/caffe train --solver=lenet_consolidated_solver.prototxt diff --git a/examples/mnist/train_mnist_autoencoder.sh b/examples/mnist/train_mnist_autoencoder.sh index 3fb493534db..628c74b969a 100755 --- a/examples/mnist/train_mnist_autoencoder.sh +++ b/examples/mnist/train_mnist_autoencoder.sh @@ -1,5 +1,4 @@ #!/bin/bash TOOLS=../../build/tools -GLOG_logtostderr=1 $TOOLS/caffe.bin train \ - --solver_proto_file=mnist_autoencoder_solver.prototxt +$TOOLS/caffe.bin train --solver=mnist_autoencoder_solver.prototxt From 3b07be06a459f655b8cfa3e9d87bd534be5247d4 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Thu, 7 Aug 2014 11:56:45 -0700 Subject: [PATCH 406/408] consolidate gpu and device_id args in caffe tool --- examples/imagenet/time_imagenet.sh | 17 ++++++----------- tools/caffe.cpp | 23 +++++++++++------------ 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/examples/imagenet/time_imagenet.sh b/examples/imagenet/time_imagenet.sh index c83b0c021c7..c448b4977ce 100755 --- a/examples/imagenet/time_imagenet.sh +++ b/examples/imagenet/time_imagenet.sh @@ -3,20 +3,15 @@ TOOLS=../../build/tools if [ -z "$1" ]; then - echo "Using CPU! To run GPU speedtest, use:" - echo " ./speedtest_imagenet.sh " - echo "(Try ./speedtest_imagenet.sh 0 if you have just one GPU.)" + echo "Using CPU! To time GPU mode, use:" + echo " ./time_imagenet.sh " + echo "(Try ./time_imagenet.sh 0 if you have just one GPU.)" sleep 3 # Let the user read - WITH_GPU=false - DEVICE_ID=0 + GPU="" else - WITH_GPU=true - DEVICE_ID=$1 + GPU="--gpu=$1" fi -$TOOLS/caffe time \ - --model=imagenet_train_val.prototxt \ - --gpu=${WITH_GPU} \ - --device_id=${DEVICE_ID} +$TOOLS/caffe time --model=imagenet_train_val.prototxt ${GPU} echo "Done." diff --git a/tools/caffe.cpp b/tools/caffe.cpp index 313803da654..22d9eb19912 100644 --- a/tools/caffe.cpp +++ b/tools/caffe.cpp @@ -17,10 +17,8 @@ using caffe::Timer; using caffe::vector; -DEFINE_int32(device_id, 0, - "The GPU device ID to use."); -DEFINE_bool(gpu, false, - "Run in GPU mode when true."); +DEFINE_int32(gpu, -1, + "Run in GPU mode on given device ID."); DEFINE_string(solver, "", "The solver definition protocol buffer text file."); DEFINE_string(model, "", @@ -71,8 +69,9 @@ static BrewFunction GetBrewFunction(const caffe::string& name) { // Device Query: show diagnostic information for a GPU device. int device_query() { - LOG(INFO) << "Querying device_id = " << FLAGS_device_id; - caffe::Caffe::SetDevice(FLAGS_device_id); + CHECK_GT(FLAGS_gpu, -1) << "Need a device ID to query."; + LOG(INFO) << "Querying device ID = " << FLAGS_gpu; + caffe::Caffe::SetDevice(FLAGS_gpu); caffe::Caffe::DeviceQuery(); return 0; } @@ -113,9 +112,9 @@ int test() { CHECK_GT(FLAGS_weights.size(), 0) << "Need model weights to score."; // Set device id and mode - if (FLAGS_gpu) { - LOG(INFO) << "Use GPU with device id " << FLAGS_device_id; - Caffe::SetDevice(FLAGS_device_id); + if (FLAGS_gpu >= 0) { + LOG(INFO) << "Use GPU with device ID " << FLAGS_gpu; + Caffe::SetDevice(FLAGS_gpu); Caffe::set_mode(Caffe::GPU); } else { LOG(INFO) << "Use CPU."; @@ -146,9 +145,9 @@ int time() { CHECK_GT(FLAGS_model.size(), 0) << "Need a model definition to time."; // Set device id and mode - if (FLAGS_gpu) { - LOG(INFO) << "Use GPU with device id " << FLAGS_device_id; - Caffe::SetDevice(FLAGS_device_id); + if (FLAGS_gpu >= 0) { + LOG(INFO) << "Use GPU with device ID " << FLAGS_gpu; + Caffe::SetDevice(FLAGS_gpu); Caffe::set_mode(Caffe::GPU); } else { LOG(INFO) << "Use CPU."; From c9fd6608095348feb20f2a7fbfdcbe1a2353d57d Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 8 Aug 2014 11:18:46 -0700 Subject: [PATCH 407/408] [example] fix broken links in ImageNet recipe --- examples/imagenet/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/imagenet/readme.md b/examples/imagenet/readme.md index ec2a39bfd23..883e09272f1 100644 --- a/examples/imagenet/readme.md +++ b/examples/imagenet/readme.md @@ -12,7 +12,7 @@ Yangqing's Recipe on Brewing ImageNet "All your braincells are belong to us." - Caffeine -We are going to describe a reference implementation for the approach first proposed by Krizhevsky, Sutskever, and Hinton in their [NIPS 2012 paper](http://books.nips.cc/papers/files/nips25/NIPS2012_0534.pdf). Since training the whole model takes some time and energy, we provide a model, trained in the same way as we describe here, to help fight global warming. If you would like to simply use the pretrained model, check out the [Pretrained ImageNet](getting_pretrained_models.html) page. *Note that the pretrained model is for academic research / non-commercial use only*. +We are going to describe a reference implementation for the approach first proposed by Krizhevsky, Sutskever, and Hinton in their [NIPS 2012 paper](http://books.nips.cc/papers/files/nips25/NIPS2012_0534.pdf). Since training the whole model takes some time and energy, we provide a model, trained in the same way as we describe here, to help fight global warming. If you would like to simply use the pretrained model, check out the [Pretrained ImageNet](../../getting_pretrained_models.html) page. *Note that the pretrained model is for academic research / non-commercial use only*. To clarify, by ImageNet we actually mean the ILSVRC12 challenge, but you can easily train on the whole of ImageNet as well, just with more disk space, and a little longer training time. @@ -102,4 +102,4 @@ Parting Words Hope you liked this recipe! Many researchers have gone further since the ILSVRC 2012 challenge, changing the network architecture and/or finetuning the various parameters in the network. The recent ILSVRC 2013 challenge suggests that there are quite some room for improvement. **Caffe allows one to explore different network choices more easily, by simply writing different prototxt files** - isn't that exciting? -And since now you have a trained network, check out how to use it: [Running Pretrained ImageNet](getting_pretrained_models.html). This time we will use Python, but if you have wrappers for other languages, please kindly send a pull request! +And since now you have a trained network, check out how to use it: [Running Pretrained ImageNet](../../getting_pretrained_models.html). This time we will use Python, but if you have wrappers for other languages, please kindly send a pull request! From 70a6b0b71d2ec894689c85291bae5e64d44b0584 Mon Sep 17 00:00:00 2001 From: Evan Shelhamer Date: Fri, 8 Aug 2014 12:01:39 -0700 Subject: [PATCH 408/408] [docs] fix find complaint in example gathering script --- scripts/gather_examples.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/gather_examples.sh b/scripts/gather_examples.sh index dd6cef0df1b..3fc726065ba 100755 --- a/scripts/gather_examples.sh +++ b/scripts/gather_examples.sh @@ -22,7 +22,7 @@ for README_FILENAME in $(find examples -iname "readme.md"); do done # Gather docs from examples/*.ipynb and add YAML front-matter. -for NOTEBOOK_FILENAME in $(find examples -d 1 -iname "*.ipynb"); do +for NOTEBOOK_FILENAME in $(find examples -depth -iname "*.ipynb"); do DOCS_FILENAME=$GATHERED_DIR/$NOTEBOOK_FILENAME mkdir -p `dirname $DOCS_FILENAME` python scripts/copy_notebook.py $NOTEBOOK_FILENAME $DOCS_FILENAME