如何用多种数据类型表示输入张量?

时间:2017-07-25 20:35:53

标签: tensorflow

到目前为止,我只使用了具有所有一种数据类型的输入张量的张量流,例如,所有float32。

我现在想要一个可以表示为行和列的表的输入:

        column0    column1    column2    column3    ...    columnN
person0   CATX      FLOAT       FLOAT      CAT0
person1   CATY      FLOAT       FLOAT      CAT1
person2   CATZ      FLOAT       FLOAT      CAT2
  .
  .
  .
personN   CATAA      FLOAT       FLOAT      CAT00

浮动和分类值的混合物,我想要一个热编码。 CAT是从受限制的值域(例如,机器部件的唯一标识符)中提取的字符串的占位符。所有分类栏都是这样的。 如何从这些混合输入中创建输入张量?是否有可能以这种方式进行热编码?

1 个答案:

答案 0 :(得分:1)

我看到了这句话here

与普通张量一样,RaggedTensor中的值必须全部具有 相同类型

不幸的是,我认为张量中不能有混合类型。

如果您尝试这样的操作:

tf.constant([1,'test'])

您收到错误: ValueError:无法将混合类型的Python序列转换为Tensor。

您应该找到一种解决方法,也许用字符串创建张量并在需要时进行强制转换。