GAN RNN生成器:AttributeError:'NoneType'对象没有属性'_inbound_nodes'

时间:2018-11-30 18:07:08

标签: python tensorflow machine-learning keras

我正在编写一个LSTM生成对抗网络,其中生成器采用长度为3的序列(Cust_ID Jan_Emp_ID Feb_Emp_ID Mar_Emp_ID Apr_Emp_ID NonNulls 4 NULL NULL 9 9 2 ),并预测序列中的下一个元素,并使用序列中的最后3个元素作为新的输入,并重复直到我们得到长度为20的序列。

但是看来Lambda层的配置不正确..?

starting_seqs

编辑:我尝试了@today的建议,并将for循环更改为此,同时仍然得到相同的错误/堆栈跟踪:

def build_generator():
    generator = Sequential()
    generator.add(LSTM(20, return_sequences=True, input_shape=(3, 6))) # (len_timestep, n_feature)
    generator.add(LSTM(20, return_sequences=True))
    generator.add(LSTM(6, activation='softmax'))
    starting_seqs = Input(shape=(3, 6))
    input_seqs = starting_seqs
    gen_seqs = tf.reshape(starting_seqs, shape=[1, 3, 6])

    for i in range(17):
        input_seqs = tf.reshape(input_seqs, shape=[1, 3, 6])
        gen_nexts = tf.one_hot(tf.nn.top_k(generator(input_seqs)).indices, 6)
        gen_seqs = Concatenate(axis=1)([gen_seqs, gen_nexts])
        input_seqs = Lambda(lambda x: x[:,-3:,])(gen_seqs)
    return Model(starting_seqs, gen_seqs)

堆栈跟踪:

for i in range(17):
    gen_nexts_idx = Lambda(lambda x: generator(tf.reshape(x, shape=[1, 3, 6])))(input_seqs)
    gen_nexts = Lambda(lambda x: tf.one_hot(tf.nn.top_k(x).indices, 6))(gen_nexts_idx)
    gen_seqs = Concatenate(axis=1)([gen_seqs, gen_nexts])
    input_seqs = Lambda(lambda x: x[:,-3:,])(gen_seqs)

0 个答案:

没有答案