Was sind die verschiedenen Anwendungsfälle von joblib versus Gurke?
Hintergrund: ich fange gerade mit scikit-learn, und Lesen Sie am unteren Rand der Seite über joblib, versus Gurke.
kann es interessanter sein, zu verwenden joblib Ersatz von Gurke (joblib.dump & joblib.laden), die effizienter auf große Datenmengen, sondern können nur Gurke auf der Festplatte und nicht auf einen string -
Lese ich diese Q&A auf Gurke,
Häufige Anwendungsfälle für pickle in Python und Frage mich, ob die community hier teilen sich die Unterschiede zwischen joblib und Gurke? Wann sollte man die Verwendung einer über dem anderen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
joblib ist in der Regel deutlich schneller auf große numpy-arrays, da es eine Besondere Behandlung für die array-Puffer numpy datastructure. Zu finden über die details der Implementierung können Sie einen Blick auf die source code. Es kann auch zu komprimieren, dass die Daten on the fly, während das Beizen mit zlib oder lz4.
joblib macht es auch möglich, die Speicher-map-Daten-buffer einer unkomprimierten joblib-gebeizt numpy-array beim laden der es ermöglicht das freigeben von Speicher zwischen Prozessen.
Beachten Sie, dass wenn Sie keine Gurke großen numpy-arrays, die dann regelmäßig Gurke deutlich schneller, insbesondere bei großen Sammlungen von kleinen python-Objekte (z.B. eine große dict-str Objekte), weil das pickle-Modul der standard-Bibliothek implementiert in C, während joblib ist reines python.
Beachten Sie, dass nach PEP 574 (Gurke Protokoll 5) zusammengeführt wird (hoffentlich für Python 3.8), wird es viel effizienter, Gurke großen numpy-arrays unter Verwendung der standard-Bibliothek.
joblib könnte noch nützlich sein, um Objekte laden geschachtelte numpy-arrays in memory-mapped-Modus mit
mmap_mode="r"
obwohl.Joblib
überPickle
? Nachteile vonJoblib
, die wir berücksichtigen sollten? Ich habe gerade gehört, überJoblib
vor kurzem, und es klingt für mich interessant.Dank Gunjan, dass er uns dieses Skript! Ich modifizierte es für Python ist3 Ergebnisse
Stieß ich auf dieselbe Frage, so ich habe versucht diese (mit Python 2.7), da muss ich laden einer großen Gurke-Datei
Ausgabe für dieses ist
Gemäß dieser joblib funktioniert besser als cPickle und Pickle-Modul aus diesen 3 Modulen. Dank