【错误解决】KeyError: ‘FusedBatchNormV3‘

源码

import tensorflow as tf

print("*********************************start!*********************************")
meta_path = "E:/0922/detect.meta"
# meta_path = 'E:/demo4learn/data/model_conv/my-model-160.meta'
config = tf.ConfigProto()
config.gpu_options.allow_growth = True  # pylint: disable=no-member

sess = tf.Session(graph=tf.Graph(), config=config)

with sess.graph.as_default():
    # open the graph and restore the parameters
    saver = tf.train.import_meta_graph(meta_path)
    graph_def = tf.get_default_graph().as_graph_def(add_shapes=True)
    node_list = [n.name for n in graph_def.node]
    for node in node_list:
        print("node_name is: ", node)

print("finish!")

错误描述

  • 完整描述
Traceback (most recent call last):
  File "E:/learn/meta_node_print.py", line 15, in <module>
    saver = tf.train.import_meta_graph(meta_path)
  File "D:\software\miniconda3\envs\tf\lib\site-packages\tensorflow\python\training\saver.py", line 1838, in import_meta_graph
    **kwargs)
  File "D:\software\miniconda3\envs\tf\lib\site-packages\tensorflow\python\framework\meta_graph.py", line 660, in import_scoped_meta_graph
    producer_op_list=producer_op_list)
  File "D:\software\miniconda3\envs\tf\lib\site-packages\tensorflow\python\util\deprecation.py", line 316, in new_func
    return func(*args, **kwargs)
  File "D:\software\miniconda3\envs\tf\lib\site-packages\tensorflow\python\framework\importer.py", line 433, in import_graph_def
    _RemoveDefaultAttrs(op_dict, producer_op_list, graph_def)
  File "D:\software\miniconda3\envs\tf\lib\site-packages\tensorflow\python\framework\importer.py", line 211, in _RemoveDefaultAttrs
    op_def = op_dict[node.op]
KeyError: 'FusedBatchNormV3'

原因分析

  • 从错误提示信息中可以得知,访问字典的时候找不到 key,即找不到 FusedBatchNormV3这说明当前环境中的TensorFlow版本没有这个算子,需要更换版本。。。
  • 这种情况有时会由于版本不匹配而发生。
  • 结合我自己的代码使用情况,具体原因是我使用 Tensorflow 1.5.1 训练并导出了模型,并试图在 Tensorflow 1.3.1上加载模型。
  • tensorflow比较烦的一件事情就是这个版本匹配的问题。。特别是大版本之间的,TensorFlow1和2之间的差异更大。。如果版本一不对应,分分钟会出各种小问题。

解决方案

  • 使用匹配的TensorFlow版本即可,在这里我就是需要安装1.5.1版本的即可。
  • 1.13.1版本也可以
  • 快速安装tensorflow可以参考这篇博文:pip更换国内的安装源 / 镜像
  • 这里直接给出安装命令:pip install tensorflow==1.5.1 -i https://pypi.douban.com/simple/
    • -i 是指定依赖包的安装源(国内),起到加速的作用,谁试谁知道,贼快~
  • 下面是安装的过程及结果:
    • 可以看到速度是非常快的~
    • 包越大下载速度提的越快~
    • 最高网速和网络带宽也有关~
(tf1.5.1) E:\demo4learn>pip install tensorflow==1.5.1 -i https://pypi.douban.com/simple/
Looking in indexes: https://pypi.douban.com/simple/
Collecting tensorflow==1.5.1
  Using cached https://pypi.doubanio.com/packages/9c/7c/0c37da035ca2348d17f7747d7388d567ab1c53b626a9071b9767c9201272/tensorflow-1.5.1-cp36-cp36m-win_amd64.whl (31.1 MB)
Collecting numpy>=1.12.1
  Using cached https://pypi.doubanio.com/packages/ea/bc/da526221bc111857c7ef39c3af670bbcf5e69c247b0d22e51986f6d0c5c2/numpy-1.19.5-cp36-cp36m-win_amd64.whl (13.2 MB)
Collecting protobuf>=3.4.0
  Downloading https://pypi.doubanio.com/packages/56/7e/4dc12fe564932550107dccb201db0a5c36df66fb89be6bc495af3f23abcb/protobuf-3.19.5-cp36-cp36m-win_amd64.whl (897 kB)
     |████████████████████████████████| 897 kB 6.4 MB/s
Collecting tensorflow-tensorboard<1.6.0,>=1.5.0
  Downloading https://pypi.doubanio.com/packages/cc/fa/91c06952517b4f1bc075545b062a4112e30cebe558a6b962816cb33efa27/tensorflow_tensorboard-1.5.1-py3-none-any.whl (3.0 MB)
     |████████████████████████████████| 3.0 MB 930 kB/s
Collecting six>=1.10.0
  Using cached https://pypi.doubanio.com/packages/d9/5a/e7c31adbe875f2abbb91bd84cf2dc52d792b5a01506781dbcf25c91daf11/six-1.16.0-py2.py3-none-any.whl (11 kB)
