gpt4 book ai didi

python - 当我尝试在 keras 模型中嵌入序列数据时,如何解决 'could not convert string to float:' 错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:00:26 25 4
gpt4 key购买 nike

我想用单个字符或字符串替换序列数据并将其放入我的 keras 模型中。用字符串替换序列数据是通过包含填充来完成的,如下所示。

我的环境是Python 3.6.7、Tensorflow 1.12.0、Keras 2.2.4。

数据形状:

x input: (23714, 160), y input: (23714, 7)

一个示例序列:

array(['M', 'A', 'S', 'K', 'R', 'A', 'L', 'V', 'I', 'L', 'A', 'K', 'G',
'L', 'N', 'G', 'K', 'E', 'V', 'A', 'A', 'Q', 'V', 'K', 'A', 'P',
...
'L', 'V', 'L', 'K'], dtype='<U1')

我尝试在keras中使用Embedding层,但出现了以下错误。

ValueError: could not convert string to float: 'I'

嵌入层的使用如下。

型号:

model = Sequential ()
model.add (InputLayer (input_shape = (160,)))
model.add (Embedding (30000, 160))
model.add (LSTM (160, activation = 'relu'))
model.add (Dense (7, activation = & quot; softmax & quot;))
model.summary ()
model.compile (loss = "categorical_crossentropy", optimizer = "man", metrics = ["accuracy"])
model.fit (x_train, y_train, epochs = 100, batch_size = 100, validation_split = 0.2)
print (model.evaluate (x_test, y_test) [1])

如果我将 30000 的值更改为其他值,则只有错误的“I”会更改为“M”或其他字符串。

我尝试将其放在Dense层中,而不是以其他方式使用嵌入层,但出现了相同的错误。错误:

ValueError: could not convert string to float: 'S'

型号:

model = Sequential ()
model.add (Dense (64, input_shape = (160,), activation = 'relu'))
model.add (Dense (7, activation = & quot; softmax & quot;))
model.summary ()
model.compile (loss = "categorical_crossentropy", optimizer = "man", metrics = ["accuracy"])
model.fit (x_train, y_train, epochs = 100, batch_size = 100, validation_split = 0.2)
print (model.evaluate (x_test, y_test) [1])

总而言之,尝试将填充序列数据插入嵌入层或密集层时会发生错误。序列数据已转换为数组,并且未执行 reshape 。

如果我进行 reshape ,我会收到以下错误,所以我不先 reshape ,但我想解决嵌入问题。ValueError:无法将大小为 3794240 的数组 reshape 为形状 (23714,1)

我非常感谢您的帮助。

最佳答案

我可能完全错了......

但是错误

ValueError: could not convert string to float

可能表明您需要数字数据,而不是字符串数据。

因此,将序列编码为数字格式(数字信号处理 (DSP))

This论文重点介绍了执行此操作的多种方法...

该表来自该论文: enter image description here

关于python - 当我尝试在 keras 模型中嵌入序列数据时,如何解决 'could not convert string to float:' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55738437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com