我通过以下方式从 Pandas 数据帧创建了一个 Tensorflow 数据集:
train_dataset = tf.data.Dataset.from_tensor_slices((X_train,Y_train))
我已经验证我的数据框没有 NaN 也没有 NULL,但是当我使用 tfdbg 时,我可以看到我的 tf train_dataset 中有 NaN(lt -f has_inf_or_nan 返回 [11.787 ] 28.89M Const tensors/component_0:0 组件 0 是我的 train_dataset)。
我如何才能找到这些 NaN 的位置,以便调试转换过程中出现的错误?
我已经尝试过 tf.is_nan(train_dataset) 但出现以下错误:
TypeError: Failed to convert object of type <class 'tensorflow.python.data.ops.dataset_ops.TensorSliceDataset'> to Tensor. Contents: <TensorSliceDataset shapes: ((45,), (2,)), types: (tf.float64, tf.uint8)>. Consider casting elements to a supported type.
请您参考如下方法:
这个问题发生在我的图像上,因为我在生成数据集时使用了错误的索引
NaN 值表示您在数据集中插入了 NULL 值
