-
Notifications
You must be signed in to change notification settings - Fork 47
/
changelog.txt
34 lines (24 loc) · 1.72 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Changes with respect to e2cnn library:
######## escnn.group
- introduced GroupElements; group operations can be directly applied on instances of GroupElement (e.g. g * h or ~g)
instead of using the methods from the group
- groups support multiple parametrizatiosn of their group elements
- groups support redundant subgroup ids which are then automatically parsed and converted in a unique id
- irreps identified by a tuple id rather than by their name. This id can be accessed and used to reconsrtuct the same
irrep through `group.irrep(*id)`
######## escnn.kernels
- mostly refactored the package. Now use the WE theorem to automatically build the kernel basis instead of using the
solutions manually found
- this package is now fully implemented in PyTorch, so its operations are differentiable and can be CUDA accelerated.
######## escnn.gspaces
- only two (actually 3) `GSpace`s (GSpace0D, GSpace1D, GSpace2D)
- each specific gspace is generated by a factory method and just instantiates one of the ones above
- for e2cnn's gspaces, same name and interface is used; since now these are methods and not classes,
one needs to make the first letter lowercase (e.g. Rot2dOnR2() -> rot3dOnR2() )
######## escnn.nn
- R2Conv subclass of _RDConv
- basis expansion submodule moved outside conv so it can be used by Linear, too
- BasisExpansion abstract class becomes BasisManager interface (used also in escnn.nn.init)
- GeometricTensor supports optional argument `coords` (CAREFUL! each layer now has to manually check if the input tensor had coords and set them to the output too)
- FieldType.__call__() to generate GeometricTensors less verbosely
- FieldType.transform(tensor, el) supports also coords. If coords=None, only rotates coords.