erskordi / rlmolecule

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rlmolecule

About

A library for general-purpose material and molecular optimization using AlphaZero-style reinforcement learning.

Code currently under development as part of the "End-to-End Optimization for Battery Materials and Molecules by Combining Graph Neural Networks and Reinforcement Learning" project at the National Renewable Energy Laboratory (NREL), Colorado School of Mines (CSU), and Colorado State University (CSU). Funding provided by the Advanced Research Projects Agency–Energy (ARPA-E)'s DIFFERENTIATE program

Installation

Most dependencies for this project are installable via conda, with the exception of nfp, which can be installed via pip. An example conda environment file is provided below:

channels:
  - conda-forge
  - defaults
  
dependencies:
  - python=3.7
  - jupyterlab
  - rdkit
  - seaborn
  - pandas
  - scikit-learn
  - jupyter
  - notebook
  - pymatgen
  - xlrd
  - tqdm
  - tensorflow-gpu
  - psycopg2
  - pip
    - pip:
    - nfp >= 0.1.4

Usage

This library is still under active development, and APIs are expected to change frequently. Currently, optimization proceeds by subclassing alphazero.Node to provide the expected reward function calculation. Example usage of the module is demonstrated for radical construction in stable_radical_optimization/.

About

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Jupyter Notebook 97.3%Language:Python 2.6%Language:Shell 0.2%