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
2.1k
0
Share
Ruby のデータサイエンス対応の現状確認
Meguro.rb 2017.11.30
Kenta Murata
November 30, 2017
More Decks by Kenta Murata
See All by Kenta Murata
waitany と waitall を作った話
mrkn
0
310
HolidayJp.jl を作りました
mrkn
0
340
Calling Julia functions from Streamlit applications
mrkn
1
580
Red Data Tools で切り開く Ruby の未来
mrkn
3
1.3k
Method-based JIT compilation by transpiling to Julia
mrkn
0
8.9k
Apache Arrow C++ Datasets
mrkn
4
1.8k
Reducing ActiveRecord memory consumption using Apache Arrow
mrkn
0
1.9k
RubyData and Rails
mrkn
0
3.4k
Tensor and Arrow
mrkn
0
1.1k
Other Decks in Technology
See All in Technology
GitHub Copilot CLI と VS Code Agent Mode の使い分け
tomokusaba
0
110
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
1
1.4k
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
1
120
AIでAIをテストする - 音声AIエージェントの品質保証戦略
morix1500
1
150
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
480
Do Vibe Coding ao LLM em Produção para Busca Agêntica - TDC 2026 - Summit IA - São Paulo
jpbonson
3
160
Chasing Real-Time Observability for CRuby
whitegreen
0
430
小説執筆のハーネスエンジニアリング
yoshitetsu
0
860
Route 53 Global Resolver で高額課金発生!
otanikohei2023
0
130
Shipping AI Agents — Lessons from Production
vvatanabe
0
290
AI와 협업하는 조직으로의 여정
arawn
0
560
MySQL 9.7がやってきた ~これまでのあらすじと基本情報~ @ 日本MySQLユーザ会会2026年04月 / mysql97-yattekita
sakaik
0
120
Featured
See All Featured
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
The Curious Case for Waylosing
cassininazir
0
320
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
680
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
820
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.6k
Typedesign – Prime Four
hannesfritz
42
3k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
330
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
170
Raft: Consensus for Rubyists
vanstee
141
7.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
270
New Earth Scene 8
popppiees
3
2.1k
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