SlideShare a Scribd company logo
Juliaのススメ
Ai Makabi (@amacbee)
R&D division / adingo,inc.
みなさん、
Juliaをご存知ですか?
About Julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://docs.julialang.org
_ _ _| |_ __ _ | Type "help()" to list help topics
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.2.1 (2014-02-11 06:30 UTC)
_/ |__'_|_|_|__'_| | Official http://julialang.org/ release
|__/ | x86_64-apple-darwin12.5.0
About Julia
(_)
_ _ _| |_ __ _ | Type "help()" to list help topics
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.2.1 (2014-02-11 06:30 UTC)
_/ |__'_|_|_|__'_| | Official http://julialang.org/ release
|__/ | x86_64-apple-darwin12.5.0
Rのように中身がぐちゃぐちゃでなく、!
Rubyのように遅くなく、!
Lispのように原始的またはエレファントでなく、!
Prologのように変態的なところはなく、!
Javaのように硬すぎることはなく、!
Haskellのように抽象的すぎない	
  
ほどよい言語である	
  
引用:http://www.slideshare.net/Nikoriks/julia-28059489
※私が言っているわけではありません
About Julia
(_)
_ _ _| |_ __ _ | Type "help()" to list help topics
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.2.1 (2014-02-11 06:30 UTC)
_/ |__'_|_|_|__'_| | Official http://julialang.org/ release
|__/ | x86_64-apple-darwin12.5.0
• 科学技術計算用の言語
• LLVMを使ったJIT Compileにより高速に動作
• 文法はMATLAB like
About Julia
(_)
_ _ _| |_ __ _ | Type "help()" to list help topics
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.2.1 (2014-02-11 06:30 UTC)
_/ |__'_|_|_|__'_| | Official http://julialang.org/ release
|__/ | x86_64-apple-darwin12.5.0
• 科学技術計算用の言語
• LLVMを使ったJIT Compileにより高速に動作
• 文法はMATLAB like
About Julia
(_)
_ _ _| |_ __ _ | Type "help()" to list help topics
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 0.2.1 (2014-02-11 06:30 UTC)
_/ |__'_|_|_|__'_| | Official http://julialang.org/ release
|__/ | x86_64-apple-darwin12.5.0
GoやV8を凌駕して,Fortranと比較しても 色ない
ベンチマーク結果
実際どうなの?
科学技術計算用言語とJuliaを
比較してみよう!
実証環境
• Monte Carlo法を用いた円周率計算
• 100,000,000回の試行
• Macbook Pro (Late 2013)
• メモリ:16GB
• プロセッサ:2.6GHz Intel Core i7
circle_in = 0.0
for i in 1:100000000
l = (rand()^2 + rand()^2) ^ 0.5
if l <= 1
circle_in = circle_in + 1
end
end
!
println((4 * circle_in) / 100000000)
用いた言語及びVersion
• Julia (0.2.1)
• R (3.1.0)
• Python (3.4.0)
実行時間 (s)
Julia 4.83
R 43.68
Python 56.64
実行時間 (s)
Julia 4.83
R 43.68
Python 56.64
圧倒的Julia
(́-`)
でも待てよ・・・
同じJIT Compilerなら
Pythonにも
PyPyあるしな
用いた言語及びVersion
• Julia (0.2.1)
• R (3.1.0)
• Python (3.4.0)
• PyPy (2.2.1)
実行時間 (s)
Julia 4.83
R 43.68
Python 56.64
PyPy 9.18
実行時間 (s)
Julia 4.83
R 43.68
Python 3.4.0 56.64
PyPy 2.2.1 9.18
それでも
Julia(涙)
(́-`)
いやいやでも・・・
Pythonで科学技術計算なら
numpy使うのが普通だし
用いた言語及びVersion
• Julia (0.2.1)
• R (3.1.0)
• Python (3.4.0)
• Python (3.4.0) with Numpy
• PyPy (2.2.1)
実行時間 (s)
Julia 4.83
R 43.68
Python 56.64
Python + numpy 3.14
PyPy 9.18
実行時間 (s)
Julia 4.83
R 43.68
Python 56.64
Python + numpy 3.14
PyPy 9.18
ヾ(ó▽`)ノ ゚+。:.゚
Pythonはとても良い言語
みんなPython使ってください
Juliaもとても良い言語
みんなJuliaも使ってください
Juliaをもっと知りたい人へ
• Documentation

http://docs.julialang.org/en/release-0.2/
• Videos from the Julia Tutorial at MIT

http://julialang.org/blog/2013/03/julia-
tutorial-MIT/
• 丸井綜研 ¦ Julia

http://marui.hatenablog.com/category/Julia

More Related Content

Viewers also liked

バンディットアルゴリズム勉強会
バンディットアルゴリズム勉強会バンディットアルゴリズム勉強会
バンディットアルゴリズム勉強会
Ai Makabi
 
JuliaでGLM
JuliaでGLMJuliaでGLM
JuliaでGLM
Kazuya Wada
 
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup ) Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ai Makabi
 
Rによる統計解析と可視化
Rによる統計解析と可視化Rによる統計解析と可視化
Rによる統計解析と可視化
弘毅 露崎
 
Juliaを使った機械学習
Juliaを使った機械学習Juliaを使った機械学習
Juliaを使った機械学習
Aki Ariga
 
Data science packages
Data science packagesData science packages
Data science packages
yuta july
 
プログラミング言語 Julia の紹介
プログラミング言語 Julia の紹介プログラミング言語 Julia の紹介
プログラミング言語 Julia の紹介
Kentaro Iizuka
 
非負値行列分解の確率的生成モデルと 多チャネル音源分離への応用 (Generative model in nonnegative matrix facto...
非負値行列分解の確率的生成モデルと多チャネル音源分離への応用 (Generative model in nonnegative matrix facto...非負値行列分解の確率的生成モデルと多チャネル音源分離への応用 (Generative model in nonnegative matrix facto...
非負値行列分解の確率的生成モデルと 多チャネル音源分離への応用 (Generative model in nonnegative matrix facto...
Daichi Kitamura
 
Juliaで前処理
Juliaで前処理Juliaで前処理
Juliaで前処理
weda654
 
セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門
Takami Sato
 
AAをつくろう!
AAをつくろう!AAをつくろう!
AAをつくろう!
Takami Sato
 
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entriesIcml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Takami Sato
 
素人がDeep Learningと他の機械学習の性能を比較してみた
素人がDeep Learningと他の機械学習の性能を比較してみた素人がDeep Learningと他の機械学習の性能を比較してみた
素人がDeep Learningと他の機械学習の性能を比較してみた
Toru Imai
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
Seiya Tokui
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画までShunji Umetani
 
Deep Learning技術の今
Deep Learning技術の今Deep Learning技術の今
Deep Learning技術の今
Seiya Tokui
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
Takami Sato
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data science
Takami Sato
 
On the benchmark of Chainer
On the benchmark of ChainerOn the benchmark of Chainer
On the benchmark of Chainer
Kenta Oono
 

Viewers also liked (20)

バンディットアルゴリズム勉強会
バンディットアルゴリズム勉強会バンディットアルゴリズム勉強会
バンディットアルゴリズム勉強会
 
JuliaでGLM
JuliaでGLMJuliaでGLM
JuliaでGLM
 
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup ) Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
 
Rによる統計解析と可視化
Rによる統計解析と可視化Rによる統計解析と可視化
Rによる統計解析と可視化
 
Juliaを使った機械学習
Juliaを使った機械学習Juliaを使った機械学習
Juliaを使った機械学習
 
Data science packages
Data science packagesData science packages
Data science packages
 
Julia入門
Julia入門Julia入門
Julia入門
 
プログラミング言語 Julia の紹介
プログラミング言語 Julia の紹介プログラミング言語 Julia の紹介
プログラミング言語 Julia の紹介
 
非負値行列分解の確率的生成モデルと 多チャネル音源分離への応用 (Generative model in nonnegative matrix facto...
非負値行列分解の確率的生成モデルと多チャネル音源分離への応用 (Generative model in nonnegative matrix facto...非負値行列分解の確率的生成モデルと多チャネル音源分離への応用 (Generative model in nonnegative matrix facto...
非負値行列分解の確率的生成モデルと 多チャネル音源分離への応用 (Generative model in nonnegative matrix facto...
 
Juliaで前処理
Juliaで前処理Juliaで前処理
Juliaで前処理
 
セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門セクシー女優で学ぶ画像分類入門
セクシー女優で学ぶ画像分類入門
 
AAをつくろう!
AAをつくろう!AAをつくろう!
AAをつくろう!
 
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entriesIcml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
Icml2015 論文紹介 sparse_subspace_clustering_with_missing_entries
 
素人がDeep Learningと他の機械学習の性能を比較してみた
素人がDeep Learningと他の機械学習の性能を比較してみた素人がDeep Learningと他の機械学習の性能を比較してみた
素人がDeep Learningと他の機械学習の性能を比較してみた
 
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
Deep Learning技術の今
Deep Learning技術の今Deep Learning技術の今
Deep Learning技術の今
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
 
High performance python computing for data science
High performance python computing for data scienceHigh performance python computing for data science
High performance python computing for data science
 
On the benchmark of Chainer
On the benchmark of ChainerOn the benchmark of Chainer
On the benchmark of Chainer
 

More from Ai Makabi

Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
Ai Makabi
 
単純ベイズ法による異常検知 #ml-professional
単純ベイズ法による異常検知  #ml-professional単純ベイズ法による異常検知  #ml-professional
単純ベイズ法による異常検知 #ml-professional
Ai Makabi
 
Chapter 02 #ml-professional
Chapter 02  #ml-professionalChapter 02  #ml-professional
Chapter 02 #ml-professional
Ai Makabi
 
Chapter 01 #ml-professional
Chapter 01 #ml-professionalChapter 01 #ml-professional
Chapter 01 #ml-professional
Ai Makabi
 
ガンダムを見た事のない私が想像だけでガンダムを語る Ver.2
ガンダムを見た事のない私が想像だけでガンダムを語る Ver.2ガンダムを見た事のない私が想像だけでガンダムを語る Ver.2
ガンダムを見た事のない私が想像だけでガンダムを語る Ver.2
Ai Makabi
 
Pyladies tokyo 20150123
Pyladies tokyo 20150123Pyladies tokyo 20150123
Pyladies tokyo 20150123
Ai Makabi
 
Pycharm 4への誘い
Pycharm 4への誘いPycharm 4への誘い
Pycharm 4への誘い
Ai Makabi
 
PyLadies Tokyo 立ち上げのお知らせ
PyLadies Tokyo 立ち上げのお知らせPyLadies Tokyo 立ち上げのお知らせ
PyLadies Tokyo 立ち上げのお知らせ
Ai Makabi
 

More from Ai Makabi (8)

Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )Python for Beginners ( #PyLadiesKyoto Meetup )
Python for Beginners ( #PyLadiesKyoto Meetup )
 
単純ベイズ法による異常検知 #ml-professional
単純ベイズ法による異常検知  #ml-professional単純ベイズ法による異常検知  #ml-professional
単純ベイズ法による異常検知 #ml-professional
 
Chapter 02 #ml-professional
Chapter 02  #ml-professionalChapter 02  #ml-professional
Chapter 02 #ml-professional
 
Chapter 01 #ml-professional
Chapter 01 #ml-professionalChapter 01 #ml-professional
Chapter 01 #ml-professional
 
ガンダムを見た事のない私が想像だけでガンダムを語る Ver.2
ガンダムを見た事のない私が想像だけでガンダムを語る Ver.2ガンダムを見た事のない私が想像だけでガンダムを語る Ver.2
ガンダムを見た事のない私が想像だけでガンダムを語る Ver.2
 
Pyladies tokyo 20150123
Pyladies tokyo 20150123Pyladies tokyo 20150123
Pyladies tokyo 20150123
 
Pycharm 4への誘い
Pycharm 4への誘いPycharm 4への誘い
Pycharm 4への誘い
 
PyLadies Tokyo 立ち上げのお知らせ
PyLadies Tokyo 立ち上げのお知らせPyLadies Tokyo 立ち上げのお知らせ
PyLadies Tokyo 立ち上げのお知らせ
 

Juliaのススメ