Home | History | Annotate | Download | only in grappler

Lines Matching refs:node

28 bool IsAdd(const NodeDef& node) {
29 if (node.op() == "AddV2" || node.op() == "Add") {
30 DataType type = node.attr().at("T").type();
36 bool IsAddN(const NodeDef& node) { return node.op() == "AddN"; }
38 bool IsAll(const NodeDef& node) { return node.op() == "All"; }
40 bool IsAngle(const NodeDef& node) { return node.op() == "Angle"; }
42 bool IsAny(const NodeDef& node) { return node.op() == "Any"; }
44 bool IsAnyDiv(const NodeDef& node) {
45 return node.op() == "RealDiv" || node.op() == "Div" ||
46 node.op() == "FloorDiv" || node.op() == "TruncateDiv";
49 bool IsApproximateEqual(const NodeDef& node) {
50 return node.op() == "ApproximateEqual";
53 bool IsAvgPoolGrad(const NodeDef& node) { return node.op() == "AvgPoolGrad"; }
55 bool IsAssert(const NodeDef& node) { return node.op() == "Assert"; }
57 bool IsAtan2(const NodeDef& node) { return node.op() == "Atan2"; }
59 bool IsBetainc(const NodeDef& node) { return node.op() == "Betainc"; }
61 bool IsBiasAdd(const NodeDef& node) {
62 return node.op() == "BiasAdd" || node.op() == "BiasAddV1";
65 bool IsBiasAddGrad(const NodeDef& node) { return node.op() == "BiasAddGrad"; }
67 bool IsBitcast(const NodeDef& node) { return node.op() == "Bitcast"; }
69 bool IsCast(const NodeDef& node) { return node.op() == "Cast"; }
71 bool IsComplex(const NodeDef& node) { return node.op() == "Complex"; }
73 bool IsComplexAbs(const NodeDef& node) { return node.op() == "ComplexAbs"; }
75 bool IsConcatOffset(const NodeDef& node) { return node.op() == "ConcatOffset"; }
77 bool IsConstant(const NodeDef& node) { return node.op() == "Const"; }
79 bool IsConj(const NodeDef& node) { return node.op() == "Conj"; }
81 bool IsConv2D(const NodeDef& node) { return node.op() == "Conv2D"; }
83 bool IsConv2DBackpropFilter(const NodeDef& node) {
84 return node.op() == "Conv2DBackpropFilter";
87 bool IsConv2DBackpropInput(const NodeDef& node) {
88 return node.op() == "Conv2DBackpropInput";
91 bool IsDepthwiseConv2dNative(const NodeDef& node) {
92 return node.op() == "DepthwiseConv2dNative";
95 bool IsDepthwiseConv2dNativeBackpropFilter(const NodeDef& node) {
96 return node.op() == "DepthwiseConv2dNativeBackpropFilter";
99 bool IsDepthwiseConv2dNativeBackpropInput(const NodeDef& node) {
100 return node.op() == "DepthwiseConv2dNativeBackpropInput";
103 bool IsDequeueOp(const NodeDef& node) {
104 const auto& op = node.op();
110 bool IsDiv(const NodeDef& node) { return node.op() == "Div"; }
112 bool IsEluGrad(const NodeDef& node) { return node.op() == "EluGrad"; }
114 bool IsEnter(const NodeDef& node) {
115 const auto& op = node.op();
119 bool IsEqual(const NodeDef& node) { return node.op() == "Equal"; }
121 bool IsExit(const NodeDef& node) {
122 const auto& op = node.op();
126 bool IsFill(const NodeDef& node) { return node.op() == "Fill"; }
128 bool IsFloorDiv(const NodeDef& node) { return node.op() == "FloorDiv"; }
130 bool IsFloorMod(const NodeDef& node) { return node.op() == "FloorMod"; }
132 bool IsFusedBatchNormGrad(const NodeDef& node) {
133 const auto& op = node.op();
137 bool IsGreater(const NodeDef& node) { return node.op() == "Greater"; }
139 bool IsGreaterEqual(const NodeDef& node) { return node.op() == "GreaterEqual"; }
141 bool IsHistogramSummary(const NodeDef& node) {
142 return node.op() == "HistogramSummary";
145 bool IsIdentity(const NodeDef& node) {
146 const auto& op = node.op();
150 bool IsIdentityN(const NodeDef& node) {
151 const auto& op = node.op();
155 bool IsIgamma(const NodeDef& node) { return node.op() == "Igamma"; }
157 bool IsIgammac(const NodeDef& node) { return node.op() == "Igammac"; }
159 bool IsImag(const NodeDef& node) { return node.op() == "Imag"; }
161 bool IsInvGrad(const NodeDef& node) { return node.op() == "InvGrad"; }
163 bool IsLess(const NodeDef& node) { return node.op() == "Less"; }
165 bool IsLessEqual(const NodeDef& node) { return node.op() == "LessEqual"; }
167 bool IsLogicalAnd(const NodeDef& node) { return node.op() == "LogicalAnd"; }
169 bool IsLogicalNot(const NodeDef& node) { return node.op() == "LogicalNot"; }
171 bool IsLogicalOr(const NodeDef& node) { return node.op() == "LogicalOr"; }
173 bool IsMatMul(const NodeDef& node) {
174 const auto& op = node.op();
179 bool IsMax(const NodeDef& node) { return node.op() == "Max"; }
181 bool IsMaximum(const NodeDef& node) { return node.op() == "Maximum"; }
183 bool IsMean(const NodeDef& node) { return node.op() == "Mean"; }
185 bool IsMerge(const NodeDef& node) {
186 const auto& op = node.op();
190 bool IsMin(const NodeDef& node) { return node.op() == "Min"; }
192 bool IsMinimum(const NodeDef& node) { return node.op() == "Minimum"; }
194 bool IsMirrorPad(const NodeDef& node) { return node.op() == "MirrorPad"; }
196 bool IsMirrorPadGrad(const NodeDef& node) {
197 return node.op() == "MirrorPadGrad";
200 bool IsMod(const NodeDef& node) { return node.op() == "Mod"; }
202 bool IsMul(const NodeDef& node) { return node.op() == "Mul"; }
204 bool IsNoOp(const NodeDef& node) { return node.op() == "NoOp"; }
206 bool IsNotEqual(const NodeDef& node) { return node.op() == "NotEqual"; }
208 bool IsNextIteration(const NodeDef& node) {
209 const auto& op = node.op();
213 bool IsPad(const NodeDef& node) {
214 const auto& op = node.op();
218 bool IsPlaceholder(const NodeDef& node) {
219 const auto& op = node.op();
224 bool IsPolygamma(const NodeDef& node) { return node.op() == "Polygamma"; }
226 bool IsPow(const NodeDef& node) { return node.op() == "Pow"; }
228 bool IsProd(const NodeDef& node) { return node.op() == "Prod"; }
230 bool IsReal(const NodeDef& node) { return node.op() == "Real"; }
232 bool IsRealDiv(const NodeDef& node) { return node.op() == "RealDiv"; }
234 bool IsReciprocalGrad(const NodeDef& node) {
235 return node.op() == "ReciprocalGrad";
238 bool IsRecv(const NodeDef& node) {
239 return node.op() == "_Recv" || node.op() == "_HostRecv";
242 bool IsReduction(const NodeDef& node) {
243 const auto& op = node.op();
248 bool IsReluGrad(const NodeDef& node) { return node.op() == "ReluGrad"; }
250 bool IsRelu6Grad(const NodeDef& node) { return node.op() == "Relu6Grad"; }
252 bool IsReshape(const NodeDef& node) { return (node.op() == "Reshape"); }
254 bool IsRestore(const NodeDef& node) {
255 return (node.op() == "Restore" || node.op() == "RestoreV2" ||
256 node.op() == "RestoreSlice");
259 bool IsReverseV2(const NodeDef& node) { return node.op() == "ReverseV2"; }
261 bool IsRsqrtGrad(const NodeDef& node) { return node.op() == "RsqrtGrad"; }
263 bool IsSelect(const NodeDef& node) { return node.op() == "Select"; }
265 bool IsSeluGrad(const NodeDef& node) { return node.op() == "SeluGrad"; }
267 bool IsSend(const NodeDef& node) {
268 return node.op() == "_Send" || node.op() == "_HostSend";
271 bool IsShape(const NodeDef& node) { return node.op() == "Shape"; }
273 bool IsShapeN(const NodeDef& node) { return node.op() == "ShapeN"; }
275 bool IsSigmoidGrad(const NodeDef& node) { return node.op() == "SigmoidGrad"; }
277 bool IsSlice(const NodeDef& node) { return node.op() == "Slice"; }
279 bool IsSoftplusGrad(const NodeDef& node) { return node.op() == "SoftplusGrad"; }
281 bool IsSoftsignGrad(const NodeDef& node) { return node.op() == "SoftsignGrad"; }
283 bool IsSplit(const NodeDef& node) { return node.op() == "Split"; }
285 bool IsSplitV(const NodeDef& node) { return node.op() == "SplitV"; }
287 bool IsSqrtGrad(const NodeDef& node) { return node.op() == "SqrtGrad"; }
289 bool IsSquaredDifference(const NodeDef& node) {
290 return node.op() == "SquaredDifference";
293 bool IsSqueeze(const NodeDef& node) { return node.op() == "Squeeze"; }
295 bool IsStopGradient(const NodeDef& node) {
296 const auto& op = node.op();
300 bool IsStridedSlice(const NodeDef& node) { return node.op() == "StridedSlice"; }
302 bool IsStridedSliceGrad(const NodeDef& node) {
303 return node.op() == "StridedSliceGrad";
306 bool IsSub(const NodeDef& node) { return node.op() == "Sub"; }
308 bool IsSum(const NodeDef& node) { return node.op() == "Sum"; }
310 bool IsSwitch(const NodeDef& node) {
311 const auto& op = node.op();
315 bool IsTanhGrad(const NodeDef& node) { return node.op() == "TanhGrad"; }
317 bool IsTile(const NodeDef& node) { return node.op() == "Tile"; }
319 bool IsTranspose(const NodeDef& node) { return node.op() == "Transpose"; }
321 bool IsTruncateDiv(const NodeDef& node) { return node.op() == "TruncateDiv"; }
323 bool IsTruncateMod(const NodeDef& node) { return node.op() == "TruncateMod"; }
325 bool IsVariable(const NodeDef& node) {
326 const auto& op = node.op();
331 bool IsZeta(const NodeDef& node) { return node.op() == "Zeta"; }
334 bool GetBoolAttr(const NodeDef& node, const string& name) {
335 return node.attr().count(name) > 0 && node.attr().at(name).b();
339 bool IsPersistent(const NodeDef& node) {
340 return IsConstant(node) || IsVariable(node);
343 bool IsFreeOfSideEffect(const NodeDef& node) {
345 if (IsPlaceholder(node)) {
349 Status status = OpRegistry::Global()->LookUpOpDef(node.op(), &op_def);
363 if (GetBoolAttr(node, "in_place") || GetBoolAttr(node, "inplace")) {
369 bool ModifiesFrameInfo(const NodeDef& node) {
370 return IsEnter(node) || IsExit(node) || IsNextIteration(node);
374 bool Is##PROPERTY_CAP(const NodeDef& node) { \
375 if (node.op() == "Add") { \
378 const auto type = GetDataTypeFromAttr(node, "T"); \
382 Status status = OpRegistry::Global()->LookUpOpDef(node.op(), &op_def); \
389 bool IsInvolution(const NodeDef& node) {
392 return involution_ops.count(node.op()) > 0;
395 bool IsValuePreserving(const NodeDef& node) {
396 if (NumNonControlInputs(node) == 1 && IsAggregate(node)) {
403 return value_preserving_ops.count(node.op()) > 0;
406 bool HasOpDef(const NodeDef& node) {
408 return OpRegistry::Global()->LookUpOpDef(node.op(), &op_def).ok();