GPU対応の類似検索(最近傍探索)ライブラリ Faissの紹介 part1 導入/チュートリアル

Facebook AI Research (FAIR)が開発したGPU対応の類似検索ライブラリ Faiss を紹介します。 [06/25追記] Faiss GPU版の検索についてエントリーを書きました。 GPU対応の類似検索(最近傍探索)ライブラリ Faissの紹介 part2 GPUを利用した検索 論文は以下で公開されています。 [1702.08734] Billion-scale similarity search with GPUs 論文タイトルの通り、10億スケールの大規模データに対して…

NumPy入門記事をアップデートしました

4年以上前の記事ですけど、今もたくさんのアクセスがあるようなので内容を少し更新しました。さすがに古すぎる記事をずっと見続けてもらうのは気が引けますから。 Pythonの数値計算ライブラリ NumPy入門 « Rest Term 更新内容 CentOS 7.0, Python 3.6, NumPy 1.12で動作確認 Record Arrays, Automatic Reshaping, 乱数生成, Linear Algebra(線形代数)について新規説明を追加 NumPyは多くの機械学習系フレー…

JavaScriptでLSDによる高精度な直線検出

ここ半年くらいは機械学習関連技術のJavaScript実装を行ってきましたが、今回は久しぶりに画像処理関連の要素技術を調べました。 Line Segment Detector (LSD) と呼ばれるアルゴリズムになります。 LSD: a Line Segment Detector (元論文PDF) 画像: 東京ガーデンテラス紀尾井町 – Tokyo Garden Terrace Kioicho LSDによりデジタル画像中から高精度に直線(line segmentなので厳密には線分)を…

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の基調講演に関するレポートは大手ネットメディアがたくさん書いてるのでそちらを見た方が詳細が分かると思いますが、ここでもメモ書き程度におさらい。

IoT関連のサンプルコードと技術メモ

2016年2月に発売されたRaspberry Pi 3を買ってから、センサーモジュールやIoTクラウドサービスなどをいくつか試しているので、検証用サンプルコードと技術メモ(Wiki)を残しています。 IoT – Tech Note (技術メモ) wellflat/iot-samples – GitHub (サンプルコード等) サンプルコードは基本的にはPythonが多いですが、一部はRubyやJavaScriptのコードも含まれています。技術メモはGistなどの外部サービ…

JavaScriptで機械学習の実装 3 AROW

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

Linuxカーネル Docker関連 cgroupsのメモ

前回はLinuxの namespace(名前空間) についてCプログラムやツールを使っていろいろと確認できましたので、今回は cgroups についても調べます。 Linuxカーネル Docker関連 namespaceのメモ namespaceは生成したプロセスに対してリソース体系を割り当てる(隔離空間を作る)のに対して、cgroupsは指定したプロセスのグループに対してリソース制限をかけます。似ているようで全然別の機能ですね。 環境 * CentOS 7.2 (kernel-3.10.0-3…