LogoMark.png

Pickel のバックアップソース(No.1)

#author("2023-12-16T15:42:52+09:00;1970-01-01T18:00:00+09:00","default:inoue.ko","inoue.ko")
* Pickel
https://docs.python.org/ja/3/library/pickle.html
~

**概要
pickle モジュールは Python オブジェクトの直列化および直列化されたオブジェクトの復元のためのモジュールです。''機械学習においては、学習済みのモデルの Save & Load に利用されます。''

-Pickle 化:直列化 serialization、整列化 marshalling、平坦化 flattening と同義
-非 pickle 化:バイナリファイル または バイトライクオブジェクト から バイトストリームをオブジェクト階層に復元する処理を意味します。
~
~

**記載例
以下、学習済みモデルの Save & Load の記載例です。
__[[ModelSave&Load.ipynb>https://github.com/koichi-inoue/DataScience/blob/main/ModelSave%26Load.ipynb]]__
~
~

**Googleドライブを利用した、モデルの Save & Load
***GoogleDrive のマウント、pickle の読み込み
 # GoogleDrive のマウント
 from google.colab import drive
 drive.mount('/content/drive')
 
 # pickel のインポート
 import pickle
~ 

***モデルの SAVE
 # GoogleDrive の特定パスに、学習済みモデル(model)を 
 #  model.pkl として保存
 #・・Path/To・・の部分は、自身で書き換えてください。
 with open('/content/drive/My Drive/・・Path/To・・/model.pkl', 'wb') as file:
     pickle.dump(model, file)
~

***モデルの LOAD
 # GoogleDrive の特定パスにある学習済みモデル(modell.pkl)を 
    loaded_model に読み込む(・・Path/To・・はご自身で)。
 with open('/content/drive/My Drive/・・Path/To・・/model.pkl', 'rb') as file:
     loaded_model = pickle.load(file)
~

**GitHubに置かれたファイルの Load と利用例
以下、上記と同じサンプルですが、ノートの後半に GiuHub に置かれ学習済みモデルを活用するサンプルを記載しています。
__[[ModelSave&Load.ipynb>https://github.com/koichi-inoue/DataScience/blob/main/ModelSave%26Load.ipynb]]__
~
~

**使用例
以下、[[scikit-learn]] の [[NeuralNetwork]] を用いた「iris の分類」と、学種済みモデルを GoogleDrive に保存するコードサンプル(.ipnb)です。

__[[NeuralNetwork_Iris.ipynb>https://github.com/koichi-inoue/DataScience/blob/main/NeuralNetwork_Iris.ipynb]]__
~
~