2018年1月5日金曜日

Windows10とUbuntu14.04.5のデュアルブート(OMEN by HP Desktop 880)

OMEN by HP Desktop 880では、NVIDIA GeForce GTX1080Tiが使えるデスクトップ環境が提供されています。深層学習専用機と比較するとコストパフォーマンスはかなりよいです。OMENと似たようなコンセプトのゲーム機はいろいろありますが、あとはデザインの可否でしょうか。

搭載されている1080Tiは従来の1080と比較して速度はそれほど変わりませんが、メモリーが11Gbまで拡大しています。画面表示と兼用しても、最低でも10Gb以上の領域を深層学習計算用に確保できます(描画用のグラフィックボードを追加すれば11Gbまるまる使えます)。手元のテスト環境としては十二分の能力でしょう。

OMENにはデフォルトでWindows10が付属しています。そこで今回はWindows10とUbuntu14.04のデュアルブート環境を構築します。Windows10を上書きするも一手ですが、ラボにWindows10環境がないのであえて残すことにしました。またSSDの領域を分けて使うとディスク容量に不安がありますので、Ubuntu用のディスクを新たに用意することとしました。元のWindows10は、M.2(エムドットツー)規格のSSDに搭載されています(マザーボードへの直差し)。Windows10のバックアップ領域は別途3.5インチのハードディスクに用意されており、今回は両方とも温存します。

1)新しい2.5インチSSDを用意し、筐体上部に用意されているSATAスロットに差し込みます(2スロットのうち一つを使う)。このSATAスロットは3.5インチ用なので、2.5インチSSDを差し込む際には変換アダプターがあったほうがいいです。変換アダプターがなくても差し込むことは可能ですが、ユラユラして不安定です。筐体上部に用意されているSATAスロット用には、OMENにはネジが8個付属しています。

2)Ubuntu14.04.5LTSのイメージDVDを用意します。末尾のバージョンが5であることが重要で、このバージョン以降がUEFIブートに対応しています。16.04LTSなら何の問題もないでしょう(ただし未試行です)。

3)Windows10の高速ブートをOFFにしてPCを落とします。http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=018214

4)イメージDVDをセットしてPCを立ち上げ、ESCキーを押し続け、BIOS画面に移行します。まずBIOSにもある高速ブートをOFFにします。さらにセキュアブート関係の項目をすべてOFFにしたうえで、起動順を変更します。DVDを最優先にして起動させます。

5)まずはインストールなしのトライモードで立ち上げてみます。

6)うまく立ち上がったらデスクトップのインストールアイコンをクリックしてインストール開始です。インストール対象はデフォルトではM.2のSSDになっているので、これを新しく差し込んだSSDのドライブに変更します(ここは慎重に!間違うとWindows10環境を失います)。あとは通常通りのインストールです。新しいディスクへのインストールですので、ディスクを完全イレースした上でのインストールを選択します。

7)再起動後、BIOS画面で再度起動順を調整して終わりです。

8)うまくいけば、UBUNTUのブートマネージャーが立ち上がります。

深層学習用の環境を整えるのは以前の記事の通りです。
https://doraemonkokoro.blogspot.jp/2016/09/ubuntuchainerinstallgtx1080_5.html
バージョンがいろいろ変わっていますが基本は一緒です。

Kerasの最新版2.1.Xでは、なぜかGPUが反応してくれなかったので、今回は2.0.8を使用しました。バックグラウンドにはTensorboardを使います。Chainerはバージョン3を使いましたが、問題なく動きました。



追記1(2018年6月11日):
Chainerのバージョンを4に上げました。問題なく作動しています。

追記2(2018年11月21日):
Windows10とUbuntu14.04.5のデュアルブートなんか作ってもWindows10は使わないだろうなーとおもっていましたが、SONYがneural network console(https://dl.sony.com/ja/)という開発環境を提供し始めました。コードを書くことなく、深層学習ネットワークを組み上げることができます。
 クラウドで使うのが基本のようですが(Chromeで動きます)、Windowsのデスクトップオフライン環境でも高速に動作します(WindowsユーザーでGPUを保有しているかたは、デスクトップオフライン環境がお勧め)。似たような試みとしては、IBMのWatson Studioがありますが、こちらはクラウドのみですので、Windowsアプリとして自前のGPUでガンガン動かせるSONYを使うメリットはかなりあるかと思います。
 試しにインストールしてみましたが、まずチュートリアルの動作が快適です。OMENに搭載されているGTX1080Tiもうまく動いています(独自に拡張したオートエンコーダーで目測150倍速)。データセットの扱いが独特ですし、変数が使えなさそうな雰囲気なので大規模なネットワークを組むには不向きかもしれませんが(その場合はテキストタイプのものが用意されているようです)、視覚的に構造が確認できるので、特に教育現場では役に立つことでしょう。
 ちなみデフォルトで搭載されているRandom Structure Searchは便利です。こちらがネットワークの原型だけ与えれば、勝手にいろんな構造を試してくれます(独自に拡張したオートエンコーダーで、はじめ最小二乗法のエラーが0.006だったものが、20時間ほどの探索で0.002まで下がりました。ただしネットワークは巨大化していく傾向にあります)。

追記3(2021年9月30日):
ある日突然まったく動かなくなりました。いくつかのPCが同時におかしくなったので、なにか変なことが起こったみたいです。結果的にはCMOSのクリアとメモリの接点清掃で復活しました。が、まだ不具合が。本体のSSDのWINDOWSのOSは削除、UBUNTU20へ移行してましたが、WINDOWSのバックアップディスクが悪いことをしていたみたいです。これを取り除きました。もうひとつは、元のUBUNTUディスクへのログインがはねられました。これはレガシーブートに変更して対応できました。



WindowsのWSL2は深層学習にガッツリ使える??

いろいろ検討した結果、 「WindowsのWSL2は深層学習に使える」 と、結論しましたので、ここに記録。 が、諸事情によりタイトルは??を付けました。 諸事情は最後に。 まず、 Windows及びNvidia driverはとことんアップデートする。 その後、 https://...