-
Notifications
You must be signed in to change notification settings - Fork 558
Euler 2.0 快速开始
origin edited this page Jun 30, 2020
·
3 revisions
本章的章节安排如下:
在项目的根目录下的example中有多种图模型的算法实现,下面我们以算法graphsage,数据集cora为例子介绍如何快速上手euler.
在训练模型之前,我们需要准备符合euler2.0格式的数据(详见Euler-2.0 数据准备)。euler2.0提供了常用的数据集下载和格式转换的python脚本,详见这里。 用户可以通过以下python代码加载数据,以加载cora为例:
import tf_euler
euler_graph = tf_euler.dataset.get_dataset('cora')
euler_graph.load_graph()
cd examples/graphsage
python run_graphsage.py
python run_graphsage.py --run_mode evaluate
首先运行
python run_graphsage.py --run_mode infer
之后当前目录的 ckpt/embedding_0.npy 文件就是embedding文件 当前目录的 ckpt/ids_0.npy 文件就是node id文件 读取npy文件的方式
import numpy as np
with open('ckpt/embedding_0.npy', 'rb') as emb_f:
embedding = np.load(emb_f) # 每个节点id对应的embedding
with open('ckpt/ids_0.npy', 'rb') as id_f:
idx = np.load(id_f) # 所有的节点id
print idx # 所有的节点id
print embedding # 每个节点id对应的embedding
-
产生embedding,(由Embedding导出得到)
-
产生你需要查询的向量文件,这里为query.txt, 每个向量一行,向量各维之间以逗号分隔
python knn/knn.py --embedding_file ckpt/embedding_0.npy --id_file ckpt/ids_0.npy --query_file query.txt
该命令会产生每个query的top10近邻,结果会输出到一个本地的pickle文件result.pkl, 包含id和距离。