Tensorflow.keras.layers“未解析的引用”错误fin pycharm

时间:2019-02-14 08:47:24

标签: python pycharm

我刚刚安装了tensorflow,并且正在尝试使基础工作。但是,我收到一个错误“未解析的参考'图层'”。该代码确实可以正常运行。

我已经尝试过此问题中的一些建议:PyCharm shows unresolved references error for valid code

但是,该问题与我的特定错误无关,我想知道我的错误的原因是什么,它是否只是pycharm级错误的一部分,还是与tensorflow相关的内容。

我的代码是:

import tensorflow as tf;
from tensorflow.keras import layers;

它在“图层”下方的红色锯齿状下划线上显示错误“未解析的参考图层”,没有指示如何解决。

3 个答案:

答案 0 :(得分:3)

如果您使用的是Tensorflow 2.0,请尝试使用此代码加载它们,而不是使用'from'和'import'

import tensorflow
example_model = tensorflow.keras.Sequential()
BatchNormalization = tensorflow.keras.layers.BatchNormalization
Conv2D = tensorflow.keras.layers.Conv2D
MaxPooling2D = tensorflow.keras.layers.MaxPooling2D
Activation = tensorflow.keras.layers.Activation
Flatten = tensorflow.keras.layers.Flatten
Dropout = tensorflow.keras.layers.Dropout
Dense = tensorflow.keras.layers.Dense

##Testing Purpose On PyCharm##
example_model.add(Conv2D(64, (3, 3), activation='relu', padding='same', input_shape=(100, 100, 1)))
example_model.add(MaxPooling2D((2, 2)))
example_model.add(Flatten())
example_model.summary()

答案 1 :(得分:2)

Pycharm可能just recognize the sub-package


(1)package tensorflow's structure :

  ├── tensorflow
        ├── _api
        ├── compiler
        ├── contrib
        ├── core
        ├── examples
        ├── include
        ├── python
        ├── tools
        └── __init__.py

您可以绝对导入图层

from tensorflow._api.v1.keras import layers

然后您将在no unresolved reference mark中获得pycharm。


包tensorflow的__init__.py中的

(2)

...
from tensorflow._api.v1 import keras  

# import all packages you want to use in tensorflow level 
# so, you can use `from tensorflow.keras import layers` for keras having been imported

...

然后,您可以像layers一样简单地导入from tensorflow.keras import layers

但是包keras不是tensorflow的子包,因此pycharm将其标记为unresolved reference,这不是错误

答案 2 :(得分:0)

您可以直接通过以下方式导入软件包:

from keras import layers;

无需添加“将tensorflow导入为tf”;和第二行中的“ tensorflow”。