我刚刚在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的临时解决方案是重新启动内核。
但是我不想在运行脚本的每一步都重新启动内核。 因此,我想为此类问题寻求关键的解决方案。先感谢您。
答案 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
之外的整个程序,然后在
以当前单元格模式运行
它将工作并显示输出;
否则,重新启动内核即可。