解决AttributeError: module ‘tensorflow_gan.python.eval‘ has no attribute ‘classifier_fn_from_tfhub‘(代码

Posted 沉迷单车的追风少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决AttributeError: module ‘tensorflow_gan.python.eval‘ has no attribute ‘classifier_fn_from_tfhub‘(代码相关的知识,希望对你有一定的参考价值。

项目场景:

tensorflow gan,计算FID


问题描述:

Traceback (most recent call last):
  File "fid.py", line 120, in <module>
    activations = inception_activations()
  File "fid.py", line 110, in inception_activations
    fn=tfgan.eval.classifier_fn_from_tfhub(INCEPTION_TFHUB, INCEPTION_FINAL_POOL, True),
AttributeError: module 'tensorflow_gan.python.eval' has no attribute 'classifier_fn_from_tfhub'

原因分析:

tensorflow-gan发布的1.0版本和2.0版本不兼容。


解决方案:

没有安装的可以去官网安装:tensorflow-gan · PyPI

2.0.0需要tensorflow>=2.7版本支持, 但是 tfgan.eval.classifier_fn_from_tfhub 是2.0.0以上版本的API

因此改成1.0.0对应版本的API即可。

例如:

fn=tfgan.eval.classifier_fn_from_tfhub(INCEPTION_TFHUB, INCEPTION_FINAL_POOL, True)

改成:

fn=functools.partial(tfgan.eval.run_inception, output_tensor='pool_3:0')

完美解决。

以上是关于解决AttributeError: module ‘tensorflow_gan.python.eval‘ has no attribute ‘classifier_fn_from_tfhub‘(代码的主要内容,如果未能解决你的问题,请参考以下文章

成功解决AttributeError: module ‘tensorflow‘ has no attribute ‘reset_default_graph‘daiding

Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法

解决AttributeError: module ‘serial‘ has no attribute ‘Serial‘

解决:AttributeError: module 'requests' has no attribute 'get'”

异常解决-- AttributeError: cannot assign module before Module.__init__() call