Ubuntu18.04はTensorflow-gpuを完全に構築します

**Ubuntu18.04パーフェクトビルドTensorflow-GPU1.8 **#

0. 前書き ##

これは18年の最後の営業日であり、この記事を熟考するのに長い時間がかかりました!

記事の更新については、休日に帰宅するので、毎日書かれる保証はありません。

18 レビューの年

軽い街

入ってください

記事の共有と相互プロモーション

共有、相互促進、共通の進歩を主張する

Persist in sharing and promote mutual progress

一緒に構築して支援する

19 年の見通し

軽い街

紙は最大のオファーを再現します

入ってください

質問を書くことを主張し、オファーに直接

Stick to the brush, go straight to Offer

問題を解決する

今日の記事は主に、自分のシステムをすべて削除してから、Ubuntu18.04という1つのシステムをインストールしたことについてです。

次に、Ubuntuで深い学習環境を構築します。

今回は、主にUbuntu 18.04バージョンで環境を構築しました。また、昨日、Centosシステムの詳細な学習環境を構築しようとしました。ドライバーとcudaは正常にインストールされました。でも、どういうわけかコンピューターが起動できないのが残念なので、今回はUbuntuに切り替えました。まとめると、UbuntuはCentosよりずっとシンプルだと思いました!

**今度はシステムを変更し、すべてをアンインストールして、Linuxシステムを1つだけ残して、Linuxでの情熱と活力を再燃させ、学習の忍耐力と能力を絶えず和らげることができるように、自分自身にタフで道を譲らないようにする必要がある場合があります。 ! ****

1. ドライブ ##

1.1 試験

