sam1224 / sccan Goto Github PK
View Code? Open in Web Editor NEWSelf-Calibrated Cross Attention Network for Few-Shot Segmentation (ICCV'23)
Self-Calibrated Cross Attention Network for Few-Shot Segmentation (ICCV'23)
Hello, and thank you for your kind words. While carefully reviewing the code, I noticed that the handling of support patches doesn't seem to align with what the paper describes as self-attention. Instead, it appears to resemble self-calibrated cross-attention, similar to how query patches are treated.Did I misunderstand?
At the same time, I would like to ask if you can provide the training time required for each stage of the project, depending on your training environment, thank you!
I wonder why most of the module's implementations don't work with BN?
The same is true for other few-shot segmentation paper implementations.
I followed the provided instructions to download the model checkpoints and prepared the data folder as organized. I tried to use the provided base models to reproduce the results in the paper. However, The evaluation script failed shortly after a few iterations.
Here is the command line I used to invoke the evaluation process
(sccan) ➜ SCCAN git:(master) ✗ python test_sccan.py --config=config/pascal/pascal_split2_resnet101.yaml
Here is the generated output.
[2023-11-11 12:04:07,635 INFO test_sccan.py line 254 22439] Test: [200/1000] Data 0.003 (0.005) Batch 0.111 (0.117) Remain 00:01:33 Loss 0.7433 (0.9561) Accuracy 0.9135.
[2023-11-11 12:04:08,765 INFO test_sccan.py line 254 22439] Test: [210/1000] Data 0.003 (0.005) Batch 0.112 (0.117) Remain 00:01:32 Loss 0.2042 (0.9433) Accuracy 0.9357.
Traceback (most recent call last):
File "test_sccan.py", line 294, in <module>
main()
File "test_sccan.py", line 150, in main
fb_iou, miou, piou = validate(val_loader, model, val_seed, args.split)
File "test_sccan.py", line 209, in validate
for i, (input, target, s_input, s_mask, subcls, ori_label) in enumerate(val_loader):
File "/home/roger/anaconda3/envs/sccan/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 435, in __next__
data = self._next_data()
File "/home/roger/anaconda3/envs/sccan/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1085, in _next_data
return self._process_data(data)
File "/home/roger/anaconda3/envs/sccan/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1111, in _process_data
data.reraise()
File "/home/roger/anaconda3/envs/sccan/lib/python3.8/site-packages/torch/_utils.py", line 428, in reraise
raise self.exc_type(msg)
AssertionError: Caught AssertionError in DataLoader worker process 7.
Original Traceback (most recent call last):
File "/home/roger/anaconda3/envs/sccan/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 198, in _worker_loop
data = fetcher.fetch(index)
File "/home/roger/anaconda3/envs/sccan/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/roger/anaconda3/envs/sccan/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp>
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/roger/reproduction/SCCAN/util/dataset.py", line 229, in __getitem__
assert len(label_class) > 0
AssertionError
I looked into this file. It seemed to have something to do with the segmentation masks, which I am not sure how to resolve.
Did you do any pre-processing for masks in the SegmentationClassAug folder? Would you mind sharing your processed Pascal dataset?
Hello, I encountered some issues during the process of reproducing the experiment. The pre trained parameters need to be obtained through application. I hope to address this issue once I see it. Thank you for your contribution!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.