axsk / isokann.jl Goto Github PK
View Code? Open in Web Editor NEWJulia implementation of the ISOKANN algorithm for the computation of invariant subspaces of Koopman operators
License: MIT License
Julia implementation of the ISOKANN algorithm for the computation of invariant subspaces of Koopman operators
License: MIT License
We have 2 reaction path files in ISOKANN and one more in VGV
Define an interface
keep an eye out for plotting and saving generically
Almost done in src/molly.jl
OverdampedLangevinGirsanov
Currently we re-seed momentum on each (short) tractory, which leads to unphysical results.
This requires to decouple NN input/data from the underlying simulation data, as the former doesn't require the momentum.
Look at the work done in IsoMu.jl
Facilitate using local pairwise distances with OpenMM and adaptive sampling.
Maybe this is also the point to rethink the current doubly implemented feature framework (on-the-fly network vs. precomputed simulation data)
Given that Iso2 now has a working autoplot and seems to be working with adapative sampling it is finally time to get rid of that monster IsoRun
.
OpenMMSimulation
So what do we want from this?
I wanted to test the sensitivity wrt. to sampling procedure (chi-apapt/uniform) in the DoubleWell example (IsoForce) and test the performance by decreasing the integration timespan.
Turns out that the results for T=1 and T=1. differ vastly.
Something is wrong there.
We seem to have converged on the API now (assuming #14 turns out as expected).
We need a few alignment methods.
We have aligning 2 frames, aligning trajectories and aligning 3 points.
Maybe we can find "the most stable alignment along isokann"?
This is nagging me for a long time and has caused a lot of headaches.
The main problem is that each of these can stand on their own, no clear hierarchy is obvious.
ISOKANN has its own trainings data, which however can differ from the full "coordinate" data.
For visualization however it needs access to the "coordinate" data.
Adaptive sampling complicates this further.
One way of patching them together is via a DataLoader which doubles as data provider for ISOKANN but also holds raw data, and is able to also contain a Simulation.
Where do we attach known reaction coordinates (for visualization) etc?
One could use the distance of the past adaptive samples from a uniform grid in the sample-chi plot as a metric for convergence, i.e. in how far former adaptive samples are not representative anymore.
Use multiple lag-times for the ys
generation from trajectory data.
Mainly because of the long precompilation due to Enzyme, but also since it somehow broke 1.10.2 precompilation
Since the OpenMM installation is not straigthforward with PyCall
This seems to be the interface we are looking for to decouple data-generation from the actual ISOKANN loop
I can think of two stages, the raw burst-trajectory loader, which then in turn generates the data for the supervised training step.
The former should be fine for a first step.
Line 63 in 150df45
supposedly there is some example code using reinterpret
inside molly
This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml
to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix
on this issue.
I'll open a PR within a few hours, please be patient!
We should have all these working, but the interface/usage is not quite clear.
I am thinking of examples/doublewell.jl and so on, demonstrating the according features
They should double as tests.
This would allow for simple minibatching using DataLoader
#2 and be more in line with the general "batch dimension last" paradigm.
I am not sure how much this would brake and if it is wise to do ..
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.