diff --git a/paddle/fluid/framework/reader.cc b/paddle/fluid/framework/reader.cc index 567b0ee99f67fe39a7ca3fb0f41afcfd3ee179d7..9939797f4c6fb4c7fa6dc8851d830cb4180790a9 100644 --- a/paddle/fluid/framework/reader.cc +++ b/paddle/fluid/framework/reader.cc @@ -39,7 +39,7 @@ void ReaderBase::Start() { } } -ReaderBase::~ReaderBase() {} +ReaderBase::~ReaderBase() { Shutdown(); } } // namespace framework } // namespace paddle diff --git a/paddle/fluid/framework/reader.h b/paddle/fluid/framework/reader.h index 8e7f43cdf97c369fd405c8beed3259cde9af9634..95af7b12562d15430988b34923a968f8c4c23eb4 100644 --- a/paddle/fluid/framework/reader.h +++ b/paddle/fluid/framework/reader.h @@ -39,9 +39,9 @@ class ReaderBase { protected: virtual void ReadNextImpl(std::vector* out) = 0; - virtual void ShutdownImpl() = 0; + virtual void ShutdownImpl() {} - virtual void StartImpl() = 0; + virtual void StartImpl() {} ReaderStatus status_{kRunning}; @@ -63,15 +63,8 @@ class DecoratedReader : public ReaderBase { std::shared_ptr reader_; }; -class FileReader : public ReaderBase { - public: - FileReader() : ReaderBase() {} - - protected: - void ShutdownImpl() override {} - - void StartImpl() override {} -}; +// FileReader is just a conceptual class. +class FileReader : public ReaderBase {}; // The ReaderHolder is used as reader' unified wrapper, // making it easier to access different type reader in Variables. diff --git a/paddle/fluid/operators/reader/create_py_reader_op.cc b/paddle/fluid/operators/reader/create_py_reader_op.cc index 9b4c6412e65d173e156e062ec416c7bc43995c9d..fb7a96cb73d12a37e98fd064b3daf719e2c26bb2 100644 --- a/paddle/fluid/operators/reader/create_py_reader_op.cc +++ b/paddle/fluid/operators/reader/create_py_reader_op.cc @@ -56,8 +56,8 @@ class CreatePyReaderOp : public framework::OperatorBase { const std::string& queue_name = Input("blocking_queue"); auto* queue_holder_var = scope.FindVar(queue_name); - PADDLE_ENFORCE( - queue_holder_var != nullptr, + PADDLE_ENFORCE_NOT_NULL( + queue_holder_var, "No LoDTensorBlockingQueueHolder variable with name %s found", queue_name); auto* queue_holder = diff --git a/paddle/fluid/operators/reader/create_recordio_file_reader_op.cc b/paddle/fluid/operators/reader/create_recordio_file_reader_op.cc index 66f209b04e50703939e04596fe9469688830de74..61d94cfbd38bc0e43997f053de7a5d6fe4065a23 100644 --- a/paddle/fluid/operators/reader/create_recordio_file_reader_op.cc +++ b/paddle/fluid/operators/reader/create_recordio_file_reader_op.cc @@ -22,8 +22,7 @@ template class RecordIOFileReader : public framework::FileReader { public: explicit RecordIOFileReader(const std::string& filename) - : FileReader(), - scanner_(filename), + : scanner_(filename), dev_ctx_(*platform::DeviceContextPool::Instance().Get( platform::CPUPlace())) { if (ThreadSafe) { @@ -42,7 +41,7 @@ class RecordIOFileReader : public framework::FileReader { } } - void ShutdownImpl() override { scanner_.Reset(); } + void StartImpl() override { scanner_.Reset(); } private: std::unique_ptr mutex_;