IEICE 2017年5月SIP研究会にて成果発表

2017年5月25,26日に名古屋工業大学にて電子情報通信学会信号処理研究会が開催されました。

2日目、M1藤井君が以下の発表を行いました。

藤井元暉・村松正吾(新潟大)確率的勾配降下法による非分離冗長重複変換設計の学習率制御の検討,信学技報,信号処理,名工大,2017年5月26日

http://www.ieice.org/ken/paper/20170526XbTP/

 

Ubuntu 14.04 上で MATLAB 2017a GPU利用 + TensorFlow-GPU

MATLAB R2017a でGPUを利用したディープラーニングが実行できるように、CUDAドライバ等のアップデートを行いました。同時にGPU版Tensorflowをインストールしました。

まず、MATLAB R2016b から R2017a にアップデートしたときに、GPUを利用できなくなりました。以下が MATLAB 2017a でのエラー内容です。

>> gpuArray(1)
エラー: gpuArray
CUDA 実行中に予期しないエラーが発生しました。CUDA エラー:
CUDA driver version is insufficient for CUDA runtime version

MATLAB R2017a Parallel Computing Toolboxのリリースノートより、MATLAB 2017a では CUDA toolkit version 8.0 が必要なことが分かります。

PCスペック

OSおよびカーネルの情報。

$ uname -a
Linux temsip01 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

GPUの情報。NVIDIA Tesla K80 が2台載っています。

$ lspci | grep -i nvidia
04:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)
05:00.0 3D controller: NVIDIA Corporation GK210GL [Tesla K80] (rev a1)
$ nvidia-smi
Thu May 18 12:31:54 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.51 Driver Version: 375.51 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 Off | 0000:04:00.0 Off | 0 |
| N/A 36C P0 61W / 149W | 207MiB / 11439MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
| 1 Tesla K80 Off | 0000:05:00.0 Off | 0 |
| N/A 24C P8 29W / 149W | 2MiB / 11439MiB | 0% Default |
+-------------------------------+----------------------+----------------------+

+—————————————————————————–+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 4907 C /usr/local/MATLAB/R2017a/bin/glnxa64/MATLAB 205MiB |
+—————————————————————————–+

古い CUDA および NVIDIAドライバのアンインストール

`uninstall_cuda_7.5.pl` の場所は CUDA をインストールした場所によって変わります。

# /usr/local/cuda-7.5/bin/uninstall_cuda_7.5.pl


# apt-get --purge remove nvidia*

パッケージ更新

ずっとアップグレードしてなかったので。ただし、`apt-get dist-upgrade` はカーネルに変更を加える場合があるので注意。

# apt-get update
# apt-get dist-upgrade
# apt-get autoremove

NVIDIA Driver のインストール

リポジトリに追加。

# add-apt-repository ppa:graphics-drivers/ppa
# apt-get update

最新のドライバを確認。

# apt-cache search nvidia-3

インストール。

# apt-get install nvidia-381

CUDA 8.0 toolkit のインストール

リポジトリに追加。

# wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_8.0.61-1_amd64.deb
# dpkg -i cuda-repo-ubuntu1404_8.0.61-1_amd64.deb
# apt-get update

インストール。

# apt-get install cuda

CUDAをパスに追加します。以下の内容を.bashrcに書き込み、`source .bashrc`を実行します。

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/lib/nvidia-381"
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:${CUDA_HOME}/bin

R2017aで動作確認

ここまでで、MATLAB R2017a でGPUを利用できるようになります。

>> gpuDevice

ans =

CUDADevice のプロパティ:

