2017-10-05 12 views
4

Ich arbeite an einer Python-Desktop-App. Diese App macht einige Vorhersagen. Im Moment trainiere ich mein sklearn-Modell mit Python-Skript und speichere die Parameter des Modells als Wörterbuch in einer yaml-Datei. Dann baue ich diesen Yaml in meine Python App ein. Dann, wenn ich die App verwende, wird das Modell mit Parametern aus dem Wörterbuch neu erstellt. Ich habe festgestellt, dass Leute, die eine andere Version von sklearn haben, einen Fehler bekommen. Ich habe versucht, mein Modell in einer Pickle-Datei zu speichern, aber in diesem Fall gab es eine Warnung, wenn die App auf einem Computer mit einer anderen Version von sklearn ausgeführt wurde.Was ist der beste Weg, um sklearn Modell zu speichern?

Antwort

4

Es gibt keine Garantie, dass ein bestimmtes Sklearn-Modell zwischen den Versionen von sklearn kompatibel ist. Tatsächlich kann sich die Implementierung oder die interne API zwischen den Versionen ändern. Siehe weitere Informationen here.

Wenn Sie eine Version in Betracht ziehen, besteht die beste Möglichkeit darin, die Parameter in einer Yaml-Datei zu picken und nicht zu speichern. Es ist sogar besser, joblib zu verwenden, um dies zu tun. Siehe weitere Informationen here.

4

Ich erkannte, dass Leute, die eine andere Version von sklearn haben, einen Fehler bekommen.

In diesem Fall unter Verwendung von isolierten Python-Umgebungen erstellen virtualenvs

Verwandte Themen