• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2015 The TensorFlow Authors. All Rights Reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14# ==============================================================================
15
16"""Global registry for OpDefs."""
17
18from __future__ import absolute_import
19from __future__ import division
20from __future__ import print_function
21
22from tensorflow.core.framework import op_def_pb2
23
24
25_registered_ops = {}
26
27
28def register_op_list(op_list):
29  """Register all the ops in an op_def_pb2.OpList."""
30  if not isinstance(op_list, op_def_pb2.OpList):
31    raise TypeError("%s is %s, not an op_def_pb2.OpList" %
32                    (op_list, type(op_list)))
33  for op_def in op_list.op:
34    if op_def.name in _registered_ops:
35      assert _registered_ops[op_def.name] == op_def
36    else:
37      _registered_ops[op_def.name] = op_def
38
39
40def get_registered_ops():
41  """Returns a dictionary mapping names to OpDefs."""
42  return _registered_ops
43