From f1a8470aa21e35a5b2bb83007f8fb7680a354815 Mon Sep 17 00:00:00 2001 From: Nishidha Panpaliya Date: Tue, 17 May 2016 01:14:53 -0500 Subject: [PATCH 1/3] Fix for a random failure in this test due to floating point comparison. So, instead of exact match, used EXPECT_FLOAT_EQ that tolerates some precision while comparing two floats --- src/caffe/test/test_embed_layer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/caffe/test/test_embed_layer.cpp b/src/caffe/test/test_embed_layer.cpp index dc7f5c4aa47..13f13a878d3 100644 --- a/src/caffe/test/test_embed_layer.cpp +++ b/src/caffe/test/test_embed_layer.cpp @@ -124,7 +124,7 @@ TYPED_TEST(EmbedLayerTest, TestForwardWithBias) { top_offset[4] = 0; bias_offset[0] = 0; for (int j = 0; j < kNumOutput; ++j) { - EXPECT_EQ(layer->blobs()[0]->data_at(weight_offset) + + EXPECT_FLOAT_EQ(layer->blobs()[0]->data_at(weight_offset) + layer->blobs()[1]->data_at(bias_offset), this->blob_top_->data_at(top_offset)); ++top_offset[4]; From 35a9a075cdc65c86021dde4d11e3b1c05e27971b Mon Sep 17 00:00:00 2001 From: Valentin Tolmer Date: Wed, 22 Jun 2016 15:13:54 -0700 Subject: [PATCH 2/3] add set_random_seed to the python interface --- python/caffe/__init__.py | 2 +- python/caffe/_caffe.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/python/caffe/__init__.py b/python/caffe/__init__.py index e2881b89c1b..35868a403a3 100644 --- a/python/caffe/__init__.py +++ b/python/caffe/__init__.py @@ -1,5 +1,5 @@ from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropSolver, AdaDeltaSolver, AdamSolver -from ._caffe import set_mode_cpu, set_mode_gpu, set_device, Layer, get_solver, layer_type_list +from ._caffe import set_mode_cpu, set_mode_gpu, set_device, Layer, get_solver, layer_type_list, set_random_seed from ._caffe import __version__ from .proto.caffe_pb2 import TRAIN, TEST from .classifier import Classifier diff --git a/python/caffe/_caffe.cpp b/python/caffe/_caffe.cpp index 334088e8a57..3db55ea4340 100644 --- a/python/caffe/_caffe.cpp +++ b/python/caffe/_caffe.cpp @@ -51,6 +51,8 @@ const int NPY_DTYPE = NPY_FLOAT32; void set_mode_cpu() { Caffe::set_mode(Caffe::CPU); } void set_mode_gpu() { Caffe::set_mode(Caffe::GPU); } +void set_random_seed(unsigned int seed) { Caffe::set_random_seed(seed); } + // For convenience, check that input files can be opened, and raise an // exception that boost will send to Python if not (caffe could still crash // later if the input files are disturbed before they are actually used, but @@ -260,6 +262,7 @@ BOOST_PYTHON_MODULE(_caffe) { // Caffe utility functions bp::def("set_mode_cpu", &set_mode_cpu); bp::def("set_mode_gpu", &set_mode_gpu); + bp::def("set_random_seed", &set_random_seed); bp::def("set_device", &Caffe::SetDevice); bp::def("layer_type_list", &LayerRegistry::LayerTypeList); From a64cfbd08591db0b061ad7ad39c54cd45c0e252a Mon Sep 17 00:00:00 2001 From: Alessandro Giusti Date: Mon, 11 Jul 2016 20:33:16 +0200 Subject: [PATCH 3/3] Update parse_log.py Aligned output description in docstring with actual output returned by parse_log --- tools/extra/parse_log.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tools/extra/parse_log.py b/tools/extra/parse_log.py index bb9b65ad615..375b0db73b3 100755 --- a/tools/extra/parse_log.py +++ b/tools/extra/parse_log.py @@ -16,13 +16,10 @@ def parse_log(path_to_log): """Parse log file - Returns (train_dict_list, train_dict_names, test_dict_list, test_dict_names) + Returns (train_dict_list, test_dict_list) train_dict_list and test_dict_list are lists of dicts that define the table rows - - train_dict_names and test_dict_names are ordered tuples of the column names - for the two dict_lists """ regex_iteration = re.compile('Iteration (\d+)')