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,包含測試和提交結果使用的工具。