AttributeError: 'module' object has no attribute 'merge_all_summaries'
AttributeError: 'module' object has no attribute 'merge_all_summaries'
Ubuntu 14.04。
Python 2.7.13 :: Anaconda 自定义(64 位)
我按照教程安装了 Tensorflow:https://www.tensorflow.org/install/
当我输入
~/anaconda2/lib/python2.7/site-packages/tensorflow/examples/tutorials/mnist
并尝试 运行 已经存在的 python 文件:
fully_connected_feed.py
我遇到了下面的 AttributeError:
:~/anaconda2/lib/python2.7/site-packages/tensorflow/examples/tutorials/mnist$ python fully_connected_feed.py
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
Extracting Mnist_data/train-images-idx3-ubyte.gz
Extracting Mnist_data/train-labels-idx1-ubyte.gz
Extracting Mnist_data/t10k-images-idx3-ubyte.gz
Extracting Mnist_data/t10k-labels-idx1-ubyte.gz
Traceback (most recent call last):
File "fully_connected_feed.py", line 229, in <module>
tf.app.run()
File "/home/hok/anaconda2/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 44, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "fully_connected_feed.py", line 225, in main
run_training()
File "fully_connected_feed.py", line 154, in run_training
summary_op = tf.merge_all_summaries()
AttributeError: 'module' object has no attribute 'merge_all_summaries'
但是相同的代码运行在其他电脑上成功了。所以我想肯定是我电脑的配置问题。
同样的步骤安装了很多次tensorflow,用了一段时间运行深度学习。不过我还是第一次遇到这样的问题。
Google中有很多建议说这种AttributeError可能是python版本的问题。但事实并非如此。
在队友的帮助下我已经解决了这个问题
这是 tensorflow 版本 的问题。
以前电脑中的Tensorflow版本是0.12.1。电脑中遇到AttributeError的Tensorflow版本是1.0.0。这个新的tensorflow版本改变了一些Python api,所以遇到了AttributeError。
在这台电脑中遇到AttributeError:
:~$ python
Python 2.7.13 |Anaconda custom (64-bit)| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
>>> __tf.version__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '__tf' is not defined
>>> tf.__version__
'1.0.0'
>>>
在以前的电脑中:
:~$ python
Python 2.7.13 |Anaconda 2.4.1 (64-bit)| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
>>> tf.__version__
'0.12.1'
>>>
在 you can read up on an answer to a similar problem: The answer is to migrate as appropriate. Check out https://www.tensorflow.org/install/migration。你看
- tf.merge_summary
- should be renamed to tf.summary.merge
- tf.train.SummaryWriter
- should be renamed to tf.summary.FileWriter
(其实SummaryWriter也改了。)所以你在代码之前写应该可以解决你的问题
import tensorflow as tf
tf.merge_all_summaries = tf.summary.merge_all
tf.train.SummaryWriter = tf.summary.FileWriter
(我在 中遇到了同样的问题。)
您需要更新 python 文件中已弃用的 Tensorflow API 运行 即 fully_connected_feed.py
查找 tf.merge_all_summaries() 并将其替换为 tf.summary.merge_all()
当前版本的 Tensorflow 使用
tf.summary.merge_all()
而不是使用
的旧版本
tf.merge_all_summaries()
这对我有用
import tensorflow as tf
tf.merge_all_summaries = tf.compat.v1.summary.merge_all
tf.train.SummaryWriter = tf.compat.v1.summary.FileWriter
Ubuntu 14.04。
Python 2.7.13 :: Anaconda 自定义(64 位)
我按照教程安装了 Tensorflow:https://www.tensorflow.org/install/
当我输入
~/anaconda2/lib/python2.7/site-packages/tensorflow/examples/tutorials/mnist
并尝试 运行 已经存在的 python 文件:
fully_connected_feed.py
我遇到了下面的 AttributeError:
:~/anaconda2/lib/python2.7/site-packages/tensorflow/examples/tutorials/mnist$ python fully_connected_feed.py
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
Extracting Mnist_data/train-images-idx3-ubyte.gz
Extracting Mnist_data/train-labels-idx1-ubyte.gz
Extracting Mnist_data/t10k-images-idx3-ubyte.gz
Extracting Mnist_data/t10k-labels-idx1-ubyte.gz
Traceback (most recent call last):
File "fully_connected_feed.py", line 229, in <module>
tf.app.run()
File "/home/hok/anaconda2/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 44, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "fully_connected_feed.py", line 225, in main
run_training()
File "fully_connected_feed.py", line 154, in run_training
summary_op = tf.merge_all_summaries()
AttributeError: 'module' object has no attribute 'merge_all_summaries'
但是相同的代码运行在其他电脑上成功了。所以我想肯定是我电脑的配置问题。
同样的步骤安装了很多次tensorflow,用了一段时间运行深度学习。不过我还是第一次遇到这样的问题。
Google中有很多建议说这种AttributeError可能是python版本的问题。但事实并非如此。
在队友的帮助下我已经解决了这个问题
这是 tensorflow 版本 的问题。
以前电脑中的Tensorflow版本是0.12.1。电脑中遇到AttributeError的Tensorflow版本是1.0.0。这个新的tensorflow版本改变了一些Python api,所以遇到了AttributeError。
在这台电脑中遇到AttributeError:
:~$ python
Python 2.7.13 |Anaconda custom (64-bit)| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
>>> __tf.version__
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '__tf' is not defined
>>> tf.__version__
'1.0.0'
>>>
在以前的电脑中:
:~$ python
Python 2.7.13 |Anaconda 2.4.1 (64-bit)| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
>>> tf.__version__
'0.12.1'
>>>
在
- tf.merge_summary
- should be renamed to tf.summary.merge
- tf.train.SummaryWriter
- should be renamed to tf.summary.FileWriter
(其实SummaryWriter也改了。)所以你在代码之前写应该可以解决你的问题
import tensorflow as tf
tf.merge_all_summaries = tf.summary.merge_all
tf.train.SummaryWriter = tf.summary.FileWriter
(我在
您需要更新 python 文件中已弃用的 Tensorflow API 运行 即 fully_connected_feed.py
查找 tf.merge_all_summaries() 并将其替换为 tf.summary.merge_all()
当前版本的 Tensorflow 使用
tf.summary.merge_all()
而不是使用
的旧版本tf.merge_all_summaries()
这对我有用
import tensorflow as tf
tf.merge_all_summaries = tf.compat.v1.summary.merge_all
tf.train.SummaryWriter = tf.compat.v1.summary.FileWriter