Name: ‘Tesla K80’
Index: 1
ComputeCapability: ‘3.7’
SupportsDouble: 1
DriverVersion: 8
ToolkitVersion: 8
MaxThreadsPerBlock: 1024
MaxShmemPerBlock: 49152
MaxThreadBlockSize: [1024 1024 64]
MaxGridSize: [2.1475e+09 65535 65535]
SIMDWidth: 32
TotalMemory: 1.1996e+10
AvailableMemory: 1.1642e+10
MultiprocessorCount: 13
ClockRateKHz: 823500
ComputeMode: ‘Default’
GPUOverlapsTransfers: 1
KernelExecutionTimeout: 0
CanMapHostMemory: 1
DeviceSupported: 1
DeviceSelected: 1

cuDNN 6.0 のインストール

GPU版のTensorflowを使うには、さらにcuDNNというライブラリをインストールする必要があります。cuDNNのダウンロードページから cuDNN v6.0 for CUDA 8.0 をダウンロードし、解凍して`/usr/local/`に置きます。ダウンロードするにはNVIDIAへのユーザ登録が必要です。

# tar xzvf cudnn-8.0-linux-x64-v6.0.tgz
# cp -a cuda/lib64/* /usr/local/cuda-8.0/lib64/
# cp -a cuda/include/* /usr/local/cuda-8.0/include/
# ldconfig

cuDNNについてもパスを追加します。以下の内容をHOMEの.bashrcに書き込み、`source .bashrc`を実行します。

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cudnn-6.0/lib64"

PIP で GPU版Tensorflow をインストール

これでGPU版のTensorflowを動かすことができるようになります。念のため古いtensorflowをアンインストールしてからインストールしました。`pip install tensorflow`だとCPU版のTensorflowが入ってしまうので注意。

pip uninstall tensorflow
pip install --upgrade tensorflow-gpu

Supavadee Aramvith先生(タイ王国チュラロンコーン大学)来校

平成29年5月11日(木)、タイ王国チュラロンコーン大学Supavadee Aramvith先生にMSIP Lab をご訪問いただきました。

14:00からは、新潟県工業技術総合研究所の阿部博士、五十嵐博士と共に燕市玉川堂を訪問しました。

工場を見学し、鎚起銅器製造工程に関する説明を受けたほか、総務省SCOPEプロジェクト「伝統的工芸品の世界販売戦略を支援するためのバーチャルショウケースの研究開発」に関する意見交換を行いました。

16:25からは、映像処理と通信に関する研究成果について、修士課程学生向けに90分間の講義(アドバンストテクノロジー)をしていただきました。

研究・教育に関して有益な情報交換を行うとともに交流を深めることができました。

 

2017年5月以降の発表予定

国際会議

  • Satoshi Nagayama, Shogo Muramatsu, Hiroyoshi Yamada and Yuuichi Sugiyama: Complex Nonseparable Oversampled Lapped Transform for Sparse Representation of Millimeter Wave Radar Image,  Proc. of IEEE International Conference on Image Processing(ICIP), Beijing, China, Sept. 2017, to appear
  • Genki Fujii and Shogo Muramatsu: Adaptive Learning Rate Control for Nonseparable Oversampled Lapped Transform Design, Proc. of ITC-CSCC, Busan, Korea, July 2017, to appear

国内学会

  • 藤井元暉・村松正吾(新潟大)確率的勾配降下法による非分離冗長重複変換設計の学習率制御の検討,信学技報,信号処理,名工大,2017年5月26日
  • 村山瑞貴・村松正吾・菊池久和(新潟大)デジタルカラー画像のための情報類似度指標と主観評価実験による検証,信学技報,信号処理,新潟大,2017年6月20日
  • 長山知司・村松正吾・山田寛喜(新潟大)・杉山裕一(富士通テン)繰り返し縮退に基づく複素非分離冗長重複変換を利用したレーダ画像ノイズ除去手法の提案,信学技報,信号処理,新潟大,2017年6月20日

研究室ロゴ

研究室のロゴを作成しましたのでお披露目します。

理論・アルゴリズム・実装の協調を重視する研究室の姿勢を3つの平面で表現するとともに多次元空間を表現しました。

配色は海と夕日、田園風景をモチーフにしています。

GIFアニメーションでは3つの平面の関係が明かされます!