Chainerは,Python ベースの,ディープラーニングのフレームワーク
CuPy は,numpy 相当の機能を持つ数値演算ライブラリで,動作には NVIDIA CUDA が必要.
目次
先人に感謝.
参考 Web ページ: https://docs.chainer.org/en/stable/install.html
Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行.
sudo apt update sudo apt -yV upgrade sudo /sbin/shutdown -r now
次のコマンドを実行.
sudo apt -yV install python3-dev python3-pip python3-setuptools sudo apt -yV install jupyter-qtconsole jupyter-notebook python3-jupyter-client python3-jupyter-console python3-spyder spyder3
端末で,次のコマンドを実行.
sudo apt -yV install git cmake cmake-curses-gui cmake-gui wget p7zip-full
端末で,次のコマンドを実行.
sudo apt -yV install build-essential gcc g++ gfortran make ccache qt5-qmake
※ GPU とは,グラフィックス・プロセッシング・ユニットの略で、コンピュータグラフィックス関連の機能,乗算や加算の並列処理の機能などがある.
ダウンロードページ
詳しくは,次のように別ページで説明している.インストール手順が分からなくなったり,不具合があったときは,次に書いている別ページの説明を確認すること.
※ CUDA とは,NVIDIA社が提供している GPU 用のプラットフォームである.
ダウンロードページ
TensorFlow 2.1 以上の GPU 版での,NVIDIA CUDA のバージョンは 10.1 が指定されている. TensorFlow 1.15の GPU 版での,NVIDIA CUDA のバージョンは 10.0 が指定されている. 指定されているバージョンより高いものは使わない. その根拠は次のページ. URL: https://www.tensorflow.org/install/source#common_installation_problems
詳細説明
ダウンロードページ
ダウンロードして展開(解凍)したら,パスを通しておくこと.
URL: https://www.tensorflow.org/install/source#common_installation_problems
詳細説明
端末で,次のコマンドを実行.
sudo python3 -m pip install cython
CuPy は,numpy 相当の機能を持つ数値演算ライブラリで,動作には NVIDIA CUDA が必要.
端末で,次のコマンドを実行.
終了までしばらく待つ.
sudo CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" pip3 install cupy --no-cache-dir -vvvv
エラーメッセージが出ていなければ OK.
端末で,次のコマンドを実行.
pip3 show cupy
端末で,次のコマンドを実行.
終了までしばらく待つ.
cd /tmp rm -rf chainer git clone https://github.com/chainer/chainer.git cd /tmp/chainer sudo CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" pip3 -v install .
エラーメッセージが出ていなければ OK.
端末で,次のコマンドを実行.
pip3 show chainer
インストールできたかを確認したい.
Python プログラムを動かす.
※ Python プログラムを動かすために, Windows では,「python」コマンドを使う. Ubuntu では「python3」コマンドを使う.
開発環境や Python コンソール(Jupyter Qt Console,spyder,PyCharm,PyScripter など)も便利である.
import numpy as np N = 10000 X = np.random.rand(N, N) Y = np.random.rand(N, N) import time start_time = time.time() Z = np.dot(X, Y) print(time.time() - start_time) exit()
import numpy as np import cupy as cp N = 10000 X = cp.asarray( np.random.rand(N, N) ) Y = cp.asarray( np.random.rand(N, N) ) import time start_time = time.time() Z = cp.dot(X, Y) print(time.time() - start_time) exit()
本サイトは金子邦彦研究室のWebページです.サイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.
問い合わせ先: 金子邦彦(かねこ くにひこ) ![]()