You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行MoleculeNet加载ESOL数据集报错,root参数含义及排查求助

解决ESOL数据集加载报错问题

先明确root参数的作用

root是数据集的存储根目录,MoleculeNet会自动在这个目录下创建对应数据集的子文件夹(比如ESOL对应esol文件夹),用来存放下载的原始数据、处理后的缓存文件(比如报错里的data.pkl)。你传.就是指当前工作目录,所以它会在当前目录生成esol文件夹。

报错原因及解决步骤

出现PytorchStreamReader failed locating file data.pkl,大概率是之前的缓存文件损坏、下载不完整,或者手动上传的文件和MoleculeNet预期格式不匹配。按以下步骤操作:

  • 清理旧的损坏缓存
    先删掉已有的esol文件夹,Colab里用命令行执行:

    !rm -rf ./esol
    

    彻底清除之前下载失败或损坏的文件。

  • 确保依赖库版本兼容
    版本不匹配也可能导致数据处理出错,Colab里重新安装适配的依赖:

    !pip install rdkit-pypi torch-geometric torch-scatter torch-sparse torch-cluster torch-spline-conv -f https://data.pyg.org/whl/torch-2.0.0+cu118.html
    

    注:上述链接适配PyTorch 2.0+CUDA118,若你的PyTorch版本不同,替换成对应版本的torch_geometric安装链接即可。

  • 重新加载数据集
    清理完成后,重新运行加载代码:

    import rdkit
    from torch_geometric.datasets import MoleculeNet
    
    # Load the ESOL dataset
    data = MoleculeNet(root=".", name="ESOL")
    data
    

    这次MoleculeNet会重新下载原始数据并自动处理生成缓存文件,不会再出现找不到data.pkl的问题。

  • 不要手动上传CSV文件
    MoleculeNet类会自动下载并处理原始数据,你手动上传的CSV格式和它预期的处理后格式不匹配,才会出现类不匹配的问题,完全不需要手动上传,让库自行处理即可。

额外提示

如果还是报错,用!pwd查看Colab当前工作目录,确认root参数指向的路径正确,不过默认用.就没问题,只要清理旧文件夹后重新下载即可。

内容的提问来源于stack exchange,提问作者joe doe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 21:34:57