memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Detectron2のコラボ実行メモ

学生さんが卒業研究で上記のフレームワークを使用したいとのことで調査してもらっていましたら、どうも初手で躓いているとのことでした。ちょっと調査したメモです。

Detectron2のリポは以下です。

GitHub - facebookresearch/detectron2: Detectron2 is a platform for object detection, segmentation and other visual recognition tasks.

コラボのノートが公開されていて、ネットにも色々と情報があるようですが、このリポ自体が日々成長しているのでここのドキュメントやノートを見なさい、という先人の知恵がありました。

コラボのノートは以下で公開されています。

Google Colab

ノートを開き、これは作成者のノートなので、プレイグラウンドで開くか、自分のドライブにコピーします。僕はコピーを選択しました。

で、早速、コピーした方のノートを開いて、上から順にコードを実行していきます。

すぐに以下のエラーが出ます。これは先頭の「!python -m pip install pyyaml==5.1」でエラーを起こしているようです。コラボのデフォルトのPythonバージョンと合わなくなっているらしいので、「!python -m pip install pyyaml」のように バージョン指定をとっちゃいますととりあえずエラーはなくなります。

Collecting pyyaml==5.1
  Downloading PyYAML-5.1.tar.gz (274 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 274.2/274.2 kB 18.1 MB/s eta 0:00:00
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> See above for output.
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  Preparing metadata (setup.py) ... error
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

エラーらしきものが出ないうちはコードをひたすら実行していきます。「detectron2」に波線がでるのですが。。。気にしないで進みます。

ちなみに、検証できていないのですが、最初にやったときにはこのあと1つエラーが出ました。対処方法は numpyをインストールしなおす でした。

動いているコードに以下を追加して実行すればいいようです。なぜか色々と試して再現しようとしたのですが、一度出て以下を実行したあとは出てきませんでした。なぜだろう。。。ランタイムをリセットしたり、ユーザを変えて別環境でも実行したのですが再現できませんでした。

!python -m pip uninstall numpy
!python -m pip install numpy

あと、コラボあるあるかもしれませんが、実行中に(プレイボタンが緑になる前に)停止すると、途中までファイルが残った状態になって再度実行することができなくなりました。緑になるのを見届けてから次のコードを実行するようにしましょう。

以上です。