verilog書く人

自称ASIC設計者です。どなたかkaggle一緒に出ましょう。

iOSで機械学習の推論をするためにCoreMLを使おうとした時のつらみと回避方法まとめ

iOS機械学習機械学習の推論をする場合、Core MLやPytorch Mobileなどの選択肢がありますが、

Apple謹製のCore MLを使ってみようと思う人は多いはずです。

Core MLのメリットとしては

  • Pytorch MobileはiOS12以上なのに対し、Core MLはiOS11以上をサポートしているでのサポート範囲が広い

  • Core MLで作ったモデルはiPhoneのスペックに応じて最適化され、高速に実行される

  • Appleがサポートしているので安心

と言ったところがあります。

ただ、実際使ってみると画像分類などはQiitaにも多数使ってみた的な記事があるのですが、

マイナーなタスクのモデルを使ってみるとつらいところもあったので、まとめてみました。

(この記事自体はどちらかのライブラリを推奨するものではございません。)

続きを読む

caffeベースで配布されているネットワークをdockerで試す、Refinedetを題材に

caffe本家に含まれていない独自レイヤを使ったネットワークをcaffe実装で公開するとき、追加レイヤ分だけを含むリポジトリを作るのではなく、caffeごとforkして独自レイヤを足す形での配布が多いようです。

(というかそれしか手段がない?)

 

例えば、物体検出系で言うと、

あたりがそうですね。

 

これらをインストールしようとするとcaffeそのものをインストールされる以上、環境が汚れるのは必至、既存のcaffeとバージョンが衝突してどうしたものかなとなりますよね。

そんなときはdockerを使ってみようというお話。

 

続きを読む

リアルタイム物体検出向けニューラルネット、SSD(Single Shot Multi Detector)及びその派生モデルの解説

さて、昨年行ったGTC Japan 2017では物体検出のデモを行っているブースが多く、盛り上がりを見せている分野と感じています。
たしかに、物体検出のデモってすごくAI感(?)があります。

今回の記事はリアルタイム(~0.1sec)物体検出に使われるSSD及びその派生モデルのお話。

 

f:id:segafreder:20180310160240p:plain

 [1]SSD検出結果

続きを読む

chainerで作ったDeep Learningモデルのハイパーパラメータチューニングを自動化してみる

ディープラーニングは各層の種類、活性化層の種類、オプティマイザの種類、オプティマイザのハイパーパラメータ、などなどたくさんあり、
手で最適化していくのは大変です。

そんなとき、

1. グリッドサーチ:パラメーターの候補の組み合わせパターンを全て調べる。
2. ランダマイズドサーチ:パラメーターの候補の組み合わせパターンを全て調べる。
3. その他賢いアルゴリズム系のサーチ:ベイジアン最適化、Tree-structured Parzen Estimator Approach(hyperopt)

といった、ものが使えます。

グリッドサーチはハイパーパラメータが少ない機械学習アルゴリズムでは有効ですが、ディープラーニングではあまりおすすめしません。実際には2.か3.を選ぶことになります。

賢い系のアルゴリズムはより有望そうなパラメータを試そうとしてくれます。

 

今回はhyperoptを使った例を書いてみます。

エッセンスはGpyopt(ベイジアン最適化)などほかのライブラリでも変わりません。

 

続きを読む

エイプリルフールなので、chainerのGUIクライアントを作った。

GitHub - fukatani/ChainerWing: GUI deep learning IDE based on chainer.

※一応動きます。

 

f:id:segafreder:20170401224342p:plainこんな感じ。

ぽちぽちやってるとニューラルネットが組みあがります。chainerベースです。

 

めちゃ機能が少ないですが、今後充実する予定。たぶん。

続きを読む

【PFIセミナーまとめ】chainerMNはなぜ速いのか、今後の提供は?

f:id:segafreder:20170203235939p:plain

 

先日このグラフで世界を驚かせたchainerMNの中身の話をchainerMNによる分散学習 - YouTubeでやっています。

chainerは分散ディープラーニングフレームワークとして現在世界最速だそうです。

視聴したのでメモ。おもしろかったです。

語り手はchainerMNの作者秋葉さん(iwiwi)
Top coderで四位、数々のプログラミングコンテストで受賞歴を持つすごい人。

 

動画を見る限り今までchainerで作っていたモデルをchainerMNに移し替えるのも簡単そうです。

続きを読む

物体検出用の画像アノテーション正解データ生成に便利なツール

RCNN (Regional Convolutional newral networks)などの機械学習モデルを使って画像から物体検出するには、"どこ"に"なにが"あるのか、すなわちバウンディングボックスの四角の座標(x, y)および正解ラベルが画像とセットで必要となります。

10000枚単位の画像が欲しい場合、自力で集めるのは大変なので、Pascal VOCのようなコンペで公開されている過去のトレーニング用データセットを流用しますが、それだけでは足りなかったり、自分が検出したい物体がなかったりします。 

続きを読む