Predict#

To obtain the output of a model on a dataset, one can utilize the predict function, which conveniently saves the result in CSV format at the location of the current model.

1. Using predict function#

You can train the model using the function predict in moftransformer python library.

moftransformer.predict (root_dataset, load_path, downstream=None, split=’all’, save_dir=’None, **kwargs)

  • root_dataset : A folder containing graph data, grid data, and json of MOFs that you want to train or test. (see generate custom dataset)

  • load_path: Path for model you want to load and predict (*.ckpt).

  • downstream: Name of user-specific task (e.g. bandgap, gasuptake, etc).

  • split: The split you want to predict on your dataset (‘all’, ‘train’, ‘test’, or ‘val’)

  • save_dir: Path for directory you want to save *.csv file. (default : None -> path for loaded model)

  • kwargs : configuration for MOFTransformer

Example for predict using python#

from pathlib import Path
import moftransformer
from moftransformer.examples import example_path

root_dataset = example_path['root_dataset']
downstream = example_path['downstream']

# Get ckpt file
seed = 0               # default seeds
version = 0            # version for model. It increases with the number of trains
checkpoint = 'best'    # Epochs where the model is stored. 
mean = 0
std = 1

load_path = Path(log_dir) / f'pretrained_mof_seed{seed}_from_pmtransformer/version_{version}/checkpoints/{checkpoint}.ckpt'

if not load_path.exists():
    raise ValueError(f'load_path does not exists. check path for .ckpt file : {load_path}')
    
moftransformer.predict(
    root_dataset, load_path=load_path, downstream=downstream, split='all', mean=mean, std=std
)

2. Using command-line#

You can proceed with prediction in the command-line using parameters the same as Python’s predict.

$ moftransformer predict --root_dataset [root_dataset] --load_path [load_path]--downstream [downstream] --split [split] --save_dir [save_dir] ...

For example:

$ moftransformer predict --root_dataset './data' --load_path 'path/of/model' --downstream 'exmaple' --mean 0. --std 1.

For more information, see the help, command by “moftransformer predict -h”.