JAXライクなfunctorchで機械学習を速くする – part 2

今回も引き続きfunctorchを使っていろいろ試してみます。前回のエントリーはfunctorchの基本機能を紹介しました。今回はfunctorchによる機械学習のユースケースについて考えてみたいと思います。gradやvmapなどの基本機能の説明は前回のエントリーを参照してください。 JAXライクなfunctorchで機械学習を速くする – part 1 いろいろ試してみて気付いたのですが、結論から言うと、functorchは適切に使えば性能を発揮できます。ただし、従来のオブジェクト指向や手続き…

JAXライクなfunctorchで機械学習を速くする – part 1

PyTorch 1.11からβ版として追加された functorch と呼ばれる機能を試してみました。PyTorch 1.9くらいのときから試験版として本体に組み込まれて提供されていましたが、どうやらfunctorchという別モジュールに切り出して提供されるようになったようです。 pytorch/functorch: functorch is JAX-like composable function transforms for PyTorch. functorchとは PyTorch公式サイト…

無料PaaSのDeta Cloudを試してみた

今回はDeta CloudというPaaSについて少し調べてみました。これはGoogle検索が日本語設定だとほとんど情報が引っかからないので日本人だと知らない人も多いかもしれませんが、以下の謳い文句でなかなかすごい感じがします。 Build & deploy your ideas on the universe’s most developer friendly cloud platform. Say goodbye to servers and bills. Deta is…

ONNX Runtime for Webで画像認識

前回はONNX Runtime for Web (ORT Web)をVue.jsアプリケーションで使ってみました。 ONNX Runtime for WebをVue.js+WebGL環境で試す 公式チュートリアルは単純な行列計算でしたので、今回はもう少し実践的に自前のモデルを使った画像認識を試してみたいと思います。 環境 前回の環境とほぼ同じですが、実装言語はTypeScriptに変更しました。数値計算系の部分は型があるとデバッグしやすいので。 Vue.js: 3.2.11 ONNX Runti…

PyTorchモデルの新しいパッケージング機能について

前回に引き続きPyTorch 1.9のリリースノートを眺めていたら、PyTorchのモデルとコードをパッケージングするための新機能が入っているようだったので調べてみました。 PyTorch 1.9 Release, including torch.linalg and Mobile Interpreter | PyTorch New APIs to optimize performance and packaging for model inference deployment 前半の opti…

PyTorchの新しい推論モードについて

ひさしぶりのエントリー。今年度になってから家庭環境がガラッと変わってなかなかプライベートの一人の時間が取れず時間が空いてしまいました。 今回はPyTorch関連のメモ的な記事になります。最近仕事で古いPyTorchで作られたプロダクトを最新のPyTorchにアップグレードする対応をしていたのですが、バージョン1.4からいきなり最新バージョンと1.9に上げたのでちょっと大変でした。ここでは1.9から入った新機能の一つを紹介したいと思います。地味ではありますが、意外と気になる人が多そうな機能を調べて…

BRISQUE – リファレンス画像無しで画質を評価する

今回はリファレンス画像無しで画質を評価する手法を紹介しようと思います。 先日、OpenCV4.1がリリースされました。 OpenCV 4.1 has been released changelogを見ると、quality という新しいモジュールが opencv_contrib レポジトリに追加されたようです。 New Image Quality Analysis module (quality) has been added to the opencv_contrib, referenceles…