这个目前不是我的研究方向,但是既然看了看,就做一下记录,毕竟好记性不如烂笔头...
首先我说的是下面这个
Graphormer/graphormer at main · microsoft/Graphormer (github.com)https://github.com/microsoft/Graphormer/tree/main/graphormer配置环境的话,按照他的说明基本没什么问题,唯一有一点问题我印象中是需要pip版本稍微低一点,如果我没记错可能是pip==21.1。
然后我朋友的问题是更换数据集,首先他要运行的是examples/property_prediction下的pcqv2.sh
因为resource是ogb。看了一下,要去修改Graphormer/graphormer/data/ogb_datasets的ogb_dataset_lookup_table.py文件。(把你要更换的数据文件newdata.sdf放在当前路径下)
写一个新类,
from rdkit import Chem
class MyCustomDataset(PygPCQM4MDataset):
def download(self):
pass
def process(self):
sdf_path = "newdata.sdf"
suppl = Chem.SDMolSupplier(sdf_path)
然后把第83行inner_dataset = MyPygPCQM4Mv2Dataset()改成inner_dataset = MyCustomDataset(),(因为pcqv2.sh默认的dataset应该是pcqm4mv2,同理可以推别的,具体有什么区别我也不太懂)。注意有可能需要把test_idx = idx_split["test-dev"]改成test_idx = idx_split["test"],(先不动试试,如果报错再改)
注意,因为我朋友他只是对官网的.sdf数据做了一个增删工作,所以我尝试这样修改,如果你想做迁移学习,(他这个应该是关于化学的,如果你想用在别的数据上),可能需要重新train了吧,具体我也不太了解。