Reinforcement Learning Framework For MOFs
This package is a reinforcement learning framework for MOFs.
The framework consists of agent and environment which are a generator and a predictor, respectively.
The agent takes an action (which is generating a MOF structure).
This action is then evaluated in the environment by the predictor, which predicts the value of the property we are interested in.
Based on the prediction, a reward is returned in form of an update to the agent to generate the next round of MOFs.
Installation
OS and hardware requirements
Linux : Ubuntu 20.04, 22.04
For optimal performance, we recommend running with GPUs
Dependencies
python>=3.8
Install
Please install pytorch (>= 1.12.0) according to your environments before installation of requirements.
pip install -e .
Getting Started
download pre-trained models
In order to run the reinforcement learning framework, predictor (environment) and generator (agent) should be pre-trained.
mofreinforce download default
Then, you can find the pre-trained generator and predictors in mofreinforce/model.
Predictor
If you want to train the predictor for your own desired property, please refer to predictor.md.
Generator
We provide a generator which selects a topology and a metal cluster, which are categorical variables, in order and then creates an organic linker represented by SELFIES string.
The generator was pre-trained with about 650,000 MOFs created by PORMAKE, which allows for generating feasible MOFs.
You can find the pre-trained generator at model/generator.ckpt.
Reinforcement Learning
(1) reinforcement learning with CO2 heat of adsorption
python run.py with v0_qkh
(2) reinforcement learning with CO2/H2O selectivity
python run.py with v1_selectivity
if you want to experiment with other parameters by modifying mofreinforce/reinforce/config_freinforce.py
Metadata
Release files for mofreinforce 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mofreinforce-1.0.1.tar.gz | 32.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mofreinforce-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 74.4 kB
Release files / mofreinforce-1.0.1.tar.gz
| Download URL | mofreinforce-1.0.1.tar.gz |
|---|---|
| Size | 32.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8a6680defb9f6327a7cd873dfd9fdb0cace1a3583440206807b2bc474e61939
|
|
BLAKE2b-256 checksum How to use checksums |
bbe297201dc6b5e20740a4609319f942cfa7000e065d567b0e63f4c45724bbff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.16
|
Release files / mofreinforce-1.0.1-py3-none-any.whl
| Download URL | mofreinforce-1.0.1-py3-none-any.whl |
|---|---|
| Size | 42.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ecb359b01878951e35138a29653712de1d1caab149fc1252ae731fea87475b03
|
|
BLAKE2b-256 checksum How to use checksums |
08501a46589de335de9e6fab003418d32f2986cc1281cd3dbb155223deb9719d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.8.16
|