muzairkhattak / multimodal-prompt-learning

[CVPR 2023] Official repository of paper titled "MaPLe: Multi-modal Prompt Learning".
https://muzairkhattak.github.io/multimodal-prompt-learning/
MIT License
578 stars 43 forks source link

Inquiry on Fine-tuning MaPLe and Dataset Division #47

Closed SHIBOYA closed 4 months ago

SHIBOYA commented 5 months ago

I hope this message finds you well. I am reaching out to express my appreciation for your work on MaPLe, which I find incredibly insightful and valuable to the community. After going through the documentation and codebase available on GitHub, I have a few questions regarding the fine-tuning process and dataset division. I believe your answers will greatly aid in my understanding and application of MaPLe in my research.

Fine-tuning MaPLe: Could you provide guidance on how to properly fine-tune MaPLe on a new dataset? Are there specific parameters or techniques you recommend adjusting to achieve optimal performance?

Dataset Division: I am curious about how the dataset is divided into base and novel classes for training and evaluation. I am particularly interested in examining the code related to the above aspects (fine-tuning and dataset division). Could you point me to the specific folder or files within the GitHub repository where these implementations are located?

Thank you for your time and for contributing such a valuable resource to the field. Please feel free to include any additional information or resources that you think might be helpful.

Best regards!

muzairkhattak commented 5 months ago

Hi @SHIBOYA,

Thank you for showing interest in MaPLe!

Regarding you queries, please note the following:

Fine-tuning MaPLe: Could you provide guidance on how to properly fine-tune MaPLe on a new dataset? Are there specific parameters or techniques you recommend adjusting to achieve optimal performance?

Kindly look into the details mentioned in this issue for configuring MaPLe for a custom dataset.. For the hyper-parameters, I will suggest using the same settings which are employed by MaPLe by default.

Dataset Division: I am curious about how the dataset is divided into base and novel classes for training and evaluation. I am particularly interested in examining the code related to the above aspects (fine-tuning and dataset division). Could you point me to the specific folder or files within the GitHub repository where these implementations are located?

The dataset split procedure of base and novel classes is defined in the function subsample_classes() in this part of the oxford_pets.py. Specifically, the code gathers the list of all classes, and then divide classes into two groups. The first group represents base classes while the second group represents new classes.

I hope that helps! Let us know if you have any additional queries. Thank you.

SHIBOYA commented 5 months ago

Having gained a clearer understanding of how to fine-tune MaPLe in the context of base to novel settings with a 16-shot approach, I am now curious about extending the application of MaPLe to a slightly different scenario. Specifically, I am interested in applying fine-tuning across my entire dataset without limiting the process to the 16-shot setting traditionally used in base to novel transitions.

Could you provide guidance or suggestions on how I might approach fine-tuning MaPLe on my dataset in its entirety? I am looking for advice on any modifications to the fine-tuning procedure or parameter adjustments that might be recommended for this broader application. My goal is to leverage the full potential of MaPLe for entire dataset learning, and I believe your expert advice could significantly aid in achieving this.

Moreover, if there are specific examples or documentation within the GitHub repository that pertain to full dataset fine-tuning practices, I would greatly appreciate your pointing me in their direction.

Thank you once again for your support and for sharing your valuable work with the community. I look forward to your guidance on fine-tuning MaPLe across entire datasets and making the most out of its capabilities.

Best regards!

muzairkhattak commented 5 months ago

Dear @SHIBOYA,

If you want to train your model on the complete dataset without a few-shot setting. You can simply use -1 as the indicator when running the training scripts.

For example, you can set the variable SHOTS=-1 at this line. Hopefully this will train the model with all the training examples of the datasets.

Let me know if that helps! Thank you and kind regards.

SHIBOYA commented 4 months ago

Thank you for taking the time to answer my question and for providing such clear and comprehensive assistance. I wish you success in your work and happiness in your life!

Best wishes!

muzairkhattak commented 4 months ago

Thank you very much!