TensorFlow中的GRUCell:TypeError为关键字参数'num_units'获取了多个值

时间:2017-08-23 02:42:51

标签: python tensorflow

所以我有这个非常简单的玩具代码:

import tensorflow as tf

x = tf.placeholder(tf.int32, [None, 10])

def new_network(x):
    return  tf.nn.rnn_cell.GRUCell(x, num_units=100)

pred = new_network(x)

无论我做什么,我都会收到以下错误

TypeError: __init__() got multiple values for keyword argument 'num_units'

我正在使用TensorFlow 1.3.0版本。

这与this pulled issue有关吗?​​

1 个答案:

答案 0 :(得分:1)

tf.nn.rnn_cell.GRUCell初始化为num_units和激活等,但不是输入。使用__call__方法

时会传递输入
GRUCell.__init__(
    num_units,
    activation=None,
    reuse=None,
    kernel_initializer=None,
    bias_initializer=None
)

state = tf.placeholder(tf.int32, [None, state_size])
def new_network(x):
    gru_cell = tf.nn.rnn_cell.GRUCell(num_units=100)
    y = gru_cell(x, state)
pred = new_network(x)