Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
6305ce0
autogluon integration development
Yuang-Deng Jun 10, 2022
04ce206
hyperparameter set and add a runbook draft
Yuang-Deng Jun 14, 2022
02d1182
updata runbook for config in EC2
Yuang-Deng Jun 17, 2022
e830d8b
hyper parameter se
Yuang-Deng Jun 17, 2022
10f4b02
result collect script and run-time set
Yuang-Deng Jun 20, 2022
1ef2670
add runbook run locally
Yuang-Deng Jun 20, 2022
93c933a
run time set fix
Yuang-Deng Jun 21, 2022
9f6e03d
format results as table
Yuang-Deng Jun 21, 2022
8a324a4
result collect and visualizaion
Yuang-Deng Jun 21, 2022
2db949f
add parameter to control build docker with local code or remote
Yuang-Deng Jun 21, 2022
0c50fab
complete runbook and fixed common tsbench command
Yuang-Deng Jun 28, 2022
9db5471
add retry for log download
Yuang-Deng Jun 29, 2022
8526f68
download process_map fix
Yuang-Deng Jun 29, 2022
2f61043
val log fix and install autogluon by poetry
Yuang-Deng Jul 1, 2022
cbd58fd
benchmark and eval_metric
Yuang-Deng Jul 1, 2022
25b4462
save results as csv
Yuang-Deng Jul 1, 2022
480c5cc
for pr
Yuang-Deng Jul 4, 2022
88934c9
remov useless comments
Yuang-Deng Jul 4, 2022
b9ccb57
remove useless code
Yuang-Deng Jul 4, 2022
270dbf2
remove install autogoluon locally
Yuang-Deng Jul 4, 2022
dcde269
remove temp file
Yuang-Deng Jul 4, 2022
b6382d7
remove temp file
Yuang-Deng Jul 4, 2022
718c0ce
remove temp file
Yuang-Deng Jul 4, 2022
c688af4
remove useless comments
Yuang-Deng Jul 4, 2022
109a83e
remove useless comments
Yuang-Deng Jul 4, 2022
2a6bcb6
remove useless code
Yuang-Deng Jul 4, 2022
0df7616
remove useless code
Yuang-Deng Jul 4, 2022
07aad4a
remove useless code
Yuang-Deng Jul 4, 2022
c6ce53f
remove useless file
Yuang-Deng Jul 4, 2022
7ba4962
clean the code
Yuang-Deng Jul 4, 2022
8876ccd
remove useless code
Yuang-Deng Jul 4, 2022
63786c3
remove useless code
Yuang-Deng Jul 4, 2022
0fc838d
remove useless code
Yuang-Deng Jul 4, 2022
b832c53
remove unused file
Yuang-Deng Jul 4, 2022
bb2c712
remove unused file
Yuang-Deng Jul 4, 2022
97a6f79
remove unused file
Yuang-Deng Jul 4, 2022
1d76611
set default for autogluon
Yuang-Deng Jul 4, 2022
a199344
clean code
Yuang-Deng Jul 4, 2022
85332c7
Update auto_gluon_predictor.py
Yuang-Deng Jul 4, 2022
8ea72ba
remove useless code
Yuang-Deng Jul 4, 2022
d544b42
remove useless import
Yuang-Deng Jul 4, 2022
c6a80e4
Update evaluate.py
Yuang-Deng Jul 4, 2022
a935208
Update evaluate.py
Yuang-Deng Jul 4, 2022
df68fb4
remove useless code
Yuang-Deng Jul 4, 2022
b7a1609
remove unused parameter
Yuang-Deng Jul 4, 2022
3dc5432
Merge pull request #2 from Yuang-Deng/autogluon_dev
Yuang-Deng Jul 4, 2022
765a4e0
Update Dockerfile_local
Yuang-Deng Jul 5, 2022
b76784e
decouple format and download
Yuang-Deng Jul 6, 2022
76290ee
Update download.py
Yuang-Deng Jul 6, 2022
a57e705
fix leaderboard
Yuang-Deng Jul 7, 2022
aaa974d
Merge branch 'master_forpr' of https://github.com/Yuang-Deng/tsbench …
Yuang-Deng Jul 7, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 10 additions & 13 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,16 @@ lightning_logs/
# Autogluon
AutogluonModels/

