在R v4.3.2中运行Keras API时出现无详细信息的Error错误
R v4.3.2中Keras API无详情报错的排查方案
问题描述
在R v4.3.2中使用Keras API时,即使运行官方示例代码,也仅返回无详细信息的Error:提示。最简复现代码如下:
library(keras) model <- keras_model_sequential()
运行后输出包含TensorFlow的oneDNN提示、废弃警告,随后直接抛出无详情的错误:
I tensorflow/core/util/port.cc:113] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`. WARNING:tensorflow:From C:\Users\...\Anaconda3\envs\...\lib\site-packages\keras\src\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead. Error:
排查与解决步骤
强制显示完整错误栈
在代码前添加以下配置,触发错误时会打印详细调用栈,定位问题根源:options(error = function() { traceback(); quit(save = "no") }) library(keras) model <- keras_model_sequential()检查版本兼容性
运行以下代码查看Keras和Python环境中TensorFlow的版本,确保二者版本匹配(例如Keras 2.15.x对应TensorFlow 2.15.x,Keras 3.x需搭配TensorFlow 2.16+):packageVersion("keras") reticulate::py_config()重置Reticulate Python环境
若使用Anaconda虚拟环境,先确认环境路径正确,再指定加载对应环境后重新运行代码:reticulate::use_condaenv("你的虚拟环境名称", required = TRUE) library(keras) model <- keras_model_sequential()重装匹配版本的Keras与TensorFlow
先卸载现有版本,再安装稳定兼容的版本组合:# 卸载R端Keras和Python端TensorFlow remove.packages("keras") reticulate::py_install("tensorflow", uninstall = TRUE) # 安装指定版本(以稳定的2.15版本为例) install.packages("keras") keras::install_keras(tensorflow = "2.15")禁用oneDNN优化
在加载Keras前设置环境变量关闭oneDNN,尝试规避数值计算相关的潜在问题:Sys.setenv(TF_ENABLE_ONEDNN_OPTS = "0") library(keras) model <- keras_model_sequential()
内容的提问来源于stack exchange,提问作者coolhand
相关产品推荐
相关产品推荐

