pyg-nightly 2.7.0.dev20250501__py3-none-any.whl → 2.7.0.dev20250502__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pyg-nightly
3
- Version: 2.7.0.dev20250501
3
+ Version: 2.7.0.dev20250502
4
4
  Summary: Graph Neural Network Library for PyTorch
5
5
  Keywords: deep-learning,pytorch,geometric-deep-learning,graph-neural-networks,graph-convolutional-networks
6
6
  Author-email: Matthias Fey <matthias@pyg.org>
@@ -1,4 +1,4 @@
1
- torch_geometric/__init__.py,sha256=qGS1wDoGbtxeynNNPgsI3J5OQkZYLT6Gdv7y5YuygC0,1978
1
+ torch_geometric/__init__.py,sha256=3s3xapTQEzq9U-HSeJw1y27iIauP4Q6mXl6ynWcHsD0,1978
2
2
  torch_geometric/_compile.py,sha256=f-WQeH4VLi5Hn9lrgztFUCSrN_FImjhQa6BxFzcYC38,1338
3
3
  torch_geometric/_onnx.py,sha256=V9ffrIKSqhDw6xUZ12lkuSfNs48cQp2EeJ6Z19GfnVw,349
4
4
  torch_geometric/backend.py,sha256=lVaf7aLoVaB3M-UcByUJ1G4T4FOK6LXAg0CF4W3E8jo,1575
@@ -19,7 +19,7 @@ torch_geometric/logging.py,sha256=HmHHLiCcM64k-6UYNOSfXPIeSGNAyiGGcn8cD8tlyuQ,85
19
19
  torch_geometric/resolver.py,sha256=fn-_6mCpI2xv7eDZnIFcYrHOn0IrwbkWFLDb9laQrWI,1270
20
20
  torch_geometric/seed.py,sha256=MJLbVwpb9i8mK3oi32sS__Cq-dRq_afTeoOL_HoA9ko,372
21
21
  torch_geometric/template.py,sha256=rqjDWgcSAgTCiV4bkOjWRPaO4PpUdC_RXigzxxBqAu8,1060
22
- torch_geometric/typing.py,sha256=mtSM6QhCsrohstnyvqMuxEIajCkhcvkQKOU4uVu-nDs,15596
22
+ torch_geometric/typing.py,sha256=bUIcBMcvDGn3DV1p6VFvkQ64fCB3mO2SNrlFxCoKCkc,15624
23
23
  torch_geometric/warnings.py,sha256=t114CbkrmiqkXaavx5g7OO52dLdktf-U__B5QqYIQvI,413
24
24
  torch_geometric/contrib/__init__.py,sha256=0pWkmXfZtbdr-AKwlii5LTFggTEH-MCrSKpZxrtPlVs,352
25
25
  torch_geometric/contrib/datasets/__init__.py,sha256=lrGnWsEiJf5zsBRmshGZZFN_uYR2ezDjbj9n9nCpvtk,23
@@ -31,7 +31,7 @@ torch_geometric/contrib/nn/models/__init__.py,sha256=3ia5cX-TPhouLl6jn_HA-Rd2Laa
31
31
  torch_geometric/contrib/nn/models/rbcd_attack.py,sha256=qcyxBxAbx8LKzpp3RoJQ0cxl9aB2onsWT4oY1fsM7us,33280
32
32
  torch_geometric/contrib/transforms/__init__.py,sha256=lrGnWsEiJf5zsBRmshGZZFN_uYR2ezDjbj9n9nCpvtk,23
33
33
  torch_geometric/data/__init__.py,sha256=D6Iz5A9vEb_2rpf96Zn7uM-lchZ3WpW8X7WdAD1yxKw,4565
34
- torch_geometric/data/batch.py,sha256=C9cT7-rcWPgnG68Eb_uAcn90HS3OvOG6n4fY3ihpFhI,8764
34
+ torch_geometric/data/batch.py,sha256=8X8CN4_1rjrh48R3R2--mZUgfsO7Po9JP-H6SbrBiBA,8740
35
35
  torch_geometric/data/collate.py,sha256=RRiUMBLxDAitaHx7zF0qiMR2nW1NY_0uaNdxlUo5-bo,12756
36
36
  torch_geometric/data/data.py,sha256=mp_jsjsaVwUcY-FghlqNZTHUQEKBdi7xWR_oA2ewrD4,43821
