みなさんこんにちは!
先日このような記事を公開しましたが、私の場合はオフにしただけでは提出できませんでした。
なぜなら使用しているパッケージのインストールにインターネット接続が必要だったからです。
故に私のNotebookは途中で停止してしまったため、正常にsubmitすることができませんでした。
かといってインターネットに接続することはできません。
そんな時はどうしたらいいのか、まとめてみました。
インターネットオフのNotebookでパッケージをインストールして動作するNotebookを用意する3ステップ
インターネットからダウンロードする必要があるパッケージは、先にダウンロードしておくことができます。
それらをNotebookにDatasetとして添付することにより、ダウンロードしたファイルからパッケージのインストールをインターネットに接続することなく行うことができます。
ですので、
- パッケージをダウンロード
- ダウンロードしたパッケージをNotebookにDatasetとして添える
- 添えたダウンロード済みパッケージのインストールを行う実行文を記述する
というステップを踏む必要があります。
1. パッケージをダウンロード
パッケージをダウンロードするには、
!pip download package-name # package-nameはインストールしたいパッケージ名に適宜変更
というコマンドを発行する必要②があります。
このコマンドを実行することにより、インストールに必要なファイルを事前に手元に用意③することができます。
どの場所に保存されたかはNotebookのサブウィンドウの「Data」セクションから把握④しておきましょう。
把握したら、これらをダウンロードします。
④で把握したファイルの右にカーソルを持っていくと「More actions」と表示されるのでそれをクリック⑤します。
⑤をクリックすると「Download」と表示されるのでダウンロード⑥しましょう。
2. ダウンロードしたパッケージをNotebookにDatasetとして添える
ダウンロードしたパッケージを「+ add Data」からDatasetとしてNotebookに添付する⑦ことにより、提出時にそのパッケージファイルを含めて提出することができます。
⑦をクリックするとPopupが表示されるので「Upload」をクリック⑧します。
すると「Create a New Dataset」と表示されるので、適当な名前を入力⑨先ほどダウンロードしたファイルを一式アップロード⑩して「Create」をクリック⑪し作成します。
うまくいくとこのように表示されます。
また改めて「+ Add data」をクリック⑦します。
今度はUploadではなく「Your Datasets」をクリック⑫します。
すると、先ほど作成したDatasetが表示されるはずです。(例:textstat)
その追加したいDatasetのAddをクリック⑬しましょう。
正常に追加されれば、input/以下にDatasetが追加⑭されます。(例ではtextstatが追加された)
これでNotebookへの添付は完了です。
3. 添えたダウンロード済みパッケージのインストールを行う実行文を記述する
添付したダウンロード済みパッケージからライブラリをインストールする実行文を用意します。
右ウィンドウの「Data」セッションに表示されている、追加したDatasetのファイル名の右にあるアイコン「Copy file path」をクリックしてパスをクリップボードに取得⑮します。
ダウンロードしたパッケージを指定してオフラインでパッケージをインストールするには
!python -m pip install --no-index --find-links=⑮でコピーしたpath package-name
というコマンドを発行⑯します。
これでほとんど準備が整いました!
最後に、ダウンロードに使ったpipコマンドを削除し、その代わりに差し込んだ⑯コマンドからインターネット接続をオフにしてオフラインでDatasetからパッケージがインストールされること、Notebookのその後の処理が最後まで正常に実行されることを確認しましょう。
あとはSave Versionボタンからバージョンを保存し、サブミットするだけです!
まとめ
なかなか長い手順になりましたが、どうでしたでしょうか。
一度覚えてしまえばなんてことはないですね!
参考になればと思います。
それでは、Kaggle頑張りましょう!
コメント