graph_def is invalid at node 'bn1/Assign': Input tensor 'bn1/bn1_moving_mean:0' Cannot convert a tensor of type float32 to an input of type float32_ref 来这里向各位大神请教,这是在加载使用tensorflow生成的.pb文件时候产生的,然后由于网络结构中有bn层,在加载时候就会报错。发现几乎没有中文评论具体说这个问题,找到的修改方法由于也没有人具体说下原理根据,不太会活用。下面是我找的别人的修改方法,然后出现了"RefSwitch"这些应该是使用了tf.cond(),然后我修改了tf.cond(),不要这个函数,依然报错,因为再bn层具体实现中,我使用了tf.Assign()操作,不知道是不是这个原因导致了本文段开头贴出来的那些错误
for node in input_graph_def.node:
if node.op == 'RefSwitch':
node.op = 'Switch'
for index in xrange(len(node.input)):
if 'moving_' in node.input[index]:
node.input[index] = node.input[index] + '/read'
elif node.op == 'AssignSub':
node.op = 'Sub'
if 'use_locking' in node.attr: del node.attr['use_locking']
相似问题