我刚刚在Ubuntu 16.04中从源代码构建了Tensorflow r1.12。安装成功。
当我第一次在Spyder中运行某个脚本时,一切都很顺利。然而,当我继续运行另一个脚本时,会出现以下错误(以前没有发生过(:
File"/home/haohua/tf_env/lib/python3.6/site packages/tensorflow/init.py",第24行,位于from tensorflow.python import pywrap_tensorflow#pylint:disable=未使用的导入
文件"/home/haohua/tf_env/lib/python3.6/site packages/tensorflow/python/init.py",第70行,位于from tensorflow.python.framework.framework_lib import*#pylint:disable=重新定义的内置
文件"/home/haohua/tf_env/lib/python3.6/site packages/tensorflow/python/framework/framework_lib.py",第30行,位于从tensorflow.python.framework.sparse_tensor导入SparseTensor
文件"/home/haohua/tf_env/lib/python3.6/site packages/tensorflow/python/framework/spare_tensor.py",第248行,位于pywrap_tensorflow.RegisterType("SparseTensorValue",SparseTensorValue(
TypeError:类型已为SparseTensorValue 注册
避免此类TypeError的临时解决方案是重新启动内核。
但我不想在运行脚本的每一步都重新启动内核。因此,我想要求为这类问题找到一个关键的解决办法。提前谢谢。
(此处为Spyder维护人员(此错误已在2019年2月发布的Spyder3.3.3中修复。
去掉导入语句:
import tensorflow as tf
似乎在那之后工作。。。有点刺耳
import tensorflow as tf
node1 = tf.constant(3.0,tf.float32)
node2 = tf.constant(4.0)
sess = tf.Session()
print(sess.run([node1,node2]))
sess.close()
当您第一次运行此代码时,它将显示输出,但当您第二次运行它时,它会显示错误。为此,您必须选择除import tensorflow as tf
之外的整个程序并在中运行
在当前单元格模式中运行
它将工作,并显示输出;
否则,重新启动内核,它就会工作。