メニュー

技術ブログ

Denso IT Lab.社員による技術情報の紹介

Denso IT Laboratory researcher's blog sites

数式

RSS

ページトップへ

try! Swift 2017 ハッカソンで賞をもらいました

sonsonこと,Yuichi Yoshidaです.
学会も,言語系のカンファレンスも,ハッカソンも,WWDCも色々出没する自由人です.

先日,開催されたtry!Swift 2017 ハッカソンで3つも賞をいただきました.
48チーム中2位の賞と,スポンサー賞である,SanSan賞,Yahoo!賞をいただきました.

開発したのは,Swift Playgroundsで動作する,Jupyter notebookみたいな環境です.実装できた機能は,基本的な行列演算,plotとscatterでグラフを描画できるビューです.行列演算のバックエンドは,Accelerate.frameworkに内包されるBLAS, LAPACK, vvLibを使っているので,計算結果は,安心できると思います.多分.

https://github.com/sonsongithub/numsw

すべてのソースコードは,上記リポジトリに置いてあります.

ビルドした(コピーしてるだけですが)PlaygroundbookをiPadにAirDropで転送したりすると,Playgrounds.appでコーディングすることができます.上のスクリーンショットがPlaygrounds.appでbookを開いたところです.左ペインに計算コードを書いて実行すると,右ペインでplotやscatterの実行結果としてグラフがレンダリングされます.まだまだ生煮えのプロジェクトですが,開発は続けていこうと思っていますので,興味がある方は開発にご参加ください.

このエントリーをはてなブックマークに追加

Demitasse〜DNN高速化ライブラリを公開しました

どうも吉田悠一です.
弊社の近藤がNIPS2016のWorkshopで発表したDemitasseをオープンソースで公開します.

“Satoshi Kondo, “Demitasse: SPMD Programing Implementation of Deep Neural Network Library for Mobile Devices”, ML Systems Workshop NIPS 2016 PDF

https://github.com/DensoITLab/Demitasse

llvmとispcを使い,Deep Learningの計算を高速化します.
Demitasseによれば,iOSデバイス上でもGPUを使わずに数百msecの時間で,Caffe Model Zooによる画像認識を実行することができます.

ビルド方法は,githubのリポジトリのドキュメントに書いてあります.
また,Linuxで使いたい方は,dockerを使って,簡単に環境を構築できます.

簡単に処理性能を確認したいという方向けに、iOS限定ですが、デモアプリも公開しておりますので、お試しください。(アプリインストール後、アプリ内で事前学習済みデータのダウンロードを行う必要がありますが、データサイズが数百MBと大きいため、学習済みデータのダウンロードはWiFi環境などで行うことをお勧めいたします)

AppStore

このエントリーをはてなブックマークに追加

How to build matcaffe on OSX10.11.5 and MATLAB2016a

I guess that many engineers have some troubles when they try to build matcaffe on OSX.

1. Link error – google::protobuf
2. Link error – mex functions – not found _mxArrayToString
3. Link error – dyld: Library not loaded: @rpath/libmkl_intel_lp64.dylib

I found a way to avoid these troubles, so I will write down about it.

At first, my system is

– Mac Pro (Late 2013)
– OSX 10.11.5
– MATLAB 2016a
– Intel Math Kernel Library(or OpenBLAS via homebrew)
– without Python interface
– without CUDA

1. Install some packages according to “OSX Installation”.

http://caffe.berkeleyvision.org/install_osx.html

2. Install Intel Math Kernel Library.

https://software.intel.com/en-us/intel-mkl/try-buy

Or, you can use OpenBLAS or Accelerate.framework.

3. Edit Makefile.config.

You have to edit Makefile.config very carefully.

Make it use only CPU.

# CPU-only switch (uncomment to build without GPU support).
CPU_ONLY := 1

Specify compiler.

# To customize your choice of compiler, uncomment and set the following.
# N.B. the default for Linux is g++ and the default for OSX is clang++
CUSTOM_CXX := /usr/bin/clang++

Set BLAS path according to your library.
This sample is for Intel Math Kernel Library.

# BLAS choice:
# atlas for ATLAS (default)
# mkl for MKL
# open for OpenBlas
BLAS := mkl
# Custom (MKL/ATLAS/OpenBLAS) include and lib directories.
# Leave commented to accept the defaults for your choice of BLAS
# (which should work)!
BLAS_INCLUDE := /opt/intel/compilers_and_libraries_2016.3.170/mac/mkl/include
BLAS_LIB := /opt/intel/compilers_and_libraries_2016.3.170/mac/mkl/lib

Set MATLAB path to build matcaffe.

# This is required only if you will compile the matlab interface.
# MATLAB directory should contain the mex binary in /bin.
# MATLAB_DIR := /usr/local
MATLAB_DIR := /Applications/MATLAB_R2016a.app

This is the most important point.
Remove paths for python and keep the under order of LIBRARY_DIRS’s elements in order to avoid link error.

# Whatever else you find you need goes here.
INCLUDE_DIRS := /usr/local/include
LIBRARY_DIRS := /usr/local/lib $(MATLAB_DIR)/bin/maci64 /usr/lib

Next, build caffe.

4. Build caffe and matcaffe

If you want to use Intel Math Kernel Library, you have to execute this command before it.
I recommend you should copy this command into .bash_profile.

# build caffe
source /opt/intel/compilers_and_libraries/mac/mkl/bin/mklvars.sh intel64 ilp64

cd caffe
make all
make all test
make runtest
make all matcaffe

If failed to build caffe, check Makefile.config again.

5. How to use matcaffe.

You have to run MATLAB from terminal.app because MATLAB does not load environment variables when it runs via Finder.app……

cd caffe
# You have set this environment variable
# in order to avoid caffe load MATLAB's tiff library....
export DYLD_INSERT_LIBRARIES=/usr/local/opt/libtiff/lib/libtiff.5.dylib
/Applications/MATLAB_R2016a.app/bin/matlab &

You can use matcaffe in MATLAB console.

cd caffe
addpath('./matlab');
caffe.set_mode_cpu();

That’s all! Have fun!

このエントリーをはてなブックマークに追加