前回の続き。
Ubuntuが無事(?)に入ったところで、いよいよDocker入れてTensorFlow入れて機械学習をゴリゴリやりたいところですが、その前にはやっぱり準備が必要です。
やったこと
もたもたとアプデ確認
Dockerのインストール
TensorFlowのDockerイメージを取得?
Dockerイメージを適用して環境構築?
動作確認?
もたもた
諸事情で前回作業から間が空きまくってしまったので、アップデートの確認とか色々します。
パッケージ一覧取得$ sudo apt update
パッケージの更新 $ sudo apt dist-upgrade
不要になったパッケージの削除 $ sudo apt autoremove
Ubuntuのバージョン管理ツールも入れます。(多分最初から入っているけど念の為)$ sudo apt install update-manager-core
Ubuntuのアップグレードチェック$ do-release-upgrade -c
おっと、Ubuntuの最新版は19.10でしたが、LTSはまだなかったみたいです。 There is no development version of an LTS available.
To upgrade to the latest non-LTS develoment release
set Prompt=normal in /etc/update-manager/release-upgrades.
画面の解像度?表示倍率?がおかしかったのでNVIDIAのドライバを再インストール
古いドライバ削除$ sudo apt --purge remove nvidia-*
パッケージ情報更新$ sudo apt update
推奨ドライバ確認 $ ubuntu-drivers devices
(略) nvidia-driver-435 がrecommended
あれ?公式のドライバ検索だと440なんだけど……??
ウーンPPA。$ sudo add-apt-repository ppa:graphics-drivers/ppa
パッケージ情報更新$ sudo apt update
推奨ドライバを再度確認$ ubuntu-drivers devices
(略) nvidia-driver-440 がrecommended
公式のドライバ検索と同じ結果になった。
インストール$ sudo apt install nvidia-driver-440
再起動$ sudo reboot
……解像度なおったわ!!!
nvidiaの情報チェック$ nvidia-smi
(略) 問題なさげ
これでやっとまともにUbuntuのセットアップ作業ができる……
参考: Ubuntu Linux 18.04にGPUドライバをインストールする|setoyama60jp|note
Dockerインストール
アプデチェックはこの辺にして、Dockerを入れます。どっか~んっ!
参考: Get Docker Engine – Community for Ubuntu | Docker Documentation
パッケージ一覧を更新$ sudo apt update
HTTPSでdocker repositoryを利用するためのパッケージを導入
$ sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
Dockerの公式のGPG Keyを追加$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
repositoryを追加
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
パッケージ一覧を再度更新 $ sudo apt update
Dockerのインストール$ sudo apt install docker-ce
インストールできたらDockerのバージョン確認$ docker version
Client: Docker Engine - Community
Version: 19.03.4
API version: 1.40
Go version: go1.12.10
Git commit: 9013bf583a
Built: Fri Oct 18 15:54:09 2019
OS/Arch: linux/amd64
Experimental: false
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version: dial unix /var/run/docker.sock: connect: permission denied
Linux で GPU サポートを有効にするため、nvidia-dockerをインストール
# Add the package repositories
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# Install package and restart docker
$ sudo apt update && sudo apt install -y nvidia-container-toolkit
$ sudo systemctl restart docker
TensorFlowセットアップ
TensorFlow の Docker イメージをダウンロード
latest stable release versionのイメージを取得$ docker pull tensorflow/tensorflow
TensorFlow Docker コンテナを起動確認
$ sudo docker run --rm -it -p 8888:8888 tensorflow/tensorflow:latest-py3
~~~~(略)~~~~
Status: Downloaded newer image for tensorflow/tensorflow:latest-py3
________ _______________
___ __/__________________________________ ____/__ /________ __
__ / _ \ __ \_ ___/ __ \_ ___/ / __ /_ __ \_ | /| / /
_ / / __/ / / /(__ )/ /_/ / / _ __/ / / // /_ |/ |/ /
/_/ \___/// ///____/ \____/// // /_/ \____/____/|__/
WARNING: You are running this container as root, which can cause new files in
mounted volumes to be created as the root user on your host machine.
To avoid this, run the container by specifying your user's userid:
$ docker run -u $(id -u):$(id -g) args...
なんかでた。
外部からAIサーバとして使うために固定IPアドレスを指定
参考: Ubuntu 18.04 LTSで固定IPアドレスの設定 – Qiita
参考: Ubuntu18.04 LTSでネットワークの設定方法 – ちゃんおぎのメモ置き場
元の
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
変更後
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
enp3s0:
dhcp4: n
addresses: [192.168.x.xxx/24]
gateway4: 192.168.x.1
nameservers:
addresses: [192.168.x.1]
dhcp6: n
PuTTYでSSHログインのテストしてちゃんと繋がったので、とりあえずこんな感じで作業終了。疲れた。