37
37
  torch_geometric/data/database.py,sha256=VTct1xyzXsK0GZahBV9-noviCzjRteAsKMG7VgJ52n0,22998
@@ -44,7 +44,7 @@ torch_geometric/data/graph_store.py,sha256=EtIgsyY7RdBHRTCn34VypEBOG8cg8WzsNT_kT
44
44
  torch_geometric/data/hetero_data.py,sha256=IunNWq2cRDox-imtc7w3yxjLI4KfUGXkmk6wddGGnZ0,48601
45
45
  torch_geometric/data/hypergraph_data.py,sha256=33hsXW25Yz4Ju8mKajYinZOrkqrUi1SqThG7MlOOYNM,8294
46
46
  torch_geometric/data/in_memory_dataset.py,sha256=F35hU9Dw3qiJUL5E1CCAfq-1xrlUMstXBmQVEQdtJ1I,13403
47
- torch_geometric/data/large_graph_indexer.py,sha256=3mF2c7BLbnAg8h5mBaG95_lyQMiXJ_uhEe5bXbX7e1M,25430
47
+ torch_geometric/data/large_graph_indexer.py,sha256=jSB3St2jT4GUKvmeyr7Hu1ozGk9AQey32Z0XFnkSf4M,25454
48
48
  torch_geometric/data/makedirs.py,sha256=6uOv4y34i947cm4rv7Aj2_YZBq-EOsyPKnlGA188YSw,463
49
49
  torch_geometric/data/on_disk_dataset.py,sha256=77om-e6kzcpBb77kf7um1xY8-yHmQaao_6R7I-3NwHk,6629
50
50
  torch_geometric/data/remote_backend_utils.py,sha256=Rzpq1PczXuHhUscrFtIAL6dua6pMehSJlXG7yEsrrrg,4503
@@ -181,7 +181,7 @@ torch_geometric/datasets/utils/cheatsheet.py,sha256=M55Bj64cjMVqDNoIq1shUVeU2ngo
181
181
  torch_geometric/distributed/__init__.py,sha256=NNCGXbDTAW5xoJgSr-PK0VYEnT8UCI7SoZXc16fjuxQ,589
182
182
  torch_geometric/distributed/dist_context.py,sha256=n34e2HU-TxmK6DrOpb5lWZu_xg1To1IFrXH4ueF_Jhg,418
183
183
  torch_geometric/distributed/dist_link_neighbor_loader.py,sha256=wM9heZmStrPSW7eo9qWusKdI_lVkDkLlda8ILBqC2c8,4933
184
- torch_geometric/distributed/dist_loader.py,sha256=cDR0VkjjkimI4RL45NsV5p5x3r_b595DzCxBwxcnyrQ,6492
184
+ torch_geometric/distributed/dist_loader.py,sha256=Gjvl5Ck8YrFN6YmCWEFWVqLEwI1hog-rWj2Sk_zqYC0,6504
185
185
  torch_geometric/distributed/dist_neighbor_loader.py,sha256=Zi3obALN_T6vJZI_1pWaRj60u9zEk3W5wo8bEKTbYR8,4372
186
186
  torch_geometric/distributed/dist_neighbor_sampler.py,sha256=YrL-NMFOJwHJpF189o4k6dIugo7J9SANaUVgMc36cmE,42406
187
187
  torch_geometric/distributed/event_loop.py,sha256=wr3iwMYEWOGkBlvC5huD2k5YxisaGE9w1Z-8RcQiIQk,3309
@@ -192,16 +192,16 @@ torch_geometric/distributed/rpc.py,sha256=rJqiVR6Vbb2mpyVSC0Y5tPApqP-b1ck1Uq3IQp
192
192
  torch_geometric/distributed/utils.py,sha256=FGrr3qw7hx7EQaIjjqasurloCFJ9q_0jt8jdSIUjBeM,6567
193
193
  torch_geometric/explain/__init__.py,sha256=pRxVB33zsxhED1StRWdHboQWh3e06__g9N298Hzi42Y,359
194
194
  torch_geometric/explain/config.py,sha256=_0j67NAwPwjrWHPncNywCT-oKyMiryJNxufxVN1BFlM,7834
