解决keras安装之后无法使用的问题

在尝试使用keras时遇到了与tensorflow版本不兼容的错误,原本backend为tensorflow1.9.0,直接安装的keras 2.3.1导致问题。通过查阅资料发现,keras和tensorflow之间存在版本对应关系。解决方案是降级keras到2.2.0,与tensorflow 1.9.0匹配,现在问题已解决并能正常使用。
部署运行你感兴趣的模型镜像

首先backend使用的是tensorflow1.9.0,由于最近在使用keras,因此需要安装一下keras.

由于安装时忽略了tensorflow与keras版本之间的对应关系,直接使用命令行安装的keras

sudo pip2 install keras

默认安装最新版本的keras 2.3.1,对应的是高版本的tensorflow,因此使用时出现下述错误:

Using TensorFlow backend.
Traceback (most recent call last):
  File "mnist_test.py", line 8, in <module>
    import keras
  File "/usr/local/lib/python2.7/dist-packages/keras/__init__.py", line 3, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/keras/utils/__init__.py", line 6, in <module>
    from . import conv_utils
  File "/usr/local/lib/python2.7/dist-packages/keras/utils/conv_utils.py", line 9, in <module>
    from .. import backend as K
  File "/usr/local/lib/python2.7/dist-packages/keras/backend/__init__.py", line 1, in <module>
    from .load_backend import epsilon
  File "/usr/local/lib/python2.7/dist-packages/keras/backend/load_backend.py", line 90, in <module>
    from .tensorflow_backend import *
  File "/usr/local/lib/python2.7/dist-packages/keras/backend/tensorflow_backend.py", line 54, in <module>
    get_graph = tf_keras_backend.get_graph
AttributeError: 'module' object has no attribute 'get_graph'

可以发现model无法获得tensorflow的graph,当时的解决方法是不使用keras第三方,直接使用tensorflow自带的keras library

如:

import keras
替代为:
import tensorflow.keras as keras

from keras.layer import Conv2D,Dense
替代为:
from tensorflow.keras.layer import Conv2D,Dense

....

后来无意间想到应该是版本的对应关系导致的问题,因为tensorflow的后续版本发生了很大的改变,那么keras每个版本之间应该也是有着很大的区别,因此查了下tensorflow和keras之间的版本对应关系。

链接:版本对应关系

重新安装keras,现电脑的配置为:

tensorflow:1.9.0

keras: 2.2.0

使用正常,不再出现问题。

其中keras教程网站为:https://keras.io/zh/

您可能感兴趣的与本文相关的镜像

TensorFlow-v2.9

TensorFlow-v2.9

TensorFlow

TensorFlow 是由Google Brain 团队开发的开源机器学习框架,广泛应用于深度学习研究和生产环境。 它提供了一个灵活的平台,用于构建和训练各种机器学习模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值