diff --git a/Makefile.icsi b/Makefile.icsi index 4c8b730a..a612cb8b 100644 --- a/Makefile.icsi +++ b/Makefile.icsi @@ -44,7 +44,7 @@ MKL_LIB_DIR := $(MKL_DIR)/lib $(MKL_DIR)/lib/intel64 INCLUDE_DIRS := ./src ./include /u/vis/software/include /usr/local/include $(CUDA_INCLUDE_DIR) $(MKL_INCLUDE_DIR) LIBRARY_DIRS := /usr/lib /u/vis/software/lib /usr/local/lib $(CUDA_LIB_DIR) $(MKL_LIB_DIR) LIBRARIES := cudart cublas protobuf glog mkl_rt curand \ - leveldb snappy pthread + leveldb snappy pthread opencv_core opencv_highgui WARNINGS := -Wall COMMON_FLAGS := $(foreach includedir,$(INCLUDE_DIRS),-I$(includedir)) diff --git a/examples/convert_imageset.cpp b/examples/convert_imageset.cpp index f5ecd4a3..c0d410ad 100644 --- a/examples/convert_imageset.cpp +++ b/examples/convert_imageset.cpp @@ -31,7 +31,7 @@ using std::stringstream; int main(int argc, char** argv) { ::google::InitGoogleLogging(argv[0]); std::ifstream infile(argv[2]); - vector > lines; + std::vector > lines; string filename; int label; while (infile >> filename >> label) { diff --git a/examples/demo_mnist.cpp b/examples/demo_mnist.cpp index 11d3fc51..8459180b 100644 --- a/examples/demo_mnist.cpp +++ b/examples/demo_mnist.cpp @@ -53,7 +53,7 @@ int main(int argc, char** argv) { SolverParameter solver_param; // Solver Parameters are hard-coded in this case, but you can write a // SolverParameter protocol buffer to specify all these values. - solver_param.set_base_lr(0.01); + solver_param.set_base_lr(0.001); solver_param.set_display(100); solver_param.set_max_iter(5000); solver_param.set_lr_policy("inv"); diff --git a/examples/test_read_imagenet.cpp b/examples/test_read_imagenet.cpp index 7a59eccd..7b61990b 100644 --- a/examples/test_read_imagenet.cpp +++ b/examples/test_read_imagenet.cpp @@ -22,8 +22,7 @@ int main(int argc, char** argv) { leveldb::Iterator* it = db->NewIterator(read_options); for (it->SeekToFirst(); it->Valid(); it->Next()) { // just a dummy operation - it->value().ToString(); - // LOG(ERROR) << it->key().ToString(); + LOG(ERROR) << it->key().ToString(); if (++count % 10000 == 0) { LOG(ERROR) << "Processed " << count << " files."; } diff --git a/src/caffe/layers/bnll_layer.cu b/src/caffe/layers/bnll_layer.cu index fd261a35..2c06a63d 100644 --- a/src/caffe/layers/bnll_layer.cu +++ b/src/caffe/layers/bnll_layer.cu @@ -17,7 +17,9 @@ void BNLLLayer::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] = log(1. + exp(min(bottom_data[i], Dtype(kBNLL_THRESHOLD)))); + top_data[i] = bottom_data[i] > 0 ? + bottom_data[i] + log(1. + exp(-bottom_data[i])) : + log(1. + exp(bottom_data[i])); } } @@ -43,7 +45,9 @@ template __global__ void BNLLForward(const int n, const Dtype* in, Dtype* out) { int index = threadIdx.x + blockIdx.x * blockDim.x; if (index < n) { - out[index] = log(1. + exp(min(in[index], Dtype(kBNLL_THRESHOLD)))); + out[index] = in[index] > 0 ? + in[index] + log(1. + exp(-in[index])) : + log(1. + exp(in[index])); } } diff --git a/src/caffe/util/io.cpp b/src/caffe/util/io.cpp index 5e5510f5..a3c520f0 100644 --- a/src/caffe/util/io.cpp +++ b/src/caffe/util/io.cpp @@ -67,7 +67,7 @@ void WriteProtoToBinaryFile(const Message& proto, const char* filename) { void ReadImageToDatum(const string& filename, const int label, Datum* datum) { - Mat cv_img; + cv::Mat cv_img; cv_img = cv::imread(filename, CV_LOAD_IMAGE_COLOR); CHECK(cv_img.data) << "Could not open or find the image."; datum->set_channels(3); @@ -80,7 +80,7 @@ void ReadImageToDatum(const string& filename, const int label, Datum* datum) { for (int c = 0; c < 3; ++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])); + datum_string->push_back(static_cast(cv_img.at(h, w)[c])); } } }