没有找到名为“layers”的模块。

5

我正在使用tensorflow 1.0.0版本,想要访问tensorflow.layers模块。这个模块似乎是存在的:

In [12]: dir(tensorflow.layers)
Out[12]: 
['__builtins__',
 '__doc__',
 '__file__',
 '__name__',
 '__package__',
 '_allowed_symbols',
 'average_pooling1d',
 'average_pooling2d',
 'average_pooling3d',
 'batch_normalization',
 'conv1d',
 'conv2d',
 'conv2d_transpose',
 'conv3d',
 'dense',
 'dropout',
 'max_pooling1d',
 'max_pooling2d',
 'max_pooling3d',
 'separable_conv2d']

但是当我尝试导入例如密集函数时:

In [13]: from tensorflow.layers import dense
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-13-e5b2c910300d> in <module>()
----> 1 from tensorflow.layers import dense

ImportError: No module named layers

为什么Python无法访问模块?

1
似乎 from tensorflow.python.layers.core import dense 有效。或者只需 from tensorflow import layers,然后调用 layers.dense - Abdou
这对我有效:从TensorFlow导入层(layers)……然后调用我所需的函数。但是,我不明白为什么直接导入会失败?! - ma3oun
为什么需要特别导入函数?"import tensorflow as tf" 和 "x = tf.layers.dense(...)" 可以正常工作且更易读。 - rfho_bdss
1个回答

1

您的安装或工作区存在问题:

  • 请确保Python路径中没有名为“tensorflow”的目录。
  • 重新安装官方 tensorflow 分发版 pip install —upgrade —ignore-installed tensorflow)
  • 请确保使用正确的 tensorflow 版本 print(tensorflow.__version__)

对我来说仍然不起作用...即使使用不同类型的安装。使用pip(与anaconda 2一起)安装v1.2.1,仍然没有效果。同样的事情,但使用本机python2.7。我甚至从源代码编译了tensorflow(v1.3):所有其他导入都有效,但不是tf.layers。我检查了tensorflow安装目录中layers.py的存在。我不明白为什么它不起作用。 - ma3oun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接