The CentroidContext mixin has been augmented so that now it can do either of the following during training:
create prototype contexts via task labels while training (just as before)
use a clustering technique to create prototypes in an online way while training (new!)
There is also a corresponding config file for experiments that infer prototype while training. Two additional things to note:
The experiment/mixin attribute contexts is now a List containing a single Tensor (instead of being just a single Tensor) since lists are mutable, and we require contexts to be mutable since it is updated regularly by other functions,
There isn't any formal documentation of the exact clustering procedure in the mixin itself, and we can redirect to an ArXiv paper that contains this info (once it becomes available).
I am closing this PR since I believe the implementation is not entirely correct, and there are currently multiple conflicts with the master branch. This does not affect results in the dendrites pre-print.
The
CentroidContext
mixin has been augmented so that now it can do either of the following during training:There is also a corresponding config file for experiments that infer prototype while training. Two additional things to note:
contexts
is now a List containing a single Tensor (instead of being just a single Tensor) since lists are mutable, and we requirecontexts
to be mutable since it is updated regularly by other functions,