Unten ist das Diagramm, das Sie erstellen. Jedes Mal, wenn Sie eine tf.<something>
machen, hängt es an das Standarddiagramm an. Das heißt, aus dem Diagramm kann man sehen, dass es tatsächlich die Wirkung der Aufsummierung drei loss
Knoten
mit diesem Code
from IPython.display import clear_output, Image, display, HTML
def strip_consts(graph_def, max_const_size=32):
"""Strip large constant values from graph_def."""
strip_def = tf.GraphDef()
for n0 in graph_def.node:
n = strip_def.node.add()
n.MergeFrom(n0)
if n.op == 'Const':
tensor = n.attr['value'].tensor
size = len(tensor.tensor_content)
if size > max_const_size:
tensor.tensor_content = "<stripped %d bytes>"%size
return strip_def
def show_graph(graph_def, max_const_size=32):
"""Visualize TensorFlow graph."""
if hasattr(graph_def, 'as_graph_def'):
graph_def = graph_def.as_graph_def()
strip_def = strip_consts(graph_def, max_const_size=max_const_size)
code = """
<script>
function load() {{
document.getElementById("{id}").pbtxt = {data};
}}
</script>
<link rel="import" href="https://tensorboard.appspot.com/tf-graph-basic.build.html" onload=load()>
<div style="height:600px">
<tf-graph-basic id="{id}"></tf-graph-basic>
</div>
""".format(data=repr(str(strip_def)), id='graph'+str(np.random.rand()))
iframe = """
<iframe seamless style="width:1200px;height:620px;border:0" srcdoc="{}"></iframe>
""".format(code.replace('"', '"'))
display(HTML(iframe))
import tensorflow as tf
import numpy as np
tf.reset_default_graph()
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
c = tf.placeholder(tf.float32)
loss = tf.nn.l2_loss(a)
loss = tf.add(loss, tf.nn.l2_loss(b))
loss = tf.add(loss, tf.nn.l2_loss(c))
show_graph(tf.get_default_graph().as_graph_def())
Danke Yaroslav generiert hat. –