Comments (6)
Hi, is there any concern that you don't want to directly adjust batch_size
in dataset?
from trojanzoo.
There is a misunderstanding.
I set the batch_size through the parameters to the program, however, calc_grad function takes the whole x as an integration meaning that the batch_size I set is useless in calc_grad.
from trojanzoo.
Sorry I don’t catch your idea. x is fetched from dataloader with (N, C, H, W) where N is the batch size.
You need to set batch size to make N smaller. We don’t need to further split x.
calc_grad
only process one batch of data, and it doesn't use batch_size in this method for sure.
Btw, what’s the scenario? are you testing PGD or BadNet attack that uses PGD optimizer?
from trojanzoo.
Will close this issue if there is no further response.
from trojanzoo.
The following is the running shell that induces the OOM problem
python examples/backdoor_attack.py --verbose 1 --dataset cifar10 --model resnet101_comp --attack clean_label --train_mode dataset --poison_percent 0.25 --batch_size 32 --pretrain --epoch 100 --save
Below is the line-116 of trojanvision/attacks/backdoor/clean_label.py
poison_imgs, _ = self.pgd.optimize(_input_poison_imgs)
This line gives the _input directly the poison_imgs (using the above shell, with shape of [1250,3,32,32]).
However, neither the optimize function in trojanvision/shortcut/pgd.py nor the optimize function in trojanvision/optim/pgd.py has no action to split the _input , making OOM error for resnet101 such big network on machines with limited GPU memory
from trojanzoo.
Ok, I get your idea. Clean Label attack use pgd attack for poison generation with one single batch. But if the poison ratio is too large which leads to the large batch size, it will be out of memory when using a large resnet101 model.
I’ll fix it by using a tensor dataset.
But just to note that, resnet101 is an overkill for Cifar10. So it is for the 0.25 poison ratio.
from trojanzoo.
Related Issues (20)
- Code for ImageNet has bugs HOT 3
- BackdoorAttack class has no argument for source_class HOT 1
- Low effective loading in get_class_subset function HOT 1
- Install newest version fail HOT 1
- Using a custom model HOT 4
- RuntimeError: Dataset not found or corrupted. You can use download=True to download it HOT 10
- Clean label attack accuracy is wrong HOT 5
- In new push model path is not working HOT 1
- badnet folder information HOT 1
- [Error] When I test Neural Cleanse i got a error HOT 2
- Is it possible to apply methods to graph? HOT 6
- Input aware dynamic backdoor error HOT 5
- trojanvision.datasets.ImageFolder HOT 1
- Possible bug: target_class not changed when computing ASR for reversed triggers HOT 2
- problem about saving the intermediate results and config problem HOT 6
- strange mark saved HOT 2
- Hyperparameters for training Resnet18 on CIFAR10? HOT 1
- STRIP implementation doesn't match original codebase HOT 1
- Attack saving and loading is not working HOT 2
- Comp version of networks HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from trojanzoo.