pytorch
40 строк · 823.0 Байт
1#include "caffe2/transforms/single_op_transform.h"2
3#include "caffe2/core/common.h"4#include "caffe2/core/logging.h"5#include "caffe2/core/net.h"6#include "caffe2/proto/caffe2_pb.h"7
8namespace caffe2 {9
10using transform::Graph;11
12bool SingleOpTransform::PatternRule(13const Graph& g,14const std::vector<int>& subgraph,15int idx) {16if (subgraph.size() == 0) {17return MatchOperator(g.node(idx).op);18}19return false;20}
21
22bool SingleOpTransform::ValidatorRule(23const Graph& /*g*/,24const std::vector<int>& subgraph) {25if (subgraph.size() == 1) {26return true;27}28return false;29}
30
31bool SingleOpTransform::ReplaceRule(32const std::vector<int>& subgraph,33Graph* g_ptr) {34CHECK(g_ptr);35auto& g = *g_ptr;36ReplaceOperator(&(g.node(subgraph[0]).op));37return true;38}
39
40} // namespace caffe241