Google Colaboratoryでセルが思うように動作しなくなった際の対処法

Google Colaboratoryは自身のPCのスペックに依らず計算リソースを利用でき、また煩わしい環境設定の手間を省き、ブラウザから直接すぐにPythonを実行できる便利なツールです。
しかしながら、時々、セルが思うように動作しなくなる場面に遭遇します。この記事では、そのような困った状況を解消するためのいくつかの対処法を紹介します。

1. セルの再実行

まず最初の試みとして、セルを実行を停止させ再度実行してみてください。ネットワークの遅延など一時的な問題であれば、これで解決することがあります。

セルの左端にあるボタンを押すことで、セルの停止や実行をすることができます。

2. 該当セルのコードの確認

それでも解決しない場合、セルのコード自体に問題がないか確認してください。

forやwhileの条件設定に誤りがあり無限ループになっていたり、大量のデータを処理していたりなど、高負荷がかかるタスクになってしないでしょうか。これらが原因でセルが応答しなくなることがあります。

cnt = 0
while cnt>=0:
  print(cnt)
  cnt+=1

この例では、whileによる繰り返しが永遠に終了しない無限ループになってしまっています。条件を見直したり、breakを用いたりしてループから外れることができる様にする必要があります。

num = 2
for i in range(999999999999999):
  num *=2
print(num)

この例では………負荷をかけすぎです

3. 他のセルの確認

これまでのステップで問題が解決できない場合は、他のセルの影響で問題が発生していないかどうか確認してください。

3-1. セルが応答しない場合

Google Colaboratoryでは、複数のセルを同時に実行(並行して実行)することはできません。他のセルが実行中であり、該当のセルが実行の順番待ちでないか確認してください。

3-2. 出力結果が想定と違う場合

Google Colaboratoryでは、グローバルな変数や関数はセルを跨いで参照されます。他のセルで定義された変数や関数が、該当セルのコードに干渉していないか確認してください。

4. ランタイムのリセット

これまでの試みで解決できない場合は、ランタイムのリセットを試して見てください。

画面上部のメニューバーで「ランタイム」をクリックし、「ランタイムを再起動」または「すべてのランタイムをリセット」を選択します。セッションで使用されているメモリをクリアし、仮想マシンに再接続することができます。原因不明のセルが応答しないというトラブルの大多数は、この方法で解決されます。

ただし、すべてのセルが実行前に戻り作成された変数やデータが消去されるため(セル内のコードが消えるわけではありません)注意が必要です。


投稿日

カテゴリー:

投稿者:

タグ: