FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

Hyper-V上のUbuntuにTensorFlowのインストール

Hyper-VUbuntuをインストールし、GUIが嫌いなので基本的にCygwin上からSSHでアクセスできるように設定したい。

それにしても、Hyper-Vが導入したいからWindows10にバージョンアップしたとは言え、、、この重さはなんなんだ。。。メモリも馬鹿食いだし、あまり良いことが無い。 Windows 7の方が軽快だったので、Hyper-Vに飽きたら元に戻そうかな(笑)

という訳で、Hyper-V上にUbuntuをインストールし、この上にTensorFlowのインストールしよう。Hyper-Vを利用する利点としては、VirtualBoxではGPGPUを使えないが、Hyper-Vでは使えることだ。

1. Hyper-V上にUbuntuをインストールする

これは、別にここで詳細に記述しなくても、検索すればすぐに分かる。ISOをダウンロードして、インストールするだけだ。Ubuntu-15.10をインストールした。

f:id:msyksphinz:20160316015400p:plain

2. Open-SSHを利用してSSHサーバを立ち上げる

これも簡単。aptitudeでインストールするだけだ。

$ sudo apt-get update
$ sudo apt-get install openssh-server

これで、外部、というかホストPCであるUbunutからIPアドレス経由でアクセスできるようになる。

$ ssh -X 192.168.0.3
The authenticity of host '192.168.0.3 (192.168.0.3)' can't be established.
ECDSA key fingerprint is SHA256:U6GbcZS2EM17uKELtVWsuJfUQUUsR5m2AOkoz9qIF6E.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.3' (ECDSA) to the list of known hosts.
masayuki@192.168.0.3's password:
Welcome to Ubuntu 15.10 (GNU/Linux 4.2.0-17-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

173 packages can be updated.
101 updates are security updates.


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

masayuki@trilenx-ubuntu:~$

3. CUDAツールキットをインストールする

CUDAのツールキットを以下からダウンロードする。

developer.nvidia.com

f:id:msyksphinz:20160316020904p:plain

$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1504/x86_64/cuda-repo-ubuntu1504_7.5-18_amd64.deb
$ sudo dpkg -i cuda-repo-ubuntu1504_7.5-18_amd64.deb
$ sudo apt-get update
$ sudo apt-get install cuda

どうやらいくつかのパッケージを削除しなければならないようだ。

1 個のパッケージを更新、 105 個を新たにインストール、 0 個を削除予定、170 個が更新されていない。
1,169 M バイトのアーカイブを取得する必要があります。 展開後に 2,152 M バイトのディスク領域が新たに消費されます。
以下のパッケージには満たされていない依存関係があります:
 libc6-dbg : 依存: libc6 (= 2.21-0ubuntu4) [2.21-0ubuntu4.1 がインストール予定となっています]
 libc6-dev : 依存: libc6 (= 2.21-0ubuntu4) [2.21-0ubuntu4.1 がインストール予定となっています]
以下のアクションでこれらの依存関係の問題は解決されます:

      以下のパッケージを削除する:
1)      build-essential
2)      g++
3)      g++-5
4)      libc6-dbg
5)      libc6-dev
6)      libstdc++-5-dev

      以下のパッケージを現在のバージョンに一時固定する:
7)      cuda [インストールされていません]
8)      cuda-7-5 [インストールされていません]
9)      cuda-command-line-tools-7-5 [インストールされていません]
10)     cuda-core-7-5 [インストールされていません]
11)     cuda-documentation-7-5 [インストールされていません]
12)     cuda-drivers [インストールされていません]
13)     cuda-runtime-7-5 [インストールされていません]
14)     cuda-samples-7-5 [インストールされていません]
15)     cuda-toolkit-7-5 [インストールされていません]
16)     cuda-visual-tools-7-5 [インストールされていません]
17)     nvidia-352 [インストールされていません]
18)     nvidia-352-dev [インストールされていません]
19)     nvidia-352-uvm [インストールされていません]

      以下の依存関係を未解決のままにする:
20)     dpkg-dev が build-essential を推奨
21)     gcc が libc6-dev | libc-dev を推奨
22)     gcc-5 が libc6-dev (>= 2.13-0ubuntu6) を推奨
23)     gdb が libc-dbg を推奨
24)     libgcc-5-dev が libc6-dev (>= 2.13-0ubuntu6) を推奨

しかたないので継続して、インストールを続行する。再度cudaインストールのコマンドを打たないとダメなようだ。

sudo apt-get install cuda

ここで一旦リブートする。

4. cuDNNのダウンロード

cuDNNのダウンロードは下記のサイトから行う。

developer.nvidia.com

解答してから、単純にコピーする。

$ sudo cp include/cudnn.h /usr/local/cuda/include/
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64/

5. TensorFlowのインストール

これはマニュアル通りだ。

github.com

まずはPythonをインストールする。それからTensorFlowだ。

sudo apt-get install python-pip python-dev
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl

インストール完了。