@@ -1,3 +1,3 @@ | |||||
mindspore: | mindspore: | ||||
'mindspore/mindspore/version/202209/20220917/r1.9_20220917123349_90b3153080efc701223898e8498b719aa0b0e317/' | |||||
'mindspore/mindspore/version/202209/20220923/r1.9_20220923224458_c16390f59ab8dace3bb7e5a6ab4ae4d3bfe74bea/' | |||||
@@ -79,6 +79,17 @@ The architecture is shown as follow: | |||||
### Installation | ### Installation | ||||
### Version dependency | |||||
Due the dependency between MindArmour and MindSpore, please follow the table below and install the corresponding MindSpore verision from [MindSpore download page](https://www.mindspore.cn/versions/en). | |||||
| MindArmour Version | Branch | MindSpore Version | | |||||
| ------------------ | --------------------------------------------------------- | ----------------- | | |||||
| 2.0.0 | [r2.0](https://gitee.com/mindspore/mindarmour/tree/r2.0/) | 1.7.0 - | | |||||
| 1.9.0 | [r1.9](https://gitee.com/mindspore/mindarmour/tree/r1.9/) | 1.7.0 - | | |||||
| 1.8.0 | [r1.8](https://gitee.com/mindspore/mindarmour/tree/r1.8/) | 1.7.0 - | | |||||
| 1.7.0 | [r1.7](https://gitee.com/mindspore/mindarmour/tree/r1.7/) | r1.7 | | |||||
#### Installation by Source Code | #### Installation by Source Code | ||||
1. Download source code from Gitee. | 1. Download source code from Gitee. | ||||
@@ -76,6 +76,17 @@ Fuzz Testing模块的架构图如下: | |||||
### 安装 | ### 安装 | ||||
#### MindSpore版本依赖关系 | |||||
由于MindArmour与MindSpore有依赖关系,请按照下表所示的对应关系,在[MindSpore下载页面](https://www.mindspore.cn/versions)下载并安装对应的whl包。 | |||||
| MindArmour | 分支 | MindSpore | | |||||
| ---------- | --------------------------------------------------------- | --------- | | |||||
| 2.0.0 | [r2.0](https://gitee.com/mindspore/mindarmour/tree/r2.0/) | 1.7.0 - | | |||||
| 1.9.0 | [r1.9](https://gitee.com/mindspore/mindarmour/tree/r1.9/) | 1.7.0 - | | |||||
| 1.8.0 | [r1.8](https://gitee.com/mindspore/mindarmour/tree/r1.8/) | 1.7.0 - | | |||||
| 1.7.0 | [r1.7](https://gitee.com/mindspore/mindarmour/tree/r1.7/) | r1.7 | | |||||
#### 源码安装 | #### 源码安装 | ||||
1. 从Gitee下载源码。 | 1. 从Gitee下载源码。 | ||||
@@ -1,5 +1,19 @@ | |||||
# MindArmour Release Notes | # MindArmour Release Notes | ||||
## MindArmour 2.0.0 Release Notes | |||||
### API Change | |||||
* Add version check with MindSpore. | |||||
### Contributors | |||||
Thanks goes to these wonderful people: | |||||
Liu Zhidan, Zhang Shukun, Liu Liu, Tang Cong. | |||||
Contributions of any kind are welcome! | |||||
## MindArmour 1.9.0 Release Notes | ## MindArmour 1.9.0 Release Notes | ||||
### API Change | ### API Change | ||||
@@ -2,6 +2,20 @@ | |||||
[View English](./RELEASE.md) | [View English](./RELEASE.md) | ||||
## MindArmour 2.0.0 Release Notes | |||||
### API Change | |||||
* 增加与MindSpore的版本校验关系。 | |||||
### 贡献 | |||||
感谢以下人员做出的贡献: | |||||
Liu Zhidan, Zhang Shukun, Liu Liu, Tang Cong. | |||||
欢迎以任何形式对项目提供贡献! | |||||
## MindArmour 1.9.0 Release Notes | ## MindArmour 1.9.0 Release Notes | ||||
### API Change | ### API Change | ||||
@@ -27,6 +27,7 @@ from .privacy.sup_privacy.train.model import SuppressModel | |||||
from .privacy.sup_privacy.mask_monitor.masker import SuppressMasker | from .privacy.sup_privacy.mask_monitor.masker import SuppressMasker | ||||
from .privacy.evaluation.inversion_attack import ImageInversionAttack | from .privacy.evaluation.inversion_attack import ImageInversionAttack | ||||
from .reliability.concept_drift.concept_drift_check_time_series import ConceptDriftCheckTimeSeries | from .reliability.concept_drift.concept_drift_check_time_series import ConceptDriftCheckTimeSeries | ||||
from .utils import logger | |||||
__all__ = ['Attack', | __all__ = ['Attack', | ||||
'BlackModel', | 'BlackModel', | ||||
@@ -40,3 +41,53 @@ __all__ = ['Attack', | |||||
'SuppressMasker', | 'SuppressMasker', | ||||
'ImageInversionAttack', | 'ImageInversionAttack', | ||||
'ConceptDriftCheckTimeSeries'] | 'ConceptDriftCheckTimeSeries'] | ||||
def _mindspore_version_check(): | |||||
""" | |||||
Do the MindSpore version check for MindArmour. If the | |||||
MindSpore can not be imported, it will raise ImportError. If its | |||||
version is not compatibale with current MindArmour verision, | |||||
it will print a warning. | |||||
Raise: | |||||
ImportError: If the MindSpore can not be imported. | |||||
""" | |||||
try: | |||||
from mindarmour.version import __version__ | |||||
ma_version = __version__[:3] | |||||
except ModuleNotFoundError: | |||||
logger.warning(f"Get MindArmour version failed") | |||||
return | |||||
try: | |||||
import mindspore as ms | |||||
except (ImportError, ModuleNotFoundError): | |||||
print("Can not find MindSpore in current environment. Please install " | |||||
"MindSpore before using MindSpore Reinforcement, by following " | |||||
"the instruction at https://www.mindspore.cn/install") | |||||
raise | |||||
ms_ma_version_match = {'1.7': ['1.7'], | |||||
'1.8': ['1.7', '1.8', '1.9', '2.0'], | |||||
'1.9': ['1.7', '1.8', '1.9', '2.0'], | |||||
'2.0': ['1.7', '1.8', '1.9', '2.0']} | |||||
ms_version = ms.__version__[:3] | |||||
required_mindspore_verision = ms_ma_version_match.get(ma_version[:3]) | |||||
if ms_version not in required_mindspore_verision: | |||||
logger.warning("Current version of MindSpore is not compatible with MindArmour. " | |||||
"Some functions might not work or even raise error. Please install MindSpore " | |||||
"version in {}. For more details about dependency setting, please check " | |||||
"the instructions at MindSpore official website https://www.mindspore.cn/install " | |||||
"or check the README.md at https://gitee.com/mindspore/mindarmour".format( | |||||
required_mindspore_verision)) | |||||
warning_countdown = 3 | |||||
for i in range(warning_countdown, 0, -1): | |||||
logger.warning( | |||||
f"Please pay attention to the above warning, countdown: {i}") | |||||
time.sleep(1) | |||||
_mindspore_version_check() |
@@ -0,0 +1,15 @@ | |||||
# Copyright 2020 Huawei Technologies Co., Ltd | |||||
# | |||||
# Licensed under the Apache License, Version 2.0 (the "License"); | |||||
# you may not use this file except in compliance with the License. | |||||
# You may obtain a copy of the License at | |||||
# | |||||
# http://www.apache.org/licenses/LICENSE-2.0 | |||||
# | |||||
# Unless required by applicable law or agreed to in writing, software | |||||
# distributed under the License is distributed on an "AS IS" BASIS, | |||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
# See the License for the specific language governing permissions and | |||||
# limitations under the License. | |||||
"""Version of MindArmour""" | |||||
__version__ = '2.0.0' |