追記:leaf、まだ志半ばなのか、動きそうな実装がない。とうさぎさんから教えてもらったので記事の後半書き換えました...。適当なこと書いてすみません。
@sinhrksさん(a.k.a.うさぎさん)がこんなつぶやきをしていました。
2名のスタートアップで選定言語がRust、そしてこの思い切り、ただ者ではない... / Leaf is written in Rust, a language which is well suited for state-of-the-art machine learning.
— sinhrks (@sinhrks) 2015, 11月 12
ちょうど、Rustを勉強しようかと思ってたとこなので触ってみました。
leafとは
Leaf is a open, fast and a well-designed, modular Framework for distributed Deep Learning on {C, G}PUs.
らしいです。
leafをビルドする
git clone https://github.com/autumnai/leaf
cd leaf
cargo build
この記事を書いてる時点ではStableは1.4なんですが、1.6をインストールしないと下のようなエラーが出て、依存パッケージのclippyのビルドが失敗します。
#[feature] may not be used on the stable release channel
Rust 1.6をインストールしてリトライするとなんの問題もなく成功しました。
でもなんか、
Compiler plugins are highly unstable and will only work with a nightly Rust for now.
(https://github.com/Manishearth/rust-clippy)
とかしれっと書いてあるんですけど、Rustってみんなnightly使うものなんでしょうか...
Exampleを試す
leaf用の例が用意されているので試してみます。手書き数字の画像認識みたいです。
が、そもそもコード見たけど、leafというcrateを使ってる形跡は見当たらなくて、ここからどうしろというのかさっぱりわからない。。
leaf-examples/main.rs at f3e4607b0b211bb85787c3f3f5d0677b84da677d · autumnai/leaf-examples · GitHub
と思ってたら、こんな情報が...
@yutannihilation データセット読み込んでるだけですね...。なんだこのexampleは...
— sinhrks (@sinhrks) 2015, 11月 13
@yutannihilation いえ、本体の方にも学習できるような定義がなさそうなので、未完成なだけかと
— sinhrks (@sinhrks) 2015, 11月 13