deusebio / Graph-Machine-Learning

Graph Machine Learning, published by Packt
MIT License
0 stars 1 forks source link

Cora unavailable at link #18

Open smithna opened 5 hours ago

smithna commented 5 hours ago

Unable to download CORA from the Planetoid link.

https://github.com/deusebio/Graph-Machine-Learning/blob/513387bb0dd22e5af4b53618b2620e97deb18f61/Chapter03/04_GraphAutoEncoder_PyGeometric.ipynb#L64


    "name": "FileNotFoundError",
    "message": "https://github.com/kimiyoung/planetoid/raw/master/data/ind.cora.x",
    "stack": "---------------------------------------------------------------------------
SSLCertVerificationError                  Traceback (most recent call last)
File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/aiohttp/connector.py:1068, in TCPConnector._wrap_create_connection(self, addr_infos, req, timeout, client_error, *args, **kwargs)
   1061         sock = await aiohappyeyeballs.start_connection(
   1062             addr_infos=addr_infos,
   1063             local_addr_infos=self._local_addr_infos,
   (...)
   1066             loop=self._loop,
   1067         )
-> 1068         return await self._loop.create_connection(*args, **kwargs, sock=sock)
   1069 except cert_errors as exc:

File /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py:1042, in BaseEventLoop.create_connection(self, protocol_factory, host, port, ssl, family, proto, flags, sock, local_addr, server_hostname, ssl_handshake_timeout, happy_eyeballs_delay, interleave)
   1039         raise ValueError(
   1040             f'A Stream Socket was expected, got {sock!r}')
-> 1042 transport, protocol = await self._create_connection_transport(
   1043     sock, protocol_factory, ssl, server_hostname,
   1044     ssl_handshake_timeout=ssl_handshake_timeout)
   1045 if self._debug:
   1046     # Get the socket from the transport because SSL transport closes
   1047     # the old socket and creates a new SSL socket

File /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py:1072, in BaseEventLoop._create_connection_transport(self, sock, protocol_factory, ssl, server_hostname, server_side, ssl_handshake_timeout)
   1071 try:
-> 1072     await waiter
   1073 except:

File /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/sslproto.py:529, in SSLProtocol.data_received(self, data)
    528 try:
--> 529     ssldata, appdata = self._sslpipe.feed_ssldata(data)
    530 except (SystemExit, KeyboardInterrupt):

File /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/sslproto.py:189, in _SSLPipe.feed_ssldata(self, data, only_handshake)
    187 if self._state == _DO_HANDSHAKE:
    188     # Call do_handshake() until it doesn't raise anymore.
--> 189     self._sslobj.do_handshake()
    190     self._state = _WRAPPED

File /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/ssl.py:944, in SSLObject.do_handshake(self)
    943 \"\"\"Start the SSL/TLS handshake.\"\"\"
--> 944 self._sslobj.do_handshake()

SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)

The above exception was the direct cause of the following exception:

ClientConnectorCertificateError           Traceback (most recent call last)
File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/implementations/http.py:422, in HTTPFileSystem._info(self, url, **kwargs)
    420 try:
    421     info.update(
--> 422         await _file_info(
    423             self.encode_url(url),
    424             size_policy=policy,
    425             session=session,
    426             **self.kwargs,
    427             **kwargs,
    428         )
    429     )
    430     if info.get(\"size\") is not None:

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/implementations/http.py:832, in _file_info(url, session, size_policy, **kwargs)
    831 elif size_policy == \"get\":
--> 832     r = await session.get(url, allow_redirects=ar, **kwargs)
    833 else:

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/aiohttp/client.py:659, in ClientSession._request(self, method, str_or_url, params, data, json, cookies, headers, skip_auto_headers, auth, allow_redirects, max_redirects, compress, chunked, expect100, raise_for_status, read_until_eof, proxy, proxy_auth, timeout, verify_ssl, fingerprint, ssl_context, ssl, server_hostname, proxy_headers, trace_request_ctx, read_bufsize, auto_decompress, max_line_size, max_field_size)
    655     async with ceil_timeout(
    656         real_timeout.connect,
    657         ceil_threshold=real_timeout.ceil_threshold,
    658     ):
--> 659         conn = await self._connector.connect(
    660             req, traces=traces, timeout=real_timeout
    661         )
    662 except asyncio.TimeoutError as exc:

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/aiohttp/connector.py:557, in BaseConnector.connect(self, req, traces, timeout)
    556 try:
--> 557     proto = await self._create_connection(req, traces, timeout)
    558     if self._closed:

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/aiohttp/connector.py:1002, in TCPConnector._create_connection(self, req, traces, timeout)
   1001 else:
-> 1002     _, proto = await self._create_direct_connection(req, traces, timeout)
   1004 return proto

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/aiohttp/connector.py:1336, in TCPConnector._create_direct_connection(self, req, traces, timeout, client_error)
   1335 assert last_exc is not None
-> 1336 raise last_exc

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/aiohttp/connector.py:1305, in TCPConnector._create_direct_connection(self, req, traces, timeout, client_error)
   1304 try:
-> 1305     transp, proto = await self._wrap_create_connection(
   1306         self._factory,
   1307         timeout=timeout,
   1308         ssl=sslcontext,
   1309         addr_infos=addr_infos,
   1310         server_hostname=server_hostname,
   1311         req=req,
   1312         client_error=client_error,
   1313     )
   1314 except ClientConnectorError as exc:

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/aiohttp/connector.py:1070, in TCPConnector._wrap_create_connection(self, addr_infos, req, timeout, client_error, *args, **kwargs)
   1069 except cert_errors as exc:
-> 1070     raise ClientConnectorCertificateError(req.connection_key, exc) from exc
   1071 except ssl_errors as exc:

ClientConnectorCertificateError: Cannot connect to host github.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1108)')]

