MCPcopy Create free account
hub / github.com/catboost/catboost / mode_eval_feature

Function mode_eval_feature

catboost/app/mode_eval_feature.cpp:26–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24
25
26int mode_eval_feature(int argc, const char* argv[]) {
27 ConfigureMalloc();
28
29 NJson::TJsonValue catBoostFlatJsonOptions;
30 TString paramsFile;
31 NCatboostOptions::TPoolLoadParams poolLoadParams;
32 NJson::TJsonValue featureEvalJsonOptions;
33 ParseFeatureEvalCommandLine(
34 argc,
35 argv,
36 &catBoostFlatJsonOptions,
37 &featureEvalJsonOptions,
38 &paramsFile,
39 &poolLoadParams
40 );
41
42 CB_ENSURE(poolLoadParams.TestSetPaths.empty(), "Test files are not supported in feature evaluation mode");
43
44 NJson::TJsonValue catBoostJsonOptions;
45 NJson::TJsonValue outputOptionsJson;
46 InitOptions(paramsFile, &catBoostJsonOptions, &outputOptionsJson);
47 NCatboostOptions::LoadPoolMetaInfoOptions(poolLoadParams.PoolMetaInfoPath, &catBoostJsonOptions);
48
49 ConvertIgnoredFeaturesFromStringToIndices(poolLoadParams, &catBoostFlatJsonOptions);
50 ConvertFeaturesToEvaluateFromStringToIndices(poolLoadParams, &featureEvalJsonOptions);
51 NCatboostOptions::PlainJsonToOptions(catBoostFlatJsonOptions, &catBoostJsonOptions, &outputOptionsJson);
52 #if defined(HAVE_CUDA)
53 THolder<TStopCudaManagerCallback> stopCudaManagerGuard;
54 if (NCatboostOptions::GetTaskType(catBoostFlatJsonOptions) == ETaskType::GPU) {
55 auto options = NCatboostOptions::LoadOptions(catBoostJsonOptions);
56 stopCudaManagerGuard = StartCudaManager(
57 NCudaLib::CreateDeviceRequestConfig(options),
58 options.LoggingLevel);
59 }
60 #endif
61 ConvertParamsToCanonicalFormat(poolLoadParams, &catBoostJsonOptions);
62 CopyIgnoredFeaturesToPoolParams(catBoostJsonOptions, &poolLoadParams);
63
64 const auto taskType = NCatboostOptions::GetTaskType(catBoostJsonOptions);
65 NCatboostOptions::TCatBoostOptions catBoostOptions(taskType);
66 catBoostOptions.Load(catBoostJsonOptions);
67 NCatboostOptions::TFeatureEvalOptions featureEvalOptions;
68 featureEvalOptions.Load(featureEvalJsonOptions);
69
70 NPar::LocalExecutor().RunAdditionalThreads(catBoostOptions.SystemOptions->NumThreads - 1);
71
72 TVector<NJson::TJsonValue> classLabels = catBoostOptions.DataProcessingOptions->ClassLabels;
73 const auto objectsOrder = EObjectsOrder::Undefined;
74 auto pools = NCB::ReadTrainDatasets(
75 Nothing(), // taskType,
76 poolLoadParams,
77 objectsOrder,
78 /*readTestData*/false,
79 /*learnDatasetSubset*/ TDatasetSubset::MakeColumns(),
80 /*testDatasetSubsets*/ {},
81 catBoostOptions.DataProcessingOptions->ForceUnitAutoPairWeights,
82 &classLabels,
83 &NPar::LocalExecutor(),

Callers

nothing calls this directly

Calls 15

ConfigureMallocFunction · 0.85
InitOptionsFunction · 0.85
LoadPoolMetaInfoOptionsFunction · 0.85
StartCudaManagerFunction · 0.85
ReadTrainDatasetsFunction · 0.85
NothingFunction · 0.85
EvaluateFeaturesFunction · 0.85

Tested by

no test coverage detected