コード例 #1
0
    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()
コード例 #2
0
    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)
コード例 #3
0
ファイル: graph_gan.py プロジェクト: deysaikat95/GraphGAN
    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
コード例 #4
0
ファイル: graph_gan.py プロジェクト: bolongz/GraphGAN
 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)