-
Notifications
You must be signed in to change notification settings - Fork 558
使用指南
Siran Yang edited this page Jan 16, 2019
·
5 revisions
本节介绍Euler图学习算法包tf_eulr
的用法,用户将Euler的图数据准备好之后,可以使用命令行直接进行模型的训练,评估,和embedding导出。
python -m tf_euler --data_dir <data_dir> --mode <mode> [flags]
-
--data_dir
,指定图数据位置,必须; -
--mode
,指定运行模式:train / evaluate / save_embedding,默认值为train;
-
--train_node_type
,训练集顶点类型,默认0; -
--all_node_type
,全集顶点类型,默认-1; -
--train_edge_type
,训练集边类型,默认[0]; -
--all_edge_type
,全集边类型,默认[0, 1]; -
--max_id
,图中最大的顶点id,必须; -
--feature_idx
,稠密特征的编号,使用稠密特征必须; -
--feature_dim
,稠密特征维度,使用稠密特征必须; -
-—label_idx
,label在稠密特征中的编号,监督模型必须; -
--label_dim
,label在稠密特征中的维度,监督模型必须; -
--num_class
,分类个数,label为标量时必须; -
--id_file
,测试集id列表,evaluate必须;
-
--model_dir
,checkpoint路径,默认ckpt; -
--batch_size
,batch size,默认512; -
--optimizer
,优化器,默认adam; -
--learning_rate
,学习率,默认0.01; -
--num_epochs
,训练顶点轮数,默认10; -
--log_steps
,日志打印间隔步数,默认20;
-
--model
,模型名称,支持line / randomwalk / graphsage / graphsage_supervised / scalable_gcn / gat / saved_embedding; -
--dim
,embedding宽度,默认128; -
--sigmoid_loss
/--nosigmoid_loss
,使用sigmoid或者softmax作为损失函数,默认--sigmoid_loss
;
非监督模型
非监督模型
非监督模型 / 监督模型 / 监督模型
-
--fanouts
,每层的扩展数,默认[10, 10]; -
--aggregator
,汇聚类型,支持gcn / mean / meanpool / maxpool,默认mean; -
--concat
/--noconcat
,汇聚方法,参考GraphSAGE,默认--concat
;
监督模型
-
--head_num
,attention head数目,默认1;
监督模型
将modir_dir中的embedding.npy
文件导入作为稠密特征,并构建LR模型。用于评估非监督模型的效果。
tf_euler
使用ParamerServer的方式进行分布式训练,参考: Distributed TensorFlow。其中图查询引擎会自动在worker之间进行数据切分和共享。需要注意的是分布式训练时需要把图数据放置在HDFS上。
-
--worker_hosts
,worker列表,分布式训练必须; -
--ps_hosts
,ps列表,分布式训练必须; -
--task_name
,角色名称,ps或worker,分布式训练必须; -
--task_index
,角色索引,分布式训练必须;
上面所述的图学习相关参数在worker上必须。