Windows10からDocker経由でTensorFlow環境を構築していますが、やはりGPUが使いたい…と思って調べてみてやっぱりダメだった…という記録。
TensorFlowというより、Windows上の仮想環境でGPGPUが使えるかどうか、という話でもあり、結論としては無理。
(2016/12/01追記) Windows版TensorFlowがリリースされました!
目次
Windows版TensorFlowはGPU対応!
というお知らせが出ていました。
本家を見ますと、
Native support for TensorFlow on Windows was one of the first requests we receivedafter open-sourcing TensorFlow. Although some Windows users have managed to run TensorFlow in a Docker container, we wanted to provide a more complete experience including GPU support.
ということでGPUサポートしているようです!
早速試された方の記事。動いているよう。
僕はちょっとまだ試せてないのですが…GeForce10載せノートの存在価値がさらに輝きますね…!
[VRとか機械学習とかに] GeForce10xxシリーズを積んだノートPCを求めて
ということで以下は古い情報になりますが、何かの参考になることがあるかもなので残しておきます。
Nvidiaが出しているDockerコンテナを使う
Linux用でした。
Windows上のTensorFlow環境はDockerで動いているので、それが対応してるなら…って思ったのですが、そもそもそのDockerがVirtalBox上で動いているんですよね…
亀の上に亀が乗ってさらにそのうえに亀がいるみたいだなこれ。
UbuntuでDocker+GPGPUはできそうな感じの記事をいくつか見つけたので、参考までに。
VirtualBoxでGPGPUを使う
では、VirtualBoxでそもそもGPGPUを使うことが出来れば、そこにLinuxをいれてやればいい話。
そう思って調べてみたものの…Windowsでは無理そう。
PCIパススルーという、仮想マシンから直接ハードにアクセスする機能? があるみたいなのですが、
When running on Linux hosts, with a recent enough kernel (at least version
2.6.31
) experimental host PCI devices passthrough is available.
Oh…
Microsoft謹製、Hyper-Vならどうか
MicrosoftのシステムならGPU処理も…きっと…
しかし、どう頑張っても、GPGPUを認識させることができない。
ハイパーバイザ方式、VMWare ESXiならば
ハードの上にゲストOSらを制御するハイパーバイザが入る、VMWareならどうか…
…これも、先のブログで調べられていたりしました。
OSから認識はされたけれど、CUDAからは認識されないよう…
(OSのほうでは認識されてるということは、将来的に解決される可能性あるかな?)
まあ、ハイパーバイザ形式だとそもそも構築しなおさないといけないので、私の要望 (テスト環境として、今あるWindowsマシン上にTensorFlow環境を構築して、なおかつパフォーマンスを改善したい)というものには合致しないため、どちらにせよダメな話ではありますけど。
というわけで、どれもダメな感じでした…
TensorFlow、Windows版が正式に出てくれたらそれでって感じですけど…あんまり出る雰囲気じゃない(し、Windowsで運用したいというのもあんまりない)よなあ。
おまけとして、CPUの仮想化支援状態をチェックできるアプリを見つけたのでおいておきます。
コメント
[…] Windows10にTensorFlowをインストールします。Dockerを使うと簡単にインストールできます。GPUなしバージョンをインストールします。Dockerはインストールされているものとします。ちなみに、Windows環境だとTensorFlowのGPU版を使うことは難しいようです。今度、最近できるようになった、Windows10上で、Linuxが動かせるやつを試してみようと思います。参考:Windows10上のTensorFlowでGPUを利用しようとしてダメだった […]
[…] 「Windows10上のTensorFlowでGPUを利用しようとしてダメだった→できるようにな…なんと、Windows版でGPU利用も可能なものが出てるらしい。「Google、オープンソースの機械学習ライブラリ「TensorFlow」のWindows版を公開」 […]