‫前回のビデオでは､ 既存の鉄道モデルをファイルに保存し､ それを再び読み込んで､ ファイルに保存した元のモデルと全く同じ結果を得る予測を行う方法を紹介しました｡
‫そのためにPickleを使っています｡
‫このビデオでは､ Job Libモジュールで同じことができるかを見ていきます｡
‫また､ わからないことがあれば､ いつでも「ジョブ・リブって何？
‫Python関数をパイプラインジョブとして実行するジョブライブです｡
‫そして､ その方法はこちらのドキュメントをご覧いただければと思います｡
‫しかし､ ここでは全く同じことをjob libモジュールで行う例を見てみましょう｡
‫そこで､ 見出しを作成します｡
‫頑張れリブ｡
‫それをマークダウンに変更する｡
‫シフトを押しながらエンターキーを押す｡
‫そこで､ まず最初にやること｡
‫ジョブ・リブ､ インポート､ ダンプ､ ロードから行けるんです｡
‫この2つの関数が何をするものなのか､ 想像がつくかもしれませんね｡
‫そこで､ モデルとファイルを保存するために､ Pickleで行ったのと全く同じモデルを保存することになるので､ GCFを捨てに行きます｡
‫グリッド検索分類器は､ ファイル名を渡すと､ ランダムフォレストモデル､ 1ジョブリブと表示されます｡
‫ここが違うんですね｡
‫ファイル名を渡せばいいのです｡
‫ピクルスでイコールを押さないといけないんです｡
‫OpCoを使ったのは､ もちろんピクルスを略したものですが､ ジョブ・リブで私たちはジョブ・リブをやっているんです｡
‫そして､ シフトを押しながらエンターキーを押すと､ ここに小さな出力が表示されます｡
‫さて､ 作業ディレクトリに戻ると､ 同じものが表示されます｡
‫数秒前にランダムフォレストモデル､ 1つのジョブリブ､ そしてこのファイル名は好きな名前に変更することができます｡
‫ほら､ 作業ディレクトリに半端ない数のモデルが置いてあるじゃないですか｡
‫このとき､ モデルのファイルに移動させることもあります｡
‫だから､ ここに戻ってきたんです｡
‫さて､ ジョブリブモデルをロードしたい場合､ どの関数を使うか想像がつくと思います｡
‫そうでない場合は､ スルーすることにしています｡
‫そこで､ 保存したジョブモデルをインポートしてきますが､ 保存したモデルと全く同じものをインポートするだけです｡
‫つまり､ ロードされたジョブ・リブ・モデルはロード・ファイル名と等しくなります｡
‫保存したものと全く同じファイル名を渡せばいいのです｡
‫だからゲージュツランダム｡
‫タブオートコンプリートジョブリブを押せるようにすべきです｡
‫素晴らしい｡
‫それで読み込まれるんですね｡
‫これは何なんだ？
‫倒置コンマを見落とした｡
‫秋葉原ネーム､ 誤字脱字を右往左往させ､ タブのオートコンプリートまで使いこなし､ 美しい｡
‫そしてまた､ 一度インポートすれば､ 読み込んだモデルで予測することができます｡
‫では､ もう一度見てみましょう｡
‫評価を行う｡
‫Job lib predictions job lib y spreads equals loaded job lib model predict x test wonderful.
‫そして､ もう一度､ これがどのように役に立ったのか､ 評価プレッドを使います｡
‫この機能は数回前のビデオで定義しましたが､ 今では少なくとも半ダースは使っています｡
‫そのため､ 異なるコードや同じコードを何度も入力する必要がありません｡
‫だから､ ジョブ・リブyはシフトとエンターを広げる｡
‫積んでおこう｡
‫ジョブ・リブ・モデルが定義されていないので､ ジョブ・モデルをロードし､ それをジョブ・リブに変更すれば､
‫動作するはずです｡
‫素晴らしい｡
‫だから､ これを比較すると､ これはジョブ・リブと一緒なんです｡
‫これらは画素数78のものです｡ 69チック0. 74チック0. 82チック0. 78刻み｡
‫だからまた､ ピクセルのようにジョブ・リブで全く同じことをするのです｡
‫そして今､ あなたはどちらを使うべきでしょうか？
‫さて､ サイキックローンの資料によると､ 見てみましょう｡
‫CIキットは学ぶ｡
‫モデルをエクスポートする｡
‫モデル機種をエクスポートする｡
‫持続性｡
‫私が探していたのは､ この言葉です｡
‫だから､ もう一度､ 図書館でやろうとしていることを考えたら｡
‫そうですね｡
‫図書館名で検索してください｡
‫これはまさに私がやっていることです｡
‫サイキックローンセービングアモデルと入力しました｡
‫それが私のやりたかったことです｡
‫ドキュメントに寄ってみる
‫サイキック学習モデルを学習させた後､ 再学習させることなく､ 将来にわたってモデルを持続させる方法が望ましい｡
‫それが､ モデル保存の最大のメリットです｡
‫そうですね｡
‫そこで､ 一例をご紹介します｡
‫そこで､ Pythonに内蔵されている永続化モデルpickleを利用することができます｡
‫それが､ 私たちが見てきたものです｡
‫また､ サイキックラーニングの具体的な事例で言うと､ pickle dump and loadの代わりにjob
‫libsを使った方が､ 大きなnumpy配列を運ぶオブジェクトに対して効率的な場合がありますね｡
‫なるほど｡
‫内部的には､ フィットド・サイキック・ラーンド推定量によく見られるように
‫それが､ 私たちの場合は保存されているんですよね？
‫フィットソケットローン見積もり屋を保存しています｡ k. a.
‫たまげたな
‫フィットしたグリッド検索を行う「セルフ」｡
‫ランダムフォレスト分類器｡
‫しかし､ ディスクにしかピクルスができず､ ストリングにはピクルスができない｡
‫つまり､ モデルが大きい場合､ モデルが大きなnumpy配列､ つまり数字のパターンで構成されているため､
‫より効率的である場合がある､ ということです｡
‫このnumpyの配列は､ 内部的にはそれでいっぱいなんです｡
‫この分類器は､ おそらく異なるnumpy配列とそれらの間のパターンでいっぱいです｡
‫それは､ データから学んだことです｡
‫つまり､ これが言いたいのは､ モデルが大きい場合､ 私たちの場合､ 300ほどのサンプルしか扱っていないので､
‫モデルは比較的小さいということなのです｡
‫しかし､ それが大きい場合は､ ピクセルよりもジョブ・リブを使った方が効率的な場合があります｡
‫そこが一番心配なところです｡
‫了解です｡
‫これが学習済みモデルの保存と読み込みの肝になるわけです｡
‫ここでも､ このディレクトリに保存されています｡
‫このモデルを共有する必要があれば､ 本番用アプリケーションや同僚に渡して､ 私たちの仕事を再現してもらうとか､
‫そういうことができるようになりますね｡
‫今､ 私たちは本当に､ 本当にホームストレッチにいるのです｡
‫次に､ リストで確認しましょう｡
‫どうまとめればいいのか､ チェックしていきます｡
‫次の動画の前にネタバレはしませんので､ ちょっと休憩してください｡
‫ジョブラベルを使って学習させたモデルの一つを保存してみるか｡
‫そして､ 次のビデオでお会いしましょう｡