kjunelee / MetaOptNet

Meta-Learning with Differentiable Convex Optimization (CVPR 2019 Oral)
Apache License 2.0
529 stars 97 forks source link

Question about meta-validation and meta-testing #49

Closed LoveMiki closed 4 years ago

LoveMiki commented 4 years ago

Thanks for sharing the codes. When i am reading your codes, i find that you use 'CIFAR_FS_train.pickle' as the base categories in validation stage and testing stage. According to my understanding, the support set and query set in validation stage should be constructed only from the 'CIFAR_FS_val.pickle'. Why did you use 'CIFAR_FS_train.pickle' as the base categories(support set) and 'CIFAR_FS_val.pickle' as the novel categories(query set) in the validation stage?

kjunelee commented 4 years ago

I think you're referring to file_train_categories_val_phase and file_train_categories_test_phase. Actually, they are not used during meta-validation and meta-testing stages.

LoveMiki commented 4 years ago

I think you're referring to file_train_categories_val_phase and file_train_categories_test_phase. Actually, they are not used during meta-validation and meta-testing stages.

Thanks for your reply! When i was reading the codes of MetaOptNetHead_SVM_CS, I feel confused by how you constructed the parameter matrices (i.e., G,e,C,h,A,b). Could you give some guide instructions of how to construct these matrices?

kjunelee commented 4 years ago

In essence, we follow Crammer and Singer's multi-class SVM implementation in the following paper: On the Algorithmic Implementation of Multiclass Kernel-based Vector Machines (Crammer and Singer, Journal of Machine Learning Research 2001). The original paper of Crammer&Singer does not provide efficient & vectorized formulation. Thus, it required a non-trivial amount of research to develop an efficient matrix implementation. For example, the following paper provides one nice way to implement Crammer & Singer: A Comparison of Methods for Multi-class Support Vector Machines.

LoveMiki commented 4 years ago

In essence, we follow Crammer and Singer's multi-class SVM implementation in the following paper: On the Algorithmic Implementation of Multiclass Kernel-based Vector Machines (Crammer and Singer, Journal of Machine Learning Research 2001). The original paper of Crammer&Singer does not provide efficient & vectorized formulation. Thus, it required a non-trivial amount of research to develop an efficient matrix implementation. For example, the following paper provides one nice way to implement Crammer & Singer: A Comparison of Methods for Multi-class Support Vector Machines.

Thank you so much for your immediate reply! These information is very helpful.