Requirement already satisfied: wheel>=0.26 in d:\software\miniconda3\envs\tf1.5.1\lib\site-packages (from tensorflow==1.5.1) (0.29.0)
Collecting absl-py>=0.1.6
  Using cached https://pypi.doubanio.com/packages/a5/b8/fc74a554a6fc7f26744c883ebfe405cf49c1f1320f13ee874aee47c70e1d/absl_py-1.2.0-py3-none-any.whl (123 kB)
Collecting werkzeug>=0.11.10
  Downloading https://pypi.doubanio.com/packages/f4/f3/22afbdb20cc4654b10c98043414a14057cd27fdba9d4ae61cea596000ba2/Werkzeug-2.0.3-py3-none-any.whl (289 kB)
     |████████████████████████████████| 289 kB 6.4 MB/s
Collecting bleach==1.5.0
  Downloading https://pypi.doubanio.com/packages/33/70/86c5fec937ea4964184d4d6c4f0b9551564f821e1c3575907639036d9b90/bleach-1.5.0-py2.py3-none-any.whl (17 kB)
Collecting markdown>=2.6.8
  Downloading https://pypi.doubanio.com/packages/f3/df/ca72f352e15b6f8ce32b74af029f1189abffb906f7c137501ffe69c98a65/Markdown-3.3.7-py3-none-any.whl (97 kB)
     |████████████████████████████████| 97 kB 6.4 MB/s
Collecting html5lib==0.9999999
  Downloading https://pypi.doubanio.com/packages/ae/ae/bcb60402c60932b32dfaf19bb53870b29eda2cd17551ba5639219fb5ebf9/html5lib-0.9999999.tar.gz (889 kB)
     |████████████████████████████████| 889 kB 234 kB/s
  Preparing metadata (setup.py) ... done
Collecting importlib-metadata>=4.4
  Downloading https://pypi.doubanio.com/packages/a0/a1/b153a0a4caf7a7e3f15c2cd56c7702e2cf3d89b1b359d1f1c5e59d68f4ce/importlib_metadata-4.8.3-py3-none-any.whl (17 kB)
Collecting dataclasses
  Downloading https://pypi.doubanio.com/packages/fe/ca/75fac5856ab5cfa51bbbcefa250182e50441074fdc3f803f6e76451fab43/dataclasses-0.8-py3-none-any.whl (19 kB)
Collecting zipp>=0.5
  Downloading https://pypi.doubanio.com/packages/bd/df/d4a4974a3e3957fd1c1fa3082366d7fff6e428ddb55f074bf64876f8e8ad/zipp-3.6.0-py3-none-any.whl (5.3 kB)
Collecting typing-extensions>=3.6.4
  Downloading https://pypi.doubanio.com/packages/45/6b/44f7f8f1e110027cf88956b59f2fad776cca7e1704396d043f89effd3a0e/typing_extensions-4.1.1-py3-none-any.whl (26 kB)
Building wheels for collected packages: html5lib
  Building wheel for html5lib (setup.py) ... done
  Created wheel for html5lib: filename=html5lib-0.9999999-py3-none-any.whl size=111329 sha256=8eeac1a0f65e0e613279846cd71ba3a8e62ef2e1e35d59b23415bb1b3b7c6800
  Stored in directory: c:\users\super\appdata\local\pip\cache\wheels\52\96\da\19831c1c7a88361b3b5caf699f1fd6c9bbcb6db1de11592fb9
Successfully built html5lib
Installing collected packages: zipp, typing-extensions, six, importlib-metadata, html5lib, dataclasses, werkzeug, protobuf, numpy, markdown, bleach, tensorflow-tensorboard, absl-py, tensorflow
Successfully installed absl-py-1.2.0 bleach-1.5.0 dataclasses-0.8 html5lib-0.9999999 importlib-metadata-4.8.3 markdown-3.3.7 numpy-1.19.5 protobuf-3.19.5 six-1.16.0 tensorflow-1.5.1 tensorflow-tensorboard-1.5.1 typing-extensions-4.1.1 werkzeug-2.0.3 zipp-3.6.0

曲折过程

  • 其中更换过TensorFlow为1.11.0,出错 AttributeError: module ‘tensorflow’ has no attribute ‘ConfigProto’:
  • 这是另一个错误了,也是关于版本匹配的问题,使用TensorFlow就得有这些心里准备~
(tf1.13.1) E:\demo4learn>conda activate tf11.1 & pip list | grep tensorflow
tensorflow           1.11.0
tensorflow-estimator 1.15.1

(tf11.1) E:\demo4learn>python meta_import_test.py
Traceback (most recent call last):
  File "meta_import_test.py", line 7, in <module>
    config = tf.ConfigProto()
AttributeError: module 'tensorflow' has no attribute 'ConfigProto'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值