Compare commits

...

3 Commits

Author SHA1 Message Date
47c52d66a2 mlflow test 1 2025-06-19 09:36:06 +00:00
070432d505 new test.py 2025-06-19 08:49:28 +00:00
2da3a68798 first commit 2025-06-19 07:48:47 +00:00
4 changed files with 88 additions and 3 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
mlruns/

2
newtest.md Normal file
View File

@ -0,0 +1,2 @@
test text
Hello Gitea!

78
test.py
View File

@ -1,6 +1,78 @@
import torch # The data set used in this example is from http://archive.ics.uci.edu/ml/datasets/Wine+Quality
# P. Cortez, A. Cerdeira, F. Almeida, T. Matos and J. Reis.
# Modeling wine preferences by data mining from physicochemical properties. In Decision Support Systems, Elsevier, 47(4):547-553, 2009.
print(torch.__version__) import os
import warnings
import sys
print("hello") import pandas as pd
import numpy as np
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score
from sklearn.model_selection import train_test_split
from sklearn.linear_model import ElasticNet
import mlflow
import mlflow.sklearn
mlflow.set_tracking_uri(uri="http://127.0.0.1:80")
import logging
logging.basicConfig(level=logging.WARN)
logger = logging.getLogger(__name__)
def eval_metrics(actual, pred):
rmse = np.sqrt(mean_squared_error(actual, pred))
mae = mean_absolute_error(actual, pred)
r2 = r2_score(actual, pred)
return rmse, mae, r2
if __name__ == "__main__":
warnings.filterwarnings("ignore")
np.random.seed(40)
# Read the wine-quality csv file from the URL
csv_url =\
'http://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv'
try:
data = pd.read_csv(csv_url, sep=';')
except Exception as e:
logger.exception(
"Unable to download training & test CSV, check your internet connection. Error: %s", e)
# Split the data into training and test sets. (0.75, 0.25) split.
train, test = train_test_split(data)
# The predicted column is "quality" which is a scalar from [3, 9]
train_x = train.drop(["quality"], axis=1)
test_x = test.drop(["quality"], axis=1)
train_y = train[["quality"]]
test_y = test[["quality"]]
alpha = float(sys.argv[1]) if len(sys.argv) > 1 else 0.5
l1_ratio = float(sys.argv[2]) if len(sys.argv) > 2 else 0.5
with mlflow.start_run():
lr = ElasticNet(alpha=alpha, l1_ratio=l1_ratio, random_state=42)
lr.fit(train_x, train_y)
predicted_qualities = lr.predict(test_x)
(rmse, mae, r2) = eval_metrics(test_y, predicted_qualities)
print("Elasticnet model (alpha=%f, l1_ratio=%f):" % (alpha, l1_ratio))
print(" RMSE: %s" % rmse)
print(" MAE: %s" % mae)
print(" R2: %s" % r2)
mlflow.log_param("alpha", alpha)
mlflow.log_param("l1_ratio", l1_ratio)
mlflow.log_metric("rmse", rmse)
mlflow.log_metric("r2", r2)
mlflow.log_metric("mae", mae)
mlflow.sklearn.log_model(lr, "model")

9
testgit.py Normal file
View File

@ -0,0 +1,9 @@
import mlflow
run = mlflow.get_run("82dc1facd73b4fda886b25005e5db0d8")
git_commit = run.data.tags.get("mlflow.source.git.commit")
git_repo_url = run.data.tags.get("mlflow.source.git.repoURL")
print(f"Git Commit: {git_commit}")
print(f"Git Repo URL: {git_repo_url}")