Spaces:
Runtime error
Runtime error
Benjamin Bossan
commited on
Commit
•
ba2892a
1
Parent(s):
41e8f46
Make it possible to load skops model format
Browse files- make-data.py +2 -0
- start.py +10 -3
make-data.py
CHANGED
@@ -3,6 +3,7 @@
|
|
3 |
import pickle
|
4 |
|
5 |
import pandas as pd
|
|
|
6 |
from sklearn.datasets import make_classification
|
7 |
from sklearn.linear_model import LogisticRegression
|
8 |
from sklearn.pipeline import Pipeline
|
@@ -21,6 +22,7 @@ clf.fit(X, y)
|
|
21 |
|
22 |
with open("logreg.pkl", "wb") as f:
|
23 |
pickle.dump(clf, f)
|
|
|
24 |
|
25 |
|
26 |
df.to_csv("data.csv", index=False)
|
|
|
3 |
import pickle
|
4 |
|
5 |
import pandas as pd
|
6 |
+
import skops.io as sio
|
7 |
from sklearn.datasets import make_classification
|
8 |
from sklearn.linear_model import LogisticRegression
|
9 |
from sklearn.pipeline import Pipeline
|
|
|
22 |
|
23 |
with open("logreg.pkl", "wb") as f:
|
24 |
pickle.dump(clf, f)
|
25 |
+
sio.dump(clf, "logreg.skops")
|
26 |
|
27 |
|
28 |
df.to_csv("data.csv", index=False)
|
start.py
CHANGED
@@ -45,7 +45,10 @@ def load_model() -> None:
|
|
45 |
return
|
46 |
|
47 |
bytes_data = st.session_state.model_file.getvalue()
|
48 |
-
|
|
|
|
|
|
|
49 |
assert isinstance(model, BaseEstimator), "model must be an sklearn model"
|
50 |
|
51 |
st.session_state.model = model
|
@@ -167,7 +170,11 @@ def start_input_form():
|
|
167 |
)
|
168 |
|
169 |
if not st.session_state.get("model_file"):
|
170 |
-
st.file_uploader(
|
|
|
|
|
|
|
|
|
171 |
|
172 |
st.markdown("---")
|
173 |
|
@@ -176,7 +183,7 @@ def start_input_form():
|
|
176 |
"This sample data can be attached to the metadata of the model card"
|
177 |
)
|
178 |
st.file_uploader(
|
179 |
-
"Upload
|
180 |
)
|
181 |
st.markdown("---")
|
182 |
|
|
|
45 |
return
|
46 |
|
47 |
bytes_data = st.session_state.model_file.getvalue()
|
48 |
+
if st.session_state.model_file.name.endswith("skops"):
|
49 |
+
model = sio.loads(bytes_data, trusted=True)
|
50 |
+
else:
|
51 |
+
model = pickle.loads(bytes_data)
|
52 |
assert isinstance(model, BaseEstimator), "model must be an sklearn model"
|
53 |
|
54 |
st.session_state.model = model
|
|
|
170 |
)
|
171 |
|
172 |
if not st.session_state.get("model_file"):
|
173 |
+
st.file_uploader(
|
174 |
+
"Upload an sklearn model (pickle or skops format)",
|
175 |
+
on_change=load_model,
|
176 |
+
key="model_file",
|
177 |
+
)
|
178 |
|
179 |
st.markdown("---")
|
180 |
|
|
|
183 |
"This sample data can be attached to the metadata of the model card"
|
184 |
)
|
185 |
st.file_uploader(
|
186 |
+
"Upload input data (csv)", type=["csv"], on_change=load_data, key="data_file"
|
187 |
)
|
188 |
st.markdown("---")
|
189 |
|