①modelクラスの定義
②学習データ、試験データの準備
③modelで学習(ここが1時間単位で時間のかかるもの多数)
④学習した結果で、試験データを試し学習結果の確認
それでまあ、④の学習結果が80%以上の正答率が出力され「素晴らしい」で終わってしまいます。でも、実用にしようと思うと通常のサンプルプログラムでは③の学習が外せません。(たまに、学習結果のデータも公開されていて、それよ読み込んで④の結果を出すサンプルもありますが、今度は学習部分の実態がわかりません)
ということで、実用的には③の部分が以下の2つの機能に分かれてほしいのです。
③A 学習した結果(model)をファイルに保存
③B 保存されたデータを読込、試験データで学習結果の確認
以外と、ここをピンポイントで説明したものがなかったので、ここでまとめみました。
⒈pickleを使う
pythonの汎用的なオブジェクトの保存・読込ライブラリです。詳しい説明は省きますが、単純に学習modelオブジェクトをpickleで保存・読込をする方法です。普通に、openしてread/writeします。
⒉chainerの保存機能を使う
これがあるはずなんですが、これまでぐぐっても出てきませんでした。方法は以下の通りです。(ファイル名は、"iris-learn.data"で保存しています。modelはpythonプログラムにおける実際のクラス名です。)
③A
# save
serializers.save_npz("iris-learn.data", model)
③B
普通にserializersモジュールを使えばよかっただけでした。(ただ、その詳細例が全然見つかりませんでした)
# load
serializers.load_npz("iris-learn.data", model)
普通にserializersモジュールを使えばよかっただけでした。(ただ、その詳細例が全然見つかりませんでした)
0 件のコメント:
コメントを投稿