9.6.2 环境搭建方法
9.6.2环境搭建方法
下面以NIPS2017介绍如何搭建NIPS对抗攻击防御环境。NIPS2017对抗攻击防御赛使用的数据集都是兼容ImageNet2012的图片,并且被分为两部分:
DEV数据集,在比赛开始时提供给参赛者,用来开发参赛算法,这部分包括1000张图片。
FINAL数据集,此数据集并不会提供给参赛者,在最后用来评估参赛者所提交的算法。这部分包含了5000张图片。
NIPS2017对抗攻击防御环境依赖Docker,因此需要预先安装Docker环境。如果希望使用GPU,还需要安装GPU版本的Docker。
以没有GPU的Ubuntu为例,可以直接通过pip工具安装DockerCEforUbuntu。
sudoapt-getinstalldocker-ce
如果需要使用GPU,应在安装了DockerCEforUbuntu的基础上再安装nvidia-docker(见图9-14)。
以Ubuntu和CUDA9.0为例,执行以下命令即可安装。
#添加nvidia-docker2下载链接
curl-s-Lhttps://nvidia.github.io/nvidia-docker/gpgkey|
sudoapt-keyadd-
distribution=$(./etc/os-release;echo$ID$VERSION_ID)
curl-s-L
https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list|
sudotee/etc/apt/sources.list.d/nvidia-docker.list
sudoapt-getupdate
#安装nvidia-docker2并重启其服务
sudoapt-getinstall-ynvidia-docker2
sudopkill-SIGHUPdockerd
图9-14nvidia-docker架构
直接从GitHub上同步代码。
gitclonehttps://github.com/tensorflow/cleverhans
cdcleverhans/examples/nips17_adversarial_competition/
执行初始化环境脚本,下载对应的数据集和初始化环境。
./download_data.sh
测试代码目录下主要的三个目录分别为:
dataset,包含DEV和FINAL数据集,默认初始化是只下载了DEV数据集。
dev_toolkit,包含开发阶段需要使用的工具。
eval_infra,包含测试和提交结果使用的工具。