Python Tensorflow<;lambda>;()得到一个意外的关键字参数';分区信息';

Python Tensorflow<;lambda>;()得到一个意外的关键字参数';分区信息';,python,lambda,tensorflow,convolution,Python,Lambda,Tensorflow,Convolution,我正在尝试运行可能是为以前的Tensorflow版本编写的代码。我已经修复了许多与关键字不匹配相关的意外关键字参数错误 现在我得到了一个意外的关键字参数“partition\u info” 但是我的代码中没有partition_info关键字 下面是导致问题的一段代码: final_fully_connected = tf.contrib.layers.fully_connected( hidden_layer_three, 2, weights_initialize

我正在尝试运行可能是为以前的Tensorflow版本编写的代码。我已经修复了许多与关键字不匹配相关的
意外关键字参数
错误

现在我得到了一个意外的关键字参数“partition\u info”

但是我的代码中没有partition_info关键字

下面是导致问题的一段代码:

final_fully_connected = tf.contrib.layers.fully_connected(
    hidden_layer_three,
    2,  
    weights_initializer=lambda i, dtype: tf.truncated_normal([38912, 512], stddev=0.1),
    activation_fn=tf.nn.relu
)

似乎作为
weights\u初始值设定项
参数提供的函数应该包含关键字参数
partition\u info
,但lambda没有

请参阅中定义的
\u初始值设定项
函数,以了解
权重\u初始值设定项
所需的函数签名示例:

  def _initializer(shape, dtype=dtype, partition_info=None):
    return constant_op.constant(1, dtype=dtype, shape=shape)

在同一个文件中,如果您查看
uniform\u unit\u scaling\u初始值设定项
variance\u scaling\u初始值设定项
,您可以看到实际使用
partition\u info
参数的权重初始值设定项示例;但是文件中的大多数初始值设定项都忽略了它。

partition\u info似乎是一个可选属性,我不清楚应该在代码中添加它的位置和原因。你能告诉我更多的细节吗?感谢您,不要使用lambda,而是使用一个具有附加“partition_info”属性(被忽略)的本地函数@AndreaF:只需将
partition_info=None
添加到lambda的参数中即可。也就是说,
weights\u initializer=lambda I,dtype,partition\u info=None:tf.truncated\u normal([38912,512],stddev=0.1)
不幸的是,同样的错误(但在同一点崩溃之前执行的时间更长)@AndreaF:如果你得到同样的错误,那意味着有东西正在将
partition\u info
传递给一个不接受它的函数。如果您做了我建议的更改,那么必须有另一个权重初始值设定项,您在其他地方提供它,它不接受必要的参数。