op_types.h revision 1ffb45e7112addad325084084b93897918ed9a54
19d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
29d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
39d57702513001bfded19e72c76a986cce56d5f00Benoit SteinerLicensed under the Apache License, Version 2.0 (the "License");
49d57702513001bfded19e72c76a986cce56d5f00Benoit Steineryou may not use this file except in compliance with the License.
59d57702513001bfded19e72c76a986cce56d5f00Benoit SteinerYou may obtain a copy of the License at
69d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
79d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner    http://www.apache.org/licenses/LICENSE-2.0
89d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
99d57702513001bfded19e72c76a986cce56d5f00Benoit SteinerUnless required by applicable law or agreed to in writing, software
109d57702513001bfded19e72c76a986cce56d5f00Benoit Steinerdistributed under the License is distributed on an "AS IS" BASIS,
119d57702513001bfded19e72c76a986cce56d5f00Benoit SteinerWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
129d57702513001bfded19e72c76a986cce56d5f00Benoit SteinerSee the License for the specific language governing permissions and
139d57702513001bfded19e72c76a986cce56d5f00Benoit Steinerlimitations under the License.
149d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner==============================================================================*/
159d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
169d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner#ifndef TENSORFLOW_GRAPPLER_OP_TYPES_H_
179d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner#define TENSORFLOW_GRAPPLER_OP_TYPES_H_
189d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
199d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner#include "tensorflow/core/framework/node_def.pb.h"
209d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
219d57702513001bfded19e72c76a986cce56d5f00Benoit Steinernamespace tensorflow {
229d57702513001bfded19e72c76a986cce56d5f00Benoit Steinernamespace grappler {
239d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
241ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsAdd(const NodeDef& node);
25136494d3295a23e3ed0612773f224243915463b7Benoit Steinerbool IsAddN(const NodeDef& node);
261ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsAvgPoolGrad(const NodeDef& node);
271ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsBiasAddGrad(const NodeDef& node);
281ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsConcatOffset(const NodeDef& node);
291a0f2fa7b0f4be4c0196c22b5c6ae717a8361ccaBenoit Steinerbool IsConstant(const NodeDef& node);
301ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsConv2D(const NodeDef& node);
311ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsConv2DBackpropFilter(const NodeDef& node);
321ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsConv2DBackpropInput(const NodeDef& node);
337bc6271055714f3d4d0b957a2f4c6a910ea20388Yuefeng Zhoubool IsDequeueOp(const NodeDef& node);
34c247826219dd2541c6aba4578a03a171375d9290Benoit Steinerbool IsEnter(const NodeDef& node);
35c4a58e3fdd9880d424f639502e93a8298a965467Yao Zhangbool IsExit(const NodeDef& node);
361ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsFloorMod(const NodeDef& node);
371ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsFusedBatchNormGradV1(const NodeDef& node);
3893c57c6e4fe8f3ec1268bf8a947321cc4ba8bfc8Benoit Steinerbool IsIdentity(const NodeDef& node);
391a0f2fa7b0f4be4c0196c22b5c6ae717a8361ccaBenoit Steinerbool IsMerge(const NodeDef& node);
401ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsMul(const NodeDef& node);
411fa8b4247a15079cb60da74a3c86ed5eef7f1b93Benoit Steinerbool IsNextIteration(const NodeDef& node);
421ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsPad(const NodeDef& node);
438f89b654f4d49a1b5d4462303ef27f7f7a2958b3A. Unique TensorFlowerbool IsNoOp(const NodeDef& node);
449d57702513001bfded19e72c76a986cce56d5f00Benoit Steinerbool IsPlaceholder(const NodeDef& node);
451ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsRealDiv(const NodeDef& node);
461ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsReluGrad(const NodeDef& node);
478f89b654f4d49a1b5d4462303ef27f7f7a2958b3A. Unique TensorFlowerbool IsRecv(const NodeDef& node);
489ae941c4a8c2d6e5a87c7a200ebde5bd0b07e5b2Benoit Steinerbool IsReduction(const NodeDef& node);
4959d37536717f08dd6e462ed785ee0e912ff344f5Benoit Steinerbool IsReshape(const NodeDef& node);
5038445f025c4d05f374938e6c6c201dc3c0b20c77Yuefeng Zhoubool IsRestore(const NodeDef& node);
518f89b654f4d49a1b5d4462303ef27f7f7a2958b3A. Unique TensorFlowerbool IsSend(const NodeDef& node);
521ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsSlice(const NodeDef& node);
531ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsSquaredDifference(const NodeDef& node);
541ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsSqueeze(const NodeDef& node);
55bb4a6168eaa0c6752d19e352f9c9dd53c9c6a6aeBenoit Steinerbool IsStopGradient(const NodeDef& node);
561ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsSub(const NodeDef& node);
571ffb45e7112addad325084084b93897918ed9a54Yao Zhangbool IsSum(const NodeDef& node);
5893c57c6e4fe8f3ec1268bf8a947321cc4ba8bfc8Benoit Steinerbool IsSwitch(const NodeDef& node);
5965044bc25981e4e060ad5c34d9a520a0561775c3Yao Zhangbool IsTranspose(const NodeDef& node);
604254fa13de1697226e15df26cc101d00d1cb1a03Benoit Steinerbool IsVariable(const NodeDef& node);
619d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
62be4295e796437d18ffb7242942c963a8857e5003Benoit Steinerbool IsFreeOfSideEffect(const NodeDef& node);
63be4295e796437d18ffb7242942c963a8857e5003Benoit Steinerbool ModifiesFrameInfo(const NodeDef& node);
64be4295e796437d18ffb7242942c963a8857e5003Benoit Steiner
659d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner}  // end namespace grappler
669d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner}  // end namespace tensorflow
679d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner
689d57702513001bfded19e72c76a986cce56d5f00Benoit Steiner#endif  // TENSORFLOW_GRAPPLER_OP_TYPES_H_
69