195
- torch_geometric/explain/explainer.py,sha256=8_NZTmlT4WO9RgKxpSUQRt3rbVwFURF5bSWOPlfOLjA,10667
196
- torch_geometric/explain/explanation.py,sha256=Bt8THLn-CSrvEFisdT9DX9fnOMaqficsChSCI9uhyQw,18873
195
+ torch_geometric/explain/explainer.py,sha256=G7SvraTD25_KZEIP0eQ5QAIuHKodRUF37WOcoAJ921U,10677
196
+ torch_geometric/explain/explanation.py,sha256=5DWNEWhRLptGbnTnMrcugPBHlizUHFlkBx7iwlYo1k4,18883
197
197
  torch_geometric/explain/algorithm/__init__.py,sha256=fE29xbd0bPxg-EfrB2BDmmY9QnyO-7TgvYduGHofm5o,496
198
198
  torch_geometric/explain/algorithm/attention_explainer.py,sha256=65iGLmOt00ERtBDVxAoydIchykdWZU24aXzSzUGzQEI,11304
199
- torch_geometric/explain/algorithm/base.py,sha256=wwJcREUFKDLFUDjRa9o4X3DWqQgMvhS3Iciwb6Evtjc,6922
199
+ torch_geometric/explain/algorithm/base.py,sha256=lXynh9wMAKWN9tuCkcmsmNPwSUExTtgbNl2Nw39NQD0,6942
200
200
  torch_geometric/explain/algorithm/captum.py,sha256=k6hNgC5Kn9lVirOYVJzej8-hRuf5C2mPFUXFLd2wWsY,12857
201
201
  torch_geometric/explain/algorithm/captum_explainer.py,sha256=oz-c40hvdzii4_chEQPHzQo_dFjHr9HLuJhDLsqRIVU,7346
202
202
  torch_geometric/explain/algorithm/dummy_explainer.py,sha256=jvcVQmfngmUWgoKa5p7CXzju2HM5D5DfieJhZW3gbLc,2872
203
203
  torch_geometric/explain/algorithm/gnn_explainer.py,sha256=iu45fGWdd4c6wNczWEAT-29HCAz7ncuoaS6cpx-xDJM,24660
204
- torch_geometric/explain/algorithm/graphmask_explainer.py,sha256=T2B081dK-JSpaQmutnkQd5xF3JF49_dPZCOgwqIKJDk,21367
204
+ torch_geometric/explain/algorithm/graphmask_explainer.py,sha256=6DisYN-dz2vhr1AlTPBIq6xSmpDdaNu306JKeLObNVI,21377
205
205
  torch_geometric/explain/algorithm/pg_explainer.py,sha256=LMlNcqSqtEP-IzYA7Xix6FoAogcrLUaEUAxDVyz2eyc,20162
206
206
  torch_geometric/explain/algorithm/utils.py,sha256=eh0ARPG41V7piVw5jdMYpV0p7WjTlpehnY-bWqPV_zg,2564
207
207
  torch_geometric/explain/metric/__init__.py,sha256=swLeuWVaM3K7UvowsH7q3BzfTq_W1vhcFY8nEP7vFPQ,301
@@ -278,7 +278,7 @@ torch_geometric/loader/ibmb_loader.py,sha256=11sg918nIbybr2hoFEO-HA1wYNkL6GFMK9y
278
278
  torch_geometric/loader/imbalanced_sampler.py,sha256=clPERglHRk5SyeFevDrgezYFl7ir975OVFMyJwOV090,3754
279
279
  torch_geometric/loader/link_loader.py,sha256=xX9C6c3K5oWAcjMygeDOdxv1mzkP8ePideehsLaDu-w,16207
280
280
  torch_geometric/loader/link_neighbor_loader.py,sha256=CWv1lO_1Anml8kB60-WG4m_AK1rvqP1jwROV6tHWivo,14383
281
- torch_geometric/loader/mixin.py,sha256=R4pWv18hDADa-v1u9xGD8U4DzW_B1i9Fu4LywZLK16Y,10922
281
+ torch_geometric/loader/mixin.py,sha256=XX2tIXoFj0dYexUiUhTfVCXAQyL63fpk5bS5FqkXo5U,10946
282
282
  torch_geometric/loader/neighbor_loader.py,sha256=vnLn_RhBKTux5h8pi0vzj0d7JPoOpLA3n3vjyIWv9lo,12452
283
283
  torch_geometric/loader/neighbor_sampler.py,sha256=mraVFXIIGctYot4Xr2VOAhCKAOQyW2gP9KROf7g6tcc,8497
284
284
  torch_geometric/loader/node_loader.py,sha256=g_kV5N0tO6eMSFPc5fdbzfHr4COAeKVJi7FEq52f4zc,11848
