#include <cstdio> #include "fmt/core.h" #include "util.hpp" #include "BaseConfig.hpp" #include "SubConfig.hpp" #include "TransitionSet.hpp" #include "ReadingMachine.hpp" #include "Trainer.hpp" int main(int argc, char * argv[]) { if (argc != 5) { fmt::print(stderr, "needs 4 arguments.\n"); exit(1); } std::string machineFile = argv[1]; std::string mcdFile = argv[2]; std::string tsvFile = argv[3]; //std::string rawFile = argv[4]; std::string rawFile = ""; ReadingMachine machine(machineFile); BaseConfig goldConfig(mcdFile, tsvFile, rawFile); SubConfig config(goldConfig); Trainer trainer(machine); trainer.createDataset(config); int nbEpoch = 5; for (int i = 0; i < nbEpoch; i++) { float loss = trainer.epoch(); fmt::print("\r{:80}", " "); fmt::print("\rEpoch {}/{} loss = {}\n", i+1, nbEpoch, loss); } return 0; }