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

R环境运行Keras回归示例报ValueError错误如何解决?

R Keras回归任务报错原因及修复方案

核心错误原因

  • 输出层激活函数配置错误:当前任务为连续值回归,输出可正可负无边界,但代码中最后一层使用了relu激活函数,会截断所有小于0的输出,与你构造的含负值的标签z匹配时触发计算错误
  • 输入数据类型不兼容:传入fit()方法的特征数据为R原生data.frame格式,TensorFlow 2.6对应的Keras版本无法直接识别该数据类型,需要转换为矩阵格式

修复方案

调整点说明

  1. 输出层激活函数替换为linear(也可以留空,默认就是线性激活),适配回归任务
  2. 传入训练的特征数据用as.matrix()转换为矩阵格式
  3. 补充input_shape的规范写法c(2),避免不同版本的参数解析差异

完整可运行代码

library(keras)

x <- rnorm(1000) # 输入变量
y <- rnorm(1000) # 输入变量
z <- x + y + rnorm(1000) # 输出变量
df <- data.frame(x = x, y = y, z = z)

model <- keras_model_sequential() %>%
  layer_dense(units = 8, activation = "relu", input_shape = c(2)) %>%
  layer_dense(units = 8, activation = "relu") %>%
  layer_dense(units = 1, activation = "linear") 

model %>% compile(
  loss = "mse",
  optimizer = optimizer_adam(),
  metrics = list("mean_absolute_error")
)

model %>% fit(as.matrix(df[,1:2]), df[,3], epochs = 20)

如果运行仍有异常,可检查本地R Keras包版本是否与TensorFlow 2.6版本兼容,安装对应匹配的版本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 05:36:03