@@ -312,7 +312,7 @@ torch_geometric/nn/to_hetero_transformer.py,sha256=YS4gFOhnMuDstFTPvR18FDyXNaTxx
312
312
  torch_geometric/nn/to_hetero_with_bases_transformer.py,sha256=ErWnsgYYHlQgzwdg0eUlgR6fauWPdnddS7XB5ji3OVk,22974
313
313
  torch_geometric/nn/aggr/__init__.py,sha256=_a01GujVyoRSE6-2driodMhC8-jJss4WNIhairYmhHY,1645
314
314
  torch_geometric/nn/aggr/attention.py,sha256=ZaZQijQGDx7Mfsk-kDlxJSCDjN1Vp02YyblR5-3SmnY,2952
315
- torch_geometric/nn/aggr/base.py,sha256=tdGVR8o4hPpeGO_iNkBaAwS0tvCYT2OnToeGU21eW5Q,8218
315
+ torch_geometric/nn/aggr/base.py,sha256=vcWHJlS51mfdYHWmnWEN8b1D57mPM5Y8nqqdVnFm82M,8225
316
316
  torch_geometric/nn/aggr/basic.py,sha256=5CRXpm0VVZb22fMPbMMdqQgh97RYiKiUgZGq3hr7Gbw,11011
317
317
  torch_geometric/nn/aggr/deep_sets.py,sha256=2LSxJJZaWuxRJew-pubmMYc2ynLYWeTyVK47k6OUhq0,2650
318
318
  torch_geometric/nn/aggr/equilibrium.py,sha256=ACGzBR55DeLAeibvGnLH89jCDANn9ET0vDFdgqtzVEs,6639
@@ -372,7 +372,7 @@ torch_geometric/nn/conv/hgt_conv.py,sha256=lUhTWUMovMtn9yR_b2-kLNLqHChGOUl2OtXBY
372
372
  torch_geometric/nn/conv/hypergraph_conv.py,sha256=4BosbbqJyprlI6QjPqIfMxCqnARU_0mUn1zcAQhbw90,8691
373
373
  torch_geometric/nn/conv/le_conv.py,sha256=DonmmYZOKk5wIlTZzzIfNKqBY6MO0MRxYhyr0YtNz-Q,3494
374
374
  torch_geometric/nn/conv/lg_conv.py,sha256=8jMa79iPsOUbXEfBIc3wmbvAD8T3d1j37LeIFTX3Yag,2369
375
- torch_geometric/nn/conv/message_passing.py,sha256=Pt5YPXrjRh8BLx16ItewAsfK-b0TRZPVMhPw_Czpyvk,44346
375
+ torch_geometric/nn/conv/message_passing.py,sha256=ynTp5MlvHB4SFYnuetK4wWi_1Bj_FhDGAJbf6ZmhEqY,44360
376
376
  torch_geometric/nn/conv/mf_conv.py,sha256=SkOGMN1tFT9dcqy8xYowsB2ozw6QfkoArgR1BksZZaU,4340
377
377
  torch_geometric/nn/conv/mixhop_conv.py,sha256=qVDPWeWcnO7_eHM0ZnpKtr8SISjb4jp0xjgpoDrwjlk,4555
378
378
  torch_geometric/nn/conv/nn_conv.py,sha256=X215RSARaJcfI0JOC7K8ybZMq7SoiO_JhJdp9pPRnE8,4759
@@ -511,7 +511,7 @@ torch_geometric/profile/profile.py,sha256=cHCY4U0XtyqyKC5u380q6TspsOZ5tGHNXaZsKu
511
511
  torch_geometric/profile/profiler.py,sha256=rfNciRzWDka_BgO6aPFi3cy8mcT4lSgFWy-WfPgI2SI,16891
512
512
  torch_geometric/profile/utils.py,sha256=7h6vzTzW8vv-ZqMOz2DV8HHNgC9ViOrN7IR9d3BPDZ8,5497
513
513
  torch_geometric/sampler/__init__.py,sha256=0h_xJ7CQnlTxF5hUpc81WPQ0QaBtouG8eKK1RzPGA-s,512
