稳健性工具

robustness的Python项目详细描述


通过pippip install robustness安装

阅读文档:https://robustness.readthedocs.io/en/latest/index.html

robustness是我们(学生在MadryLab)创建的包 培养、评估和探索神经网络灵活易用。 我们几乎在所有的项目中都使用它(无论它们是否涉及 是否对抗性训练!)它将成为我们许多人的依赖 即将发布的代码。使用库的一些项目包括:

我们 演示如何在一组演练和我们的API中使用库 参考资料。库提供的功能包括:

python -m robustness.main --dataset cifar --data /path/to/cifar \
   --adv-train 0 --arch resnet18 --out-dir /logs/checkpoints/dir/
  • 使用robust(或standard)执行input manipulation 模型这包括做对抗性的例子,反转陈述, 功能可视化等。库提供多种优化 选项(例如,在实际/估计梯度、傅里叶/像素基础之间进行选择, 自定义损耗函数等),且易于扩展。
importtorchaschfromrobustness.datasetsimportCIFARfromrobustness.model_utilsimportmake_and_restore_modelds=CIFAR('/path/to/cifar')model,_=make_and_restore_model(arch='resnet50',dataset=ds,resume_path='/path/to/model',state_dict_path='model')model.eval()attack_kwargs={'constraint':'inf',# L-inf PGD'eps':0.05,# Epsilon constraint (L-inf norm)'step_size':0.01,# Learning rate for PGD'iterations':100,# Number of PGD steps'targeted':True# Targeted attack'custom_loss':None# Use default cross-entropy loss}_,test_loader=ds.make_loaders(workers=0,batch_size=10)im,label=next(iter(test_loader))target_label=(label+ch.randint_like(label,high=9))%10adv_out,adv_im=model(im,target_label,make_adv,**attack_kwargs)
  • robustness作为包导入,这允许轻松地训练 支持自定义丢失函数、日志记录、数据加载的神经网络, 还有更多!在我们的两部分演练中可以找到很好的介绍 (Part 1Part 2)。
fromrobustnessimportmodel_utils,datasets,train,defaultsfromrobustness.datasetsimportCIFAR# We use cox (http://github.com/MadryLab/cox) to log, store and analyze# results. Read more at https//cox.readthedocs.io.fromcox.utilsimportParametersimportcox.store# Hard-coded dataset, architecture, batch size, workersds=CIFAR('/path/to/cifar')m,_=model_utils.make_and_restore_model(arch='resnet50',dataset=ds)train_loader,val_loader=ds.make_loaders(batch_size=128,workers=8)# Create a cox store for loggingout_store=cox.store.Store(OUT_DIR)# Hard-coded base parameterstrain_kwargs={'out_dir':"train_out",'adv_train':1,'constraint':'2','eps':0.5,'attack_lr':1.5,'attack_steps':20}train_args=Parameters(train_kwargs)# Fill whatever parameters are missing from the defaultstrain_args=defaults.check_and_fill_args(train_args,defaults.TRAINING_ARGS,CIFAR)train_args=defaults.check_and_fill_args(train_args,defaults.PGD_ARGS,CIFAR)# Train a modeltrain.train_model(train_args,m,(train_loader,val_loader),store=out_store)

引文

如果你在你的研究中使用这个图书馆,请把它作为 如下:

@misc{robustness,title={Robustness (Python Library)},author={Logan Engstrom and Andrew Ilyas and Shibani Santurkar and Dimitris Tsipras},year={2019},url={https://github.com/MadryLab/robustness}}

(您使用过这个包并发现它很有用吗?告诉我们!)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
打开OrientDB数据库时发生java错误   java Hibernate合并函数偶尔会导致主键冲突   java如何在SourceTransferndexit将msg放入MQ   JavaEclipse不正确地导入项目   Java中的数据结构,带有删除节点后所有节点的操作   java创建zip存档时,什么构成重复条目   java如何计算所有值并比较每个对象?   java Threadflipbegin在Google Pixel 3上被阻止55秒   java Eclipse Hibernate:未找到适合jdbc的驱动程序:mysql://localhost:3306/hibernatedb   java Quartz计划程序未运行   java如何从junit扩展向@Test返回值?   java忽略搜索字段中的大小写   java如何从图库中选取图像,裁剪并保存在数据分区中   java CST/CDT时区更改问题   url从Java读取Twitter页面   java是否要在每个列表项中打开WebView单击?   比较输入值的Java布尔逻辑初学者   如何在服务器端使用java从客户端的HTTP POST请求接收和解析JSON对象   javascript在一个get请求中,如何启动程序,然后使用另一个get请求停止它?