У меня есть один граф, определяемый 4 матрицами: x
(характеристики узлов), y
(метки узлов), edge_index
(список ребер) и edge_attr
(особенности ребер). Я хочу создать набор данных в Pytorch Geometric с этим единственным графом и выполнить классификацию на уровне узлов. Кажется, что просто обернуть эти 4 матрицы в объект data
по какой-то причине не удается.
Я создал набор данных, содержащий атрибуты:
Data(edge_attr=[3339730, 1], edge_index=[2, 3339730], x=[6911, 50000], y=[6911, 1])
представляющий граф. Если я попытаюсь разрезать этот график, например:
train_dataset, test_dataset = dataset[:5000], dataset[5000:]
Я получаю сообщение об ошибке:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-11-feb278180c99> in <module>
3 # train_dataset, test_dataset = torch.utils.data.random_split(dataset, [train_size, test_size])
4
----> 5 train_dataset, test_dataset = dataset[:5000], dataset[5000:]
6
7 # Create dataloader for training and test dataset.
~/anaconda3/envs/py38/lib/python3.8/site-packages/torch_geometric/data/data.py in __getitem__(self, key)
92 def __getitem__(self, key):
93 r"""Gets the data of the attribute :obj:`key`."""
---> 94 return getattr(self, key, None)
95
96 def __setitem__(self, key, value):
TypeError: getattr(): attribute name must be string
Что я делаю не так при построении данных?