1. HOME
  2. ブログ
  3. IT技術
  4. Windows 10 で YOLOv3 を自前画像で学習させる(環境構築編)【機械学習】

Windows 10 で YOLOv3 を自前画像で学習させる(環境構築編)【機械学習】

物体検出モデル YOLOv3 を自前画像で学習させよう

「YOLOv3」とは、物体検出(画像から物体の位置と種類を検出)する機械学習モデルです。

この「YOLOv3」を、Windows 10 上で動かしてみたいと思います!

どんなものができるの?

今回は、YOLOv3 を動作させる環境を構築します。

最終的に目指すのは、以下のようなイメージです。

2つの本が、別々のものとして検出されています。

「環境構築編」では、これを実現するための環境構築を目指します。

ディープラーニングの開発環境

ディープラーニングの開発環境として、Google が開発したフレームワーク「Tensorflow(テンソルフロー)」と、フロントエンドには「Keras(ケラス)」を使っていきます。

そして、物体検出のモデルは「YOLOv3」という環境になります。

環境構築の流れ

  1. Anaconda(Python 仮想環境)のインストール
  2. CUDA のインストール
  3. cuDNN のインストール
  4. Anadonda 仮想環境の作成
  5. Tensorflow や Keras などの必要パッケージのインストール
  6. MNIST で動作確認

こちらの記事もオススメ!

Anaconda(Python仮想環境)のインストール

初めに、Python の環境をインストールします。

Python の環境は、Python のサイトよりインストーラをダウンロードすれば、インストールすることができます。

ですが、ちょっと待ってください!!

「Anaconda」で環境を切り替える

先ほどお伝えした通り、今回は「Tensorflow 1.14.0」をインストールしていきます。

さて、バージョンアップがあったとき、そのバージョンでも作成したアプリケーションを動かしてみたくなりませんか?

例えばですが…

バージョン 1.14 をアンインストールし、バージョン 2.0 をインストールしてテスト…
終わったら、またバージョン 2.0 をアンインストールし、バージョン 1.14 をインストール…

なんてしたくないですよね(泣)

そんな時、使うのが「Anaconda」というソフトウェアです。

これは、複数の Python 環境を、OS(Windows10)に手を加えることなく、仮想環境を切り替えて使えるのです

Anaconda のインストール

それでは、Anaconda をインストールしていきましょう。

以下のサイトから、インストーラをダウンロードします。

【Anaconda】
https://www.anaconda.com/

今回は、Windows 10 で動かすので、「Windows」をクリックしてください。

バージョンを選択しダウンロード

次に、「Python 3.7 Version」からダウンロードします。

64bit 用と 32bit 用の2つのインストーラーがあります。ご自身の環境に合った方をダウンロードしてください。

インストーラを起動

ダウンロードが完了したら、インストーラを起動します。

「次へ」を繰り返せば、インストール完了です。

CUDA(クーダ)のインストール

ディープラーニングでは、CPU だけでなく GPU も使うことで、学習速度を大幅に向上させることができます。

現在は、NVIDIA 社が提供している GPU を使うことがほとんどで、ほぼ独占状態です。

その GPU を使うときに必要なソフトウェアが、CUDA(Compute Unified Device Architecture)です。

CUDA のインストール

それでは、以下のサイトから、CUDA Toolkit をダウンロードしていきます。

【CUDA Toolkit】
https://developer.nvidia.com/cuda-downloads

バージョンの選択

今回は、「Tensoeflow 1.14.0」を使いますので、最新版ではなくバージョン 10.0 を使います

インストーラを起動

ダウンロードが完了したら、インストーラを起動。

「次へ」を繰り返しクリックしていけば、インストールが完了します。

cuDNN のインストール

cuDNN(CUDA Deep Neural Network library )は、ニューラルネットワーク計算用のライブラリーです。

一言でいうと、CUDA での処理を高速化してくれます

cuDNN のインストール

それでは、cuDNN のサイトからダウンロードしていきます。

【NVIDIA cuDNN】
https://developer.nvidia.com/cudnn

メンバー登録

ただ、最初に、「メンバー登録」が必要になりますので、登録していきましょう。

cuDNNをダウンロード

メンバー登録ができたら、再度「Download cuDNN」のリンクをクリックします。

バージョンを選択

「Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.0」から、「CUDA 10.0」対応の「cuDNN v7.6.5」をダウンロードします。
Windows 10 を使いますので、「cuDNN Library for Windows 10」を選びます。

インストール

次にインストールですが、ダウンロードした zip ファイルの中に、以下の3つのファイルがあります。

CUDA がインストールされたフォルダにコピーしてください。

  1. cudnn64_7.dll
  2. cudnn.h
  3. cudnn.lib

インストール先を変えてなければ、「C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0」になります。

Anaconda 仮想環境の作成

それでは、Anaconda で仮想環境を作っていきます。

まず、スタートメニューから「Anaconda3」下の「Anaconda Prompt」を起動します。

仮想環境の作成

「tf114」という名前の仮想環境を作っていきます。

※ conda create -n [仮想環境名] python=3.7

仮想環境を起動

インストールが終わったら、早速、仮想環境を起動してみます。

※ conda activate [仮想環境名]

Tensorflow や Keras などの必要パッケージのインストール

パッケージのインストールは、「pipコマンド」を使います。

Tensorflow のインストール

この記事を書いている時の最新バージョンは 2.1.0 です。

バージョン1系のプログラムがそのままでは動かないなど、大きく変更されています。

今回、使うのは、「Tensorflow 1.14.0」と「Keras 2.2.4」です

まずは、Tensorflow(GPU版)をインストールします。

GPUが無い場合は「pip install tensorflow==1.14.0」

Keras のインストール

次に、Keras をインストールします。

MNIST で動作確認

Tensorflow と Keras のインストールが終わりました。

MNIST(手書き文字)を学習させて、動作テストをしてみましょう!

こちらのページに、Keras 用の MNIST 学習 Python サンプルプログラムがあります。

【GitHub】
https://github.com/keras-team/keras/blob/master/examples/mnist_cnn.py

「mnist_cnn.py」という名前で保存して、Python コマンドで実行します。

学習時のログの見方

実行したときに出力されるログから、ポイント抜粋します。

トレーニングデータが 60,000 個、評価用データが 10,000 個入力として扱われます。

GPU として「Geforce GTX 1060 6GB」が認識されました。

学習の結果

60,000個のトレーニングデータで12回目の学習が終了した結果、正解率は 0.9926(99.26%)となりました

正解率などは、学習のたびに若干変わりますが、概ね 0.99xx になりますね!

さいごに

今回は、「事前の準備」と「MNIST」での動作確認までを解説しました。

次回は、YOLOv3 を使った物体検出を自前画像で学習させていきます。

お楽しみに!

次回の記事はこちら

記事を書いた人

\ 技術に心臓を捧げよ /
(株)ライトコードは、WEB・アプリ・ゲーム開発に強い「好きを仕事にするエンジニア集団」です。
機械学習でのシステム開発依頼・お見積もりはこちらまでお願いします。
また、機械学習系エンジニアを積極採用中です!
※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。

こちらの記事もオススメ!

関連記事

ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

ライトコードメディア編集部
ライトコードメディア編集部
「好きなことを仕事にするエンジニア集団」の(株)ライトコードのメディア編集部が書いている記事です。

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界はお前の手の中に・・・ /

モバイルエンジニア

\ サービスの守り神! /

インフラエンジニア