2018年9月30日日曜日

TensorFlowでGPUの効果を確認する


自作したパソコンにUbuntu18.04をインストールし、anacondaを導入しましたので、TensorFlow実行時にGPUの効果を確かめてみました。
ちなみに私のグラフィックボードは「GeForce GTX 760」でかなり古いものです。
比較に、ノートパソコン、MacPro、google colaboratoryでGPU有り無しのデータを記録します。
処理するデモデータは「TensorFlow開発入門 Kerasによる深層学習モデル構築手法」の第五章にあるcifar10を処理するプログラムの1エポックの実行速度を測りました。

結果

環境処理時間(sec)
自作バソコン120
自作バソコン(GPU)29
MacPro230
ノートブック360
google colaboratory296
google colaboratory(GPU)31

古いGPUですが、それなりに効果が有る事が分かりました。
google colaboratoryと比べてもそれほど遜色はありません。
MacProはやはり遅いですね。
動画のエンコードをしていても自作パソコンに比べて遅く感じていました。
ちなみに自作パソコンもMacProも、CPUは6コアでメモリは32Gです。






2018年9月29日土曜日

portable-HDDにUbuntuをインストールしていて躓いたこと

Portable-HDDにUbuntuをインストールしていて上手く行かなかったこと、もしかして大切と思うことを記録しておきます。

1.▶システムがGPTなのか、MBRなのか?UEFI起動しているのか、レガシーBIOSで起動しているのかで、インストール出来たり出来なかったり

「grub2をインストールできません・・・」失敗続き。
その時のパソコンはUEFI起動したパソコン。
そこで、MBRの旧BIOSのパソコンでインストールを行うと一発で成功。
素人の私には理由は分かりませんが、もしかして参考になるかもと思うブログを以下に
GPT HDD に grub2 をインストールする際の tips

 2.▶portable-HDDのパーティション分割の順番に気をつけて?

①windows10とデータ共有のためのパーティション
②ubuntu本体のパーティション
③スワップ領域のパーティション

フォーマット領域を順番に①→②→③と設定。
②→③→①とした場合は、windows10で起動したパソコンに接続すると壊れる事があった。

2018年9月25日火曜日

初めてのUbuntuで機械学習を行える環境の構築に挑戦




会社ではWindows10を、プライベートではWindows10とMacを使っています。
最近Machine Learningが話題になっています。
一度自分でも試してみようと思いましたが、Windows環境はあまり薦められない、出来ればLinuxでの環境を薦めるとの記事が多くありました。
Machine Learningがどんなものか?、実際にプログラムを動かしてみるのが一番です。

そこで、

1.Ubuntuのインストール
2.NVIDIAドライバーとCUDAのインストール
3.TensorFlowのインストール

の手順を自分自身への備忘録として残しておきます。なにせ60歳過ぎのジジイですので・・・。


1.Ubuntuのインストール

Machine Learningの本や記事を見るとUbuntu16.04ですが、今年2018年5月にVer18.04がリリースされました。

LinuxのライブUSB作成方法は、色々と紹介さていますが、私はここのブロクを参考にして上手くいきました。



1.1▶Ubuntuのダウンロード
UbuntuをインストールするためのISOファイルは公式サイトからダウンロードします。




現在の最新版は「ubuntu-ja-18.04.1-desktop-amd64」です。

1.2▶Ubuntuのインストール用USBメディアの作成
Ubuntuをインストールするには、ISOイメージファイルを用いてインストールメディアを作成する必要があります。
私はUSBメディアを作成しました。
インストールメディアを作成するためにフリーソフトの「Rufus」を使います。
RufusはWebサイトからダウンロードします。



Rufusの設定画面の「パーティション構成」でMBR BIOSかUEFIを選ぶ箇所がありますが、最近のパソコンであれば'GPT'を選択してUEFIを選んでおいてよいと思います。
私のバソコンもかなり以前に自作したものですが、MBR BIOS(レガシーBIOS)ではありません。
ファイルシステムは'FAT32'を選択しました。
これでスタートを押すとその後いくつかのPOP画面が出てきますが、インストールメディアの出来上がりです。

1.3▶パソコンの起動ディスクの変更
パソコンにはHDDが複数搭載されていたり、DVDドライブがあったりしますが、起動したときにどのHDD、DVDドライブからシステムファイルを読み込んで立ち上がるのが、BIOSで順番が設定されています。
パソコンを起動したときに、1.2で作成したUSBインストールメディアから立ち上がるようにBIOSの設定を変更しなければなりません。
1.パソコンを起動した時に一瞬BIOS画面が表示されます。
2.BIOS画面が表示されると同時に、私のパソコンでは'Delキー'(パソコンによりF2キーであったり様々)を押す。
3.するとBIOS設定画面が現れますので、起動ドライブの順序変更セクションでUSBが順序で一番になるように変更してください。
※この作業はUSBを挿入した状態で実施してください。


1.4▶Ubuntuのインストール
1.2のRufusの設定画面の「パーティション構成」で'MBR'か'GPT'かでUSBが起動後の設定画面は異なります。
どちらにしてもUbuntuインストールを選択し、実行してください。


2.NVIDIAドライバーとCUDAのインストール
2019/12/04に追加の修正記事

HDDにUbuntuがインストール出来たので、続いてNvidiaドライバー、CUDA,ccDNNをインストールします。
ちなみに私のグラフィックボードは「GeForce GTX 760」でかなり古いものです。
こんな古いGPUで効果があるのか(*^^*)

CUDA、ccDNNのインストール方法はWebに色々と載っていますが、私はこのページを参考に上手く出来ました。


2.1▶Navidiaドライバーのインストール
必要か良く分かりませんが、下記コマンドで一発インストール出来るようです。

$ sudo ubuntu-drivers autoinstall

私の場合、これでインストールされるドライバーVerは340でした。

次の操作でNvidiaドライバーの390がインストールされるので上の操作が必要かどうか私には分かりません。

$ sudo apt install nvidia-cuda-toolkit nvidia-driver-390

これでドライバーVer: 390.48がインストールされます。

この状態でapt-get upgradeでパッケージをアップしようとしたら、保留に数件あると出ます。そのパッケージを更新すると他のパッケージが削除される時に保留になるので、保留の物をインストールするには以下のようにする。

 $ sudo apt-get dist-upgrade
  

2.2▶cuDNNのインストール
Nvidiaのホームページからメンバー登録を行ないcuDNNをダウンロード。
私がDLしたのは、cudnn-9.1-linux-x64-v7.1.tgzです。

cudnn-9.1-linux-x64-v7.1.tgzをダウンロードしたディレクトリーに移動(cd)し、

tar xzvf cudnn-8.0-linux-x64-v5.1.tgz ---①
sudo cp -a cuda/lib64/* /usr/lib/cuda/lib64/−−−②
sudo cp -a cuda/include/* /usr/lib/cuda/include/−−−③

①で解凍し、②③でファイルを指定フォルダーにコピーします。

3.anacondaのインストール
TensorFlowの導入には、pythonをanacondaでインストールすることで行ないました。
anacondaはダウンロードページから。
私がDLしたのは「Anaconda3-5.2.0-Linux-x86_64.sh」です。
詳細は以下を参考にしてください。


anacondaのインストールは、anacondaがダウンロードされたフォルダーに移動し、
ターミナルで下記コマンドを実行する。

bash Anaconda3-5.2.0-Linux-x86_64.sh

anacondaの起動はターミナルを開き

anaconda-navigator

CUDAの稼働状況を確認するためにはターミナルを開き

  watch -n1 "nvidia-smi"