Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby のデータサイエンス対応の現状確認
Search
Kenta Murata
November 30, 2017
Technology
0
1.9k
Ruby のデータサイエンス対応の現状確認
Meguro.rb 2017.11.30
Kenta Murata
November 30, 2017
Tweet
Share
More Decks by Kenta Murata
See All by Kenta Murata
waitany と waitall を作った話
mrkn
0
120
HolidayJp.jl を作りました
mrkn
0
120
Calling Julia functions from Streamlit applications
mrkn
1
330
Red Data Tools で切り開く Ruby の未来
mrkn
3
1k
Method-based JIT compilation by transpiling to Julia
mrkn
0
6.5k
Apache Arrow C++ Datasets
mrkn
4
1.5k
Reducing ActiveRecord memory consumption using Apache Arrow
mrkn
0
1.6k
RubyData and Rails
mrkn
0
3k
Tensor and Arrow
mrkn
0
870
Other Decks in Technology
See All in Technology
App Router を実プロダクトで採用して見えてきた勘所をちょっとだけ紹介
marokanatani
1
920
OR学会2024秋_短期収益と将来のオフ方策評価性能を考慮したクーポン割当方策混合比の決定
recruitengineers
PRO
4
460
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
180
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
440
可視化により内部品質をあげるAIドキュメントリバース/20240910 Hiromitsu Akiba
shift_evolve
0
200
プロダクトエンジニアを支えるための開発生産性向上施策
tsukakei
0
140
Analytics-Backed App Widget Development - Served with Jetpack Glance
miyabigouji
0
550
Next.js のページ遷移を全力で止める
ypresto
3
1.6k
o1のAPIで実験してみたが 制限きつすぎて辛かった話
pharma_x_tech
0
120
DuckDB雑紹介(1.1対応版)@DuckDB座談会
ktz
6
1.4k
Javaにおける関数型プログラミンへの取り組み
skrb
7
320
フルカイテン株式会社 採用資料
fullkaiten
0
32k
Featured
See All Featured
Navigating Team Friction
lara
183
13k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
YesSQL, Process and Tooling at Scale
rocio
167
14k
A Tale of Four Properties
chriscoyier
155
22k
Clear Off the Table
cherdarchuk
91
320k
Thoughts on Productivity
jonyablonski
66
4.2k
Git: the NoSQL Database
bkeepers
PRO
425
64k
Designing for humans not robots
tammielis
248
25k
GitHub's CSS Performance
jonrohan
1029
450k
Done Done
chrislema
180
16k
How to Think Like a Performance Engineer
csswizardry
16
960
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Transcript
Ruby ךر٦ة؟؎ؒٝأ㼎䘔ך 植朐然钠 Kenta Murata, Speee Inc. 涪鿇 R&D ؚٕ٦ف
Thu, Nov 30, 2017 Meguro.rb 1 / 16
self.introduce Kenta Murata (@mrkn) Full-time CRuby committer at Speee Inc.
CRuby The maintainer of bigdecimal Other OSS pycall.rb, mxnet.rb, enumerable-statistics, vim-cruby Hobby Play with my daughter, Mathematics, Physics, Computer Science, Reading SF, etc. 2 / 16
植㖈ծRuby ךر٦ة؟؎ؒٝأ㼎䘔כ麓床劍דׅկ 劤傈כծוזفٗآؙؑزָ㶷㖈׃ծוז暴䗙ָ ַ֮稱➜׃תׅկ זׁכծמוַֿךفٗآؙؑزח⸇׃גְֹծ Ruby ךر٦ة؟؎ؒٝأ㼎䘔⸇鸞ׅ䔲✲罏חזגְ ְֹדׅկ 3 /
16
Contents SciRuby Ruby Numo pycall.rb mxnet.rb Red Data Tools project
GPGPU ͷରԠঢ়گ RubyData organization 4 / 16
SciRuby NMatrix Λத৺ͱ͢ΔՊֶٕज़ܭࢉ༻ gem ܈ ւ֎Ͱ࠷༗໊ͳ Ruby ͷՊֶٕज़ܭࢉϥΠϒϥϦ܈ ൃىਓͨͪ࠷ۙશ͘։ൃ͓ͯ͠ΒͣɺGSOC ͷϓϩδΣΫτͰֶੜ͕
৭ʑ࡞͍ͬͯΔͷͷدͤूΊঢ়ଶʹͳ͍ͬͯΔ Ұ෦ͷجຊԋࢉ͕͍όά͕͋Δ 5 / 16
Ruby Numo Numo::NArray Λத৺ͱ͢ΔՊֶٕज़ܭࢉ༻ gem ܈ ݩ NArray ͷ࡞ऀͰ͋Δాதণ͞Μ͕ൃىਓͰ͋Γ։ൃͷத৺ʹ͍Δ RubyKaigi
Ͱൃද͞Ε͍ͯͯɺຊͰͦͦ͜͜ΒΕ͍ͯΔͱࢥ͏ ւ֎Ͱ͋·ΓΒΕ͍ͯͳ͍ (?) 6 / 16
SciRuby ה Ruby Numo דדֹֿה σʔλϑϨʔϜϥΠϒϥϦ Daru ͕ NMatrix ʹରԠ͍ͯ͠Δ
[HELP] ୭͔ Numo::NArray ʹରԠ͍ͤͯͩ͘͞͞ Պֶٕज़ܭࢉ༻ͷجૅؔ܈ GSL ͷόΠϯσΟϯά͕ SciRuby ͱ Ruby Numo ͷͦΕͧΕʹରͯ͠ ଘࡏ͢Δ ՄࢹԽ Gnuplot Λ͏ϥΠϒϥϦ͕ SciRuby ͱ Ruby Numo ͷͦΕͧΕʹର ͯ͠ଘࡏ͢Δ rbplotly ͕྆ํʹରԠ͍ͯ͠Δ (ͣ) 7 / 16
pycall.rb Ruby ͔Β Python Λݺͼग़ͤΔ Ruby ͱಉ͡ϓϩηεͰ Python ΠϯλʔϓϦλΛॳظԽ͠ݺͼग़͢ ࣍ͷϦϦʔε͔Β
Python Λݺͼग़͢ࡍʹ GVL Λղ์͢ΔΑ͏ʹͳΔͷ Ͱɺpuma Ͱಈ͘ Rails ΞϓϦέʔγϣϯͰ͑Δʂ ͔͠͠ɺPython ଆͷ GIL ͷ੍ޚΛ·ͩͬͯͳ͍ͷͰɺRuby ଆͷෳͷ εϨου͔Β Python ͷػೳΛݺͼग़ͯ͠ͳΒͳ͍ ཉ͍͠ػೳͷఏҊΛϓϧϦΫΤετͷܗͰืू͍ͯ͠·͢ Ұॹʹ։ൃͯ͘͠ΕΔɺRuby ͱ Python ͷ྆ํʹৄ͍͠ਓืूͯ͠·͢ 8 / 16
mxnet.rb MXNet ͷ Ruby όΠϯσΟϯά 10݄ࠒ͔Βຊؾग़ͯ͠ RubyConf ·Ͱʹͤ͞Α͏ͱ͚ͨ͠ͲແཧͰ͠ ͨʂʂ 3݄ͷԭೄ
RubyKaigi 02 ·ͰʹͳΜͱ͔͢Δ Ruby ͱ MXNet ͷ྆ํʹৄ͍͠ਓͷڠྗΛืू͍ͯ͠·͢ 9 / 16
Red Data Tools project Apache Arrow Λத৺ͱͨ͠σʔλπʔϧΤίγεςϜͷ Ruby ൛ ਢ౻͞Μ্ཱ͕ͪ͛ͨ
ਢ౻͞Μ Apache Arrow ͷ PMC ʹͳͬͨ Red Chainer ͳͲɺApache Arrow ͱؔͳ͍ੜϓϩμΫτͷ։ ൃ࢝·͍ͬͯΔ ͓ͦΒؔ͘ऀશһ͕ຊਓͰ͋Δ ຖ݄ʮOSS Gate ౦ژϛʔτΞοϓ for Red Data ToolsʯͰ։ൃ͕ਐΊΒΕ ͍ͯΔ 12݄ͷΠϕϯτͷҊΛޙͰ͠·͢ 10 / 16
GPGPU פך㼎䘔朐屣 tensorflow.rb Ͱ GPU ͕͑Δ (ͣ) pycall.rb Ͱ Python
ͷ GPGPU ରԠϥΠϒϥϦΛ͑Δ ࠓ 2017 ͷ GSOC Ͱ ArrayFire ͷόΠϯσΟϯά͕࡞ΒΕͨ ࠓ 2017 ͷ Ruby Grant Ͱ GPGPU ରԠϓϩδΣΫτ͕2݅࠾ 1. RbCUDA: ArrayFire ͷόΠϯσΟϯάΛ࡞ͬͨਓͷϓϩδΣΫτͰɺ CUDA ϥϯλΠϜϥΠϒϥϦͷ Ruby όΠϯσΟϯά 2. cumo: sonots ͞ΜͷϓϩδΣΫτͰɺcupy ͷ Ruby ൛Λ Numo::NArray ʹରͯ͠࡞Δ mxnet.rb ͕͑ΔΑ͏ʹͳΔͱɺ͜Ε GPGPU ʹରԠ͢Δ 11 / 16
Ruby דر٦ة؟؎ؒٝأׅ橆㞮知⽃ ח鑐ׅ倯岀 ࣮ Docker image Λ࡞ͬͯ͋Δɻ docker run --rm
-it -p 8888:8888 rubydata/notebooks ͜ΕͰɺJupyter notebbok ্ཱ͕͕ͪΔͷͰɺIRuby kernel ͷϊʔτϒοΫ Λ࡞ΕࢼͤΔɻ 12 / 16
RubyData organization SciRubyɺRuby NumoɺRed Data ToolsɺͳͲෳͷϓϩδΣΫτʹਓ͕ ࢄ͍ͯ͠Δݱঢ়ɺ७ਮͳར༻ऀ͕ށ͍͍͢ ϓϩδΣΫτʹؔͳ͘ɺRuby ͱσʔλπʔϧΛΈ߹Θ͓ͤͯ͏ͱ͠ ͍ͯΔਓ͕ू·ͬͯใަ͕Ͱ͖Δ͕ඞཁͩΖ͏
ͱ͍͏Θ͚Ͱɺࢲ͕࡞Γ࢝Ί·ͨ͠ http://ruby-data.org/ ·ͩϥϯσΟϯάϖʔδ͔͠ͳ͍ʂʂ 13 / 16
RubyData needs helps!! ҎԼͷΑ͏ͳਓΛืूͯ͠·͢ ίϛϡχςΟӡӦ (ਓͷू·ΓΛ੍ޚ͢Δ͜ͱ) ͕ಘҙͳਓ (ࢲ mrkn ͕
Ұ൪ෆಘҙͳ͜ͱ) AWS ʹৄ͍͠ਓ (discourse ͷ্ཱͪ͛ͱӡӦΛखͬͯཉ͍͠) ࣗવݴޠͰͷܧଓతͳใൃ৴͕ಘҙͳਓ (ʮRuby ͰσʔλαΠΤϯ εʯతͳใൃ৴Λεέʔϧ͍ͤͨ͞) ӳޠ͕ಘҙͳਓ (ͨͪͷมͳӳޠΛͯ͠ཉ͍͠) docker-stacks ͷҡ࣋ͱൃలΛੵۃతʹͬͯ͘ΕΔਓ 14 / 16
זָׁ➙ּׅדֹֿה 1. ͬͯόάใࠂ 2. ຊʹดͯ͡ΔϓϩμΫτΛւ֎͚ʹӳޠͰհ͢Δ 3. ར༻ऀ͕૿͑ΔΑ͏ͳϒϩάهࣄΛॻ͘ (ͬͯΈͨܥ) 4. ։ൃऀ͕૿͑ΔΑ͏ͳϒϩάهࣄΛॻ͘
(։ൃڥΛ࡞ΔɺίʔυΛಡΜͰ Έͨܥ) 5. طଘͷϥΠϒϥϦʹϓϧϦΫΛૹͬͯ։ൃʹࢀՃ͢Δ 6. RubyData ͷӡӦνʔϜʹೖͬͯಘҙͳ͜ͱΛΔ 7. OSS Gate for Red Data Tools ʹࢀՃͯ͠։ൃ͢Δ 15 / 16
OSS Gate for Red Data Tools in Speee 2017.12.19 Red
Data Tools ϓϩδΣΫτͷ։ൃऀ͕ू·Γ·͢ɻ ॴ: ຊ4-1-4 ࠇ࡚Ϗϧ 5F Speee Inc. ηϛφʔϧʔϜ ࣌ؒ: 201712݄19 19:00 ։ 19:30 ։࢝ https://speee.connpass.com/event/72926/ 16 / 16