Keras StringLookup:'str' 和 'float' 实例之间不支持“<”

Keras StringLookup: '<' not supported between instances of 'str' and 'float'

我是 Keras 和 Tensorflow 的新手。昨天,我遇到了以下错误:

TypeError: '<' not supported between instances of 'str' and 'float'

出现此错误的代码块是:

for name, inpt in inputs.items():

    if inpt.dtype == tf.string:
        lookup = layers.StringLookup(vocabulary=np.unique(train[name]))

这里,inputs是一个字典,里面包含了train数据集每一列的Tensors。所有的数据类型都是 float32string.

在上面的代码中,我试图只获取字符串数据类型,但它给了我无法比较 str & float 的错误,这让我感到困惑,因为代码应该获取只有 string dtypes 功能。

我哪里做错了?你能告诉我吗?

中的一个特征具有 None 个值。 None 与 np.nan 一样被视为浮点数。删除它们或尝试将 None 值替换为“未知”等

train.dropna(inplace=True)

我是 Tensorflow 的新手。一旦我找到更好的解决方案,我会尽快post在这里。