【发布时间】:2018-10-11 12:31:37
【问题描述】:
我的目标是构建一个脚本,使用 TF 的图形编辑器将一个操作更改为另一个操作。到目前为止,我尝试制作一个仅更改 Conv2D 的输入内核权重的脚本,但无济于事,因为界面非常混乱。
with tf.Session() as sess:
model_filename = sys.argv[1]
with gfile.FastGFile(model_filename, 'r') as f:
graph_def = graph_pb2.GraphDef()
text_format.Merge(f.read(), graph_def)
importer.import_graph_def(graph_def)
#my_sgv = ge.sgv("Conv2D", graph=tf.get_default_graph())
#print my_sgv
convs = find_conv2d_ops(tf.get_default_graph())
print convs
my_sgv = ge.sgv(convs)
print my_sgv
conv_tensor = tf.get_default_graph().get_tensor_by_name(convs[0].name + ':0')
conv_weights_input = tf.get_default_graph().get_tensor_by_name(convs[0].inputs[1].name)
weights_new = tf.Variable(tf.truncated_normal([1, 1, 1, 8], stddev=0.03),
name='Wnew')
ge.graph_replace(conv_tensor, {conv_weights_input: weights_new})
错误是“输入需要是张量:”。有人可以提供一些见解吗?
【问题讨论】:
标签: tensorflow graph replace editor