Keras的Lambda层keras.backend.one_热给TypeE

2024-04-25 15:29:20 发布

您现在位置:Python中文网/ 问答频道 /正文

凯姆试图用CNN来训练角色。我把一个单词作为输入。我已经将单词转换为索引列表,但是当我试图将其输入one_hot时,我得到一个TypeError。在

>>> X_train[0]
array([31, 14, 23, 29, 27, 18, 12, 30, 21, 10, 27,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
        0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0], dtype=uint8)
>>> X_train.shape
(2226641, 98)

但当我尝试这样创建我的模型时:

^{pr2}$

我得到TypeError: Value passed to parameter 'indices' has DataType float32 not in list of allowed values: uint8, int32, int64。在

很明显,它并没有达到甚至可以读取X_train的程度,那么它从哪里得到浮点值呢?在

我想要一个(98, 100)的实例形状,其中100是类的数目。在

我无法将整个数据集放入内存。在


Tags: 模型角色列表train单词arrayonecnn
1条回答
网友
1楼 · 发布于 2024-04-25 15:29:20

我建议一个更清洁的解决方案来达到同样的效果,如何:

k_model.add(Embedding(num_classes, num_classes,
                      embeddings_initializer='identity',
                      trainable=False,
                      name='onehot'))

你本质上是在嵌入东西,使用一个固定权重的东西会更有意义。它还为您提供了灵活性,以便将来可以对嵌入进行培训。在

相关问题 更多 >

    热门问题