Google ColabでPythonを初めて使う人が、急にエラーが出てきたとき、どうやってリセットするか?どこのポイントにリセットされるか?を知っておくと便利な気がしたのでメモしておきます。
全体マップ
リセットするときに使うものは「ランタイムを再起動…」「すべてのランタイムをリセット…」の2つがあります。名前が似ていますが内容が大きく違ってわかりくいので、まずは全体図をみてください。
実行中セッションをリセット (ランタイムを再起動…)
実行しているセッションがリセットされるので、最初から実行(▶ボタンを押す or shift+enter )して、再度パッケージをimportしないと
NameError: name 'np' is not defined
などでエラーがでます。
入力のコードや出力のテキストは残っています。残っている出力がまぎらわしい場合は「編集」⇒「出力をすべて消去」で消すことができます。
リセットされるもの
- そのセッションでの実行中プログラム(時間のかかる計算や無限ループが強制終了)
- そのセッションでimport されたパッケージ
- そのセッションで使用した変数(グローバル変数含む)
保持されるもの
- 打ち込んだコードのテキスト
- printなどで表示された出力テキスト
- デフォルトでインストールされているパッケージ
- ! pip install などでインストールしたパッケージ
- 外部から仮想マシン上へダウンロードしたデータ(MNISTなど)
仮想マシンをリセット (すべてのランタイムをリセット…)
仮想マシンそのものがリセットされるので、デフォルトでインストールされているもの以外はすべてリセットされます。自分で入れたパッケージや仮想マシン上にダウンロードしたデータは再度入れなおす必要があります。
90分ルールや12時間ルールなど接続が強制的に切れる場合でもこのリセットが適用されるはずです。また、CPU ⇒ GPUでも別の仮想マシンが立ち上がるようです。
リセットされるもの
- すべてのセッションでの実行中プログラムやimportされたパッケージ、使用した変数
- ! pip install などでインストールしたパッケージ
- 外部から仮想マシン上へダウンロードしたデータ(MNISTなど)
保持されるもの
- Googleドライブに自動保存されている.ipynbファイルのコードと出力テキスト
- デフォルトでインストールされているパッケージ
ノートブック(.ipynb)ファイルについて
通常、「ファイル」⇒「python3の新しいノートブック」などから始めた場合は「Untitled0.ipynb」などとして、自分のGoogleドライブ上に自動保存されています。
Web上のチュートリアルなど、「Open in Colab」ボタンで開いたものは、実行することはできますが、通常上書き保存はできないので、再度「Open in Colab」ボタンで開いて「すべてのランタイムをリセット」すれば、最初の状態から始めることができます。もし保存したい場合は自分のGoogle ドライブにコピー保存する必要があります。