From 5eaac7d54977776accfea2fd8cda8076c7e138fa Mon Sep 17 00:00:00 2001 From: Aimitmk Date: Sat, 17 May 2025 20:07:26 +0900 Subject: [PATCH 1/7] Add model comparison and detailed inference time tests --- .github/workflows/model_test.yml | 25 ++++++ .../tests/test_model.py" | 87 +++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 .github/workflows/model_test.yml diff --git a/.github/workflows/model_test.yml b/.github/workflows/model_test.yml new file mode 100644 index 000000000..97cfadfea --- /dev/null +++ b/.github/workflows/model_test.yml @@ -0,0 +1,25 @@ +name: Model Tests + +on: + push: + branches: [ main, day5-homework ] + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.9' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + if [ -f day5/requirements.txt ]; then pip install -r day5/requirements.txt; fi + - name: Run tests + run: | + cd day5/演習3 + pytest -v tests/ \ No newline at end of file diff --git "a/day5/\346\274\224\347\277\2223/tests/test_model.py" "b/day5/\346\274\224\347\277\2223/tests/test_model.py" index e11a19a5c..0132be895 100644 --- "a/day5/\346\274\224\347\277\2223/tests/test_model.py" +++ "b/day5/\346\274\224\347\277\2223/tests/test_model.py" @@ -171,3 +171,90 @@ def test_model_reproducibility(sample_data, preprocessor): assert np.array_equal( predictions1, predictions2 ), "モデルの予測結果に再現性がありません" + +def test_model_comparison_with_baseline(): + """現在のモデルをベースラインモデルと比較""" + # ベースラインモデルの読み込み(あらかじめ保存しておく必要あり) + baseline_model_path = os.path.join(os.path.dirname(__file__), "../baseline_models/baseline_model.pkl") + + if not os.path.exists(baseline_model_path): + pytest.skip("ベースラインモデルが存在しないためスキップします") + + # 現在のモデルの学習 + data = pd.read_csv(DATA_PATH) + X = data.drop("Survived", axis=1) + y = data["Survived"].astype(int) + X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) + + preprocessor = ColumnTransformer( + transformers=[ + ("num", Pipeline(steps=[("imputer", SimpleImputer(strategy="median")), ("scaler", StandardScaler())]), ["Age", "Fare"]), + ("cat", Pipeline(steps=[("imputer", SimpleImputer(strategy="most_frequent")), ("onehot", OneHotEncoder(handle_unknown="ignore"))]), ["Pclass", "Sex", "Embarked"]), + ], + remainder="drop", + ) + + current_model = Pipeline( + steps=[ + ("preprocessor", preprocessor), + ("classifier", RandomForestClassifier(n_estimators=100, random_state=42)), + ] + ) + + current_model.fit(X_train, y_train) + + # ベースラインモデルの読み込み + with open(baseline_model_path, "rb") as f: + baseline_model = pickle.load(f) + + # 両方のモデルで予測 + baseline_pred = baseline_model.predict(X_test) + current_pred = current_model.predict(X_test) + + # 精度の比較 + baseline_accuracy = accuracy_score(y_test, baseline_pred) + current_accuracy = accuracy_score(y_test, current_pred) + + # 現在のモデルはベースラインと同等以上の性能であるべき + assert current_accuracy >= baseline_accuracy * 0.95, f"現在のモデル精度({current_accuracy:.4f})がベースライン({baseline_accuracy:.4f})より5%以上低下しています" + +def test_detailed_inference_time(): + """モデルの推論時間詳細テスト(バッチサイズ別)""" + # モデルとデータの準備 + data = pd.read_csv(DATA_PATH) + X = data.drop("Survived", axis=1) + y = data["Survived"].astype(int) + X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) + + preprocessor = ColumnTransformer( + transformers=[ + ("num", Pipeline(steps=[("imputer", SimpleImputer(strategy="median")), ("scaler", StandardScaler())]), ["Age", "Fare"]), + ("cat", Pipeline(steps=[("imputer", SimpleImputer(strategy="most_frequent")), ("onehot", OneHotEncoder(handle_unknown="ignore"))]), ["Pclass", "Sex", "Embarked"]), + ], + remainder="drop", + ) + + model = Pipeline( + steps=[ + ("preprocessor", preprocessor), + ("classifier", RandomForestClassifier(n_estimators=100, random_state=42)), + ] + ) + + model.fit(X_train, y_train) + + # 異なるバッチサイズでの推論時間テスト + batch_sizes = [1, 10, 50, 100] + for batch_size in batch_sizes: + # バッチサイズに合わせてデータを取得 + if batch_size <= len(X_test): + X_batch = X_test.iloc[:batch_size] + + # 推論時間計測 + start_time = time.time() + model.predict(X_batch) + inference_time = time.time() - start_time + + # バッチサイズ1の場合、0.01秒以内、その他は1秒以内であるべき + max_time = 0.01 if batch_size == 1 else 1.0 + assert inference_time < max_time, f"バッチサイズ{batch_size}での推論時間({inference_time:.4f}秒)が長すぎます" \ No newline at end of file From da4a5d6b992edf0ffc10874b4e71c535306acd6b Mon Sep 17 00:00:00 2001 From: Aimitmk Date: Sat, 17 May 2025 20:17:36 +0900 Subject: [PATCH 2/7] Format code with Black --- .../tests/test_model.py" | 96 ++++++++++++++----- 1 file changed, 72 insertions(+), 24 deletions(-) diff --git "a/day5/\346\274\224\347\277\2223/tests/test_model.py" "b/day5/\346\274\224\347\277\2223/tests/test_model.py" index 0132be895..9aa668747 100644 --- "a/day5/\346\274\224\347\277\2223/tests/test_model.py" +++ "b/day5/\346\274\224\347\277\2223/tests/test_model.py" @@ -172,51 +172,77 @@ def test_model_reproducibility(sample_data, preprocessor): predictions1, predictions2 ), "モデルの予測結果に再現性がありません" + def test_model_comparison_with_baseline(): """現在のモデルをベースラインモデルと比較""" # ベースラインモデルの読み込み(あらかじめ保存しておく必要あり) - baseline_model_path = os.path.join(os.path.dirname(__file__), "../baseline_models/baseline_model.pkl") - + baseline_model_path = os.path.join( + os.path.dirname(__file__), "../baseline_models/baseline_model.pkl" + ) + if not os.path.exists(baseline_model_path): pytest.skip("ベースラインモデルが存在しないためスキップします") - + # 現在のモデルの学習 data = pd.read_csv(DATA_PATH) X = data.drop("Survived", axis=1) y = data["Survived"].astype(int) - X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) - + X_train, X_test, y_train, y_test = train_test_split( + X, y, test_size=0.2, random_state=42 + ) + preprocessor = ColumnTransformer( transformers=[ - ("num", Pipeline(steps=[("imputer", SimpleImputer(strategy="median")), ("scaler", StandardScaler())]), ["Age", "Fare"]), - ("cat", Pipeline(steps=[("imputer", SimpleImputer(strategy="most_frequent")), ("onehot", OneHotEncoder(handle_unknown="ignore"))]), ["Pclass", "Sex", "Embarked"]), + ( + "num", + Pipeline( + steps=[ + ("imputer", SimpleImputer(strategy="median")), + ("scaler", StandardScaler()), + ] + ), + ["Age", "Fare"], + ), + ( + "cat", + Pipeline( + steps=[ + ("imputer", SimpleImputer(strategy="most_frequent")), + ("onehot", OneHotEncoder(handle_unknown="ignore")), + ] + ), + ["Pclass", "Sex", "Embarked"], + ), ], remainder="drop", ) - + current_model = Pipeline( steps=[ ("preprocessor", preprocessor), ("classifier", RandomForestClassifier(n_estimators=100, random_state=42)), ] ) - + current_model.fit(X_train, y_train) - + # ベースラインモデルの読み込み with open(baseline_model_path, "rb") as f: baseline_model = pickle.load(f) - + # 両方のモデルで予測 baseline_pred = baseline_model.predict(X_test) current_pred = current_model.predict(X_test) - + # 精度の比較 baseline_accuracy = accuracy_score(y_test, baseline_pred) current_accuracy = accuracy_score(y_test, current_pred) - + # 現在のモデルはベースラインと同等以上の性能であるべき - assert current_accuracy >= baseline_accuracy * 0.95, f"現在のモデル精度({current_accuracy:.4f})がベースライン({baseline_accuracy:.4f})より5%以上低下しています" + assert ( + current_accuracy >= baseline_accuracy * 0.95 + ), f"現在のモデル精度({current_accuracy:.4f})がベースライン({baseline_accuracy:.4f})より5%以上低下しています" + def test_detailed_inference_time(): """モデルの推論時間詳細テスト(バッチサイズ別)""" @@ -224,37 +250,59 @@ def test_detailed_inference_time(): data = pd.read_csv(DATA_PATH) X = data.drop("Survived", axis=1) y = data["Survived"].astype(int) - X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) - + X_train, X_test, y_train, y_test = train_test_split( + X, y, test_size=0.2, random_state=42 + ) + preprocessor = ColumnTransformer( transformers=[ - ("num", Pipeline(steps=[("imputer", SimpleImputer(strategy="median")), ("scaler", StandardScaler())]), ["Age", "Fare"]), - ("cat", Pipeline(steps=[("imputer", SimpleImputer(strategy="most_frequent")), ("onehot", OneHotEncoder(handle_unknown="ignore"))]), ["Pclass", "Sex", "Embarked"]), + ( + "num", + Pipeline( + steps=[ + ("imputer", SimpleImputer(strategy="median")), + ("scaler", StandardScaler()), + ] + ), + ["Age", "Fare"], + ), + ( + "cat", + Pipeline( + steps=[ + ("imputer", SimpleImputer(strategy="most_frequent")), + ("onehot", OneHotEncoder(handle_unknown="ignore")), + ] + ), + ["Pclass", "Sex", "Embarked"], + ), ], remainder="drop", ) - + model = Pipeline( steps=[ ("preprocessor", preprocessor), ("classifier", RandomForestClassifier(n_estimators=100, random_state=42)), ] ) - + model.fit(X_train, y_train) - + # 異なるバッチサイズでの推論時間テスト batch_sizes = [1, 10, 50, 100] for batch_size in batch_sizes: # バッチサイズに合わせてデータを取得 if batch_size <= len(X_test): X_batch = X_test.iloc[:batch_size] - + # 推論時間計測 start_time = time.time() model.predict(X_batch) inference_time = time.time() - start_time - + # バッチサイズ1の場合、0.01秒以内、その他は1秒以内であるべき max_time = 0.01 if batch_size == 1 else 1.0 - assert inference_time < max_time, f"バッチサイズ{batch_size}での推論時間({inference_time:.4f}秒)が長すぎます" \ No newline at end of file + assert ( + inference_time < max_time + ), f"バッチサイズ{batch_size}での推論時間({inference_time:.4f}秒)が長すぎます" From ea2c1164d9a5785ac5ccd35f0b06d597394f34a4 Mon Sep 17 00:00:00 2001 From: Aimitmk Date: Sat, 17 May 2025 20:23:39 +0900 Subject: [PATCH 3/7] Adjust inference time threshold for CI environment --- "day5/\346\274\224\347\277\2223/tests/test_model.py" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/day5/\346\274\224\347\277\2223/tests/test_model.py" "b/day5/\346\274\224\347\277\2223/tests/test_model.py" index 9aa668747..4b6d39b89 100644 --- "a/day5/\346\274\224\347\277\2223/tests/test_model.py" +++ "b/day5/\346\274\224\347\277\2223/tests/test_model.py" @@ -301,8 +301,8 @@ def test_detailed_inference_time(): model.predict(X_batch) inference_time = time.time() - start_time - # バッチサイズ1の場合、0.01秒以内、その他は1秒以内であるべき - max_time = 0.01 if batch_size == 1 else 1.0 + # バッチサイズ1の場合、0.1秒以内、その他は1秒以内であるべき + max_time = 0.1 if batch_size == 1 else 1.0 assert ( inference_time < max_time - ), f"バッチサイズ{batch_size}での推論時間({inference_time:.4f}秒)が長すぎます" + ), f"バッチサイズ{batch_size}での推論時間({inference_time:.4f}秒)が長すぎます" \ No newline at end of file From 29b68feef5b4fe0a0b991845cbe05ac274fa4003 Mon Sep 17 00:00:00 2001 From: Aimitmk Date: Sat, 17 May 2025 20:27:06 +0900 Subject: [PATCH 4/7] Format code with Black_v2 --- "day5/\346\274\224\347\277\2223/tests/test_model.py" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/day5/\346\274\224\347\277\2223/tests/test_model.py" "b/day5/\346\274\224\347\277\2223/tests/test_model.py" index 4b6d39b89..89e4de7ba 100644 --- "a/day5/\346\274\224\347\277\2223/tests/test_model.py" +++ "b/day5/\346\274\224\347\277\2223/tests/test_model.py" @@ -305,4 +305,4 @@ def test_detailed_inference_time(): max_time = 0.1 if batch_size == 1 else 1.0 assert ( inference_time < max_time - ), f"バッチサイズ{batch_size}での推論時間({inference_time:.4f}秒)が長すぎます" \ No newline at end of file + ), f"バッチサイズ{batch_size}での推論時間({inference_time:.4f}秒)が長すぎます" From 99e85f1cf760b88d8ce81508684c4966af0e5db2 Mon Sep 17 00:00:00 2001 From: Aimitmk Date: Sat, 17 May 2025 20:32:06 +0900 Subject: [PATCH 5/7] update baseline --- .DS_Store | Bin 6148 -> 6148 bytes .../models/titanic_model.pkl" | Bin 3308604 -> 202166 bytes .../\346\274\224\347\277\2222/black_check.py" | 21 +++++++++++++----- "day5/\346\274\224\347\277\2222/main.py" | 1 + .../baseline_models/baseline_model.pkl" | Bin 0 -> 202166 bytes "day5/\346\274\224\347\277\2223/test" | 0 6 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 "day5/\346\274\224\347\277\2223/baseline_models/baseline_model.pkl" delete mode 100644 "day5/\346\274\224\347\277\2223/test" diff --git a/.DS_Store b/.DS_Store index 1d2e14fd90cf10f75c1e2b7b09b5831bf861cf53..8163776cd38841c60f1449505b286ec3d520815d 100644 GIT binary patch delta 616 zcmZoMXfc=|#>B!kF;Q%yo+6|8#(>?7iv?Ji7{w>^FiF;nows3NU|?a;V@PMnWGKna zcX3I|$xi}`aWF76u!p`m=7=hv0+(OQ%*Ki?UyxxKoSdIq0Mx_4AO)t_VP-RAFqASR z<)kC2V5n#704hXNg64?oAc!L{R3V%KG$SD571*h0s!$xnpa4_|^lS=4B10vEVN!YV zB)qF;Q%yo+2an#(>?7jNFrXSR~^ZJI*mMFt9M_F{CqOGL+=zySOCf z)oW~}!S%ia^WivYmKL^m+n*}+(Gf(ChaRfPuff4B3 J%@HDNm;sR1HW~l` diff --git "a/day5/\346\274\224\347\277\2221/models/titanic_model.pkl" "b/day5/\346\274\224\347\277\2221/models/titanic_model.pkl" index 6fec87e472dc813f204e1541df92c8b679fe056e..1e514ce9d52210eb36d294a4773cf7c45eb037d8 100644 GIT binary patch literal 202166 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ΝYIg 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 literal 3308604 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