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

Ubuntu环境下R中Keras模型compile方法调用报错求助

Keras模型compile方法调用报错排查

环境配置

tf_config()
# 输出:
TensorFlow v2.16.1 (~/miniconda3/lib/python3.12/site-packages/tensorflow)
Python v3.12 (~/miniconda3/bin/python3.12)

出错代码

model %>%
  compile(optimizer = "rmsprop",
          loss = "mse",
          metrics = "mae")

错误信息

Error in UseMethod("compile") :
método não aplicável para 'compile' aplicado a um objeto de classe "c('keras.src.models.functional.Functional', 'keras.models.functional.Functional', 'keras.src.ops.function.Function', 'keras.ops.function.Function', 'keras.src.models.model.Model', 'keras.models.model.Model', 'keras.src.backend.tensorflow.trainer.TensorFlowTrainer', 'keras.backend.tensorflow.trainer.TensorFlowTrainer', 'keras.src.trainers.trainer.Trainer', 'keras.trainers.trainer.Trainer', 'keras.src.layers.layer.Layer', 'keras.layers.layer.Layer', 'keras.src.backend.tensorflow.layer.TFLayer', 'keras.backend.tensorflow.layer.TFLayer', 'keras.src.backend.tensorflow.trackable.KerasAutoTrackable', 'keras.backend.tensorflow.trackable.KerasAutoTrackable', 'tensorflow.python.trackable.autotrackable.AutoTrackable', 'tensorflow.python.trackable.base.Trackable', 'keras.src.ops.operation.Operation', 'keras.ops.operation.Operation', 'keras.src.saving.keras_saveable.KerasSaveable', 'keras.saving.keras_saveable.KerasSavea

原因

当前环境使用的是Keras 3.x(随TensorFlow 2.16+捆绑),而《Deep Learning with R(第二版)》基于旧版Keras 2.x编写。两者API存在兼容性差异:Keras 3.x不再支持通过%>%管道符调用compile方法,旧语法触发了泛型方法匹配错误。

解决方案

方案1:适配Keras 3.x语法

直接调用compile函数,或使用R原生管道|>替代%>%:

# 方式1:直接调用
compile(model, optimizer = "rmsprop", loss = "mse", metrics = "mae")

# 方式2:使用R原生管道
model |> compile(optimizer = "rmsprop", loss = "mse", metrics = "mae")

方案2:降级到教材兼容版本

如果希望完全匹配教材语法,将Keras和TensorFlow降级到2.15.x版本:

  1. 卸载当前Keras包:
remove.packages("keras")
  1. 安装指定版本并配置:
install.packages("keras", version = "2.15.0")
keras::install_keras(tensorflow = "2.15.0")
  1. 重启R会话后验证版本:
tf_config()

确认输出中TensorFlow版本为2.15.x即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 02:35:17