pip install foolboxFoolbox는 Python 3.8과 최신 테스트를 거쳐 버전 3.6-3.8에서도 작동 할 것입니다. Pytorch, Tensorflow 또는 JAX와 함께 사용하려면 해당 프레임 워크를 별도로 설치해야합니다. 이 프레임 워크는 모든 사람이 모든 것을 사용하기를 원하지 않기 때문에 종속성으로 선언되지 않으며,이 패키지 중 일부는 다른 아키텍처 및 CUDA 버전에 대해 다른 빌드를 갖기 때문에 의존성으로 선언되지 않습니다. 그 외에도 모든 필수 종속성이 자동으로 설치됩니다.
아래의 호환 섹션에서 현재 테스트에 사용하고있는 버전을 볼 수 있지만 일반적으로 최신 버전이 작동 할 것으로 예상됩니다.
import foolbox as fb
model = ...
fmodel = fb . PyTorchModel ( model , bounds = ( 0 , 1 ))
attack = fb . attacks . LinfPGD ()
epsilons = [ 0.0 , 0.001 , 0.01 , 0.03 , 0.1 , 0.3 , 0.5 , 1.0 ]
_ , advs , success = attack ( fmodel , images , labels , epsilons = epsilons )더 많은 예제는 예제 폴더 (예 : 전체 RESNET-18 예)에서 찾을 수 있습니다.
작업에 Foolbox를 사용하는 경우 다음 Bibtex 항목을 사용하여 Foolbox Native (예 : Foolbox 3.0) 및 Foolbox의 ICML 워크숍 용지에 대한 Joss 논문을 인용하십시오.
@article {rauber2017foolboxnative,
doi = {10.21105/joss.02607},
url = {https://doi.org/10.21105/joss.02607},
연도 = {2020},
게시자 = {The Open Journal},
볼륨 = {5},
번호 = {53},
페이지 = {2607},
저자 = {Jonas Rauber와 Roland Zimmermann과 Matthias Bethge와 Wieland Brendel},
Title = {Foolbox Native : Pytorch, Tensorflow 및 JAX}의 기계 학습 모델의 견고성을 벤치마킹하기위한 빠른 적대적 공격,},
저널 = {오픈 소스 소프트웨어의 저널}
}
@InProCeedings {rauber2017Foolbox,
Title = {Foolbox : 기계 학습 모델의 견고성을 벤치마킹하기위한 Python 도구 상자},
저자 = {Rauber, Jonas and Brendel, Wieland and Bethge, Matthias},
Booktitle = {Wild Workshop에서의 신뢰할 수있는 기계 학습, 34 차 국제 기계 학습},
연도 = {2017},
url = {http://arxiv.org/abs/1707.04131},
}
우리는 모든 종류의 기여를 환영합니다. 개발 지침을 살펴보십시오. 특히, 당신은 새로운 적대적 공격을 기여하도록 초대받습니다. 도움을주고 싶다면 기부금으로 표시된 문제를 환영합니다.
질문이 있거나 도움이 필요하면 Github에서 문제를 자유롭게 열십시오. Github 토론을 공개적으로 이용할 수있게되면 이로 전환 할 것입니다.
Foolbox 3.0은 Foolbox 1 및 2보다 훨씬 빠릅니다. 기본 성능 비교는 성능 폴더에서 찾을 수 있습니다.
현재 다음 버전으로 테스트합니다.