def __init__(self): """initialize the parameters, prepare the data and build the network""" self.n_node, self.linked_nodes = utils.read_edges( config.train_filename, config.test_filename, config.n_node) self.discriminator = None self.generator = None print self.n_node self.n_node = config.n_node # If self.n_node is smaller than config.n_node, there is isolated nodes. self.root_nodes = [i for i in range(self.n_node)] print("start reading initial embeddings") # read the initial embeddings self.node_embed_init_d = utils.read_emd( filename=config.pretrain_emd_filename_d, n_node=config.n_node, n_embed=config.n_embed) self.node_embed_init_g = utils.read_emd( filename=config.pretrain_emd_filename_g, n_node=config.n_node, n_embed=config.n_embed) print("finish reading initial embeddings") # use the BFS to construct the trees print("Constructing Trees") if config.import_tree: self.trees = pickle.load(open(config.tree_path, 'r')) else: if config.app == "recommendation": self.mul_construct_trees_for_recommend(self.user_nodes) else: # classification self.mul_construct_trees(self.root_nodes) pickle.dump(self.trees, open(config.tree_path, 'w')) config.max_degree = utils.get_max_degree(self.linked_nodes) self.build_gan() self.initialize_network()
def __init__(self): """initialize the parameters, prepare the data and build the network""" self.n_node, self.linked_nodes = utils.read_edges( config.train_filename, config.test_filename) self.root_nodes = [i for i in range(self.n_node)] self.discriminator = None self.generator = None assert self.n_node == config.n_node print("start reading initial embeddings") # read the initial embeddings self.node_embed_init_d = utils.read_emd( filename=config.pretrain_emd_filename_d, n_node=config.n_node, n_embed=config.n_embed) self.node_embed_init_g = utils.read_emd( filename=config.pretrain_emd_filename_g, n_node=config.n_node, n_embed=config.n_embed) print("finish reading initial embeddings") # use the BFS to construct the trees print("Constructing Trees") if config.app == "recommendation": self.mul_construct_trees_for_recommend(self.user_nodes) else: # classification self.mul_construct_trees(self.root_nodes) config.max_degree = utils.get_max_degree(self.linked_nodes) self.build_gan() self.config = tf.ConfigProto() self.config.gpu_options.allow_growth = True self.init_op = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer()) self.sess = tf.Session(config=self.config) self.sess.run(self.init_op)
def __init__(self): """initialize the parameters, prepare the data and build the network""" self.n_node, self.linked_nodes = utils.read_edges( config.train_filename, config.test_filename) self.root_nodes = [i for i in range(self.n_node)] self.discriminator = None self.generator = None assert self.n_node == config.n_node print("start reading initial embeddings") # read the initial embeddings self.node_embed_init_d = utils.read_emd( filename=config.pretrain_emd_filename_d, n_node=config.n_node, n_embed=config.n_embed) self.node_embed_init_g = utils.read_emd( filename=config.pretrain_emd_filename_g, n_node=config.n_node, n_embed=config.n_embed) print("finish reading initial embeddings") # use the BFS to construct the trees print("Constructing Trees") if config.app == "recommendation": self.mul_construct_trees_for_recommend(self.user_nodes) else: # classification self.mul_construct_trees(self.root_nodes) config.max_degree = utils.get_max_degree(self.linked_nodes) self.generator = Generator(lambda_gen=config.lambda_gen, node_emd_init=self.node_embed_init_g) self.discriminator = Discriminator( lambda_dis=config.lambda_dis, node_emd_init=self.node_embed_init_d) self.generator.cuda() self.discriminator.cuda() self.all_score = None
def __init__(self): """initialize the parameters, prepare the data and build the network""" self.n_node, self.linked_nodes = utils.read_edges( config.train_filename, config.test_filename) self.root_nodes = [i for i in range(self.n_node) ] #root nodes for each node self.discriminator = None #none right now self.generator = None assert self.n_node == config.n_node # if equal print("start reading initial embeddings") # read the initial embeddings self.node_embed_init_d = utils.read_emd( filename=config.pretrain_emd_filename_d, n_node=config.n_node, n_embed=config.n_embed) self.node_embed_init_g = utils.read_emd( filename=config.pretrain_emd_filename_g, n_node=config.n_node, n_embed=config.n_embed) print("finish reading initial embeddings") # use the BFS to construct the trees print("Constructing Trees") if config.app == "recommendation": self.mul_construct_trees_for_recommend(self.user_nodes) else: # classification self.mul_construct_trees(self.root_nodes) print("after storing the data") config.max_degree = utils.get_max_degree(self.linked_nodes) print("config.max") self.build_gan() print("build gan") self.config = tf.ConfigProto() #device_count = {"GPU": 0, "CPU":1}) print("config self") self.config.gpu_options.allow_growth = True print("config gpu") #tf.group An operation that executes all its input self.init_op = tf.group(tf.global_variables_initializer(), tf.local_variables_initializer()) print("init op") self.sess = tf.Session(config=self.config) #self.sess = tf.Session() print("before run") self.sess.run(self.init_op)