2017-10-13 4 views
0

Ich habe ein Modell abgeschlossen und es funktioniert innerhalb akzeptabler Grenzen. Ich benutze Python und Scitkit-lernen speziell.Wie man das Zugmodell in Produktion bringt?

Als Nächstes wird das Modell in die Produktion verschoben.

Darf ich Hilfe anfordern, um diese Modelle in Produktion zu versetzen. Wie kann ich ein trainiertes Modell so speichern, dass ich es in die Produktion verschieben kann?

Vielen Dank im Voraus für Hilfe.

+1

Dies sind sehr allgemeine Fragen. Ich denke, du solltest einfach im Web nach Tutorials suchen. Als Einstieg möchten Sie sich jedoch vielleicht damit befassen, Ihr Modell mit Pickle zu speichern und es dann als API zu verwenden, indem Sie flask verwenden. – Payman

Antwort

2

Wie der Kommentator vorgeschlagen, sollten Sie pickle verwenden. Speziell für ML, was Sie suchen, ist Model persistence. Und mit Scikit-Learn:

Nach dem Training eines Scikit-Learn-Modells, ist es wünschenswert, eine Möglichkeit zu haben, das Modell für die zukünftige Verwendung zu beharren, ohne umschulen zu müssen.

Und ihr Beispiel:

>>> from sklearn import svm 
>>> from sklearn import datasets 
>>> clf = svm.SVC() 
>>> iris = datasets.load_iris() 
>>> X, y = iris.data, iris.target 
>>> clf.fit(X, y) 
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0, 
    decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf', 
    max_iter=-1, probability=False, random_state=None, shrinking=True, 
    tol=0.001, verbose=False) 

>>> import pickle 
>>> s = pickle.dumps(clf) 
>>> clf2 = pickle.loads(s) 
>>> clf2.predict(X[0:1]) 
array([0]) 
>>> y[0] 
0 

Im speziellen Fall des scikit kann es interessant sein, zu JOBLIB Nachfolger von Gurke (joblib.dump & joblib.load) zu verwenden, die auf Objekte effizienten die intern große numpy arrays tragen, wie es oft bei angepassten scikit-learn Schätzern der Fall ist, aber nur auf der Platte und nicht auf einer Zeichenkette pelletieren können:

>>> from sklearn.externals import joblib 
>>> joblib.dump(clf, 'filename.pkl') 
Verwandte Themen