Tasks in the LOLS workflow.
- main
- data_generation
- train_vae
- sample
- dft_energy
- energy_model
- gp_model
- gp_minimum
- relaxation
- dft_relax
- data_generation
Read our publication Molecular Conformer Search with Low-Energy Latent Space for details.
- Switch to the python env which have pytorch and BOSS installed.
- pytorch version:
1.3.1 - BOSS version:
0.9.17
- Create
config.json.
- Check the template files in
lib/config. - If there's no
config.json, theconfig-test.jsonwill be used.
- Run
python main.py.
Set task's state = 0 or 1 to restart that task:
sqlite3 lols.db 'update task set state = {new_state} where id = {task_id}'- If the state set to 0, the task will refresh its config before running.
table task:
| column | information |
|---|---|
| id | task id, the primary key |
| state | 0: not start, 1: start, 2: finish |
| iteration | number of iteration |
| key | sub index |
| name | name of task, related to task/{name}.py |
| config | config of task, will save in config.json |
| folder | information |
|---|---|
| lib | read-only files for materials and software configure |
| model | Encapsulation of VAE model and other physical models. |
| task | LOLS tasks |
| work | Isolated folders for all tasks. |
| file | information |
|---|---|
| config.json | Where configurations for all tasks are saved. |
| lols.db | data base, where only the task information are saved. |
| database.py | python modules for operating lols.db |
| main.py | entries for the program |
We need only the Gaussian Process fitting hyper_parameters, not the x_next and global_minimum. So we hacked BOSS library to add the s model, by replaced the source code with lib/boss_modify/*.
Since the current boss version is 1.5 (Checked at 2022-06-24), it might provide the options to skip finding the x_next or global_minimum.
Use it at your own risk.
You can also replace lib/gp_model.py to use the GPy library directly or other Gaussian Process library like gpytorch.
