解决ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following

简介: 解决ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following

2022-01-04 19:21:07.023270: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2022-01-04 19:21:07.058585: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:185] None of the MLIR Optimization Passes are enabled (registered 2)
Traceback (most recent call last):
  File "E:/Code/PyCharm/TensorFlow学习/main.py", line 78, in <module>
    validation_split=0.2)
  File "D:\Anaconda\lib\site-packages\keras\engine\training.py", line 1121, in fit
    (x, y, sample_weight), validation_split=validation_split))
  File "D:\Anaconda\lib\site-packages\keras\engine\data_adapter.py", line 1479, in train_validation_split
    "arrays, found following types in the input: {}".format(unsplitable))
ValueError: `validation_split` is only supported for Tensors or NumPy arrays, found following types in the input: [<class 'tensorflow.python.data.ops.dataset_ops.MapDataset'>]

问题原因:

如果使用validation_split分割验证集,那么输入的训练集必须是Tensor或者Numpy数据类型,不可以是Dataset迭代器类型

解决办法:

方案一:添加验证集

添加验证集,而不是使用validation_split进行分割

val_batches = tf.data.experimental.cardinality(train_dataset)
val_dataset = train_dataset.skip(val_batches // 5)
train_dataset = train_dataset.take(val_batches // 5)

使用训练集一部分作为验证集使用

方案二:将Dataset类型变成Numpy或者Tensor

这种方式只适合数据量不是特别大

# 前提要将所有数据作为一个批次加入的Dataset中
train_data, train_label = next(iter(train_datasets))


目录
相关文章
QSoundEffect(qaudio): Error decoding source
QSoundEffect(qaudio): Error decoding source
550 0
|
移动开发 小程序 JavaScript
uniapp指南第1章---如何创建一个uniapp项目
uniapp指南第1章---如何创建一个uniapp项目
505 0
|
Web App开发 JavaScript IDE
uni-app开发之创建一个app项目
uni-app开发之创建一个app项目
368 0
|
12天前
|
运维 算法 网络安全
炸了!阿里云SSL证书大改,2026年2月起不再单卖,有效期仅 200 天
阿里云SSL证书将于2026年2月起升级为订阅服务:单张证书有效期缩短至200天(DigiCert品牌自2月24日起执行),不再单独售卖。用户可选1/2/3年订阅,期内自动签发多张证书保障服务连续性,降低运维压力。个人测试证书(90天)及国密SM2证书暂不受影响。
204 2
|
8月前
|
存储 弹性计算 Linux
阿里云服务器试用与购买参考:试用与购买流程及相关规则和注意事项
阿里云服务器购买与试用全指南,阿里云每年都会推出针对新用户的免费试用活动,帮助用户低成本体验云服务的强大功能。本文将为大家解析阿里云服务器的购买与试用流程,包括注册认证、领取免费额度、选择实例配置全流程,帮助新手用户快速上手,避免操作误区。
|
8月前
|
缓存 自然语言处理 算法
彻底卸载流氓软件教程,亲测有效!流氓软件彻底卸载软件
本文介绍了多款彻底卸载流氓软件的工具,如 Revo Uninstaller Pro、HiBit Uninstaller、Uninstall Tool 和 SoftCnkiller。这些软件具备强制卸载、残留清理、注册表扫描等功能,能有效应对鲁大师、2345 等难以删除的流氓程序。文章还分享了卸载操作步骤及用户使用体验,帮助用户解决电脑中弹窗广告、隐私窃取等问题,提升系统运行效率。
5621 0
彻底卸载流氓软件教程,亲测有效!流氓软件彻底卸载软件
|
机器学习/深度学习 计算机视觉 异构计算
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
484 0
RT-DETR改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
404 3
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【Conv和Transformer】| GRSL-2024最新模块 卷积和自注意力融合模块 CAFM 减少图像中的噪声干扰
RT-DETR改进策略【Conv和Transformer】| GRSL-2024最新模块 卷积和自注意力融合模块 CAFM 减少图像中的噪声干扰
441 19
RT-DETR改进策略【Conv和Transformer】| GRSL-2024最新模块 卷积和自注意力融合模块 CAFM 减少图像中的噪声干扰
|
数据可视化 安全 测试技术
部署流水线原则与工具设计
部署流水线原则与工具设计
242 1

热门文章

最新文章