🎯 Definicja
Pickle to format binarny w Pythonie służący do “zamrażania” obiektów. Możesz wziąć skomplikowany model Machine Learning (który uczył się 5 godzin), zapisać go do pliku .pkl (zamrozić), a potem odczytać w sekundę na innym komputerze (odmrozić) i używać.
🔑 Kluczowe punkty
- Serializacja: Zamiana obiektu w pamięci RAM na ciąg bajtów na dysku.
- Python-specific: Działa tylko w Pythonie. Nie otworzysz tego w Javie czy C++.
- Niebezpieczeństwo: ⚠️ Nigdy nie otwieraj plików
.pklod nieznajomych. Mogą zawierać złośliwy kod, który wykona się przy otwarciu!
📚 Szczegółowe wyjaśnienie
W Data Science używa się Pickle do zapisywania wytrenowanych modeli (np. Scikit-Learn). Alternatywą jest format ONNX (bezpieczniejszy i przenośny między językami) lub Joblib (lepszy dla dużych tablic NumPy).
💡 Przykład zastosowania
Trenujesz sieć neuronową.
Po 100 epokach zapisujesz: pickle.dump(model, open('model.pkl', 'wb')).
Wrzucasz plik na serwer produkcyjny.
Serwer wczytuje: model = pickle.load(open('model.pkl', 'rb')).
Serwer może od razu przewidywać wyniki, bez ponownego treningu.
📌 Źródła
- Python Documentation
library/pickle.
👽 Brudnopis
- “Pickle is not secure”. To mantra każdego inżyniera bezpieczeństwa ML.