ぽきたに 〜ありきたりな非凡〜

現役F欄大学生が送るゴミ溜めと独り言

Ubuntu14.04とCUDA8.0でCaffeを動かすって話。

 

こんにちは、たっきーです。
なぜか前日までうんともすんとも動かなかったCaffeが今日はすんなり動いた。
理由は僕もわからない。
とりあえずUbuntu14.04にして、CUDA8.0にしてみたら動いた。
 

背景・概要

先日に引き続き「初めてのディープラーニング --オープンソース"Caffe"による演習付き」武井 宏将 (著)って本を参考に深層学習の勉強がしたい。
しかし、初期設定(?)で躓く。
バージョンを本の内容と合わせると動いた。
ようやくゴールが見えてきた。
先生曰く、「これ、2日でおわるからやってみてww」って感じだったんだけど僕はここまでくるのに雑魚なので2週間ぐらいかかってる。

 

初めてのディープラーニング --オープンソース

初めてのディープラーニング --オープンソース"Caffe"による演習付き

 

 

 
 
 

Ubuntu14.04インストール

「Ubuntu初心者がUbuntuのダウングレードしたって話」で書いたように、本の内容をトレースするようにUbuntuのバージョンを14.04にダウングレードした。下準備はOK。
 

CUDA7.5のインストール

CUDAのバージョンを7.5に合わせる方向性で行こうか。
とりあえず、CUDA7.5のダウンロードサイトへ。

f:id:tacky0612:20170403222518p:plain

自分のOSを選択。インストーラータイプはdeb(local)を選択。ダウンロード。
 
ダウンロードが完了したらインストール先のディレクトリに移動して公式サイトを参考にインストールコマンドを端末に叩く。
 
$ sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda 
これでCUDA7.5は無事インストール完了。
 
 
 

Caffeのインストール

まずはCaffeをインストールする前に必要なライブラリのインストールを行う。
以下、コマンドを端末で叩く。
 
$ sudo apt-get install libatlas-base-dev libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev libgflags-dev libgoogle-glog-dev liblmdb-dev liblmdb-dev protobuf-compiler git
 
それぞれのライブラリの詳細はググろう。僕もあまりなんのためのライブラリなのか把握していない。
 
いよいよCaffeのダウンロード。
以下のコマンドを叩く。
 
 
そろそろCUIの操作にも慣れてきたかもしれん。
 
 
 
 

g++-4.6のインストール

Ubuntu14.04だと標準でCaffeをコンパイルできないらしいのでg++-4.6というコンパイラを入れるひつようがある。
インストールコマンド
 
$ sudo apt-get install g++-4.6
 
 

Makeファイルの作成

Caffeのディレクトリまで移動する。
僕は /home にダウンロードしたのでそのまま
$ cd Caffe
で移動する。
Caffeのディレクトリの中に Makefile.config.exampleというファイルがあるので、コピーして Makefile.config というファイルを以下コマンドで作る。
$ cp Makefile.config.example Makefile.config
 
 

geditコマンドでMakefile.configを編集する

geditコマンドでMakefile.configを開く。
$ gedit Makefile.config

f:id:tacky0612:20170403223603p:plain

# CUSTOM_CXX := g++の部分のコメントアウト(#)を外し、
CUSTOM_CXX := g++-4.6に変更する。
これでコンパイラの設定はOKかな。
 
 
今回はGPUモードで行いたいのでCPU_ONLYはコメントアウトしたままにしておく。
保存を押して閉じる。
 
 

Caffeのコンパイル&テスト

Caffeのディレクトリにいることを確認して以下コマンドを叩く。
$ make
うまく行ったと思ったらエラー。

f:id:tacky0612:20170403224331p:plain

nvcc fatal : Unsupported gpu architecture 'compute_60'
make: *** [.build_release/cuda/src/caffe/util/math_functions.o] エラー 1
ちょっと調べる。
 
 

え。CUDA7.5はGTX1070をサポートしていない…???

参考にしたところはこちら。

github.com

f:id:tacky0612:20170403224134p:plain

CUDA 7.5 is old so it may not support 'compute_61'.
CUDA8.0 or selecting 'compute_50' in Make.config will be a solution, maybe.

I'm using CUDA8.0 + Geforce1070 with no problem.
英語読めないけどなんとなくGTX1070はCUDA7.5じゃだめだよーって書いてある気がする。
CUDA8.0にしたらいいよーって書いてある気がする。
本のバージョンとは異なるがGPUモードで計算したいので仕方なくCUDAのアップグレードする。

 

 
 

まずはUbuntu14.04の再インストール

これはなんとなくキレイにしたいから。
前の記事のとおりにUbuntuの再インストールを行った。
 
 
 

仕方ないからCUDA8.0をインストール

CUDA8.0のダウンロードページに行く。
7.5のときとは大体同じ手順。
必要なライブラリやCaffeのダウンロード・インストールは同じ手順で行う。
 
 
 

Caffeの再単体テスト

Caffeをコンパイルして単体テストを実施する。
 
以下、そのコマンド(Caffeのディレクトリ内で行う。)
$ make
$ make test
$ make runtest

 

[ PASSED ]って表示されたら正常に走っているらしい。
 

f:id:tacky0612:20170403223424p:plain

やったぜ。
 
 
 

まとめ

無事にCaffeの単体テストGPUモードで走らせる事ができた。
英語読めるようになりたいね。
自分で読んでてこのブログ読み辛いね。。。
もっと簡潔に書けるように努力しよう。

 

  

今すぐ使えるUbuntu入門ガイド Linuxをはじめよう

今すぐ使えるUbuntu入門ガイド Linuxをはじめよう

 

 その日のディナー

 

スポンサードリンク