PyG的Planetoid无法直接下载Cora等数据集的3个解决方式

简介: 本文仅考虑DNS污染情况下无法用torch_geometric.Planetoid类下载Cora等数据集的情况。其他使用GitHub仓库下载数据的解决方式类似,在此文中不再赘述。

如果顺利的话,应该只需要执行类似这样的代码即可在对应根目录位置下载数据集:

from torch_geometric.datasets import Planetoid
dataset = Planetoid(root='./tmp/cora', name='Cora')


Planetoid文档:https://pytorch-geometric.readthedocs.io/en/latest/modules/datasets.html#torch_geometric.datasets.Planetoid

在planetoid源代码中可以看到,这个类的大致逻辑就是从GitHub下载数据→处理数据。出现无法下载的情况时可能是由于Planetoid从raw.githubcontent.com这个域名下载数据,而这个域名在电脑上被DNS污染。


本文仅考虑这种情况造成的无法下载情况。如果您发现您的机子没有这种问题,那么您可能无法通过本文的手段解决对应的问题。


测试是否是DNS污染的简单方式:ping一下raw.github.com

(仅适用于Windows系统,Linux等其他系统类似)使用 Win + R,出现如下弹窗:

image.png


在输入框中输入 cmd,点击确定,出现shell窗口,输入 ping raw.githubcontent.com,回车运行。


如果ping包能接收到,说明不是DNS污染的问题,一般可以通过多试几次的方式来解决问题,如果还解决不了那我也不知道了;如果ping包接收不到,说明就是DNS污染的问题,见下文。


解决方式一:修改hosts文件


可以通过多个地点Ping服务器,网站测速 - 站长工具这个网站获取raw.githubcontent.com对应的IP地址,选一个响应时间较短而且在大陆的响应IP就行。然后修改hosts,就可以直接下载。


(此处找IP地址还可以用The Best IP Address, Email and Networking Tools - IPAddress.com这个网站,但是这个网站有的时候会突然上不了,所以作为备选提供)

直接挂代理一般也可以解决问题。


我之所以没这么干是因为我用远程服务器跑的,我没法改DNS也没法挂代理……


修改hosts的方法:

  • 找到hosts文件的位置,Windows一般为 C:\Windows\System32\drivers\etc
  • 打开hosts文件(用记事本之类的文本编辑器都行),在最后加一行,写你刚刚挑好的IP地址,然后按 tab 键,然后写 raw.githubusercontent.com。
  • 保存文件。如果不能保存就把内容复制到另一个同名文本文件中,复制过来,直接覆盖。
  • 在前文提及的cmd窗口中运行 ipconfig /flushdns。


解决方式二:从GitHub或gitee拉数据


GitHub项目是https://github.com/kimiyoung/planetoid,gitee项目是https://gitee.com/jiajiewu/planetoid。gitee的话在国内会更快点,所以推荐用gitee的。


具体需要的数据是这些:

image.png


通过以下任一方法下载到需要的数据后,将其放到根目录下Cora/raw文件夹下,然后再运行dataset = Planetoid(root, name='Cora')。如无报错并显示如下输出则成功。


Processing…

Done!

Cora()


方法1:直接下载整个项目

可以直接把整个项目git clone下来,然后直接从里面把对应的文件复制过去。

git clone的方法可参考我之前写的博文:VSCode上的Git使用手记(持续更新ing…)

也可以直接从项目的网页下载项目的zip压缩包,跟git clone地址在差不多的位置。


方法2:直接下载所需的单个文件

1. 直接从网页下载

gitee可以直接在网页上下载单个文件。直接修改网址也可以下载单个文件,具体网址见下面用Python下载数据部分、


要额外注意:PubMed里面的allx文件可能因为文件太大,所以如果直接用Gitee远程拉的话会要求登录,如果没有登录就会重定向到网页,导致无法用这种方式下载数据。

解决方法,我暂时也没有解决方法……就这一个文件就从本地登录了下载下来然后上传到服务器就算了。


GitHub通过插件或者修改网址也可以下载单个文件,但是如果你能通过这种方式下载文件,你的DNS应该没有被污染。


2. 用Python下载

直接把这个网址输到浏览器里面也能下载就是了……


我使用的是这个方式。主要原因是我在服务器上跑的项目,直接把所有事都在Python代码里解决就会比较方便。


base_url参数:

推荐使用gitee的:https://gitee.com/jiajiewu/planetoid/raw/master/data/ind.cora.

github的话可以二选一:https://github.com/kimiyoung/planetoid/raw/master/data/ind.cora.https://raw.githubusercontent.com/kimiyoung/planetoid/master/data/ind.cora.(但问题在于如果你能从这两个网址拉数据……那你……就不应该有不能下载的问题)

