Slide 1

Slide 1 text

Red Data Tools ʙRed Chainerʙ NAITOH Jun (@naitoh) RubyKaigi 2018 RubyData WorkShop 1 Jun 2018

Slide 2

Slide 2 text

Why join Red Data Tools? • Because I wanted to do Deep Learning at Ruby. (͓࢓ࣄͰ Deep LearningΛ΍Δͱ͖͸ pythonΛ࢖͍ͬͯ·͢ɻ) • Ruby ͷπʔϧΛ૿΍ͨ͢ΊʹPython ͷπʔϧΛҠ২͢ΔಓΛબ୒ɻ • Python ͔ΒͷҠ২Λޮ཰Α͘͢ΔͨΊʹ py2rb.py Λ࡞੒ɻ • RejectKaigi 2017 Ͱൃදͨ͠ͱ͜ΖɺRed Chainer ͷଘࡏΛ঺հ͞ΕͨͷͰ Join • https://github.com/naitoh/py2rb • See http://naitoh.hatenablog.com/entry/2018/01/27/012333

Slide 3

Slide 3 text

Red Data ToolsͰͷऔΓ૊Έ • Red Data Tools project : “Data processing with Ruby.” • https://red-data-tools.github.io/ • Red Chainer (“Deep Learning Programming on Ruby” session by @hatappi on RubyKaigi 2018.) • Ruby port of Chainer 2.0. (In my task, I am porting to Ruby using py2rb.py now.) • https://github.com/red-data-tools/red-chainer/ 3FE$IBJOFS $IBJOFS QZSCQZ USBOTMBUFXJUI 1ZUIPO"45 "CTUSBDU4ZOUBY5SFF OVNQZ /VNP/"SSBZ QZUIPODPEF SVCZDPEF

Slide 4

Slide 4 text

Red Chainer΁ͷऔΓ૊Έ • Chainer 2.0 Λ Ruby ʹϙʔςΟϯάɻ(੺ࣈ෦෼͕ࢲͷ࣮ࢪͨ͠࡞ۀ) • 0.1.0 : mnist supportɻ • 0.1.1 : LogReport, PrintReport, ProgressBar extensionsͷ௥Ճ • 0.2.0 : Snapshot αϙʔτɻ׆ੑԽؔ਺(Sigmoid, Tanh, LeakyReLU)௥Ճɻ • ςετίʔυ(׆ੑԽؔ਺(Sigmoid, Tanh, LeakyReLU, ReLU, LogSoftmax))௥Ճ • 0.3.0 : Iris-example, CIFAR10-example, ৞ΈࠐΈ, DFloat→SFloatมߋ,ଛࣦؔ਺ (MeanSquaredError)௥Ճ • ςετίʔυ(ଛࣦؔ਺ɺbackword)௥Ճ

Slide 5

Slide 5 text

Numo::NArray΁ͷऔΓ૊Έ • Red Chainer ͕஗͍(܇࿅͕࣌ؒ௕͍)ͷͰɺNumo::NArray Λௐࠪɻ • Numo::NArray ͱ numpy ͷϚΠΫϩϕϯνϚʔΫΛൺֱɺϘτϧωοΫ෦෼ Λύον࡞੒ɺߴ଎Խɻ • http://naitoh.hatenablog.com/entry/2018/06/01/120356 (RubyKaigi 2018LT) • Numo::NArrayͷόάใࠂɻ • Numo::NArray΁ͷվળཁ๬ɻ • Numo::NArray͕ྑ͘ͳΔͱ Ruby ͰػցֶशΛ͍ͨ͠ਓʹԸܙ͕͋Δɻ

Slide 6

Slide 6 text

Red Chainer ͷ࣮૷ঢ়گ • ਂ૚ֶशʹར༻Ͱ͖Δ ؔ਺͕ଟ͘ɺ࣮૷͕௥ ͍͍͍ͭͯͳ͍ɻ • exampleΛ૿΍͍ͨ͠ • ରԠؔ਺Λ૿΍͍ͨ͠ • GPU(Cumo)ରԠ͍ͨ͠ $IBJOFS 3FE$IBJOFS NBTUFS උߟ BDUJWBUJPO ׆ੑԽؔ਺ 3F-6 4JHNPJE MPTT ଛࣦؔ਺ 4PGU.BY ฏۉࣗ৐ޡࠩ PQUJNJ[FS ࠷దԽख๏ "EBN DPOOFDUJPO શ݁߹ɺ $PWPMVUJPO౳ QPPMJOH ฏۉɾ࠷େ౳ FYBNQMF NOJTU JSJT $*'"3౳ (16 DVQZ ະରԠ ཁ$VNPରԠ ݸʑͷػೳͷ։ൃ͔Β ࢀՃͯ͠Έ·ͤΜ͔ɻ

Slide 7

Slide 7 text

Red Chainerͷ։ൃʹ͍ͭͯ • Chainer 2.0 : API ͷ੔ཧɻ (Red Chainer ͷϕʔε) • Chainer 3.0 : ೋ֊ඍ෼ͷα ϙʔτ (GAN͕ॻ͖΍͘͢ɻ) • Chainer 4.0 : iDeepαϙʔ τɻ(CPU൛ߴ଎Խ) • Chainer 5.0.0 b1 (5/24ϦϦʔ ε) : 5.0ͰAMD GPU(HIP)α ϙʔτ༧ఆɻ ػೳ͕ࠩ։͍ͯ௥͍͚ͭͳ͍ঢ়گ ։ൃʹࢀՃ͍ͨ͠ਓืूதɻ • Red Chainer : جຊػೳαϙʔτ (CPU ൛ͷΈ, GPU൛͸։ൃதͷCumoΛར ༻͍ͯ͘͜͠ͱΛ૝ఆ) • mnist, iris, CIFAR ͷֶशରԠɻ trainer αϙʔτɻsnapshotରԠɻ