我在Linux CentOS 7上使用Tensorflow版本0.12.head和Python 2.7,当我运行它时:
import tensorflow as tf
a = tf.constant(5, name="input_a")
b = tf.constant(3, name="input_b")
c = tf.mul(a, b, name="mul_c")
d = tf.add(a, b, name="add_d")
e = tf.add(c, d, name="add_e")
sess = tf.Session()
output = sess.run(e)
writer = tf.train.SummaryWriter('./my_graph', sess.graph)
我收到此错误:
AttributeError Traceback (most recent call last) <ipython-input-6-29c037e85eec> in <module>()
----> 1 writer = tf.train.SummaryWriter('./my_graph', sess.graph)
AttributeError: 'module' object has no attribute 'SummaryWriter'
我已经运行了这两个命令,因为Github上存在针对同一问题的错误issue:
>>> import six
>>> print(six.__version__)
1.10.0
>>> print(dir(six.moves.queue)) ['Empty', 'Full', 'LifoQueue', 'PriorityQueue', 'Queue', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_threading', '_time', 'deque', 'heapq']
>>> print(six.moves.queue.__file__) /usr/lib64/python2.7/Queue.pyc
我是Python和Tensorflow的新手。你知道我怎么能解决这个错误吗?
我已使用SummaryWriter
更改了FileWriter
:
writer = tf.train.FileWriter('./my_graph', sess.graph)
我得到了同样的错误,但FileWriter
函数:
AttributeError Traceback (most recent call last)
<ipython-input-8-daa50ea2b8f9> in <module>()
----> 1 writer = tf.train.FileWriter('./my_graph', sess.graph)
AttributeError: 'module' object has no attribute 'FileWriter'
我也在终端中运行它,我得到了相同的结果:
[VansFannel@localhost ~]$ python
Python 2.7.5 (default, Nov 6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
>>> a = tf.constant(5, name="input_a")
>>> b = tf.constant(3, name="input_b")
>>> c = tf.mul(a, b, name="mul_c")
>>> d = tf.add(a, b, name="add_d")
>>> e = tf.add(c, d, name="add_e")
>>> sess = tf.Session()
>>> output = sess.run(e)
>>> writer = tf.train.FileWriter('./my_graph', sess.graph)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'FileWriter'
>>>
答案 0 :(得分:61)
tf.train.SummaryWriter
,而是使用tf.summary.FileWriter
。
↳Adding Summaries to Event Files
2016-11-30之后将被删除。 更新说明:请切换到
tf.summary.FileWriter
。 界面和行为是一样的;这只是重命名。
&LT;的 TF Official Migration Page
强>&GT; ✳︎包括所有当前已弃用/重命名的功能✳︎
答案 1 :(得分:9)
在TF的新版本中,所有summary functions were renamed。
汇总功能已在 tf.summary 下合并 命名空间。
Deprecated Replacement
----------------------------------------------------------------------------------
tf.audio_summary tf.summary.audio
tf.contrib.deprecated.histogram_summary tf.summary.histogram
tf.contrib.deprecated.scalar_summary tf.summary.scalar
tf.histogram_summary tf.summary.histogram
tf.image_summary tf.summary.image
tf.merge_all_summaries tf.summary.merge_all
tf.merge_summary tf.summary.merge
tf.scalar_summary tf.summary.scalar
tf.train.SummaryWriter tf.summary.FileWriter
----------------------------------------------------------------------------------
答案 2 :(得分:3)
我有同样的问题...我正在使用pything 3.5.2 ...请参阅下面的解决方案...希望这对您有用..这对我有用(它会在您的tmp文件夹中创建一个日志):
import tensorflow as tf
a = tf.constant(5, name="input_a")
b = tf.constant(3, name="input_a")
c = tf.multiply(a,b, name="mul_c")
d = tf.add(a,b, name="add_d")
e = tf.add(c,d, name="add_e")
sess = tf.Session()
sess.run(e)
output = sess.run(e)
writer = tf.summary.FileWriter('/tmp/tensorflow_logs', graph=sess.graph)
print(sess.run(e))
答案 3 :(得分:1)
这对我有用。
tf.summary.create_file_writer('/pnplogs')
create_file_writer()
为给定的日志目录(在我的例子中是 pnplogs
)创建一个摘要文件编写器
答案 4 :(得分:0)
import tensorflow as tf
a = tf.constant(5, name="input_a")
b = tf.constant(3, name="input_a")
c = tf.multiply(a,b, name="mul_c")
d = tf.add(a,b, name="add_d")
e = tf.add(c,d, name="add_e")
sess = tf.Session()
sess.run(e)
output = sess.run(e)
writer = tf.summary.create_file_writer('/tmp/tensorflow_logs', graph=sess.graph)
print(sess.run(e))