From: Jonathan L Long Date: Tue, 30 Sep 2014 04:20:37 +0000 (-0700) Subject: use method overrides for CuDNNPoolingLayer top blob checking X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c5e404dc2988532906b08eb90b226be91b778ac0;p=platform%2Fupstream%2Fcaffe.git use method overrides for CuDNNPoolingLayer top blob checking --- diff --git a/include/caffe/vision_layers.hpp b/include/caffe/vision_layers.hpp index a3c8bc0..58ac534 100644 --- a/include/caffe/vision_layers.hpp +++ b/include/caffe/vision_layers.hpp @@ -338,6 +338,9 @@ class CuDNNPoolingLayer : public PoolingLayer { virtual void Reshape(const vector*>& bottom, const vector*>& top); virtual ~CuDNNPoolingLayer(); + // Currently, cuDNN does not support the extra top blob. + virtual inline int MinTopBlobs() const { return -1; } + virtual inline int ExactNumTopBlobs() const { return 1; } protected: virtual void Forward_gpu(const vector*>& bottom, diff --git a/src/caffe/layers/cudnn_pooling_layer.cpp b/src/caffe/layers/cudnn_pooling_layer.cpp index 4d7573c..fc0222a 100644 --- a/src/caffe/layers/cudnn_pooling_layer.cpp +++ b/src/caffe/layers/cudnn_pooling_layer.cpp @@ -13,10 +13,9 @@ template void CuDNNPoolingLayer::LayerSetUp(const vector*>& bottom, const vector*>& top) { PoolingLayer::LayerSetUp(bottom, top); - // Sanity check: CUDNN currently only supports pad=0 and top.size()=1 cases. + // Sanity check: CUDNN currently only supports pad == 0. CHECK_EQ(this->pad_h_, 0); CHECK_EQ(this->pad_w_, 0); - CHECK_EQ(top.size(), 1); CUDNN_CHECK(cudnnCreate(&handle_)); cudnn::createTensor4dDesc(&bottom_desc_); cudnn::createTensor4dDesc(&top_desc_);