Ubuntu 初期設定ガイド: インストール直後の15項目設定

データベースシステム、人工知能、3次元コンピュータグラフィックスや各種メディア処理、プログラミングなどをパソコンで効率的に活用したいと考えている方向け.

このページでは,プログラミング処理系と開発環境(プログラムの自作、オープンソフトウェアの活用)、データベース処理、メディア処理、その他のアプリケーション(インターネット、ファイル操作など)、NVIDIA ドライバ、NVIDIA CUDA、NVIDIA cuDNN、ディープラーニング応用のための各種ソフトウェアのインストールと設定手順を体系的にまとめています.

これまで,情報工学の諸分野(データベース,プログラミング,人工知能,データサイエンス,3次元データなど)に関連するUbuntuソフトウェアのインストール手順を総合的にまとめた資料が不足していたため,教育研究での経験を活かして本ガイドを作成しました.(Windowsについては別ページ »で説明しています).

目次

  1. Ubuntu 22.04 のインストール手順
  2. Ubuntu 22.04 の基本設定
  3. C/C++ コンパイラー,make,パッケージツール
  4. NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7,NVIDIA cuDNN v8.2.4
  5. Git,cmake,curl,wget,p7zip-full
  6. TensorFlow,Keras,MatplotLib,opencv-python,その他のPython 開発環境(JupyterLab,spyder,nteract)およびパッケージ群(numpy,scikit-learn など)
  7. 独立した Python 3.10 環境(Ubuntu のシステム Python から分離)
  8. 数値計算ライブラリ
  9. ディープラーニング関連ツール
  10. エディタ
  11. Web ブラウザ,リモートファイル転送,リモート接続
  12. ツール類(作図,ファイル検索など)
  13. PostgreSQL 12,PostgreSQL JDBC ドライバ
  14. データベース関連ツール
  15. メディア処理(地図情報,ビデオ,3次元グラフィックス,3次元点群,プロットデジタイザ)
  16. UnrealEngine 4
  17. Java,Java 開発環境
  18. R システム,R.Studio(R開発環境)

注意事項

サイト内の関連ページ

いいえ,まだ続きがあります.指示された通りHTMLドキュメント全体を最適化していきます.次の部分から続けます.

1. Ubuntu 22.04 のインストール

説明ページ https://www.kkaneko.jp/tools/ubuntu/ubuntudesktop.html

動画リンク: https://www.youtube.com/watch?v=xTDNoLyBme0

2. Ubuntu 22.04 の設定

2.1 OS のシステム更新

Ubuntu でシステム更新を実行する場合は, 次のコマンドを実行します.

sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

2.2 Ubuntu 22.04 のインストール直後の設定

説明ページ https://www.kkaneko.jp/tools/ubuntu/ubuntu_setup.html

動画リンク: https://www.youtube.com/watch?v=UY4yFbisfyo

今後の作業用に,使い慣れたエディタをインストールします. emacs をインストールする場合は,次のコマンドを実行します.

sudo apt -y update
sudo apt -y install emacs emacs-mozc fcitx-libs-dev

2.3 OpenSSH サーバー

Ubuntu での OpenSSHサーバーの運用: 別ページ »で説明

3. C/C++ コンパイラー,make,パッケージツール

次のコマンドを実行します.

sudo apt -y update
sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config

C/C++ コンパイラーの動作確認

  1. まず,エディタを起動します(ここではエディタとして「gedit」を使用).

    次のコマンドを実行します. ファイル名は /tmp/hello.c とします.

    cd /tmp
    gedit hello.c
    
  2. 開いたファイルを次のように編集して保存します(コピー&ペーストで入力可能).
    #include<stdio.h>
    int main() {
        printf("Hello,World!\n");
        printf("sizeof(size_t)=%ld\n", sizeof(size_t));
        return 0;
    }
    

    Hello,World!」「sizeof(size_t)=8」と表示されれば正常です.

    cd /tmp
    gcc hello.c
    ./a.out
    

    実行結果例

4. NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7, NVIDIA cuDNN v8.2.4

GPU

GPUは,グラフィックス・プロセッシング・ユニット(Graphics Processing Unit)の略です.3次元コンピュータグラフィックスや3次元ゲーム,動画編集,仮想通貨のマイニング,科学計算,ディープラーニングなど,並列処理を必要とする幅広い分野で活用されています.

NVIDIA CUDA ツールキット

NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットです.GPU を用いた演算のプログラム作成や動作のための各種機能を備えており,ディープラーニングでも利用されています.

サイト内の関連ページ

関連する外部ページ

NVIDIA CUDA ツールキットのインストール時の注意点

NVIDIA CUDA ツールキットの動作に必要なもの

Windows でインストールするときの注意点

NVIDIA cuDNN

NVIDIA cuDNN は, NVIDIA CUDA ツールキット上で動作するディープラーニング・ライブラリです. 畳み込みニューラルネットワークや リカレントニューラルネットワークなど,さまざまなディープラーニングで利用されています.

Windows で,NVIDIA cuDNN の利用時に 「Could not locate zlibwapi.dll. Please make sure it is in your library path!」と表示されるときは, ZLIB DLL をインストールしてください.

関連する外部ページ

NVIDIA cuDNN のインストール時の注意点

NVIDIA cuDNN の動作に必要なもの

NVIDIA ドライバ

NVIDIA ドライバは,NVIDIA 社製の GPU を動作させるのに必要なドライバです.NVIDIA の公式サイトからダウンロードできます.ダウンロードのときは,使用しているオペレーティングシステムとGPUに適したものを選択してください.

関連する外部ページNVIDIA ドライバのダウンロードの公式ページ: https://www.nvidia.co.jp/Download/index.aspx?lang=jp

【インストール手順の詳細説明】

4.1 NVIDIA ドライバ,NVIDIA CUDA ツールキット, NVIDIA cuDNN のインストールの要点と注意点

4.2 NVIDIA ドライバのインストール

NVIDIA グラフィックス・ボードがある場合に限り, あとで,NVIDIA CUDA ツールキットNVIDIA cuDNN のインストールを行います.

  1. NVIDIA グラフィックス・ボードの確認

    CUDA 対応の GPU であるかを確認のため, 次のコマンドを実行します.

    (表示が空になるときは,NVIDIAのグラフィックス・カードが無い可能性があります).

    lspci | grep -i nvidia | grep VGA
    
  2. nouveau ドライバの無効化

    次のコマンドを実行します.

    echo 'blacklist nouveau' | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
    echo 'options nouveau modeset=0' | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
    cat /etc/modprobe.d/blacklist-nouveau.conf
    sudo update-initramfs -u
    
  3. NVIDIA ドライバとNVIDIA CUDA ツールキットのアンインストール

    NVIDIA ドライバのインストール,NVIDIA CUDA ツールキットがインストールされていた場合には,アンイントールします. 次のコマンドを実行します.

    cd /tmp
    dpkg -l | grep cuda
    sudo apt --purge remove -y nvidia-*
    sudo apt --purge remove -y cuda-*
    sudo apt autoremove -y
    
  4. カーネルヘッダーと,カーネル開発用パッケージのインストール

    次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install linux-headers-$(uname -r)
    
  5. NVIDIA ドライバのインストール操作

    「sudo ubuntu-drivers autoinstall」を用いて NVIDIA ドライバをインストールします.

    次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y upgrade
    sudo apt dist-upgrade
    ubuntu-drivers devices
    sudo ubuntu-drivers autoinstall
    sudo update-initramfs -u
    
  6. Ubuntu システムの再起動

    グラフィックスドライバが入れ変わったので,Ubuntu システムを再起動します.

    次のコマンドを実行します.

    sudo /sbin/shutdown -r now
    
  7. NVIDIA ドライバの確認

    システムの再起動後,端末で,次のコマンドを実行し,ドライバ等を確認します.

    先頭の「Driver Version」のところに,ドライバのバージョンが表示されます.

    nvidia-smi
    

