Representation Learning from Stoichiometry (Roost) is a python implementation of this paper. Dependencies for Linux was provided in GitHub readme. However, there's only a easy environment setup guide for Linux with cudatoolkit=11.1. It was not tested by the author whether it is possible to run the codes on Windows with newer cudatookit (currently 11.5). This article gives a possible installation guidance to setup environments and replicate the paper.

System Environments

System: Windows 10
Python: Anaconda
Cuda: cudatoolkit 11.5

P.S. Codes downloaded from the URL provided in the paper was outdated. I failed in setting up an environment for torch=1.5.0 and cudatoolkit=1.10.1. Thankfully roost is still under maintenance and kept up with newer torch version.

Environment Setup

Create a New Conda Environment

Create a new environment and activate it.

conda create --name roost python=3.8
conda activate roost

Install PyTorch

And then install newest PyTorch. Code shown below was generated by PyTorch's website.

pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 torchaudio===0.10.1+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

Maybe torchvision and torchaudio can be removed, but I didn't give a test. You can also use conda here instead of pip, but it is easier for me to setup a proxy with pip: pip --proxy="http://host:port". I have no idea about how to set my proxy for conda.

Install Torch-Scatter

pip install torch-scatter torch-sparse torch-cluster torch-spline-conv torch-geometric -f https://data.pyg.org/whl/torch-1.10.0+cu113.html

Code above was generated by Torch-Scatter's website.

Other Dependencies

The list of all the other dependencies are available in requirements.txt. Just install them with a simple command:

pip install -r requirements.txt

Replicating

Not finished yet.