|
10 | 10 | from typing import Tuple
|
11 | 11 |
|
12 | 12 |
|
13 |
| -from bench import load_data, measure_function_time, parse_args, print_output, rmse_score |
14 |
| -from utils import get_accuracy |
| 13 | +from bench import load_data, measure_function_time, parse_args, rmse_score |
| 14 | +from utils import get_accuracy, print_output |
15 | 15 |
|
16 | 16 |
|
17 | 17 | parser = argparse.ArgumentParser(
|
|
80 | 80 | if 'OMP_NUM_THREADS' in environ.keys():
|
81 | 81 | lgbm_params['nthread'] = int(environ['OMP_NUM_THREADS'])
|
82 | 82 |
|
83 |
| -columns: Tuple[str, ...] = ('batch', 'arch', 'prefix', 'function', |
84 |
| - 'threads', 'dtype', 'size', 'num_trees') |
| 83 | +columns: Tuple[str, ...] = ('batch', 'arch', 'prefix', 'function', 'prep_function', |
| 84 | + 'threads', 'dtype', 'size', 'num_trees', 'time', 'prep_time') |
85 | 85 |
|
86 | 86 | if params.objective.startswith('reg'):
|
87 | 87 | task = 'regression'
|
88 | 88 | metric_name, metric_func = 'rmse', rmse_score
|
89 |
| - columns += ('rmse', 'time') |
| 89 | + columns += ('rmse',) |
90 | 90 | else:
|
91 | 91 | task = 'classification'
|
92 | 92 | metric_name, metric_func = 'accuracy[%]', get_accuracy
|
93 |
| - columns += ('n_classes', 'accuracy', 'time') |
| 93 | + columns += ('n_classes', 'accuracy') |
94 | 94 | if 'cudf' in str(type(y_train)):
|
95 | 95 | params.n_classes = y_train[y_train.columns[0]].nunique()
|
96 | 96 | else:
|
|
107 | 107 | t_train, model_lgbm = measure_function_time(
|
108 | 108 | lgbm.train, lgbm_params, lgbm_train, params=params, num_boost_round=params.n_estimators,
|
109 | 109 | valid_sets=lgbm_train, verbose_eval=False)
|
110 |
| -y_train_pred = model_lgbm.predict(X_train) |
111 |
| -train_metric = metric_func(y_train, y_train_pred) |
| 110 | +train_metric = None |
| 111 | +if X_train != X_test: |
| 112 | + y_train_pred = model_lgbm.predict(X_train) |
| 113 | + train_metric = metric_func(y_train, y_train_pred) |
112 | 114 |
|
113 | 115 | t_lgbm_pred, y_test_pred = measure_function_time(model_lgbm.predict, X_test, params=params)
|
114 |
| -test_metric_xgb = metric_func(y_test, y_test_pred) |
| 116 | +test_metric_lgbm = metric_func(y_test, y_test_pred) |
115 | 117 |
|
116 | 118 | t_trans, model_daal = measure_function_time(
|
117 | 119 | daal4py.get_gbt_model_from_lightgbm, model_lgbm, params=params)
|
|
130 | 132 |
|
131 | 133 | print_output(
|
132 | 134 | library='modelbuilders', algorithm=f'lightgbm_{task}_and_modelbuilder',
|
133 |
| - stages=['lgbm_train_matrix_create', 'lgbm_test_matrix_create', 'lgbm_training', |
134 |
| - 'lgbm_prediction', 'lgbm_to_daal_conv', 'daal_prediction'], |
| 135 | + stages=['lgbm_train', 'lgbm_predict', 'daal_predict'], |
135 | 136 | columns=columns, params=params,
|
136 | 137 | functions=['lgbm_dataset', 'lgbm_dataset', 'lgbm_train', 'lgbm_predict', 'lgbm_to_daal',
|
137 | 138 | 'daal_compute'],
|
138 |
| - times=[t_creat_train, t_creat_test, t_train, t_lgbm_pred, t_trans, t_daal_pred], |
139 |
| - accuracy_type=metric_name, accuracies=[0, 0, train_metric, test_metric_xgb, 0, |
140 |
| - test_metric_daal], |
141 |
| - data=[X_train, X_test, X_train, X_test, X_train, X_test]) |
| 139 | + times=[t_creat_train, t_train, t_creat_test, t_lgbm_pred, t_trans, t_daal_pred], |
| 140 | + accuracy_type=metric_name, accuracies=[train_metric, test_metric_lgbm, test_metric_daal], |
| 141 | + data=[X_train, X_test, X_test]) |
0 commit comments