Tensorflow r1.12:TypeError:运行第二个脚本时{SparseTensorValue已注册类型

时间:2018-11-26 08:15:26

标签: python-3.x tensorflow spyder

我刚刚在Ubuntu 16.04中从源代码构建了Tensorflow r1.12。安装成功。

当我第一次在Spyder中运行某个脚本时,一切都会顺利进行。 但是,当我继续运行另一个脚本时,会发生以下错误(以前没有发生过):

  

文件“ /home/haohua/tf_env/lib/python3.6/site-packages/tensorflow/init.py”,第24行,在       从tensorflow.python import pywrap_tensorflow#pylint:disable = unused-import

     

文件“ /home/haohua/tf_env/lib/python3.6/site-packages/tensorflow/python/init.py”,第70行,在       从tensorflow.python.framework.framework_lib导入*#pylint:disable = redefined-builtin

     

文件“ /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/sparse_tensor.py”,第248行,在       pywrap_tensorflow.RegisterType(“ SparseTensorValue”,SparseTensorValue)

     

TypeError:类型已为SparseTensorValue注册

避免此类TypeError的临时解决方案是重新启动内核。

但是我不想在运行脚本的每一步都重新启动内核。 因此,我想为此类问题寻求关键的解决方案。先感谢您。

3 个答案:

答案 0 :(得分:1)

(此处为 Spyder维护人员)此错误已在2019年2月发布的Spyder 3.3.3 中得到修复。

答案 1 :(得分:0)

摆脱导入语句:

import tensorflow as tf

之后似乎可以工作了……有点简陋

答案 2 :(得分:0)

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之外的整个程序,然后在

中运行
  

以当前单元格模式运行

它将工作并显示输出;

否则,重新启动内核即可。

相关问题