Open whitead opened 2 years ago
Sorry just saw this!
Right now I'm not supporting multiple separate groups for the nn.EMLP except as restricted representations or other representations of the product group like in #10. So before the above code may have not errored out and even produced a properly equivariant network but not necessarily even a very sensible one, and this depended on some internal workings that have changed slightly.
I get where you're coming from though as I didn't make this very clear in the documentation with regards to which parts support using multiple groups (the equivariant bases and linear layers) and which do not or may only accidentally (the bilinear layer and automatic internal representation choice in nn.EMLP), and I also mentioned last time that extending this support was in the pipeline but sadly I haven't yet gotten to it.
I would say for the book if you want to show this kind of example it would be better to use this ProductSubRep from #10 , although the syntax is not as clean, it at least is an officially supported pathway of using nn.EMLP. What I can do though to make it nicer and that would probably be useful to others as well is to start adding some of these kinds of derived representations in the repo itself (and with some docs) and then you can just import them.
Cheers
I'll also start logging an error in nn.EMLP if it detects multiple different groups are being used (rather than multiple different derived representations of the same product group) so there's no possibility of getting unexpected errors or even failing silently.
Got it, thanks. I'll try to figure out how to incorporate that code into the chapter.
I have an example in my book using
emlp
with the following syntax:This previously worked and we had discussed it a bit for modifying output in #10. Now in version 1.0.3, this code no longer executes - it gives the following error:
I was wondering if I need to update the syntax or if there is a bug. Thanks!