3. 算法内核简介¶
3.1. 算法内核结构¶
├── EvalBox
│ ├──Analysis
│ ├──Attack
│ ├──Defense
│ ├──Evaluation
├── Models
│ ├──TestModel
│ ├──UserModel
│ ├──weights
│ ├──basic_module.py
├── utils
├── test
│ ├── testimport.py
│ ├── testimport_black.py
├── Datasets
3.2. 项目具体说明¶
EvalBox¶
EvalBox 是整个评估过程中使用到的攻击,评测,防御,分析的工具箱
- Anaysis:对评估过程运用组合和集成的分析函数,来完成一个分析的过程
- Attack:生成攻击样本的攻击算法库
- defense:防御算法库
- Evaluation:评测攻击指标的评测算法库
- UserEvaluation:由用户扩展的评测攻击指标的评测算法库
Models¶
Models 是平台提供的部分模型库,用户也可以自行添加
- TestModel:平台提供的部分模型库
- UserModel:用于用户添加符合扩展要求的模型库
- weights:存放相应的模型权重的位置
- basic_module.py:包含一些和模型组成相关基础函数
utils¶
utils是工具库,包含常用的io,图像的处理,模型等相关的工具函数
test¶
test是平台提供的集成了完整攻击-预测-评测的流程的集成脚本工具,包含黑白盒调用方式
- testimport.py 完整攻击(攻击样本可以支持黑盒的,也可从其他平台获取攻击样本,在攻击样本处设置为黑盒)、预测、评测的白盒调用
- testimport.py 可分离为,仅仅生成攻击样本作为用于其他平台的黑盒数据输入,也可以完整使用生成的攻击样本,用在他处黑盒获得他处符合格式的黑盒预测结果,进行下一步的评测指标计算,输出指标值和可视化结果
Datasets¶
Datasets是存放常用数据集或用户自定义符合扩展要求的数据集的位置