我试图在python中运行LSTM。 有谁知道如何覆盖" tf.nn.embedding_lookup(embedding,input_data)"方法? 我在输入变量" input_data"中使用浮点值。但使用此方法需要整数。 我需要在RNN中使用浮动数据输入什么选项?
我正在使用" tf.nn.dynamic_rnn"运行网络的方法。我还尝试过" legacy_seq2seq.rnn_decoder"方法,但它也没有用。
.default
答案 0 :(得分:0)
我不确定您的代码确实在哪里失败,但如果它在tf.nn.dynamic_rnn
失败,也许您只需要指定dtype
参数:
tf.nn.dynamic_rnn(cell, inputs, initial_state=self.initial_state, dtype=tf.float32)
正如文档中所讨论的那样:https://www.tensorflow.org/versions/r1.6/api_docs/python/tf/nn/dynamic_rnn
如果您的input_data
是浮点数,我会重新考虑您的方法。您的数据是否分类,如语言中的单词或世界上的人名?如果是,那么我建议将其转换为无符号整数,如uint32
,这对于大多数人来说更直观,(b)与embedding_lookup
兼容。如果没有,那么你可能不想要嵌入 - 嵌入(仅据我所知......)仅用于分类数据。如果您只想减少数据的维数,那么我会考虑其他一些降维方案,如PCA,或者只是网络的第一层,输出范围很窄。