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

Keras/TensorFlow报错ValueError: None values not supported求助

问题定位与解决

根因分析

报错ValueError: None values not supported的核心原因是:你的训练数据集仅包含输入数据,没有提供标签(target)。当调用model.fit()时,Keras无法获取y_true(真实标签),导致其传入损失函数的值为None,而底层的optree库无法处理None类型的张量。

你的损失函数虽然定义为接收y_true和y_pred参数,但实际并未使用y_true,但Keras仍然要求训练数据必须包含输入和标签对(或明确告知无需标签,但这种场景极少)。

解决方案

修改数据集,使其同时返回输入和标签(如果是测试场景,可以用输入数据本身作为 dummy 标签;如果是真实任务,替换为你的实际标签数据)。

修正后的代码

from tensorflow.keras import layers, Model, Input
from tensorflow.keras.models import Sequential
import pandas as pd
import numpy as np
import tensorflow as tf

input_data = pd.DataFrame(np.random.rand(1000, 10))

# 创建包含输入的数据集
data = tf.data.Dataset.zip({'input_values' : tf.data.Dataset.from_tensor_slices(input_data.values)})

# 关键修改:添加标签(此处用输入数据本身作为dummy标签,实际任务替换为真实标签)
data = data.map(lambda x: (x, x['input_values']))

batch_size = 100
train_split = 0.8

train_rows = int(train_split * input_data.shape[0])
train_dataset = data.take(train_rows)
validation_dataset = data.skip(train_rows)

train_data_batched = train_dataset.batch(batch_size).prefetch(tf.data.AUTOTUNE)
validation_data_batched = validation_dataset.batch(batch_size).prefetch(tf.data.AUTOTUNE)

num_outputs = 10

input_layer = Input(shape=(num_outputs,), name=f'input_values')
output = layers.Dense(num_outputs, activation='sigmoid', name='output')(input_layer)

# Define the model
model = Model(
    inputs=[input_layer],
    outputs=output,
)

max_epochs = 10

def loss(y_true, y_pred):
    return 2.0

model.compile(
    loss=loss,
    optimizer='adam',
)

history = model.fit(
    train_data_batched,
    epochs=max_epochs,
    validation_data=validation_data_batched
)

说明

  • 通过data.map(lambda x: (x, x['input_values']))将每个数据元素转换为(输入字典, 标签张量)的形式,确保Keras能获取到有效的y_true。
  • 如果是真实监督学习任务,只需将x['input_values']替换为你的实际标签数据即可(需保证标签形状与模型输出形状匹配)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 00:52:33