LoginSignup
5
2

More than 3 years have passed since last update.

google Colaboratory上でdarknetの転移学習を行う

Last updated at Posted at 2019-10-26

物体検出であるyoloを自分のPCではなく,Colaboratory(無料)で学習させるための記事です.

google Colaboratoryは一般にpythonでコードを書いて実行するものではありますが,Linuxコマンドを使用できるのでC言語での実行ファイルも実行することができます.

本記事ではdarknetの転移学習をColaboratory上で実行させる手順を記載します.

学習用ファイルの準備

まずは転移学習に用いるファイルの構築をします.
http://shibafu3.hatenablog.com/entry/2017/08/24/124826
を参考にしてください.
一度ご自分のPCで起動ができる状態まで試すと良いです.

また,この際にGPUが付いていないPCを使用している人はMakefileを

GPU=0
CUDNN=0
OPENCV=0
OPENMP=0
DEBUG=0

とする点に注意してください.

起動を確認したらもういちどMakefile

GPU=1
CUDNN=1
OPENCV=0
OPENMP=0
DEBUG=0

と書きなおしてしておいてください(Colaboratory上でmakeを行います).

google driveにファイルをアップロード

google driveにログインして,作成したdarknetフォルダをまるごと「マイドライブ」にドラッグ&ドロップします.

1.png

Colaboratoryに接続

まずはこちらからcolaboratoryに接続しましょう.
https://colab.research.google.com/notebooks/welcome.ipynb?hl=ja

2.jpg

学習でGPUを使えるように設定します.
ランタイム→ランタイムのタイプを変更
を押して
3.jpg

ハードウェアアクセラレータをNoneからGPUに変更してください

4.jpg

これでGPUが使えるようになります.

次にいらないセルを全て削除したいので,
変更→すべてのセルを選択
を押して,Deleteキーを押せばすべて削除できます.

5.jpg

google driveをcolaboratoryにマウント

ファイル→ドライブをマウント
を押すとgoogleドライブマウントするためのプログラムが書かれたセルが出てくるので(右上の赤四角で囲まれた部分が接続中or初期化中となっていたら少し待機)

6.jpg

ここでShift+Enterを押してセルのプログラムを実行すると,google driveへのアカウントのアクセス許可が求められるので,
出てきたURLをクリック→使っているアカウントを選択→許可→出てきた文字列をコピー

IMG_0516.jpg

今回私は「4/rgFzIUfdKNF8Lm_4cX-5rFhVgnEz6aztThLUecjpPzdxdhufOuJEsSI」と出てきたので,
これをColaboratoryで出てきたEnter your authorization code:
のところに貼り付け→Enterキーを押す

しばらくしたあと

··········
Mounted at /content/drive

と出ればOKです.

学習の実行

まずはMakefielを実行しましょう.

Colaboratory上でコードセルを出して

!make

と打ちましょう.

カレントディレクトリを変更したいので

%cd /content/drive/My Drive

を実行してカレントディレクトリをgoogle drive上のホームディレクトリ
/content/drive/My Drive
に変更します.

次にmakeを実行するために

cd darknet


!make

を実行してmakeが終了するのを待ちます.
(このmakeはColaboratory上のGPUに対応させるために必要です.)

!chmod 777 darknet
!./darknet detector train cfg/obj.data cfg/yolov2-tiny.cfg yolov2-tiny.weights

とすれば実行できます.以下のようになっていたら成功.

Screenshot from 2019-10-13 15-56-13.png

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2