learnables/learn2learn

maml.training=True but maml.module.training=False

jkang1640 opened this issue · 1 comments

I've noticed that when using a maml wrapper, without explicitly doing maml.train(), maml.training returns True but maml.module.training returns False. Is this an expected behavior..?

I am not sure if dropout is activated or not during the training. To make sure, I just specfy maml.train() (this updates maml.module.training) but I don't see explcit maml.train() in most of the example codes and I don't know if this is necessary to do so.

Can anybody clariy this point please?

Hello @jkang1640,

There's no clear consensus on how dropout should be used with MAML. The standard architecture (CNN4) doesn't use it, but I think you're safe if being explicit about whether you want the model in train or eval mode.

Note that this issue was also raised in the context of batch norm. Chelsea Finn stated the original paper keeps batch norm in train mode. (See: cbfinn/maml#9)