forked from jiuyuan/InfiniTensor
25 lines
628 B
C
25 lines
628 B
C
|
#pragma once
|
||
|
#include "nnet/visitor.h"
|
||
|
|
||
|
namespace nnet {
|
||
|
|
||
|
class FullPrinterVisitor : public ExprTreeVisitor {
|
||
|
private:
|
||
|
vector<tuple<string, Routine, Tensor>> q;
|
||
|
|
||
|
public:
|
||
|
FullPrinterVisitor(int _verobse = 0)
|
||
|
: ExprTreeVisitor(1, 1, 1, 0, _verobse) {}
|
||
|
void visit_(const Tensor &c) override;
|
||
|
|
||
|
string print(const Expr &root);
|
||
|
/**
|
||
|
* @brief Get all tensors & OPs in a reversed order
|
||
|
*
|
||
|
* @param root
|
||
|
* @return vector<<Output TensorName, RoutineNode, output tensor in NNet>>
|
||
|
*/
|
||
|
const vector<tuple<string, Routine, Tensor>> &traverse(const Expr &root);
|
||
|
};
|
||
|
|
||
|
} // namespace nnet
|