google colaboratoryでtensorflow-gpu 1.7.0が使えない

machine learning(機械学習)には、linear algebra(線形代数)が必須らしいが、とりあえずそれは置いておくとして、まず、プログラミングを学ぶことから始める。

WSL(Windows subsystem for Linux)にJupyter Notebook環境でも十分快適と言えるが、たまにマシンパワーの無さを肌で感じる時があるので、無料で使えるgoogle colaboratoryを使うことにした。使うに当たって、tensorflow-gpuを最新の1.7にupgradeしたら悲劇が起きた。

ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

Failed to load the native TensorFlow runtime.

ライブラリがないなら入れればいいと思って以下のコマンドを入力したら

!apt-get install cuda-9.0

以下のようなアウトプットが返された。

Reading package lists... Done
Building dependency tree      
Reading state information... Done
Note, selecting 'libcuda-9.0-1' for regex 'cuda-9.0'
Note, selecting 'libcuda1-384' instead of 'libcuda-9.0-1'
libcuda1-384 is already the newest version (384.111-0ubuntu0.17.10.1).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.

upgradeされてないのがあるからupgradeした方がいいかなと思って以下を入力

!apt upgrade -y

色々とアップグレードされた後で、再び上記のコマンドを入力したところ

Reading package lists... Done
Building dependency tree      
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  linux-headers-4.13.0-37 linux-headers-4.13.0-37-generic
Use 'apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

言われた通りに!apt autoremoveを入力した後に以下のコマンドを入力してcudaのverを確認した。

!ldconfig -p | grep cuda
    libicudata.so.57 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.57
    libicudata.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so
    libcudart.so.8.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcudart.so.8.0
    libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
    libcuda.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so

巷の意見では、cuda-9.0にアップグレードされるのを待つしかないらしい。

最後にtensorflow-gupをダウングレードして作業を終了した。

!pip3 install  tensorflow-gpu==1.4

現在、GPU無しの自機とどれだけ処理速度が違うのかを比べている最中。

スポンサーリンク