はじめに
ここに書いてあることを実行してもwaifu2xが
使えるようになるわけではありません。
結果から言いますと動かすのに失敗しました。
さて、最近話題のwaifu2xですが、俺も使ってみました。
http://t.co/QWhf4l41yP を試してみた。 対象:http://t.co/UfY0sLx3Bs 処理:2倍に拡大 左:バイキュービック法 右:waifu2x pic.twitter.com/o20arfaLjx
— ROKU.DW(ろく) (@rok_dw) May 19, 2015
あ、画像の選定は趣味です。
予想を上回る処理結果にすげーって思ってたところ、
しんくさんから、ROKUさんwaifu2xの環境構築できませんか?と聞かれ、
興味もあったしやってみようってことになりました。
題名にもある通り環境はVirtualBoxにUbuntu14.04をクリーンインストールして、
VirtualBox Guest Additionsをインストールしたところからスタート。
まあ、github(https://github.com/nagadomi/waifu2x)のREADMEに
丁寧にインストール方法書いてくれてるし簡単でしょ(フラグ
curlとTorch7のインストール
1 2 |
sudo apt-get install curl curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-all | sudo bash |
問題なく完了。
CUDA 7.0 Toolkitのインストール
[UNIX][統計学] Ubuntu 14.04にNVIDIA CUDA 6.5 toolkitをインストールする
ここが参考になりました。
1 2 3 4 5 6 7 8 |
#Ubuntu14.04用。その他はhttps://developer.nvidia.com/cuda-downloadsを見よう。 wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb sudo dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb sudo apt-get update sudo apt-get install cuda cd ~ export PATH=/usr/local/cuda-7.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH |
上のURLに書いてますが、NVIDIA製品が入ってるか確認しました。
1 |
lspci | grep -i nvidia |
結果は、何も表示されず…PCのグラボがGTX660とはいえ薄々分かってはいましたけど。
多分動かないだろうなぁ…と思いつつ続行。
cuDNNのインストール
https://developer.nvidia.com/cuDNNからダウンロードする必要があるんですが、
ダウンロードするにはNVIDIAのサイトでユーザー登録を行い、かつ
CUDA/GPU Computing Registered Developer Programに参加し、承認される必要があります。
承認には大分時間がかかる場合もあるようですが、俺は申請してから6時間後には承認されてました。
1 2 3 4 5 6 7 |
#圧縮ファイルの中身のINSTALL.txtを参考に tar -xzvf cudnn-6.5-linux-x64-v2.tgz sudo cp -r cudnn-6.5-linux-x64-v2 /usr/local/cudnn-6.5-v2 cd /usr/local sudo ln -s cudnn-6.5-v2 cudnn cd cudnn export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH |
これでOK。
その他パッケージのインストール
別にREADME通りでいけるだろうと思ってたけど、
1 2 3 4 5 |
sudo luarocks install cutorch sudo luarocks install cunn #略 /usr/local/include/THC/THC.h:5:26: fatal error: THCAllocator.h: そのようなファイルやディレクトリはありません #略 |
とcunnがインストールに失敗。調べてみると
THCAllocator.hはcutorchのもののようなので、cutorchをgithubから落としてインストールしてみる。
1 2 3 4 5 6 |
sudo luarocks remove cutorch git clone https://github.com/torch/cutorch.git ~/cutorch --recursive cd cutorch cmake . make sudo make install |
で、cunnをインストールしようとしたらまた同じエラーで失敗…
cutorchのソースを見ていると、
https://github.com/torch/cutorch/blob/master/lib/THC/CMakeLists.txt
でTHCAllocator.hをコピーしていないっぽいのが発覚。
とりあえず手動でTHCAllocator.hをコピーしてみる。
1 2 3 4 5 |
cd ~/cutorch/lib/THC/ sudo cp THCAllocator.h /usr/local/include/THC/. #もう一度挑戦 sudo luarocks install cunn |
これで問題なくcunnのインストールが完了。多分。
(追記)githubのcutorchに修正が入ったようで、修正内容を見る限り上記ではダメです。
おとなしく修正済みのリポジトリをクローンしてインストールしましょう。
READMEに従って残りのパッケージもインストール。
1 2 3 |
sudo luarocks install cudnn sudo apt-get install graphicsmagick libgraphicsmagick-dev sudo luarocks install graphicsmagick |
他はエラーも出ず無事インストール完了。
waifu2xの起動
さてやってまいりました。いざ起動!
1 2 3 4 5 6 7 8 |
cd ~ git clone https://github.com/nagadomi/waifu2x.git ~/waifu2x --recursive cd waifu2x th waifu2x.lua modprobe: ERROR: could not insert 'nvidia_346': No such device #中略 cuda runtime error : no CUDA-capable device is detected at /tmp/luarocks_cutorch-scm-1-552/cutorch/lib/THC/THCGeneral.c:241 #以下略 |
ですよねー。というわけで「CUDAが使えるデバイスがないよ」と言われてしまいました。
でも諦めきれずにいろいろ調べてみたところ、
Enable CUDA GPU working under VM
http://askubuntu.com/questions/598317/enable-cuda-gpu-working-under-vm9.6. PCI passthrough
https://www.virtualbox.org/manual/ch09.html#pcipassthroughPCIパススルー
http://itpro.nikkeibp.co.jp/article/Keyword/20091127/341198/?n_cid=nbpitp_itptw_top
どうやらPCIパススルーという機能が利用できれば俺のPCにあるGTX660を使って
仮想マシン上でCUDAが使える模様。
ただ、マザボにIOMMUという機能を備えたチップセットが必要なのと、
CPUがIOMMUに対応している必要があるらしいです。
早速biosの設定画面をじーっと眺めてたんですが…どうやらウチではIOMMUは使えないようです。
ざんねん!わたしのぼうけんは これで おわってしまった!
うーん…機会があれば俺のPCをWindowsとUbuntuのデュアルブートにして
waifu2xのインストールをしてみたいですね。
最後に
前々からちゃんとした自分のWebサイトを持ちたいと思ってたんですが、
最後の後押しとなったのはwaifu2xのインストール手順を記事にしたいという思いでした。
きっかけをくれたしんくさんには感謝致します。