|
|
@ -1,15 +1,15 @@ |
|
|
|
import tensorflow as tf |
|
|
|
import tensorflow as tf |
|
|
|
import numpy as np |
|
|
|
import numpy as np |
|
|
|
|
|
|
|
|
|
|
|
flags = tf.app.flags |
|
|
|
flags = tf.app.flags |
|
|
|
FLAGS = flags.FLAGS |
|
|
|
FLAGS = flags.FLAGS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flags.DEFINE_integer('hidden3', 64, 'Number of units in hidden layer 3.') |
|
|
|
flags.DEFINE_integer('hidden3', 64, 'Number of units in hidden layer 3.') |
|
|
|
flags.DEFINE_integer('discriminator_out', 0, 'discriminator_out.') |
|
|
|
flags.DEFINE_integer('discriminator_out', 0, 'discriminator_out.') |
|
|
|
flags.DEFINE_float('discriminator_learning_rate', 0.001, 'Initial learning rate.') |
|
|
|
flags.DEFINE_float('discriminator_learning_rate', 0.001, 'Initial learning rate.') |
|
|
|
flags.DEFINE_float('learning_rate', .6*0.001, 'Initial learning rate.') |
|
|
|
flags.DEFINE_float('learning_rate', .6 * 0.001, 'Initial learning rate.') |
|
|
|
flags.DEFINE_integer('hidden1', 32, 'Number of units in hidden layer 1.')#64 for Citeseer and Pubmed |
|
|
|
flags.DEFINE_integer('hidden1', 32, 'Number of units in hidden layer 1.') # 64 for Citeseer and Pubmed |
|
|
|
flags.DEFINE_integer('hidden2', 32, 'Number of units in hidden layer 2.')#64 for Citeseer and Pubmed |
|
|
|
flags.DEFINE_integer('hidden2', 32, 'Number of units in hidden layer 2.') # 64 for Citeseer and Pubmed |
|
|
|
flags.DEFINE_float('weight_decay', 0., 'Weight for L2 loss on embedding matrix.') |
|
|
|
flags.DEFINE_float('weight_decay', 0., 'Weight for L2 loss on embedding matrix.') |
|
|
|
flags.DEFINE_float('dropout', 0., 'Dropout rate (1 - keep probability).') |
|
|
|
flags.DEFINE_float('dropout', 0., 'Dropout rate (1 - keep probability).') |
|
|
|
flags.DEFINE_integer('features', 1, 'Whether to use features (1) or not (0).') |
|
|
|
flags.DEFINE_integer('features', 1, 'Whether to use features (1) or not (0).') |
|
|
@ -19,8 +19,7 @@ flags.DEFINE_integer('iterations', 60, 'number of iterations.') |
|
|
|
''' |
|
|
|
''' |
|
|
|
infor: number of clusters |
|
|
|
infor: number of clusters |
|
|
|
''' |
|
|
|
''' |
|
|
|
infor = {'cora': 7, 'citeseer': 6, 'pubmed':3} |
|
|
|
infor = {'cora': 7, 'citeseer': 6, 'pubmed': 3} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
''' |
|
|
|
''' |
|
|
|
We did not set any seed when we conducted the experiments described in the paper; |
|
|
|
We did not set any seed when we conducted the experiments described in the paper; |
|
|
@ -30,6 +29,7 @@ seed = 7 |
|
|
|
np.random.seed(seed) |
|
|
|
np.random.seed(seed) |
|
|
|
tf.set_random_seed(seed) |
|
|
|
tf.set_random_seed(seed) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_settings(dataname, model, task): |
|
|
|
def get_settings(dataname, model, task): |
|
|
|
if dataname != 'citeseer' and dataname != 'cora' and dataname != 'pubmed': |
|
|
|
if dataname != 'citeseer' and dataname != 'cora' and dataname != 'pubmed': |
|
|
|
print('error: wrong data set name') |
|
|
|
print('error: wrong data set name') |
|
|
@ -39,11 +39,10 @@ def get_settings(dataname, model, task): |
|
|
|
if task == 'clustering': |
|
|
|
if task == 'clustering': |
|
|
|
iterations = FLAGS.iterations |
|
|
|
iterations = FLAGS.iterations |
|
|
|
clustering_num = infor[dataname] |
|
|
|
clustering_num = infor[dataname] |
|
|
|
re = {'data_name': dataname, 'iterations' : iterations, 'clustering_num' :clustering_num, 'model' : model} |
|
|
|
re = {'data_name': dataname, 'iterations': iterations, 'clustering_num': clustering_num, 'model': model} |
|
|
|
elif task == 'link_prediction': |
|
|
|
elif task == 'link_prediction': |
|
|
|
iterations = 4 * FLAGS.iterations |
|
|
|
iterations = 4 * FLAGS.iterations |
|
|
|
print('epoch is', iterations) |
|
|
|
print('epoch is', iterations) |
|
|
|
re = {'data_name': dataname, 'iterations' : iterations,'model' : model} |
|
|
|
re = {'data_name': dataname, 'iterations': iterations, 'model': model} |
|
|
|
|
|
|
|
|
|
|
|
return re |
|
|
|
return re |
|
|
|
|
|
|
|
|
|
|
|