Python Tensorflow 2个字符串标签到一个\u热
我试图用字符串标签来拟合模型,格式为Python Tensorflow 2个字符串标签到一个\u热,python,tensorflow2.0,Python,Tensorflow2.0,我试图用字符串标签来拟合模型,格式为[“aa”、“aa”、“bb”、“bb”、“bb”、“cc”],并希望使用tf.one_hot(标签,深度=3)来获取one hot向量,但我得到了错误: NotFoundError: Could not find valid device for node. Node:{{node OneHot}} All kernels registered for op OneHot : device='XLA_GPU'; TI in [DT_INT32, DT_U
[“aa”、“aa”、“bb”、“bb”、“bb”、“cc”]
,并希望使用tf.one_hot(标签,深度=3)
来获取one hot向量,但我得到了错误:
NotFoundError: Could not find valid device for node.
Node:{{node OneHot}}
All kernels registered for op OneHot :
device='XLA_GPU'; TI in [DT_INT32, DT_UINT8, DT_INT64]; T in [DT_FLOAT, DT_DOUBLE, DT_INT32, DT_UINT8, DT_INT16, ..., DT_UINT16, DT_COMPLEX128, DT_HALF, DT_UINT32, DT_UINT64]
device='XLA_CPU'; TI in [DT_INT32, DT_UINT8, DT_INT64]; T in [DT_FLOAT, DT_DOUBLE, DT_INT32, DT_UINT8, DT_INT16, ..., DT_UINT16, DT_COMPLEX128, DT_HALF, DT_UINT32, DT_UINT64]
我的问题是:
1-是否可以使用tensorflow 2直接将此类标签转换为热标签,或者输入是否为
INT
2-如果是,是什么导致此问题
3-是否可以使用字符串标签直接拟合模型
额外资料:
我正在使用群集来训练和使用GPU
,并使用基于
如果有必要,我会发布更多的代码 1-是否可以使用tensorflow 2直接将此类标签转换为一个热标签,或者输入是否为INT 2-如果是,是什么导致此问题 TensorFlow仅支持数字索引。如果您查看文档,它实际上是作为标签传递的索引。我通过这个找到了这个信息 3-是否可以使用字符串标签直接拟合模型 我不认为这是一个简单的出路。但如果你能将数据存储在内存中,我建议使用pandas/sklearn并将其转换为onehot编码。如果没有,您可能需要为数据创建一系列要素列。例如,“功能”列支持您需要实现的功能
谢谢你的回复,我是通过进一步阅读文献得到的。我将把这个留给以后的事情:1-1热向量用于分类交叉熵,整数标签用于稀疏分类交叉熵。我把我的标签改成整数,并和我的损失函数匹配,结果成功了。