Пример #1
0
    def main(self):
        """
        Method executing the whole pipeline.
        """
        ##
        # get data
        ##
        if (self.dataset in DataLoader.default_datasets
                or os.path.exists(self.dataset)):
            dataLoader = DataLoader(DataLoader.default_datasets[self.dataset])
            data = dataLoader.load()
            self.model_params['img_size'] = data.get_dimensions()
            self.model_params['label_size'] = data.get_label_dimensions()
        else:
            print("Dataset " + self.dataset + " does not exist. Aborting...")
            return -1

        ###
        # Potential Graph creation
        ###
        if not os.path.exists(os.path.join(self.model_folder, 'model.meta')):
            builder = GraphBuilder()
            builder.build_graph(self.model_name, self.model_params)

        ###
        # Network training
        ###
        if self.do_training:
            network = Network(self.model_name, self.model_folder, self.opt,
                              self.opt_params, self.num_epochs,
                              self.batch_size, data, self.summary_folder,
                              self.summary_intervals, self.complete_set,
                              self.keep_prob, self.l2_reg, self.clip_gradient,
                              self.clip_value)
            network.load_and_train()

        ###
        # Evaluation
        ###
        if self.do_eval:
            evaluator = Evaluation(data, self.model_folder,
                                   self.summary_folder, self.model_name,
                                   self.summary_folder, self.batch_size,
                                   **self.eval_params)
            evaluator.evaluate()
            print('Finished Evaluation.')

        ###
        # Tensorboard
        ###
        if self.tensorboard and self.do_training:
            print("Opening Tensorboard")
            os.system("tensorboard --logdir=" + self.summary_folder)
Пример #2
0
    def test_build_graph(self):
        #relations = pd.read_csv('..\\..\\..\\Data\\combined_course_structure.csv')
        #node_names = list(relations['postreq'])
        #print(node_names)

        #gb = GraphBuilder(node_names, relations)
        #g = gb.build_graph()
        #print(g.get_node('Calculus and Analytic Geometry I').get_parents()[0].get_name())

        relations = pd.read_csv('..\\..\\..\\Data\\combined_course_structure.csv')
        data = pd.read_csv('..\\..\\ExcelFiles\\courses_and_grades.csv')

        node_names = list(data.columns)
        gb = GraphBuilder(node_names, relations)
        g = gb.build_graph()
        print(g)
Пример #3
0
from bayesian_network import BayesianNetwork
from knowledge_base import KnowledgeBase
from graph_builder import GraphBuilder

if __name__ == "__main__":
    _data_file_path = '..\\ExcelFiles\\courses_and_grades.csv'
    _relations_file_path = '..\\..\\Data\\combined_course_structure.csv'

    knowledge_base = KnowledgeBase(_relations_file_path, _data_file_path)

    builder = GraphBuilder()
    builder = builder.build_nodes(list(knowledge_base.get_data().columns))
    builder = builder.add_parents(knowledge_base.get_relations())
    builder = builder.add_children()
    builder = builder.build_edges()

    graph = builder.build_graph()

    nodes = graph.get_nodes()

    # bayes_net = BayesianNetwork(knowledge_base, graph)
    # print(bayes_net.get_graph().get_node('Calculus and Analytic Geometry I').get_parents())