マイブログ リスト

医療言語処理講座

2019年6月23日日曜日

Pyゼミ0.04 MSI P65をDual bootにしてみた

ノートPCデュアルブート

PS42が上手くいくならP65でも上手くいくはず?


Keyword: MSI P65-8RE-015JP、Dual Boot、Ubuntu18.04、Windows10

前回Pyゼミ0.03でMSI社のノートPC PS42のデュアルブートインストール記を書きました。
当初Ubuntu16.04でかなり苦戦しましたが,
Ubuntu18.04に変えるとかなりあっさりとインストールできたので,今回は上位機種のP65-8RE-015JPにトライしました。

P65-8RE-015JPのスペック
  • CPU   Core i7 8750H 2.2GHz/6コア
  • Memory 16GB
  • SSD   512GB
  • GPU   GeForce GTX 1060 Max-Q Design
  • Weight  1.88㎏   


前回PS42のマニュアルはできているので,この通り作業すればいいよと学生への課題として与えました。

しかし。。。



Ubuntu18.04がインストールできない


これまで何度かインストールに使ってきたインストール用USBでUbuntu18.04が上手く起動しません。
BIOSの設定を確認しながら何度か挑戦してもだめ。。。
18.04はあっさりあきらめてUbuntu16.04をインストールすることに変更。

週末の土曜日の午後。
PS42の上位機種なのに18.04がインストールできないことに違和感を持ちながら作業へ。

16.04のインストールが終了し,いつの持て順でCUIモードに移行してNVIDIAのドライバーのインストールへ
しかし,今度はまったくドライバーがインストールできない状況に。。。

何度か試している途中に,”do-release-upgrade”を使ってアップグレードするようにメッセージが表示されていることに気づきました。
ここで転機が。。。


これしかないね。


もう手がないな。

do-release-upgradeやってみようかということでメッセージの指示に従い。
まず,Ubuntu16.04のアップグレードとアップデートを実行。

$ sudo apt upgrade

$ sudo apt update

次に,Ubuntu18.04へのアップグレードを実行。

$ sudo do-release-upgrade

約1時間弱かかってダウンロード,途中すべてyesと入力。
その後,文字バケバケの何かを選択する画面が表示され,とりあえず選択されているディフォルトで続行。
(続行かどうかも文字が化けてて分からない)
とりあえず順調に進んでいるようなので,既に4時間以上だったので放置して帰ることに。


上手くいってる。


月曜日の朝。
P65の真っ黒な画面の最後に[y/n]と評されている。
何も考えずにyと入力。
再起動がはじまり,Ubuntu18.04起動完了。

土曜の作業はまったく上手くいっていないかったのでダメかもともっていましたが,インストールされていました。
よかった,よっかた。




残作業を無事終了


PS42へのUbuntu18.04のインストールに従い以下の作業を行いました。
参照:Pyゼミ0.03

1)NVIDIAドライバーのインストール

①CUIモードで作業するため,ランレベルを3に設定します。


$ sudo telinit 3

②Ctl + Alt + F1 でCUIモードに移行します。


③とりあえずアップデートを行います。

$ sudo apt-get upgrade
$ sudo apt-get update

④レポジトリの追加をします。

$ sudo add-apt-repository ppa:xorg-edgers/ppa -y
$ sudo apt-get update

⑤インストール可能なNVIDIAドライバの一覧を検索します。

$ apt-cache search "^nvidia-[0-9]{3}$"

⑥一覧の中から最新のドライバ「nvidia-390」を選び,インストールします。

$ sudo apt-get install -y nvidia-390

⑦インストールにしばらく時間がかかります。インストール終了後、再起動します。

$ reboot

⑧再起動後,ターミナルで次のコマンドを入力してNVIDIAのドライバーが正しくインストールされたことを確認します。


「GeForce GTX 106...」と表示され、GPUを認識していることが確認できます。

$ nvidia-smi
Tue Jun 18 16:42:35 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.116                Driver Version: 390.116                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 106...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   47C    P3    17W /  N/A |    218MiB /  6078MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1393      G   /usr/lib/xorg/Xorg                           121MiB |
|    0      1600      G   /usr/bin/gnome-shell                          95MiB |
+-----------------------------------------------------------------------------+


2)CUDAのインストール

①CUDA9.1をインストールします。

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

②再起動後にCUDAが認識されているか確認します。

$ nvcc –V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation>
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

3)cuDNNのインストール

NVIDIAからcudnnのファイルをダウンローします。
 ファイル名:cudnn-9.0-linux-x64-v7.4.2.24.tgz

①Ubuntuのホームディレクトリにファイルを置き,解凍します。cudaディレクトリが作成されます。

$ tar -zxf cudnn-9.0-linux-x64-v7.4.2.24.tgz

②cudaディレクトリに移動し,ファイルを所定の場所にコピーします。

$ cd cuda
$ sudo cp lib64/libcudnn* /usr/lib/cuda/lib64/
$ sudo cp include/cudnn.h /usr/lib/cuda/include/

③~/.bashrcファイルをテキストエディタで開き,最後の行に下記の内容を追加します。

$ gedit ~/.bashrc
ファイルの最後の行に次の2行を追加します。
# cuDNN
export PATH=/usr/lib/cuda/bin:${PATH}
export LD_LIBRARY_PATH=/usr/lib/cuda/lib64:${LD_LIBRARY_PATH}

