srebuffi / residual_adapters Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Thanks!
Hi,
I have ran the code and found some surprising results. For training from scratch, fine-tuning and parallel adapter training, the validation accuracy for the aircraft data set I get is 38%, 50%, 44%, however the published test accuracy are 57.10%, 60.34%, 64.21%. The results are lower than the published results.
For the UCF101 data set, the training from scratch, fine-tuning and parallel adapter training validation accuracy I get is 72%, 81%, 75%, however the published test accuracy are 43.27%, 51.20%, 50.94%. The results are higher than the published results.
Finally, the validation results I got for the cifar100 data set match the published results.
I simply ran the code in this github and did not make any changes. Although I am comparing the validation accuracy with the test accuracy, however the difference are quite large. Is there something wrong with the published results? Thanks.
Hi,
I download the pretrained ResNet-26 and use the code of finetuning to test the validation accuracy on ImageNet, however it gives roughly 0% accuracy.
According to "Efficient parametrization of multi-domain deep neural networks" the Batch Normalization (BN) layers are not needed for the parallel configuration but the model it appears that you still use task specific BN layers for the parallel configuration:
elif config_task.mode == 'parallel_adapters' and is_proj: self.parallel_conv = nn.ModuleList([conv1x1(in_planes, planes, stride) for i in range(nb_tasks)]) self.bns = nn.ModuleList([nn.BatchNorm2d(planes) for i in range(nb_tasks)])
Additionally in the series configurations, the BN layer is stated to come before the convolution yet that is not the case in the provided code:
if config_task.mode == 'series_adapters' and is_proj: self.bns = nn.ModuleList([nn.Sequential(conv1x1(planes), nn.BatchNorm2d(planes)) for i in range(nb_tasks)])
Hi Sylvestre Rebuffi,
It's inspiring to read your work Efficient parametrization of multi-domain deep neural networks , but I have a problem understanding section 3.4. Cross-domain adapter compression.
As I understand, you used decomposition to compress the number of parameters, and thus shared information among different datasets. But I am confused about how you realize the perspective of sharing parameters to allow target tasks to communicate. Is this part (SVD) also included in your code? Or is there any important information I've missed? It would be very kind of you to reply.
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.