タイトルの通りです。
LXCのコンテナ内からディープラーニングする場合は ホスト側での作業 を行った後に、コンテナ内で下記の作業を apt-get install nvidia-headless-440
を除いて行うとよい。
インストール
- http://cdimage.ubuntu.com/ubuntu-server/focal/daily-live/current/focal-live-server-amd64.iso からインストールDVDをダウンロードし、USBスティックかDVDに焼く
- インストーラーで日本語を選べないが、キーボードの配置を選ぶ項目が最初から2番めくらいにあるため必ず「Japanese」を選ぶ。そうじゃないと後で辛い。それ以外はデフォルトの選択肢を選んでおけばよい。以下の作業は全部rootで行う(sudoを使うなど)
サーバー起動後の設定
APT::Default-Release "focal";
APT::Install-Recommends 0;
APT::Get::Purge 1;
- 余計なパッケージが入らないように上記のファイルを作る
- 時刻(タイムゾーン)がおかしいので
dpkg-reconfigure tzdata
でタイムゾーンを設定する - (内蔵の時計が日本時間ではなくUTCなら
timedatectl set-local-rtc true
する) - focal-proposed がデフォルトで有効になっているので
/etc/apt/sources.list.d/proposed.list
を編集する。またfocal-backportsも有効なので、要らなければ/etc/apt/sources.list
を編集する。 -
/etc/fstab
を編集してマウントオプションにnoatime,lazytime
を付けておくとアクセスが少し速くなる。仮想環境で動作しているならdiscard
を付けても良い - 言語パックが全く入っていないので
apt-get install language-pack-en language-pack-ja
でインストールする - いらないパッケージ( cloud-guest-utils
cloud-init
cloud-initramfs-copymods
cloud-initramfs-dyn-netconf
eatmydata
lxd-agent-loader
plymouth
plymouth-theme-ubuntu-text
snapd など)をapt-get purge
で削除する。その後にapt-get --purge autoremove
する
NVIDIA ドライバなどのインストール
- GUIを用いずNVIDIA GPUを用いた計算だけサーバーにさせる場合
apt-get install nvidia-headless-440
をインストールする。GUIも用いる場合代わりにnvidia-driver-440
をインストールする。440 よりも新しいドライババージョンが必要なら https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa から準公式ドライバーをインストールする。NVIDIAのウェブサイトから持ってきては絶対にいけない -
nvidia-smi
はapt-get install nvidia-utils-440
で入る。ドライバのバージョンと揃えること
Python3 の最低限のインストール
apt-get install python3-pip python3-setuptools python3-wheel python3-numpy python3-yaml python3-six python3-future python3-requests python3-matplotlib python3-pil python3-h5py python3-graphviz python3-pydot
Pytorch インストール
PyTorch は内部にCUDAライブラリなどを含みGPUがある場合も無い場合も同じパッケージで動作するので pip3 install torch torchvision
とすればよい
TensorFlow インストール
CUDA ライブラリインストール
Google のTensorflowは内部にCUDAライブラリを含んでいないため、動作させるためには自分でCUDAライブラリをインストールする必要がある。TensorFlow 2.1, 2.2あたりはCUDA 10.1 をインストールする必要があり、たまたま Ubuntu 20.04 の標準アーカイブに入っているから apt-get install nvidia-cuda-dev libgomp1
とすればよい(libgomp1 はtensorflowが用いる)
libcudnn のインストール
wget https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
dpkg -i libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
TensorFlow が依存するPythonパッケージのインストール
apt-get install python3-scipy python3-sklearn python3-skimage python3-opencv python3-protobuf python3-termcolor python3-wrapt python3-werkzeug python3-markdown python3-google-auth python3-cache-tools python3-requests-oauthlib
TensorFlow のインストール
pip3 install tensorflow-gpu