Spaces:
Running
Running
Commit
·
7d83587
1
Parent(s):
1810165
feat: fitness model
Browse files
models-server/models/__pycache__/fitness_model.cpython-312.pyc
CHANGED
Binary files a/models-server/models/__pycache__/fitness_model.cpython-312.pyc and b/models-server/models/__pycache__/fitness_model.cpython-312.pyc differ
|
|
models-server/models/fitness_model.py
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
-
import pickle
|
2 |
-
import os
|
3 |
from sklearn.preprocessing import OneHotEncoder
|
4 |
import random
|
5 |
import pandas as pd
|
|
|
|
|
6 |
|
7 |
SERVER_FILE_DIR = os.path.dirname(os.path.abspath(__file__))
|
8 |
FITNESS_MODEL_PATH = os.path.join(
|
@@ -250,24 +250,9 @@ class FitnessModel:
|
|
250 |
|
251 |
return all_recommendations # Trim to ensure exactly 30 elements
|
252 |
|
253 |
-
|
254 |
-
|
255 |
-
def __init__(self):
|
256 |
with open(FITNESS_MODEL_PATH, "rb") as f:
|
257 |
-
|
258 |
|
259 |
-
|
260 |
-
self,
|
261 |
-
home_or_gym: int,
|
262 |
-
level: str,
|
263 |
-
goal: str,
|
264 |
-
gender: str,
|
265 |
-
age: int,
|
266 |
-
feedback: bool,
|
267 |
-
old_weight: int,
|
268 |
-
equipments: list,
|
269 |
-
):
|
270 |
-
print("model", self.model)
|
271 |
-
return self.model.predict(
|
272 |
-
home_or_gym, level, goal, gender, age, feedback, old_weight, equipments
|
273 |
-
)
|
|
|
|
|
|
|
1 |
from sklearn.preprocessing import OneHotEncoder
|
2 |
import random
|
3 |
import pandas as pd
|
4 |
+
import os
|
5 |
+
import pickle
|
6 |
|
7 |
SERVER_FILE_DIR = os.path.dirname(os.path.abspath(__file__))
|
8 |
FITNESS_MODEL_PATH = os.path.join(
|
|
|
250 |
|
251 |
return all_recommendations # Trim to ensure exactly 30 elements
|
252 |
|
253 |
+
@classmethod
|
254 |
+
def load(cls):
|
|
|
255 |
with open(FITNESS_MODEL_PATH, "rb") as f:
|
256 |
+
fitness_model = pickle.load(f)
|
257 |
|
258 |
+
return fitness_model
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
models-server/server.py
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
-
from flask import Flask, request
|
2 |
from dotenv import load_dotenv
|
3 |
import os
|
4 |
-
import
|
5 |
-
from models.fitness_model import FModel
|
6 |
|
7 |
load_dotenv()
|
8 |
|
|
|
9 |
HOST = os.getenv("MODELS_HOST") or "127.0.0.1"
|
10 |
PORT = os.getenv("MODELS_PORT") or "3030"
|
11 |
|
12 |
-
fitness_model = FModel()
|
13 |
|
|
|
14 |
app = Flask("model-server")
|
15 |
|
16 |
|
@@ -36,10 +36,10 @@ def fitness_predict():
|
|
36 |
for paramName in paramNames:
|
37 |
value = request.json.get(paramName)
|
38 |
if value is None:
|
39 |
-
return
|
40 |
params[paramName] = value
|
41 |
|
42 |
-
return
|
43 |
|
44 |
|
45 |
if __name__ == "__main__":
|
|
|
1 |
+
from flask import Flask, request, jsonify
|
2 |
from dotenv import load_dotenv
|
3 |
import os
|
4 |
+
from models.fitness_model import FitnessModel
|
|
|
5 |
|
6 |
load_dotenv()
|
7 |
|
8 |
+
|
9 |
HOST = os.getenv("MODELS_HOST") or "127.0.0.1"
|
10 |
PORT = os.getenv("MODELS_PORT") or "3030"
|
11 |
|
|
|
12 |
|
13 |
+
fitness_model = FitnessModel.load()
|
14 |
app = Flask("model-server")
|
15 |
|
16 |
|
|
|
36 |
for paramName in paramNames:
|
37 |
value = request.json.get(paramName)
|
38 |
if value is None:
|
39 |
+
return jsonify({"error": f"{paramName} is missing"}), 399
|
40 |
params[paramName] = value
|
41 |
|
42 |
+
return jsonify({"result": fitness_model.predict(**params)})
|
43 |
|
44 |
|
45 |
if __name__ == "__main__":
|