我现在在使用张量流制作预测模型(lstm)模型时遇到问题。 我尝试将embedding_lookup与多个分类列一起使用。 这是我的数据(shape [100,12,16])
[[[1, 1, 1, 7, 1, -1, 26, 9],
[1, 5, 2, -5, 2, 20, 25, 8],
[1, 4, 3, 1, 1, 32, 1, 7],
...]]
为了进行预测,每一行都有多个功能,我将这些功能更改为分类数据(0、1、2 ...)。之后,我想为每列使用嵌入层,然后将所有内容合并为LSTM的输入数据。 如何使用嵌入层并相互连接?
这是我的代码
def get_var(self, name='', shape=None, dtype=tf.float32):
return tf.get_variable(name, shape, dtype=dtype, initializer=self.initializer)
def get_embedding(self, data='', name='', shape=[], dtype=tf.float32):
return tf.nn.embedding_lookup(self.get_var(name=name, shape=shape), data)
emb_concat = self.get_embedding(tf.cast(data[:,:, 0], 'int32'), name='emb_ap2id'+type, shape=[3, 2])
emb = self.get_embedding(tf.cast(data[:,:, 1], 'int32'), name='emb_month'+type, shape=[12, 11])
emb_concat = tf.concat(emb_concat, emb, axis=2)
它不起作用,并且我收到一个错误消息。