2018年12月15日土曜日

ubuntuにmecabをインストール

ubuntuのバージョンなど自分のパソコン環境などの違いで色々と躓いてしまいました。
取り敢えず上手く行った設定方法をメモしておきます。

まずは、mecabのインストール

sudo apt install mecab
sudo apt install libmecab-dev
sudo apt install mecab-ipadic-utf8
 
このままでもmacabは機能するのですが、辞書機能を強化するために、mecab用の
NEologdという辞書を入れたほうが良いようです。辞書は他にもあります。

git clone https://github.com/neologd/mecab-ipadic-neologd.git
cd mecab-ipadic-neologd
sudo ./bin/install-mecab-ipadic-neologd
 
つぎに、mecabにこのNEologd辞書を使うように指定するためにmecabの設定ファイルmecabrcを書き換えておきます

sudo vim /etc/mecabrc

テキストエディタは何でも良いと思いますが、vimをインストールしてない方は、

sudo apt-get install vim

ここでdicdir =の所を次のように書き換えて保存します。
dicdir = /usr/lib/x86_64-linux-gnu/mecab/dic/mecab-ipadic-neologd

このdicdir=の内容は自分のパソコン環境で異なるようです。私の場合はこれで上手く行きました。
ここまでは、以下の記事を参考にしました。

最後に、macabをpythonから使えるようにするのですが、ここでも問題が・・・
 pip install mecab-python3
としても
unable to execute 'swig': No such file or directory
  error: command 'swig' failed with exit status 1
となって、色々と行ってもエラー続出です。
どうやらmecab-python3が新しいバージョンになった際に「swig」を必要とするようになったみたいです。
そこで、

sudo apt-get -q -y install swig
pip install mecab-python3

 これで、メデタシメデタシ。無事インストールの成功です。
ここは以下の記事を参考にしました。

チョット余談
pythonで機械学習の勉強を試してみようと始めたとき、windows環境ではなく、Linux環境を進める記事が多くあったように思いましたが、最近になってなるほどと思いたくなるような出来事に出くわすようになった気がします。
60過ぎの爺には難しい・・・(*^^*)

2018年12月13日木曜日

Jupyter Notebookの環境設定

Jupyter Notebookを使うときに指定のブラウザに変更したり、起動時のディレクトリーを変更して作業性をアップしました。
 変更はJupyyerのconfigファイルを修正することで行いました。
configファイルが無い環境の方は、windowsではPowerShell、mac、ubuntuではターミナルを開いて
jupyter notebook --generate-config
を実行して作成してください。configファイルは.jupyterフォルダー下にjupyter_notebook_config.py として作成されます。

1.Windowsの場合
1.1▶ブラウザの変更
.jupyterフォルダー下のconfigファイルをメモ帳などのテキストエディタで開きます。
.jupyterフォルダーは自身のユザーフォルダーにあります。
configファイルにある下記の行のコメントアウトを削除し
#c.NotebookApp.browser = ' '
' '内を次のように変更します。--new-windowを付けると新しいchromeが立ち上がります。
c.NotebookApp.browser = '\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" %s --new-window'


1.2▶起動ディレクトリの変更

同じくconfigファイルの

c.NotebookApp.notebook_dir = ' '
の' '内に起動したいドライブ名、フォルダー名を書き込みます。
c.NotebookApp.notebook_dir = '例{D:HDD}'

ただこれだけです。

2.Macの場合

Macの場合、.Jupyterフォルダーは隠しファイルとなとています。
しがって、ショートカットキーの[command] + [shift] + [.(ドット)]
を押して、隠しファイルを表示する必要があります。

2.1▶ブラウザの変更
.jupyterフォルダー下のconfigファイルをテキストエディタで開きます。
.jupyterフォルダーは自身のユザーフォルダーにあります。
同じくconfigファイルの
#c.NotebookApp.browser = ' 'を下記に変更するとchromeが起動します。
c.NotebookApp.browser = '/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome %s --new-window'

2.2▶起動ディレクトリの変更
同じくconfigファイルの

c.NotebookApp.notebook_dir = ' 'の' '内に起動したいドライブ名、フォルダー名を書き込みます。
c.NotebookApp.notebook_dir = '/Volumes/{フォルダー名}'

3.Ubuntuの場合
UbuntuもMacの場合と同様、.Jupyterフォルダーは隠しファイルとなとています。
Ubuntuの場合、ショートカットキーの[Ctrl] + [H]]を押して、隠しファイルを表示する必要があります。

3.1▶ブラウザの変更
.jupyterフォルダー下のconfigファイルをテキストエディタで開きます。
.jupyterフォルダーは自身のユザーフォルダーにあります。
同じくconfigファイルの
#c.NotebookApp.browser = ' 'を下記に変更するとchromeが起動します。
ubuntuの素人で現在調べてます(*^^*)


3.2▶起動ディレクトリの変更
同じくconfigファイルの

c.NotebookApp.notebook_dir = ' 'の' '内に起動したいドライブ名、フォルダー名を書き込みます。
c.NotebookApp.notebook_dir = '/media/{ユーザー名}/{フォルダー名}'



2018年11月25日日曜日

ソニーがGUIのNeural Network Consoleを作ってた

ソニーがGUIのNeural Network Consoleを作ってます。
みなさん既にご存知か。(*^^*)
機械学習が素人の私としたは何をしているのかチンプンカンプンな所も多いのですが、それぞれの操作の効果(レイヤーの働き)がどのようなものなのか、たちどころに実感できるので最高です。


1.定番のMNISTデータを試してみた
とりあえず下記プロジェクトで試してみました。何かの本のPythonプログラムを元に書き換えたのかな?
忘れてしまいました。
とにかくレゴのMindStormsの様にブロックを組合せることで出来上がりです。

活性化関数はTanhではなくReLUを使うべきですかね?




何も難しいことをせずともAccuracy:0.99ならマズマズですか。




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"