You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

tf.data.Dataset.from_tensor_slices创建数据集报Unsupported object type float错误

报错原因

你遇到的报错核心是tf.data.Dataset.from_tensor_slices无法将混合类型的object类numpy数组转换为Tensor:
虽然train['email'].values被判定为字符串类型ndarray,但只要列中存在缺失值,pandas会自动插入float类型的NaN填充,此时整个数组的dtype会变为object而非纯字符串类型,TensorFlow识别到数组中混入了float类型的非法值,就会抛出对应错误。
你也可以同步排查label列是否存在空值或类型异常的情况,也可能触发同类报错。

解决方法
  • 第一步:清理email列的异常值
    先确认缺失值数量:
    print(train['email'].isna().sum(), validation['email'].isna().sum())
    
    根据业务需求选择删除空值行或填充默认值:
    # 方案1:删除包含空email的行
    train = train.dropna(subset=['email']).reset_index(drop=True)
    validation = validation.dropna(subset=['email']).reset_index(drop=True)
    
    # 方案2:用空字符串填充缺失的email值
    train['email'] = train['email'].fillna('')
    validation['email'] = validation['email'].fillna('')
    
  • 第二步:强制转换为纯字符串类型,避免object类型残留
    train['email'] = train['email'].astype(str)
    validation['email'] = validation['email'].astype(str)
    

完成上述操作后再执行原数据集构建代码即可正常运行。

内容的提问来源于stack exchange,提问作者Majd Alhafi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:45:03