Suche senden
Hochladen
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
•
3 gefällt mir
•
2,368 views
S
Shuyo Nakatani
Folgen
Rubyのままで速くなる方法
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 34
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Lisp meetup #29 cl-online-learningの紹介
Lisp meetup #29 cl-online-learningの紹介
Satoshi imai
Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成
Satoshi imai
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Satoshi imai
二階堂愛と二階堂藍の違いについて
二階堂愛と二階堂藍の違いについて
show you
NetworkXによる語彙ネットワークの可視化
NetworkXによる語彙ネットワークの可視化
Shintaro Takemura
ぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニング
なおき きしだ
クリスマス?
クリスマス?
sasenomura
111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション
Shohei Hido
Empfohlen
Lisp meetup #29 cl-online-learningの紹介
Lisp meetup #29 cl-online-learningの紹介
Satoshi imai
Lispmeetup #45 Common Lispで音声合成
Lispmeetup #45 Common Lispで音声合成
Satoshi imai
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Lispmeetup #39 MGLの紹介: Common Lispによるディープラーニング
Satoshi imai
二階堂愛と二階堂藍の違いについて
二階堂愛と二階堂藍の違いについて
show you
NetworkXによる語彙ネットワークの可視化
NetworkXによる語彙ネットワークの可視化
Shintaro Takemura
ぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニング
なおき きしだ
クリスマス?
クリスマス?
sasenomura
111015 tokyo scipy2_ディスカッション
111015 tokyo scipy2_ディスカッション
Shohei Hido
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
Numpy scipy matplotlibの紹介
Numpy scipy matplotlibの紹介
Tatsuro Yasukawa
Chainer入門と最近の機能
Chainer入門と最近の機能
Yuya Unno
Tfug#4
Tfug#4
tak9029
Introduction to Chainer and CuPy
Introduction to Chainer and CuPy
Kenta Oono
Immutable List Gem (KLab ALM版)
Immutable List Gem (KLab ALM版)
Sho Hosoda
Study session#2
Study session#2
恵太 水野
CVPR2015読み会 "Joint Tracking and Segmentation of Multiple Targets"
CVPR2015読み会 "Joint Tracking and Segmentation of Multiple Targets"
Yuki Nagai
詳解! Decimal
詳解! Decimal
Tadashi Saito
量子コンピュータでニューラルネットワークな論文紹介
量子コンピュータでニューラルネットワークな論文紹介
Takatomo Torigoe
TFUG_yuma_matsuoka__distributed_GPU
TFUG_yuma_matsuoka__distributed_GPU
YumaMatsuoka
Kaggleのテクニック
Kaggleのテクニック
Yasunori Ozaki
CuPy解説
CuPy解説
Ryosuke Okuta
ICFP2009-いかにして我々は戦ったか
ICFP2009-いかにして我々は戦ったか
ina job
Python vs ruby
Python vs ruby
osamunmun
最適化超入門
最適化超入門
Takami Sato
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
Shiqiao Du
自作GPUへの道
自作GPUへの道
Daisuke Kamikawa
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
リテラル文字列型までの道
リテラル文字列型までの道
Satoshi Sato
Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
PRML第6章「カーネル法」
PRML第6章「カーネル法」
Keisuke Sugawara
Weitere ähnliche Inhalte
Was ist angesagt?
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
y-uti
Numpy scipy matplotlibの紹介
Numpy scipy matplotlibの紹介
Tatsuro Yasukawa
Chainer入門と最近の機能
Chainer入門と最近の機能
Yuya Unno
Tfug#4
Tfug#4
tak9029
Introduction to Chainer and CuPy
Introduction to Chainer and CuPy
Kenta Oono
Immutable List Gem (KLab ALM版)
Immutable List Gem (KLab ALM版)
Sho Hosoda
Study session#2
Study session#2
恵太 水野
CVPR2015読み会 "Joint Tracking and Segmentation of Multiple Targets"
CVPR2015読み会 "Joint Tracking and Segmentation of Multiple Targets"
Yuki Nagai
詳解! Decimal
詳解! Decimal
Tadashi Saito
量子コンピュータでニューラルネットワークな論文紹介
量子コンピュータでニューラルネットワークな論文紹介
Takatomo Torigoe
TFUG_yuma_matsuoka__distributed_GPU
TFUG_yuma_matsuoka__distributed_GPU
YumaMatsuoka
Kaggleのテクニック
Kaggleのテクニック
Yasunori Ozaki
CuPy解説
CuPy解説
Ryosuke Okuta
ICFP2009-いかにして我々は戦ったか
ICFP2009-いかにして我々は戦ったか
ina job
Python vs ruby
Python vs ruby
osamunmun
最適化超入門
最適化超入門
Takami Sato
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
Shiqiao Du
自作GPUへの道
自作GPUへの道
Daisuke Kamikawa
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
Katsuhiro Morishita
リテラル文字列型までの道
リテラル文字列型までの道
Satoshi Sato
Was ist angesagt?
(20)
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
Numpy scipy matplotlibの紹介
Numpy scipy matplotlibの紹介
Chainer入門と最近の機能
Chainer入門と最近の機能
Tfug#4
Tfug#4
Introduction to Chainer and CuPy
Introduction to Chainer and CuPy
Immutable List Gem (KLab ALM版)
Immutable List Gem (KLab ALM版)
Study session#2
Study session#2
CVPR2015読み会 "Joint Tracking and Segmentation of Multiple Targets"
CVPR2015読み会 "Joint Tracking and Segmentation of Multiple Targets"
詳解! Decimal
詳解! Decimal
量子コンピュータでニューラルネットワークな論文紹介
量子コンピュータでニューラルネットワークな論文紹介
TFUG_yuma_matsuoka__distributed_GPU
TFUG_yuma_matsuoka__distributed_GPU
Kaggleのテクニック
Kaggleのテクニック
CuPy解説
CuPy解説
ICFP2009-いかにして我々は戦ったか
ICFP2009-いかにして我々は戦ったか
Python vs ruby
Python vs ruby
最適化超入門
最適化超入門
NumPyが物足りない人へのCython入門
NumPyが物足りない人へのCython入門
自作GPUへの道
自作GPUへの道
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
リテラル文字列型までの道
リテラル文字列型までの道
Andere mochten auch
Rubyによるデータ解析
Rubyによるデータ解析
Shugo Maeda
PRML第6章「カーネル法」
PRML第6章「カーネル法」
Keisuke Sugawara
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
Yukara Ikemiya
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
Shinya Shimizu
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
horihorio
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
徹 上野山
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
tak9029
Andere mochten auch
(7)
Rubyによるデータ解析
Rubyによるデータ解析
PRML第6章「カーネル法」
PRML第6章「カーネル法」
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
今さら聞けないカーネル法とサポートベクターマシン
今さら聞けないカーネル法とサポートベクターマシン
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlow を使った機械学習ことはじめ (GDG京都 機械学習勉強会)
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
Ähnlich wie 明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
MITSUNARI Shigeo
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mametter
mruby for embedded systems
mruby for embedded systems
masayoshi takahashi
もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…
Yasumasa Suenaga
Zynga
Zynga
awsadvantageseminar
Aws privte20110406 arai
Aws privte20110406 arai
awsadovantageseminar
Lt talk 2017_0912
Lt talk 2017_0912
Kenta Togashi
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
MITSUNARI Shigeo
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
infinite_loop
Rubyと機械学習の現状
Rubyと機械学習の現状
Aki Ariga
Rubinius Under a Microscope
Rubinius Under a Microscope
高広 内山
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
Taku Miyakawa
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews, Inc.
素人のための機械学習
素人のための機械学習
Takeuchi Yuichi
Proof summit 2017 for slideshare
Proof summit 2017 for slideshare
Keisuke Yahata
Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新
Koichi Sasada
Clojure
Clojure
Uehara Junji
CRF を使った Web 本文抽出
CRF を使った Web 本文抽出
Shuyo Nakatani
R高速化
R高速化
Monta Yashi
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
Seiya Tokui
Ähnlich wie 明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
(20)
Xbyakの紹介とその周辺
Xbyakの紹介とその周辺
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書く
mruby for embedded systems
mruby for embedded systems
もしも… Javaでヘテロジニアスコアが使えたら…
もしも… Javaでヘテロジニアスコアが使えたら…
Zynga
Zynga
Aws privte20110406 arai
Aws privte20110406 arai
Lt talk 2017_0912
Lt talk 2017_0912
高速な暗号実装のためにしてきたこと
高速な暗号実装のためにしてきたこと
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
Rubyと機械学習の現状
Rubyと機械学習の現状
Rubinius Under a Microscope
Rubinius Under a Microscope
Kink: invokedynamic on a prototype-based language
Kink: invokedynamic on a prototype-based language
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
素人のための機械学習
素人のための機械学習
Proof summit 2017 for slideshare
Proof summit 2017 for slideshare
Rubyにおけるトレース機構の刷新
Rubyにおけるトレース機構の刷新
Clojure
Clojure
CRF を使った Web 本文抽出
CRF を使った Web 本文抽出
R高速化
R高速化
Deep learning実装の基礎と実践
Deep learning実装の基礎と実践
Mehr von Shuyo Nakatani
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
Shuyo Nakatani
Generative adversarial networks
Generative adversarial networks
Shuyo Nakatani
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
Shuyo Nakatani
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Shuyo Nakatani
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?
Shuyo Nakatani
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
Shuyo Nakatani
ドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoR
Shuyo Nakatani
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
Shuyo Nakatani
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
Shuyo Nakatani
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
Shuyo Nakatani
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Shuyo Nakatani
Zipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLP
Shuyo Nakatani
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
Shuyo Nakatani
ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014
Shuyo Nakatani
猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測
Shuyo Nakatani
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
Shuyo Nakatani
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
Shuyo Nakatani
Active Learning 入門
Active Learning 入門
Shuyo Nakatani
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Shuyo Nakatani
Mehr von Shuyo Nakatani
(20)
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
画像をテキストで検索したい!(OpenAI CLIP) - VRC-LT #15
Generative adversarial networks
Generative adversarial networks
無限関係モデル (続・わかりやすいパターン認識 13章)
無限関係モデル (続・わかりやすいパターン認識 13章)
Memory Networks (End-to-End Memory Networks の Chainer 実装)
Memory Networks (End-to-End Memory Networks の Chainer 実装)
人工知能と機械学習の違いって?
人工知能と機械学習の違いって?
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoR
ドラえもんでわかる統計的因果推論 #TokyoR
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
[Yang, Downey and Boyd-Graber 2015] Efficient Methods for Incorporating Knowl...
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第1&2章
星野「調査観察データの統計科学」第1&2章
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Zipf? (ジップ則のひみつ?) #DSIRNLP
Zipf? (ジップ則のひみつ?) #DSIRNLP
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ACL2014 Reading: [Zhang+] "Kneser-Ney Smoothing on Expected Count" and [Pickh...
ソーシャルメディアの多言語判定 #SoC2014
ソーシャルメディアの多言語判定 #SoC2014
猫に教えてもらうルベーグ可測
猫に教えてもらうルベーグ可測
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
アラビア語とペルシャ語の見分け方 #DSIRNLP 5
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
どの言語でつぶやかれたのか、機械が知る方法 #WebDBf2013
Active Learning 入門
Active Learning 入門
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
ノンパラベイズ入門の入門
ノンパラベイズ入門の入門
Kürzlich hochgeladen
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Kürzlich hochgeladen
(11)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
明日使える超高速Ruby - RXbyak (Mitaka.rb #5)
1.
明日使える超高速 Ruby
~ Ruby で Xbyak ~ 2009/10/22 id:n_shuyo / @shuyo 中谷 秀洋@サイボウズ・ラボ
2.
最近のマイブーム
3.
機械学習 自然言語処理
4.
なんかこんな本 • Introduction to
Information Retreival(IIR) • パターン認識と機械学習(PRML, ぷるむる) • とか
5.
なんかこんなやつ •
ロジスティック回帰 • パーセプトロン • ニューラルネットワーク • サポートベクトルマシン(そのうち)
6.
読んでるだけではよくわからない • めっちゃ数式いっぱい –
関数解析/線形代数/確率分布 – 最適化(プログラムのそれとは違うよ!) – ラグランジュ未定乗数法 • よく知らない概念いっぱい – ベイズ理論 – 回帰分析 – 確率過程 – カーネル法
7.
実装してみると わかる(こともある)
8.
Rubyで実装 • これが間違い(><
9.
Rubyはつらいよ……
10.
MNISTデータセット(手書き数字) • ニューラルネットワークによる学習 –
入力 : 28x28(ピクセル) – 中間層 : 300 – 出力 : 10 (0~9 の判別) – 枝の本数 W = 27万 • 6万件の学習(一周)に24時間 – 計算量が O(W^2)! – Rubyの範囲での最適化はやりつくしたつもり • もちろん Ruby1.9
11.
Rubyにもいいところはある • ネットワーク構造をDSL で表現!
– ネットワークを変えての実験が容易 # units in_units = [Unit.new("x1"), Unit.new("x2")] hiddenunits = (1..6).map{|i| TanhUnit.new("z1#{i}")} out_unit = [SigUnit.new("y1")] # network network = Network.new(:error_func=>ErrorFunction::CrossEntropy) network.in = in_units # 入力 network.link in_units, hiddenunits # 入力 → 隠れユニット network.link hiddenunits, out_unit # 隠れユニット → 出力 network.out = out_unit # 出力
12.
そうは言っても、速さは正義 • 少なくとも何百回とか学習が必要 –
パラメータを変えながら交差検定とかしたい • やっぱりC++で実装するか…… – Rubyの100倍~1000倍違うし • 24時間/100 = 15分 – Rubyのお手軽さは捨てがたくもある • C++はいちいちコンパイル – C++に逃げたらなんか負けた気がする • naoya_tさん曰く「リニアに速くなるだけでしょ?」
13.
Rubyのままで 速くなる方法は ないのか?
14.
RubyでXbyak
15.
Xbyak(カイビャック) • 実行バイナリ(ネイティブコード)を動的に生
成するC++ライブラリ • つまり JIT (Just in Time compiler) • C++より速い – C++のライブラリなのに!? – もちろんRubyなんかメじゃない • 光成さん(サイボウズ・ラボ)開発 – http://homepage1.nifty.com/herumi/soft/xbyak.html
16.
JITってなんだ?
17.
JIT=MSXべーしっ君
18.
要するに 「めっっちゃ速い」
19.
Ruby で Xbyak が使えたら
いいんじゃね?
20.
RXbyak (Xbyak for
Ruby) • Xbyakを使えるRuby拡張 • Xbyak のネイティブコード生成機能を Ruby からそのまま利用可能に • 生成したコードをRubyから呼び出す – 実装率低め – 明日まだ使えない!(>< http://github.com/shuyo/cpp/tree/master/rxbyak/
21.
ひとことで いうと
22.
RXbyak とは
23.
Rubyで アセンブラが 書ける
24.
RXbyak サンプル • SIMDを使って倍精度の掛け算
– どこからどうみても Ruby のプログラム。 rx = RXbyak.new rx.mov :eax, [:esp, 8] # mov eax, (esp+8) // 第1引数のポインタ rx.movq :xmm0, [:eax] # movq xmm0, (eax) rx.mov :eax, [:esp, 12] # mov eax, (esp+12) // 第2引数のポインタ rx.movq :xmm1, [:eax] # movq xmm1, (eax) rx.mulsd :xmm0, :xmm1 # mulsd xmm0, xmm1 // かけ算 rx.mov :eax, [:esp, 4] # mov eax, (esp+4) // 返値のポインタ rx.movq [:eax], :xmm0 # movq (eax), xmm0 rx.ret # ret puts rx.call(256.0, 256.0) # => 65536.0 puts rx.call(123.45, 678.9) # => 83810.205 ※このサンプルに使われている命令しかまだ実装されていません。
25.
機械学習を RXbyak
で書いたら 「××倍速くなったよ!」
26.
まにあわんかった すまん(汗
27.
(参考) Python vs
Xbyak http://labs.cybozu.co.jp/blog/mitsunari/2007/08/ll2007.html
28.
何に使えるの?
29.
RXbyakの応用範囲 • 実行時に処理が決まる場合(JIT) –
ニューラルネットワークはグラフが与えられれば – URI Templates はテンプレートが与えられれば • 参考:URI Templates のC++(Xbyak)実装 • http://labs.cybozu.co.jp/blog/nakatani/2008/07/uri_template_c_xbyak_jit.html – 正規表現 • プロセッサを極限まで使い切る!(アセンブラ) – SIMD(SSE) で浮動小数演算 • 並列演算とか128bit精度とか。SSE4.1 なら内積も1命 令で! ※使用者の感想であり、 効用を約束するものではありません。
30.
本日Mitaka.rb に 参加した皆さんは
31.
これでもう
32.
「RXbyak で 高速Rubyコード 書いちゃうぞ~」
33.
明日から
ビュンビュン ですね! ※2009/10/22現在、 mov(代入) と mul(掛け算) と ret しか実装されていません。
34.
ありがとう ございました
Jetzt herunterladen