1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

LightGBMのインストールでこけたのでメモ

Last updated at Posted at 2022-01-11

仮想インスタンスで機械学習の環境を構築していたら、lightgbmのインストールでこけたのでメモ。
環境はDebian/Linux。Python3系。

2022/01/16間違っていた記載があったので、いろいろ修正。

#初めにやったこと

python3 -m pip install lightgbm

前に環境構築したときはこの↑のpip installでいけたような記憶があった(そこまでややこしくはなかったような記憶があった)が、このコマンドでは駄目だった。(※正確には時間がかかりすぎていた。経験上、時間がかかりすぎるのはどこかが間違っていることが多い。)
もう一つコマンドを試してみる↓。

sudo apt-get install python3-lightgbm

が、"Unable to locate package python3-lightgbm"のエラーを吐く。

いつもの手法が通用しないので、改めてどこで問題が起こっているのか考察する。

 1.一応、lightgbmはpipでインストールできるはずである。(ネットにも情報が落ちている)
 2.さきほどの”python3 -m pip install lightgbm”のコマンドを打った時、ログによるとscikit-learnの環境構築をするところで止まっていたらしかった。
 3.まずはscikit-learnをインストールしてみれば、状況が改善するかもしれない。

という訳で、scikit-learnをインストールしてみた。一応その前にlightgbmがscikit-learnのどのバージョンをインストールしようとしているのか確認しておいた(実はlightgbmではそのバージョンは使えませんでした、となったら悲しいので)。
ログを見たところ、lightgbmはscikit-learn1.0.2をインストールしようとしていたらしいので、現在の最新版を入手しようとしていたことが分かった。

なので、scikit-learn公式のDocumentに従ってインストールコマンドを打ってみる。

sudo apt-get install python3-sklearn python3-sklearn-lib python3-sklearn-doc

Debian/Ubuntuでは↑のコマンドでscikit-learnを入手するらしい。
するとpython3-sklearn-docが"Unable to locate package"のエラーを吐いてしまった。
なので、今度はpython3-sklearn-docだけなくして、コマンドを再実行すれば問題なくsklearnをインストールできた。

その後、もう一度lightgbmをインストールしてみた。
すると、サクッと無事にlightgbmをインストールすることに成功。
ううん、どうやらscikit-learnが悪さをしていたようだね...。
同様の問題に当たったら、まずはscikit-learnをインストールできていないかどうかを確かめるとよいかもしれません。

Cmakeとsetup.pyを利用したインストール(非推奨)

基本的にpython3パッケージはsetup.pyコマンドを使わずにインストールしたほうが面倒がないので、以下からの手順は非推奨。
どうしてもpipでインストールできない場合に参考にしてほしい。

まずはLightGBMインストールガイドを読む。

これによると、LinuxではまずCMakeをインストールすることから始めるらしい。

#CMakeのインストール

まずwgetをaptで入手する。まずいつものupdateから。

sudo apt update
sudo apt install wget

次に、CMakeのサイトから最新版を入手する。

現在の最新版は3.22.1なので、それを入手する。

wget https://github.com/Kitware/CMake/releases/download/v3.22.1/cmake-3.22.1.tar.gz
tar -xvzf cmake-3.22.1.tar.gz
cd cmake-3.22.1
sudo ./bootstrap
sudo make
sudo make install

これでOK…かと思いきや、
「Could not find OpenSSL. Install an OpenSSL development package or configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.」
というエラーがsudo ./bootstrap中に起こる。これについて軽くググってみたところ、この↓のコマンドを実行するといいらしい。エラーが特に起きなかった人はここを飛ばしてもいい。

sudo apt install libssl-dev

一応、インストールできているか確かめる。

cmake --version

バージョンが表示されていたらOK。
ここまで来たら、あとはようやくlightgbmをインストールする。

lightgbm のインストール

git clone --recursive https://github.com/microsoft/LightGBM
cd LightGBM
mkdir build
cd build
cmake ..
make -j4

このコードは公式の手順通り。なお最後の「make -j4」の「-j4」は並列処理のためのコマンドであるが、この後ろにつく数字はCPUの数×2倍にすることで最適に処理を高速化できるらしい(なおこの数字が大きすぎると逆にCPUのキャパを越える)。

それから、公式のドキュメントには載っていないが、lightgbmを使用するにはさらに以下のコマンドを実行する。

cd ../python-package
python3 setup.py install

最後に確認。

$ python3

---import lightgbm

無事にimportできたら完了。

参考リンク

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?