| 515 | } |
| 516 | |
| 517 | static TLogger CreateLogger( |
| 518 | const TString& token, |
| 519 | const TString& resultDir, |
| 520 | const TString& metricsFile, |
| 521 | int iterationBegin, |
| 522 | int iterationEnd, |
| 523 | int iterationPeriod, |
| 524 | bool saveMetrics, |
| 525 | const TVector<const IMetric*>& metrics |
| 526 | ) { |
| 527 | TLogger logger(iterationBegin, iterationEnd - 1, iterationPeriod); |
| 528 | if (saveMetrics) { |
| 529 | logger.AddBackend( |
| 530 | token, |
| 531 | TIntrusivePtr<ILoggingBackend>(new TErrorFileLoggingBackend(JoinFsPaths(resultDir, metricsFile)))); |
| 532 | } |
| 533 | logger.AddBackend( |
| 534 | token, |
| 535 | TIntrusivePtr<ILoggingBackend>(new TTensorBoardLoggingBackend(JoinFsPaths(resultDir, token)))); |
| 536 | |
| 537 | const int iterationsCount = ceil((iterationEnd - iterationBegin) / (iterationPeriod + 0.0)); |
| 538 | auto metaJson = GetJsonMeta( |
| 539 | iterationsCount, |
| 540 | /*optionalExperimentName=*/ "", |
| 541 | metrics, |
| 542 | /*learnSetNames=*/ {}, |
| 543 | { token }, |
| 544 | /*parametersName=*/ "", |
| 545 | ELaunchMode::Eval); |
| 546 | logger.AddBackend( |
| 547 | token, |
| 548 | TIntrusivePtr<ILoggingBackend>( |
| 549 | new TJsonLoggingBackend(JoinFsPaths(resultDir, "catboost_training.json"), metaJson))); |
| 550 | return logger; |
| 551 | } |
| 552 | |
| 553 | TMetricsPlotCalcer& TMetricsPlotCalcer::SaveResult( |
| 554 | const TString& resultDir, |
no test coverage detected