Kaggleカーネル環境再現

Kaggleカーネル環境再現

概要

KaggleカーネルのDockerイメージを、ただ使っただけだとGPUを認識してくれなかったので、メモ

環境

OS: Ubuntu 18.04 bionic
Kernel: x86_64 Linux 4.15.0-47-generic
GPU: GeForce RTX 2070
Docker: 18.09.5, build e8ff056

やること

  • KaggleカーネルのDockerイメージの作成
  • コンテナ作成
  • コンテナ内からGPUが認識できているか確認

やらないこと

NVIDIA Docker 環境の構築など
過去記事を参考にしてみてください

カーネル環境構築

とても簡単です。
やることは以下3点

  • GitHubリポジトリのクローン
  • build
  • 環境変数変更

README.mdにも書いてありましたが、最後の環境変数の変更がないと、GPUを認識してくれないようです。
(自分は見落として、色々と時間を無駄にしました…)

git clone https://github.com/Kaggle/docker-python.git
cd docker-python/
# 実行
./build --gpu

# コンテナ作成
docker run --runtime nvidia --rm -it kaggle/python-gpu-build /bin/bash

しばらく時間はかかりますが、これだけでカーネル環境が手元にできます!
が、下記にあるように、環境変数を変更しないと、うまくGPUを認識したくれませんでした。

To ensure your container can access the GPU, follow the instructions posted here.

対処法は簡単で、変数を以下のように変更するだけ。

(container) $ export LD_LIBRARY_PATH=/usr/local/cuda/lib64

備考

もともと変数には以下の文字列が入ってると思います。
それを変更するので、もしかしたら不具合がどこかで生じるカモしれません。

LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/cuda/lib64/stubs

なぜか余分なものが含まれている。と、先程のissueでは言っていて、公式もこれをREADME.mdに追記、自分もこの変更でGPUを認識してくれたので、今の所大丈夫かなと思っています。

コメント

このブログの人気の投稿

「Zabbixサーバーが動作していません」と、なった時の対処法

Mac から X11 forwarding を使用してLinux サーバの GUI アプリを表示する(Can't open display トラブルシュート編)

Ubuntu18.04のCPU、GPU 温度を、Zabbix4.0から監視する