Comments (26)
Thanks - it's going to take a little bit to get set up on an NVIDIA (V100) node, and I'm going on holiday for the next week, but I hope to get this tested soon.
from mace.
Sorry for the delay, stress and virials should be working, currently in the stress_develop branch.
To use it, just add to your parsing file these lines:
--loss='stress' \
--stress_key='your_stress_key'\
For virials, please just replace both by virials
. You can also change the loss with stress_weight
.
If you can give it a try that would be great.
from mace.
@ilyes319 - thanks for opening the issue. On what kind of time scale are you thinking this will be implemented?
from mace.
I will try to have something working in a "stress" branch for next week. Happy if you could try it with one of your systems when I pushed to check it.
from mace.
I'll re-prioritize testing it on one of systems, which I'm having trouble with.
from mace.
I'm about to start thinking about running the test - what's the state of per-configuration force/energy(/virial) weights, and/or the documentation for this and other features?
from mace.
The per configuration type weights are implemented and I believe work as intended.
The stress and virial are also implemented, but are somewhat untested. If you could run some fits with them it would be great.
As for documentation of features they are documented somewhat in the ReadMe of the repo and in the argument parser if you pass in --help
.
from mace.
Let me know if you have any problems. I will also be on holiday from Monday. @ilyes319 will be around to answer any questions.
from mace.
I don't see any documentation for per-config weights (unless I define a separate config type for each config, and give it a config-type weight, which will make for an insanely long command line). Is it in the stress_develop
branch? I previously attempted to use config_weight
- is that still right?
Also, I don't see any evidence any stress_key
or virial_key
in run_train.py
- is this right?
from mace.
Sorry, you are right. The model has stress implemented, but we have not finished it fully yet (ie. there is no data parsing for example). I think it will be ready by the time you are back at the end of next week.
The per config weight is also something that currently only works by making all of them have a separate config_type making it a very long command line input. I can look into implementing it properly if you find that it is necessary, we have not seen such a case yet, where we needed this. So definitely try with and without it as well and let me know the results :)
from mace.
I'm sure it's not necessary, in the sense that I can group the configurations and probably get equally good results, but it just happens to not be the way I generated my existing per-config weights. I do have a wide range of configurations that all come from the same process (GAP RSS), so it's not like I can say these are from low T MD and need high accuracy (weight) and these are from high T MD and need lower accuracy.
from mace.
Is there any way to tell from the output that it's successfully using the CUDA device? How fast should I expect an epoch to take for about 46000 environments, hidden_irreps = "128x0e"
, batch size 10, on a V100 is this case?
from mace.
It prints on the top of the log whether it uses device CUDA or device CPU.
as for the time it should be quite fast but I donβt have a good sense whether it is minutes or tens of minutes.
from mace.
1500 epochs in about 6 hours on a V100, without virials actually active. If you let me know when virial parsing is ready, I'll do a proper run.
from mace.
I'm back at work. Any progress on the virial-parsing version?
from mace.
Is the stress version ready to be merged into main?
Jonathan (we talked at psik about the multigpu)
from mace.
Thanks - I'll start testing, although it'll probably be a week or so.
from mace.
Training with energy, forces and stress seems to work for me.
from mace.
Any idea about a reasonable value for stress_weight
, by the way? (although I can't really test until it's possible to turn off stress on a per-config-type basis). I'm currently using weights of 1.0 for energy and 10.0 for force.
[this is waiting on the per-config stress weight, see #13 ]
from mace.
from mace.
What's the current status? The stress_develop
branch seems to be gone.
from mace.
The stress branch is now merged into the develop branch. We are still not supporting the missing virials/stress but that is a more generic issue of handling missing data that we need to solve.
from mace.
Thanks. I'll switch to that branch while I play with it. I only need to ignore the stress in my nonperiodic configs, so I can add a fake stress to those, and make them into a special config type that has zero weight on the stress.
from mace.
@ilyes319 Now that we have stresses in fitting and missing data, what's the status of the remaining step which is supporting prediction of stresses in the ASE Calculator?
from mace.
Does #24 looks right? I'll try to play with a test.
from mace.
I am closing virials stress related support as we merged #22 and #26.
from mace.
Related Issues (20)
- model not returning stress in the latest commit on `multi-head-interface` HOT 3
- Error accessing Git repository HOT 2
- CUDA out of memory from MD with MP-0 pre-trained model using 'big' geometry. HOT 16
- Vectorized Hessians seem not to work HOT 10
- Dependencies pyproject.toml HOT 4
- Inquiry about implement of `pair_repulsion` in the mace_mp function HOT 2
- Machines other than A100 compiling LAMMPS HOT 4
- Could you please share with more examples that use MACE in LAMMPS? HOT 5
- MD crash with finetuned model from MACE-MP0 HOT 4
- How to recreate/find MP ids in your hdf5 train/val splits
- LAMMPS-GPU (mace) installed Failed HOT 3
- Issue on integrating lammps with MACE potential HOT 10
- Restart of the training using --restart_latest doesn't properly work - resolved -
- Deployment of the MACE Model Without Using ASE HOT 5
- Error while using multihead interface HOT 2
- Segmentation fault during LAMMPS-MACE-CPU run HOT 1
- Problems with parallelization on CPU (Using LAMMPS) HOT 1
- Improve plotting script
- Automatically add parameters to optimizer
- Change stress to virials internally
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 mace.