# temo file
temp_*
autopytorch1h_result.json
metrics.tar.gz
thirdparty/*
tsbench-weekend-exp-others.json
tsbench-weekend-exp.json
sourcedir.tar.gz
model.tar.gz
train_leaderboard.csv
configs/benchmark/auto/autogluon_test.yaml
m5
# temp file
temp*
thirdparty
tsf_data
APT_run
data_loader.py
constant.py
cache



# Submodules
vendor/
vendor/
19 changes: 19 additions & 0 deletions Dockerfile_local
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM python:3.8.12-buster

# Install R
RUN apt-get update \
&& apt-get install -y r-base \
&& R -e 'install.packages(c("forecast", "nnfor"), repos="https://cloud.r-project.org")'

# Install project dependencies
RUN pip install poetry==1.1.6 \
&& poetry config virtualenvs.create false
COPY poetry.lock pyproject.toml /dependencies/
RUN cd /dependencies \
&& poetry install --no-dev --no-root --no-interaction --no-ansi

# install autogluon with locally code
RUN pip uninstall autogluon -y
COPY thirdparty/autogluon /dependencies/autogluon/
WORKDIR /dependencies/autogluon/
RUN ./full_install.sh
16 changes: 15 additions & 1 deletion bin/build-container.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,23 @@ AWS_REGION=$(aws configure get region)
ECR_PASSWORD=$(aws ecr get-login-password)
REGISTRY=$AWS_ACCOUNT.dkr.ecr.$AWS_REGION.amazonaws.com

DOCKERFILE_PATH="Dockerfile"
if [ "$1" = "local" ];
then
echo "Build docker image with local autogluon"
DOCKERFILE_PATH="Dockerfile_local"
else
echo "Build docker image with remote autogluon"
fi

echo "Building image..."
docker build \
-t $REGISTRY/tsbench:autogluon \
-f $DOCKERFILE_PATH .

echo "Logging in to ECR..."
echo $ECR_PASSWORD | \
docker login --username AWS --password-stdin $REGISTRY

echo "Pushing image..."
docker push $REGISTRY/tsbench:latest
docker push $REGISTRY/tsbench:autogluon
4 changes: 2 additions & 2 deletions bin/setup-ec2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ set -e
#--------------------------------------------------------------------------------------------------
echo "Installing packages..."
sudo apt-get update
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
sudo apt-get install -y make cmake build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
libffi-dev liblzma-dev libcurl4-openssl-dev r-base p7zip-full awscli
libffi-dev liblzma-dev libcurl4-openssl-dev r-base p7zip-full awscli python3-dev

#--------------------------------------------------------------------------------------------------
echo "Installing Node.js..."
Expand Down
24 changes: 24 additions & 0 deletions configs/benchmark/autogluon_benchmark/autogluon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# seeds: [42, 137, 69, 720, 24]
seeds: [42]

datasets:
- covid_deaths
- m3_quarterly
- hospital
- tourism_quarterly
- m4_hourly
- m3_other
- tourism_monthly
- m4_weekly
- m3_monthly
- nn5
- electricity

models:
autogluon:
- key: presets
values: [best_quality]
- key: run_time
values: [86400, 144000]
- key: eval_metric
values: [MASE] # AVAILABLE_METRICS = ["MASE", "MAPE", "sMAPE", "mean_wQuantileLoss", "MSE", "RMSE"]
23 changes: 23 additions & 0 deletions configs/benchmark/autogluon_benchmark/autogluon_runbook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
seeds: [42]

datasets:
- covid_deaths
- m3_quarterly
- hospital
- tourism_quarterly
- m4_hourly
- m3_other
- tourism_monthly
- m4_weekly
- m3_monthly
- nn5
- electricity

models:
autogluon:
- key: presets
values: [medium_quality]
- key: run_time
values: [30]
- key: eval_metric
values: [mean_wQuantileLoss] # AVAILABLE_METRICS = ["MASE", "MAPE", "sMAPE", "mean_wQuantileLoss", "MSE", "RMSE"]
30 changes: 30 additions & 0 deletions configs/benchmark/autogluon_benchmark/baseline.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
seeds: [42, 137, 69, 720, 24]

datasets:
- covid_deaths
- m3_quarterly
- hospital
- tourism_quarterly
- m4_hourly
- m3_other
- tourism_monthly
- m4_weekly
- m3_monthly
- nn5
- electricity

models:
arima: []
ets: []
npts: []
prophet: []
deepar:
- key: context_length_multiple
values: [1, 2, 4, 8]
- key: [num_layers, num_cells]
values: [[1, 20], [2, 40], [4, 80]]
mqcnn:
- key: context_length_multiple
values: [1, 2, 4, 8]
- key: [num_filters, kernel_size_first, kernel_size_hidden, kernel_size_last]
values: [[20, 3, 3, 2], [30, 7, 3, 3], [40, 14, 7, 3]]
9 changes: 4 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,14 @@ version = "1.0.0"

[tool.poetry.dependencies]
PyYAML = "^5.4.1"
autogluon = "^0.3.1"
catch22 = "^0.2.0"
mxnet = "1.9"
autogluon = "0.5.0"
click = "^7.1.2"
fastparquet = "^0.6.1"
fbprophet = "^0.7.1"
gluonts = {git = "https://github.com/awslabs/gluon-ts.git", rev = "7c94c1149875f6ad2e0d7b0a6bcee952f14d3fb1"}
gluonts = "0.9.5"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we use 0.10?

I also would not fix the patch version.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I will change it.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I notice that version 0.10 has removed save_datasets, save_metadata, is there an alternate interface?

holidays = "^0.11.1"
lightkit = "^0.3.6"
mxnet = "1.8.0.post0"
numpy = "^1.21.4"
pandas = "^1.2.4"
plotly = "^5.3.1"
Expand All @@ -32,7 +31,7 @@ pytorch-lightning = "^1.5.0"
rpy2 = ">=2.9.*,<3.*"
sagemaker = "^2.40.0"
sagemaker-training = "^3.9.2"
scikit-learn = "^0.24.2"
scikit-learn = "1.0.2"
scipy = "^1.6.3"
seaborn = "^0.11.2"
statsmodels = "^0.13.0"
Expand Down
Loading