TypeError:__ init __()得到了一个意外的关键字参数'shape'

时间:2017-07-06 10:19:09

标签: python-3.x tensorflow

我是Tensorflow的新手,在尝试运行一些示例代码时遇到错误。

import tensorflow as tf

g1 = tf.Graph()
with g1.as_default():
    v = tf.get_variable("v", initializer=tf.zeros_initializer(shape=[1]))

运行上面的代码会出错: TypeError:__ init __()得到了一个意外的关键字参数'shape'。

下面的评论表明,根据文档,tf.zeros_initializer不接受'shape'参数。我试过了

v = tf.get_variable("v", initializer=tf.zeros_initializer())

并且它说ValueError:必须完全定义新变量(v)的形状,而不是。

那么,我应该使用什么样的参数/表达式来定义形状而不会导致类型错误?

我找不到如何在线解决它。请帮忙。谢谢

2 个答案:

答案 0 :(得分:3)

看来,我使用的这本书有点过时了。到目前为止,以下代码似乎有效。

v = tf.get_variable("v", shape=[1], initializer=tf.zeros_initializer)

我会检查它是否真的适用于以后添加的更多代码。

答案 1 :(得分:0)

在 2.4.1 版本中,我使用 tf.constant() 代替