What's Changed
We decouple the vision component from Adversary, so that users who work on audio adversary or text adversary do not need to install vision components any more.
By moving many dependency to optional groups, we make it flexible for developers to integrate MART into existing projects.
We add support to ImageNet-normalized input and [0,1] image input by adding batch canonicalization transforms and reverse transforms in configs.
The detailed changes are listed below.
Adversary
- Prepare target models before running attacks by @mzweilin in #249
- Add batch_c15n for image of [0,1] or imagenet-normalized by @mzweilin in #248
- Add utils for config instantiation. by @mzweilin in #250
- Add mart.nn.Get() to extract a value from the kwargs dict. by @mzweilin in #251
Dependency
- Upgrade flake8 to 7.0.0 in pre-commit by @mzweilin in #245
- Upgrade pydantic to avoid CVE-2024-3772 by @mzweilin in #253
- Make dependencies flexible with optional groups by @mzweilin in #254
- Make mart importable with the core dependency group alone by @mzweilin in #255
- Update dependency by @mzweilin in #252
Development and CI
- Specify read-all permissions in workflows. by @mzweilin in #246
- Hash-pin dependency in GitHub Actions by @mzweilin in #247
- Skip object detection tests if pycocotools is not installed. by @mzweilin in #257
Full Changelog: v0.6.0...v0.6.1