ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

importCaffeNetwork

事前学習済み畳み込みニューラル ネットワーク モデルを Caffe からインポート

説明

net = importCaffeNetwork(protofile,datafile) は、Caffe [1] から事前学習済みのネットワークをインポートします。この関数は、.prototxt ファイル protofile によって指定されているアーキテクチャと、.caffemodel ファイル datafile によって指定されているネットワークの重みを持つ事前学習済みのネットワークを返します。

この関数には、Deep Learning Toolbox™ Importer for Caffe Models サポート パッケージが必要です。このサポート パッケージがインストールされていない場合、関数によってダウンロード用リンクが表示されます。

Caffe Model Zoo [2] から事前学習済みのネットワークをダウンロードできます。

net = importCaffeNetwork(___,Name,Value) は、前の構文のいずれかを使用し、1 つ以上のペアの引数 Name,Value によって追加オプションが指定されたネットワークを返します。

すべて折りたたむ

Deep Learning Toolbox Importer for Caffe Models サポート パッケージをダウンロードしてインストールします。

必要なサポート パッケージをダウンロードするには、コマンド ラインに importCaffeNetwork と入力します。

importCaffeNetwork

Deep Learning Toolbox Importer for Caffe Models サポート パッケージがインストールされていない場合、関数によってアドオン エクスプローラーに必要なサポート パッケージへのリンクが表示されます。サポート パッケージをインストールするには、リンクをクリックして、[インストール] をクリックします。

インポートするファイルを指定します。

protofile = 'digitsnet.prototxt';
datafile = 'digits_iter_10000.caffemodel';

ネットワークをインポートします。

net = importCaffeNetwork(protofile,datafile)
net = 
  SeriesNetwork with properties:

    Layers: [7×1 nnet.cnn.layer.Layer]

入力引数

すべて折りたたむ

ネットワーク アーキテクチャが含まれる .prototxt ファイルの名前。文字ベクトルとして指定します。MATLAB® パス上のフォルダー内の現在のフォルダーに protofile が含まれていなければならず、そうでなければこのファイルの絶対パスまたは相対パスを含めなければなりません。.prototxt ファイルによって入力データのサイズが指定されていない場合、名前と値のペアの引数 'InputSize' を使用してサイズを指定しなければなりません。

例: 'digitsnet.prototxt'

データ型: char

ネットワークの重みが含まれる .caffemodel ファイルの名前。文字ベクトルとして指定します。MATLAB パス上のフォルダー内の現在のフォルダーに datafile が含まれていなければならず、そうでなければこのファイルの絶対パスまたは相対パスを含めなければなりません。重みのないネットワーク層をインポートするには、importCaffeLayers を使用します。

例: 'digits_iter_10000.caffemodel'

データ型: char

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: importCaffeNetwork(protofile,datafile,'AverageImage',I) は、ゼロ中心正規化用の平均イメージ I を使用して、事前学習済みのネットワークをインポートします。

入力データのサイズ。行ベクトルとして指定します。入力データの高さ、幅、およびチャネル数に対応する 2 個または 3 個の整数値のベクトル [h,w] または [h,w,c] を指定します。.prototxt ファイルで入力データのサイズが指定されていない場合、入力サイズを指定しなければなりません。

例: [28 28 1]

ゼロ中心正規化用の平均イメージ。行列として指定します。イメージを指定する場合、入力データと同じサイズのイメージを指定しなければなりません。イメージを指定しない場合、.prototxt ファイル (存在する場合) に指定されているデータが使用されます。そうでない場合、この関数はネットワークのイメージ入力層の Normalization プロパティを 'none' に設定します。

出力層のクラス。categorical ベクトル、string 配列、文字ベクトルの cell 配列、または 'auto' として指定します。string 配列または文字ベクトルの cell 配列 str を指定すると、出力層のクラスが categorical(str,str) に設定されます。Classes'auto' の場合、クラスは categorical(1:N) に設定されます。ここで、N はクラスの数です。

データ型: char | categorical | string | cell

出力引数

すべて折りたたむ

インポートされた事前学習済みの Caffe ネットワーク。SeriesNetwork オブジェクトまたは DAGNetwork オブジェクトとして返されます。カラー イメージを入力として取る Caffe ネットワークは、イメージが BGR 形式であることを想定しています。importCaffeNetwork は、インポート時に、インポートされた MATLAB ネットワークが RGB イメージを入力とするようにネットワークを変更します。

ヒント

  • importCaffeNetwork は Caffe の層のタイプが次のとおりであるネットワークをインポートできますが、いくつかの制限があります。

    • 入力

    • 畳み込み

    • 逆畳み込み

    • バッチ正規化

    • ReLU

    • tanh

    • 局所応答正規化 (LRN)

    • プーリング

    • 内積/全結合

    • Dropout

    • 連結

    • Eltwise (合計のみ)

    • ソフトマックス損失

    • ユークリッド損失

    ネットワークに他のタイプの層が含まれる場合、エラーが返されます。

    この関数は、include-phase TEST を使用して protofile によって指定されている層のみをインポートします。この関数は、include-phase TRAIN を使用して protofile によって指定されている層を無視します。

互換性の考慮事項

すべて展開する

R2018b での開始は非推奨

R2017a で導入