TypeError:zeros_initializer()至少接受1个参数(给定0)

2024-06-16 09:33:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着运行Tensorflow中的inception示例: https://github.com/tensorflow/models/tree/master/inception

但是,我得到了这个错误:

TypeError: zeros_initializer() takes at least 1 argument (0 given)

当我寻找解决方案时,主要有两种:
1将zeros_initializer&;ones_initializer改为zeros_initializer()&;ones_initializer(),但它们已经是这样了。

2将Tensorflow升级到最新版本,我这样做了:
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.1.0-cp27-none-linux_x86_64.whl

然后我用这个命令升级了文件:
tf_upgrade.py --infile foo.py --outfile foo-upgraded.py

以上这些都不管用。在

注意:
我通过以下命令检查了TF版本:
python -c 'import tensorflow as tf; print(tf.__version__)'
结果是:

0.12.1

我也尝试过从函数中取出括号,但是它没有起作用,并给出了一个不同的错误

TypeError: ones_initializer() got multiple values for keyword argument 'dtype'

更新
1这是有问题的代码 https://github.com/tensorflow/models/blob/master/inception/inception/slim/ops.py
2这里的主题讨论了相同的问题(Error thrown in Google's Inception-v3 fine-tuning script),但我使用以下方法检查了我的slim版本:

python -c "import tensorflow.contrib.slim as slim; eval = slim.evaluation.evaluate_once"python -c "from nets import cifarnet; mynet = cifarnet.cifarnet"

两者都运行正常


Tags: pyhttpsimport版本githubcomtftensorflow
1条回答
网友
1楼 · 发布于 2024-06-16 09:33:14

问题是代码使用initializer=tf.zeros_initializer()。但是正如您所见,^{}有一个必需的属性shape,而您的示例没有提供这个属性。在

我认为在以前的版本中,这个论点是不必要的。您有两种选择:

  • 找到形状并正确传递
  • 将其更改为tf.constant_initializer(0.0)(尚未测试其是否有效)

相关问题 更多 >