You need to enable JavaScript to run this app. TensorFlow实现函数逼近神经网络输出层单元数设置是否正确
优惠活动
大模型
产品
解决方案
定价
更多

TensorFlow实现函数逼近神经网络输出层单元数设置是否正确

结论

你的输出层单元数设置是错误的,同时输入层的input_shape参数也设置错误,二者都是混淆了样本总数和单条样本的特征维度的概念导致的。

错误原因说明

你要拟合的是单变量函数 y=0.9x^3 + 2x^2 + 12,单条样本的输入只有1个特征(也就是x的值),输出也只有1个值(对应的y值),50000是你准备的样本总数量,属于训练时的批量维度,不需要写入网络的输入/输出维度配置中。

你当前的配置相当于要求网络接收一条50000维的输入,输出一条50000维的结果,完全不符合你的拟合需求。

正确的网络结构代码

model = Sequential()
# 输入层:单条样本输入维度为1,第一隐藏层12个单元
model.add(Dense(12, input_shape = (1,), activation = 'relu'))
model.add(Dense(8, activation = 'relu'))
model.add(Dense(4, activation = 'relu'))
# 输出层:单条样本输出维度为1,用线性激活适配回归任务
model.add(Dense(1, activation = 'linear')) 

训练数据适配要求

训练前你需要把所有样本整理为符合输入要求的格式:

  • 所有x值整理为形状为 (50000, 1) 的数组
  • 所有对应的y值整理为形状为 (50000, 1) 的数组
    直接调用model.fit()传入上述两组数据即可,训练时框架会自动处理批量维度,不需要在网络结构中声明样本总数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 11:36:08