Comments (9)
I am sorry for the late reply, but I was on vacation in the last couple of weeks.
I am not currently planning to support other frameworks like Jax.
Adapting the library to Jax requires rewriting most of the escnn.nn
and the escnn.kernels
modules.
Unfortunately, I don't have enough time for that currently :(
I am not very familiar with Jax, so it is hard for me to precisely estimate how much work it would be, but I'd be very happy to provide some support if an user would like to try doing that!
Best,
Gabriele
from escnn.
Thanks @Gabri95!
I've started and got escnn.nn.Linear
to work (as in tests from test/test_linear.py
pass) building on the equinox
module.
Trying to get escnn.nn.Conv2d
to work, and then to be able to train a simple model based on layers.
from escnn.
Hey @Gabri95,
I gave a try and I can now reproduce the C8SteerableCNN
on MNIST with a ~20% speed up!
There are still quite some things to enhance and modules to support as listed in the README.md, but hopefully other people would be interested in willing to help :)
from escnn.
@Gabri95
I'm thinking of making this available for pip install as escnn_jax
akin to e3nn_jax
.
Would you have any opinion on this?
from escnn.
Thanks a lot for porting the library in Jax!
The escnn_jax
name seems good to me!
I need to push some updates on the library in the coming week (sorry for being a little offline recently :/ ) and I will also include a pointer to your code in the documentation.
Thanks a lot again!
Gabriele
from escnn.
@Gabri95 ?
from escnn.
Happy to eventually works ahah was more than expected and there are still quite some layers not supported, but should be easy to add them taking inspiration from the ones I've ported :)
- Would you know how to make the library available for
pip install escnn_jax
? - Should I move the repo to
QUVA-Lab
?
from escnn.
This is a good question, let me ask for some advice about this and come back when I know more, sorry
Regarding pypi, you can follow these intructions (but I'd recommend trying with testpypi first)
Gabriele
from escnn.
I've just included a reference to your fork in the README of the library!
Regarding where you should host the repo, it seems possible to both keep it where it is now and move it under QUVA-Lab.
I don't have a strong preference but I see two points to keep in mind.
Keeping it under your account will give you more visibility (and credit 😉 ), which I think is fair.
Moving it under QUVA-Lab might make it easier for someone else to take over in the future if you don't want to maintain it anymore.
Again, I don't have a strong preference, but maybe we can keep it under your account for the moment and move it to quva-lab in the future.
What do you think about this?
Thanks again for this amazing work! 😄
Best,
Gabriele
from escnn.
Related Issues (20)
- wide-resnet N=6 not equivariant
- Instance Norm as normalization? HOT 4
- What is the intuition behind conditioning the kernel size on the number of rotations in the example script? HOT 2
- check_equivariance test failed HOT 2
- escnn's conv, BN, relu is not equivariant? HOT 3
- Pretrained models for ResNet in SO(2) and SE(3) HOT 4
- Utility functions to save and load instances of Group and Representations HOT 2
- Missing indexing dimensions in GeometricTensors HOT 2
- Batched equivariant maps basis expansion (?) HOT 4
- Improved invariant feature extraction - Improved group pooling
- Migrate unit tests to pytest? HOT 4
- question about the 3D rotation order and the Fourier transformation matrix
- Information bottlenecks without warnings.
- Add LayerNorm layer HOT 2
- Add Unitary Group HOT 1
- Usage equivariant MLP HOT 4
- Multi-gpu training degrades performance HOT 1
- Can escnn be used to process one-dimensional data? HOT 1
- 【Passive Rotation】 HOT 3
- Planar symmetries with staggered grids HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from escnn.