1

我正在尝试keras在 pycharm 中使用应用程序。我从以下导入开始我的脚本:

from keras_vggface.vggface import VGGFace
from keras_vggface.utils import preprocess_input
from keras_vggface.utils import decode_predictions

运行此代码块时,我收到此错误:

ImportError: You need to first `import keras` in order to use `keras_applications`. For instance, you can do:

```
import keras
from keras_applications import vgg16
```

Or, preferably, this equivalent formulation:

```
from keras import applications
```

我已尝试按照建议导入适当的 keras 库,但问题仍然存在。我还尝试检查 json 文件以查看它是否包含正确的后端(确实如此)。

我该如何解决这个问题?

“为清晰而编辑”

我的全部进口如下:

from PIL import Image # for extracting image
from numpy import asarray
from numpy import expand_dims

from matplotlib import pyplot
from mtcnn.mtcnn import MTCNN # because i am too lazy to make one myself
import keras
from keras_applications import vgg16

from keras_vggface.vggface import VGGFace
from keras_vggface.utils import preprocess_input
from keras_vggface.utils import decode_predictions

追溯:

Traceback (most recent call last):
  File "C:/Users/###/PycharmProjects/##/#.py", line 17, in <module>
    from keras_applications import vgg16
  File "C:\Users\###\anaconda3\envs\tensor\lib\site-packages\keras_applications\vgg16.py", line 17, in <module>
    backend = get_keras_submodule('backend')
  File "C:\Users\###\anaconda3\envs\tensor\lib\site-packages\keras_applications\__init__.py", line 39, in get_keras_submodule
    raise ImportError('You need to first `import keras` '
ImportError: You need to first `import keras` in order to use `keras_applications`. For instance, you can do:

```
import keras
from keras_applications import vgg16
```

Or, preferably, this equivalent formulation:

```
from keras import applications
```


Process finished with exit code 1
4

1 回答 1

2

您是否打算使用 Tensorflow 框架来执行模型。如果是张量流,那么我建议使用 import tensorflow as tf \ from tensorflow.keras.applications.vgg16 import VGG. Keras 内置在最新的 TF 框架中,因此我们不必进行显式导入

否则,如果您想直接使用 Keras,我相信代码应该是: import keras \ from keras.applications.vgg16 import VGG16 \ vggmodel = VGG16(weights='imagenet', include_top=True)

于 2020-08-01T03:31:49.810 回答