You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 31, 2023. It is now read-only.
Hi, first of all thanks for providing this library.
This might be clear to everyone else, but it's not clear to me. Suppose I have 2 groups of params distributed throughout a single model, i.e. my model has some fast weights, and some slow (meta) weights, but they cannot be easily separated into 2 distinct models, i.e. they are interleaved. My use case is this:
pass full model, fast_weight_optimizer to Higher
Update fast weights with Higher (e.g. diffoft.step(loss)), keep slow weights fixed
compute meta-loss, update slow (meta) weights w.r.t updated fast weights
retain the updated fast weights, i.e. the full model has been updated after a single step.
It doesnt seem like this should be too much different from the use case in the Meta-Learning via Learned Loss code, but it's not working for me yet. The issue seems to be that the fast weight update is not being retained after I exit the Higher block, i.e. when i check the fast weights, they don't seem to have been updated. Do I need to do this manually? What am I missing? Many thanks.
The text was updated successfully, but these errors were encountered:
@bbc1183 The inner-loop context manager higher.innerloop_ctx(model, opt) creates a stateless copy of the model, and the changes in the inner updates do not affect the original model. Therefore, if you need to retain the final state of the fast model in the inner loop you need to manually copy it.
Hi, first of all thanks for providing this library.
This might be clear to everyone else, but it's not clear to me. Suppose I have 2 groups of params distributed throughout a single model, i.e. my model has some fast weights, and some slow (meta) weights, but they cannot be easily separated into 2 distinct models, i.e. they are interleaved. My use case is this:
It doesnt seem like this should be too much different from the use case in the Meta-Learning via Learned Loss code, but it's not working for me yet. The issue seems to be that the fast weight update is not being retained after I exit the Higher block, i.e. when i check the fast weights, they don't seem to have been updated. Do I need to do this manually? What am I missing? Many thanks.
The text was updated successfully, but these errors were encountered: