import os
import tensorflow as tf
from tensorflow import keras
import tf_geometric as tfg
from tf_geometric.utils import tf_utils
from tf_geometric.utils.graph_utils import edge_train_test_split, negative_sampling
# from sklearn.metrics import roc_auc_score
# import numpy as np
import time
os.environ["CUDA_VISIBLE_DEVICES"] = "0" # 设置使用GPU 0
# 自己构建数据集的方法
# graph = tfg.Graph(
# x=np.random.randn(5, 20), # 5 nodes, 20 features,
# edge_index=[[0, 0, 1, 3],
# [1, 2, 2, 1]] # 4 undirected edges
# )
graph, (train_index, valid_index, test_index) = tfg.datasets.CoraDataset().load_data()
print("特征矩阵:\n", graph.x.shape) # 矩阵,包含所有节点的BOW特征
print("边矩阵:\n", graph.edge_index.shape) # 矩阵,包含所有的边信息
# 训练测试分离时,我们将边转换为无向边,也即只在右上角的矩阵中采样
undirected_train_edge_index, undirected_test_edge_index, _, _ = edge_train_test_split(
edge_index=graph.edge_index,
test_size=0.15,
)
基于Tensorflow2_goemetric(tfg)的Graph Autoencoder(GAE)实现
最新推荐文章于 2024-05-13 09:44:38 发布