-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
36 lines (26 loc) · 1.23 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
from src.datasets.dataset_factory import create_dataset
from src.classifiers.classifier_factory import create_classifier
from src.experiment import Experiment
from src.io.args import parse_args
import argparse
from src.io.config import load_config
from src.io.report import write_report
def main():
# obter os nomes dos arquivos de configuracao e de saida da linha de comando
parser = argparse.ArgumentParser()
parser.add_argument("config_path", type= str)#arquivo de configuração
parser.add_argument("report_path", type= str)#arquivo de saida da linha de comando
argumentos = parser.parse_args()
# le o arquivo json e retorna como um dicionario
config = load_config(argumentos.config_path)
#cria os datasets de acordo com o que foi passado no arquivo json
train_dataset = create_dataset(config["train_path"], config["type"])
test_dataset = create_dataset(config["test_path"], config["type"])
classifier = create_classifier(config["classifier"])
experiment = Experiment(train_dataset, test_dataset)
metrics = experiment.run(classifier)
# escreve o arquivo de saida
write_report(argumentos.report_path, config, metrics)
print("Success.")
if __name__ == "__main__":
main()