PyTorch LightningのLearning Rate Finderの使い方

ここ3ヶ月くらいPyTorch Lightning (以下 Lightning)を使ってていろいろ機能を調べてます。それでfast.aiでお馴染みのLearning Rate Finder(LR Finder: 最適な初期学習率を探索する仕組み)がLightningにもけっこう昔から実装されているのですが、日本語での紹介がほぼ無いみたいなので情報をまとめておきます。せっかくなのでこのエントリーでは細かいtipsや内部実装なども掘り下げて紹介したいと思います。 環境 * Pytorch 1.12.…

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から入った新機能の一つを紹介したいと思います。地味ではありますが、意外と気になる人が多そうな機能を調べて…