R中Keras与TensorFlow警告及Python缓冲区刷新问题求助
解决R中Keras启动的两类警告问题
一、处理TensorFlow API弃用警告
针对tf.losses.sparse_softmax_cross_entropy和tf.get_default_graph的弃用提示,可通过以下方式屏蔽:
- 在加载Keras前,设置TensorFlow日志级别为ERROR,屏蔽警告信息:
library(reticulate) py_run_string("import tensorflow as tf; tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)") library(keras) m = keras_model_sequential() - 若需继续适配旧版TensorFlow API,可强制启用v1兼容会话:
library(tensorflow) use_v1_session() library(keras) m = keras_model_sequential()
二、处理Python缓冲区刷新错误警告
针对sys.stderr和sys.stdout的刷新错误,尝试以下方案:
- 关闭reticulate的Python输出缓冲,在脚本开头添加:
Sys.setenv(RETICULATE_PYTHON_STDOUT_BUFFERED = "0") Sys.setenv(RETICULATE_PYTHON_STDERR_BUFFERED = "0") library(keras) m = keras_model_sequential() - 更新reticulate包至最新版本,修复已知的缓冲区交互问题:
install.packages("reticulate")
内容的提问来源于stack exchange,提问作者Liping Liu
相关产品推荐
相关产品推荐

