意外となんとかなる日記

世迷言を心に、綺麗事を頭に

スポンサーリンク

【CentOS7】RTX2070でpython36uのTensorflow-gpuを使用する

 f:id:Suechan:20181210002456j:plain

 ちょっと備忘録としてメモしときます。
 RTX系だと3XX.XX以下のグラフィックドライバが使えません。なので4XX.XXを利用しようとすると、こんどはCUDAに怒られるパティーンで、結構ハマりました。
 Webを見るとubuntuが圧倒的に多いですが、せっかく覚えたCentOSでもPythonができるようになればなぁと思いますた。



 この手順書は以下の環境を新規に構築し、Python36uのTensorflow-gpuを使用できるようにします。
 あくまでも「Tensorflow-gpuモジュール」の使用であり「Tensorコア(not use tensorcore)」の使用ではありません
 ・CentOS 7.5
 ・CUDA 9.0、10.0、
 ・Python36u
 ・Geforce RTX2070
 ・インターネットに接続できる環境
 RTXで躓くところを重点的に記載していますので、足りない場合は他のサイトを参照してください。



 公式ドキュメントはこちらです。
 Installation Guide Linux :: CUDA Toolkit Documentation


 おおまかな手順です。
 1.CentOS7.5新規インストール
 2.CentOS初期設定
 3.ファイルダウンロード
 4.CUDA及びcudnn9.0インストール
 5.CUDA及びcudnn10.0インストール
 6.環境変数設定
 7.グラフィックボード認識確認
 8.Python36uインストール及びTensorflow-gpu動作確認

 以下詳細手順になります。
 1.CentOS7.5新規インストール

  1)「ソフトウェアの選択」は「GNOMEデスクトップ」を、「選択した環境のアドオン」は「なし」を選択しましたが、なんでもよいと思います。


 2.CentOS初期設定

  1)とりあえず放置して、カーネルのアップデートをるため再起動とか済ませます。

  2)「端末」を起動し、以下コマンドを入力します。

sudo yum -y install gcc make zlib-devel openssl-devel epel-release
sudo yum -y install dkms
systemctl reboot

 3.ファイルダウンロード

  1)CUDA Toolkitの9.0と10.0をダウンロードします。細かい手順は他サイトを。
   ファイル名は[cuda-repo-rhel7-9-0-local-9.0.176-1.x86_64.rpm][cuda-repo-rhel7-10-0-local-10.0.130-410.48-1.0-1.x86_64.rpm]です。

  2)cudnnの9.0と10.0とダウンロードします。細かい手順は他サイトを。
   ファイル名は[cudnn-9.0-linux-x64-v7.1.tgz][cudnn-10.0-linux-x64-v7.4.1.5.tgz]です。

  3)IUSサイトhttps://ius.io/GettingStarted/の下の方にあるhttps://centos7.iuscommunity.org/ius-release.rpmをクリックしてダウンロードします。
   ファイル名は[ius-release.rpm]です。


 以下、失敗するとカーネルパニックなど起こる場合がありますので、Python36uインストール手前まで一気に作業してください。

 4.CUDA及びcudnn9.0インストール

  1)[端末]を起動します。

  2)以下コマンドを入力し、CUIモードにします。

init 3

  3)以下コマンドを入力し、9.0をインストールします。

sudo yum -y install cuda-repo-rhel7-9-0-local-9.0.176-1.x86_64.rpm
sudo yum clean expire-cache
sudo yum -y install cuda
tar zxvf cudnn-9.0-linux-x64-v7.1.tgz
sudo cp cuda/include/* /usr/local/cuda-9.0/include/
sudo cp -R cuda/lib64/* /usr/local/cuda-9.0/lib64/

 5.CUDA及びcudnn10.0インストール

  1)続けて以下コマンドを入力し、10.0をインストールします。

sudo yum -y install cuda-repo-rhel7-10-0-local-10.0.130-410.48-1.0-1.x86_64.rpm
sudo yum clean expire-cache
sudo yum -y install cuda
tar zxvf cudnn-10.0-linux-x64-v7.4.1.5.tgz
sudo cp cuda/include/* /usr/local/cuda-10.0/include/
sudo cp -R cuda/lib64/* /usr/local/cuda-10.0/lib64/


 6.環境変数設定

  1)以下コマンドを入力し、環境変数を設定ファイルを開きます。

vi .bash_profile

  2)最終行の[export]を以下のように変更追記します。

export PATH=/usr/local/cuda-10.0/bin:$PATH
export CUDADIR=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH

  3)[ESC]キー押下-[:wq]を入力し、上書き保存します。

  4)以下コマンドを入力し、変更追記した環境変数を適用します。

source .bash_profile


 7.グラフィックボード認識確認

  1)以下コマンドを入力し、バージョン番号が出ることを確認します。

nvcc -V

  2)以下コマンドを入力し、グラフィックボードの型番等が表示されることを確認します。

nvidia-smi

  3)以下コマンドを入力し、サービスが登録されていることを確認します。

systemctl status nvidia-persistenced

  4)サービスの登録が確認できたら、以下コマンドを入力し、システム起動時にサービスが有効となるように設定します。

sudo systemctl enable nvidia-persistenced

  5)以下コマンドを入力し、OSを再起動します。

systemctl reboot


 8.Python36uインストール及びTensorflow-gpu動作確認

  1)[端末]を起動します。

  2)以下コマンドを入力し、iusパッケージをインストールします。

sudo yum -y install ius-release-1.0-15.ius.centos7.noarch.rpm

  3)以下コマンドを入力し、Python36uのインストール他をします。

sudo yum -y install python36u python36u-pip python36u-devel 
sudo pip3.6 install --upgrade pip
sudo pip3.6 install tensorflow-gpu keras


  4)なにかで実行してみます。単純な確認であれば以下のコマンドを入力します。

python3.6

import tensorflow as tf
print(tf.__version__)


 f:id:Suechan:20181209235052j:plain
 ※いつものmnistcnn.pyですが、Windows10環境より遅いかもしんない


 以上で使えるようになっているはずです。お疲れ様でした。



 9.(番外編というか本編?)グラフィックボードのテスト
 1)Windows10を起動します。

 2)[ストア]アプリを起動します。

 3)右上の検索で[forza]と入力し、プルダウン表示された[Forza Horizon 4 デモ]をインストールします。

 4)チュートリアルプレイを終え、どうにかしてベンチマーク画面にたどり着き、ベンチマークを実行します。

 5)画面左下の[パフォーマンス概要]の[達成済み]において[60FPS]であることを確認します。っていうかしましょう。ってかやっときましょう!
 f:id:Suechan:20181209215449j:plain


 他
suechan.hateblo.jp

スポンサーリンク