4.3 NVIDIA CUDA ツールキット11.7 のインストール

NVIDIA グラフィックス・ボードがある場合に限り, インストールを行います.

Ubuntu 22.04 で NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7 のインストールを行います. (他の Ubuntu,NVIDIA CUDA ツールキットのバージョンでもおおむね同様の手順です.) NVIDIA CUDA ツールキット は,NVIDIA社が提供する GPU 用のツールキットです.GPU を用いた演算のプログラム作成や動作のための各種機能を備えています.ディープラーニングでも利用されています. NVIDIA 社のグラフィックス・カードが持つ GPU の機能を使うとき,NVIDIA CUDA ツールキット を利用することができます.

NVIDIA グラフィックス・ボードがある場合に限り, インストールを行います.

TensorFlow 2.9.1 を動かしたいので,ここでは,私が動作確認できた NVIDIA CUDA ツールキット 11.7 をインストールします.

  1. Ubuntu のバージョンを確認

    次のコマンドを実行します.

    uname -m
    lsb_release -sc
    cat /etc/*release
    

    次のようにUbuntu のバージョンが表示されるので確認します.

    VERSION_ID の行などで確認できます.

  2. NVIDIA CUDA パッケージレポジトリで,ファイル名を確認

    NVIDIA CUDA パッケージレポジトリの URL: https://developer.download.nvidia.com/compute/cuda/repos/

    * Linux の種類やバージョンごとに,ファイル名が違うので確認します.NVIDIA CUDA パッケージレポジトリでは, Ubuntu 以外の Linux についてのファイルも公開されています : https://developer.download.nvidia.com/compute/cuda/repos/

    Ubuntu 22.04 の場合は,https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ で確認します.

    .pub」という名前の付いたファイルを確認します.

    cuda-ubuntu....pin」という名前の付いたファイルを確認します.

  3. NVIDIA CUDA パッケージレポジトリを,Ubuntu システムに追加

    このとき,いま,確認したファイル名を指定します

    端末で,次のように操作します.

    Ubuntu 22.04 の場合は,次の操作により,NVIDIA CUDA のパッケージレポジトリが Ubuntu システムに追加されます.

    sudo wget -O /etc/apt/preferences.d/cuda-repository-pin-600 https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin
    sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/3bf863cc.pub
    sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/ /"
    
  4. インストールできる CUDA のバージョンの確認
    apt-cache search cuda-11
    
  5. NVIDIA CUDA パッケージレポジトリを用いて,NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7インストール

    Ubuntu 22.04 の場合は,次の操作により,NVIDIA ドライバ,NVIDIA CUDA ツールキット 11.7 がインストールされます.

    次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install cuda-11-7
    
  6. NVIDIA CUDA ツールキットにパスを通す設定

    次のコマンドを実行します.

    export CUDA_PATH=/usr/local/cuda-11.7
    echo 'export CUDA_PATH=/usr/local/cuda-11.7' >> ${HOME}/.bashrc
    export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:${LD_LIBRARY_PATH}
    echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:${LD_LIBRARY_PATH}' >> ${HOME}/.bashrc
    export PATH=/usr/local/cuda-11.7/bin:${PATH}
    echo 'export PATH=/usr/local/cuda-11.7/bin:${PATH}' >> ${HOME}/.bashrc
    
  7. インストールできたことの確認のため,CUDA ツールキットのバージョンを確認

    次のコマンドを実行します.

    cat /usr/local/cuda-11.7/version.json
    

4.4 NVIDIA cuDNN のインストール

NVIDIA グラフィックス・ボードがある場合に限り, インストールを行います.

apt-cache search cudnn
  • いま確認したパッケージ名を指定して,NVIDIA cuDNN のインストール

    ライセンス条項を確認の上,「2」,Enter キー

    sudo apt -y install nvidia-cudnn
    
  • インストールされたパッケージの確認
    dpkg -l | grep cudnn
    

    4.5 nvcc の動作確認

    nvccの動作確認のため, https://devblogs.nvidia.com/easy-introduction-cuda-c-and-c/に記載のソースコードを使用.

    1. まず,エディタを開きます(ここではエディタとして,「gedit」を使用).
      gedit hello.cu
      
    2. その後,ファイルを編集し,保存します.

      ファイル hello.cu ができます.

    3. ビルドと実行.

      「nvcc hello.cu」で a.out というファイルができます. 「Max error: 0.000000」と表示されればOKです.

      del a.exe
      nvcc hello.cu
      
      ./a.out
      

    5. Git, cmake, curl, wget, p7zip-full

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install git cmake cmake-curses-gui cmake-gui curl wget p7zip-full
    

    6. Python3 開発用ファイル,pip, setuptools, venv のインストール,Python 開発環境,Python コンソール(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストール(Ubuntu 上)

    Python のインストールは行いません(Ubuntu のシステム Python を使用).

    Python, pip, Python 開発環境,Python コンソールのコマンドでの起動のまとめ.

    Ubuntu のシステム Python を用いるとき, python, pip, Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder は,次のコマンドで起動できます.

    6.1 Python3 開発用ファイル,pip, setuptools, venv のインストール

    次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential
    

    6.2 Python 開発環境(JupyterLab, spyder, nteract)

    1. Python3 開発用ファイル,pip, setuptools, venv, Python 開発環境,Python コンソールJupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストール

      次のコマンドを実行します.

      sudo apt -y update
      sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential
      sudo pip3 uninstall -y ptyprocess sniffio terminado tornado jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
      sudo apt -y install jupyter jupyter-qtconsole spyder3
      sudo apt -y install python3-ptyprocess python3-sniffio python3-terminado python3-tornado
      sudo pip3 install -U jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter
      
    2. Ubuntu システムの python3 のバージョンの確認
      python3 --version
      
    3. Jupyter Qt Console の起動チェック

      まず,numpy, matplotlib のインストールのため, 次のコマンドを実行します.

      sudo apt -y update
      sudo apt -y install python3-numpy python3-matplotlib
      

      次のコマンドを実行します. Jupyter Qt Console が開けば OK です.

      jupyter qtconsole
      
    4. 確認のため,Jupyter Qt Console で,次の Python プログラムを実行します.

      次のプログラムは,NumPy と Matplotlib を使用して,0から6までの範囲のsin関数のグラフを描画します.warnings モジュールを使用して Matplotlib の警告表示を抑制し,Matplotlib では,デフォルトのスタイルを使用します.

      import numpy as np
      %matplotlib inline
      import matplotlib.pyplot as plt
      import warnings
      warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
      
      x = np.linspace(0, 6, 100)
      plt.style.use('default')
      plt.plot(x, np.sin(x))
      
    5. nteract の起動チェック

      次のコマンドを実行します. ntetact が開けば OK です.

      jupyter nteract
      
    6. 確認のため,nteract で,次の Python プログラムを実行します.

      そのために「Start a new notebook」の下の「Python」をクリック,次のプログラムを入れ実行します.

      次のプログラムは,NumPy と Matplotlib を使用して,0から6までの範囲のsin関数のグラフを描画します.warnings モジュールを使用して Matplotlib の警告表示を抑制し,Matplotlib では,デフォルトのスタイルを使用します.

      import numpy as np
      %matplotlib inline
      import matplotlib.pyplot as plt
      import warnings
      warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
      
      x = np.linspace(0, 6, 100)
      plt.style.use('default')
      plt.plot(x, np.sin(x))
      
    7. Juypter Notebook で,保存のときに,.py ファイルと .ipyrb ファイルが保存されるように設定します.(この設定を行わないときは .ipyrb ファイルのみが保存されます)
      1. 次のコマンドで,設定ファイルを生成します.
        jupyter notebook --generate-config
        
      2. jupyter notebook を起動し,Edit, Edit Notbook Manager を選びます.次のように設定します.

        "jupytext": {"formats": "ipynb,py"}

    6.3 numpy, scikit-learn のインストール

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install python3-numpy python3-sklearn
    

    numpy の動作確認

    python3
    import numpy as np
    print(np.sin(0))
    exit()
    

    6.4 Python の数値演算等の性能確認

    次のプログラムは,NumPy と scikit-learn を使用して,行列計算とデータ分析を行います.

    1. 2000x2000 の乱数行列 X と Y を生成し、それらの行列積を計算します.
    2. scikit-learn の PCA を使用して,X の主成分分析を行い,2次元に次元削減します.
    3. NumPy の svd 関数を使用して、X の特異値分解を行います.
    4. scikit-learn の KMeans を使用して,X に対して10クラスタのk-means クラスタリングを行います.

    各操作の実行時間を測定し,結果を出力するプログラムです.

    import time
    import numpy
    import numpy.linalg
    import sklearn.decomposition
    import sklearn.cluster
    X = numpy.random.rand(2000, 2000)
    Y = numpy.random.rand(2000, 2000)
    # 行列の積
    a = time.time(); Z = numpy.dot(X, Y); print(time.time() - a)
    # 主成分分析
    pca = sklearn.decomposition.PCA(n_components = 2)
    a = time.time(); pca.fit(X); X_pca = pca.transform(X); print(time.time() - a)
    # SVD
    a = time.time(); U, S, V = numpy.linalg.svd(X); print(time.time() - a)
    # k-means
    a = time.time();
    kmeans_model = sklearn.cluster.KMeans(n_clusters=10, random_state=10).fit(X)
    labels = kmeans_model.labels_
    print(time.time() - a)
    

    実行結果の例

    • 行列の積: 0.08 秒
    • 主成分分析: 0.11 秒
    • SVD: 2.53 秒
    • k-Means クラスタリング: 1.58 秒

    TensorFlow 2.9.1,Keras,MatplotLib, Python 用 opencv-python のインストール(Ubuntu 上)

    設定の要点: 環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定をtrueにします.

    1. 端末を開きます
    2. パッケージのアンインストール操作を行います

      トラブルの可能性を減らすために,次の操作でアンインストールを行っておきます.

      sudo apt -y remove python3-keras
      sudo pip3 uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow-intel tensorflow-text tensorflow-estimator tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer
      
    3. TensorFlow の前提パッケージのインストール

      次のコマンドを実行します.

      sudo pip3 uninstall -y six wheel astunparse tensorflow-estimator numpy keras-preprocessing absl-py wrapt gast flatbuffers grpcio opt-einsum protobuf termcolor typing-extensions google-pasta h5py tensorboard-plugin-wit markdown werkzeug requests-oauthlib rsa cachetools google-auth google-auth-oauthlib tensorboard tensorflow
      sudo apt -y install python3-six python3-wheel python3-numpy python3-grpcio python3-protobuf python3-termcolor python3-typing-extensions python3-h5py python3-markdown python3-werkzeug python3-requests-oauthlib python3-rsa python3-cachetools python3-google-auth
      
    4. TensorFlow, numpy, pillow, pydot, matplotlib, keras, opencv-python のインストール

      インストールするには, 次のコマンドを実行します.

      sudo apt -y update
      sudo apt -y install python3-numpy python3-pil python3-pydot python3-matplotlib
      sudo apt -y install libopencv-dev libopencv-core-dev python3-opencv libopencv-contrib-dev opencv-data
      sudo pip3 install -U tensorflow tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer
      sudo pip3 install git+https://github.com/tensorflow/docs
      sudo pip3 install git+https://github.com/tensorflow/examples.git
      sudo pip3 install git+https://www.github.com/keras-team/keras-contrib.git
      
    5. TensorFlow のバージョン確認

      バージョン番号が表示されれば OK です.下の図とは違うバージョンが表示されることがあります.

      python3 -c "import tensorflow as tf; print( tf.__version__ )"
      
    6. このあと、TensorFlow からGPU が認識できているかの確認

      次のコマンドを実行します.

      python3 -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
      

      実行結果の中に,次のように「device_type: "GPU"」があれば,GPUが認識できています.エラーメッセージが出ていないことを確認しておきます.

    7. 環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定
      環境変数の名前
      TF_FORCE_GPU_ALLOW_GROWTHtrue
      

      次のコマンドを実行します.

      export TF_FORCE_GPU_ALLOW_GROWTH=true
      echo 'export TF_FORCE_GPU_ALLOW_GROWTH=true' >> ${HOME}/.bashrc
      

    6.6 TensorFlow, Keras, VGG 16, InceptionV3, Imagenet による画像分類を試してみる

    1. 前準備として h5py, pillow のインストール
      sudo apt -y update
      sudo apt -y install python3-h5py python3-pillow
      
    2. 画像の準備

      10.png のようなファイル名で保存しておきます

    3. Python プログラムの実行
      cd <画像を置いたディレクトリ>
      python3
      
    4. VGG 16, Imagenet による学習済みの重みデータによる画像分類を試してみます

      次のプログラムをコピー&ペースト

      Kerasのサイトで公開されているものを少し書き換えて使用.

      「'10.png'」のところは,実際に使用する画像ファイル名に書き換えます.

      import h5py
      from tensorflow.keras.preprocessing import image
      from tensorflow.keras.applications.vgg16 import VGG16
      from tensorflow.keras.applications.vgg16 import preprocess_input
      import numpy as np
      
      m = VGG16(weights='imagenet', include_top=False)
      
      img_path = '10.png'
      img = image.load_img(img_path, target_size=(299, 299))
      x = image.img_to_array(img)
      x = np.expand_dims(x, axis=0)
      x = preprocess_input(x)
      
      features = m.predict(x)
      print(features)
      

      python3 の終了は「exit()」

    5. InceptionV3, Imagenet による学習済みの重みデータによる画像分類を試してみます

      次のプログラムをコピー&ペースト

      Kerasのサイトで公開されているものを少し書き換えて使用.

      「'10.png'」のところは,実際に使用する画像ファイル名に書き換えます.

      import h5py
      from tensorflow.keras.preprocessing import image
      from tensorflow.keras.applications.inception_v3 import preprocess_input, decode_predictions, InceptionV3
      import numpy as np
      
      m = InceptionV3(weights='imagenet')
      
      img_path = '10.png'
      img = image.load_img(img_path, target_size=(299, 299))
      x = image.img_to_array(img)
      x = np.expand_dims(x, axis=0)
      x = preprocess_input(x)
      
      preds = m.predict(x)
      
      print('Predicted:')
      for p in decode_predictions(preds, top=5)[0]:
          print("Score {}, Label {}".format(p[2], p[1]))
      

      python3 の終了は「exit()」

    6.7 PyTorch, Torchvision, Caffe 2

    Web ブラウザで最新情報を確認ののち,所定のコマンドによりインストールを行います.

    PyTorch の URL: https://pytorch.org/

    1. PyTorch の「はじめよう」の Web ページを開きます

      https://pytorch.org/get-started/locally/

    2. 種類を選びます

      Linux, pip, Python,NVIDIA CUDA ツールキット 11.5 での実行例

      • PyTorch Build: 「Stable
      • Your OS: 「Linux」 ・・・ Ubuntu にインストールするため
      • Package: 「pip
      • Language: ・・・ Python を選択
      • CUDA: 「11.3」 ・・・ CUDA 11.3 以上をインストールした場合
    3. 「Run the command」のところに,コマンドが表示されるので確認します
    4. 端末で,いま表示されたコマンドをそのまま実行します

      但し,Ubuntu の場合は,「pip3」を「sudo pip3」に変えて実行します.

      sudo pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116
      
    5. その結果,エラーメッセージが出ていないことを確認します.
    6. PyTorch のバージョン確認

      次のコマンドを実行します.

      バージョン番号が表示されれば OK です.下の図とは違うバージョンが表示されることがあります.

      python3 -c "import torch; print( torch.__version__ )"
      
    7. PyTorch の動作確認

      https://pytorch.org/get-started/locally/ に記載のサンプルプログラムを実行してみます

      Python プログラムの実行

      Ubuntu では, Python プログラムを動かすために, 「python3」コマンドを使います.

      Python プログラムを動かすために, python3コマンドを使います. Python 開発環境(Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder, PyCharm, PyScripterなど)も便利です. Python 開発環境の説明: 別ページ »にまとめ ----------------------------- sudo pip3 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html sudo pip3 install -U torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117

      from __future__ import print_function
      import torch
      x = torch.rand(5, 3)
      print(x)
      exit()
      
    8. GPU が動作しているか確認

      Python プログラムを実行します

      import torch
      torch.cuda.is_available()
      exit()
      

    6.8 Chainer

  • Chainer のソースコードのインストール(ソースコードを使用)

    次のコマンドを実行します.

    終了までしばらく待ちます.

    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 .
    

    6.9 Python の種々のパッケージ

    その他,Python パッケージは,必要なものをインストールします.次に手順を例示します. 利用者で判断してください.

    • apt, pip3 でインストールするもの

      次のコマンドを実行します.

      sudo apt -y update
      sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential
      sudo apt -y install libgeographic-dev gdal-bin gdal-data libgdal-dev
      sudo apt -y install python3-numpy python3-scipy python3-h5py python3-sklearn python3-skimage python3-seaborn python3-pandas python3-pil cython3 python3-pytest python3-yaml cython3 python3-statsmodels python3-plotly python3-sympy python3-csvkit python3-docopt python3-pyproj python3-flake8 python3-protobuf python3-bs4 python3-html5lib python3-rope python3-wrapt python3-cffi python3-wheel python3-six python3-sphinx python3-bottleneck python3-pygments python3-numexpr python3-xlrd python3-xlwt python3-lxml python3-graphviz python3-pydot python3-flask python3-django python3-redis python3-pylint-common python3-bz2file python3-opengl  python3-msgpack python3-mecab python3-matplotlib-venn python3-pygame python3-bottle python3-rtree python3-shapely python3-fiona python3-gdal python3-geopandas python3-geopy python3-geographiclib python3-requests
      sudo pip3 install -U pandasql pyyaml bokeh pymc3 mkl mkl-include holoviews pandas-bokeh ggplot prettyplotlib pybrain3 firebase-admin googletrans google-cloud-vision gpyocr azure-cognitiveservices-vision-computervision gensim gloo scikit-video scikits.datasmooth scikits.example scikits.fitting scikits.optimization scikits.vectorplot zodb gdata pyr2 pycaret
      
    • Python パッケージで,ソースコードからインストールするもの

      次のコマンドを実行します.

      sudo pip3 install git+https://github.com/jrosebr1/imutils.git
      python3 -c "import imutils; print(imutils.__version__)"
      sudo pip3 install git+https://github.com/DinoTools/python-overpy.git
      python3 -c "import overpy; print(overpy.__version__)"
      sudo pip3 install git+https://github.com/ianare/exif-py.git
      python3 -c "import exifread; print(exifread.__version__)"
      sudo pip3 install git+https://github.com/mapado/haversine.git
      sudo pip3 install git+https://github.com/Turbo87/utm.git
      
    • Python の folium, pyproj, rtree, shapely, GDAL, fiona, geopandas のインストール
      sudo apt -y update
      sudo apt -y install python3-pyproj python3-rtree python3-shapely python3-fiona gdal-bin gdal-data python3-gdal python3-geopandas libgdal-dev
      # cd /usr/local
      # sudo rm -rf geopandas
      # sudo git clone https://github.com/geopandas/geopandas
      # cd geopandas
      # sudo python3 setup.py build
      # sudo python3 setup.py install
      
      # folium
      sudo pip3 install -q git+https://github.com/python-visualization/folium.git
      

    7. 隔離された Python 3.10 環境(Ubuntu のシステム Python とは隔離)

    ここでの手順では,次のように設定します. Python の仮想環境の名前は変更可能です.使用するPythonのバージョンは,より新しいバージョンがあれば,そちらの利用を検討してください (ここでは 2022/6 時点の Python 3.10 系列の最新バージョンである 3.10.5 を使用します).

    7.1 pyenv のインストール

    pyenv は Python のインストールが簡単にできる機能などを持つソフトウェアです.

    1. いまインストールされている pyenv の消去
      rm -rf ~/.pyenv
      
    2. pyenv のダウンロードと更新
      cd /tmp
      git clone https://github.com/pyenv/pyenv.git ~/.pyenv
      cd ~/.pyenv
      git pull
      src/configure
      make -C src
      
    3. pyenv の設定
      echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.profile
      echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ~/.profile
      echo '    export PATH=${PYENV_ROOT}/bin:$PATH' >> ~/.profile
      echo '    eval "$(pyenv init --path)"' >> ~/.profile
      echo 'fi' >> ~/.profile
      echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.profile
      exec $SHELL -l
      source ~/.profile
      
    4. 関係するライブラリのインストール
      sudo apt -y update
      sudo apt -y install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
      

    7.2 システム Python とは別に Python 3.10 をインストール (pyenv を使用)

    1. インストールするPython のバージョンの確認
      pyenv rehash
      pyenv install -l
      
    2. インストールできる Python 3.10 のバージョンの確認
      pyenv install -l | grep 3.10
      
    3. Python 3.10.5 のインストール
      pyenv install 3.10.5
      
    4. pip, setuptools のインストール
      pyenv shell 3.10.5
      python -m pip install -U pip setuptools
      

    Python の切り替えは次のようなコマンドで行います.

    • pyenv shell system
    • pyenv shell 3.10.5

    デフォルトで pyenv 配下の Python 3.10.5 を使いたい場合は, 次のように設定します

    echo 'pyenv shell 3.10.5' >> ~/.bashrc
    exec $SHELL -l
    

    7.3 隔離された Python 3.10 仮想環境の作成(venv を使用)と設定

    1. 隔離された Python 3.10 仮想環境の作成(venv を使用)

      下の例では,Python の仮想環境のためのディレクトリを ~/py310に作成します.

      pyenv shell 3.10.5
      python -m pip install -U pip setuptools
      rm -rf ~/py310
      python -m venv ~/py310
      
    2. venvPython の仮想環境有効化し,pip と setuptools を更新します.

      この操作が終わったら,「exit」で端末を閉じます(続きの作業での混乱を防ぐため)

      source ~/py310/bin/activate
      python -m pip install -U pip setuptools
      exit
      

    7.4 Python 開発環境(JupyterLab, spyder, nteract)

    Python, pip, Python 開発環境,Python コンソールのコマンドでの起動のまとめ.

    Ubuntu のシステム Python を用いるとき, python, pip, Jupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, Spyder は,次のコマンドで起動できます.

    1. Python 開発環境,Python コンソールJupyter Qt Console, Jupyter ノートブック (Jupyter Notebook), Jupyter Lab, Nteract, spyder)のインストールを行います.

      インストールするには, 次のコマンドを実行します.

      source ~/py310/bin/activate
      python -m pip install -U jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
      
    2. Jupyter Qt Console の起動チェック

      まず,numpy, matplotlib のインストールのため, 次のコマンドを実行します.

      python -m pip install -U numpy matplotlib
      

      次のコマンドを実行します. Jupyter Qt Console が開けば OK です.

      jupyter qtconsole
      
    3. 確認のため,Jupyter Qt Console で,次の Python プログラムを実行します.

      次のプログラムは,NumPy と Matplotlib を使用して,0から6までの範囲のsin関数のグラフを描画します.warnings モジュールを使用して Matplotlib の警告表示を抑制し,Matplotlib では,デフォルトのスタイルを使用します.

      import numpy as np
      %matplotlib inline
      import matplotlib.pyplot as plt
      import warnings
      warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
      
      x = np.linspace(0, 6, 100)
      plt.style.use('default')
      plt.plot(x, np.sin(x))
      
    4. nteract の起動チェック

      次のコマンドを実行します. ntetact が開けば OK です.

      jupyter nteract
      
    5. 確認のため,nteract で,次の Python プログラムを実行します.

      そのために「Start a new notebook」の下の「Python」をクリック,次のプログラムを入れ実行します.

      次のプログラムは,NumPy と Matplotlib を使用して,0から6までの範囲のsin関数のグラフを描画します.warnings モジュールを使用して Matplotlib の警告表示を抑制し,Matplotlib では,デフォルトのスタイルを使用します.

      import numpy as np
      %matplotlib inline
      import matplotlib.pyplot as plt
      import warnings
      warnings.filterwarnings('ignore')   # Suppress Matplotlib warnings
      
      x = np.linspace(0, 6, 100)
      plt.style.use('default')
      plt.plot(x, np.sin(x))
      

    7.4 numpy のインストール

    インストールするには, 次のコマンドを実行します.

    source ~/py310/bin/activate
    python -m pip install -U numpy
    

    numpy の動作確認

    python
    import numpy as np
    print(np.sin(0))
    exit()
    

    7.5 TensorFlow 2.9.1, Keras, MatplotLib, Python 用 opencv-python のインストール

    設定の要点

    環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定: true

    1. インストール

      インストールするには, 次のコマンドを実行します.

      source ~/py310/bin/activate
      python -m pip uninstall -y protobuf tensorflow tensorflow-cpu tensorflow-gpu tensorflow-intel tensorflow-text tensorflow-estimator tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer
      python -m pip install -U pip setuptools
      sudo apt -y install libopencv-dev libopencv-core-dev python3-opencv
      python -m pip install -U protobuf tensorflow==2.10.1 tf_slim tensorflow_datasets==4.8.3 tensorflow-hub tf-keras keras keras_cv keras-tuner keras-visualizer numpy pillow pydot matplotlib seaborn pandas scipy scikit-learn scikit-learn-intelex opencv-python opencv-contrib-python
      python -m pip install git+https://github.com/tensorflow/docs
      python -m pip install git+https://github.com/tensorflow/examples.git
      python -m pip install git+https://www.github.com/keras-team/keras-contrib.git
      
    2. このあと、TensorFlow からGPU が認識できているかの確認

      次のコマンドを実行します.

      python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
      

      実行結果の中に,次のように「device_type: "GPU"」があれば,GPUが認識できています.エラーメッセージが出ていないことを確認しておきます.

    3. 環境変数 TF_FORCE_GPU_ALLOW_GROWTH の設定
      環境変数の名前
      TF_FORCE_GPU_ALLOW_GROWTHtrue
      

      次のコマンドを実行します.

      export TF_FORCE_GPU_ALLOW_GROWTH=true
      echo 'export TF_FORCE_GPU_ALLOW_GROWTH=true' >> ${HOME}/.bashrc
      

    7.6 TensorFlow, Keras, VGG 16, InceptionV3, Imagenet による画像分類を試してみる

    1. 前準備として h5py, pillow のインストール
      source ~/py310/bin/activate
      python -m pip install -U h5py pillow
      
    2. 画像の準備

      10.png のようなファイル名で保存しておきます

    3. Python プログラムの実行
      cd <画像を置いたディレクトリ>
      python
      
    4. VGG 16, Imagenet による学習済みの重みデータによる画像分類を試してみます

      次のプログラムをコピー&ペースト

      Kerasのサイトで公開されているものを少し書き換えて使用.

      「'10.png'」のところは,実際に使用する画像ファイル名に書き換えます.

      import h5py
      from tensorflow.keras.preprocessing import image
      from tensorflow.keras.applications.vgg16 import VGG16
      from tensorflow.keras.applications.vgg16 import preprocess_input
      import numpy as np
      
      m = VGG16(weights='imagenet', include_top=False)
      
      img_path = '10.png'
      img = image.load_img(img_path, target_size=(299, 299))
      x = image.img_to_array(img)
      x = np.expand_dims(x, axis=0)
      x = preprocess_input(x)
      
      features = m.predict(x)
      print(features)
      

      python の終了は「exit()」

    5. InceptionV3, Imagenet による学習済みの重みデータによる画像分類を試してみます

      次のプログラムをコピー&ペースト

      Kerasのサイトで公開されているものを少し書き換えて使用.

      「'10.png'」のところは,実際に使用する画像ファイル名に書き換えます.

      import h5py
      from tensorflow.keras.preprocessing import image
      from tensorflow.keras.applications.inception_v3 import preprocess_input, decode_predictions, InceptionV3
      import numpy as np
      
      m = InceptionV3(weights='imagenet')
      
      img_path = '10.png'
      img = image.load_img(img_path, target_size=(299, 299))
      x = image.img_to_array(img)
      x = np.expand_dims(x, axis=0)
      x = preprocess_input(x)
      
      preds = m.predict(x)
      
      print('Predicted:')
      for p in decode_predictions(preds, top=5)[0]:
          print("Score {}, Label {}".format(p[2], p[1]))
      

      python の終了は「exit()」

    7.8 Python の種々のパッケージ

    その他,Python パッケージは,必要なものをインストールします.次に手順を例示します. 利用者で判断してください.

    • apt, pip3 でインストールするもの

      次のコマンドを実行します.

      sudo apt -y update
      sudo apt -y install libmecab-dev
      source ~/py310/bin/activate
      python -m pip install -U pip setuptools
      sudo apt -y install libgeographic-dev gdal-bin gdal-data libgdal-dev
      python -m pip install -U  numpy scipy h5py scikit-learn scikit-learn-intelex scikit-image seaborn pandas pillow pytest cython bokeh statsmodels plotly sympy csvkit docopt pyproj flake8 protobuf bs4 html5lib rope wrapt cffi wheel six sphinx bottleneck pygments numexpr xlrd xlsxwriter lxml graphviz pydot flask django redis pylint bz2file PyOpenGL PyOpenGL-accelerate    msgpack mecab ggplot matplotlib-venn pyglet pygame cocos2d bottle rtree shapely fiona geopandas geopy geographiclib requests \
      pandasql pyyaml bokeh pymc3 mkl mkl-include holoviews pandas-bokeh ggplot prettyplotlib pybrain3 firebase-admin googletrans google-cloud-vision gpyocr azure-cognitiveservices-vision-computervision gensim gloo scikit-video scikits.datasmooth scikits.example scikits.fitting scikits.optimization scikits.vectorplot zodb gdata pyr2 pycaret
      python -m pip install -U  gdal
      
    • Python パッケージで,ソースコードからインストールするもの

      次のコマンドを実行します.

      python -m pip install git+https://github.com/jrosebr1/imutils.git
      python -c "import imutils; print(imutils.__version__)"
      python -m pip install git+https://github.com/DinoTools/python-overpy.git
      python -c "import overpy; print(overpy.__version__)"
      python -m pip install git+https://github.com/ianare/exif-py.git
      python -c "import exifread; print(exifread.__version__)"
      python -m pip install git+https://github.com/mapado/haversine.git
      python -m pip install git+https://github.com/Turbo87/utm.git
      
    • Python の folium, pyproj, rtree, shapely, GDAL, fiona, geopandas のインストール
      python -m pip install pyproj rtree shapely fiona geopandas
      python -m pip install gdal
      python -m pip install -q git+https://github.com/python-visualization/folium.git
      

    操作が終わったら,「exit」で端末を閉じます(続きの作業での混乱を防ぐため)

    8. 数値演算ライブラリ

    8.1 OpenBLAS, LAPACK

    次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install libopenblas-dev liblapack-dev
    

    8.2 Intel MKL, IPP, TBB, DALL, MPI(Performance ライブラリ)

    1. レポジトリの設定,バージョン情報の確認
      cd /tmp
      wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB | sudo apt-key add -
      sudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list
      sudo apt -y update
      sudo apt install intel-mkl-64bit intel-ipp-64bit intel-tbb intel-daal-64bit intel-mpi
      
    2. 表示されたバージョン情報により,端末で,次のようなコマンドを実行します.
      sudo apt -y update
      sudo apt -y install intel-mkl-64bit-2020.4-912 intel-ipp-64bit-2020.3-912 intel-tbb-2020.2-102 intel-daal-64bit-2020.3-912 intel-mpi-2019.9-912
      

    8.3 CuPy

    1. 端末を開きます
    2. CuPy のソースコードのインストール(ソースコードを使用)

      次のコマンドを実行します.

      終了までしばらく待ちます.

      cd /tmp
      rm -rf cupy
      git clone https://github.com/cupy/cupy.git
      cd cupy
      git submodule update --init
      sudo CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" pip3 -v install .
      

    9. ディープラーニング応用

    前準備として, OpenBLAS, LAPACK のインストールが終わっていること.

    9.1 dlib, face_recognition(顔検出,顔のアラインメント,顔のランドマーク,顔認識その他)

    1. Dlib のソースコードのダウンロード

      次のコマンドを実行します.

      cd /usr/local
      sudo rm -rf dlib
      sudo git clone https://github.com/davisking/dlib
      sudo chown -R $USER dlib
      
    2. ビルド,インストール

      次のコマンドを実行します.

      /usr/local/cuda」のところは,NVIDIA CUDA ツールキット をインストールしたディレクトリに読み替えてください.

      cd /usr/local/dlib
      rm -rf build
      mkdir build
      cd build
      rm -f CMakeCache.txt
      cmake .. \
          -DCUDA_SDK_ROOT_DIR=/usr/local/cuda \
          -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
          -DUSE_AVX_INSTRUCTIONS=YES -DDLIB_USE_CUDA=YES
      make
      sudo make install
      
    3. python についてビルドとインストール

      次のコマンドを実行します.

      /usr/local/cuda」のところは,NVIDIA CUDA ツールキット をインストールしたディレクトリに読み替えてください.

      cd /usr/local/dlib
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      sudo python3 setup.py build
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      sudo python3 setup.py install
      
    4. 確認のため,バージョンを表示

      次のコマンドを実行します.

      エラーメッセージが出ないこと

      python3
      import dlib
      print(dlib.__version__)
      exit()
      
    5. Dlib でよく使用するファイルをダウンロード

      次のコマンドを実行することにより, 顔識別などに利用できるファイルの ダウンロードと展開(解凍)が行われます.

      次のコマンドを実行します.

      cd /usr/local/dlib
      cd python_examples
      sudo curl -O http://dlib.net/files/mmod_human_face_detector.dat.bz2
      sudo curl -O http://dlib.net/files/dlib_face_recognition_resnet_model_v1.dat.bz2
      sudo curl -O http://dlib.net/files/shape_predictor_5_face_landmarks.dat.bz2
      sudo curl -O http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
      sudo bzip2 -d mmod_human_face_detector.dat.bz2
      sudo bzip2 -d dlib_face_recognition_resnet_model_v1.dat.bz2
      sudo bzip2 -d shape_predictor_5_face_landmarks.dat.bz2
      sudo bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
      
    6. htmlify, imglab, example のビルドとインストール

      次のコマンドを実行します.

      /usr/local/cuda」のところは,NVIDIA CUDA ツールキット をインストールしたディレクトリに読み替えてください.

      cd /usr/local/dlib
      cd tools/htmlify
      sudo rm -rf build
      sudo mkdir build
      cd build
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      sudo cmake .. \
          -DUSE_AVX_INSTRUCTIONS=YES -DDLIB_USE_CUDA=YES
      
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      sudo cmake --build . --config RELEASE
      sudo make install
      
      cd /usr/local/dlib
      cd tools/imglab
      sudo rm -rf build
      sudo mkdir build
      cd build
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      sudo cmake .. \
          -DUSE_AVX_INSTRUCTIONS=YES -DDLIB_USE_CUDA=YES
      
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      sudo cmake --build . --config RELEASE
      sudo make install
      
      cd /usr/local/dlib
      cd examples
      sudo rm -rf build
      sudo mkdir build
      cd build
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      sudo cmake .. \
          -DUSE_AVX_INSTRUCTIONS=YES -DDLIB_USE_CUDA=YES
      
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      sudo cmake --build . --config RELEASE
      

      face_recognition のインストール操作

      cd /usr/local
      sudo rm -rf face_recognition
      sudo apt -y install python3-click python3-numpy python3-pillow python3-scipy
      sudo git clone https://github.com/ageitgey/face_recognition
      cd face_recognition
      sudo python3 setup.py build
      sudo python3 setup.py install
      

    9.2 head-pose-estimation (顔の向きの推定)

    インストールするには, 次のコマンドを実行します.

    cd /usr/local
    sudo rm -rf head-pose-estimation
    sudo git clone https://github.com/lincolnhard/head-pose-estimation
    cd head-pose-estimation
    sudo curl -O http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
    sudo bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
    

    9.3 pupil tracker (眼球の向きの推定)

    cd /usr/local
    sudo rm -rf PupilTracker
    sudo git clone https://github.com/TobiasRoeddiger/PupilTracker
    

    9.4 OpenPose (人体の姿勢推定,指のポーズ推定),Caffe

  • OpenPose, Caffe のビルドとインストール

    次のコマンドを実行します.

    * GPU 版をインストールしたい場合

    /usr/local/cuda」のところは,NVIDIA CUDA ツールキット をインストールしたディレクトリに読み替えてください.

    Intel MKL を使わないときは「-DUSE_MKL=ON」を「-DUSE_MKL=OFF」に変更します.

    /opt/intel/compilers_and_libraries/linux/mkl/include/mkl」のところは,Intel MKL の mkl.h があるディレクトリに読み替えてください.

    sudo apt -y update
    sudo apt -y install libopencv-dev libhdf5-dev libboost-dev libboost-filesystem-dev libboost-system-dev libboost-thread-dev libboost-regex-dev libatlas-base-dev libprotobuf-dev protobuf-compiler protobuf-c-compiler libgoogle-glog-dev libleveldb-dev liblmdb-dev
    sudo rm -rf /usr/local/openpose
    sudo mkdir /usr/local/openpose
    sudo chmod 755 /usr/local/openpose
    sudo chown -R ${USER} /usr/local/openpose
    cd /usr/local
    sudo git clone --recursive https://github.com/CMU-Perceptual-Computing-Lab/openpose
    sudo chown -R ${USER} /usr/local/openpose
    cd /usr/local/openpose
    sudo rm -f CMakeCache.txt
    CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include -I/opt/intel/compilers_and_libraries/linux/mkl/include" LDFLAGS="-L/usr/local/cuda/lib64" \
      cmake -DDOWNLOAD_BODY_COCO_MODEL=ON \
      -DBUILD_PYTHON=ON \
      -DBUILD_EXAMPLES=ON \
      -DINSTRUCTION_SET=AVX2 \
      -DUSE_MKL=ON \
      -DBUILD_CAFFE=ON \
      -DBUILD_PYTHON=ON \
      -DGPU_MODE=CUDA \
      -DCUDNN_INCLUDE=/usr/local/cuda/include \
      -DCUDNN_LIBRARY=/usr/lib/x86_64-linux-gnu .
      CUDA_PATH="/usr/local/cuda" CFLAGS="-I/usr/local/cuda/include -I/opt/intel/compilers_and_libraries/linux/mkl/include" LDFLAGS="-L/usr/local/cuda/lib64" sudo make -k
    sudo make -k install
    
  • モデルのダウンロード
    cd /usr/local/openpose/models
    sudo bash /usr/local/openpose/models/getModels.sh
    
  • 動作確認
    cd /usr/local/openpose
    ./examples/openpose/openpose.bin --video ./examples/media/video.avi
    
  • .bin ファイルを /usr/local/bin 下にコピー
    cd /usr/local/openpose
    sudo make -k install
    cd /usr/local/openpose/examples
    sudo chmod 755 */*.bin
    sudo cp */*.bin /usr/local/bin/
    sudo /sbin/ldconfig
    

    9.5 Tesseract OCR 5

    説明ページ https://www.kkaneko.jp/ai/ubuntu/tesseract.html

    動画リンク: https://www.youtube.com/watch?v=dQu4GHy754o

    9.6 Github dyama/alpr_jp

    次のコマンドを実行します.

    cd /usr/local
    rm -rf alpr_jp
    sudo git clone https://github.com/dyama/alpr_jp
    

    9.7 ipazc/mtcnn

    次のコマンドを実行します.

    sudo pip3 install git+https://github.com/ipazc/mtcnn.git
    python3 -c "import mtcnn; print(mtcnn.__version__)"
    

    9.8 matterplot/masked_rcnn (画像のセグメンテーション)

    matterplot/masked_rcnn の URL: https://github.com/matterport/Mask_RCNN

    次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install python3-skimage cython3
    sudo pip3 install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
    cd /usr/local
    sudo git clone --recursive https://github.com/matterport/Mask_RCNN
    cd Mask_RCNN
    cat requirements.txt
    sudo apt -y install python3-numpy python3-scipy python3-pil cython3 python3-matplotlib python3-skimage python3-h5py python3-ipython
    sudp apt -y install libopencv-dev libopencv-core-dev python3-opencv libopencv-contrib-dev opencv-data
    sudo pip3 install -U tensorflow keras imgaug
    sudo python3 setup.py build
    sudo python3 setup.py install
    

    https://github.com/matterport/Mask_RCNN/blob/master/samples/demo.ipynb に記載のプログラムを実行してみます.

    9.9 Meshroom(写真測量,フォトグラメトリ)

    関連する外部ページ

    Meshroom のインストール操作(Windows 上)

    9.10 muZero

    次のコマンドを実行します.

    cd /usr/local
    sudo rm -rf muzero-general
    sudo git clone https://github.com/werner-duvaud/muzero-general.git
    cd muzero-general
    sudo apt -y install python3-pil python3-aiohttp python3-aiohttp-cors python3-aioredis python3-async-timeout python3-blessings python3-filelock python3-hiredis python3-u-msgpack python3-multidict python3-pyglet python3-redis python3-yarl
    sudo pip3 install -r requirements.txt
    

    確認のため実行してみます.

    cd /usr/local/muzero-general
    python3 muzero.py
    tensorboard --logdir ./results
    

    9.11 OpenAIGym

    次のコマンドを実行します.

    cd /usr/local
    sudo rm -rf gym
    sudo git clone https://github.com/openai/gym.git
    cd gym
    sudo pip3 install -e .
    sudo apt -y install libglu1-mesa-dev libgl1-mesa-dev libosmesa6-dev xvfb ffmpeg curl patchelf libglfw3 libglfw3-dev cmake zlib1g zlib1g-dev swig
    

    10. エディタ

    10.1 Geany

    シンタックスハイライト,自動補完などの機能を持つエディタ. geany で起動します.

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install geany geany-plugins
    

    10.2 Sublime Text

    オートコンプリート,シンタックスハイライトを特色とするエディタ. subl で起動します.

    インストールするには, 次のコマンドを実行します.

    wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
    sudo apt -y install apt-transport-https
    echo "deb https://download.sublimetext.com/ apt/stable/" | sudo tee /etc/apt/sources.list.d/sublime-text.list
    sudo apt -y update
    sudo apt -y install sublime-text
    

    10.3 Visual Studio Code (エディタ)

    Visual Studio Code はエディタです.軽快動作で操作法は簡単です.  プログラム作成に向いた拡張機能が充実しており,Windows などでも動作します.

    インストール手順

    ダウンロードしインストールします.

    上のURLからダウンロードし,次のコマンドを実行します.

    sudo dpkg -i ./code_1.*_amd64.deb
    

    Visual Studio Code の拡張機能

    拡張機能は,必要なものをインストールします.次に拡張機能を例示します.利用者で判断してください.

    • 端末とVisual Studio Code の両方で、Java プログラムの動作チェック

      ファイル「HelloWorld.java」の作成

      public class HelloWorld
      {
          public static void main(String args[])
          {
              System.out.println("Hello Java World !");
          }
      }
      

      コンパイルと実行

      javac HelloWorld.java
      java HelloWorld
      
    • 端末とVisual Studio Code の両方で、C プログラムの動作チェック

    10.4 emacs

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install emacs emacs-mozc mozc-data mozc-utils-gui
    

    mozc の設定

    /usr/lib/mozc/mozc_tool --mode=config_dialog
    

    mozc を使うための .emacs.d/init.el の設定例

    (require 'mozc)
    (load-library "mozc")
    (set-language-environment "Japanese")
    (setq default-input-method "japanese-mozc")
    (global-set-key [zenkaku-hankaku] 'toggle-input-method)
    (prefer-coding-system 'utf-8)
    

    追加の設定例

    ;; キーバインド. CTRL + Z を無視.CTRL + H でバックスペース.
    (global-unset-key "\C-z")
    (keyboard-translate ?\C-h ?\C-?)
    
    ;; 表示を単純化(スタートアップメッセージなし.スクラッチは空.ツールバー無し,
    ;; スクロールバーなし).,ベル無し.
    (setq ring-bell-function 'ignore)
    (setq inhibit-startup-message t)
    (setq initial-scratch-message "")
    (tool-bar-mode -1)
    (menu-bar-mode 0)
    (set-scroll-bar-mode nil)
    (setq frame-title-format (format "%%f - Emacs@%s" (system-name)))
    
    ;; 行番号表示
    (global-linum-mode t)
    (column-number-mode t)
    
    ;; かっこの対応の表示に関する設定
    ;; (show-paren-mode t)
    ;; (setq show-paren-delay 0)
    ;; (setq show-paren-style 'expression)
    
    ;; 余計な空白を色付きで表示
    (setq-default show-trailing-whitespace t)
    (set-face-background 'trailing-whitespace "#b14770")
    
    ;; yes, no は,y, n で済むように
    (fset 'yes-or-no-p 'y-or-n-p)
    
    ;; 履歴
    (recentf-mode t)
    (setq recentf-max-menu-items 30)
    (setq recentf-max-saved-items 5000)
    
    ;; スクロールの量
    (setq scroll-conservatively 35
          scroll-margin 0
          scroll-step 1)
    (setq comint-scroll-show-maximum-output t)
    
    ;; タブ
    (electric-indent-mode -1)
    (setq-default indent-tabs-mode nil)
    (custom-set-variables '(tab-width 4))
    
    ;; 補完
    (when (require 'auto-complete-config nil t)
       (ac-config-default))
    (setq text-mode-hook 'turn-off-auto-fill)
    

    11. Web ブラウザ,リモートファイル転送,リモート接続 (Ubuntu 上)

    11.1 Firefox

    Firefox は Web ブラウザです.firefox で起動します.

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install firefox firefox-locale-ja
    

    11.2 Chromium

    Chromium は Web ブラウザです.

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install chromium-browser chromium-browser-l10n
    

    11.3 FileZilla

    FileZilla はファイル転送に便利なソフトです.filezilla で起動します.

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install filezilla
    

    11.4 xrdp

    xrdp はリモートデスクトップのソフトウェアです.

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install xrdp
    

    12. ツール類(作図、ファイル検索など) (Ubuntu 上)

    12.1 mlocate (ファイル検索)

    locate で起動します.

    sudo apt -y update
    sudo apt -y install mlocate
    

    12.2 catfish (ファイル検索)

    catfish で起動します.

    sudo apt -y update
    sudo apt -y install catfish
    

    12.3 jq (JSON整形), jsonlint (JSONチェッカ)

    sudo apt -y update
    sudo apt -y install jq jsonlint
    

    12.4 Pinta (ドロー)

    pinta で起動します.

    sudo apt -y update
    sudo apt -y install pinta
    

    12.5 Shutter (スクリーンショット)(書きかけ)

    shutter で起動します.

    sudo add-apt-repository -y -n ppa:sicklylife/ppa
    sudo apt -y update
    sudo apt -y install libgoocanvas2-perl
    sudo add-apt-repository -y --remove ppa:sicklylife/ppa
    sudo add-apt-repository -y -n ppa:shutter/ppa
    sudo apt -y update
    sudo apt -y install shutter
    

    12.6 GraphViz (作図ツールとライブラリ)

    ニューラルネットの描画(例えば「tf.keras.utils.plot_model(model, show_shapes=True」で描画)のときにも役に立つツールです.

    sudo apt -y update
    sudo apt -y install graphviz libgraphviz-dev
    

    12.7 draw.io (作図ツール)

    ER図,UML図,回路図,ネットワーク図などの簡単作成. 利用条件等は,利用者で確認してください.   drawio で起動します.

    上のURLからダウンロードし,次のコマンドを実行します.

    sudo dpkg -i ./draw.io-amd64-13.9.9.deb
    sudo apt -y install draw.io
    

    12.8 PlotDigitizer

    PlotDigitizer は,画面上でマウスクリックして座標値を得る機能を持ったソフトウェアです.

    12.9 inotify-tools (ファイル更新監視)

    sudo apt -y update
    sudo apt -y install inotify-tools
    

    12.10 hardinfo (ハードウェア情報)

    hardinfo で起動します.

    sudo apt -y update
    sudo apt -y install hardinfo
    

    12.11 netcat (通信), net-tools (通信設定)

    インストールするには, 次のコマンドを実行します.

    sudo apt -y update
    sudo apt -y install netcat net-tools
    

    13. PostgreSQL 12, PostgreSQL JDBC ドライバのインストール

    PostgreSQL はリレーショナル・データベース管理システムです. コマンドラインクライアントは psql で起動します.

    インストール

    1. PostgreSQL および関連ソフトウェア類のインストール

      インストールするには, 次のコマンドを実行します.

      sudo apt -y update
      sudo apt -y install postgresql-12 postgresql-client-12 postgresql-client-common postgresql-common postgresql-contrib odbc-postgresql pgadmin3 postgresql-12-postgis-3 postgresql-server-dev-12 python3-psycopg2 default-jdk libpostgresql-jdbc-java postgresql-plpython3-12 libpq-dev
      
    2. PostgreSQL サーバを起動開始

      エラーメッセージが出ていなければ OK です.

      sudo pg_ctlcluster 12 main start
      sudo pg_ctlcluster 12 main status
      
    3. PostgreSQL の動作確認

      Ubuntu のサービスアカウント postgres と peer 認証により,PostgreSQL の psql を使ってみます.

      「\c」により,使用されている PostgreSQL のロール名と,オープンされているデータベース名を確認します.

      確認したら,「\q」により終了します.

      sudo -u postgres psql
      \c
      \q
      
    4. データベースの確認

      postgres, template0, template1 の 3 つのデータベースが表示されることを確認します.

      sudo -u postgres psql
      \l
      \q
      
    5. psql のバージョン確認
      psql --version
      

    postgresql.conf の設定例

    ファイルは, 「sudo find -name "postgresql.conf" -print」で探すことができます.

    設定例

    shared_buffers = 1GB
    work_mem = 1GB
    max_files_per_process = 1000
    effective_cache_size = 4GB