Comments (8)
I've tried the ODEnet on CIFAR-10 and got ~85% accuracy using the conv for downsampling. I didn't try too many different hyperparameters but the ODE block seems to be working.
from torchdiffeq.
I've tried the ODEnet on CIFAR-10 and got ~85% accuracy using the conv for downsampling. I didn't try too many different hyperparameters but the ODE block seems to be working.
I tried some hyperparameters and tiny tricks based on same structure. ODENet could achieve a stable result around 91-92 accuracy on CIFAR-10 after something like 130-150 epochs. It was just for quick test due to my equipment limitation. With settings which does not take time into consideration, 93-94 is possible I guess.
from torchdiffeq.
@zlannnn Could you share your hyperparameters and tricks used to achieve 91 accuracy on CIFAR-10? I am doing this experiments but the best accuracy is ~88%. Thanks!
from torchdiffeq.
@jjjjjie I just used same structure as official minist example (which means 2 resblocks involved). Some regular augmentation, SGD, little more filters. I think major improvments are done by augmentation and more feature channals. If you try this with more channels, you would be able to achieve higher acc.
ODEnet is really great and working well. But as this issue mentioned, the two resblocks in example also works very well.
If you were trying to use pure ODE, that might be a little hard to get 93-94 on cifar-10
On the other side, if you trying to use some modern shallow structure (also around 4 layers as two resblocks) replacing two resblocks, you will have some better results. However, it would be kind of away from why ODE was proposed.
from torchdiffeq.
@zlannnn Thanks for you reply! I still have some questions about your tricks:
- Are 2 resblocks in downsampling layers? In this issue, they all used conv downsampling layers so I never think about this and use conv downsampling.:joy: If they are, is network in odefunc still two layers of concatConv2d function in your model?
- Does 'some regular augmentations' in your model mean data augmentation? Just like flip, rotation?
- Now feature channels are 64, you means I should use more channels like 128 or more? If doing this, the number of parameters will increase dramatically but if this operation can increase the accuracy, I will have a try.:smile:
Thank you in advance for your answer.
from torchdiffeq.
@jjjjjie Hi
- Yes, just the same as official example in downsam layers.
- Yes, just flip and rotation.
- Also yes, some more channels will give you higher acc and slow down your training.
ODE is great but kind of slow with accurate tol, my computer could not deal with it very well so I did not test too much about it. I personally suggest you set 'tol' a little bit higher at first. That may save some time.
from torchdiffeq.
@zlannnn Thanks l lot! I will have a try
from torchdiffeq.
Evaluate three structures on CIFAR-100, and get the following results:
-downsampling+ODE Blocks+FC layers (0.22M)
=>56.16%
-downsampling+Res Blocks+FC layers (0.58M)
=>57.34%
-downsampling+FC layers (0.14M)
=>48.38%
ODE-block works well.
from torchdiffeq.
Related Issues (20)
- learn_physics.py is very bad.
- code for reproducing Fig. 8
- Making forward function different than backward function
- reuse solver object
- Integrate Forced Andronov-Hopf Bifurcation HOT 3
- Export to ONNX?
- Is func variable in odeint(func, y0, t) the derivative part of the ode?
- Initial Condition changes when calling the odeint_adjoint
- How to use the summary function for model description?
- How to work with control namely PID controller
- Why odeint sometimes provides a wrong solution? HOT 5
- Non uniform time step in example/ode_demo.py
- runtime of ode_demo.py using adjoint vs. not using it HOT 1
- underflow in dt nan HOT 4
- Typo in paper (?) HOT 1
- How to pass extra paramaters of func to odeint? HOT 2
- Bug: Memory Leaky with from torchdiffeq import odeint HOT 1
- Perform one integration step HOT 2
- Scipy LSODA for stiff ODE
- Question about the gradient of `odeint`
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 torchdiffeq.