ImportError:没有名为“tensorflow.python”的模块与 tensorflow-gpu
Posted
技术标签:
【中文标题】ImportError:没有名为“tensorflow.python”的模块与 tensorflow-gpu【英文标题】:ImportError: No module named 'tensorflow.python' with tensorflow-gpu 【发布时间】:2018-09-01 02:45:08 【问题描述】:我想为 keras/tensorflow 提供 gpu 支持,这就是我安装 tensorflow-gpu 的原因。 于是我通过pip安装了tensorflow-gpu:
pip install --upgrade tensorflow-gpu
这导致了:
from keras import backend as K
K.tensorflow_backend._get_available_gpus()
> []
然后我发现this *** answer 说我应该在安装 tensorflow-gpu 后卸载 tensorflow。这导致了:
Using TensorFlow backend.
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-3d00d838479b> in <module>()
----> 1 from keras import backend as K
2 K.tensorflow_backend._get_available_gpus()
/raid/ntzioras/VirtualEnvironments/DeepLearning/lib/python3.4/site-packages/keras/__init__.py in <module>()
1 from __future__ import absolute_import
2
----> 3 from . import utils
4 from . import activations
5 from . import applications
/raid/ntzioras/VirtualEnvironments/DeepLearning/lib/python3.4/site-packages/keras/utils/__init__.py in <module>()
4 from . import data_utils
5 from . import io_utils
----> 6 from . import conv_utils
7
8 # Globally-importable utils.
/raid/ntzioras/VirtualEnvironments/DeepLearning/lib/python3.4/site-packages/keras/utils/conv_utils.py in <module>()
7 from six.moves import range
8 import numpy as np
----> 9 from .. import backend as K
10
11
/raid/ntzioras/VirtualEnvironments/DeepLearning/lib/python3.4/site-packages/keras/backend/__init__.py in <module>()
82 elif _BACKEND == 'tensorflow':
83 sys.stderr.write('Using TensorFlow backend.\n')
---> 84 from .tensorflow_backend import *
85 else:
86 raise ValueError('Unknown backend: ' + str(_BACKEND))
/raid/ntzioras/VirtualEnvironments/DeepLearning/lib/python3.4/site-packages/keras/backend/tensorflow_backend.py in <module>()
4
5 import tensorflow as tf
----> 6 from tensorflow.python.training import moving_averages
7 from tensorflow.python.ops import tensor_array_ops
8 from tensorflow.python.ops import control_flow_ops
ImportError: No module named 'tensorflow.python'
使用
重新安装 tensorflowpip install --upgrade tensorflow --no-cache
使用上面的代码再次导致 gpus 的空数组。
任何想法如何解决这个问题?
【问题讨论】:
你的gpu的计算能力是多少?我遇到了类似的问题,因为他们将 gpu 的默认计算范围从 3.0 更改为 3.5。我必须从源代码构建才能让我的工作。 其实我不知道。这是另一个人设置的 nvidia-dev 盒子。我明天必须问他以获取更多信息,但我首先想在这里问我是否遇到了常见错误:) 如果它是一个专用的盒子,我不会太担心它。它更有可能是旧笔记本电脑或类似设备的问题。您是否正确安装了 Keras? 您需要为 GPU 版本的 tensorflow 安装和设置 CUDA。这是在 Linux 上使用 GPU 设置 TF 的指南。该页面还包含 OSX 和 Windows 指南。 tensorflow.org/install/install_linux#gpu_support 您应该卸载 两个 版本(CPU 和 GPU),然后重新安装 GPU 版本 - 请参阅 answer here 【参考方案1】:这个解决方案对我有用:
卸载 CPU 和 GPU 版本的 TensorFlow,然后仅安装 GPU 版本的 TensorFlow。
pip uninstall tensorflow
pip uninstall tensorflow-gpu
pip install tensorflow-gpu
【讨论】:
以上是关于ImportError:没有名为“tensorflow.python”的模块与 tensorflow-gpu的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:没有名为 websocket 的模块
ImportError:没有名为“backports”的模块