Tensorflow <lambda>() 得到了一个意外的关键字参数 'partition_info'

Tensorflow <lambda>() got an unexpected keyword argument 'partition_info'

我正在尝试 运行 可能是为以前的 Tensorflow 版本编写的代码。我已经修复了许多 unexpected keyword argument 与关键字不匹配

相关的错误

现在我得到了<lambda>() got an unexpected keyword argument 'partition_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_initializer 参数提供的函数似乎应该有关键字参数 partition_info,但您的 lambda 没有。

请参阅 ones_initalizer 中定义的 _initializer 函数以获取 weights_initializer 预期的函数签名示例:

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

在同一个文件中,如果您查看 uniform_unit_scaling_initializervariance_scaling_initializer,您可以看到实际使用 partition_info 参数的权重初始值设定项示例;但是文件中的大多数初始化程序都忽略了它。