diff --git a/paddle/framework/net.cc b/paddle/framework/net.cc index 7311cda9a9ad282b21711d8eb0b9ba1cf9542296..b9cd732d409e6b8ab6bdddcef810597ac28fba1d 100644 --- a/paddle/framework/net.cc +++ b/paddle/framework/net.cc @@ -55,5 +55,14 @@ void PlainNet::CompleteAddOp() { add_op_done_ = true; } +std::string PlainNet::DebugString() const { + std::ostringstream os; + os << this->type_ << ":" << std::endl; + for (auto& op : ops_) { + os << "\t" << op->DebugString() << std::endl; + } + return os.str(); +} + } // namespace framework } // namespace paddle diff --git a/paddle/framework/net.h b/paddle/framework/net.h index 19a1620e29b86fbccfc112a5f85a1784a197dd0b..33bb30ea0767b32e72888c9ff75970f8801f645a 100644 --- a/paddle/framework/net.h +++ b/paddle/framework/net.h @@ -88,6 +88,8 @@ class PlainNet : public Net { void CompleteAddOp() override; + std::string DebugString() const override; + std::vector ops_; private: diff --git a/paddle/framework/operator.h b/paddle/framework/operator.h index 1071fcc0e2884beb4ce9ba46429ae87e9d72c4c1..5f046d6293d5dbb9fd594b0c13aa8d62012cf915 100644 --- a/paddle/framework/operator.h +++ b/paddle/framework/operator.h @@ -72,7 +72,7 @@ class OperatorBase { return boost::get(attrs_.at(name)); } - std::string DebugString() const; + virtual std::string DebugString() const; /// Init will be called after CreateOperator, you can put some initialization /// logic here.