|
|
|
@ -16,6 +16,7 @@ import sys
|
|
|
|
|
import re
|
|
|
|
|
from graphviz import GraphPreviewGenerator
|
|
|
|
|
import proto.framework_pb2 as framework_pb2
|
|
|
|
|
from google.protobuf import text_format
|
|
|
|
|
|
|
|
|
|
_vartype2str_ = [
|
|
|
|
|
"UNK",
|
|
|
|
@ -100,7 +101,7 @@ def repr_var(vardesc):
|
|
|
|
|
|
|
|
|
|
def pprint_program_codes(program_desc):
|
|
|
|
|
reprs = []
|
|
|
|
|
for block_idx in range(program_desc.num_blocks()):
|
|
|
|
|
for block_idx in range(program_desc.desc.num_blocks()):
|
|
|
|
|
block_desc = program_desc.block(block_idx)
|
|
|
|
|
block_repr = pprint_block_codes(block_desc)
|
|
|
|
|
reprs.append(block_repr)
|
|
|
|
@ -127,7 +128,7 @@ def pprint_block_codes(block_desc, show_backward=False):
|
|
|
|
|
|
|
|
|
|
if type(block_desc) is not framework_pb2.BlockDesc:
|
|
|
|
|
block_desc = framework_pb2.BlockDesc.FromString(
|
|
|
|
|
block_desc.serialize_to_string())
|
|
|
|
|
block_desc.desc.serialize_to_string())
|
|
|
|
|
var_reprs = []
|
|
|
|
|
op_reprs = []
|
|
|
|
|
for var in block_desc.vars:
|
|
|
|
@ -237,13 +238,13 @@ def draw_block_graphviz(block, highlights=None, path="./temp.dot"):
|
|
|
|
|
# draw parameters and args
|
|
|
|
|
vars = {}
|
|
|
|
|
for var in desc.vars:
|
|
|
|
|
shape = [str(i) for i in var.lod_tensor.tensor.dims]
|
|
|
|
|
if not shape:
|
|
|
|
|
shape = ['null']
|
|
|
|
|
# TODO(gongwb): format the var.type
|
|
|
|
|
# create var
|
|
|
|
|
if var.persistable:
|
|
|
|
|
varn = graph.add_param(
|
|
|
|
|
var.name, var.type, shape, highlight=need_highlight(var.name))
|
|
|
|
|
var.name,
|
|
|
|
|
str(var.type).replace("\n", "<br />", 1),
|
|
|
|
|
highlight=need_highlight(var.name))
|
|
|
|
|
else:
|
|
|
|
|
varn = graph.add_arg(var.name, highlight=need_highlight(var.name))
|
|
|
|
|
vars[var.name] = varn
|
|
|
|
@ -268,4 +269,4 @@ def draw_block_graphviz(block, highlights=None, path="./temp.dot"):
|
|
|
|
|
for var in op.outputs:
|
|
|
|
|
add_op_link_var(opn, var, True)
|
|
|
|
|
|
|
|
|
|
graph(path, show=True)
|
|
|
|
|
graph(path, show=False)
|
|
|
|
|