您好!想请教下您关于BatchNorm问题?

  • 回答 (3)
  • 关注 (0)
  • 查看 (145)

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']

李哥李哥修改于
uniqueone回答于
吴观涛爱生活,爱编程回答于
卖米的老白回答于

扫码关注云+社区

领取腾讯云代金券