这个问题似乎有点奇怪,因此我将尝试添加一些上下文,说明为什么我们想从任何TensorFlow函数名称中知道protobuf名称。
完成我的工作后,我们正在使用TensorFlow作为基本的神经网络框架。我们可以将其分为两部分:
平台不具有运行TensorFlow的相同功能。一些只能运行TensorFlow Lite,另一些只能内部构建TensorFlow的一小部分,而另一些只能运行TensorFlow的特定版本。
但是每次我们知道可用的TensorFlow函数是什么。这些函数以Python方式编写,例如tf.
用于基本函数,tf.nn.
用于神经网络专用函数,tf.image.
用于图像处理专用函数等。
我们希望能够预见某些模型可能无法在我们的平台上运行的事实。为此,我们具有基于protobuf的文件,该文件描述了所有TensorFlow模型并给出了protobuf的基本名称。
tf.nn.max_pool
的类型为Reshape
。
我通过创建一个小函数来做到这一点:
fph = tf.placeholder(tf.float32)
def tf_nn_log_softmax():
a = tf.nn.log_softmax(fph)
return a.op.type
但是如果我需要为特定版本可以处理的所有TensorFlow函数执行此操作,则会非常麻烦。
请务必注意,我对TensorFlow和Protobuf并不了解很多。也许在TensorFlow框架中可以了解Protobuf如何转换名称,但是我绝对不知道该在哪里。
有人知道这个信息在哪里吗?也许已经有我想要做的内置实用程序?