AISafety对抗攻击的 Python 算法库
AISafety(启智重明)是一个用于对抗攻击全流程评测算法学习研究的 Python库,其主要研究内容为集成对抗攻击和噪声攻击相关的攻击算法、评测算法、加固防御算法,可灵活测试数据集质量、算法训练、评估和部署等算法全生命周期各项指标。
特性
- 集成大量攻击、评测、防御加固算法
- 提供多种可解释性分析工具
- 提供完备的扩展和使用接口
下载及使用
STEP 1. 获取项目
Python环境要求
Python 3.6.5及以上
克隆本项目并安装依赖:
git clone http://git.openi.org.cn/OpenI/AISafety.git
cd AISafety/
pip install requirements.txt
STEP 2. 数据准备
重明开源项目的Datasets/
中提供了Cifar10和ILSVR2012-ImageNet数据集。用户可使用上述数据集,或按照完整API文档,进行数据集扩展。
用户需要使用所选数据集的训练集,执行模型训练过程。由于空间所限,本项目中统一不提供数据集对应的训练集,仅给出测试集以供测试。
STEP 3. 快速开始
使用cd test
进入test目录。重明开源项目提供了几个示例的算法文件。如测试在FGSM攻击算法下,Resnet20模型的鲁棒性结果:
# 使用接口文件默认参数
python testimport.py
# 自定义参数调用
python testimport.py --attack_method "FGSM" --evaluation_method "ALDp" --model_dir ""
上述命令均将测试ResNet20模型,在FGSM算法攻击下,ALDp指标的评测结果变化。并将结果存在AISafety/test/temp
。
有关更多示例和用法(例如,如何扩展模型或算法,如何传入参数),请浏览完备API接口文档。
评论