137

Tensorflowskflow;を使用してニューラル ネットワークを作成しています。何らかの理由で、特定の入力に対していくつかの内部テンソルの値を取得したいので、 を使用myClassifier.get_layer_value(input, "tensorName")myClassifierていskflow.estimators.TensorFlowEstimatorます。

ただし、その名前を知っていても、テンソル名の正しい構文を見つけるのは難しいと思います(そして、操作とテンソルの間で混乱しています)ので、テンソルボードを使用してグラフをプロットし、名前を探しています。

テンソルボードを使用せずにグラフ内のすべてのテンソルを列挙する方法はありますか?

4

10 に答える 10

199

できるよ

[n.name for n in tf.get_default_graph().as_graph_def().node]

また、IPython ノートブックでプロトタイプを作成している場合は、グラフを直接ノートブックに表示できshow_graphます。アレクサンダーのディープ ドリームノートブックの関数を参照してください。

于 2016-04-27T15:10:02.213 に答える
35

私は答えを要約しようとします:

グラフ内のすべてのノードを取得するには: (type tensorflow.core.framework.node_def_pb2.NodeDef)

all_nodes = [n for n in tf.get_default_graph().as_graph_def().node]

グラフ内のすべてのopを取得するには: (type tensorflow.python.framework.ops.Operation)

all_ops = tf.get_default_graph().get_operations()

グラフ内のすべての変数を取得するには: (type tensorflow.python.ops.resource_variable_ops.ResourceVariable)

all_vars = tf.global_variables()

グラフ内のすべてのテンソルを取得するには: (type tensorflow.python.framework.ops.Tensor)

all_tensors = [tensor for op in tf.get_default_graph().get_operations() for tensor in op.values()]

グラフ内のすべてのプレースホルダーを取得するには: (type tensorflow.python.framework.ops.Tensor)

all_placeholders = [placeholder for op in tf.get_default_graph().get_operations() if op.type=='Placeholder' for placeholder in op.values()]

テンソルフロー 2

Tensorflow 2 でグラフを取得するには、最初にインスタンスを作成して属性にアクセスするtf.get_default_graph()必要はありません。次に例を示します。tf.functiongraph

graph = func.get_concrete_function().graph

はどこfuncですかtf.function

于 2019-08-12T11:02:41.393 に答える
11

tf.all_variables()欲しい情報を手に入れることができます。

また、TensorFlow Learn で今日作成されたこのコミットget_variable_namesは、すべての変数名を簡単に取得するために使用できる推定器の関数を提供します。

于 2016-04-28T21:47:45.733 に答える
4

OPは操作/ノードのリストではなくテンソルのリストを要求したため、コードはわずかに異なるはずです:

graph = tf.get_default_graph()    
tensors_per_node = [node.values() for node in graph.get_operations()]
tensor_names = [tensor.name for tensors in tensors_per_node for tensor in tensors]
于 2019-01-21T14:38:18.900 に答える
0

これは私のために働いた:

for n in tf.get_default_graph().as_graph_def().node:
    print('\n',n)
于 2018-12-18T05:46:12.180 に答える