514
- torch_geometric/sampler/base.py,sha256=kT6hYM6losYta3pqLQlqiqboJiujLy6RlH8qM--U_wg,26970
514
+ torch_geometric/sampler/base.py,sha256=glbuSNcI0A_y-O3x29jqQpSSqSWxUDKJk5vM8uVF8Gs,26980
515
515
  torch_geometric/sampler/hgt_sampler.py,sha256=UAm8_wwzEcziKDJ8-TnfZh1705dXRsy_I5PKhZSDTK8,2721
516
516
  torch_geometric/sampler/neighbor_sampler.py,sha256=MAVphWqNf0-cwlHRvdiU8de86dBxwjm3Miam_6s1ep4,33971
517
517
  torch_geometric/sampler/utils.py,sha256=RJtasO6Q7Pp3oYEOWrbf2DEYuSfuKZOsF2I7-eJDnoA,5485
@@ -620,7 +620,7 @@ torch_geometric/utils/hetero.py,sha256=ok4uAAOyMiaeEPmvyS4DNoDwdKnLS2gmgs5WVVklx
620
620
  torch_geometric/utils/isolated.py,sha256=nUxCfMY3q9IIFjelr4eyAJH4sYG9W3lGdpWidnp3dm4,3588
621
621
  torch_geometric/utils/laplacian.py,sha256=ludDil4yS1A27PEuYOjZtCtE3o-t0lnucJKfiqENhvM,3695
622
622
  torch_geometric/utils/loop.py,sha256=MUWUS7a5GxuxLKlCtRq95U1hc3MndybAhqKD5IAe2RY,23051
623
- torch_geometric/utils/map.py,sha256=9cFjupKxyWT2zVcjDzEAMoV8jDviFJB6siwu9iDlV_E,5919
623
+ torch_geometric/utils/map.py,sha256=Bioo-NrnH2LBcPsnBJEQjLl0hGnoJkIYgfoLd0ffP5Y,5926
624
624
  torch_geometric/utils/mask.py,sha256=WOsfZLOMf1bunlwI6RH3evptbu0eOwNg19t6VOYboIo,2340
625
625
  torch_geometric/utils/mesh_laplacian.py,sha256=dqUEp7sOCBhWZPnUMAqa93OAj30dTDshcUpstt2iZDc,4387
626
626
  torch_geometric/utils/mixin.py,sha256=h4r5acaeEZ2azvwBcUbybevuoyhLE8qLBiERU7V9w20,699
@@ -636,7 +636,7 @@ torch_geometric/utils/undirected.py,sha256=H_nfpI0_WluOG6VfjPyldvcjL4w5USAKWu2x5
636
636
  torch_geometric/visualization/__init__.py,sha256=b-HnVesXjyJ_L1N-DnjiRiRVf7lhwKaBQF_2i5YMVSU,208
637
637
  torch_geometric/visualization/graph.py,sha256=PoI9tjbEXZVkMUg4CvTLbzqtEfzUwMUcsw57DNBEU0s,14311
638
638
  torch_geometric/visualization/influence.py,sha256=CWMvuNA_Nf1sfbJmQgn58yS4OFpeKXeZPe7kEuvkUBw,477
639
- pyg_nightly-2.7.0.dev20250501.dist-info/licenses/LICENSE,sha256=ic-27cMJc1kWoMEYncz3Ya3Ur2Bi3bNLWib2DT763-o,1067
640
- pyg_nightly-2.7.0.dev20250501.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
641
- pyg_nightly-2.7.0.dev20250501.dist-info/METADATA,sha256=e9o73e1foK1fujj2QM22ROzTGGYygxt129at-dWOelk,62979
642
- pyg_nightly-2.7.0.dev20250501.dist-info/RECORD,,
639
+ pyg_nightly-2.7.0.dev20250502.dist-info/licenses/LICENSE,sha256=ic-27cMJc1kWoMEYncz3Ya3Ur2Bi3bNLWib2DT763-o,1067
640
+ pyg_nightly-2.7.0.dev20250502.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
641
+ pyg_nightly-2.7.0.dev20250502.dist-info/METADATA,sha256=uN89LKXFS5kEbe4cQl4Rt5sBrZdeelM03nMSwqZ03gw,62979
642
+ pyg_nightly-2.7.0.dev20250502.dist-info/RECORD,,
@@ -31,7 +31,7 @@ from .lazy_loader import LazyLoader
31
31
  contrib = LazyLoader('contrib', globals(), 'torch_geometric.contrib')
32
32
  graphgym = LazyLoader('graphgym', globals(), 'torch_geometric.graphgym')
33
33
 
