タグ

機械学習とrustに関するsh19910711のブックマーク (4)

  • [Rust] ortでonnxモデルを使って推論したりWASMにしたりしてみる | DevelopersIO

    Introduction 以前、BurnというRust機械学習フレームワークで ONNXファイルを変換して使うという記事を書きました。 問題なく変換して推論までできましたが、onnxファイルをそのまま使いたいケースもあります。 というわけで、今回はONNX RuntimeのRustラッパー「ort」を使ってみます。 また、wasmpackを使ってWASMにしてChrome Extensionから使ってみます。 [補足] ONNX? ONNXは、さまざまな機械学習フレームワーク間で使用できる共通フォーマットです。 これを使うことにより、PytorchでトレーニングしたモデルをTensorFlowで使う みたいなことが容易にできます。 ort? ortは、ONNXランタイム用のRustバインディングです。 ここで紹介されていますが、ortとONNX Runtimeを併用することで、 さまざま

    [Rust] ortでonnxモデルを使って推論したりWASMにしたりしてみる | DevelopersIO
    sh19910711
    sh19910711 2024/06/07
    "ort: ONNXランタイム用のRustバインディング / GenAIで「フリーハンドでキャンバスに数値書いてjpgにして、そのデータをwasmに渡すChrome Extension作って」と言ったらほとんど生成してくれます"
  • RustでミニTensorFlowを作った - Qiita

    Rust Advent Calendar 2017 6日目の記事です。 rust-autograd というライブラリを作りました。https://github.com/raskr/rust-autograd もともとニューラルネットのライブラリのつもりだったんですが、GPUの知識がなさすぎて無理だと気づき、一般的な名前にしました。一応ドキュメント(兼テスト)もあります。例えば行列積の計算はこんな感じです: extern crate autograd as ag; let a: ag::Tensor = ag::zeros(&[4, 2]); let b: ag::Tensor = ag::zeros(&[2, 3]); let c: ag::Tensor = ag::matmul(&a, &b); println!("{}", c.eval(&[]).unwrap()); // [[0,

    RustでミニTensorFlowを作った - Qiita
    sh19910711
    sh19910711 2024/04/28
    "数値計算は rust-ndarray というクレートに依存 / rust-ndarray: Pure Rust なので結構速い + map, fold などのコレクション系の高階関数が提供 + Read-only View のようなRustっぽい面白い API がある" 2017
  • burn – Rust製DeepLearningフレームワークの紹介

    burnはRust製の深層学習(Deep Learning)フレームワークです。 現在活発に開発が進められており、最新のコードやサンプルには、Githubリポジトリからアクセスできます。 GitHub - tracel-ai/burn: Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency and portability as its primary goals.Burn is a new comprehensive dynamic Deep Learning Framework built using Rust with extreme flexibility, compute efficiency

    burn – Rust製DeepLearningフレームワークの紹介
    sh19910711
    sh19910711 2024/04/24
    "burn: Rust製の深層学習フレームワーク / 3種類のバックエンド + ブラウザ環境も考慮したGPUベースの計算をサポート (WebGPU) / no_std開発をサポートしているのが嬉しくて、マイコンへの学習済みモデルの移植が捗りそう" 2023
  • Rustによる高速なOptuna実装の試作 - Preferred Networks Research & Development

    上記の結果で重要な点の1つは、Trial数を10倍にした際にRustOptuna実装の実行時間は約10倍で済んでいるのに対して、Optunaの実行時間は50-100倍にまで伸びてしまっている点です。この原因はOptunaが提供するいくつかの便利な機能に起因しています。Optunaでは利便性と速度低下のバランスを慎重に判断して開発を進めていますが、多くのユーザーにとっての利便性を追求した結果、一部のユーザーにとってこのような速度低下を招いてしまっているのも事実です。 RustOptuna実装は高速化により重きを置いています。速度に大幅な改善がなければ存在意義がなくなってしまうからです。互換性を重視してOptunaの設計や機能に合わせすぎてしまうと高速化に限界が生じてしまうため、enqueue_trial()のような一部の機能については導入を慎重に判断しています。 “基的に” 同じA

    Rustによる高速なOptuna実装の試作 - Preferred Networks Research & Development
    sh19910711
    sh19910711 2024/03/27
    "Optuna: 速度を必要とする処理もC拡張を使わずにすべてPythonで実装 + このおかげで様々な実行環境にトラブルなくインストールでき / Optunaのコア機能をRustで再実装するとともに、PyO3を使ってPythonバインディングを提供"
  • 1