summaryrefslogtreecommitdiff
path: root/src/caffe/layers
diff options
context:
space:
mode:
authorKai Li <kaili_kloud@163.com>2014-08-28 17:32:46 +0800
committerKai Li <kaili_kloud@163.com>2014-09-03 13:25:21 +0800
commit5af0d240cd22adb60bb6fd7eadd3249a46369faf (patch)
treed146038aafba78248d7184f8c6b14af1d27085ef /src/caffe/layers
parentb794cf9433233ec002dc454fa40286bbd3f4ecfe (diff)
downloadcaffeonacl-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.cpp5
-rw-r--r--src/caffe/layers/data_layer.cpp1
-rw-r--r--src/caffe/layers/image_data_layer.cpp5
-rw-r--r--src/caffe/layers/window_data_layer.cpp5
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