ノート

1. Titan CentOS install (2014-12-05〜)  

2014-12-05

ダウンロード・ISOイメージ

OSインストール

NVIDIA ドライバが動かない件

$ ./deviceQuery
./deviceQuery Starting...

 CUDA Device Query (Runtime API) version (CUDART static linking)

cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL

いよいよCaffeインストール

ここを見ると、boostのバージョンとか、BLASのバージョン(atlasかopenblasか)がリンク先と合わないとか?

NVIDIAデバイスドライバーがnouveauがあるためにインストールできない(エラー)件(2016-02-13)

カーネルイメージ自体に含まれてしまっている(少なくとも依存性があって、インストールしてしまう)らしい。いくらmodprobeでblacklistに入れても、lsmod | grep nouveau で見ると排除できていない。

ここの記述参照

これに従って、まずブートイメージをセーブ

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

nouveauドライバをロードしない起動イメージファイルを作成

dracut --omit-drivers nouveau /boot/initramfs-$(uname -r).img $(uname -r)

ほかのモジュールとの依存関係によってnouveauがロードされてしまう可能性があるので、下記2つのファイルを作成してmodprobe時にblacklist

vi /etc/modprobe.d/modprobe.conf
#
# /etc/modprobe.d/modprobe.conf (to omit nouveau driver)
#
blacklist nouveau

vi /etc/modprobe.d/nouveau_blacklist.conf
blacklist nouveau

再起動後,確認

lsmod | grep nouveau


2. Ginger CentOS install (2016-1-29〜)  

GingerにCentOS, Caffeをインストールする (2016-2-12〜17)

DVDから普通にインストール

CUDAをインストール

今までと若干変更

Anaconda2(Python2.7用)をインストール

Caffeインストールの準備としてAnacondaパッケージをインストールする。これによってCaffeに必要な幾つかの環境(ライブラリ等)が即時にインストールされるか、さもなければcondaコマンドでインストールできる。

condaコマンドを使ってインストールする理由は、Caffeの要求するライブラリが多いからだが、特に幾つかのライブラリはソースからコンパイルすると更に依存性があって、他のライブラリの依存性に抵触したりするようだ。本当はyumで入れれば、CentOS(Fedora)の統一した環境になるのだが、yumのレポジトリはCaffeなどの要求するバージョンより古くて不可な場合が散見される(結構多い)。condaの方が大分新しい。

ところが、Anacondaをインストールして、実行時の(動的)ライブラリ検索パスにanaconda/libを含めると、liblzmaのバージョンが書いていない、というエラーがselinuxから出る。selinuxから出るので、Caffeの標準環境であるubuntuでは出ないと想像できる。

このliblzmaのエラーは影響が大きくて、たとえばLD_LIBRARY_PATH環境変数で、/usr/lib64より前にanaconda/libを指定すると、OS起動時にエラーを検出して、起動できなくなる。その場合は、やむなくCentOSインストールCDで起動してレスキュー用シェルを起動し、HDDを適宜マウントしたのちに、anacondaをインストールしたディレクトリ全体を消去(=anacondaのアンインストール)して対応した。また、ld.so.conf.dにanaconda参照を組み込む(ファイルanaconda.confなどを作る)と、同様に起動不能になる。

このエラーは、動的ライブラリの参照パスが先にanacondaの中のliblzma.so.5...を参照していると起こるようで、起動時だけではなくて、anacondaインストール+動的ライブラリ参照パス設定直後から、コマンド実行時にも警告メッセージが出るようになるので、起こっていることが分かる。なので、インストール+パス設定の直後にこのメッセージが出る場合は、急いでインストールを外しておく方がよさそうだ。(さもないと、次に何かの加減で起動してしまったときにエラーが出て起動不能になって、えらい目にあうことを繰り返すことになる)

正しい対応策はよく分からないが、とにかくAnacondaが欲しいのであるから、Anacondaを入れないという選択肢はない。それで、Anacondaをインストールしたのち、元々/usr/lib64/liblzma***のsoファイル(liblzma.so, liblzma.so.5.0.99, liblzma.so.5)を、anaconda/lib/の下にコピーして入れ替えてしまうことで、対応した。マイナーバージョン番号は違ってしまっているが、一応動いている。

動的ライブラリのパスは、anacondaを全ユーザに共通に有効化するにはld.configに含めるのが良いと思うが、この件が怖いので、ld.configからは外し、それぞれのユーザが環境変数LD_LIBRARY_PATHでanacondaを含める(かどうか、順序をどうするかを決める)ことにした。

Caffeのインストール

Anacondaで勝手に入ってくるライブラリでは足りないものがあるので、いくつか追加する。

Caffeで遊ぶ

といっても、学習フェーズは大変なので、最初に、既存の学習済みモデルを使って分類がうまくできることで遊ぶ。

詳細はCaffeで手軽に画像分類 - Yahoo! JAPAN Tech Blogにあるが、 get_caffe_reference_imagenet_model.shが無いのでreadme.mdの中から対象のファイルをダウンロードしなければならない( Caffe - RupyWiki参照)。

更に、classify.pyで呼び出されるio.pyで失敗するが、 PythonからCaffeを使う & ImageNetをリファレンスモデルとして使う(認識と特徴抽出) - Keep In MindOSX10.10でCaffeをインストール、リファレンスモデルで画像を分類 - Qiitaの方法で治るが、こういう指摘Caffe, Pylearn2をまとめて試す - Qiitaもある(試してない)。

また、参考として


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-02-17 (水) 08:51:46 (667d)