使い方
HOW TO USE

TensorFlowのインストール(Ubuntu) | GPUSOROBAN

2023.02.15

本記事ではGPUSOROBANのUbuntuインスタンスにTensorflowをインストールする手順を紹介します。

GPUSOROBANは高性能なGPUインスタンスが低コストで使えるクラウドサービスです。
サービスについて詳しく知りたい方は、GPUSOROBANの公式サイトを御覧ください。

インスタンスへのSSH接続

はじめにインスタンスへのSSH接続をします。
GPUSOROBANのインスタンスに初めて接続される場合は、こちらの記事をご確認ください。

ターミナルを2つ起動させて、それぞれのターミナル上で以下コマンドを実行させてSSH接続します。
1つめのターミナルを起動し、アクセスサーバーへ接続します。

ssh -L 20122:(インスタンスIPアドレス):22 -l user as-highreso.com -p 30022 i .ssh\ackey.txt

2つめのターミナルを起動し、インスタンスへ接続します。

ssh user@localhost -p 20122 -i .ssh\mykey.txt

Tensorflowのインストール(nvd5-1ub, nvd5-1l22ul, nvd4-80-1ulインスタンスの場合)

インスタンス接続後にTensorFlowのインストールをします。

※インスタンスタイプごとにTensorFlowのバージョンが異なりますので、ご注意ください。

nvd5-1ubインスタンスの場合

pip install tensorflow===2.6.2

nvd5-1l22ul、nvd4-80-1ulインスタンスの場合

pip install tensorflow===2.8.2

※WARNINGが出力される場合がありますが問題ありません。

以下がインストール後の確認手順になります。

Pythonを起動します。

python3

TensorFlowをインポートします。

import tensorflow as tf

TensorFlowのバージョンを確認します。(インストールしたバージョンが表示されることを確認します。)

tf.__version__

GPUが認識されていることを確認します。(>> Num GPUs Available:  1が返されることを確認)

print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

以上でTensorFlowのインストール手順は完了です。(nvd5-1ub, nvd5-1l22ul, nvd4-80-1ulの場合)

Tensorflowのインストール(nvd4-1ubインスタンスの場合)


nvd4-1ubインスタンスの場合、CUDAとcudnnのバージョンをアップグレードした後に、TensorFlowをインストールします。

まずCUDAのインストール手順を確認します。

SSH接続先のインスタンス上で以下のコマンドを実行します。

URLを指定してファイルをダウンロードします。

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin

ダウンロードしたファイルを/etc/apt/preferences.d/cuda-repository-pin-600ディレクトリに移動させます。

sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600

URLを指定してファイルをダウンロードします。

wget https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb

パッケージをインストールします。

sudo dpkg -i cuda-repo-ubuntu1804-11-0-local_11.0.3-450.51.06-1_amd64.deb

下記コマンドで、単一ファイルに鍵を追加します。

sudo apt-key add /var/cuda-repo-ubuntu1804-11-0-local/7fa2af80.pub

パッケージをアップデートします。

sudo apt-get update

cudaをインストールします。

sudo apt-get -y install cuda

上記完了後、以下にて/home/user/.bashrcのcudaのパス周りの設定を編集します。
bashrcファイルを開きます。

nano ~/.bashrc

bashrcファイルの最終行にある下記2つの行をコメントアウトします

# export PATH=$PATH:/usr/local/cuda-10.1/bin

# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/extras/CUPTI/lib64:/usr/local/cuda-10.1/lib64

bashrcファイルに下記の2行を追加します。

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

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.0/extras/CUPTI/lib64:/usr/local/cuda-11.0/lib64

ファイル編集後に「Ctrl」+「s」で保存して、「Ctrl」+「x」で編集画面から抜けます。

以上まで実行後、ターミナル2上で、下記を実行してインスタンスからログアウトします。

exit


その後、下記コマンドで再ログインします。

ssh user@localhost -p 20122 -i .ssh\mykey.txt


で再ログイン後nvcc -VコマンドでCUDA11.0.3が返されることを確認します。

以上でcuda11.0.3のインストールが完了です。

続いてcudnnをインストールします。

echoコマンドで標準出力した内容をファイルに出力します。

echo "deb https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64 /" | sudo tee /etc/apt/sources.list.d/nvidia-ml.list

パッケージリストの更新をします。

sudo apt update

cudnnをインストールします。

sudo apt-get install -y --no-install-recommends --allow-downgrades cuda-11-0 \libcudnn8=8.0.4.30-1+cuda11.0  \libcudnn8-dev=8.0.4.30-1+cuda11.0

cudnnのインストール後に、正しいバージョンの8.0.4.30-1+cuda11.0が返されることを確認します。

dpkg -l | grep "cudnn8"

パッケージが更新されないようにホールドします。

sudo apt-mark hold cuda-11-0 libcudnn8 libcudnn8-dev

次にTensorFlowのインストール手順を確認します。

下記コマンドでTensorFlowをインストールします。

pip3 install tensorflow===2.4.3

※WARNINGが出力される場合がありますが問題ありません。

以下、TensorFlowのインストール後の確認をします。

Pythonを起動します。

python3

TensorFlowをインポートします。

import tensorflow as tf

TensorFlowのバージョンを確認します。(2.4.3が返されることを確認)

tf.__version__

GPUが認識されることを確認します。(>> Num GPUs Available:  1が返されることを確認します。)

print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

以上でTensorFlowのインストールが完了しました。(nvd4-1ubの場合)

本環境には、GPUSOROBANのインスタンスを使用しました。
GPUSOROBANは高性能なGPUインスタンスが低コストで使えるクラウドサービスです。
サービスについて詳しく知りたい方は、GPUSOROBANの公式サイトを御覧ください。