ディープラーニング[GPU](https://cloud.tencent.com/product/gpu?from=10680)環境を構成する前に、まずGPUがCUDA対応かどうかを理解してください。

lspci | grep -i nvidia

上記のコマンドを入力すると、次の出力が表示されます。

もしそうなら、サポートしないでください!

1.2 運転禁止

それがcentosまたはubuntuシステムであるかどうかに関係なく、システムには独自のnouveauドライバーがあり、このドライバーはその後のcudaのインストールに影響を与え、不適切な操作は黒い画面を引き起こします!

次に、新しいデバイスがあるかどうかを確認し、次のコマンドを入力します。出力がある場合は、ドライバーがロードされていることを意味します。

lsmod|grep nouveau

次に行う必要があるのは、このドライバーを無効にすることです。

blacklist.conf構成ファイルを編集します

sudo gedit /etc/modprobe.d/blacklist.conf

最後に追加:

blacklist nouveau  
options nouveau modeset=0

構成ファイルを更新する

sudo update-initramfs -u

ドライバがロードされているかどうかをもう一度確認してください

lsmod | grep nouveau

上記の操作では、nouveauを完全に無効にすることはできません。nouveau.koファイルとnouveau.ko.orgファイルを削除するだけです。

次のようにします。

cd /lib/modules/4.15.0-29-generic/kernel/drivers/gpu/drm/nouveau 
sudo rm -rf nouveau.ko 
sudo rm -rf nouveau.ko.org

上記の4.15.0-29は必ずしも同じではありません。ここでは、完了を直接タブで移動するだけで十分です。その後、他は同じです。

後で更新を行う

sudo update-initramfs -u

再び確かめる

lsmod | grep nouveau

それでも出力がある場合は、再起動するだけです。それ以外の場合は出力がありません。つまり、無効化は成功しています。

1.3 nvidiaドライバーをインストールします

上記の元のドライバーをアンインストールした後、nvidiaドライバーのインストールを開始してください!

sudo apt-get remove --purge nvidia-*

インストールには2つの方法があります。

最初の方法は、「ソフトウェアとアップデート」を直接開いて追加のドライバーを見つけ、インストールするnvidiaドライバーを選択することですが、残念ながらネットワーク速度が遅く、エラーが発生しやすいため、このインストール方法はお勧めしません。これは初めてです。だまして、このようにしてください、それは機能しません!

2番目の方法も私が提案する方法です:

まず、インストールする必要のあるドライバーのバージョンを確認します。

ubuntu-drivers devices

表示されます:

driver : nvidia-340- distro non-free
driver : nvidia-driver-390- distro non-free recommended 
driver : xserver-xorg-video-nouveau - distro free builtin

次に、ドライバーをインストールします。通常、2行目を見ると、英語の単語が推奨されています。つまり、ドライバーのインストールが推奨されています。

sudo apt-get install nvidia-driver-390

上記のワンクリックインストールで十分です。インストール後、以下をテストします。

nvidia-smi

出力:

上記の表が表示されている場合は、ドライバーnvidiaが正常にインストールされていることを意味します。

2. Cuda

2.1 バージョン ###

バージョンはCuda9.0を選びます!

ダウンロードリンク:

https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1704&target_type=runfilelocal

上記のダウンロードアドレスを入力したところ、選択したUbuntuシステムが17.04をサポートしていることがわかりました。そのときも戸惑いました。18.04がないので、どうすればよいですか。

長い間考えていたのですが、結局は関係ありませんでしたので、以下で確認したダウンロード・インストールを行ってください。ご安心ください!

2.2 インストール

次のコマンドを入力してインストールします。

sudo sh cuda_9.0.176_384.81_linux.run

途中で、以前にインストールされているため、NVIDIAインストールかどうかを確認するメッセージが表示されるので、[いいえ]を選択すると、残りがデフォルトになります。インストールプロセス中にインストールパスを変更する場合は、次の構成を使用する必要があることに注意してください。

2.3 環境変数 ###

環境変数を構成する

sudo gedit  /etc/profile

尾を追加

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

上記を保存した後、コンピュータを再起動してください!

2.4 Cudaをテストする

次のコマンドを順番に入力します

cd  /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
. /deviceQuery

GPUの対応する情報が表示されれば成功です!

以下に示すように:

追加のライブラリファイルのインストール

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

2.5 動的リンク

〜/ .bashrcファイルを編集する

vi ~/.bashrc

尾を追加

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

環境構成ファイルを開く

sudo gedit /etc/profile

尾を追加

export PATH=/usr/local/cuda/bin:$PATH

リンクファイルを作成する

sudo gedit /etc/ld.so.conf.d/cuda.conf

追加

/usr/local/cuda/lib64

効果的な実装

sudo ldconfig

3. CudNN

3.1 バージョン ###

cudnn-9.0-linux-x64-v7.tgz

ダウンロードリンク:

https://developer.nvidia.com/cudnn

登録が必要です!

3.2 インストール

解凍してインストールします

tar -xzvf cudnn-9.0-linux-x64-v7.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn*/usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h

リンクを更新

cd /usr/local/cuda/lib64/  
sudo chmod +r libcudnn.so.7.0.3  #自分で見る.そうのバージョン
sudo ln -sf libcudnn.so.7.0.3. libcudnn.so.7  
sudo ln -sf libcudnn.so.7 libcudnn.so  
sudo ldconfig  

4. Anaconda3

4.1 バージョン ###

バージョンは次のとおりです。

Anaconda3-5.2.0-Linux-x86_64.sh

ダウンロードリンク:

https://repo.continuum.io/archive/

この5.2.0にはバグがあります!5.3以降に変更することをお勧めします!

4.2 インストール

bash Anaconda3-5.2.0-Linux-x86_64.sh

常にデフォルトを選択し、Enterキーを押すだけです!

真ん中のインストールノート:〜/ .bashrcに環境変数を追加することを選択するかどうか、yesを選択してください!

最終実行

source ~/.bashrc

4.3 テスト

pythonを入力してください

上記のアナコンダが表示されれば、インストールは成功です! condaコマンドを使用できるかどうかを確認できます。

5. Tensorflow-GPU

5.1 バージョン ###

バージョン:tensorflow-gpu-1.8

5.2 インストール

直接入力:

conda install tensorflow-gpu==.

最後に、pipを直接入力できることがわかったので、上記は次のように置き換えられます。

pip install tensorflow-gpu==.

2つの違いは、condのインストールではパッケージが更新されますが、pipでは更新されないことです。

6. テスト

次のコマンドを順番に入力します。

import tensorflow as tf 
a = tf.constant([1.0,2.0,3.0],name='a')
b = tf.constant([3.0,4.0,5.0],name='b')
c = a + b
sess = tf.Session()print(sess.run(c))

テスト結果は次のとおりです。

[4. 6. 8.]を参照し、GPUデバイスを確認すると、テストは成功です。

しかし、小さなバグを見つけました。上記のパッケージをインポートするときに警告がありました。これは無視できますが、完全性を追求するための最終的な解決策は、h5pyを再インストールすることです。

上の写真の警告は、h5pyがnumpyと互換性がないことです。アンインストールして再インストールした後、警告は解決されました。

以下に示すように、ソリューションを再インストールします。

パッケージを案内した後、警告はありません、それは完璧です!ははは、ついにインストールが完了しました!

7. 総括する ##

cuda8.0以降はgcc5.0以降をサポートしていないため、コンピューターのgccバージョンとg ++バージョンを確認する必要があります。これら2つをダウングレードします。インターネット上の問題には多くの解決策があります。インストールプロセスが発生した場合は、メッセージを残すか、Googleに連絡してください。

この記事を通して、誰もが深い学習環境をより深く理解し、Ubuntuシステムの操作をより深く理解できることを願っています!

Recommended Posts

Ubuntu18.04はTensorflow-gpuを完全に構築します
Ubuntu 16.04 Cuda8.0 tensorflow-gpu
UbuntuはEclipse + JDK + SDKAndroidを構築します
UbuntuサーバーはJavaWebサーバーを構築します
ubuntuは共通の開発環境を構築します
UbuntuServerはHyperledgerFabric2.1学習環境を構築します
VagrantはUbuntu仮想マシン環境をすばやく構築します