LoginSignup
17
14

More than 3 years have passed since last update.

GPUが使えるLightGBMをWin10にインストールする

Last updated at Posted at 2019-10-10

結構詰まったので、うまく行ったときの方法をメモ。

環境

  • Windows 10 1903
  • python 3.7.3
  • CUDA 10.1
  • Visual Studio 16 2019
  • git 2.21.0.windows.1
  • boost 1.71.0
  • cmake 3.15.2
  • lightgbm 2.3.1

手順

基本は公式ドキュメント通りにすればよいが、公式ドキュメントのコピペで済まない部分もあったりするのでメモ。

1. CUDA, Visual Studio, Git, Cmake, Boost等のインストール

公式ドキュメント通りやればよい。つまり、例えば

  1. Git for WindowsCMakeVisual Studioをインストールする
  2. NVIDIAならCUDA Toolkitを入れる
  3. Boostを入れる(Visual Studio 2019ならmsvc-14.2-64.exeのバージョンを選ぶ)

といった感じ1

気をつけたほうがいいかもしれないポイント:

  • BoostはBuildせず、公式ドキュメント通りexeファイルでインストールしたほうが楽
    • Buildしてもlib64-msvc-14.2ディレクトリは生成されない。
    • そうなると公式ドキュメント通りの入れ方ができなくなる。(おそらく若干パスの指定が変わるだけだが、私には知識がないのでbuild時のパスはわからない…)

2. LGBMのビルド

:a: GitHubからbuildする場合

公式ドキュメント通りやればよくて、例えばVisual Studio 16 2019ならGit Bash等で以下を実行する。

git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
mkdir build
cd build
cmake -A x64 -DUSE_GPU=1 -DBOOST_ROOT=C:/local/boost_1_71_0 -DBOOST_LIBRARYDIR=C:/local/boost_1_71_0/lib64-msvc-14.2 ..
cmake --build . --target ALL_BUILD --config Release

そしてpythonライブラリをインストールする。powershell等で以下を実行すればよさそう。

# python-packageに移動(以下ではbuildに居ることを想定)
cd ../python-package
# インストール
python setup.py install --precompile

:b: pipからbuildする場合

公式ドキュメントには書かれていないが、boostを使う場合はboostのパスを指定して2pip installする必要がある模様。

pip install lightgbm --install-option=--gpu --install-option="--boost-root=C:/local/boost_1_71_0/" --install-option="--boost-librarydir=C:/local/boost_1_71_0/lib64-msvc-14.2"

楽だが、pipよりもGitHubのほうが新しくてバグ修正などが進んでいるので現状はあまり意味がないように思える。GPUを使いたいだけの場合用。
(Google Colabは現在LGBMのGPUバージョンが入っていないのでColabでGPU使いたいときサクッとビルドするにはいいかも)

参考

XGBoostのbuildについてはこちら:GPUが使えるXGBoostをWin10にインストールする - Qiita


  1. MinGWでbuildするよりもVisual Studioでbuildしたほうが10倍高速らしいので、面倒でもVisual Studioを使ったほうがよさそう。 

  2. 公式ドキュメント通りのpip install lightgbm --install-option=--gpuだとCould NOT find Boost (missing: Boost_INCLUDE_DIR filesystem system)のエラーがlogに出た(関連して「MS Buildが見つからない」「VS Codeを入れろ」などのメッセージもでたが、これらは結局関係なかったっぽい)のでBoostの場所を指定する 

17
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
14