2022-01-06 10:28:19 -08:00
|
|
|
import sys
|
2021-12-20 17:19:32 -05:00
|
|
|
import pytest
|
2022-01-30 01:53:32 -05:00
|
|
|
import requests
|
2022-04-28 14:06:29 -04:00
|
|
|
from utils import get_toy_data_summarization, get_automl_settings
|
2022-10-12 20:04:42 -04:00
|
|
|
import os
|
|
|
|
import shutil
|
2021-12-20 17:19:32 -05:00
|
|
|
|
|
|
|
|
2022-07-25 17:46:33 -04:00
|
|
|
@pytest.mark.skipif(
|
2022-11-27 11:22:54 -08:00
|
|
|
sys.platform in ["darwin", "win32"] or sys.version < "3.7",
|
|
|
|
reason="do not run on mac os, windows or py3.6",
|
2022-07-25 17:46:33 -04:00
|
|
|
)
|
2021-12-20 17:19:32 -05:00
|
|
|
def test_summarization():
|
2022-07-05 13:38:21 -04:00
|
|
|
# TODO: manual test for how effective postprocess_seq2seq_prediction_label is
|
2021-12-20 17:19:32 -05:00
|
|
|
from flaml import AutoML
|
|
|
|
|
2022-04-28 14:06:29 -04:00
|
|
|
X_train, y_train, X_val, y_val, X_test = get_toy_data_summarization()
|
2021-12-20 17:19:32 -05:00
|
|
|
|
|
|
|
automl = AutoML()
|
2022-04-28 14:06:29 -04:00
|
|
|
automl_settings = get_automl_settings()
|
2021-12-20 17:19:32 -05:00
|
|
|
|
2022-04-28 14:06:29 -04:00
|
|
|
automl_settings["task"] = "summarization"
|
|
|
|
automl_settings["metric"] = "rouge1"
|
|
|
|
automl_settings["time_budget"] = 2 * automl_settings["time_budget"]
|
2023-05-09 20:48:22 -04:00
|
|
|
automl_settings["fit_kwargs_by_estimator"]["transformer"]["model_path"] = "google/flan-t5-small"
|
2021-12-20 17:19:32 -05:00
|
|
|
|
2022-01-30 01:53:32 -05:00
|
|
|
try:
|
2023-04-10 21:50:40 +02:00
|
|
|
automl.fit(X_train=X_train, y_train=y_train, X_val=X_val, y_val=y_val, **automl_settings)
|
2022-01-30 01:53:32 -05:00
|
|
|
except requests.exceptions.HTTPError:
|
|
|
|
return
|
2022-04-28 14:06:29 -04:00
|
|
|
|
|
|
|
automl_settings.pop("max_iter", None)
|
|
|
|
automl_settings.pop("use_ray", None)
|
|
|
|
automl_settings.pop("estimator_list", None)
|
|
|
|
|
2023-04-10 21:50:40 +02:00
|
|
|
automl.retrain_from_log(X_train=X_train, y_train=y_train, train_full=True, record_id=0, **automl_settings)
|
2021-12-20 17:19:32 -05:00
|
|
|
automl.predict(X_test)
|
|
|
|
|
2022-10-12 20:04:42 -04:00
|
|
|
if os.path.exists("test/data/output/"):
|
2022-11-27 11:22:54 -08:00
|
|
|
try:
|
|
|
|
shutil.rmtree("test/data/output/")
|
|
|
|
except PermissionError:
|
|
|
|
print("PermissionError when deleting test/data/output/")
|
2022-10-12 20:04:42 -04:00
|
|
|
|
2021-12-20 17:19:32 -05:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
test_summarization()
|