在TensorFlow中构建模型时如何解决ValueError?

时间:2018-06-28 07:49:56

标签: python tensorflow

当我运行https://github.com/MG2033/ShuffleNet上编写的代码时,仅通过运行python main.py --config config/test.json,在“填充”模型时会收到以下错误:

Building the model...
Traceback (most recent call last):
File "main.py", line 69, in <module>
main()
File "main.py", line 35, in main
model = ShuffleNet(config_args)
File "/home/farzaneh/PycharmProjects/shufflenet code/ShuffleNet-master/model.py", line 29, in __init__ 
self.__build()
File "/home/farzaneh/PycharmProjects/shufflenet code/ShuffleNet-master/  
model.py", line 134, in __build
self.__init_output()
File "/home/farzaneh/PycharmProjects/shufflenet code/ShuffleNet-master  /model.py", line 91, in __init_output
self.check_op = tf.add_check_numerics_ops()
File "/home/farzaneh/anaconda3/lib/python3.6/site-packages/tensorflow /python/ops/numerics.py", line 75, in add_check_numerics_ops
raise ValueError("`tf.add_check_numerics_ops() is not compatible "
ValueError: `tf.add_check_numerics_ops() is not compatible with TensorFlow    control flow operations such as `tf.cond()` or `tf.while_loop()`.

我该如何解决?

1 个答案:

答案 0 :(得分:0)

根据shuffle.NET的readme,您需要提供配置文件的路径作为参数,如下所示:python main.py --config config/test.json。并且应该有一个配置。

编辑:在我调查之后:
显然,错误是正确的,并且add_check_numerics_ops与while_loops和东西不兼容。在代码中,您还可以看到此行只是为了调试以处理nans而添加的,通常不会发生。因此,我想您可以只注释掉这部分。最终,我发现项目上也有issue,这让我感到代码确实存在问题。