はじめに
本記事は以下の記事の続編になります
AnacondaやCUDA等のインストールがまだの方は是非ご覧ください.
今回は様々な深層学習のコードを動かすうえで不可欠なpythonの仮想環境の構築をして実際に物体検出コードを動かしていこうと思います.
その1 なんで仮想環境が重要なの?
深層学習を扱う上でpythonが選択される理由にpythonはライブラリが豊富であることが挙げられます.
しかしライブラリが豊富なゆえにバージョン管理やライブラリ同士の相互関係等が複雑になっている場合が多いです.
その為,github等に落ちているコードを動かす際はそのコード用のライブラリ,バージョンをインストールしなくてなならない場合が多いです.
1つのPCで様々なコードを動かしたい場合でもいちいち別のコードを動かすたびにライブラリをインストールし直したりするのは厄介ですし,今まで動いてたけど別コード用にバージョンを変えた影響で突然動いていたコードが動かなくなってしまったりしたら悲しいですよね..
そこで用いられるのが仮想環境です!
仮想環境は簡単に言うとpythonの実行環境(ライブラリ等)を複数保存しておくことができるために,あるコードを動かす際はそのコード用の仮想環境で実行することができるために,別のコードの環境に左右されない利点があります!
仮想環境の構築にはvenvやanacondaなどがありますが今回はanacondaでの仮想環境を構築して物体検出のコードを動かしてみましょう!
その2 githubからコードを落とす
それでは物体検出のコードを動かす準備をしましょう
前回の記事から引き続き読んでくれている方はすでにgitがインストールされているかと思います.
以下のコマンドを使うとgithubからコードをダウンロード(clone)することができます.
今回cloneするコードは以前自分が書いた記事になります.
保存場所はカレントディレクトリです.
git clone https://github.com/Ryunosuke-Ikeda/colab_frcnn.git
その3 仮想環境構築
それでは仮想環境を構築しましょう!
anacondaプロンプトを開きます.
左に書いてある(base)が現在いる環境名になります.
それでは以下のコマンドで仮想環境を作成します
conda create -n {仮想環境名} python={pythonバージョン}
今回はFaster R-CNNと呼ばれるアルゴリズムを動かすため,環境名はfrcnn_test,pythonのバージョンを3.6とします.
今回のコマンドはこんな感じですね
conda create -n frcnn_test python=3.6
実行すると以下のような画面になりますがyを押してEnterで続行します
それでは実際に作った仮想環境に移動してみましょう.
現在はbaseという環境にいますが以下のコマンドで仮想環境を移動することができます
conda activate {仮想環境名}
つまり今回はこのコマンドになります
conda activate frcnn_test
このコマンドを実行すると以下のようにbaseからfrcnn_testに移動できたことが分かります
ちなみに以下のコマンドで今まで作った仮想環境の一覧を見ることができます
conda info -e
次は実際に仮想環境内で環境構築をしていきましょう!
その1でcloneしたディレクトリの中に移動したのち以下のコマンドを入力してください.
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
pip install jupyterlab
pip install -r requirements.txt
仮想環境内でインストールした上記のライブラリはこの仮想環境内のみで使えるライブラリで,他の環境と干渉しません!
その4 物体検出を動かす
まず,cloneしたフォルダ内のデータセットであるsmall_bdd.zipを解凍してください
解凍が終わったら以下のコマンドでjupyterlabを起動します.
jupyter lab
ブラウザが起動し,以下のような画面が出てくると思います.
Faster R-CNN_local.ipynbを選択し2つ目のセルにあるPathの指定の部分で解凍したsmall_bddまでのpathを入れて下さい.
pathの記入が終わったら一番上のセルから実行(ctrl+enter)することで物体検出の実験をすることができます!
この物体検出のコードの中身について知りたい方はこちらの記事をご覧ください
終わりに
いかがだったでしょうか,無事物体検出を動かせたら幸いです.
以上2本の記事で深層学習の実験をゼロから始めたい人がpython環境構築から物体検出を回すまでの工程を解説したつもりです.
新4年生などこれから研究を始める方などの為になれば幸いです.