MetalImageRecognition: Performing Image Recognition with Inception_v3 Network using Metal Performance Shaders Convolutional Neural Network routines
以前、『TensorFlowの学習済みモデルを拾ってきてiOSで利用する』という記事を書いたのですが、そのとき用いたモデルデータはいずれも Protocol Buffers 形式でした。 (YOLOモデルでリアルタイム一般物体認識) Protocol Buffersはプラットフォーム等を問わない汎用的なフォーマットですが、上の記事を書いたときにわからなかったのが、.pbでエクスポートされたTensorFlow用のモデルでも、iOSで使えるものと使えないものの違いはあるのかないのか、あるとしたら何なのか(単にサイズや使用メモリ量とかが制限になってくるのか)、という点です。 理解の手がかりになるかわかりませんが、TensorFlowのiOSサンプルがどうやってモデルデータを読み込んでいるか、コードをちょっとだけ追ってみます。 なお、今回利用するサンプルはsimpleです。 .pbファイル読み込
Metal Performance Shadersについて iOS10からiOSで畳み込みニューラルネットを作れるようになりました。畳み込み層、プーリング層、正規化層、活性化関数など基本的なツールは揃っています。ただし最適化アルゴリズムなどは揃っておらず、学習はできません。Pythonなどで学習したモデルをプロジェクト内に持ってきてその重みやバイアスを使用することになります。AppleのサンプルコードでもMNISTを学習したモデルをプロジェクト内に置いていますが、肝心のファイルの拡張子は.dataとなっており、どんな種類のファイルなのかわからなかったので調べてみました。 Pythonライブラリにおけるモデルの保存形式 Chainerのドキュメントを見てみるとsave_npzとsave_hdf5という二つのモデル保存用メソッドがあります。npzはNumPy配列を保存するファイル形式のようです
iOS 11からCore MLが追加されましたが、もちろんiOS 10では利用することができません。代わりに、Metal Performance Shaders(MPS)フレームワークを利用してiOSデバイス上でCNN(Convolutional Neural Network)の推論を行うことが可能です。 iOSの機械学習フレームワークの比較 - Core ML / Metal Performance Shaders (MPSCNN) / BNNS - Qiita このMPSのCNN関連APIはiOS 10で追加されました。フレームワーク名に"Metal"とあるとおり、iOSデバイスのGPUで畳み込みニューラルネットワークを用いた推論の計算を行える、という代物です。 『先日書いた記事』では、MPSCNNを用いて手書き文字認識を行うCNNを実装するコードを示しました。 当該サンプル(Appl
MetalでCNNの計算を行うためのAPI群、MPSCNNを用いた手書き数字認識のサンプルを読む、という記事の続きです。 iOS 10でMetal Performance Shadersフレームワークに、CNN(Convolutional Neural Network)演算機能群が追加されました。iOSデバイスのGPUで畳み込みニューラルネットワークの計算をさせることができる、という代物です。 前編ではネットワークの中身には踏み込まず、オーバービューとして利用するアプリケーション側の実装について見ていきました。 後編となる本記事ではいよいよMetal Performance Shadersを用いたCNN(Convolutional Neural Network / 畳み込みニューラルネットワーク)の実装について見ていきます。 なお、CNN自体の解説はここでは省略しますが、概念をざっくり理解
iOS 10でMetal Performance Shadersフレームワークに、CNN(Convolutional Neural Network)演算機能群が追加されました。iOSデバイスのGPUで畳み込みニューラルネットワークの計算をさせることができる、という代物です。iOSデバイスのGPUも日々進歩しているとはいえ、モバイルデバイスなのでさすがに学習までは厳しいところですが、学習済みのネットワークの計算であれば使えるケースはありそうです。 このMPSCNNのApple公式サンプルコードとして、CNNで手書き文字認識を行うサンプルが公開されています。 MPSCNNHelloWorld ただこちらは一時期ずっとSwiftのバージョンの問題でビルドできなかったりした事情もあり、iOS-10-Samplerというサンプルコード集アプリに移植したものがあるので、今回はそちらを追っていきます。
一昨日メルカリさんのオフィスで開催された iOSDC Reject Conference days2 で、「iOSとディープラーニング」というタイトルで登壇させていただきました。 大層なタイトルですが、僕はディープラーニングや機械学習について詳しいわけではなく、「これから勉強したい」だけの素人です。iOSDCのCFPではLT枠の場合はトーク概要を書く必要がなかったので、タイトルは大きめにしておいて、内容は勉強の進捗に応じて、という算段でした。 で、先週あたりから夜な夜なこのへんの勉強をしていて、 TensorFlowの学習済みモデルを拾ってきてiOSで利用する - Qiita この次に「自分でモデルをつくる」というステップに進みたかったのですが、次から次へとわからないことがでてきて、結局「誰かがつくったサンプルを動かす」「拾ってきたモデルを使う」止まりの発表になってしまいました。 そこは引
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く