Tensorflow r1.12:TypeError:Type在运行第二个脚本时已为SparseTensorValue注



我刚刚在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之外的整个程序并在中运行

在当前单元格模式中运行

它将工作,并显示输出;

否则,重新启动内核,它就会工作。

最新更新