34
- __version__ = '2.7.0.dev20250501'
34
+ __version__ = '2.7.0.dev20250502'
35
35
 
36
36
  __all__ = [
37
37
  'Index',
@@ -125,8 +125,8 @@ class Batch(metaclass=DynamicInheritance):
125
125
  cls=self.__class__.__bases__[-1],
126
126
  batch=self,
127
127
  idx=idx,
128
- slice_dict=getattr(self, '_slice_dict'),
129
- inc_dict=getattr(self, '_inc_dict'),
128
+ slice_dict=self._slice_dict,
129
+ inc_dict=self._inc_dict,
130
130
  decrement=True,
131
131
  )
132
132
 
@@ -230,9 +230,9 @@ class LargeGraphIndexer:
230
230
  "Only non-mapped features can be retrieved uniquely.")
231
231
  return ordered_set(self.get_node_features(feature_name))
232
232
 
233
- except KeyError:
233
+ except KeyError as e:
234
234
  raise AttributeError(
235
- f"Nodes do not have a feature called {feature_name}")
235
+ f"Nodes do not have a feature called {feature_name}") from e
236
236
 
237
237
  def add_node_feature(
238
238
  self,
@@ -354,9 +354,9 @@ class LargeGraphIndexer:
354
354
  raise IndexError(
355
355
  "Only non-mapped features can be retrieved uniquely.")
356
356
  return ordered_set(self.get_edge_features(feature_name))
357
- except KeyError:
357
+ except KeyError as e:
358
358
  raise AttributeError(
359
- f"Edges do not have a feature called {feature_name}")
359
+ f"Edges do not have a feature called {feature_name}") from e
360
360
 
361
361
  def add_edge_feature(
362
362
  self,
@@ -138,9 +138,9 @@ class DistLoader:
138
138
  # close RPC & worker group at exit:
139
139
  atexit.register(shutdown_rpc, self.current_ctx_worker.worker_name)
140
140
 
141
- except RuntimeError:
141
+ except RuntimeError as e:
142
142
  raise RuntimeError(f"`{self}.init_fn()` could not initialize the "
143
- f"worker loop of the neighbor sampler")
143
+ f"worker loop of the neighbor sampler") from e
144
144
 
145
145
  def __repr__(self) -> str:
146
146
  return f'{self.__class__.__name__}(pid={self.pid})'
@@ -166,7 +166,7 @@ class ExplainerAlgorithm(torch.nn.Module):
166
166
  elif self.model_config.return_type == ModelReturnType.probs:
167
167
  loss_fn = F.binary_cross_entropy
168
168
  else:
169
- assert False
169
+ raise AssertionError()
170
170
 
171
171
  return loss_fn(y_hat.view_as(y), y.float())
172
172
 
@@ -183,7 +183,7 @@ class ExplainerAlgorithm(torch.nn.Module):
183
183
  elif self.model_config.return_type == ModelReturnType.log_probs:
184
184
  loss_fn = F.nll_loss
185
185
  else:
186
- assert False
186
+ raise AssertionError()
187
187
 
188
188
  return loss_fn(y_hat, y)
189
189
 
@@ -274,7 +274,7 @@ class GraphMaskExplainer(ExplainerAlgorithm):
274
274
  elif self.model_config.mode == ModelMode.regression:
275
275
  loss = self._loss_regression(y_hat, y)
276
276
  else:
277
- assert False
277
+ raise AssertionError()
278
278
 
279
279
  g = torch.relu(loss - self.allowance).mean()
280
280
  f = penalty * self.penalty_scaling
@@ -265,7 +265,7 @@ class Explainer:
265
265
  return (prediction > 0).long().view(-1)
266
266
  if self.model_config.return_type == ModelReturnType.probs:
267
267
  return (prediction > 0.5).long().view(-1)
268
- assert False
268
+ raise AssertionError()
269
269
 
270
270
  if self.model_config.mode == ModelMode.multiclass_classification:
271
271
  return prediction.argmax(dim=-1)
@@ -103,7 +103,7 @@ class ExplanationMixin:
103
103
  out[index] = 1.0
104
104
  return out.view(mask.size())
105
105
 
106
- assert False
106
+ raise AssertionError()
107
107
 
