由于TensorFlow早就从1.x升级到2.x,在R中调用Python的TensorFlow可能出现:RuntimeError: tf.gradients is not supported when eager execution is enabled. Use tf.GradientTape instead。网上给出都是在Python中解决TensorFlow版本冲突的方法。以下,给出在R中解决TensorFlow版本冲突的方案。
library(tensorflow) #导入R的TensorFlow包。如果提示未下载要下载。
library(reticulate) #导入R调用Python的包。如果提示未下载要下载。
library(keras) #导入R深度学习的包。
py_module_available("tensorflow") #测试在R中调用Python中TensorFlow的可行性
py_run_string("import tensorflow as tf") #调用在Python中导入TensorFlow的语句,并以tf指代TensorFlow
py_run_string("tf.compat.v1.disable_eager_execution()") #在R中运行Python解决冲突的语句。
再运行R中出现错误的语句,发现问题已得到解决。