diff options
author | Kai Li <kaili_kloud@163.com> | 2014-08-28 17:32:46 +0800 |
---|---|---|
committer | Kai Li <kaili_kloud@163.com> | 2014-09-03 13:25:21 +0800 |
commit | 5af0d240cd22adb60bb6fd7eadd3249a46369faf (patch) | |
tree | d146038aafba78248d7184f8c6b14af1d27085ef /src/caffe/layers | |
parent | b794cf9433233ec002dc454fa40286bbd3f4ecfe (diff) | |
download | caffeonacl-5af0d240cd22adb60bb6fd7eadd3249a46369faf.tar.gz caffeonacl-5af0d240cd22adb60bb6fd7eadd3249a46369faf.tar.bz2 caffeonacl-5af0d240cd22adb60bb6fd7eadd3249a46369faf.zip |
The BasePrefetchingDataLayer shouldn't join the thread
Diffstat (limited to 'src/caffe/layers')
-rw-r--r-- | src/caffe/layers/base_data_layer.cpp | 5 | ||||
-rw-r--r-- | src/caffe/layers/data_layer.cpp | 1 | ||||
-rw-r--r-- | src/caffe/layers/image_data_layer.cpp | 5 | ||||
-rw-r--r-- | src/caffe/layers/window_data_layer.cpp | 5 |
4 files changed, 11 insertions, 5 deletions
diff --git a/src/caffe/layers/base_data_layer.cpp b/src/caffe/layers/base_data_layer.cpp index 8310710d..b25f0873 100644 --- a/src/caffe/layers/base_data_layer.cpp +++ b/src/caffe/layers/base_data_layer.cpp @@ -16,11 +16,6 @@ void BaseDataLayer<Dtype>::LayerSetUp(const vector<Blob<Dtype>*>& bottom, } template <typename Dtype> -BasePrefetchingDataLayer<Dtype>::~BasePrefetchingDataLayer<Dtype>() { - JoinPrefetchThread(); -} - -template <typename Dtype> void BasePrefetchingDataLayer<Dtype>::CreatePrefetchThread() { this->phase_ = Caffe::phase(); this->data_transformer_.InitRand(); diff --git a/src/caffe/layers/data_layer.cpp b/src/caffe/layers/data_layer.cpp index fbf2d91c..b57ca587 100644 --- a/src/caffe/layers/data_layer.cpp +++ b/src/caffe/layers/data_layer.cpp @@ -79,6 +79,7 @@ void DataLayer<Dtype>::InternalThreadEntry() { template <typename Dtype> DataLayer<Dtype>::~DataLayer<Dtype>() { + this->JoinPrefetchThread(); // clean up the database resources switch (this->layer_param_.data_param().backend()) { case DataParameter_DB_LEVELDB: diff --git a/src/caffe/layers/image_data_layer.cpp b/src/caffe/layers/image_data_layer.cpp index 687beb8e..72b14832 100644 --- a/src/caffe/layers/image_data_layer.cpp +++ b/src/caffe/layers/image_data_layer.cpp @@ -54,6 +54,11 @@ void ImageDataLayer<Dtype>::InternalThreadEntry() { } template <typename Dtype> +ImageDataLayer<Dtype>::~ImageDataLayer<Dtype>() { + this->JoinPrefetchThread(); +} + +template <typename Dtype> void ImageDataLayer<Dtype>::DataLayerSetUp(const vector<Blob<Dtype>*>& bottom, vector<Blob<Dtype>*>* top) { const int new_height = this->layer_param_.image_data_param().new_height(); diff --git a/src/caffe/layers/window_data_layer.cpp b/src/caffe/layers/window_data_layer.cpp index f4349825..f7e8186a 100644 --- a/src/caffe/layers/window_data_layer.cpp +++ b/src/caffe/layers/window_data_layer.cpp @@ -238,6 +238,11 @@ void WindowDataLayer<Dtype>::InternalThreadEntry() { } template <typename Dtype> +WindowDataLayer<Dtype>::~WindowDataLayer<Dtype>() { + this->JoinPrefetchThread(); +} + +template <typename Dtype> void WindowDataLayer<Dtype>::DataLayerSetUp(const vector<Blob<Dtype>*>& bottom, vector<Blob<Dtype>*>* top) { // LayerSetUp runs through the window_file and creates two structures |