The above exception was the direct cause of the following exception:

FileNotFoundError                         Traceback (most recent call last)
Cell In[4], line 8
      6 # path = os.path.join(\"/home/deusebio/Personal/graph_machine_learning/data\", 'data')
      7 path = os.path.join(os.getcwd(), 'data')
----> 8 dataset = Planetoid(path, DATASET_NAME, transform=transform)
      9 train_data, val_data, test_data = dataset[0]

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/torch_geometric/datasets/planetoid.py:102, in Planetoid.__init__(self, root, name, split, num_train_per_class, num_val, num_test, transform, pre_transform, force_reload)
     99 self.split = split.lower()
    100 assert self.split in ['public', 'full', 'geom-gcn', 'random']
--> 102 super().__init__(root, transform, pre_transform,
    103                  force_reload=force_reload)
    104 self.load(self.processed_paths[0])
    106 if split == 'full':

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/torch_geometric/data/in_memory_dataset.py:81, in InMemoryDataset.__init__(self, root, transform, pre_transform, pre_filter, log, force_reload)
     72 def __init__(
     73     self,
     74     root: Optional[str] = None,
   (...)
     79     force_reload: bool = False,
     80 ) -> None:
---> 81     super().__init__(root, transform, pre_transform, pre_filter, log,
     82                      force_reload)
     84     self._data: Optional[BaseData] = None
     85     self.slices: Optional[Dict[str, Tensor]] = None

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/torch_geometric/data/dataset.py:112, in Dataset.__init__(self, root, transform, pre_transform, pre_filter, log, force_reload)
    109 self.force_reload = force_reload
    111 if self.has_download:
--> 112     self._download()
    114 if self.has_process:
    115     self._process()

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/torch_geometric/data/dataset.py:229, in Dataset._download(self)
    226     return
    228 fs.makedirs(self.raw_dir, exist_ok=True)
--> 229 self.download()

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/torch_geometric/datasets/planetoid.py:154, in Planetoid.download(self)
    152 def download(self) -> None:
    153     for name in self.raw_file_names:
--> 154         fs.cp(f'{self.url}/{name}', self.raw_dir)
    155     if self.split == 'geom-gcn':
    156         for i in range(10):

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/torch_geometric/io/fs.py:156, in cp(path1, path2, extract, log, use_cache, clear_cache)
    154 # Perform the copy:
    155 for open_file in fsspec.open_files(path1, **kwargs):
--> 156     with open_file as f_from:
    157         if not multiple_files:
    158             if is_path2_dir:

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/core.py:105, in OpenFile.__enter__(self)
    102 mode = self.mode.replace(\"t\", \"\").replace(\"b\", \"\") + \"b\"
    104 try:
--> 105     f = self.fs.open(self.path, mode=mode)
    106 except FileNotFoundError as e:
    107     if has_magic(self.path):

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/spec.py:1303, in AbstractFileSystem.open(self, path, mode, block_size, cache_options, compression, **kwargs)
   1301 else:
   1302     ac = kwargs.pop(\"autocommit\", not self._intrans)
-> 1303     f = self._open(
   1304         path,
   1305         mode=mode,
   1306         block_size=block_size,
   1307         autocommit=ac,
   1308         cache_options=cache_options,
   1309         **kwargs,
   1310     )
   1311     if compression is not None:
   1312         from fsspec.compression import compr

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/implementations/http.py:361, in HTTPFileSystem._open(self, path, mode, block_size, autocommit, cache_type, cache_options, size, **kwargs)
    359 kw[\"asynchronous\"] = self.asynchronous
    360 kw.update(kwargs)
--> 361 size = size or self.info(path, **kwargs)[\"size\"]
    362 session = sync(self.loop, self.set_session)
    363 if block_size and size:

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/asyn.py:118, in sync_wrapper.<locals>.wrapper(*args, **kwargs)
    115 @functools.wraps(func)
    116 def wrapper(*args, **kwargs):
    117     self = obj or args[0]
--> 118     return sync(self.loop, func, *args, **kwargs)

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/asyn.py:103, in sync(loop, func, timeout, *args, **kwargs)
    101     raise FSTimeoutError from return_result
    102 elif isinstance(return_result, BaseException):
--> 103     raise return_result
    104 else:
    105     return return_result

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/asyn.py:56, in _runner(event, coro, result, timeout)
     54     coro = asyncio.wait_for(coro, timeout=timeout)
     55 try:
---> 56     result[0] = await coro
     57 except Exception as ex:
     58     result[0] = ex

File ~/Documents/Graph-Machine-Learning/.venv/lib/python3.8/site-packages/fsspec/implementations/http.py:435, in HTTPFileSystem._info(self, url, **kwargs)
    432     except Exception as exc:
    433         if policy == \"get\":
    434             # If get failed, then raise a FileNotFoundError
--> 435             raise FileNotFoundError(url) from exc
    436         logger.debug(\"\", exc_info=exc)
    438 return {\"name\": url, \"size\": None, **info, \"type\": \"file\"}

FileNotFoundError: https://github.com/kimiyoung/planetoid/raw/master/data/ind.cora.x"
}```