LoginSignup
14

More than 3 years have passed since last update.

Chainerのインストールにつまづいた記録

Last updated at Posted at 2019-04-20

記事の最終更新日 : 2019-04-20

もしこの情報が古すぎる場合には、回れ右して、他の記事を当たってください。
どうかあなたの時間を無駄に消費しないでください。

この記事はなにか

Chainerのインストールにつまづいて、人生の残り時間を消費しました。
この記事が誰かの問題解決の参考になれれば 消費した時間にも意味があった と思うことができます。

私の環境

  • Windows 10
  • Nvidia GTX 1080
  • Python 3.6.8 (Anaconda)

Chainerをインストールする前に

下記を順番にインストールしていきます。

  • CUDA
    これはGPUアクセラレーションを使うためのライブラリです。
    あなたの実行環境にあったものをダウンロードしてインストールしましょう。

  • cuDNN
    DNN(Deep Neural Network)向けのGPUアクセラレーションライブラリです。
    ユーザー登録が必要です。自分でファイルを配置する必要がありました。
    インストーラーを提供してほしいところ。

Python環境へインストール

※理由は後述しますが、この時点でpip/condaどちらにするのか決めておけばよかった

下記を順番にインストールしていきます。

  • Pythonの仮想環境をあなたのお好みへ切り替えます

  • CuPyのインストール

    • CuPyのサイトはこちら
    • NumPyをCUDAへ最適化したライブラリ
    • 上記でインストールしたCUDAのバージョンにあわせる
# (For CUDA 10.1)
$ pip install cupy-cuda101

※1 ここで$pip install cupyではインストールできませんでした
※2 インストールの確認は、$python -c 'import cupy as cp' でエラーが返ってこなければOKです。
※3 私は、cuDNNがnot availableというwarningに悩まされました
※4 Anaconda Navigaterにて、cudatoolkitをapplyしたら解消しました
※5 cuDNNはon/offスイッチがなく、ファイルと環境変数のパスが正しくインストールされていれば、cupyが自動で認識してくれます

Chainerのインストール

$pip install chainer

先にcupyをインストールしておく必要があるらしいです。
こういう依存がよくない!!つまづきの元になりやすい。

つまづく

上記の ※3 に書きましたが、ここでつまづきました。

※2 インストールの確認は、$python -c 'import cupy as cp' でエラーが返ってこなければOKです。

これをすると、

※3 私は、cuDNNがnot availableというwarningに悩まされました

なのです。

結局は、下記で解決はしたのですが、

※4 Anaconda Navigatorにて、cudatoolkitをapplyしたら解消しました

pipには、cudatoolkit がないのです。(2019-04-20現在)

https://pypi.org/search/?q=cudatoolkit

(おまけ) Chainerの実行環境をみる

$python -c 'import chainer; chainer.print_runtime_info()'
Platform: Windows-10-10.0.17134-SP0
Chainer: 5.3.0
NumPy: 1.16.2
CuPy:
  CuPy Version          : 4.1.0
  CUDA Root             : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
  CUDA Build Version    : 9000
  CUDA Driver Version   : 10010
  CUDA Runtime Version  : 9000
  cuDNN Build Version   : 7104
  cuDNN Version         : 7500
  NCCL Build Version    : None
iDeep: Not Available

おわりに

pip/condaの混在はよくないかな?という印象です。やっぱりね。
依存のあるパッケージをインストールするなら、Anaconda Navigatorをonlyで使ったほうがいいかもしれませんし、
そもそも、Google Colaboratory みたいなクラウド環境を使ったほうが、
インストールやアップデートで起こるトラブルに、時間を消費しなくていいと思います。

環境構築も1つのスキルだとは思いますが、それが目的でないなら、あなたの時間を大事にしてほしいな、と思います。

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
14