記事

カスタムレイヤの統合

カスタムニューラルネットワークレイヤをCore ML Appに統合します。

概要

ニューラルネットワークの分野は常に進化しており、新しい問題を解決するため、新しいアーキテクチャやレイヤが急速に作られています。Core MLニューラルネットワークモデルは、独自のカスタムレイヤを定義して使うことができます。

カスタムレイヤを使う他社製モデルの追加

カスタムレイヤを使用する他社製モデルを入手した場合、そのモデルのXcode UIは、カスタムレイヤのないモデルと比べると少し異なる部分があります。ネットワークの入力と出力の下に、依存関係のリストが表示されます。ネットワークの提供元から、そのネットワークをサポートする、レイヤクラスの実装が提供されるはずです。依存関係にリストされているクラスをXcodeプロジェクトに追加し、ネットワークが適切に評価されるようにします。

図1

カスタムレイヤのクラス依存関係がリストされた、カスタムモデルのXcodeビュー

図1からわかるように、このモデルはカスタムレイヤAAPLAddOneLayerAAPLSimpleElementwiseLayerに依存関係があります。モデルを使って予測を行うには、必ず、モデルのすべての依存関係の実装をプロジェクトに含めます。

独自のカスタムレイヤの作成

カスタムレイヤの実装を利用できない場合は、自分で作成できます。カスタムレイヤを作成するには、自分のニューラルネットワークのアーキテクチャ、およびカスタムレイヤの意図された動作をよく理解している必要があります。詳しくは、カスタムレイヤの作成を参照してください。

関連項目

カスタマイズ

カスタムレイヤの作成

Core MLモデル用のカスタムレイヤを作成します。

protocol MLCustomLayer(英語)

ニューラルネットワークモデルのカスタムレイヤの動作を定義するインターフェイスです。

protocol MLCustomModel(英語)

カスタムモデルの動作を定義するインターフェイスです。