0

我希望你们所有人都做得很好。我需要在 Windows 上为某些项目安装cleverhans,但是一旦安装它就无法访问其中的任何 python 文件,并且出现了很多错误,例如:

<ipython-input-12-4fbd91cef426> in <module>
     10 import numpy as np
     11 
---> 12 from cleverhans.attacks import FastGradientMethod
     13 from cleverhans.compat import flags
     14 from cleverhans.dataset import MNIST

~\src\cleverhans\cleverhans\attacks\__init__.py in <module>
     10 
     11 from cleverhans import utils
---> 12 from cleverhans.attacks.attack import Attack
     13 from cleverhans.attacks.basic_iterative_method import BasicIterativeMethod
     14 from cleverhans.attacks.carlini_wagner_l2 import CarliniWagnerL2

~\src\cleverhans\cleverhans\attacks\attack.py in <module>
     11 
     12 from cleverhans.compat import reduce_max
---> 13 from cleverhans.model import Model
     14 from cleverhans import utils
     15 

~\src\cleverhans\cleverhans\model.py in <module>
      7 import tensorflow as tf
      8 
----> 9 from cleverhans import utils_tf
     10 
     11 

~\src\cleverhans\cleverhans\utils_tf.py in <module>
    343 
    344 def kl_with_logits(p_logits, q_logits, scope=None,
--> 345                    loss_collection=tf.GraphKeys.REGULARIZATION_LOSSES):
    346   """Helper function to compute kl-divergence KL(p || q)
    347   """

AttributeError: module 'tensorflow' has no attribute 'GraphKeys'

我希望能从你那里得到很多答案。祝你今天过得愉快。

4

1 回答 1

0

看起来cleverhans 旨在使用旧版本的tensorflow。为了使其向下兼容替换

import tensorflow as tf

import tensorflow.compat.v1 as tf

在cleverhans 源代码中或查看是否有可用的cleverhans 更新版本或卸载tensorflow 并安装旧版本(v1)。

请参阅: Tensorflow 2.1.0 错误,模块“tensorflow”没有属性“GraphKeys”

来自cleverhans GitHub repo:

"当前支持的设置

虽然 CleverHans 可能在许多其他机器配置上工作,但我们目前在 Ubuntu 14.04.5 LTS (Trusty Tahr) 上使用 Python 3.5 和 TensorFlow {1.8, 1.12} 对其进行测试。”

于 2020-07-18T12:03:24.770 回答