🗒️
Rustのデータサイエンスで使えそうなもののメモとリンク集
この記事はQiita https://qiita.com/exy81/items/1b13d0ef3832a76338eb から移行したものです。
evcxr
pythonみたいにJupyterでインタラクティブに使いたいという場合におすすめ。
RustのREPLでJupyterでも使うことができる。cargoでインストールできる。
- 公式
- 紹介記事
- https://qnighy.hatenablog.com/entry/2018/09/29/190000
- dockerでの環境構築 https://dev.classmethod.jp/articles/use-rust-in-jupyter-notebooks-with-evcxr/
- URL先のDockerfile内でバージョン指定しているものは最新のものに更新しないとインストールに失敗します
Tips
変数がグローバルで定義されるので、参照を借用するときにライフタイムのエラーが出ることがある。
対処法としては、セル全体をブロックで囲むか、関数化してしまうなど。
Plotters
Rustのグラフ描画ライブラリ。evcxr_jupyterでも使えるので、pythonのmatplotみたいな感じで使える。
- 公式 https://docs.rs/plotters/0.3.0/plotters/
- Jupyterでの使い方 https://plotters-rs.github.io/plotters-doc-data/evcxr-jupyter-integration.html
- 紹介記事 https://lab.mo-t.com/blog/rust-plotters
serde
JSON, YAMLなどの読み書き
線形代数
- rust-ndarray https://github.com/rust-ndarray/ndarray
- nadarray-linalg(ndarrayとセットで使う) https://github.com/rust-ndarray/ndarray-linalg
- nalgebra https://www.nalgebra.org/
機械学習
デファクトスタンダードはまだなさそう(2020/09/17)。
Neural Network (NN)
- TensorFlow https://github.com/tensorflow/rust
- primitive-rust https://github.com/primitiv/primitiv-rust
- Juice https://github.com/spearow/juice
NN以外
- rusty-machine https://github.com/AtheMathmo/rusty-machine
- rustlearn https://github.com/maciejkula/rustlearn
どちらも更新止まってるっぽい?
応用事例
- エッジMLシステムをC/C++からRustへ移行した事例
- Rustによる数値計算の現状と課題
機械学習と数値計算の事例がそれぞれ紹介されている。発表スライドあり。
その他
他の方がまとめたリンク集 https://qiita.com/legokichi/items/9f80e4e2e6313876061c
並列、シリアライズ、数学・計算の項目がデータサイエンスで使いそう。
Discussion