2017-07-05 9 views
1

我正要构建一个图像语义分割ios应用程序。所以我建立使用deeplab的网络结构图,然而,运行模式失败:无效参数:仅支持添加两个参数。 Num输入:4

我得到这个错误:发生

Running model failed: Invalid argument: Only additions of two arguments supported. Num inputs: 4 
    [[Node: fc1_voc12 = AddN[N=4, T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](fc1_voc12_c0/BiasAdd, fc1_voc12_c1/BiasAdd, fc1_voc12_c2/BiasAdd, fc1_voc12_c3/BiasAdd)]] 

的错误,因为iOS的TensorFlow API不支持添加超过2张量,而我得到了4张量在计算图中加在一起。任何人都可以提供一些关于如何以另一种方式实现它的提示吗?

回答

0

代替tf.add_n([a, b, c, d])使用tf.add(a, tf.add(b, tf.add(c, d)))

+0

谢谢您的回答,我改变add_n添加操作,并用两个中间变量有两个张量的总和。但是这个错误不断显示在张量流ios版本中。 –

+0

然后在那里有另一个add_n操作。也许图书馆增加了它?你可以使用op名称来找出可以添加的代码吗? –

+0

谢谢亚历克斯,我包裹了add运算符,所以在任何地方使用它应该是add而不是add_n。我认为可能是tensorflow通过合并中间节点来构建图形,从而导致add_n? [链接](https://github.com/DrSleep/tensorflow-deeplab-resnet/blob/master/deeplab_resnet/model.py) –