Skip to content

Commit 5c6b810

Browse files
author
Sunil Thaha
authored
Merge pull request #441 from vimalk78/remove-xgboost
fix(xgboost): Remove xgboost dependency to reduce image sizes
2 parents 814f319 + a86b693 commit 5c6b810

File tree

5 files changed

+13
-6
lines changed

5 files changed

+13
-6
lines changed

.github/workflows/integration-test.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ env:
3535

3636
jobs:
3737
run-integration:
38-
if: ${{ (inputs.base_change != 'true') || ( (inputs.base_change == 'true') && (inputs.docker_secret == 'true') ) }}
3938
runs-on: ubuntu-20.04
4039
steps:
4140
- name: use Kepler action to deploy cluster

.github/workflows/tekton-test.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ env:
4242

4343
jobs:
4444
tekton-test:
45-
if: ${{ (inputs.base_change != 'true') || ( (inputs.base_change == 'true') && (inputs.docker_secret == 'true') ) }}
4645
runs-on: ubuntu-latest
4746
steps:
4847
- name: checkout

pyproject.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ dependencies = [
4040
"scipy==1.14.1",
4141
"seaborn==0.13.2",
4242
"Werkzeug==3.0.4",
43-
"xgboost==2.1.1",
4443
"boto3==1.34.155",
4544
"pymarkdownlnt==0.9.22",
4645
"yamllint==1.35.1",

src/kepler_model/estimate/model/model.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
import json
22
import logging
3+
import importlib.util as import_util
34

45
import pandas as pd
56

67
from kepler_model.estimate.model.curvefit_model import CurveFitModelEstimator
78
from kepler_model.estimate.model.scikit_model import ScikitModelEstimator
8-
from kepler_model.estimate.model.xgboost_model import XgboostModelEstimator
9+
10+
if import_util.find_spec("xgboost"):
11+
from kepler_model.estimate.model.xgboost_model import XgboostModelEstimator
12+
913
from kepler_model.util.config import download_path
1014
from kepler_model.util.loader import get_download_output_path, load_metadata
1115
from kepler_model.util.prom_types import valid_container_query
@@ -17,11 +21,13 @@
1721
# model wrapper
1822
MODELCLASS = {
1923
"scikit": ScikitModelEstimator,
20-
"xgboost": XgboostModelEstimator,
2124
"curvefit": CurveFitModelEstimator,
2225
# 'keras': KerasModelEstimator,
2326
}
2427

28+
if import_util.find_spec("xgboost"):
29+
MODELCLASS["xgboost"] = XgboostModelEstimator
30+
2531

2632
def default_predicted_col_func(energy_component):
2733
return f"default_{energy_component}_power"

src/kepler_model/util/train_types.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import enum
1212
import random
13+
import importlib.util as import_util
1314

1415
SYSTEM_FEATURES = ["node_info", "cpu_scaling_frequency_hertz"]
1516

@@ -45,8 +46,11 @@
4546
"KNeighborsRegressorTrainer",
4647
"LinearRegressionTrainer",
4748
"SVRRegressorTrainer",
48-
"XgboostFitTrainer",
4949
]
50+
51+
if import_util.find_spec("xgboost"):
52+
no_weight_trainers.append("XgboostFitTrainer")
53+
5054
weight_support_trainers = ["SGDRegressorTrainer", "LogarithmicRegressionTrainer", "LogisticRegressionTrainer", "ExponentialRegressionTrainer"]
5155
default_trainer_names = no_weight_trainers + weight_support_trainers
5256
default_trainers = ",".join(default_trainer_names)

0 commit comments

Comments
 (0)