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

JavaScriptで機械学習の実装 6 t-SNEによる次元削減

ここ数ヶ月はネットワーク周りのネタ書いてたせいかあんまり頭を使ってなかった気がするので、このGW期間中は久しぶりに理論寄りのコードをけっこう書きました。今回はその一例を挙げます。 今回はt-SNE(t-Distributed Stochastic Neighbor Embedding: t分布型確率的近傍埋め込み法)による高次元データの次元削減および可視化を試してみました。t-SNEはちょっと前に流行って、今では幅広い分野で実用されている次元削減(次元圧縮)手法の一つです。古くは主成分分析(PC…

OpenCV 4.0のONNXサポートについて

前回の記事に引き続きOpenCV4.0の新機能を紹介します。今回は待望のONNXフォーマット対応を試してみます。 また、OpenCVのDeep Learning関連機能については昔の記事に書いてあります。基本的な使い方はこの頃からあんまり変わってないので参考までに。 OpenCVのDeep Learningモジュールの紹介 ONNXとは ONNX is a open format to represent deep learning models. With ONNX, AI developer…

JavaScriptで機械学習の実装 5 Gradient Boosting

少し間が空いてしまいましたけど、今回はGradient Boosting (勾配ブースティング)と呼ばれる機械学習アルゴリズムを試してみます。機械学習関連のコンペでも大人気の手法ですね。かなり昔(2011年)に決定木をJavaScriptで実装したことはあるので勾配ブースティングも併せて学んでおこうと思います。 JavaScriptで決定木 Gradient Boosting (勾配ブースティング) ブースティングについてWikipediaを引用すると、 ブースティング(英: Boosting)…

JavaScriptで機械学習の実装 4 SCW

前回 JavaScriptで機械学習の実装 3 AROW に引き続きオンライン学習アルゴリズムを試しています。Node.js勉強中なのでJavaScriptを使ってこつこつ学んでいきましょう。 今回は SCW (Soft Confidence Weighted Learning) と呼ばれるアルゴリズムを扱います。 SCW (Soft Confidence Weighted Learning) 2012年に提案された、CW (Confidence Weighted Learning)と前回紹介し…

GTC Japan 2016 参加レポート

GTC Japan 2016が10月5日にヒルトン東京お台場で開催されました。今回で参加は2回目ですが、前回(2014年)より参加者はとても増えていたように思います。ゆりかもめでは小さすぎる。 GTC Japan 2016 – NVIDIA 基調講演 NVIDIA ジェンスン・ファン(Jen-Hsun Huang)CEOの基調講演に関するレポートは大手ネットメディアがたくさん書いてるのでそちらを見た方が詳細が分かると思いますが、ここでもメモ書き程度におさらい。

JavaScriptで機械学習の実装 3 AROW

今回はオンライン機械学習アルゴリズムとして知られている AROW (Adaptive Regularization of Weight Vectors) を試してみました。内容的には以下のエントリーの続きになりますが、今回からタイトル文言を少し変えようと思います。TypeScript入門という段階はそろそろ脱したかなと思うのと、TypeScriptよりも直接JavaScriptで書く量の方が増えてきたためです。 TypeScript入門 – 機械学習の実装 1 Denoising Autoenc…