Qiitaにタイムリーな投稿があった。
東大松尾研から新たに無償公開されたDeep Learning講座「DL4US」が良い、という話
Kerasを使っているので早速Kerasをインストール。
1 |
sudo pip3 install keras |
これだけである。
Qiitaにタイムリーな投稿があった。
東大松尾研から新たに無償公開されたDeep Learning講座「DL4US」が良い、という話
Kerasを使っているので早速Kerasをインストール。
1 |
sudo pip3 install keras |
これだけである。
やっとUbuntuにTensorflowがインストールできたので防備録的に手順を。
概ね手順はここ(https://qiita.com/konzo_/items/3e2d1d7480f7ef632603)通りである。
まずPCの環境。
CPU:Core i5 9400F
GPU:GeForce RTX 2060
OS:Ubuntu 18.04
python:3.6.7
インストールしたもの。
Nvidiaビデオドライバ:410.104
CUDA:10.0
CuDNN:7.4.1
tensorflow:tensorflow-gpu 1.13.1
1 2 3 |
sudo apt-get upgrade sudo apt-get update sudo apt list upgradable |
1 |
sudo apt install git |
CUDAやTensorflowと合わせる必要があるため、今回は410を入れる。
1 |
lsmod | grep -i nouveau |
コマンドを打って何も表示されなければ何もせず。リストが表示されればnouveauドライバを無効にする。
1 2 3 4 5 6 7 8 9 10 11 12 |
sudo sh -c "cat << ETX > /etc/modprobe.d/blacklist-nouveau.conf blacklist nouveau blacklist lbm-nouveau options nouveau modeset=0 alias nouveau off alias lbm-nouveau off ETX" && cat /etc/modprobe.d/blacklist-nouveau.conf sudo sh -c "echo 'options nouveau modeset=0' > /etc/modprobe.d/nouveau-kms.conf" && cat /etc/modprobe.d/nouveau-kms.conf sudo update-initramfs -u sudo reboot |
参考元にはなぜやるのかわからないとあるが、いずれ入れることになるのでこのタイミングで入れておく。
1 |
sudo apt install build-essential |
1 2 3 4 |
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt install nvidia-driver-410 sudo apt install nvidia-settings sudo reboot |
再起動したらインストール確認
1 |
nvidia-smi |
表が表示され、ドライバのバージョンが表示されるので確認する。
NVIDIAの公式サイト(https://developer.nvidia.com/cuda-toolkit-archive)からダウンロードしてくる。
NVIDIAのトップページからCUDAを辿っていくと10.1のダウンロードに行き着くので、ここでLegacy Releasesを選択してArchiveからダウンロード。
そしてdebファイルをダウンロードしてコマンド実行。
1 2 3 4 5 |
cd /home/<ユーザー名>/ダウンロード sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub sudo apt update sudo apt install cuda-toolkit-10-0 |
1 |
nano ~/.bashrc |
末尾に2行追加。
1 2 |
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+ |
再起動して、CUDAのインストール確認
1 2 3 |
sudo reboot nvcc -V |
CUDA同様、NVIDIAの公式サイト(https://developer.nvidia.com/cudnn)からダウンロードする。
ログインして、質問に答えて、使用許諾の同意にチェックをつけるとダウンロードができるが、今回は7.4をインストールしたいので、Archived cuDNN Releasesを選択してアーカイブからダウンロードを行う。
7.4は7.4.1と7.4.2があるが、今回は7.4.2を選択。7.4.2のCUDAバージョンが10.0のリンクを選択。
Ubuntu18.4の次の2つをダウンロードする。
・Runtime
・Developer Library
必要であればコードサンプルとドキュメントもダウンロードすればよい。
・Code Samples and User Guide
ダウンロード後、ダウンロードフォルダに移動してインストール。
1 2 3 |
sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb |
anacondaやvirtualenvは使わないのでそのままインストールする。
1 |
pip3 install tensorflow-gpu==1.13.1 |
pip3が使えない場合は先にこのコマンド。
1 |
sudo apt install python3-pip |
1 2 |
$ python3 >>> import tensorflow |
エラーがでなければ成功!
ここまでの手順がはっきりするまで、結構大変でした。
UbuntuにDeepLearningの環境を構築する。
CPU:Core i5 9400F
GPU:GeForce RTX 2060
NVIDIA Driver:418
CUDA:10.1
cuDNN:7.4
Tensorflow:tensorflow-gpu1.13.0
しかし、何度インストールを試みてもうまくインストールできない。
原因がわからないが調べていくうちに原因がわかってきた。
ここに(https://qiita.com/konzo_/items/a6f2e8818e5e8fcdb896)原因が整理されていた。
GPUのドライバは最新の418が入れられるのだが、tensorflow-gpu1.13.0が対応しているのはCUDA10.0。CUDA10.1には対応していないということだ。
本当にこういう記事は助かります。
明日再びTensowFlow環境の構築を最初からしてみよう。
Ubuntu18.04LTSを使用していたが、19.04が出たと言うことで早速アップグレードを試してみた。
ソフトウェアとアップデート画面から、Ubuntuの新バージョンの通知をすべての新バージョンに変更してソフトウェアの更新を行った見たところ、18.10へのアップグレードができるようだ。
なのでアップグレードができる18.10へそのままアップグレードを試してみたところ、、、一通りインストールが終わり再起動したらプロンプトが表示されたまま起動が進まなくなってしまった。
この手順はtensorflowなどを一通り入れてからも、18.04をクリーンインストールした直後でも同じだったので、自分の環境では合わないらしい。
コマンドでアップグレードを行ったところこれはうまく行った。ソフトウェアとアップデート画面からのアップグレードがうまく行かなかったのは単純に途中の質問の答え方がまずかっただけかもしれない。
調子に乗って19.04へのアップグレードも行ったのだが、これもまたうまく行かなかった。
しかしUbunutは安定した環境での利用が前提でインストールしているので、結局は18.04LTSでの使用に戻すことになる。
PCのCPUからビデオカードまでを一新したので、Windows10だけでなくUbuntuのインストールもしてデュアルブートにした。
PCの環境
・CPU:Core i5 9400F
・メモリ:16G
・ビデオ:RTX2060
・マザー:MSIのマザー
WindowsとUbuntuのインストールまでは問題なく行えたが、PCをブートしても何故かGRUBが起動せず毎回Windowsが起動してしまう。
とりあえず大事なのは、
・BIOSをUEFIにする
・セキュアブートは切る
・ブートローダーにインストール先はWindows Boot Managerとは別にする
これは環境によっても違うので参考程度に。
何度かパーティションを切り直したりブートローダーのインストール先を切り替えたりBIOSの設定画面でUEFIのブート順を見直して、無事デュアルブートが成功。
OpenCVの家紋の物体検出をするための分類器をその2で作成しました。
ここではその分類器を使って検出をしてみます。
まずは、学習に使用した正解画像の中から何枚か選んで。
いい感じで検出できていますね。4枚目はひし形の枠は外れてしまいましたが、十分許容範囲かと思います。
そもそも学習に使用した画像なので、これで検出されないと困ってしまいますが。
続いて、学習には使用していないテスト画像で検出確認。
素晴らしい検出結果ですね
これも良いです。左右の家紋は切れていたりかぶっていたりで検出できなかったようです
提灯の家紋が検出できず、傘の中央部分が家紋と判断されています。
傘についている小さい家紋はバッチリです。
提灯のは角度がつきすぎているのが検出できない原因でしょうね。
全てではありませんが、かなり検出できていますね。
左二つは検出できました。その隣も検出して欲しかったのですが。
中央の金ピカのは検出されませんでした。右側のは確かに家紋っぽい。
今回60種類の家紋を学習させましたが、テスト画像内の家紋は学習に使用していない家紋ばかりです。にも関わらず家紋というものの特徴をよく捉えて判断しているのがわかります。
私の環境で、1920×1500サイズの画像検出の処理時間は900msから1300ms、小さい640×480程度の画像は300ms程度でした。パラメータによって制限をつけることで処理時間を短くすることも可能です。
次は検出してほしかったのに検出できなかったテスト画像。
角度が大事ですね。
ですが、これは角度をつけた画像を学習をさせることで十分検出できるようになると思います。
最後に家紋が含まれない画像。
1枚目の画像は女性の服の模様が家紋ですね、検出されてしまいました。
それ以外は標識だったりマークだったりを誤検出していません。
なかなかの結果だと思います。
次回交通標識で分類器作成の機会学習をやってみたいと思います。
最近ホンダで代車を借りたところ、走行中にインパネ部分に標識が表示されました。速度標識や追い越し禁止などが表示されます。
面白かったのでこれを作ってみたいと思います。