注意,这里要通过raw下载数据,如果直接用网页下载数据(如https://gitee.com/jiajiewu/planetoid/blob/master/data/ind.cora.allx)的话就会下载成网页……我一开始就下载成了网页……这肯定是会报错的。要下数据文件。

可以尝试使用PyG的download_url()方法下载数据(这是源代码中使用的方式)。其文档地址。


我使用的是requests。别的方式应该也行,就各种直接下载网页文件的方式应该都行。我这里给一个代码:

import requests
names = ['x', 'tx', 'allx', 'y', 'ty', 'ally', 'graph', 'test.index']
for name in names:
  file_url=base_url+name
    r=requests.get(file_url)
    with open('./tmp/cora/Cora/raw/ind.cora.'+name, 'wb') as f:
        f.write(r.content)


3. 用wget下载

其实我推荐用wget下载,因为有输出。太简单我就不写了,这还不会百度怎么上的学。网址还是上面那个网址。

如果稍稍对电脑有一点多的了解,还可以用Python写个批处理的bat或sh文件。


解决方式三:直接修改PyG源码


把planetoid.py里面第48行的 url = 'https://github.com/kimiyoung/planetoid/raw/master/data' 改成 url='https://gitee.com/jiajiewu/planetoid/raw/master/data'

逻辑上就跟第二种解决方式里面从gitee拉数据一样。

相关文章
|
6天前
|
存储 弹性计算 缓存
阿里云服务器租赁费用:新版租赁收费标准及活动报价参考
本文更新了2026年阿里云全系列云服务器租赁活动报价,所有特惠资源均可前往阿里云活动中心选购,整体覆盖从个人入门到企业级高性能场景的全梯度需求。其中轻量应用服务器主打极致性价比,2核2G峰值200M带宽配置每日10点、15点限时抢购价仅38元/年,2核4G配置379元/年起;高性价比的经济型e实例、通用算力型u2i实例覆盖2核4G至4核32G全档位,适配开发测试与中小型企业业务;搭载英特尔至强6处理器的第九代c9i企业级实例算力较上代提升20%,支撑高并发生产环境,不同实例规格价差清晰,用户可根据自身业务负载与预算灵活选型。
1636 116
|
7天前
|
人工智能 程序员 API
Codex 接入 DeepSeek-V4-Flash:还能补上识图,提供两套方案
Codex 接入 DeepSeek-V4-Flash 怎么配?本文覆盖 CLI 与桌面端,再用 qwen3-vl-flash 补识图,两套方案可直接照做
1114 5
|
13天前
|
云安全 人工智能 运维
阿里云联动百位企业安全专家,共识Agent防御最佳实践
当Agent成为新员工,你的安全边界在哪里?
1954 9
阿里云联动百位企业安全专家,共识Agent防御最佳实践
|
7天前
|
编解码 人工智能 安全
2核4G/4核8G/8核16G阿里云服务器如何选择实例?经济型e、通用算力型u2i与计算型c9i选哪个?
本文介绍了阿里云2核4G、4核8G、8核16G三档主流配置下经济型e、通用算力型u2i和计算型c9i三种实例的最新活动价格与适用场景。同配置下三者价差显著,以2核4G为例,经济型e低至599.93元/年,计算型c9i则高达1742.08元/年。文章详细解析了各实例的性能定位:经济型e适合轻负载入门场景,u2i兼顾稳定算力与性价比,c9i凭借第9代至强处理器与芯片级安全能力支撑高性能业务。同时提示用户可叠加满减优惠券享受折上折,建议根据业务负载与预算综合决策。
539 112
|
19天前
|
人工智能 前端开发 Linux
Codex 桌面版安装 + CC Switch 接入第三方 API 完整教程(2026 最新)
2026最新教程:手把手教你安装Codex桌面版,通过CC Switch v3.17.0一键接入Fenno等国产API(兼容OpenAI Responses格式),跳过账号登录,完整启用代码审查、多步任务与上下文感知功能。零基础友好,全程图文实操。(239字)
2756 4
|
11天前
|
存储 人工智能 关系型数据库
阿里云AI产品与云产品最新组合套餐:Token Plan、AI coding及云服务器和建站等组合优惠价
阿里云推出全新“算力+模型+应用”一站式云与AI组合套餐活动,覆盖从个人开发者到中大型企业的全场景需求。核心亮点为分三档定价的Token Plan订阅服务,支持Qwen3.8-Max-Preview大模型调用,错峰时段最低可享0.2折优惠。活动同步推出AI Coding、智能体部署、云电脑托管、0代码建站等十余类场景化组合,搭配99元/年的普惠云服务器、88元/年的入门数据库等经典特惠产品,还为企业提供1V1定制化AI转型方案,大幅降低了不同用户群体拥抱AI的技术门槛与采购成本。
730 111
|
21天前
|
人工智能 JSON 安全
Fastjson远程代码执行漏洞,阿里云AI安全为您保驾护航
阿里云AI安全产品联动防御Fastjson攻击
2653 13
Fastjson远程代码执行漏洞,阿里云AI安全为您保驾护航
|
7天前
|
人工智能 JSON Shell
2026AI漫剧本地全开源方案(附各个软件模型链接),8G显卡也能流畅运行
这是一套完全本地化部署的AI漫剧生成技术链路:涵盖LLM剧本分镜生成、FLUX文生图(IP-Adapter人脸锁定)、StoryDiffusion时序连贯控制、LTX-2.3唇形同步视频生成,及ComfyUI全流程调度。零云端费用,仅耗硬件算力,单集2–4小时可产出竖屏短视频,适配抖音/B站分发。
|
5天前
|
人工智能 API 开发工具
2026 零基础本地 AI 漫剧完整实操教程(8G 笔记本显卡可用|附可直接复制命令与代码)
本方案提供完全离线、本地运行的漫剧全自动制作流程:RTX3060/4050 8G显卡即可驱动,涵盖Qwen写分镜→ComfyUI统一角色绘图→LTX2.3图生微动画→Qwen3-TTS本地配音→FFmpeg自动合成,全程无水印、免API、不限次。专为低显存优化,解决变脸、闪烁、爆内存三大痛点。(239字)

热门文章

最新文章