将2D numpy数组转换为Tensorflow数据集

时间:2018-02-11 20:39:34

标签: python numpy tensorflow tensorflow-datasets

我有一个形状(n,12)的numpy数组,表示我的数据的输入数据点,浮点形式,以及包含数据点(整数)标签的numpy数组(n,)。

但是,我无法弄清楚如何将其转换为张量流数据集 - 指南方法会抛出错误:

违规行代码为performSegue(withIdentifier: "deleteSegue", sender: self),错误为dataset= tf.data.Dataset.from_tensor_slices((features, labels))

由于

1 个答案:

答案 0 :(得分:0)

看来你的一个输入数组包含decimal.Decimal类型的元素。 TensorFlow本身不支持此类型,因此您必须将数组转换为np.float32np.float64

例如,假设features是包含Decimal值的数组,您可以按如下方式对其进行转换:

import numpy as np
features = np.array([decimal.Decimal(1.0), decimal.Decimal(2.0), decimal.Decimal(3.0)])

print(features)  # ==> "[Decimal('1') Decimal('2') Decimal('3')]"
print(features.dtype)  # ==> "object"

features = features.astype(np.float32)

print(features)  # ==> "[1. 2. 3. 4.]"
print(features.dtype)  # ==> "float32"