4)Ancondaのインストール

Anaconda DistributionからLinuxのPython3.Xをダウンロードします。
ファイル名:Anaconda3-2019.03-Linux-x86_64.sh

①Anacondaをインストールします。

$ bash Anaconda3-2019.03-Linux-x86_64.sh
※インストール中すべてyesと入力

②pythonを起動して確認します。PythonとAnacondaのバージョンが表示されます。

$ python
Python 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:09:58)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

5)Chainerのインストール

①CUDA9.1用のcupyのインストールします。

$ pip install cupy-cuda91

②chainerをインストールします

$ pip install chainer

③Pythonを起動して,Chainerとcupyが正しくインストールされたことを確認します。

$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import chainer
>>> chainer.__version__
'5.4.0'
>>>
>>> import cupy
>>> cupy.__version__
'6.0.0'

6)Opencvのインストール

①pipのアップグレードとOpencvのインストールを行います。

$ pip install –upgrade pip
$ pip install opencv-python

②Pythonを起動し,Opnecvのバージョンを確認します。

$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.1.0'

7)Pydicomのインストール

①pipでpydicomをインストールします。

$ pip install  pydicom

②Pythonを起動してpydicomのバージョンを確認します。

$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pydicom
>>> pydicom.__version__
'1.2.2'

8)DICOM Tool kitのインストール

①DICOM Tool Kitをインストールします。

$ sudo apt install dcmtk

②インストールを確認します。

・DICOM画像の解凍を行うdcmdjpegコマンドのバージョンを確認します。
$ dcmdjpeg --version
$dcmtk: dcmdjpeg v3.6.2 2017-07-14 $

dcmdjpeg: Decode JPEG-compressed DICOM file

Host type: Debian
Character encoding: UTF-8

External libraries used:
- ZLIB, Version 1.2.11
- IJG, Version 6b  27-Mar-1998 (modified)





ということで無事終了。







2019年6月12日水曜日

Pyゼミ0.02 Windows10でAIしたい

Windows10でSpiderやJupiter Noteを使ってAIやってみる。


Keyword:Windows10, WinPython, Spider、Jupiter Note、Chainer、Python

ゼミナールではUnix上で開発や実験をしていましが,やはり初学者が最初に取り掛かるには少し敷居が高いかもしれません。

本学の実習室のOSはWindowsなので,学内で簡単にPythonやAIを試せる環境を構築できないか検討していたところ,WinPythonを見つけました。

WinPythonはPythonによる開発環境を提供してくれます。もちろん必要なライブラリも簡単にインストールして利用可能です。すばらしい。

また,USBメモリに入れて持ち運ぶことができます。ますます素晴らしい。

私が試したところではWindows7ではPython開発環境のSpyderなど起動できませんでした。おすすめはWindows10になります。


ダウンロードしてUSBメモリに保存する


すでにAI開発環境をインストールしたWinPython(約880MB)をダウンロードします。


ダウンロードしたファイルを解凍します。

解凍後のフォルダをUSBメモリに保存して,他のPCに挿して実行できます。

とても便利です。

Winディレクトリに中に以下のディレクトリがあります。

  • 1.01readDicom~3.04dicomNN...Pythonのソースコードと関連するファイルが保存されています。
  • dcomdir1...テスト用のDICOM画像が保存されています。
  • dicmdir2...訓練・テスト用のDICOM画像が4つの部位(Head,Chest,AbdomenとLung)に分けて保存されています。
  • WinPython63bit3.7 / WPy-3710...Pythonの開発環境用のプログラムが保存されています。



USBメモリから起動する


WinPythonには人気のあるPython開発環境が実装されています。

WinPython63bit3.7 / WPy-3710の中には以下のようなプログラムがあります。



人気のSpiderやJupter NoteをつかってPythonで開発がすぐできます。


必要なライブラリをあらかじめインストールしました。


Pyゼミナールで使う以下のライブラリをインストールしてあります。
  • Anaconda(numpy 1.14.6,PyQt5など) 
  • Chainer 5.2.0
  • OpneCV 4.0.0
  • pydicom 1.2.2

Pyゼミナールで提供するソースコードを使ってすぐに実験可能です。


DICOM画像を表示してみる


PyQtで作成したGUIを使ってDICOM画像を表示します。

例えばSpyderを使って,2.01PyQt dicomDisplayのdicomDisplay.pyを開いて実行ボタンをクリックすると画像が表示できます。


DICOM画像の部位を分類のタスクを学習しテストする


頭部,胸部,腹部と肺野の4つの部位を学習し,分類のテストを行います。

dcmdir2ディレクトリ内の画像を使って,3.04dicomNNディレクトリ内のdicomNNtrain.pyを使って部位分類の訓練を行います。

学習したモデルを使い,dicomNNtest.pyでテストをおこないます。

テスト結果の平均正答率がコンソールに表示されます。

また,推論結果がresultディレクトリにJPEG画像が保存されます。

JPEG画像ファイル名は,推論した部位名から始まるファイル名で保存されています。


まとめ


Windows10でのAI環境をWinPython使って作成しました。

簡単な実験が行え,USBメモリに入れて持ち運べるので便利です。

私はオープンキャンパスに使っています。