/usr/local/lib64/python3.6/site-packages/torch/include/caffe2/transforms
NameSizeModeActions
common_subexpression_elimination.h15840644editdlrm
conv_to_nnpack_transform.h6780644editdlrm
pattern_net_transform.h43940644editdlrm
single_op_transform.h10210644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/torch/include/caffe2/transforms/single_op_transform.h (1021B)
#pragma once #include "caffe2/core/common.h" #include "caffe2/core/transform.h" #include "caffe2/proto/caffe2_pb.h" #include "caffe2/utils/proto_utils.h" namespace caffe2 { /** * Single Op Transform Base class * * A transform which is applied to a single node, in place. * * Transforms which derive from SingleOpTransform need to override: * ReplaceOperator and MatchOperator. */ class TORCH_API SingleOpTransform : public Transform { protected: bool PatternRule( const transform::Graph& g, const std::vector& subgraph, int idx) override; bool ValidatorRule( const transform::Graph& g, const std::vector& subgraph) override; bool ReplaceRule(const std::vector& subgraph, transform::Graph* g_ptr) override; // Specify what the op needs to be to match the pattern. virtual bool MatchOperator(const OperatorDef& op) = 0; // Specify how the operator should be replaced. virtual void ReplaceOperator(OperatorDef* op) = 0; }; } // namespace caffe2