108
108
  def threshold(
109
109
  self,
@@ -106,9 +106,9 @@ class MultithreadingMixin:
106
106
  def _mt_init_fn(self, worker_id: int) -> None:
107
107
  try:
108
108
  torch.set_num_threads(int(self._worker_threads))
109
- except IndexError:
109
+ except IndexError as e:
110
110
  raise ValueError(f"Cannot set {self.worker_threads} threads "
111
- f"in worker {worker_id}")
111
+ f"in worker {worker_id}") from e
112
112
 
113
113
  # Chain worker init functions:
114
114
  self._old_worker_init_fn(worker_id)
@@ -213,9 +213,9 @@ class AffinityMixin:
213
213
 
214
214
  psutil.Process().cpu_affinity(worker_cores)
215
215
 
216
- except IndexError:
216
+ except IndexError as e:
217
217
  raise ValueError(f"Cannot use CPU affinity for worker ID "
218
- f"{worker_id} on CPU {self.loader_cores}")
218
+ f"{worker_id} on CPU {self.loader_cores}") from e
219
219
 
220
220
  # Chain worker init functions:
221
221
  self._old_worker_init_fn(worker_id)
@@ -135,7 +135,7 @@ class Aggregation(torch.nn.Module):
135
135
  if index.numel() > 0 and dim_size <= int(index.max()):
136
136
  raise ValueError(f"Encountered invalid 'dim_size' (got "
137
137
  f"'{dim_size}' but expected "
138
- f">= '{int(index.max()) + 1}')")
138
+ f">= '{int(index.max()) + 1}')") from e
139
139
  raise e
140
140
 
141
141
  def __repr__(self) -> str:
@@ -276,7 +276,7 @@ class MessagePassing(torch.nn.Module):
276
276
  f"{index.min().item()}). Please ensure that all "
277
277
  f"indices in 'edge_index' point to valid indices "
278
278
  f"in the interval [0, {src.size(self.node_dim)}) in "
279
- f"your node feature matrix and try again.")
279
+ f"your node feature matrix and try again.") from e
280
280
 
281
281
  if (index.numel() > 0 and index.max() >= src.size(self.node_dim)):
282
282
  raise IndexError(
@@ -285,7 +285,7 @@ class MessagePassing(torch.nn.Module):
285
285
  f"{index.max().item()}). Please ensure that all "
286
286
  f"indices in 'edge_index' point to valid indices "
287
287
  f"in the interval [0, {src.size(self.node_dim)}) in "
288
- f"your node feature matrix and try again.")
288
+ f"your node feature matrix and try again.") from e
289
289
 
290
290
  raise e
291
291
 
@@ -423,7 +423,7 @@ class NumNeighbors:
423
423
  elif isinstance(self.values, dict):
424
424
  default = self.default
425
425
  else:
426
- assert False
426
+ raise AssertionError()
427
427
 
428
428
  # Confirm that `values` only hold valid edge types:
429
429
  if isinstance(self.values, dict):
torch_geometric/typing.py CHANGED
@@ -70,12 +70,12 @@ try:
70
70
  WITH_WEIGHTED_NEIGHBOR_SAMPLE = ('edge_weight' in inspect.signature(
71
71
  pyg_lib.sampler.neighbor_sample).parameters)
72
72
  try:
73
- torch.classes.pyg.CPUHashMap
73
+ torch.classes.pyg.CPUHashMap # noqa: B018
74
74
  WITH_CPU_HASH_MAP = True
75
75
  except Exception:
76
76
  WITH_CPU_HASH_MAP = False
77
77
  try:
78
- torch.classes.pyg.CUDAHashMap
78
+ torch.classes.pyg.CUDAHashMap # noqa: B018
79
79
  WITH_CUDA_HASH_MAP = True
80
80
  except Exception:
81
81
  WITH_CUDA_HASH_MAP = False
@@ -148,10 +148,11 @@ def map_index(
148
148
  if inclusive:
149
149
  try:
150
150
  out = from_dlpack(result['right_ser'].to_dlpack())
151
- except ValueError:
152
- raise ValueError("Found invalid entries in 'src' that do not "
153
- "have a corresponding entry in 'index'. Set "
154
- "`inclusive=False` to ignore these entries.")
151
+ except ValueError as e:
152
+ raise ValueError(
153
+ "Found invalid entries in 'src' that do not "
154
+ "have a corresponding entry in 'index'. Set "
155
+ "`inclusive=False` to ignore these entries.") from e
155
156
  else:
156
157
  out = from_dlpack(result['right_ser'].fillna(-1).to_dlpack())
157
158