|
22 | 22 | | One Pixel Attack Paper link: https://arxiv.org/ans/1710.08864 |
23 | 23 | | Pixel and Threshold Attack Paper link: https://arxiv.org/abs/1906.06026 |
24 | 24 | """ |
25 | | -# pylint: disable=C0302 |
| 25 | +# pylint: disable=C0302,C0413 |
26 | 26 | from __future__ import absolute_import, division, print_function, unicode_literals |
27 | 27 |
|
28 | 28 | import logging |
|
39 | 39 | # Otherwise may use Tensorflow's implementation of DE. |
40 | 40 |
|
41 | 41 | from six import string_types |
| 42 | +import scipy |
42 | 43 | from scipy._lib._util import check_random_state |
43 | | -from scipy.optimize.optimize import _status_message |
44 | | -from scipy.optimize import OptimizeResult, minimize |
45 | | -from tqdm.auto import tqdm |
46 | | - |
47 | | -from art.config import ART_NUMPY_DTYPE |
48 | | -from art.attacks.attack import EvasionAttack |
49 | | -from art.estimators.estimator import BaseEstimator, NeuralNetworkMixin |
50 | | -from art.estimators.classification.classifier import ClassifierMixin |
51 | | -from art.utils import check_and_transform_label_format |
| 44 | + |
| 45 | +scipy_version = list(map(int, scipy.__version__.lower().split("."))) |
| 46 | +if scipy_version[1] >= 8: |
| 47 | + from scipy.optimize._optimize import _status_message # pylint: disable=E0611 |
| 48 | +else: |
| 49 | + from scipy.optimize.optimize import _status_message # pylint: disable=E0611 |
| 50 | +from scipy.optimize import OptimizeResult, minimize # noqa |
| 51 | +from tqdm.auto import tqdm # noqa |
| 52 | + |
| 53 | +from art.config import ART_NUMPY_DTYPE # noqa |
| 54 | +from art.attacks.attack import EvasionAttack # noqa |
| 55 | +from art.estimators.estimator import BaseEstimator, NeuralNetworkMixin # noqa |
| 56 | +from art.estimators.classification.classifier import ClassifierMixin # noqa |
| 57 | +from art.utils import check_and_transform_label_format # noqa |
52 | 58 |
|
53 | 59 | if TYPE_CHECKING: |
54 | 60 | from art.utils import CLASSIFIER_NEURALNETWORK_TYPE |
|
0 commit comments