Python第三方库keras错误:module ‘keras.utils.generic_utils‘ has no attribute ‘populate_dict_with_module_o

关于Python第三方库keras的错误:module ‘keras.utils.generic_utils’ has no attribute ‘populate_dict_with_module_objects’

我是Python 3.7.4的版本,Keras版本是2.4.3。使用pip install keras时没有任何问题,但当导入使用import keras导入库时,会出现如下错误:

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import keras
  File "D:\python\lib\site-packages\keras\__init__.py", line 20, in <module>
    from . import initializers
  File "D:\python\lib\site-packages\keras\initializers\__init__.py", line 124, in <module>
    populate_deserializable_objects()
  File "D:\python\lib\site-packages\keras\initializers\__init__.py", line 82, in populate_deserializable_objects
    generic_utils.populate_dict_with_module_objects(
AttributeError: module 'keras.utils.generic_utils' has no attribute 'populate_dict_with_module_objects'

这是由于keras下的utils中generic_utils缺少部分方法导致的,我们可以访问github搜索这些函数来补全,我在最后会补上修改过后的文件,直接替换相应的文件即可。

首先进入目录python\Lib\site-packages\keras\utils,找到generic_utils文件,用记事本打开,将下面的代码复制到最后。

def populate_dict_with_module_objects(target_dict, modules, obj_filter):
  for module in modules:
    for name in dir(module):
      obj = getattr(module, name)
      if obj_filter(obj):
        target_dict[name] = obj

重新使用import keras,出现其他错误。

Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import keras
  File "D:\python\lib\site-packages\keras\__init__.py", line 20, in <module>
    from . import initializers
  File "D:\python\lib\site-packages\keras\initializers\__init__.py", line 124, in <module>
    populate_deserializable_objects()
  File "D:\python\lib\site-packages\keras\initializers\__init__.py", line 89, in populate_deserializable_objects
    LOCAL.ALL_OBJECTS[generic_utils.to_snake_case(key)] = value
AttributeError: module 'keras.utils.generic_utils' has no attribute 'to_snake_case'

仍然是刚才的文件,继续复制以下代码到最后。

def to_snake_case(s):
    return ''.join(['_' + ch.lower() if ch.isupper() else ch for ch in str(s)]).lstrip('_')

成功导入keras库,没有报错。

generic_utils.py文件链接:https://pan.baidu.com/s/1fzdcCjmYZuAoOw-Lwks80Q
提取码:zook

  • 27
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 17
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值